From: vague666 Date: Thu, 9 May 2019 13:03:08 +0000 (+0200) Subject: Use set_hidden_level where possible X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=fcb84854ccd550c9d267e6f53678ead54de45704;p=irssi-scripts.irssi.org.git Use set_hidden_level where possible --- diff --git a/scripts/toggle_hidelevel.pl b/scripts/toggle_hidelevel.pl index 4f65d04..27bded7 100644 --- a/scripts/toggle_hidelevel.pl +++ b/scripts/toggle_hidelevel.pl @@ -10,7 +10,7 @@ use Irssi::TextUI; use Data::Dumper; use vars qw($VERSION %IRSSI); -$VERSION = "0.5.2"; +$VERSION = "0.6.0"; %IRSSI = ( authors => 'Jari Matilainen', contact => 'vague!#irssi@freenode on irc', @@ -49,9 +49,15 @@ sub set_mode { $val = $levels =~ s/(\w+)/sprintf("%s%s", $mode ? '+' : '-', $1)/gre; $windows->{$win->{refnum}}{mode} = $mode; - if($val) { - $processing += 1; - $win->command("^window hidelevel $val"); + if($win->view->can('set_hidden_level')) { + $win->view->set_hidden_level(Irssi::level2bits($val)); + $win->view->redraw; + } + else { + if($val) { + $processing += 1; + $win->command("^window hidelevel $val"); + } } } @@ -92,13 +98,13 @@ Irssi::command_bind('window togglelevel' => sub { Irssi::command_bind_last('window hidelevel' => sub { my ($args, $server, $witem) = @_; - if($processing) { + return unless $witem; + + if(!$witem->window->view->can('set_hidden_level') && $processing) { $processing -= 1; return; } - return unless $witem; - if($args) { my $levels = $witem->window->view->{hidden_level}; $windows->{$witem->window->{refnum}}{levels} = $levels;