wmctrl
Программа только то, что вы ищете ( sudo apt-get install wmctrl
). Вы можете использовать wmctrl -a "AppTitle"
команду, чтобы вывести приложение на передний план. wmctrl -l
отобразит список всех доступных окон, поэтому будет легко написать сценарий оболочки, который проверяет, запущена ли ваша программа, и запускает ее или выводит на передний план. Затем вы можете просто привязать это к сочетанию клавиш.
Сначала сохраните где-нибудь следующий скрипт, я буду использовать /home/jtb/code/bringToFront
. Он принимает два аргумента: первый - это то, что вы вводите в терминале для запуска программы, второй - подстрока заголовка окна программы. Если в заголовке нет постоянной уникальной строки, вам нужно проделать немного больше работы, чтобы найти окно программы.
#!/bin/bash if [ `wmctrl -l | grep -c "$2"` != 0 ] then wmctrl -a "$2" else $1 & fi
Запустив скрипт в вашем текущем каталоге,
chmod +x bringToFront
сделайте его исполняемым. Затем убедитесь, что это работает; запустить / сфокусировать Firefox вы можете запустить./bringToFront firefox "Mozilla Firefox"
.Теперь нам нужно привязать сочетание клавиш. Запустите
gconf-editor
и перейдите к структуре папок слева/apps/metacity/keybinding_commands
.Двойной щелчок по первому
command
с пустым значением, вероятноcommand_1
. Введите полный путь к сценарию и укажите два параметра, например/home/jtb/code/bringToFront firefox Firefox
.На левой панели выберите
global_keybindings
следующую папку вверх.run
Вероятно, найдите запись, соответствующую только что определенной вами командеrun_command_1
. Дважды щелкните по нему и введите сочетание клавиш, которое вы хотите использовать. Поместите модификаторы в угловые скобки, например<Ctrl><Alt>F
.
Теперь Control+ Alt+ Fвыведет ваше окно Firefox на передний план или запустит его, если оно еще не запущено.