O programa wmctrl
é exatamente o que você está procurando ( sudo apt-get install wmctrl
). Você pode usar o comando wmctrl -a "AppTitle"
para trazer o aplicativo para a frente. wmctrl -l
listará todas as janelas disponíveis, portanto, deve ser fácil escrever um script de shell que verifique se o programa está em execução e inicie-o ou leve-o para a frente. Então você pode apenas ligar isso a um atalho de teclado.
Primeiro salve o seguinte script em algum lugar, eu usarei /home/jtb/code/bringToFront
. São necessários dois argumentos, o primeiro é o que você digitaria no terminal para iniciar o programa, o segundo é uma subseqüência do título da janela do programa. Se não houver uma string única constante no título, você precisará trabalhar um pouco mais para encontrar a janela do programa.
#!/bin/bash
if [ 'wmctrl -l | grep -c "$2"' != 0 ]
then
wmctrl -a "$2"
else
$1 &
fi
-
Com o script em seu diretório atual, execute
chmod +x bringToFront
para tornar o script executável. Então, verifique se funciona; para iniciar / focar o firefox, você pode executar./bringToFront firefox "Mozilla Firefox"
. -
Agora precisamos ligar uma tecla de atalho. Execute
gconf-editor
e navegue na estrutura de pastas à esquerda para/apps/metacity/keybinding_commands
. -
Clique duas vezes no primeiro
command
com um valor em branco, provavelmentecommand_1
. Digite o caminho completo para o script e forneça os dois parâmetros, por exemplo,/home/jtb/code/bringToFront firefox Firefox
. -
No painel à esquerda, selecione
global_keybindings
, a próxima pasta para cima. Encontre a entradarun
correspondente ao comando que você acabou de definir, provavelmenterun_command_1
. Clique duas vezes e digite o atalho de teclado que você deseja usar. Coloque os modificadores em colchetes angulares, por ex.<Ctrl><Alt>F
.
Agora Control + Alt + F trará sua janela do firefox para a frente, ou iniciará se ela ainda não estiver rodando.