Можно ли привязать пользовательскую клавишу для переключения на конкретное приложение?
Например:
super + 1 переключается на хромированное окно (не первое в списке окон).
super + 2 переключается в окно nautilus
Или как минимум:
super + 1 переключается в первое окно
super + 2 переключается во второе окно
Это взяло бы немного работы, но Вы могли сделать это со сценариями и привязками клавиш.
существует инструмент, названный xdotool, и это позволяет Вам моделировать нажатия клавиатуры. Можно обязать клавиши на клавиатуре выполнять сценарии, которые используют этот инструмент.
Используя любой язык Вы предпочитаете передавать терминальные команды по каналу, можно найти определенные идентификаторы процесса с ps aux | grep "process here"
Используя xdotool search --pid "process ID here"
, Вы возвратите несколько окно ID для отдельного приложения. Я не знаю, как отсортировать их для нахождения корректного, поэтому что Вы могли сделать, имеют Ваш сценарий, выполняют итерации мысли найденные идентификаторы в
xdotool windowactivate "window ID here"
, который поднимет Ваше окно.
, Например, мой 1 ключ будет обязан выполнить сценарий, которые находят идентификатор процесса для "filezilla". Тогда это найдет окно ID с xdotool, возьмет те идентификаторы и затем передаст их через xdotool, чтобы потянуть окно. 2 ключа, мог быть "Google Chrome"
Я соединил то, что г-н Lee предложил и создал этот сценарий:
#!/bin/bash
APP=$1
if [ -z "$APP" ]; then
echo Usage: [110] 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)"
Это в основном игнорирует возможность любой ошибки, но работает на меня.