stringtranslate.com

Sugerencias extendidas para el administrador de ventanas

Extended Window Manager Hints , también conocido como NetWM , [1] es un estándar del sistema X Window para la comunicación entre administradores de ventanas y aplicaciones . Se basa en la funcionalidad del Manual de convenciones de comunicación entre clientes (ICCCM).

Estos estándares formulan protocolos para la mediación del acceso a recursos X compartidos, como la pantalla y el foco de entrada . Las aplicaciones solicitan acceso, mientras que el administrador de ventanas lo concede o lo niega. La comunicación se produce a través de propiedades X y mensajes del cliente . El EWMH es un conjunto completo de protocolos para implementar un entorno de escritorio . Define protocolos tanto obligatorios como opcionales. El administrador de ventanas puede optar por implementar escritorios virtuales o un orden de apilamiento en capas , pero si lo hace, entonces el EWMH define cómo se comunica esto.

Descripción general del protocolo

Todos los identificadores del protocolo EWMH comienzan con el prefijo de cinco letras _NET_.

Propiedades de la ventana raíz

El WM debe actualizar un conjunto de propiedades en la ventana raíz:

_NET_SUPPORTED
enumera todos los protocolos EWMH admitidos por este WM.
_NET_CLIENT_LIST
enumera todas las ventanas de aplicaciones administradas por este WM.
_NET_NUMBER_OF_ESCRITORIO
indica el número de escritorios virtuales.
_NET_DESKTOP_GEOMETRÍA
define el tamaño común de todos los escritorios.
_NET_DESKTOP_VIEWPORT
define la esquina superior izquierda de cada escritorio.
_NET_CURRENT_DESKTOP
proporciona el índice del escritorio actual.
_NET_DESKTOP_NAMES
enumera los nombres de todos los escritorios virtuales.
_NET_ACTIVE_WINDOW
da la ventana actualmente activa.
_NET_WORKAREA
contiene una geometría para cada escritorio.
_NET_SUPPORTING_WM_CHECK
da la ventana del WM activo.
_NET_VIRTUAL_ROOTS
si el WM admite ventanas raíz virtuales.
_NET_DESKTOP_LAYOUT
muestra el diseño del buscapersonas activo.
_NET_SHOWING_DESKTOP
es 1 para el modo "mostrar el escritorio".

Mensajes de clientes

Una aplicación puede enviar mensajes de cliente a un administrador de ventanas:

_NET_WM_STATE
para cambiar el estado de la ventana de una aplicación.
_NET_ACTIVE_WINDOW
para activar una ventana de aplicación.
_NET_SHOWING_DESKTOP
alterna la visualización de las ventanas de la aplicación.
_NET_CLOSE_WINDOW
para cerrar una ventana de aplicación.
_NET_WM_MOVERESIZE
para cambiar el tamaño de forma interactiva la ventana de una aplicación.
_NET_MOVERESIZE_WINDOW
para cambiar inmediatamente el tamaño de la ventana de una aplicación.
_NET_REQUEST_FRAME_EXTENTS
Consulta dimensiones del borde del marco.
_NET_WM_FULLSCREEN_MONITORS
define los monitores para una ventana de pantalla completa.

Si WM admite el apilamiento de ventanas:

_NET_RESTACK_WINDOW
solicita cambiar el orden de apilamiento de una ventana.

Si el WM admite escritorios virtuales:

_NET_CURRENT_DESKTOP
cambia el escritorio actual.
_NET_NUMBER_OF_ESCRITORIO
cambia el número de escritorios.

Un WM puede optar por ignorar estos mensajes:

_NET_DESKTOP_GEOMETRÍA
cambia la dimensión de todos los escritorios.
_NET_DESKTOP_VIEWPORT
cambia la ventana gráfica del escritorio actual.

Propiedades de ventana

El EWMH define estas propiedades de la ventana de la aplicación:

_NET_WM_NAME
el título de la ventana.
_NET_WM_VISIBLE_NAME
el título de la ventana como lo muestra el WM.
_NET_WM_ICON_NAME
el título del icono.
_NET_WM_VISIBLE_ICON_NAME
el título del icono como lo muestra el WM.
_NET_WM_DESKTOP
el escritorio en el que se encuentra la ventana.
_NET_WM_WINDOW_TYPE
el tipo funcional de la ventana.
_NET_WM_STATE
el estado actual de la ventana.
_NET_WM_ALLOWED_ACTIONS
una lista de operaciones de usuario admitidas.
_NET_WM_STRUT
si la ventana desea reservar espacio en el borde.
_NET_WM_STRUT_PARTIAL
Detalles del espacio reservado en el borde de la pantalla.
_NET_WM_ICON_GEOMETRY
la geometría de un posible icono.
_NET_WM_ICON
una serie de posibles iconos para el cliente.
_NET_WM_PID
el ID de proceso del cliente propietario de esta ventana.
_NET_WM_HANDLED_ICONS
si un buscapersonas proporciona iconos.
_NET_WM_USER_TIME
hora de la última actividad del usuario en esta ventana.
_NET_WM_USER_TIME_WINDOW
la ventana que muestra la actividad del usuario.
_NET_FRAME_EXTENTS
los tamaños de marco izquierdo, derecho, superior e inferior.
_NET_WM_OPAQUE_REGION
qué regiones de la ventana son completamente opacas.
_NET_WM_BYPASS_COMPOSITOR
solicita que la ventana no esté compuesta.

Estados de ventana

La ICCCM define sólo tres estados distintos en los que puede estar una ventana:

  1. Retirado,
  2. Normal,
  3. Icónico.

Además admite una Urgentbandera para solicitar la atención del usuario.

La EWMH define trece banderas de estado de ventana:

Protocolos adicionales

_NET_WM_PING
un WM puede usar esto para probar si un cliente está vivo.
_NET_WM_SYNC_REQUEST
para sincronizar repintados al cambiar el tamaño.
_NET_WM_FULL_PLACEMENT
el WM manejará cualquier ubicación de ventana.

Lista de administradores de ventanas que admiten sugerencias extendidas del administrador de ventanas

Administradores de ventanas dinámicas y de mosaico

Administradores de ventanas apilables

Otros administradores de ventanas

notas y referencias

  1. ^ "Net WM - Caja negra". Archivado desde el original el 1 de octubre de 2007 . Consultado el 29 de septiembre de 2007 .
  2. ^ "polachok/echinus: README - 3. Acerca de paneles y buscapersonas". GitHub . Consultado el 19 de agosto de 2022 .
  3. ^ "i3 _NET_SUPPORTED". GitHub . Consultado el 14 de febrero de 2021 .
  4. ^ "Se corrigió la configuración de propiedades _NET_SUPPORTING_WM_CHECK y _NET_SUPPORTED". GitHub . Consultado el 19 de agosto de 2022 .
  5. ^ "¿Qué es sutil?" . Consultado el 19 de agosto de 2022 .
  6. ^ "BurntSushi/wingo: CUMPLIMIENTO - EWMH". GitHub . Consultado el 19 de agosto de 2022 .
  7. ^ "CUMPLIMIENTO de Blackbox". GitHub . Consultado el 15 de febrero de 2021 .
  8. ^ "cambios en ctwm 4.0.0".
  9. ^ "Soporte Fluxbox EWMH". Archivado desde el original el 19 de agosto de 2009 . Consultado el 9 de septiembre de 2009 .
  10. ^ "Compatibilidad ampliada con sugerencias del administrador de ventanas para FVWM".
  11. ^ "FVWM - Características".
  12. ^ "CUMPLIMIENTO de IceWM". GitHub . Consultado el 28 de diciembre de 2020 .
  13. ^ "joewing.net | Soporte de JWM EWMH" . Consultado el 15 de febrero de 2021 .
  14. ^ "CUMPLIMIENTO de Metacity" . Consultado el 15 de febrero de 2021 .
  15. ^ "CUMPLIMIENTO de Openbox". GitHub . Consultado el 15 de febrero de 2021 .
  16. ^ estándares xfwm4

enlaces externos