openbox

Como adicionar ou alterar os atalhos de teclado do Openbox

Usuários experientes que chegam de outros gerenciadores de janelas, podem se sentir mais confortáveis ou tornar a curva de aprendizado mais eficiente se puderem, pelo menos, manter os atalhos de teclado que já estavam acostumados a usar.
Só para dar um exemplo, quem vem do Ubuntu, vai se sentir mais confortável no Openbox se puder continuar abrindo o seu terminal, com a combinação Ctrl+Alt+T (padrão no Unity, mas não no Openbox).
openbox configuration tool obconf
O Openbox tem uma ferramenta GUI de configuração padrão, o Obconf.
Infelizmente, esta ferramenta não tem ainda as opções de configuração dos atalhos de teclado.

O arquivo de configuração do Openbox

Toda a configuração do Openbox pode ser realizada dentro de um arquivo, que pode ser encontrado dentro de um dos subdiretórios do seu diretório home.
Use o seu editor favorito para abrí-lo (eu vou de Leafpad).
Antes de abrir o arquivo para edição, vou fazer uma cópia de segurança dele:

cp ~/.config/openbox/rc.xml ~/.config/openbox/rc-backup.xml
leafpad ~/.config/openbox/rc.xml

Não se sinta intimidado com a grande quantidade de texto.
As configurações ficam organizadas por sessão.
Os atalhos de teclado são chamados de keybindings e estão localizados em uma das últimas sessões do arquivo: keyboard.

<keyboard>
    <chainQuitKey>C-g</chainQuitKey>
    <!-- Keybindings for desktop switching -->
    <keybind key="C-A-Left">
      <action name="GoToDesktop">
        <to>left</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Right">
      <action name="GoToDesktop">
        <to>right</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Up">
      <action name="GoToDesktop">
        <to>up</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Down">
      <action name="GoToDesktop">
        <to>down</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Left">
      <action name="SendToDesktop">
        <to>left</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Right">
      <action name="SendToDesktop">
        <to>right</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Up">
      <action name="SendToDesktop">
        <to>up</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Down">
      <action name="SendToDesktop">
        <to>down</to>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="W-F1">
      <action name="GoToDesktop">
        <to>1</to>
      </action>
    </keybind>
    <keybind key="W-F2">
      <action name="GoToDesktop">
        <to>2</to>
      </action>
    </keybind>
    <keybind key="W-F3">
      <action name="GoToDesktop">
        <to>3</to>
      </action>
    </keybind>
    <keybind key="W-F4">
      <action name="GoToDesktop">
        <to>4</to>
      </action>
    </keybind>
    <keybind key="W-d">
      <action name="ToggleShowDesktop"/>
    </keybind>
    <!-- Keybindings for windows -->
    <keybind key="A-F4">
      <action name="Close"/>
    </keybind>
    <keybind key="A-Escape">
      <action name="Lower"/>
      <action name="FocusToBottom"/>
      <action name="Unfocus"/>
    </keybind>
    <keybind key="A-space">
      <action name="ShowMenu">
        <menu>client-menu</menu>
      </action>
    </keybind>
    <!-- Take a screenshot of the current window with scrot when Alt+Print are pressed -->
    <keybind key="A-Print">
      <action name="Execute">
        <command>scrot -s</command>
      </action>
    </keybind>
    <!-- Keybindings for window switching -->
    <keybind key="A-Tab">
      <action name="NextWindow">
        <finalactions>
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Unshade"/>
        </finalactions>
      </action>
    </keybind>
    <keybind key="A-S-Tab">
      <action name="PreviousWindow">
        <finalactions>
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Unshade"/>
        </finalactions>
      </action>
    </keybind>
    <keybind key="C-A-Tab">
      <action name="NextWindow">
        <panels>yes</panels>
        <desktop>yes</desktop>
        <finalactions>
          <action name="Focus"/>
          <action name="Raise"/>
          <action name="Unshade"/>
        </finalactions>
      </action>
    </keybind>
    <!-- Keybindings for window switching with the arrow keys -->
    <keybind key="W-S-Right">
      <action name="DirectionalCycleWindows">
        <direction>right</direction>
      </action>
    </keybind>
    <keybind key="W-S-Left">
      <action name="DirectionalCycleWindows">
        <direction>left</direction>
      </action>
    </keybind>
    <keybind key="W-S-Up">
      <action name="DirectionalCycleWindows">
        <direction>up</direction>
      </action>
    </keybind>
    <keybind key="W-S-Down">
      <action name="DirectionalCycleWindows">
        <direction>down</direction>
      </action>
    </keybind>
    <!-- Keybindings for running applications -->
    <keybind key="W-e">
      <action name="Execute">
        <startupnotify>
          <enabled>true</enabled>
          <name>Konqueror</name>
        </startupnotify>
        <command>kfmclient openProfile filemanagement</command>
      </action>
    </keybind>
    <!-- Launch scrot when Print is pressed -->
    <keybind key="Print">
      <action name="Execute">
        <command>scrot</command>
      </action>
    </keybind>
  </keyboard>
  

Par ver uma relação completa dos atalhos de teclado padrão do Openbox, clique aqui.
Depois que você se debruça sobre o arquivo, por alguns minutos, fica fácil entender a sua lógica (mesmo que o inglês não seja o seu forte).
Se eu quiser, por exemṕlo, adicionar atalho de teclado ‘Ctrl + Alt + T’ para rodar o aplicativo de terminal, basta acrescentar o seguinte código dentro da sessão ‘keyboard’:

<!-- Executar o aplicativo de terminal quando Ctrl + Alt + T for pressionado -->
	    <keybind key="C-A-t">
	      <action name="Execute">
	        <command>lxterminal</command>
	      </action>
	    </keybind>

Ao finalizar a edição, toque com o botão direito do mouse/touchpad na área de trabalho e selecione Restart, para recarregar o arquivo de configurações (é rapidinho!).
openbox restart

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como “Rick and Morty” e “BoJack Horseman”.
Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *