summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormh2015-11-27 14:10:13 +0100
committermh2015-11-27 14:10:13 +0100
commit1b57d4efe283c3be448e40801fb24c196f4b334d (patch)
tree270d627b80880f31b9ce5a67fd136e734a490a8b
parent3f050b509be002a79420bb810febefefca4c0308 (diff)
downloadscripts.irssi.org-1b57d4efe283c3be448e40801fb24c196f4b334d.tar.bz2
mh_sbuserinfo.pl v1.01
statusbar item that shows users and limit info in channels changes: call statusbar_redraw directly in signals now using elsif removed timeout on load
-rw-r--r--scripts/mh_sbuserinfo.pl110
1 files changed, 32 insertions, 78 deletions
diff --git a/scripts/mh_sbuserinfo.pl b/scripts/mh_sbuserinfo.pl
index f45e761..75089da 100644
--- a/scripts/mh_sbuserinfo.pl
+++ b/scripts/mh_sbuserinfo.pl
@@ -1,6 +1,6 @@
##############################################################################
#
-# mh_sbuserinfo.pl v1.00 (20151126)
+# mh_sbuserinfo.pl v1.01 (20151127)
#
# Copyright (c) 2015 Michael Hansen
#
@@ -20,7 +20,7 @@
#
##############################################################################
#
-# statusbar item that shows userinfo in channels
+# statusbar item that shows users and limit info in channels
#
# displays in the statusbar the number of users and the limit of the channel,
# with several settings for finetuning:
@@ -55,6 +55,10 @@
# see '/help statusbar' for more details and do not forget to '/save'
#
# history:
+# v1.01 (20151127)
+# call statusbar_redraw directly in signals
+# now using elsif
+# removed timeout on load
# v1.00 (20151126)
# initial release
#
@@ -72,11 +76,11 @@ use strict;
use Irssi 20100403;
use Irssi::TextUI;
-our $VERSION = '1.00';
+our $VERSION = '1.01';
our %IRSSI =
(
'name' => 'mh_sbuserinfo',
- 'description' => 'statusbar item that shows userinfo in channels',
+ 'description' => 'statusbar item that shows users and limit info in channels',
'license' => 'BSD',
'authors' => 'Michael Hansen',
'contact' => 'mh on IRCnet #help',
@@ -120,41 +124,6 @@ sub statusbar_redraw
#
##############################################################################
-sub signal_channel_sync_last
-{
- my ($channel) = @_;
-
- statusbar_redraw($channel);
-}
-
-sub signal_channel_mode_changed_last
-{
- my ($channel, $setby) = @_;
-
- statusbar_redraw($channel);
-}
-
-sub signal_nick_mode_changed_last
-{
- my ($channel, $nick, $setby, $mode, $type) = @_;
-
- statusbar_redraw($channel);
-}
-
-sub signal_nicklist_new_last
-{
- my ($channel, $nick) = @_;
-
- statusbar_redraw($channel);
-}
-
-sub signal_nicklist_remove_last
-{
- my ($channel, $nick) = @_;
-
- statusbar_redraw($channel);
-}
-
sub signal_setup_changed_last
{
statusbar_redraw(Irssi::active_win->{'active'});
@@ -199,19 +168,13 @@ sub statusbar_userinfo
{
$users_op++;
- } else {
-
- if ($nick->{'halfop'})
- {
- $users_ho++;
-
- } else {
+ } elsif ($nick->{'halfop'})
+ {
+ $users_ho++;
- if ($nick->{'voice'})
- {
- $users_vo++;
- }
- }
+ } elsif ($nick->{'voice'})
+ {
+ $users_vo++;
}
}
@@ -269,9 +232,8 @@ sub statusbar_userinfo
if ($setting_percent > 100)
{
$setting_percent = 100;
- }
- if ($setting_percent < 0)
+ } elsif ($setting_percent < 0)
{
$setting_percent = 0;
}
@@ -309,31 +271,23 @@ sub statusbar_userinfo
#
##############################################################################
-sub script_on_load
-{
- Irssi::settings_add_bool('mh_sbuserinfo', 'mh_sbuserinfo_show_details', 1);
- Irssi::settings_add_bool('mh_sbuserinfo', 'mh_sbuserinfo_show_details_mode', 0);
- Irssi::settings_add_bool('mh_sbuserinfo', 'mh_sbuserinfo_show_details_halfop', 0);
- Irssi::settings_add_bool('mh_sbuserinfo', 'mh_sbuserinfo_show_warning_opless', 1);
- Irssi::settings_add_bool('mh_sbuserinfo', 'mh_sbuserinfo_show_warning_limit', 1);
- Irssi::settings_add_int( 'mh_sbuserinfo', 'mh_sbuserinfo_show_warning_limit_percent', 90);
- Irssi::settings_add_str( 'mh_sbuserinfo', 'mh_sbuserinfo_warning_format', '%Y');
-
- Irssi::statusbar_item_register('mh_sbuserinfo', undef, 'statusbar_userinfo');
-
- Irssi::signal_add_last('channel sync', 'signal_channel_sync_last');
- Irssi::signal_add_last('channel mode changed', 'signal_channel_mode_changed_last');
- Irssi::signal_add_last('nick mode changed', 'signal_nick_mode_changed_last');
- Irssi::signal_add_last('nicklist new', 'signal_nicklist_new_last');
- Irssi::signal_add_last('nicklist remove', 'signal_nicklist_remove_last');
- Irssi::signal_add_last('setup changed', 'signal_setup_changed_last');
- Irssi::signal_add_last('window changed', 'signal_window_changed_last');
-}
-
-#
-# start script in a timeout to avoid printing before irssis "loaded script"
-#
-Irssi::timeout_add_once(10, 'script_on_load', undef);
+Irssi::settings_add_bool('mh_sbuserinfo', 'mh_sbuserinfo_show_details', 1);
+Irssi::settings_add_bool('mh_sbuserinfo', 'mh_sbuserinfo_show_details_mode', 0);
+Irssi::settings_add_bool('mh_sbuserinfo', 'mh_sbuserinfo_show_details_halfop', 0);
+Irssi::settings_add_bool('mh_sbuserinfo', 'mh_sbuserinfo_show_warning_opless', 1);
+Irssi::settings_add_bool('mh_sbuserinfo', 'mh_sbuserinfo_show_warning_limit', 1);
+Irssi::settings_add_int( 'mh_sbuserinfo', 'mh_sbuserinfo_show_warning_limit_percent', 90);
+Irssi::settings_add_str( 'mh_sbuserinfo', 'mh_sbuserinfo_warning_format', '%Y');
+
+Irssi::statusbar_item_register('mh_sbuserinfo', '', 'statusbar_userinfo');
+
+Irssi::signal_add_last('channel sync', 'statusbar_redraw');
+Irssi::signal_add_last('channel mode changed', 'statusbar_redraw');
+Irssi::signal_add_last('nick mode changed', 'statusbar_redraw');
+Irssi::signal_add_last('nicklist new', 'statusbar_redraw');
+Irssi::signal_add_last('nicklist remove', 'statusbar_redraw');
+Irssi::signal_add_last('setup changed', 'signal_setup_changed_last');
+Irssi::signal_add_last('window changed', 'signal_window_changed_last');
1;