Você pode fazer isso manualmente, modificando a extensão perl para as guias (com guias) e alterando as teclas às quais ele responde. Eu tenho que mudar de abas com alt + 1 ... alt + 9 modificando o método tab_key_press :
Você pode obter o script tabulado original a partir da distribuição de origem do urxvt na pasta rxvt-unicode-9.15 / src / perl / tabbed , localizar a função e substituí-la pelo método abaixo.
Quando isso é feito, você pode salvar o arquivo modificado em / some / folder / tabz e execute urxvt com urxvt --perl-lib / alguma / pasta -pe tabz
Eu acho que deve ser possível configurar isso com recursos do X (~ / .Xdefaults), então talvez eu faça uma versão do script que leia a partir daí no futuro e envie para o mantenedor do urxvt, mas por agora:
sub tab_key_press {
my ($self, $tab, $event, $keysym, $str) = @_;
warn "keysym: ", $keysym;
#if ($event->{state} & urxvt::ShiftMask) {
if ($event->{state} & urxvt::Mod1Mask) {
if ($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}}]);
return 1;
} elsif ($keysym == 0xff54) {
$self->new_tab;
return 1;
} elsif ( $keysym == 0x31 || $keysym == 0x32 || $keysym == 0x33 ||
$keysym == 0x34 || $keysym == 0x35 || $keysym == 0x36 ||
$keysym == 0x37 || $keysym == 0x38 || $keysym == 0x39
) {
my $idx = 0;
$idx = 0 if $keysym == 0x31;
$idx = 1 if $keysym == 0x32;
$idx = 2 if $keysym == 0x33;
$idx = 3 if $keysym == 0x34;
$idx = 4 if $keysym == 0x35;
$idx = 5 if $keysym == 0x36;
$idx = 6 if $keysym == 0x37;
$idx = 7 if $keysym == 0x38;
$idx = 8 if $keysym == 0x39;
warn scalar @{ $self->{tabs} };
$self->make_current ($self->{tabs}[ $idx ]) if ($idx < (scalar @{$self->{tabs}})) ;
return 1;
}
}
elsif ($event->{state} & urxvt::ControlMask) {
if ($keysym == 0xff51 || $keysym == 0xff53) {
my ($idx1) = grep $self->{tabs}[$_] == $tab, 0 .. $#{ $self->{tabs} };
my $idx2 = ($idx1 + ($keysym == 0xff51 ? -1 : +1)) % @{ $self->{tabs} };
($self->{tabs}[$idx1], $self->{tabs}[$idx2]) =
($self->{tabs}[$idx2], $self->{tabs}[$idx1]);
$self->make_current ($self->{tabs}[$idx2]);
return 1;
}
}
()
}