Можно ли сфокусировать открытый экземпляр / окно приложения с помощью команды?
Я хотел бы назначить сочетание клавиш для быстрого переключения на конкретное приложение.
Я хочу ярлыки для:
Это прекрасно работает для них (запуск команды по умолчанию, например, thunderbird
):
I я использую gnome-shell @ 12.04 (не должно иметь значения)
Несколько лет назад я создал небольшое приложение под названием mcgr именно для этой цели. Изначально он работал только с менеджером окон Metacity, но позже я адаптировал его для Gnome.
Вы можете использовать Super kbd> + 1 kbd> - 9 kbd> в Ubuntu для переключения на ваше приложение. Нажмите клавишу Super и удерживайте ее в течение трех секунд, чтобы увидеть номер для каждого значка в трее.
Пакет wmctrl предлагает доступ к окнам приложения и манипулирует ими, и он будет делать то, что вы хотите. Сначала установите этот небольшой пакет:
sudo apt-get install wmctrl
Вот справочная страница для wmctrl: http://manpages.ubuntu.com/manpages/precise/en/man1/wmctrl.1.html [ 113]
Когда вы посмотрите на переключатели командной строки, вы увидите, что -a поднимает и фокусирует окно. Чтобы узнать, на какое окно нужно сфокусироваться, убедитесь, что у вас открыто окно Chromium, а затем запустите
wmctrl -l
. Это даст вам список всех открытых окон и их заголовков. Chromium, скорее всего, всегда будет иметь «Chromium» в конце заголовка окна, так что вы можете использовать это.
Имея эту информацию под рукой, вы можете создать свою команду для быстрого доступа. Откройте настройки клавиатуры, перейдите в раздел «Ярлыки», нажмите «Пользовательские ярлыки», нажмите знак «+» и введите:
Name: Focus Chromium Shortcut
Command: wmctrl -a 'Chromium'
Я использую Unity и только что попробовал это с Google Chrome, он добился цели. Это должно работать и в Gnome-Shell.
Довольно крутая идея:)
DrTebi
Для этого я использую следующий простой скрипт. Он поднимает все окна с совпадающим заголовком (или тегом). Запустите, например, так:
winfocus.sh chrome
#!/bin/sh
if [ "" = "$1" ] ; then
echo "usage $0 Window title"
exit 1;
fi
wmctrl -lx | grep -i "$1" |cut -d' ' -f1 | while read id;
do wmctrl -i -a $id;
done
Я добавил несколько сочетаний клавиш Ubuntu для выполнения этого скрипта, так что Super+C поднимает все Chrome и Super+T отображает все окна терминала. Работает очень хорошо, я думаю.