Tente instalar wmctrl : sudo apt-get install wmctrl
agora o comando wmctrl -a STRING dá foco a uma janela contendo STRING em seu título
então seu comando final será:
run-one terminator; wmctrl -a Terminator
Estou configurando o Terminator para minha área de trabalho. Eu uso o atalho Ctrl + Alt + T para iniciá-lo. Como quero apenas uma única instância em execução, uso run-one terminator como o comando do inicializador.
Agora, se uma instância do Terminator estiver em execução, uma nova instância não será lançada, mas a instância existente não será focada .
Alguma idéia de como eu poderia obter a janela Terminator para obter foco?
Tente instalar wmctrl : sudo apt-get install wmctrl
agora o comando wmctrl -a STRING dá foco a uma janela contendo STRING em seu título
então seu comando final será:
run-one terminator; wmctrl -a Terminator
Aqui está um método que funciona sem run-one , assumindo que wmctrl está disponível:
wmctrl -xa terminator.Terminator || terminator
Isso pressupõe que o nome da classe da janela padrão esteja sendo usado. Você pode ser criativo se quiser e usar um nome de classe personalizado ao lançar terminator . Isso permitirá que você mantenha seu atalho terminador separado de uma instância normal terminator :
wmctrl -xa MyCustomTerminator.Terminator || terminator -c MyCustomTerminator
Isso se baseia na resposta de Denis sem a necessidade de run-one .
Aqui está o hack que eu decidi usar run-one e xdotool
Em / home / (usuário) /my_scripts/single_terminator_instance.sh
#!/usr/bin/bash
# run a single instance of terminator
/usr/bin/run-one /usr/bin/terminator
# search for the terminator window and focus!!!
/usr/bin/xdotool search --onlyvisible --class terminator windowactivate
Então
Main Menu para apontar para o script acima Ctrl + Alt + T ativa o script Enquanto procurava no i'net, eu também encontrei este
Desde que eu sou novo em scripts bash, saúdo qualquer refinamento no hack!