From: vague666 Date: Sun, 16 Apr 2023 18:46:31 +0000 (+0200) Subject: [separate_messages] new script X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=513a0338bf074560944cb0209bdee42779eb9180;p=irssi-scripts.irssi.org.git [separate_messages] new script --- diff --git a/scripts/separate_messages.pl b/scripts/separate_messages.pl new file mode 100644 index 0000000..0f02f13 --- /dev/null +++ b/scripts/separate_messages.pl @@ -0,0 +1,29 @@ +use strict; +use warnings; +use Irssi; +use feature qw(fc); + +use vars qw($VERSION %IRSSI); +$VERSION = "0.1"; +%IRSSI = ( + authors => 'vague', + contact => 'vague!#irssi@freenode on irc', + name => 'separate_messages', + description => 'Print a black line between messages from different users', + license => 'GPL2', + url => 'https://vague.se', + changed => "14 Apr 10:00:00 CEST 2023", +); + +my $prev_sender = {}; +sub sig_message_public { + my ($tag, $sender, $target) = (lc $_[0]->{tag}, lc $_[2], lc $_[4]); + 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'); + } + $prev_sender->{$tag}{$target} = $sender; +} + +Irssi::settings_add_bool('lookandfeel', 'separate_user_messages', 0); + +Irssi::signal_add_first('message public', 'sig_message_public');