From: vague666 Date: Wed, 19 Apr 2023 15:43:42 +0000 (+0200) Subject: Some bugs X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=f161e557a800424f5f2c0b51166e4123cb6ea202;p=irssi-scripts.irssi.org.git Some bugs --- diff --git a/scripts/separate_messages.pl b/scripts/separate_messages.pl index 65830c1..fcdc2f7 100644 --- a/scripts/separate_messages.pl +++ b/scripts/separate_messages.pl @@ -17,19 +17,26 @@ $VERSION = "0.2"; my $prev_sender = {}; sub separate_messages { - my ($tag, $sender, $target) = @_; - if(exists $prev_sender->{$tag}{$target} && $sender ne $prev_sender->{$tag}{$target}) { - $_[0]->window_item_find($target)->window->print("") if Irssi::settings_get_bool('separate_user_messages'); + my ($tag, $sender, $target, $mode) = @_; + my $server = Irssi::server_find_tag($tag); + my $windowname = $mode ? $target : $sender; + + if(exists $prev_sender->{$tag}{$windowname} && $sender ne $prev_sender->{$tag}{$windowname}) { + $server->window_item_find($windowname)->print("") if Irssi::settings_get_bool('separate_user_messages'); } - $prev_sender->{$tag}{$target} = $sender; + $prev_sender->{$tag}{$windowname} = $sender; } sub sig_message { - separate_messages(lc $_[0]->{tag}, lc $_[2], lc $_[4]); + separate_messages(lc $_[0]->{tag}, lc $_[2], lc $_[4], 0); } sub sig_message_own { - separate_messages(lc $_[0]->{tag}, lc $_[0]->{nick}, lc $_[2]); + separate_messages(lc $_[0]->{tag}, lc $_[0]->{nick}, lc $_[2], 0); +} + +sub sig_message_own_special { + separate_messages(lc $_[0]->{tag}, lc $_[0]->{nick}, lc $_[2], 1); } Irssi::settings_add_bool('lookandfeel', 'separate_user_messages', 0); @@ -37,4 +44,4 @@ Irssi::settings_add_bool('lookandfeel', 'separate_user_messages', 0); Irssi::signal_add_first('message public', 'sig_message'); Irssi::signal_add_first('message private', 'sig_message'); Irssi::signal_add_first('message own_public', 'sig_message_own'); -Irssi::signal_add_first('message own_private', 'sig_message_own'); +Irssi::signal_add_first('message own_private', 'sig_message_own_special');