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

Определить полноэкранный статус окна в 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) =undefined. После выполнения эта переменная читается следующим образом: _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN

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

Связанный контент