Existe uma maneira de atribuir um atalho de teclado para focar janelas no GNOME com base em sua localização?

2

Eu basicamente quero continuar usando o GNOME, mas emular o comportamento do i3 WM, que permite focar janelas com base em sua localização, por exemplo, para focar a janela à direita da atual, para focar a da esquerda, etc. Eu olhei para o wmutils, o que quase funciona, mas não funciona com o GNOME. tem outro jeito de fazer isto?

    
por Jonathan 25.08.2016 / 22:33

1 resposta

1

Resposta longa curta: use a extensão Coloque o Windows ('' Mover o foco usando o teclado ' 'diz tudo)

Primeiro você verifica que atualmente não é possível

  1. O recurso não parece estar listado na CheatSheet do GnomeShell, nem no Gnome3 > Teclado. Infelizmente, não parece haver uma lista exaustiva de atalhos de teclado em nenhum lugar.
  2. Eu fui para extensions.gnome.org e procurei por uma extensão que faria o que você quer, mas tudo que eu encontrei é uma extensão chamada 'switcher' que não é o que você quer. Você deve pesquisar bem antes de fazer qualquer outra coisa porque não passei por 90 páginas de resultados. Na verdade, existe uma extensão para fazer isso , é chamado de '' colocar janela '' , o OP encontrou depois que eu escrevi esta resposta, então o que está abaixo é mantido para fins de informação.

  3. Você pode decidir usar a aba Alt e terminar com isso, que parece ser a maneira do Gnome3

Então você tenta tornar isso possível por si mesmo

Eu vejo três maneiras de fazer as coisas:

  • Crie uma extensão do Gnome3 (mas não tenho certeza se você teria todas as funções necessárias para implementar o que você deseja). Eu não tentei fazer isso.
  • Modifique o Gnome3 (mas essa provavelmente não é a resposta que você espera). Eu não tentei fazer isso.
  • Use o X11 / Wayland / Mir para fazer isso. Vou explicar abaixo o que tentei fazer com o X11. Cuidado, o X11 em breve será um software legado! E atualmente não é possível fazer isso com o Wayland / Mir (mas eu não verifiquei)

Eu tentei fazer isso com o X11 usando xdotool

Esta solução não está funcionando totalmente. É mais um truque para diversão do que qualquer outra coisa

Você pode tentar meu script de demonstração select.sh . É um script bash em torno de 200 linhas, então eu não o coloco aqui, mas vou explicar como funciona abaixo. Para usá-lo:

  1. instale o xdotool no seu sistema, ele deve estar no seu repositório:)
  2. git clone link
  3. vá para o Gnome3 > Teclado > Atalhos > Atalhos pessoais e adicione 4 entradas com comandos, respectivamente /path/to/select.sh *direction* onde *direction* é, respectivamente, up , down , left ou right

Problemas do script:

  1. É lento (mas utilizável: experimente)
  2. as janelas não devem se sobrepor. É uma condição que eu usei para substituir o fato de que eu não tinha como saber se uma janela é visível para o usuário (ver perguntas "Computando a área visível de uma janela parcialmente oculta" e "X: Descobrir se uma janela está visível para o usuário, ou seja, não abrangidos por outros "neste mesmo site). Essa necessidade deve-se à grande diferença entre o i3 e o Gnome3: com o Gnome3, as janelas podem se sobrepor (e elas se sobrepõem realmente com frequência).

Algoritmo do script:

  1. Obtenha uma lista de possíveis janelas: elas devem ter um nome, estar no mesmo espaço de trabalho (opcional? mas cuidado, há um espaço de trabalho bizarra com código "-1"), não estar na lista de janelas excluídas ( talvez opcional, eu comecei com isso e mantive a possibilidade), seja visível (no sentido de X11, isso significa não reduzido, você sabe, como no Gnome2!)
  2. Filtre essa lista para obter as janelas no local correto (essa parte do meu script tem muito espaço para melhorias)
  3. Pegue aquele que é o mais próximo de você (aqui novamente você pode melhorar meu script)
por 01.09.2016 / 21:10