From 4ecca157e0c1514b820dd280a231c755b7df25b4 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 20 Jan 2006 15:47:55 +0000 Subject: [PATCH] *** empty log message *** --- Changes | 3 +++ MANIFEST | 1 + src/perl/tabbed | 21 ++++++++++++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/Changes b/Changes index c2deec54..d68f0c6c 100644 --- a/Changes +++ b/Changes @@ -18,6 +18,9 @@ WISH: support tex fonts 7.2 - removed support for obsolete offix dnd protocol. + - added "tabbed" extension that provides a crude tabbed terminal. + - fixed the automove-background extension to ignore coordinates + in non-synthetic events. 7.1 Thu Jan 19 20:25:34 CET 2006 - setuid/setgid operation is now _encouraged_: security has been diff --git a/MANIFEST b/MANIFEST index a977a128..ad41eb39 100644 --- a/MANIFEST +++ b/MANIFEST @@ -163,6 +163,7 @@ src/perl/selection-pastebin src/perl/searchable-scrollback src/perl/automove-background src/perl/mark-urls +src/perl/tabbed src/perl/example-refresh-hooks src/perl/block-graphics-to-ascii src/perl/digital-clock diff --git a/src/perl/tabbed b/src/perl/tabbed index c646775d..8f09ac6f 100644 --- a/src/perl/tabbed +++ b/src/perl/tabbed @@ -210,13 +210,32 @@ sub tab_destroy { () } +sub tab_key_press { + my ($self, $tab, $event, $keysym, $str) = @_; + + if ($event->{state} & urxvt::ShiftMask + && ($keysym == 0xff51 || $keysym == 0xff53)) { + my ($idx) = grep $self->{tabs}[$_] == $tab, 0 .. $#{ $self->{tabs} }; + + --$idx if $keysym == 0xff51; + ++$idx if $keysym == 0xff53; + + $self->make_current ($self->{tabs}[$idx % @{ $self->{tabs}}]); + $self->refresh; + + return 1; + } + + () +} + package urxvt::ext::tabbed::tab; # helper extension implementing the subwindows of a tabbed terminal. # simply proxies all interesting calls back to the tabbed class. { - for my $hook qw(start destroy) { + for my $hook qw(start destroy key_press) { eval qq{ sub on_$hook { my \$parent = \$_[0]{term}{parent} -- 2.34.1