stringtranslate.com

Gestor de ventanas

Capas de la interfaz gráfica de usuario:
En X, el administrador de ventanas y el servidor de visualización son dos programas distintos; pero en Wayland, la función de ambos la maneja el compositor Wayland.
Elementos típicos de una ventana . La decoración de la ventana la dibuja el encargado de la ventana o el cliente. El diseño del contenido es tarea del cliente.
En X11, cuando el administrador de ventanas no se está ejecutando, las decoraciones de ventana faltan en la mayoría de las ventanas.

Un gestor de ventanas es un software de sistema que controla la ubicación y la 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 (soporte para hardware gráfico, dispositivos señaladores y un teclado) y, a menudo, se escriben y crean utilizando un kit de herramientas de widgets .

Pocos gestores de ventanas están diseñados con una distinción clara 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 normalmente asociados a los gestores de ventanas permiten al usuario abrir, cerrar, minimizar, maximizar, mover, cambiar el tamaño 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 por la mitad o en cuartos de las ventanas en la pantalla, espacios de trabajo para agrupar ventanas, iconos de escritorio , fondo de pantalla, una capacidad para mantener ventanas seleccionadas en primer plano, la capacidad de "enrollar" ventanas para mostrar solo sus barras de título, poner ventanas en cascada, apilar ventanas en una cuadrícula, agrupar ventanas del mismo programa en la barra de tareas para ahorrar espacio y barras de tareas de varias filas opcionales. [3] [4] [5] [6]

Historia

En 1973, el Xerox Alto se convirtió en el primer ordenador que se entregó con una interfaz gráfica de usuario 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 Mac OS clásico de Apple , está claro que ninguno de los dos fue el primero en producir una interfaz gráfica de usuario que utilizara ventanas apilables. A principios de la década de 1980, el Xerox Star , sucesor del Alto, utilizó mosaicos para la mayoría de las ventanas de las aplicaciones principales y utilizó la superposición solo para los cuadros de diálogo, eliminando la mayor parte de la necesidad de apilamiento. [8]

El sistema operativo Mac OS clásico fue uno de los primeros ejemplos comercialmente exitosos de una interfaz gráfica de usuario que utilizaba una especie de gestión de ventanas apiladas a través de QuickDraw . Su sucesor, macOS , utiliza un administrador de ventanas algo más avanzado que ha admitido 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 a través de 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. Fue lanzado a principios de la década de 1980. [10] GEM es famoso por haber sido incluido como la GUI principal utilizada en Atari ST , que ejecutaba Atari TOS , y también fue una GUI popular para MS-DOS antes del uso generalizado de Microsoft Windows. Como resultado de una demanda de Apple , Digital Research se vio obligada a eliminar las capacidades de apilamiento en GEM 2.0, convirtiendo su gestor de ventanas en un gestor de ventanas en mosaico. [11]

A mediados de los años 1980, Amiga OS contenía un ejemplo temprano de un gestor de ventanas de composición llamado Intuition (una de las bibliotecas de bajo nivel de AmigaOS, que estaba presente en las ROM del sistema Amiga ), capaz de reconocer qué ventanas o partes de ellas estaban cubiertas, y qué ventanas estaban en primer plano y completamente visibles, por lo que podía dibujar solo partes de la pantalla que requerían refrescarse. 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 luego usaría una serie de blits de bits usando 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 requerir que estas aplicaciones vuelvan a dibujar ninguno de sus mapas de bits.

En 1988, Presentation Manager se convirtió en el shell 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, después del éxito de Windows 3.10, Microsoft abandonó el proyecto en favor de Windows. Después de eso, el proyecto de Microsoft para una futura versión 3 de OS/2 se convirtió en Windows NT , e IBM realizó un rediseño completo del shell de OS/2, sustituyendo el Presentation Manager de OS/2 1.x por el Workplace Shell orientado a objetos que hizo su 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 administrador de ventanas y el sistema de ventanas . Estrictamente hablando, un administrador de ventanas X no interactúa directamente con el hardware de video, ratones o teclados; esa es responsabilidad del servidor de visualización .

Los usuarios del sistema X Window tienen la capacidad de usar fácilmente muchos gestores de ventanas diferentes: Metacity , usado en GNOME 2 , y KWin , usado en KDE Plasma Workspaces , y muchos otros. Dado que muchos gestores de ventanas son modulares, [ vague ] la gente puede usar otros, [ vague ] como Compiz (un gestor de ventanas de composición 3D ), que reemplaza al gestor de ventanas. [ vague ] Sawfish y awesome , por otro lado, son gestores de ventanas extensibles que ofrecen un control de ventanas preciso. Los componentes de diferentes gestores de ventanas incluso se pueden mezclar y combinar; por ejemplo, las decoraciones de ventanas 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 re-parentalizar aplicaciones, lo que significa que, mientras que inicialmente todas las aplicaciones son adoptadas por la ventana raíz (esencialmente toda la pantalla), una aplicación iniciada dentro de la ventana raíz puede ser adoptada por (es decir, puesta dentro de) otra ventana. Los gestores de ventanas bajo el sistema de ventanas X adoptan aplicaciones de la ventana raíz y las re-parentalizan para aplicar decoraciones de ventana (por ejemplo, agregando una barra de título). La re-parentalización también se puede utilizar para agregar el contenido de una ventana a otra. Por ejemplo, una aplicación de Flash Player puede re-parentalizarse a una ventana del navegador y puede aparecer ante el usuario como si fuera supuestamente parte de ese programa. Los gestores de ventanas re-parentalizados pueden, por lo tanto, organizar uno o más programas dentro de la misma ventana y pueden combinar fácilmente el mosaico y el apilamiento de varias maneras.

Microsoft Windows

Microsoft Windows ha proporcionado un gestor de ventanas apilables integrado desde Windows 2.0 ; Windows Vista introdujo el Gestor de ventanas de escritorio de composición (dwm.exe) como una alternativa opcional acelerada por hardware. En Windows, dado que GDI es parte del núcleo, [13] el papel del gestor de ventanas está estrechamente acoplado con los subsistemas gráficos del núcleo y es en gran medida no reemplazable, aunque se pueden utilizar utilidades de terceros para simular un gestor de ventanas en mosaico sobre dichos sistemas. Desde Windows 8 , el Gestor de ventanas de escritorio basado en Direct3D ya no se puede desactivar. [14] Solo se puede reiniciar con la combinación de teclas de acceso rápido Ctrl+Shift+Win+B. [15]

El Explorador de Windows (explorer.exe) se utiliza de forma predeterminada como shell 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; se pueden modificar aspectos de Windows a través de 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, que permita el uso de gestores de ventanas trasladados del mundo Unixoid, para Microsoft Windows a través de Cygwin/X incluso en modo multiventana (y mediante otras implementaciones del sistema X Window). De este modo, es fácilmente posible, por ejemplo, tener programas cliente del sistema X Window ejecutándose en el mismo entorno Cygwin en la misma máquina, o en un sistema Linux, BSD Unix, etc. a través de la red, y que solo se muestre y utilice su GUI sobre el entorno Microsoft Windows.

Tenga en cuenta que Microsoft y X Window System utilizan términos diferentes para describir conceptos similares. Por ejemplo, Microsoft rara vez menciona el término " administrador de ventanas" porque está integrado y no es reemplazable, y es distinto del shell . [ Aclaración necesaria ] [16] El shell de Windows es análogo al concepto de entorno de escritorio en otros sistemas de interfaz gráfica de usuario.

Sistema operativo Chrome

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

Tipos

Los administradores de ventanas a menudo se dividen 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 y luego unirlas y mostrarlas en varios entornos 2D y 3D. Los gestores de ventanas de composición más avanzados permiten una gran variedad de apariencias de interfaz y la presencia de efectos visuales 2D y 3D avanzados.

Apilamiento de gestores de ventanas

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

Gestor de ventanas en mosaico

Los administradores de ventanas en mosaico pintan todas las ventanas en la 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 el sistema de mosaicos y hay una variedad de administradores de ventanas en mosaico para X , como i3 , awesome y dwm .

Gestor de ventanas dinámico

Los administradores de ventanas dinámicos pueden cambiar dinámicamente entre el diseño de ventanas flotantes o en mosaico. Hay una variedad de administradores de ventanas dinámicos disponibles para X.

Características y facilidades de los gestores de ventanas

Ocultar automáticamente
Una función de ocultamiento automático 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 ventanas que ofrecen algunos administradores de ventanas y que aparece alrededor de la ventana activa . Algunos administradores de ventanas también pueden mostrar un borde alrededor de las ventanas de fondo.
Menú contextual
Algunos administradores de ventanas proporcionan un menú contextual que aparece cuando se aplica un evento de clic alternativo a un componente del escritorio.
Ejemplo de un menú contextual
Ejemplo de un menú contextual
Fondo de pantalla de escritorio
Algunos administradores de ventanas proporcionan una función de fondo de escritorio que muestra una imagen de fondo en la ventana raíz .
Robo de atención
El robo de foco es una función que ofrecen algunos administradores de ventanas. Permite que una aplicación que no está en foco adquiera de repente el foco y robe la información del usuario destinada a la aplicación que estaba en foco anteriormente.
Iconificación
Una función de iconificación permite a los usuarios minimizar las aplicaciones en ejecución a un ícono del escritorio o del panel de tareas.
Ventanas unidas
Algunos administradores de ventanas proporcionan una función de ventanas unidas que permite al usuario unir los marcos de las ventanas de la aplicación.
Equivalentes del teclado
Algunos administradores de ventanas proporcionan equivalentes de teclado que permiten que el teclado replique la funcionalidad del mouse .
Barra de menú
Una barra de menú proporciona la posibilidad de iniciar programas a través de un menú y puede contener funciones adicionales, incluido 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 administradores de ventanas que brinda la posibilidad de 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, incluido un botón de inicio , un panel de tareas y una bandeja del sistema .
Enfoque del ratón
El modelo de foco del ratón determina cómo el dispositivo señalador afecta el foco de entrada dentro del administrador de ventanas. El modelo de foco determina qué componente de la interfaz gráfica de usuario está seleccionado actualmente para recibir la entrada a medida que el puntero se mueve por la pantalla.
Deformación del ratón
La deformación del mouse es una función que centra el puntero en la aplicación actual cuando ésta se activa.
Escritorios múltiples
Un administrador de ventanas puede proporcionar una función para múltiples escritorios . Esto permite cambiar entre varios escritorios de ventana raíz . Esto evita el desorden de la ventana raíz , ya que las aplicaciones pueden ejecutarse en diferentes escritorios .
Buscapersonas
Algunos administradores de ventanas ofrecen una herramienta de búsqueda que permite cambiar entre varios escritorios . El buscapersonas puede aparecer como una ventana en pantalla o como un gadget en la barra de tareas o el panel de tareas.
Complementos
Algunos administradores de ventanas tienen una construcción modular que permite que los módulos enchufables proporcionen funciones según sea necesario.
Acumulación
Una función de resumen permite que las ventanas aparezcan simplemente como una barra de título en el escritorio.
Menú raíz
Algunos administradores de ventanas proporcionan un menú raíz, que aparece cuando se toca la ventana raíz o el fondo del escritorio .
Atajos
Algunos administradores de ventanas proporcionan una función de acceso directo que permite a los usuarios colocar íconos en la ventana raíz que acceden a programas o funciones específicos.
Ventanas con pestañas
Algunos administradores de ventanas proporcionan una función de ventanas con pestañas que agrupa las aplicaciones en marcos comunes.
Cambio de tareas
El administrador de ventanas puede proporcionar varias funciones de cambio de tareas que permiten al usuario cambiar la aplicación actualmente enfocada, incluyendo:
  • Cambiar el foco del ratón usando un dispositivo señalador
  • Funciones de cambio de tareas del teclado (por ejemplo, presionando Alt-Tab)
  • Hacer clic en la tarea en una barra de tareas o en un panel de tareas
Barra de tareas
Algunos administradores de ventanas incluyen una barra de tareas que muestra las aplicaciones que se están ejecutando. La barra de tareas puede mostrar todas las aplicaciones que se están ejecutando, incluidas aquellas que se han minimizado, y puede ofrecer la posibilidad de alternar entre ellas. La barra de tareas puede estar incorporada en una barra de menú en algunos administradores de ventanas.
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
Un botón de inicio es un widget de escritorio que ofrece un menú de programas que se pueden iniciar. El botón de inicio suele ubicarse en una barra de menú en la parte inferior de la pantalla.
Área de notificación
Un Área de notificación se utiliza para mostrar iconos de funciones del sistema y de programas que no tienen ventana de escritorio . Contiene principalmente iconos para indicar información de estado y notificaciones como la llegada de un nuevo mensaje de correo. 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 componente de decoración de ventanas que algunos administradores de ventanas ofrecen en la parte superior de cada ventana. La barra de título se utiliza normalmente para mostrar el nombre de la aplicación o el nombre del documento abierto, y puede proporcionar botones de barra de título para minimizar, maximizar, cerrar o desplegar 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 administradores de ventanas y brindan la posibilidad de minimizar, maximizar, desplegar o cerrar ventanas de aplicaciones. Algunos administradores 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 una barra de título .
Escritorio virtual
Un escritorio virtual (también llamado escritorio desplazable) es una función que ofrecen algunos administradores de ventanas que permite que el escritorio sea más grande que la pantalla real.

Navegación de Windows

Una ventana activa es la ventana que se encuentra en el foco del administrador de ventanas actual. Los distintos administradores de ventanas indican la ventana activa de distintas maneras y permiten al usuario cambiar de ventana de distintas maneras. Por ejemplo, en Microsoft Windows, si están abiertos tanto el Bloc de notas como Microsoft Paint , al hacer clic en la ventana del Bloc de notas, dicha ventana se activará. En Windows, la ventana activa se indica con una barra de título de un color diferente. Sin embargo, hacer clic no es la única forma de seleccionar una ventana activa: algunos administradores de ventanas (como FVWM ) activan la ventana que se encuentra debajo del puntero del mouse (simplemente mover el mouse es suficiente para cambiar de ventana; no es necesario hacer clic).

Los administradores de ventanas suelen ofrecer una forma de seleccionar la ventana activa mediante el teclado como alternativa al ratón. Una combinación de teclas típica es Alt+Tab , utilizada por Windows y KDE (por defecto, aunque esto es configurable por el usuario); otra es tecla de manzana -tilde, utilizada por Macintosh. Al pulsar la combinación de teclas adecuada, normalmente se recorren todas las ventanas visibles en algún orden, aunque también son posibles otras acciones.

Muchos gestores de ventanas (aunque no todos) ofrecen una zona de la pantalla que contiene algún tipo de control visual (a menudo un botón) para cada ventana de la pantalla. Normalmente, cada botón contiene el título de la ventana y también puede contener un icono. Esta zona de la pantalla suele ofrecer algún tipo de indicación visual de qué ventana está activa (por ejemplo, el botón de la ventana activa puede aparecer "presionado"). También suele ser posible cambiar de ventana activa 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, esta zona de la pantalla se denomina dock.

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

Véase también

Referencias

  1. ^ "Administrador de ventanas". Dictionary.com . Archivado desde el original el 11 de marzo de 2016.
  2. ^ "Definición de administrador de ventanas de la Enciclopedia PC Magazine". www.pcmag.com .
  3. ^ Shultz, Greg (24 de mayo de 2006). "Activar o desactivar la función de agrupación de la barra de tareas de Windows XP". TechRepublic . Consultado el 7 de enero de 2022 .
  4. ^ Kaufman, Lori (10 de febrero de 2012). "Cómo hacer que una ventana se desplace hacia arriba hasta 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: mosaico, cascada o minimizar ventanas». Tech-Recipes: un libro de cocina lleno de tutoriales tecnológicos . Consultado el 7 de enero de 2022 .
  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 .
  10. ^ Lineback, Nathan. "Capturas de pantalla de GEM 1.1". Toastytech.com . Archivado desde el original el 25 de diciembre de 2019. Consultado el 1 de agosto de 2016 .
  11. ^ Lineback, Nathan. "Capturas de pantalla de GEM 2.0". Toastytech.com . Archivado desde el original el 2019-08-22 . Consultado el 2016-08-01 .
  12. ^ "Historia de OS/2". Archivado desde el original el 13 de febrero de 1998.
  13. ^ Pleas, Keith (abril de 1996). «Windows NT 4.0». Windows IT Pro . Archivado desde el original el 10 de marzo de 2007. Consultado el 17 de mayo de 2019 .
  14. ^ "El Administrador de ventanas del 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 administrador de ventanas de escritorio, pero no, no sé más sobre él que tú". The Old New Thing . 2009-10-26 . Consultado el 2021-10-06 .
  17. ^ ab "ash - chromium/src - Git en Google". chromium.googlesource.com . Consultado el 6 de octubre de 2021 .