Léxico TI › Programación › _NET_WM_STATE

_NET_WM_STATE

Programación Svenska → Actualizado: 2026-10-08

La propiedad EWMH que enumera los estados de una ventana, de maximizada y pantalla completa a "siempre encima", y la forma en que un programa pide cambiarlos.

Bajo ICCCM una ventana tenía en esencia dos estados, normal e iconificada, registrados en WM_STATE. Todo lo demás que inventaron los gestores de ventanas de los noventa, maximizar, enrollar, ventanas pegajosas, era privado e invisible para los otros programas. EWMH lo resolvió con una lista: la propiedad _NET_WM_STATE de la ventana contiene cero o más átomos como _NET_WM_STATE_MAXIMIZED_VERT, _MAXIMIZED_HORZ, _FULLSCREEN, _STICKY, _SHADED, _ABOVE, _BELOW, _HIDDEN, _SKIP_TASKBAR, _SKIP_PAGER y _DEMANDS_ATTENTION. El gestor de ventanas es dueño de la lista y la mantiene al día, de modo que una barra de tareas puede leerla y mostrar lo correcto.

Un programa no puede escribir en la lista directamente una vez mapeada la ventana. En su lugar envía un ClientMessage a la ventana raíz con hasta dos átomos y una acción: 0 para quitar, 1 para añadir, 2 para alternar. Así pide pantalla completa un reproductor de vídeo y así pide un terminal quedarse encima, y el gestor de ventanas decide si ocurre. Que quepan dos átomos en una misma petición se debe a la maximización, que de otro modo serían dos pasos con un tirón visible entre medias. Antes del mapeo, en cambio, el programa sí puede fijar la propiedad por sí mismo, como petición de estado inicial.

← Volver al léxico