Como posso vincular um atalho de tecla que inclui uma guia

Como posso vincular um atalho de tecla que inclui uma guia

Gostaria de religar o atalho da guia seguinte/anterior no Terminal do XFCE de Ctrl+ PgDn/ PgUppara Ctrl+ Tab/ Ctrl+ Shift+ Tab. Parece não funcionar editando accels.scmou alterando o atalho de forma interativa, passando o mouse sobre o menu e pressionando a combinação de teclas desejada.

Outras teclas funcionam bem para isso, são apenas os atalhos que envolvem Tabisso que são um problema. Presumo que sejam especiais para GTK e nem cheguem ao aplicativo. Existe uma maneira de substituir isso?

Responder1

Você não pode usar a tecla Tab para atalhos, pelo menos no Terminal Xfce.

Respostas diretas

[...] são apenas os atalhos que envolvem o Tab que são um problema. Presumo que sejam especiais para GTK e nem cheguem ao aplicativo.

Sua suposição está correta. A limitação realmente se aplica aos programas aplicativos GTK+ e o Terminal Xfce é um deles. E não são apenas os atalhos que envolvem a tecla Tab, mas também algumas outras teclas, como PageUp, PageDown, F10, que não podem ser usadas individualmente (sem a tecla modificadora).

Existe uma maneira de substituir isso?

Provavelmente não, embora possa existir uma solução alternativa. A melhor maneira é procurar alternativas à tecla Tab ou usar outros programas aplicativos que permitam isso. Veja também as explicações a seguir.

Explicado pelos colaboradores

Primeiro, há datadoerro 3524que relatou "Os atalhos de teclado da guia seguinte/anterior não fazem nada". O comentário mais relevante foi citado abaixo.

[Comentário 9: Nick Schermer 10/10/2009 13:49:08 CEST]

O Xfwm e o terminal usam uma maneira diferente ao lidar com aceleradores (xfwm diretamente de x, o terminal depende do gtk). está em gtk tratado como um acelerador inválido, então para 'consertar' este terminal irá verificar se o acelerador é válido antes de configurá-lo. Como resultado, pressionar não fará nada no editor de atalhos de agora em diante.

Em segundo lugar, há datapostar no Stack Overflowque perguntou "PyGTK: Permitir uso de Tab no AccelGroup". Parte relevante da questão foi citada abaixo.

Ao usar gtk.AccelGroup, qualquer combinação com caractere Tab é inválida. Agora eu entendo que a navegação na UI é feita usando esta chave [...]

Explicado pela documentação

Em relação à "navegação da UI é feita usando esta chave", a documentação do desenvolvedor GNOME observou o assunto no tópico deEntrada de tecladoconforme citado abaixo.

Navegação pelo teclado

[...] Tabé a chave padrão para navegar em uma interface com GTK+ e GNOME.

Além disso, os atalhos que usam a tecla Tab possuem funções dedicadas.

Teclas de navegação padrão

Tabe Shift+ Tab Move o foco do teclado para o controle seguinte/anterior

Ctrl+ Tabe Shift+ Ctrl+ Tab Move o foco do teclado do widget envolvente para o controle seguinte/anterior, nas situações em que Tab sozinho tem outra função

Ctrl+ Tabe Shift+ Ctrl+ Tab Move o foco do teclado para o grupo de controles seguinte/anterior

Portanto, os comentários anteriores fazem sentido agora.

Resposta revisada (04/04/2017)

Apesar da tecla Tab ser reconhecida como ^Ino shell da linha de comando paraconclusão da guia, tem menor relevância com a incapacidade de usar a tecla Tab como atalho em programas aplicativos gráficos.

Por que a tecla Tab não pode ser usada como atalho? O motivo era simples: a tecla Tab e suas combinações de teclas são reservadas pelo GTK+ e GNOME.

Apesar do Terminal GNOME via GSettings permitir o uso da tecla Tab para atalhos, não há hack equivalente para o Terminal Xfce via Xfconf até esta data respondida.

Responder2

Eu vinculo as teclas de atalho "Tab" usando a tecla automática do utilitário. Por exemplo, usando Tab para alternar entre o painel direito e esquerdo no Nemo File Commander.

Linux Mint 20 Nemo 4.6.5

Deve ser definido no AutoKey para: Tecla de atalho: Filtro de janela: nemo

----- Exemplo de script ---# Vincular tecla Tab ao painel de alternância (tecla F6)

keyboard.send_key("<f6>")
time.sleep(0.1)
keyboard.send_key("Tab")

Responder3

Isso funciona em xfce4-terminal 0.8.9.1 (Xfce 4.14)- editar.config/xfce4/terminal/accels.scm

(gtk_accel_path "<Actions>/terminal-window/next-tab" "<Primary>Tab")
(gtk_accel_path "<Actions>/terminal-window/prev-tab" "<Primary><Shift>Tab")

informação relacionada