Є два важливих інструменти для управління вікнами з 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
для максимізації / максимізації може бути дещо помилковим і на, Unity
і Gnome
, хоча xdotool
мій варіант працює більш надійним. У більшості сценаріїв я використовую суміш обох wmctrl
і xdotool
.
Більше інформації про man wmctrl та man xdotool (головним чином розділ: WINDOW COMMANDS ).