summaryrefslogtreecommitdiffstats
path: root/irssi
diff options
context:
space:
mode:
authordoy <doy@tozt.net>2009-01-05 20:19:13 -0500
committerdoy <doy@tozt.net>2009-01-05 20:19:13 -0500
commit4d1988514edca781d5772113b51a81fd1132b7bd (patch)
tree6a6479fe7bc2d4ddd2abc971f045cc12c73867b3 /irssi
parentbe232b96227af0831a4bddf07885079c3e50590a (diff)
downloadconf-4d1988514edca781d5772113b51a81fd1132b7bd.tar.gz
conf-4d1988514edca781d5772113b51a81fd1132b7bd.zip
add /trackbar command to irssi to scroll back to the trackbar position (thanks billnye)
Diffstat (limited to 'irssi')
-rw-r--r--irssi/scripts/trackbar.pl26
1 files changed, 26 insertions, 0 deletions
diff --git a/irssi/scripts/trackbar.pl b/irssi/scripts/trackbar.pl
index 7123330..1a2ad8f 100644
--- a/irssi/scripts/trackbar.pl
+++ b/irssi/scripts/trackbar.pl
@@ -81,6 +81,7 @@ use strict;
use 5.6.1;
use Irssi;
use Irssi::TextUI;
+use POSIX qw(strftime);
my $VERSION = "1.4";
@@ -176,6 +177,18 @@ Irssi::signal_add_first( 'session save' => sub {
}
);
+sub goto_trackbar {
+
+ my $window = Irssi::active_win();
+ my $line = $window->view()->get_bookmark('trackbar');
+
+ if ($line) {
+ $window->command("scrollback goto ". strftime("%d %H:%M:%S", localtime($line->{'info'}->{'time'})));
+ } else {
+ $window->printformat(MSGLEVEL_CLIENTCRAP, 'trackbar_not_found');
+ }
+}
+
sub cmd_mark {
my $window = Irssi::active_win();
# return unless defined $window;
@@ -186,4 +199,17 @@ sub cmd_mark {
Irssi::command("redraw");
}
+sub trackbar_runsub {
+
+ my ($data, $server, $item) = @_;
+ $data =~ s/\s+$//g;
+
+ if ($data) {
+ Irssi::command_runsub('trackbar', $data, $server, $item);
+ } else {
+ goto_trackbar();
+ }
+}
+
+Irssi::command_bind('trackbar', 'trackbar_runsub');
Irssi::command_bind('mark', 'cmd_mark');