Можно ли свернуть окно из командной строки?

38

Я хотел бы иметь возможность выбрать любое уже открытое окно и свернуть его из командной строки. Это возможно?

ændrük
источник

Ответы:

27

В Kubuntu 12.04 я использую следующую команду, чтобы свернуть активное окно:

xdotool windowminimize $(xdotool getactivewindow)

Я подозреваю, что вы можете заменить $(xdotool getactivewindow)строку строкой, идентифицирующей любое окно, которое вам нужно свернуть.

Владимир
источник
$ xdotool getactivewindow windowminimize (работает в Ubuntu 15.04)
AAAfarmclub
1
Я добавил более сложный пример, который демонстрирует цепочку команд xdotool.
user1338062
15

Вы можете сделать это с помощью WMCtrl . Это инструмент, который позволяет вам управлять оконным менеджером из командной строки. Вы можете найти это в репозиториях.

Он совместим с Metacity и KWin (по умолчанию для Gnome и Kde).

Вы можете использовать эту команду, чтобы получить список открытых в данный момент окон. Это будет включать имя окна:

wmctrl -l

Если у вас есть имя окна, вы можете использовать эту команду для затенения окна:

wmctrl -r "windowname" -b toggle,shaded

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

Саймон П Стивенс
источник
Проблема с этим: окно полностью скрыто и непригодно для использования. Вы можете показать его с помощью той же команды, хотя.
Марк М
2
Автор wmctrl добавил новый флаг -Y для обозначения окон. Пошел в github, но еще не выпущен.
Марк М
Я использую wmctrl 1.07 (сейчас июль 2016 г.) и все еще без флага -Y.
AAAfarmclub
Вы пробовали: wmctrl -r "windowname" -b toggle,hidden?
dgo.a
7

свернуть активное окно

xdotool getactivewindow windowminimize

работает с расширением оболочки gnome3.24, таким как настраиваемый горячий угол, "xdotool windowminimize $ (xdotool getactivewindow)" не будет.

Альберт Сараги
источник
4

Вы можете использовать xdotoolдля имитации события клавиатуры Alt-F3после фокусировки на окне. Это взлом, но в зависимости от вашей проблемы, этого может быть достаточно.

loevborg
источник
3

Вы используете xdotool. Обратите внимание, что комбинация клавиш по умолчанию для минимизации активного окна по умолчанию является Ctrl-Alt-0, НО это означает, что цифровая клавиатура равна нулю. Если вы введете обычную нулевую клавишу, которая находится между 9 и -, тогда она не будет работать. (Также не при наборе текста на клавиатуре.

Xdotool знает нулевую клавишу цифровой клавиатуры как «KP_Insert».

Таким образом, чтобы свернуть активное окно, сначала убедитесь, что xdotool установлен, а затем используйте команду:

xdotool клавиша Ctrl + Alt + KP_Insert

(Обратите внимание, что клавиша Alt-F3, упомянутая в другом ответе, не будет работать

Хан Нкс
источник
2

Другой xdotoolпример:

xdotool search --onlyvisible --classname --sync Navigator windowminimize

Это ищет (и ждет, из-за --sync) видимое окно навигатора, а затем минимизирует его.

Смотрите xdotool(1)раздел COMMAND CHAINING:

xdotool поддерживает запуск нескольких команд за один вызов. Как правило, вы начинаете с команды поиска (см. «Стек Windows»), а затем выполняете набор действий с этими результатами.

user1338062
источник