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
> Amsn-devel@lists.sourceforge.net
> 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
Amsn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amsn-devel

Reply via email to