Сочетание клавиш для окна переключения (активировать / свернуть)

На основании этого ответа я могу активировать или свернуть окно: как вызвать окно keepassX с помощью сочетания клавиш?

xdotool search --onlyvisible --name "My window name" windowactivate
xdotool search --onlyvisible --name "My window name" windowminimize

Я назначаю эти команды двум сочетаниям клавиш, например, Ctrl+Shift+K и Ctrl+Shift+M.

Но я хочу иметь только одно сочетание клавиш для окна переключения, это означает:

if minimalized:
   activate 
else:
   minimalize

Я не вижу никакой опции "переключения" в xdotool: http://manpages.ubuntu.com/manpages/trusty/man1/xdotool.1.html

ОС: Ubuntu, пользовательский интерфейс: Unity

2 ответа

Я получил это на плазме X11 KDE:

toggle-window-org-agenda.sh:

      #!/usr/bin/env sh

if [[ $(xdotool getactivewindow) -eq $(xdotool search --name "Org Agenda") ]]; then
    xdotool windowminimize $(xdotool getactivewindow)
else
    xdotool windowactivate $(xdotool search --name "Org Agenda" || emacsclient -e '(progn (org-agenda nil "o") (evil-goto-first-line))' --create-frame && xdotool search --name "Org Agenda")
fi

сохраните его у себя /дома/user/bin и вызовите ее (например, в KDE это «Пользовательские ярлыки>Глобальная команда»):

/usr/bin/sh /home/<USERNAME>/bin/toggle-window-org-agenda.sh

Замените все (три) появления «Повестки дня организации» на что-то лучшее.

Я часто использую xdotool с xprop а также xev, Они оба дают вам много информации о окнах.
Вы можете написать простой скрипт, который получает информацию об окне с xprop или же xev и реализует блок if-else, который вы написали. Это, пожалуй, самое универсальное решение, подходящее не только для задачи, которую вы описываете, но и для управления окнами.

Еще один замечательный инструмент для работы с вашим оконным менеджером wmctrl, Он считает, что делает то, что вы хотите без сценариев:
wmctrl -r "My window name (or id)" -b toggle,hidden

Страница man довольно краткая, я нашел эту документацию пользователя wmctrl более понятной.

Имейте в виду, что многое зависит от используемого вами оконного менеджера. Эти инструменты совместимы с EWMH, но могут сильно отличаться в зависимости от того, как окна отображаются, скрываются, прикрепляются, перемещаются на другие рабочие столы и т. Д.

Другие вопросы по тегам