Есть два важных инструмента для управления окнами cli
; xdotool
и wmctrl
. Оба инструмента перекрывают друг друга по функциональности, но наиболее важные команды относятся к вашему вопросу:
В (без сомнения, неполном) обзоре перечислены команды, которые я использую чаще всего:
Закрытие окна
wmctrl:
wmctrl -ic <window_id>
Минимизация окна
xdotool:
xdotool windowminimize <window_id>
Свернуть окно
wmctrl:
Эффективная минимизация осуществляется путем:
wmctrl -ia <window_id>
Я упоминаю эффективно , поскольку команда перемещается на соответствующий рабочий стол, минимизирует и поднимает окно, но команда также делает это на окнах, которые не свернуты.
Максимизация окна
xdotool:
xdotool windowsize <window_id> 100% 100%
wmctrl:
wmctrl -ir <window_id> -b add,maximized_vert,maximized_horz
Свернуть окно:
wmctrl -ir <window_id> -b remove,maximized_vert,maximized_horz
Примечания
Оба xdotool
и wmctrl
не находятся в вашей системе по умолчанию:
sudo apt-get install xdotool wmctrl
Чтобы выполнить любую из команд в текущем активном окне:
для wmctrl
команд удалите -i
опцию, замените <window_id>
на:ACTIVE:
для xdotool
команд: заменить <window_id>
на$(xdotool getactivewindow)
Во многих случаях команды могут выполняться с использованием либо идентификатора окна, либо имени окна . -i
Вариант в wmctrl
говорит wmctrl
использовать идентификатор окна. Я бы предложил не использовать имя окна в качестве идентификатора, чтобы предотвратить конфликт имен. Это происходит легче, чем вы ожидаете.
- Из моего собственного опыта, используя максимизацию в сценарии; Использование
wmctrl
для максимальных / unmaximize может быть немного багги на обоих Unity
и Gnome
, в то время как xdotool
опция работает более надежной в моем опыте. В большинстве сценариев я использую сочетание обоих wmctrl
и xdotool
.
Больше информации о man wmctrl и man xdotool (в основном это раздел: WINDOW COMMANDS ).