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

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

1 ответ1

3

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .