Articulo de referencia

gestor de ventanas

Capas de la interfaz gráfica de usuario: En X, el gestor de ventanas y el servidor de visualización son dos programas distintos; pero en Wayland, la función de ambos la gestiona...

Capas de la interfaz gráfica de usuario: En X, el gestor de ventanas y el servidor de visualización son dos programas distintos; pero en Wayland, la función de ambos la gestiona el compositor de Wayland.
Elementos típicos de una ventana . La decoración de la ventana la dibuja el gestor de ventanas o el cliente. El dibujo del contenido es tarea del cliente.
En X11, cuando no se ejecuta ningún gestor de ventanas, faltan las decoraciones de las ventanas.

Un gestor de ventanas es un software de sistema que controla la ubicación y apariencia de las ventanas dentro de un sistema de ventanas en una interfaz gráfica de usuario . [ 1 ] La mayoría de los gestores de ventanas están diseñados para ayudar a proporcionar un entorno de escritorio . Funcionan en conjunto con el sistema gráfico subyacente que proporciona la funcionalidad requerida (compatibilidad con hardware gráfico, dispositivos señaladores y teclado) y a menudo se escriben y crean utilizando un conjunto de herramientas de widgets .

Pocos gestores de ventanas están diseñados con una clara distinción entre el sistema de ventanas y el gestor de ventanas. Toda interfaz gráfica de usuario basada en una metáfora de ventanas tiene alguna forma de gestión de ventanas. En la práctica, los elementos de esta funcionalidad varían enormemente. [ 2 ] Los elementos generalmente asociados con los gestores de ventanas permiten al usuario abrir, cerrar, minimizar, maximizar, mover, redimensionar y realizar un seguimiento de las ventanas en ejecución, incluidos los decoradores de ventanas . Muchos gestores de ventanas también vienen con varias utilidades y características como barras de tareas , lanzadores de programas, docks para facilitar la división de ventanas en la pantalla, espacios de trabajo para agrupar ventanas, iconos de escritorio , fondo de pantalla, la capacidad de mantener ventanas seleccionadas en primer plano, la capacidad de "enrollar" ventanas para mostrar solo sus barras de título, para organizar ventanas en cascada, para apilar ventanas en una cuadrícula, para agrupar ventanas del mismo programa en la barra de tareas para ahorrar espacio y barras de tareas opcionales de varias filas. [ 3 ] [ 4 ] [ 5 ] [ 6 ]

Historia

En 1973, el Xerox Alto se convirtió en el primer ordenador en comercializarse con una interfaz gráfica de usuario (GUI) WIMP funcional . Utilizaba un gestor de ventanas apilables que permitía superponer ventanas. [ 7 ] Sin embargo, esto estaba tan adelantado a su tiempo que su paradigma de diseño no se adoptaría ampliamente hasta más de una década después. Si bien no está claro si Microsoft Windows contiene diseños copiados del clásico Mac OS de Apple , es evidente que ninguno de los dos fue el primero en producir una GUI que utilizara ventanas apilables. A principios de la década de 1980, el Xerox Star , sucesor del Alto, utilizaba mosaicos para la mayoría de las ventanas de las aplicaciones principales y la superposición solo para los cuadros de diálogo, eliminando así la mayor parte de la necesidad de apilamiento. [ 8 ]

El Mac OS clásico fue uno de los primeros ejemplos de éxito comercial de una interfaz gráfica de usuario (GUI) que utilizaba una especie de gestión de ventanas apiladas mediante QuickDraw . Su sucesor, macOS , utiliza un gestor de ventanas algo más avanzado que admite la composición desde Mac OS X 10.0 y se actualizó en Mac OS X 10.2 para admitir la composición acelerada por hardware mediante Quartz Compositor . [ 9 ]

GEM 1.1 , de Digital Research , era un entorno operativo que incluía un gestor de ventanas apilables, lo que permitía que todas las ventanas se superpusieran. Se lanzó a principios de la década de 1980. [ 10 ] GEM es famoso por haber sido la interfaz gráfica de usuario (GUI) principal del Atari ST , que ejecutaba Atari TOS , y también fue una GUI popular para MS-DOS antes de la popularización de Microsoft Windows. Como resultado de una demanda de Apple , Digital Research se vio obligada a eliminar la capacidad de apilamiento en GEM 2.0, convirtiendo su gestor de ventanas en un gestor de ventanas en mosaico. [ 11 ]

A mediados de la década de 1980, Amiga OS incluía un ejemplo temprano de un gestor de ventanas con composición llamado Intuition (una de las bibliotecas de bajo nivel de AmigaOS, presente en las ROM del sistema Amiga ), capaz de reconocer qué ventanas o partes de ellas estaban cubiertas y cuáles estaban en primer plano y completamente visibles, de modo que podía dibujar solo las partes de la pantalla que requerían actualización. Además, Intuition admitía la composición. Las aplicaciones podían solicitar primero una región de memoria fuera de la región de visualización actual para usarla como mapa de bits. El sistema de ventanas de Amiga utilizaba entonces una serie de transferencias de bits mediante el blitter de hardware del sistema para construir una composición de los mapas de bits de estas aplicaciones, junto con botones y controles deslizantes, en la memoria de visualización, sin que estas aplicaciones tuvieran que volver a dibujar ninguno de sus mapas de bits.

En 1988, Presentation Manager se convirtió en el intérprete de comandos predeterminado en OS/2 , que, en su primera versión, solo utilizaba una interfaz de línea de comandos (CLI). IBM y Microsoft diseñaron OS/2 como sucesor de DOS y Windows para DOS. Sin embargo, tras el éxito de Windows 3.10, Microsoft abandonó el proyecto en favor de Windows. Posteriormente, el proyecto de Microsoft para una futura versión 3 de OS/2 se convirtió en Windows NT , e IBM rediseñó por completo el intérprete de comandos de OS/2, sustituyendo Presentation Manager de OS/2 1.x por Workplace Shell orientado a objetos , que debutó en OS/2 2.0. [ 12 ]

Ejemplos

gestores de ventanas X

En los sistemas que utilizan el Sistema de Ventanas X , existe una clara distinción entre el gestor de ventanas y el sistema de ventanas . Estrictamente hablando, un gestor de ventanas X no interactúa directamente con el hardware de vídeo, los ratones ni los teclados; esa es responsabilidad del servidor de visualización .

Un entorno de escritorio suele integrar un gestor de ventanas predeterminado: por ejemplo, GNOME 2 usa Metacity , mientras que KDE Plasma Workspaces usa KWin . Sin embargo, el diseño modular del Sistema de Ventanas X permite al usuario cambiar a un gestor de ventanas diferente: por ejemplo, Compiz (un gestor de composición 3D ) puede usarse si se desean efectos 3D, mientras que Sawfish y awesome ofrecen un control de ventanas más preciso. Incluso se pueden combinar algunos componentes de diferentes gestores de ventanas; por ejemplo, las decoraciones de ventana de KWin se pueden usar con los componentes de escritorio y dock de GNOME.

Los gestores de ventanas X también tienen la capacidad de reasignar aplicaciones, lo que significa que, si bien inicialmente todas las aplicaciones son adoptadas por la ventana raíz (que abarca prácticamente toda la pantalla), una aplicación iniciada dentro de la ventana raíz puede ser adoptada por (es decir, colocada dentro de) otra ventana. Los gestores de ventanas del sistema X adoptan las aplicaciones de la ventana raíz y las reasignan para aplicar decoraciones de ventana (por ejemplo, agregar una barra de título). Esta reasignación también puede usarse para agregar el contenido de una ventana a otra. Por ejemplo, una aplicación de Flash Player puede reasignarse a una ventana del navegador y aparecer ante el usuario como si formara parte de ese programa. Por lo tanto, los gestores de ventanas con reasignación pueden organizar uno o más programas dentro de la misma ventana y combinar fácilmente la disposición en mosaico y el apilamiento de diversas maneras.

Microsoft Windows

Microsoft Windows ha proporcionado un administrador de ventanas apilables integrado desde Windows 2.0 ; Windows Vista introdujo el Administrador de ventanas de escritorio compuesto (dwm.exe) como una alternativa opcional acelerada por hardware. En Windows, dado que GDI es parte del núcleo, [ 13 ] la función del administrador de ventanas está estrechamente acoplada con los subsistemas gráficos del núcleo y es en gran medida irremplazable, aunque se pueden usar utilidades de terceros para simular un administrador de ventanas en mosaico sobre dichos sistemas. La administración de ventanas en Windows también se puede mejorar con herramientas de terceros como WindowBlinds y Resource Hacker . Desde Windows 8 , el Administrador de ventanas de escritorio basado en Direct3D ya no se puede deshabilitar. [ 14 ] Solo se puede reiniciar con la combinación de teclas Ctrl+Mayús+Win+B. [ 15 ]

El Explorador de Windows (explorer.exe) se utiliza de forma predeterminada como entorno de escritorio en los sistemas Windows modernos para proporcionar una barra de tareas y un administrador de archivos, junto con muchas funciones de un administrador de ventanas; algunos aspectos de Windows se pueden modificar mediante las utilidades de configuración proporcionadas, modificando el Registro de Windows o con herramientas de terceros, como WindowBlinds o Resource Hacker .

También se puede proporcionar un servidor X Windows completo para Microsoft Windows, que permite el uso de gestores de ventanas adaptados del mundo Unix, a través de Cygwin/X, incluso en modo multiventana (y mediante otras implementaciones del Sistema X Window). De este modo, es posible, por ejemplo, ejecutar programas cliente del Sistema X Window en el mismo entorno Cygwin de la misma máquina, o en un sistema Linux, BSD Unix, etc., a través de la red, mostrando y utilizando únicamente su interfaz gráfica sobre el entorno de Microsoft Windows.

Cabe señalar que Microsoft y el Sistema X Window utilizan términos diferentes para describir conceptos similares. Por ejemplo, Microsoft rara vez menciona el término « gestor de ventanas» porque está integrado, es insustituible y distinto del shell . [ 16 ] El Shell de Windows es análogo al concepto de entorno de escritorio en otros sistemas de interfaz gráfica de usuario.

ChromeOS

Desde 2021, ChromeOS se distribuye con su propio gestor de ventanas llamado Ash. [ 17 ] Chromium y Ash comparten una base de código común . [ 17 ] En el pasado, se podía ejecutar usando google-chrome --open-ashen cualquier sistema compatible.

Tipos

Los gestores de ventanas suelen dividirse en tres o más clases, que describen cómo se dibujan y actualizan las ventanas.

Gestores de ventanas de composición

Los gestores de ventanas de composición permiten crear y dibujar todas las ventanas por separado, para luego combinarlas y visualizarlas en diversos entornos 2D y 3D. Los gestores de ventanas de composición más avanzados ofrecen una gran variedad en la apariencia de la interfaz y permiten la presencia de efectos visuales 2D y 3D avanzados.

Administradores de ventanas apiladas

Todos los gestores de ventanas que tienen ventanas superpuestas y no son gestores de ventanas de composición son gestores de ventanas de apilamiento , aunque es posible que no todos utilicen los mismos métodos. Los gestores de ventanas de apilamiento permiten que las ventanas se superpongan dibujando primero las ventanas de fondo, lo que se conoce como algoritmo del pintor . A veces, los cambios requieren que todas las ventanas se vuelvan a apilar o a dibujar, lo que generalmente implica redibujar cada ventana. Sin embargo, para traer una ventana de fondo al frente, normalmente solo se requiere redibujar una ventana, ya que las ventanas de fondo pueden tener partes de otras ventanas pintadas encima, borrando efectivamente las áreas cubiertas.

Administrador de ventanas de azulejos

Los gestores de ventanas en mosaico muestran todas las ventanas en pantalla colocándolas una al lado de la otra o una encima de la otra, de modo que ninguna ventana cubra a otra. Microsoft Windows 1.0 utilizaba esta técnica, y existen varios gestores de ventanas en mosaico para X , como i3 , awesome y dwm .

gestor de ventanas dinámico

Los gestores de ventanas dinámicos pueden alternar dinámicamente entre el diseño de ventanas en mosaico o flotantes. Existe una variedad de gestores de ventanas dinámicos disponibles para X.

Características y facilidades de los gestores de ventanas

Ocultar automáticamente
Una función de ocultación automática permite que las barras de menú desaparezcan cuando el puntero se aleja del borde de la pantalla.
Fronteras
Un borde es un componente de decoración de ventana proporcionado por algunos gestores de ventanas, que aparece alrededor de la ventana activa . Algunos gestores de ventanas también pueden mostrar un borde alrededor de las ventanas en segundo plano .
Menú contextual
Algunos gestores de ventanas proporcionan un menú contextual que aparece cuando se aplica un evento de clic alternativo a un componente del escritorio.
Ejemplo de menú contextual
Ejemplo de menú contextual
Fondo de pantalla para escritorio
Algunos gestores de ventanas ofrecen una función de fondo de escritorio que muestra una imagen de fondo en la ventana principal .
Robo de atención
El robo de foco es una función que ofrecen algunos gestores de ventanas. Permite que una aplicación que no está en primer plano obtenga repentinamente el foco y robe la entrada del usuario destinada a la aplicación que estaba en primer plano.
Iconificación
La función de minimización permite a los usuarios reducir las aplicaciones en ejecución a un icono en el escritorio o en el panel de tareas .
Ventanas unidas
Algunos gestores de ventanas ofrecen una función para combinar ventanas que permite al usuario unir marcos de ventanas de aplicaciones.
Equivalentes de teclado
Algunos gestores de ventanas proporcionan teclas equivalentes que permiten que el teclado replique la funcionalidad del ratón .
Barra de menú
Una barra de menú permite iniciar programas a través de un menú y puede contener funciones adicionales, como un botón de inicio , una barra de tareas y una bandeja del sistema .
Panel de menú
Un panel de menú es un componente de algunos gestores de ventanas que permite iniciar programas mediante un menú. Un panel de menú es similar a una barra de menú , pero aparece como un panel flotante , en lugar de una barra horizontal o vertical.
El panel de menú puede contener funciones adicionales, como un botón de inicio , un panel de tareas y una bandeja del sistema .
Enfoque del ratón
El modelo de enfoque del ratón determina cómo el dispositivo señalador afecta al foco de entrada dentro del gestor de ventanas. Este modelo determina qué componente de la interfaz gráfica de usuario está seleccionado para recibir la entrada a medida que el puntero se mueve por la pantalla.
Distorsión del ratón
La función de alineación del ratón centra el puntero en la aplicación actual al activarse.
Varios ordenadores de sobremesa
Un gestor de ventanas puede ofrecer la posibilidad de usar varios escritorios . Esto permite alternar entre diferentes escritorios de la ventana principal , evitando así que esta se sature , ya que las aplicaciones pueden ejecutarse en distintos escritorios .
Buscapersonas
Algunos gestores de ventanas ofrecen una herramienta de paginación que permite alternar entre varios escritorios . Esta herramienta puede aparecer como una ventana en pantalla o como un gadget en la barra de tareas o el panel de tareas .
Plugins
Algunos gestores de ventanas tienen una estructura modular que permite añadir módulos para proporcionar las funcionalidades necesarias.
Rollup
Una función de enrollado permite que las ventanas aparezcan simplemente como una barra de título en el escritorio.
Menú raíz
Algunos gestores de ventanas proporcionan un menú raíz , que aparece cuando se toca la ventana raíz o el fondo de escritorio .
Atajos
Algunos gestores de ventanas ofrecen una función de acceso directo que permite a los usuarios colocar iconos en la ventana raíz para acceder a programas o funciones específicas.
Ventanas con pestañas
Algunos gestores de ventanas ofrecen una función de ventanas con pestañas que agrupa las aplicaciones en marcos comunes.
Cambio de tareas
El gestor de ventanas puede proporcionar varias funciones de cambio de tareas que permiten al usuario cambiar la aplicación actualmente activa, entre ellas:
barra de tareas
Algunos gestores de ventanas incluyen una barra de tareas que muestra las aplicaciones en ejecución. Esta barra puede mostrar todas las aplicaciones activas, incluso las minimizadas , y permite alternar el foco entre ellas. En algunos gestores de ventanas, la barra de tareas puede estar integrada en la barra de menú .
Panel de tareas
Un panel de tareas es similar a una barra de tareas , pero aparece como un panel flotante , en lugar de una barra horizontal o vertical.
Botón de inicio
El botón de inicio es un widget de escritorio que ofrece un menú con los programas que se pueden ejecutar. Normalmente, el botón de inicio se ubica en la barra de menú en la parte inferior de la pantalla.
Área de notificación
El área de notificación se utiliza para mostrar iconos de funciones del sistema y de los programas que no tienen ventana en el escritorio . Contiene principalmente iconos que indican información de estado y notificaciones, como la llegada de un nuevo mensaje de correo electrónico. Algunos sistemas también pueden mostrar un reloj en el área de notificación .
Barras de título
La barra de título es un elemento decorativo que algunos gestores de ventanas proporcionan en la parte superior de cada ventana. Normalmente, se utiliza para mostrar el nombre de la aplicación o del documento abierto, y puede incluir botones para minimizar, maximizar, cerrar o contraer las ventanas de la aplicación.
Botones de la barra de título
Los botones de la barra de título se incluyen en la barra de título de algunos gestores de ventanas y permiten minimizar, maximizar, contraer o cerrar las ventanas de las aplicaciones. Algunos gestores de ventanas pueden mostrar los botones de la barra de título en la barra de tareas o en el panel de tareas , en lugar de en la barra de título .
Escritorio virtual
Un escritorio virtual (también llamado escritorio desplazable) es una función que ofrecen algunos gestores de ventanas que permite que el escritorio sea más grande que la pantalla real.

Navegación de ventanas

Una ventana activa es la ventana que tiene el foco en el gestor de ventanas actual. Los distintos gestores de ventanas indican la ventana activa de diferentes maneras y permiten al usuario alternar entre ellas de distintas formas. Por ejemplo, en Microsoft Windows, si tanto el Bloc de notas como Microsoft Paint están abiertos, al hacer clic en la ventana del Bloc de notas , esta se activará. En Windows, la ventana activa se indica mediante una barra de título de color diferente. Sin embargo, hacer clic no es la única forma de seleccionar una ventana activa: algunos gestores de ventanas (como FVWM ) activan la ventana que se encuentra bajo el puntero del ratón; basta con mover el ratón para cambiar de ventana, sin necesidad de hacer clic.

Los gestores de ventanas suelen ofrecer la opción de seleccionar la ventana activa mediante el teclado, en lugar del ratón. Una combinación de teclas común es Alt+Tab , utilizada por Windows y KDE (por defecto, aunque es configurable por el usuario); otra es la combinación de teclas Apple + tilde, utilizada por Macintosh. Al pulsar la combinación de teclas adecuada, normalmente se recorren todas las ventanas visibles en un orden determinado, aunque también son posibles otras acciones.

Muchos gestores de ventanas, aunque no todos, proporcionan una zona de la pantalla con algún tipo de control visual (generalmente un botón) para cada ventana. Cada botón suele mostrar el título de la ventana y, a veces, también un icono. Esta zona de la pantalla suele indicar visualmente qué ventana está activa; por ejemplo, el botón de la ventana activa puede aparecer pulsado. También es posible cambiar de ventana haciendo clic en el botón correspondiente. En Microsoft Windows, esta zona de la pantalla se denomina barra de tareas ; en los sistemas Apple Macintosh, se denomina dock.

La ventana activa no siempre se encuentra delante de las demás ventanas en la pantalla. La ventana activa es simplemente aquella a la que se envían las teclas pulsadas en el teclado; puede quedar oculta visualmente por otras ventanas. Esto ocurre especialmente en los gestores de ventanas que no requieren un clic para cambiar de ventana activa: FVWM , por ejemplo, activa la ventana bajo el cursor del ratón, pero no cambia su orden Z (el orden en que aparecen las ventanas, medido desde el fondo hasta el primer plano). En su lugar, es necesario hacer clic en el borde de la ventana para traerla al primer plano. También existen situaciones en gestores de ventanas que requieren hacer clic para enfocar, como Microsoft Windows, donde la ventana activa puede quedar oculta; sin embargo, esto es mucho menos frecuente.

Véase también

Referencias

  1. "Administrador de ventanas" . Dictionary.com . Archivado del original el 11 de marzo de 2016.
  2. "Definición de gestor de ventanas de la enciclopedia de PC Magazine" . www.pcmag.com .
  3. Shultz, Greg (24 de mayo de 2006). "Activar/desactivar la función de agrupación de la barra de tareas de Windows XP" . TechRepublic . Archivado del original el 7 de enero de 2022. Consultado el 7 de enero de 2022 .
  4. Kaufman, Lori (10 de febrero de 2012). "Cómo enrollar una ventana en su barra de título en Linux Mint 12" . How-To Geek . Consultado el 7 de enero de 2022 .
  5. Kirk, David (12 de octubre de 2003). "XP y Vista: Ventanas en mosaico, en cascada o minimizadas" . Tech-Recipes: Un libro de cocina lleno de tutoriales tecnológicos . Recuperado el 12 de septiembre de 2025 .
  6. Newell, Gary (24 de julio de 2020). "Cómo usar espacios de trabajo virtuales al estilo Linux en Windows 10" . Lifewire . Consultado el 7 de enero de 2022 .
  7. Lineback, Nathan. "El Xerox Alto" . toastytech.com .
  8. Lineback, Nathan. "La estrella de Xerox" . toastytech.com .
  9. ^ Siracusa, John (28 de abril de 2005). "Mac OS X 10.4: Cuarzo" . Ars Técnica . Archivado desde el original el 1 de septiembre de 2017.
  10. Lineback, Nathan. "Capturas de pantalla de GEM 1.1" . Toastytech.com . Archivado del original el 25/12/2019 . Consultado el 01/08/2016 .
  11. Lineback, Nathan. "Capturas de pantalla de GEM 2.0" . Toastytech.com . Archivado del original el 22 de agosto de 2019. Consultado el 1 de agosto de 2016 .
  12. "Historia de OS/2" . Archivado del original el 13 de febrero de 1998.
  13. Pleas, Keith (abril de 1996). "Windows NT 4.0" . Windows IT Pro . Archivado del original el 10 de marzo de 2007. Recuperado el 17 de mayo de 2019 .
  14. "El administrador de ventanas de escritorio siempre está activado - Aplicaciones Win32" . docs.microsoft.com
  15. Solución de problemas de pantallas negras o en blanco en Windows 10
  16. "Sí, hay un nuevo gestor de ventanas de escritorio, pero no, no sé más sobre él que tú" . The Old New Thing . 26 de octubre de 2009. Consultado el 6 de octubre de 2021 .
  17. 1 2 "ash - chromium/src - Git en Google" . chromium.googlesource.com . Consultado el 6 de octubre de 2021 .