Сочетание клавиш для окна переключения (активировать / свернуть)
На основании этого ответа я могу активировать или свернуть окно: как вызвать окно 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, но могут сильно отличаться в зависимости от того, как окна отображаются, скрываются, прикрепляются, перемещаются на другие рабочие столы и т. Д.