Есть два важных инструмента для управления окнами 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 ).