Extended Window Manager Hints , también conocido como NetWM , [1] es un estándar del sistema X Window para la comunicación entre los administradores de ventanas y las 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 las propiedades X y los mensajes del cliente . El EWMH es un conjunto completo de protocolos para implementar un entorno de escritorio . Define protocolos obligatorios y opcionales. El administrador de ventanas puede optar por implementar escritorios virtuales o un orden de apilamiento en capas , pero si lo hace, el EWMH define cómo se comunica.
Descripción general del protocolo Todos los identificadores de 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 compatibles con este WM. _NET_CLIENT_LIST enumera todas las ventanas de aplicaciones administradas por este WM. _NET_NUMBER_OF_DESKTOPS indica la cantidad de escritorios virtuales. _NET_DESKTOP_GEOMETRY define el tamaño común de todos los escritorios. _NET_DESKTOP_VIEWPORT define la esquina superior izquierda de cada escritorio. _NET_CURRENT_DESKTOP da 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 "mostrar el modo de 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 la ventana de una aplicación. _NET_WM_MOVERESIZE para cambiar el tamaño de la ventana de una aplicación de forma interactiva. _NET_MOVERESIZE_WINDOW para cambiar el tamaño de la ventana de una aplicación inmediatamente. _NET_REQUEST_FRAME_EXTENTS consulta las dimensiones del borde del marco. _NET_WM_FULLSCREEN_MONITORS define los monitores para una ventana de pantalla completa. Si el WM admite el apilamiento de ventanas:
_NET_RESTACK_WINDOW pide cambiar el orden de apilamiento de una ventana. Si el WM admite escritorios virtuales:
_NET_CURRENT_DESKTOP cambia el escritorio actual. _NET_NUMBER_OF_DESKTOPS cambia el número de escritorios. Un WM puede optar por ignorar estos mensajes:
_NET_DESKTOP_GEOMETRY cambia la dimensión de todos los escritorios. _NET_DESKTOP_VIEWPORT cambia la ventana gráfica del escritorio actual. Propiedades de la ventana La EWMH define estas propiedades de la ventana de 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 que posee 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 El ICCCM define solo tres estados distintos en los que puede estar una ventana:
Retirado, Normal, Icónico. Además soporta una Urgent
bandera para solicitar la atención del usuario.
El EWMH define trece banderas de estado de ventana:
Arriba: muestra la ventana encima de otras, Abajo: muestra la ventana debajo de otras, DemandsAttention: igual que la bandera urgente, Enfocado: la ventana tiene un enfoque de entrada, Pantalla completa: muestra la ventana a pantalla completa, Oculto: la ventana no está asignada, MaximizedHorizontal: la ventana se estira horizontalmente, MaximizedVertical: la ventana se estira verticalmente, Modal: la ventana es una ventana emergente modal, Sombreado: la ventana está enrollada, SkipPager: la ventana no debe mostrarse en un buscapersonas, SkipTaskbar: la ventana debe ser ignorada por una barra de tareas, Sticky: la ventana debería mostrarse en todos los escritorios virtuales. 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 se encargará de la colocación de cualquier ventana. Lista de administradores de ventanas que admiten sugerencias de administrador de ventanas extendidas Gestores de ventanas dinámicos y en mosaico Gestores de ventanas apilables Otros gestores de ventanas Iluminación (E16 y E17) malvado interfazwm cajita de cerillas Pez sierra (no completamente) wmfs Xfwm [12] notas y referencias ^ "Net WM - Caja negra" . Archivado desde el original el 1 de octubre de 2007 . Consultado el 29 de septiembre de 2007 . ^ "i3 _NET_SUPPORTED" . Consultado el 14 de febrero de 2021 . ^ "CUMPLIMIENTO Blackbox" . Consultado el 15 de febrero de 2021 . ^ "cambios de ctwm 4.0.0" . ^ "Soporte de Fluxbox EWMH" . Consultado el 9 de septiembre de 2009 . ^ "Soporte extendido de sugerencias de administrador de ventanas para FVWM" . ^ "FVWM - Características" . ^ "CUMPLIMIENTO DE IceWM" . Consultado el 28 de diciembre de 2020 . ^ "joewing.net | Soporte JWM EWMH" . Consultado el 15 de febrero de 2021 . ^ "CUMPLIMIENTO DE Metacity" . Consultado el 15 de febrero de 2021 . ^ "CUMPLIMIENTO DE Openbox" . Consultado el 15 de febrero de 2021 . ^ estándares xfwm4 enlaces externos Página web oficial Proyecto de especificación del administrador de ventanas en freedesktop.org Soporte extendido de sugerencias del administrador de ventanas para FVWM Protocolo central Selección de ventana X Autorización de X Window Nombres de colores X11 Método de entrada X Wayland
Extensión de imagen X Extensión de teclado X RandR Extensión de renderizado X Extensión de forma Extensión de memoria compartida Protocolo de control de X Display Manager Extensión de video X Compensación de movimiento X-Video AIGLX GLX Multi-puntero X Mostrar PostScript Compuesto Xinerama
Servidor X.Org Cygwin / X X-Win32 X386 XFree86 XDarwin Xming Xsgi Xsun Xgl Xephyr XQuartz XWayland Xlib XCB Intrínsecos de X Toolkit GDM KDM SDDM XDM LightDM LXDM Delgado Entrada WDM
Compiz KWin Metaciudad Murmurar Xfwm Iluminación AfterStep amiwm Caja negra cwm Fluxbox FVWM IceWM JWM Cajita de cerillas mwm Abrir caja Pez sierra twm Creador de ventanas increíble dwm i3 Ion veneno para ratas wmii xmonad StumpWM larswm
ICCCM EWMH XDS freedesktop.org xcalc xclock xeditar xload xterm xojos Entornos de escritorio (comparación)