Substituir o atalho de todo o sistema para atalho específico do aplicativo

11

Existe uma maneira de fornecer um atalho de teclado definido em uma precedência de aplicativo sobre um atalho de todo o sistema com a mesma vinculação de chave?

Comportamento desejado: Quando algumas teclas são pressionadas, verifique se o aplicativo focado deseja fazer alguma coisa (e em caso afirmativo, faça isso). Se não, verifique se existe um atalho do sistema para algumas chaves e faça isso.

O que acontece atualmente: Eu tenho F11 definido como 'toggle fullscreen' no menu de configurações para atalhos de teclado. No Chrome F11 deve ativar o modo de tela cheia do Chrome, mas é substituído pelo atalho de todo o sistema, ou seja, o Chrome torna-se tela cheia (o painel do GNOME e a barra de título desaparecem), mas não entra no modo de tela cheia do Chrome guias, barra de endereços e barra de favoritos também desaparecem).

(Nota: O Firefox não tem o mesmo problema, mas parece que o FF fullscreen é igual a / é acionado pelo gerenciador de janelas em tela cheia)

    
por onestepafred 17.09.2014 / 19:46

1 resposta

2
Disclaimer: Isto não é exatamente o que você quer, mas eu gastei muito tempo nisso para não postar e talvez alguém possa usá-lo.

Cheguei até onde Ctrl + F11 está em tela cheia em todos os lugares, exceto no Chromium, onde fica a tela cheia do Chromium!

  1. Trem de pensamento

Eu pensei que eu poderia enganar o gerenciador de janelas se eu usasse xdotool e enviasse o comando diretamente para a janela do Chrome - sem sucesso.

Então, achei que poderia alterar o atalho do teclado no Google Chrome, mas isso parece codificado - outro beco sem saída.

  1. O que nos deixa com esta

Instale xdotool para simular pressionamentos de teclado

sudo apt-get install xdotool

reconfigure os atalhos do teclado do Ubuntu para algo arbitrário, que nunca digitamos, mas é utilizável no script

Configurações - > Dispositivos - > Teclado

Role para baixo e edite Alternar modo de tela cheia para Ctrl + Alt + 1 e, em seguida, clique no + e adicione um atalho de teclado personalizado

e,emseguida,pressione+eadicioneumatalhodetecladopersonalizado

editeoscript

nano/home/user/fullscreen.sh#!/bin/bashexportDISPLAY=:0windowname=$(xdotoolgetactivewindowgetwindowname|cut-d"-" -f 2)
if [[ $windowname != *"Chromium"* ]]
then
xdotool keydown Ctrl keydown Alt key 1 keyup Alt keyup Ctrl
else
xdotool search --onlyvisible --class "Chromium" windowfocus 
sleep 0.2
xdotool key F11
fi

torne-o executável

chmod +x /home/user/fullscreen.sh
  1. Conclusão

Parece impossível enganar o gerenciador de janelas e contrabandear o pressionamento de tecla, mas certamente existem soluções possíveis. Nesse caso, o Google tornou o atalho de teclado para tela cheia não configurável, então fica aquém da marca

Agora, com Ctrl + F11 , o gerenciador de janelas controla o comportamento de tela inteira, exceto no cromo.

    
por Robert Riedl 19.01.2018 / 14:09