En el sistema X Window , cada ventana está contenida dentro de otra ventana, llamada su padre. Esto hace que las ventanas formen una jerarquía . La ventana raíz es la raíz de esta jerarquía. Es tan grande como la pantalla y todas las demás ventanas son hijos o descendientes de ella.
Dado que cada ventana cubre la parte de su padre en la que permanece, todas las demás ventanas parecen estar por encima de la ventana raíz. Como resultado, la ventana raíz es visible como la parte de la pantalla que está detrás de todas las demás ventanas. En otras palabras, la ventana raíz forma el fondo de la pantalla. Una imagen se puede utilizar como fondo de pantalla de la pantalla configurándola como imagen de fondo de la ventana raíz. Esto se puede hacer, por ejemplo, usando los programas xsetroot
o xv .
Los hijos directos de la ventana raíz se denominan ventanas de nivel superior . Estas ventanas generalmente se dibujan con un marco decorativo y una barra de título (que en realidad son agregadas por el administrador de ventanas ). Las ventanas de nivel superior son, informalmente, las ventanas regulares en la terminología de la mayoría de las GUI . Las ventanas que no son de nivel superior se utilizan para botones, cuadros de texto, etc.
Las propiedades de la ventana raíz se utilizan a veces como una forma rudimentaria de medios de comunicación entre clientes. Por ejemplo, los búferes de corte son propiedades de la ventana raíz que se utilizan para copiar el texto seleccionado de una ventana a otra, y el administrador de ventanas dwm muestra el nombre de la ventana raíz en un área de estado. Los recursos X también se almacenan, durante la ejecución, en una propiedad de la ventana raíz.
Ventana raíz virtual
El administrador de ventanas swm introdujo la ventana raíz virtual . Desde el punto de vista del protocolo X, esta es una ventana normal. Sin embargo, los administradores de ventanas X que usan la ventana raíz virtual reparan todas las ventanas en ella en lugar de hacerlo en la ventana raíz real. Las ventanas raíz virtuales son utilizadas principalmente por los administradores de ventanas de crianza , por ejemplo, para realizar una serie de escritorios virtuales entre los que el usuario puede cambiar.
Es posible que otros clientes (además del administrador de ventanas) necesiten usar la ventana raíz virtual. El identificador de esta ventana se puede encontrar en una propiedad de ventana nombrada __SWM_VROOT
en un hijo directo de la ventana raíz real. Técnicamente, muchos programas usan las macros para encontrar las ventanas raíz como las redefinen un archivo de inclusión llamado vroot.h
.
La especificación del administrador de ventanas freedesktop requiere que una propiedad denominada _NET_VIRTUAL_ROOTS
de la ventana raíz real contenga una lista de las ventanas que actúan como ventanas raíz virtuales; la ventana raíz virtual que está actualmente activa se puede encontrar en la propiedad _NET_CURRENT_DESKTOP
de la ventana raíz real.
La ventana raíz virtual es utilizada por los administradores de ventanas swm, tvtwm , amiwm e enlightenment . Otros sistemas, como KDE, utilizan una ventana de fondo virtual (que contiene los iconos, por ejemplo) pero no vuelven a vincular las otras ventanas a esta. XScreenSaver también utiliza la ventana raíz virtual : cuando se activa el protector de pantalla, este programa crea una ventana raíz virtual, la coloca en la parte superior de todas las demás ventanas y llama a uno de sus hacks (módulos), que encuentra la ventana raíz virtual y lo dibuja.
Utilidades que usan la ventana raíz
Ver también
enlaces externos
- Sugerencias extendidas del administrador de ventanas de freedesktop.org
- toon_root.c , un archivo fuente de XPenguins que contiene información sobre las ventanas de escritorio / raíz virtual para varios administradores de ventanas