Hi,
question.. what about the windbag plugin ?
http://www.amsn-project.net/forums/viewtopic.php?t=2383
I don't think this should go as a 'style' but more as an option because a user
might want IRC style but still grouping the
consecutive messages.. or he might want his own custom style... So it looks
more like an option than a chat style (although
it is also a 'style' in the generic term..)
Since there is already a plugin that does this, and it's not really a core
feature, WLM doesn't have that, etc.. so I think
keeping it as a plugin is the best solution.
I don't know how the plugin does it, but if you want to take a look at it and
improve it, go ahead.
thx for the patch though! :)
KaKaRoTo
On Tue, Mar 04, 2008 at 06:56:20PM +0100, Cristofaro Del Prete wrote:
> Hi everybody,
> the attached patch [1] implements the "MSN joined" chat style, that is
> similar to the MSN chat style except that consecutive messages from
> the same user are joined together. This is an example:
>
> MSN style:
>
> John says:
> Hi!
> John says:
> How are you?
> Jack says:
> Fine, thanks.
> Jack says:
> And you?
>
> MSN joined style:
>
> John says:
> Hi!
> How are you?
> Jack says:
> Fine, thanks.
> And you?
>
> The reason for which I am sending this patch to the mailing list is
> that I really don't like the way I implemented it. In fact, to be
> consistent with the rest of the code in PutMessageWrapped, the custom
> chat style string is saved in the config key that is used for the
> user-specified chat style.
>
> Because of this, the customchatstyle config key continuously changes
> from "\$tstamp [trans says \$nick]: \$newline" to "" and back, and I
> don't think this is a desirable behavior. Moreover, this may lead to
> problems in case of multiple chat windows when contacts are sending
> messages simultaneously.
>
> I propose for the custom chat style section of PutMessageWrapped to be
> rewritten [2] to conform to the system used in DisplayOIM (a local
> customchatstyle variable is initialized to [::config::getKey
> customchatstyle], and is eventually modified according to the chat
> style settings). This would have the positive side-effect that if the
> user sets a custom chat style, then selects one of the standard chat
> styles, then returns to the custom chat style, aMSN will have
> remembered the latest custom chat style used.
>
> Please let me know what do you think about this.
> Thank you.
>
> [1] msnjoinedstyle.diff
> [2] msnjoinedstyle-with-putmessagewrapped-modification.diff
> Index: chatwindow.tcl
> ===================================================================
> --- chatwindow.tcl (revisione 9627)
> +++ chatwindow.tcl (copia locale)
> @@ -1562,6 +1562,8 @@
> -value "msn" -variable [::config::getVar chatstyle]
> $stylemenu add radiobutton -label "[trans ircstyle]" \
> -value "irc" -variable [::config::getVar chatstyle]
> + $stylemenu add radiobutton -label "[trans msnjoinedstyle]" \
> + -value "msn-joined" -variable [::config::getVar
> chatstyle]
> $stylemenu add radiobutton -label "[trans customstyle]..." \
> -value "custom" -variable [::config::getVar chatstyle] \
> -command "::amsn::enterCustomStyle"
> Index: gui.tcl
> ===================================================================
> --- gui.tcl (revisione 9627)
> +++ gui.tcl (copia locale)
> @@ -2928,6 +2928,19 @@
> irc {
> ::config::setKey customchatstyle "\$tstamp
> <\$nick> "
> }
> + msn-joined {
> + variable ::amsn::lastnick_$chatid
> + if {!([info exists ::amsn::lastnick_$chatid])} {
> + set ::amsn::lastnick_$chatid ""
> + bind [::ChatWindow::For $chatid]
> <Destroy> "+catch {unset ::amsn::lastnick_$chatid}"
> + }
> + if {$nick != [set ::amsn::lastnick_$chatid]} {
> + set ::amsn::lastnick_$chatid $nick
> + ::config::setKey customchatstyle
> "\$tstamp [trans says \$nick]: \$newline"
> + } else {
> + ::config::setKey customchatstyle ""
> + }
> + }
> - {
> }
> }
> @@ -7926,6 +7939,23 @@
> set customchatstyle "<\$nick> "
> }
> }
> + msn-joined {
> + variable ::amsn::lastnick_$chatid
> + if {!([info exists ::amsn::lastnick_$chatid])} {
> + set ::amsn::lastnick_$chatid ""
> + bind [::ChatWindow::For $chatid]
> <Destroy> "+catch {unset ::amsn::lastnick_$chatid}"
> + }
> + if {$nick != [set ::amsn::lastnick_$chatid]} {
> + set ::amsn::lastnick_$chatid $nick
> + if {$unixtimestamp} {
> + set customchatstyle "\$tstamp
> [trans says \$nick]: \$newline"
> + } else {
> + set customchatstyle "[trans
> says \$nick]: \$newline"
> + }
> + } else {
> + set customchatstyle ""
> + }
> + }
> - {}
> }
>
> Index: chatwindow.tcl
> ===================================================================
> --- chatwindow.tcl (revisione 9627)
> +++ chatwindow.tcl (copia locale)
> @@ -1562,6 +1562,8 @@
> -value "msn" -variable [::config::getVar chatstyle]
> $stylemenu add radiobutton -label "[trans ircstyle]" \
> -value "irc" -variable [::config::getVar chatstyle]
> + $stylemenu add radiobutton -label "[trans msnjoinedstyle]" \
> + -value "msn-joined" -variable [::config::getVar
> chatstyle]
> $stylemenu add radiobutton -label "[trans customstyle]..." \
> -value "custom" -variable [::config::getVar chatstyle] \
> -command "::amsn::enterCustomStyle"
> Index: gui.tcl
> ===================================================================
> --- gui.tcl (revisione 9627)
> +++ gui.tcl (copia locale)
> @@ -2920,20 +2920,34 @@
> set tstamp ""
> }
>
> + set customchat [::config::getKey customchatstyle]
> switch [::config::getKey chatstyle] {
> msn {
> - ::config::setKey customchatstyle "\$tstamp
> [trans says \$nick]: \$newline"
> + set customchat "\$tstamp [trans says \$nick]:
> \$newline"
> }
>
> irc {
> - ::config::setKey customchatstyle "\$tstamp
> <\$nick> "
> + set customchat "\$tstamp <\$nick> "
> }
> + msn-joined {
> + variable ::amsn::lastnick_$chatid
> + if {!([info exists ::amsn::lastnick_$chatid])} {
> + set ::amsn::lastnick_$chatid ""
> + bind [::ChatWindow::For $chatid]
> <Destroy> "+catch {unset ::amsn::lastnick_$chatid}"
> + }
> + if {$nick != [set ::amsn::lastnick_$chatid]} {
> + set ::amsn::lastnick_$chatid $nick
> + set customchat "\$tstamp [trans says
> \$nick]: \$newline"
> + } else {
> + set customchat ""
> + }
> + }
> - {
> }
> }
>
> #By default, quote backslashes and variables
> - set customchat [string map {"\\" "\\\\" "\$" "\\\$" "\(" "\\\("
> } [::config::getKey customchatstyle]]
> + set customchat [string map {"\\" "\\\\" "\$" "\\\$" "\(" "\\\("
> } $customchat]
> #Now, let's unquote the variables we want to replace
> set customchat [string map { "\\\$nick" "\${nick}" "\\\$tstamp"
> "\${tstamp}" "\\\$newline" "\n" } $customchat]
>
> @@ -7926,6 +7940,23 @@
> set customchatstyle "<\$nick> "
> }
> }
> + msn-joined {
> + variable ::amsn::lastnick_$chatid
> + if {!([info exists ::amsn::lastnick_$chatid])} {
> + set ::amsn::lastnick_$chatid ""
> + bind [::ChatWindow::For $chatid]
> <Destroy> "+catch {unset ::amsn::lastnick_$chatid}"
> + }
> + if {$nick != [set ::amsn::lastnick_$chatid]} {
> + set ::amsn::lastnick_$chatid $nick
> + if {$unixtimestamp} {
> + set customchatstyle "\$tstamp
> [trans says \$nick]: \$newline"
> + } else {
> + set customchatstyle "[trans
> says \$nick]: \$newline"
> + }
> + } else {
> + set customchatstyle ""
> + }
> + }
> - {}
> }
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Amsn-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/amsn-devel
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Amsn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/amsn-devel