Léxico de TI › Programação › _NET_WM_STATE

_NET_WM_STATE

Programação Svenska → Atualizado: 2026-10-08

A propriedade do EWMH que lista os estados de uma janela, de maximizada e tela cheia a "sempre no topo", e o meio pelo qual um programa pede que mudem.

No ICCCM, uma janela tinha essencialmente dois estados, normal e iconificada, registrados em WM_STATE. Tudo o mais que os gerenciadores de janelas dos anos 1990 inventaram, como maximizar, enrolar e fixar janelas, era privado e invisível para os outros programas. O EWMH resolveu isso com uma lista: a propriedade _NET_WM_STATE da janela guarda zero ou mais atoms, como _NET_WM_STATE_MAXIMIZED_VERT, _MAXIMIZED_HORZ, _FULLSCREEN, _STICKY, _SHADED, _ABOVE, _BELOW, _HIDDEN, _SKIP_TASKBAR, _SKIP_PAGER e _DEMANDS_ATTENTION. O gerenciador de janelas é dono da lista e a mantém atualizada, de modo que uma barra de tarefas pode lê-la e mostrar a coisa certa.

Depois que a janela é mapeada, o programa não pode escrever direto na lista. Em vez disso, envia à janela raiz uma ClientMessage com até dois atoms e uma ação: 0 para remover, 1 para adicionar, 2 para alternar. É assim que um player de vídeo pede tela cheia e um terminal pede para ficar no topo, e o gerenciador decide se acontece. Cabem dois atoms em um só pedido por causa da maximização, que de outro modo seriam dois passos com um solavanco visível no meio. Antes do mapeamento, o programa pode definir a propriedade ele mesmo, como pedido de estado inicial.

← Voltar ao léxico