A alternância entre dois aplicativos pode ser feita, como você sabe, com Alt + Tab . Mas é projetado percorrer todas as janelas abertas por ordem Z; então toda vez que um terceiro aplicativo é ativado, a ordem Z muda e geralmente é chato deixar os dois aplicativos que você está interessado em sincronizar para trocar.
Eu li sua exigência de que você tem um aplicativo principal Chromium e um aplicativo secundário, vamos com gnome-calculator
, que você alterna com frequência e gostaria de alternar entre eles usando uma única tecla de atalho.
Você pode, no entanto, criar esse comportamento com um script e uma associação de teclas personalizada. Para criar o script, queria algo simples (para mim) para entender e que pudesse ser facilmente modificado sem compilar; então eu usei python.
#!/usr/bin/python
import gtk
import re
import sys
import time
import wnck
#windows are found through the titlebar, not the app name
#edit the titles to change the apps
titlePrimaryApp = re.compile(".*Chromium*")
titleSecondaryApp = re.compile("Calculator")
screen = wnck.screen_get_default()
#needed for the code that gets the windows list to work
while gtk.events_pending():
gtk.main_iteration()
active_window = screen.get_active_window()
open_windows = screen.get_windows()
#if the primary app is already activated, find the secondary app, and activate it
if titlePrimaryApp.match(active_window.get_name()):
for w in open_windows:
if titleSecondaryApp.match(w.get_name()):
w.activate(int(time.time()))
#otherwise, activate the primary app
else:
for w in open_windows:
if titlePrimaryApp.match(w.get_name()):
w.activate(int(time.time()))
Para usar este script:
- Salve em um arquivo como
myswitcher.py
. Um bom lugar para isso é/home/<user>/bin
. - Torne-o executável:
chmod +x myswitcher.py
- Você precisará de:
sudo apt-get install python-wnck
. Esta é a biblioteca que funciona com janelas Gtk. Não é instalado por padrão. -
Vincule o script a um atalho de teclado.
A maneira mais fácil de fazer isso é criar um atalho personalizado em
System Settings >> Keyboard >> Shortcuts >> Custom Shortcuts
. -
Depois de destacar Atalhos personalizados na lista à esquerda, clique no sinal de adição para adicionar um atalho.
-
Na janela pop-up, escolha um nome para o atalho e digite o comando
/path/to/myswitcher.py
. -
O novo atalho será adicionado à lista de atalhos na janela. À direita do nome, estará a palavra desativada . Defina a associação de teclas clicando na palavra desativada e, em seguida, digitando a combinação de teclas desejada.
-
Certifique-se de escolher uma associação de teclas que não esteja em conflito com outros programas. Essas ligações são definidas em um nível inferior e serão precedidas do script. Eu escolhi Ctrl + \ (barra invertida), pois ele não é usado por mais nada e é mais ou menos a imagem espelhada de Alt + Tab (pelo menos no meu layout de teclado).
-
Você precisa fazer logout e login novamente antes que a associação de teclas personalizada funcione.
Solicite ajuda para o script:
Eu trabalhei com a maior parte da lógica do script antes de procurar exemplos (e não há falta de exemplos wnck
por aí); mas eu preciso creditar esta resposta no StackOverflow que resolveu alguns problemas que eu estava tendo com o uso de expressões regulares, a sintaxe para passar no registro de data e hora do gtk e, o mais importante, fornecer as linhas-chave sobre os eventos do Gtk. Sem essas duas linhas, get_windows retorna uma lista vazia.