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

1285
Garrett Stewart

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

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

0

1 ответ на вопрос

1
Garrett Stewart

Well, I did a bit of digging, it looks like you can grab the state of the fullscreen toggle using xprop pretty easily. Prior to executing wmctrl -r '$title' -b toggle,fullscreen the output of xprop -name '$title' has the variable _NET_WM_STATE(ATOM) = undefined. After executing, that variable reads as follows: _NET_WM_STATE(ATOM) = _NET_WM_STATE_FULLSCREEN

Using this I can easily detect whether or not the window is already fullscreen so I don't have to guess.

Похожие вопросы