diff options
| author | mh | 2016-02-11 17:33:04 +0100 |
|---|---|---|
| committer | mh | 2016-02-11 17:33:04 +0100 |
| commit | bd3fb9f9fc9e0b968d2e149f97f3b3151109328e (patch) | |
| tree | 4d73da263998719be6c566d8c6caa150d6859df0 /scripts | |
| parent | 0206be90105ea8678452b84b7c0f6970443ef7a2 (diff) | |
| download | scripts.irssi.org-bd3fb9f9fc9e0b968d2e149f97f3b3151109328e.tar.bz2 | |
mh_hold_mode.pl v1.05
Emulation of ircII per-window hold_mode
changes:
moved default settings from hardcoded to irssi settings _default_hold_mode and _default_scroll_always
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/mh_hold_mode.pl | 69 |
1 files changed, 47 insertions, 22 deletions
diff --git a/scripts/mh_hold_mode.pl b/scripts/mh_hold_mode.pl index 34ed99b..4a248f5 100644 --- a/scripts/mh_hold_mode.pl +++ b/scripts/mh_hold_mode.pl @@ -1,6 +1,6 @@ ############################################################################## # -# mh_hold_mode.pl v1.04 (20160126) +# mh_hold_mode.pl v1.05 (20160211) # # Copyright (c) 2007, 2015, 2016 Michael Hansen # @@ -31,6 +31,9 @@ # should you not like the new item look, you can revert it back to the # old style with the setting mh_hold_mode_more_oldstyle # +# previously the default window hold_mode and scroll_always were hardcoded +# they are now setable in irssi (see settings below) +# # instructions: # # add the mh_sbmore statusbar item with '/statusbar window add -after window_empty mh_sbmore' @@ -71,7 +74,16 @@ # mh_hold_mode_more_oldstyle (default OFF): switch between old and new # style more statusbar item # +# mh_hold_mode_default_hold_mode (default OFF): change the default hold_mode +# setting for new windows +# +# mh_hold_mode_default_scroll_always (default ON): change the default scroll_always +# setting for new windows +# # history: +# +# v1.05 (20160211) +# moved default settings from hardcoded to irssi settings _default_hold_mode and _default_scroll_always # v1.04 (20160126) # added mh_hold_mode_more_oldstyle and supporting code # added namespace to MSGLEVEL @@ -110,7 +122,7 @@ use strict; use Irssi 20100403; use Irssi::TextUI; -our $VERSION = '1.04'; +our $VERSION = '1.05'; our %IRSSI = ( 'name' => 'mh_hold_mode', @@ -119,7 +131,7 @@ our %IRSSI = 'authors' => 'Michael Hansen', 'contact' => 'mh on IRCnet #help', 'url' => 'http://scripts.irssi.org / https://github.com/mh-source/irssi-scripts', - 'changed' => 'Tue Jan 26 18:55:23 CET 2016', + 'changed' => 'Thu Feb 11 17:26:34 CET 2016', ); ############################################################################## @@ -129,8 +141,6 @@ our %IRSSI = ############################################################################## our %config; -$config{'DEFAULT'}{'hold_mode'} = 0; # default: 0 -$config{'DEFAULT'}{'scroll_always'} = 1; # default: 1 our $lastcommand = ''; our $more = 0; @@ -174,10 +184,24 @@ sub config_window_get if (!exists($config{'WINDOW'}{$windowid})) { - for my $setting (keys(%{$config{'DEFAULT'}})) + if (Irssi::settings_get_bool('mh_hold_mode_default_hold_mode')) + { + $config{'WINDOW'}{$windowid}{'hold_mode'} = 1; + + } else + { + $config{'WINDOW'}{$windowid}{'hold_mode'} = 0; + } + + if (Irssi::settings_get_bool('mh_hold_mode_default_scroll_always')) + { + $config{'WINDOW'}{$windowid}{'scroll_always'} = 1; + + } else { - $config{'WINDOW'}{$windowid}{$setting} = $config{'DEFAULT'}{$setting}; + $config{'WINDOW'}{$windowid}{'scroll_always'} = 0; } + } return(\%{$config{'WINDOW'}{$windowid}}); @@ -478,12 +502,24 @@ sub statusbar_more # ############################################################################## -Irssi::settings_add_bool('mh_hold_mode', 'mh_hold_mode_more_oldstyle', 0); - -Irssi::command('^SET SCROLL ON'); +Irssi::settings_add_bool('mh_hold_mode', 'mh_hold_mode_more_oldstyle', 0); +Irssi::settings_add_bool('mh_hold_mode', 'mh_hold_mode_default_hold_mode', 0); +Irssi::settings_add_bool('mh_hold_mode', 'mh_hold_mode_default_scroll_always', 1); Irssi::signal_add_last('window created', 'config_window_get'); Irssi::signal_add_last('window destroyed', 'config_window_del'); +Irssi::signal_add_first('key send_line', 'signal_key_send_line_first'); +Irssi::signal_add_last('key send_line', 'signal_key_send_line_last'); +Irssi::signal_add_last('window changed', 'signal_window_changed_last'); +Irssi::signal_add_last('print text', 'signal_print_text_last'); + +Irssi::command_bind('hold_mode', 'command_hold_mode', 'mh_hold_mode'); +Irssi::command_bind('help', 'command_help'); + +Irssi::statusbar_item_register('mh_sbmore', '', 'statusbar_more'); +Irssi::statusbars_recreate_items(); + +Irssi::command('^SET SCROLL ON'); for my $window (Irssi::windows) { @@ -492,21 +528,10 @@ for my $window (Irssi::windows) config_window_get($window); } -Irssi::statusbar_item_register('mh_sbmore', '', 'statusbar_more'); -Irssi::statusbars_recreate_items(); - statusbar_more_redraw(); -Irssi::timeout_add(1000, 'statusbar_more_redraw', undef); - Irssi::command('^REDRAW'); -Irssi::signal_add_first('key send_line', 'signal_key_send_line_first'); -Irssi::signal_add_last('key send_line', 'signal_key_send_line_last'); -Irssi::signal_add_last('window changed', 'signal_window_changed_last'); -Irssi::signal_add_last('print text', 'signal_print_text_last'); - -Irssi::command_bind('hold_mode', 'command_hold_mode', 'mh_hold_mode'); -Irssi::command_bind('help', 'command_help'); +Irssi::timeout_add(1000, 'statusbar_more_redraw', undef); 1; |
