Я часто использую xdotool
с xprop
и xev
. Они оба дают вам много информации о окнах.
Вы можете написать простой скрипт, который получает информацию об окне с помощью xprop
или xev
и реализует блок if-else, который вы написали. Это, пожалуй, самое универсальное решение, подходящее не только для задачи, которую вы описываете, но и для всего, что касается управления окнами.
Еще один замечательный инструмент для работы с вашим оконным менеджером wmctrl
. Он считает, что делает то, что вы хотите без сценариев:wmctrl -r "My window name (or id)" -b toggle,hidden
Страница man довольно краткая, я нашел эту документацию пользователя wmctrl более понятной .
Имейте в виду, что многое зависит от используемого вами оконного менеджера. Эти инструменты совместимы с EWMH, но могут сильно отличаться в зависимости от того, как окна отображаются, скрываются, прикрепляются, перемещаются на другие рабочие столы и т. Д.