Added special windowlist keyword @QUERIES to match all query windows, so that you can either promote queries to a different filter level by window name, or altogether.
Signed-off-by: martin f. krafft <[email protected]> Cc: [email protected] --- chanact.pl | 19 +++++++++++++++---- 1 files changed, 15 insertions(+), 4 deletions(-) diff --git a/chanact.pl b/chanact.pl index d5fbc9e..cecd635 100644 --- a/chanact.pl +++ b/chanact.pl @@ -165,6 +165,7 @@ $VERSION = "0.5.11"; # * <string> : space-separated list of windows for which to use # chanact_filter_windowlist_level instead of # chanact_filter. +# The special string @QUERIES matches all queries. # # /set chanact_filter_windowlist_level <int> # like chanact_filter for windows in chanact_filter_windowlist. Defaults to @@ -246,10 +247,19 @@ sub remake() { !ref($active) && next; my $name = $win->get_active_name; + my $type = $active->{type}; + + # determine whether we have a match with the windowlist + my @windowlist = split ' ', $windowlist; + my $match_windowlist = grep { $_ eq $name } @windowlist; + if ($type eq 'QUERY') { + # if this is a query, also try to match @QUERIES + $match_windowlist ||= grep { $_ eq '@QUERIES' } @windowlist; + } my $filter_level = Irssi::settings_get_int('chanact_filter'); - if (grep { $_ eq $name } split ' ', $windowlist) { - # window matches $windowlist, so use + if ($match_windowlist) { + # window matches windowlist so use # chanact_filter_windowlist_level to override # chanact_filter $filter_level = Irssi::settings_get_int('chanact_filter_windowlist_level'); @@ -267,7 +277,7 @@ sub remake() { # check if we should show the mode $mode = ""; - if ($active->{type} eq "CHANNEL") { + if ($type eq "CHANNEL") { my $server = $win->{active_server}; !ref($server) && next; @@ -492,7 +502,8 @@ Irssi::signal_add_last('window refnum changed', 'refnum_changed'); # 0.5.11 # - added chanact_filter_windowlist, which is a space-separated list of # windows for which to use chanact_filter_windowlist_level instead of -# chanact_filter ([email protected]). +# chanact_filter. You can use @QUERIES to match all queries +# ([email protected]). # # 0.5.10 # - fixed irssi crash when using Irssi::print from within remake() -- 1.6.0.1 -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

