Openbox: desativa Alt-F4 por aplicativo

4

Estou usando LXDE e no meu .config/openbox/lxde-rc.xml tenho ação para ALT-F4 definido:

<keybind key="A-F4">
  <action name="Close"/>
</keybind>

Isso funciona, como esperado, para todos os aplicativos. Quando ALT-F4 é pressionado, a janela é fechada.

Eu tenho um aplicativo, vamos chamá-lo de foo , que eu gostaria de não ser afetado por ALT-F4 . isto é, quando ALT-F4 é pressionado, quero que a janela permaneça aberta (a ação deve ser completamente ignorada).

É possível criar essa regra?

EDITAR: Com base na resposta de @Michael Homer , adicionei o seguinte no meu .config/openbox/lxde-rc.xml :

<keybind key="A-F4">
  <action name="If">
    <title>foo</title>
    <then>
      <!-- Do nothing for foo -->
    </then>
    <else>
      <action name="Close"/>
    </else>
  </action>
</keybind>

Isso funciona muito bem, mas eu preciso corresponder a foo ou bar .

Qual seria a solução mais simples para conseguir isso?

    
por Martin Vegter 30.06.2014 / 11:56

1 resposta

3

É possível com uma ação If :

<keybind key="A-F4">
 <action name="If">
  <title>* foo</title>
  <then><!-- Do nothing for foo --></then>
  <else>
   <action name="Close" />
  </else>
 </action>
</keybind>

A condição <title> corresponderá a um título de janela que termina "foo". Existem variações <title type="regex"> e <title type="exact"> para outros tipos de correspondência. Quando a janela coincide, a ação não fará nada e quando isso não acontecer (para todas as outras janelas) ela será fechada normalmente.

O Openbox 3.6 e o mais novo incluem tags de seletores adicionais <class> , <name> e <role> que podem ajudar a identificar sua janela com mais precisão se o título não for exclusivo. Eles suportam o mesmo atributo type e conteúdo como <title> , mas são testados em relação à propriedade X relevante.

Se você está usando uma versão anterior do Openbox e sua janela não pode ser identificada por título, você está com menos sorte, mas é possível hackear algo junto com xdotool : vincule a ação A-F4 a um script que identifique a janela com mais precisão e, em seguida, envie uma combinação de chave secreta vinculada à ação de fechamento real se não corresponde.

    
por 30.06.2014 / 13:00

Tags