Léxico TI › Programación › WM_CLIENT_LEADER

WM_CLIENT_LEADER

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

La propiedad de ICCCM que señala la ventana líder de un programa, la única que lleva el identificador de sesión, para que un gestor de sesiones sepa qué ventanas pertenecen al mismo programa.

Un programa puede tener cinco ventanas de primer nivel, pero un gestor de sesiones quiere un comando por programa, no por ventana. ICCCM 2.0 lo resolvió en 1994, en la misma tanda que XSMP: cada cliente nombra una ventana líder, preferiblemente una invisible que nunca se mapea, fija en ella SM_CLIENT_ID con el identificador que repartió el gestor de sesiones, y pone WM_CLIENT_LEADER en cada una de sus ventanas de primer nivel, la líder incluida, con el identificador de la líder. El camino de una ventana al comando de reinicio correcto son así dos consultas. Para que el gestor de ventanas pueda devolver cada ventana a su sitio tras un reinicio, cada ventana recibió además WM_WINDOW_ROLE, una cadena que distingue la ventana principal del diálogo de preferencias.

GTK y Qt hacen todo esto sin que el programador lo note: GDK crea una ventana líder invisible por display que también lleva WM_CLASS, y xprop sobre casi cualquier ventana GTK muestra WM_CLIENT_LEADER(WINDOW): window id # 0x…. Los gestores de ventanas reutilizaron la propiedad como marca de grupo: KWin reúne en la barra de tareas las ventanas con la misma líder, junto al grupo más antiguo de WM_HINTS. La parte de sesión se usa poco, porque pocos programas responden con sentido a SaveYourself, así que la propiedad vive sobre todo su segunda vida. Wayland sustituyó ambas por app_id, una cadena por ventana de primer nivel, sin identificador de sesión.

← Volver al léxico