Como fechar qualquer janela no Awesome WM?

22

Os desenvolvedores de aplicativos de desktop são livres para escolher quais atalhos de teclado desejam apoiar. No Windows, a convenção é bastante forte:

  • Alt- F4fecha a maioria dos aplicativos
  • Ctrl- F4fecha a maioria das sub-janelas principais
  • Esc descarta a maioria das caixas de diálogo.

No Linux, não houve tanta convergência, mas os seguintes são comuns:

  • Ctrl- qfecha a maioria dos aplicativos
  • Ctrl- wfecha a maioria das sub-janelas principais
  • Esc descarta a maioria das caixas de diálogo.

Infelizmente, muitos aplicativos optaram por seguir seu próprio caminho, usando a convenção do Windows ou apenas fazendo suas próprias coisas:

  • Alt- F4fecha o cromo
  • Ctrl- Shift- qfecha o GNOME Shell
  • Alt- f xfecha IDEA

Para fechar sub-janelas e caixas de diálogo, todas as apostas estão desativadas. Eu já vi tudo isso em uso:

  • Esc
  • Ctrl-F4
  • Ctrl-w

Alguns aplicativos nem têm atalhos para fechar algumas janelas (ou pelo menos nenhuma que eu tenha conseguido encontrar).

Os gerenciadores de janelas têm o poder de substituir qualquer um deles e, portanto, podem ser muito úteis para os usuários de teclado. O Awesome WM é muito fácil de usar no teclado, mas existem atalhos globais para fechar qualquer janela e / ou aplicativo no Awesome WM e, se não, como os configuro?

l0b0
fonte
O que há de errado com o pequeno X na barra de título? Isso deve ser SIGTERM, o que significa que não será pior do que qualquer outro método externo; os aplicativos devem capturar isso e encerrar da mesma forma que seriam "encerrados" ou o que quer que seja. Em resumo: basta fechar a janela principal e isso deve fechar o aplicativo.
Goldilocks
2
@goldilocks Isso não funciona em muitos WMs (como o Awesome) e é menos eficiente para quem está acostumado à navegação no teclado.
L0b0
Não parece muito "incrível" para mim, lol. Eu refutaria fortemente a afirmação de que "ele não funciona em muitos WMs" - certamente funciona em praticamente todos eles, ou eles são claros e simples, não atendendo ao propósito pretendido. A coisa mais básica e fundamental: você fornece uma janela com uma barra de título e um botão Fechar . Concordo que apontar e clicar é menos eficiente que o teclado, mas que sera - você está usando uma GUI - e qualquer WM decente fornecerá opções de combinação de teclas para fazer coisas como essa. Ou seja, você precisa descobrir como criar seus próprios atalhos.
11253 goldilocks
1
O Stack Exchange geralmente não permite perguntas da lista, elas não são adequadas para o funcionamento do site (espera-se que você tenha um problema específico, alguém poste uma solução e você a aceite). Se você está dizendo "Um ______ por resposta", isso geralmente é um mau sinal
Michael Mrozek
5
@goldilocks: Eu acho que você não entende o propósito de gerentes de janelas impressionantes e diretos em geral. Você deve usá-los sem tocar no mouse. A maioria deles não vai decorar janelas, o que é uma coisa boa (TM).
Sardathrion - Restabelece Monica

Respostas:

21

A partir man awesomedaí, não parece haver uma ligação de chave padrão para fechar todas as janelas de um aplicativo. Pode ser possível adicionar manualmente essa ligação.

Há, no entanto, uma ligação de tecla padrão para fechar a janela focada *: Mod4- Shift-c . Isso deixará outras janelas (se houver) do aplicativo intactas. Ele não funciona para sub-janelas (windows "lógicas", como guias que são parte de uma janela de aplicação única).

* Ou "cliente", como é conhecido da perspectiva de X, em oposição ao usuário.

l0b0
fonte
2
Tem certeza de que não o possui ao contrário? Mod4-Shift-cdeve matar o cliente atual. Fechar uma sub-janela depende da aplicação, o WM não tem nada a ver com isso
Michael Mrozek
Bem, isso funciona. Por exemplo, se você acessar a janela de preferências do Firefox e pressioná-la, ela fechará as preferências e não o aplicativo. O mesmo acontece com a caixa de pesquisa no jEdit. Então, eu acho que "matar o cliente focado", como diz, man awesomeé enganoso.
L0b0
2
Mod4-Shift-cfechará a janela atualmente focada. Se essa for a última janela do aplicativo, ele será fechado. A página do manual está correta.
Sardathrion - Restabelece Monica
@ Sardathrion Se você equiparar "cliente" a "janela", sim. Eu acho que é a linguagem dos desenvolvedores do WM.
L0b0:
Tomei a liberdade de editar a resposta para esclarecer os conceitos.
Phonehehe 28/05
0

Adicionei o seguinte à minha tabela clientbuttons:

awful.button({ }, 2, function (c) c:kill() end)

Agora, meu clique na roda de rolagem fecha a janela.

AX Labs
fonte