
É possível vincular uma chave personalizada para mudar para um aplicativo específico?
Por exemplo:
super+1 muda para a janela cromada (não é a primeira na lista de janelas).
super+2 muda para a janela do nautilus
Ou pelo menos:
super+1 muda para a primeira janela
super+2 muda para a segunda janela
Responder1
Isso daria um pouco de trabalho, mas você poderia fazer isso com scripts e atalhos de teclado.
Existe uma ferramenta chamadaxdotoole permite simular pressionamentos de teclado. Você pode vincular as teclas do teclado para executar scripts que utilizam esta ferramenta.
Usando qualquer idioma de sua preferência para canalizar comandos de terminal, você pode encontrar IDs de processos específicos com
ps aux | grep "process here"
Usando xdotool search --pid "process ID here"
você receberá vários IDs de janela para um único aplicativo. Não sei como classificá-los para encontrar o correto, então o que você pode fazer é ter seu script, iterar os IDs encontrados em
xdotool windowactivate "window ID here"
que abrirá sua janela.
Por exemplo, minha chave 1 será vinculada para executar um script que encontre o ID do processo para "filezilla". Em seguida, ele encontrará os IDs das janelas com xdotool, pegará esses IDs e os passará por xdotool para abrir a janela. A chave 2 pode ser "google-chrome"
Responder2
Juntei o que o Sr.Lee sugeriu e criei este script:
#!/bin/bash
APP=$1
if [ -z "$APP" ]; then
echo Usage: $0 EXECUTABLE_NAME
exit 1
fi
PID=$(pgrep -f $APP | head -n 1)
if [ -z "$PID" ]; then
echo $APP executable not found
exit 2
fi
for WINDOW_ID in $(xdotool search --pid $PID); do
xdotool windowactivate $WINDOW_ID
done
notify-send "Switched to $APP (PID=$PID)"
Basicamente ignora a possibilidade de qualquer erro, mas funciona para mim.