Функция сортировки не работает

Unix точно не имеет понятия «приложение» . Вместо того, чтобы использовать процессы, лучшим индикатором были бы окна верхнего уровня. Их легче точно обнаружить, и вы не обнаружите ложные приложения другого пользователя.

Каждое окно имеет класс, определяющий его приложение. Чтобы увидеть имя класса для приложения, выполните следующую команду в терминале и щелкните окно приложения:

xprop WM_CLASS

Здесь отображаются две строки: имя экземпляра и имя класса.

Наиболее полезными инструментами для отображения информации об окнах и выполнения некоторых основных действий с ними являются xdotool и wmctrl .

С помощью wmctrl вы можете использовать wmctrl -F -x -a "$ instance. $ Class" , чтобы активировать одно из окон с данным экземпляром и классом. Если подходящего окна нет, wmctrl возвращает статус ошибки, поэтому вы можете выбрать запуск программы. Пример:

wmctrl -F -x -a Navigator.Firefox || firefox &

Эквивалентная команда xdotool:

xdotool search --class --maxdepth 2 Firefox windowactivate || firefox &

Если имеется несколько окон верхнего уровня, нет простого способа определить, какое из них будет активировано. Чтобы активировать самую последнюю версию, вам потребуется помощь вашего оконного менеджера - Openbox по умолчанию в LXDE. Я не знаком с Openbox, но он довольно скудный, поэтому он может не предлагать способ сообщить о последнем активированном окне. Я думаю, что LXDE можно использовать с другими оконными менеджерами, такими как sawfish , который является программируемым, так что вы можете закодировать эту функциональность внутри оконных менеджеров в несколько строк кода.

Используйте механизм настройки привязки клавиш вашего оконного менеджера , чтобы привязать нужные клавиши к одной из этих команд.

0
04.01.2018, 12:08
0 ответов

Теги

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