Определить статус полноэкранного окна в Linux?

В общем, я пытаюсь написать сторожевой скрипт, который сравнивает заголовки окон со списком, хранящимся в файле. Если окно полноэкранное, скрипт не должен ничего делать и двигаться дальше. Если окно НЕ полноэкранное, скрипт должен вызвать wmctrl -r '$title' -b toggle,fullscreen Я просматривал справочные страницы wmctrl, и, кажется, нет надежного способа определить, действительно ли окно полноэкранное (например, я мог бы вызвать wmctrl -l -G но если я проверю текущее разрешение экрана, которое не гарантирует полноэкранный флаг, был установлен, просто размер окна соответствует полному разрешению экрана)

Есть ли достойный способ выполнить эту условную проверку?

1 ответ

Решение

Ну, я немного покопался, похоже, что вы можете получить состояние полноэкранного переключения, используя xprop довольно легко До выполнения wmctrl -r '$title' -b toggle,fullscreen выход xprop -name '$title' имеет переменную _NET_WM_STATE(ATOM) = не определено. После выполнения эта переменная выглядит следующим образом:_NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN

Используя это, я легко могу определить, является ли окно уже полноэкранным, поэтому мне не нужно догадываться.

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