IT-словарь › Программирование › _NET_WM_STATE

_NET_WM_STATE

Программирование Svenska → Обновлено: 2026-10-20

Свойство EWMH со списком состояний окна, от «развёрнуто» и «полный экран» до «всегда сверху», и способ, которым программа просит их изменить.

По ICCCM у окна было по сути два состояния — обычное и свёрнутое в значок, — записанные в WM_STATE. Всё остальное, что изобрели оконные менеджеры 1990-х (разворачивание, сворачивание в заголовок, «липкие» окна), было личным делом менеджера и невидимо другим программам. EWMH исправил это списком: свойство _NET_WM_STATE на окне содержит ноль или больше атомов, например _NET_WM_STATE_MAXIMIZED_VERT, _FULLSCREEN, _STICKY, _SHADED, _ABOVE, _BELOW, _HIDDEN, _SKIP_TASKBAR и _DEMANDS_ATTENTION. Список ведёт оконный менеджер, так что панель задач может его прочитать и показать нужное.

После отображения окна программа не вправе писать в список напрямую. Вместо этого она шлёт ClientMessage корневому окну с двумя атомами и действием: 0 — убрать, 1 — добавить, 2 — переключить. Так видеоплеер просит полный экран, а терминал — остаться сверху, но решает менеджер. Два атома нужны ради разворачивания: иначе это были бы два шага с заметным рывком. До отображения программа может выставить свойство сама как запрос начального состояния.

← Назад к словарю