aboutsummaryrefslogtreecommitdiffstats
path: root/feature-tests/any_time.pl
diff options
context:
space:
mode:
authorTom Feist <shabble@metavore.org>2011-09-24 23:40:16 +0000
committerTom Feist <shabble@metavore.org>2011-09-24 23:40:16 +0000
commitf92453c4bffec2e4fd291102d53acb4adb810676 (patch)
tree829a80b7e1aad1e444c1db873f38a0e94f7c6b46 /feature-tests/any_time.pl
parentcleanup linehax a bit. (diff)
downloadirssi-scripts-f92453c4bffec2e4fd291102d53acb4adb810676.tar.gz
irssi-scripts-f92453c4bffec2e4fd291102d53acb4adb810676.zip
added any_time.pl
adds a statusbar item called 'any_time' with a custom time format configuration (with /set any_time_format %H:%M or whatever. Uses standard POSIX strftime formats).
Diffstat (limited to 'feature-tests/any_time.pl')
-rw-r--r--feature-tests/any_time.pl37
1 files changed, 37 insertions, 0 deletions
diff --git a/feature-tests/any_time.pl b/feature-tests/any_time.pl
new file mode 100644
index 0000000..fd00b02
--- /dev/null
+++ b/feature-tests/any_time.pl
@@ -0,0 +1,37 @@
+
+use strict;
+use warnings;
+
+use Irssi;
+use Irssi::TextUI; # for sbar_items_redraw
+use POSIX qw/strftime/;
+
+my $time_format;
+
+sub any_time_sb {
+ my ($sb_item, $get_size_only) = @_;
+
+ my @time_now = localtime();
+ my $formatted_time = strftime($time_format, @time_now);
+
+ $sb_item->default_handler($get_size_only, "{sb $formatted_time}", '', 0);
+}
+
+sub sig_setup_changed {
+ $time_format = Irssi::settings_get_str('any_time_format');
+}
+
+sub init {
+ Irssi::settings_add_str('any_time', 'any_time_format', '%H:%M');
+ Irssi::signal_add('setup changed', \&sig_setup_changed);
+
+ sig_setup_changed();
+
+ Irssi::signal_add('expando timer',
+ sub { Irssi::statusbar_items_redraw('any_time') });
+
+
+ Irssi::statusbar_item_register ('any_time', 0, 'any_time_sb');
+}
+
+init();