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!