Настраиваемая комбинация клавиш для переключения в конкретное окно

Можно ли привязать пользовательскую клавишу для переключения на конкретное приложение?

Например:
super + 1 переключается на хромированное окно (не первое в списке окон).
super + 2 переключается в окно nautilus

Или как минимум:
super + 1 переключается в первое окно
super + 2 переключается во второе окно

5
задан 27 February 2014 в 16:26

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"

0
ответ дан 27 February 2014 в 16:26

Я соединил то, что г-н 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)" 

Это в основном игнорирует возможность любой ошибки, но работает на меня.

0
ответ дан 23 November 2019 в 10:37

Другие вопросы по тегам:

Похожие вопросы: