Window manager (Español)
Un gestor de ventanas (WM) 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 (GUI). Puede ser parte de un entorno de escritorio (DE) o usarse de forma independiente.
Visión general
Los gestores de ventanas son clientes X que controlan la apariencia y el comportamiento de los marcos ("ventanas") donde se dibujan las diversas aplicaciones gráficas. Determinan el borde, la barra de título, el tamaño y la capacidad de cambiar el tamaño de las ventanas y, a menudo, brindan otras funciones, como áreas reservadas para pegar dockapps como Window Maker, o el habilidad para tener pestañas en las ventanas como Fluxbox. Algunos gestores de ventanas incluso incluyen utilidades simples como menús para iniciar programas o configurar el gestor de ventanas.
La especificación Extended Window Manager Hints se utiliza para permitir que los gestores de ventanas interactúen de manera estándar con el servidor y los demás clientes.
Algunos gestores de ventanas se desarrollan como parte de un entorno de escritorio más completo, lo que generalmente permite que las otras aplicaciones proporcionadas interactúen mejor entre sí, brindando una experiencia más consistente al usuario, completa con características como iconos de escritorio, fuentes, barras de herramientas, fondos de pantalla o widgets de escritorio.
En cambio, otros gestores de ventanas están diseñados para utilizarse de forma independiente, lo que brinda al usuario total libertad sobre la elección de las otras aplicaciones que se utilizarán. Esto permite al usuario crear un entorno más ligero y personalizado, adaptado a sus necesidades específicas. Los "extras" como iconos de escritorio, barras de herramientas, fondos de pantalla o widgets de escritorio, si es necesario, deberán añadirse con aplicaciones dedicadas adicionales.
Algunos gestores de ventanas independientes también se pueden usar para reemplazar el gestor de ventanas predeterminado de un entorno de escritorio, al igual que algunos gestores de ventanas orientados al entorno de escritorio también se pueden utilizar de forma independiente.
Antes de instalar un gestor de ventanas, se requiere una instalación funcional del servidor X. Véase Xorg para obtener información detallada.
Tipos
- #Gestores de ventanas de apilamiento (también conocido como flotantes) proporcionan la metáfora de escritorio tradicional utilizada en sistemas operativos comerciales como Windows y macOS. Las ventanas actúan como hojas de papel sobre un escritorio y se pueden apilar una encima de la otra. Para ver las páginas Arch Wiki disponibles, véase Category:Stacking window managers (Español).
- #Gestores de ventanas de mosaico "embaldosa" las ventanas para que ninguna se superponga. Por lo general, hacen un uso muy extenso de combinaciones de teclas y dependen menos (o nada) del ratón. Los gestores de ventanas de mosaico pueden ser manuales, ofrecer diseños predefinidos o ambos. Para ver las páginas Arch Wiki disponibles, véase Category:Tiling window managers (Español).
- #Gestores de ventanas dinámicos puede cambiar dinámicamente entre diseño de ventana de mosaico o flotante. Para ver las páginas Arch Wiki disponibles, véase Category:Dynamic window managers (Español).
Véase Comparison of tiling window managers y Wikipedia:Comparison of X window managers para una comparación de los gestores de ventanas.
Lista de gestores de ventanas
Gestores de ventanas de apilamiento
- 2bwm — Rápido gestor de ventanas flotantes, con la particularidad de tener 2 bordes, escrito sobre la librería XCB y derivado de mcwm escrito por Michael Cardell. En 2bwm, se puede acceder a todo desde el teclado, pero se puede usar un dispositivo señalador para mover, cambiar el tamaño y subir/bajar.
- 9wm — Gestor de ventanas X11 inspirado en Plan 9.
- AfterStep — Basado originalmente en la apariencia de la interfaz NeXTStep, brinda a los usuarios finales un escritorio consistente, limpio y elegante. El objetivo del desarrollo de AfterStep es brindar flexibilidad en la configuración del escritorio, mejorar la estética y el uso eficiente de los recursos del sistema.
- berry — Gestor de ventanas del tamaño de un bocado escrito en C. Se controla a través de un cliente de línea de órdenes, lo que permite a los usuarios controlar las ventanas a través de un demonio (daemon) de teclas rápidas como sxhkd o expandir la funcionalidad a través de scripts de intérprete de línea de órdenes. Proporciona opciones de temas extensibles con bordes dobles, barras de título y texto de ventana. Berry coloca nuevas ventanas en espacios desocupados y admite escritorios virtuales.
- Blackbox — Gestor de ventanas rápido y liviano para X, sin todas esas molestas dependencias de la biblioteca. Blackbox está construido con C++ y contiene código completamente original (aunque la implementación de gráficos es similar a la de WindowMaker).
- Compiz — Gestor de composición OpenGL que utiliza GLX_EXT_texture_from_pixmap para vincular ventanas de nivel superior redirigidas a objetos de textura. Tiene un sistema de complementos flexible y está diseñado para funcionar bien en la mayoría del hardware gráfico.
- https://launchpad.net/compiz || compizAUR, compiz-coreAUR
- cwm — Originalmente derivado de evilwm, pero luego reescrito desde cero, cwm pretende ser simple y ofrece funciones útiles como la búsqueda de ventanas.
- eggwm — Un ligero gestor de ventanas QT4/QT5.
- Enlightenment — Enlightenment is not just a window manager for Linux/X11 and others, but also a suite of libraries to help you create beautiful user interfaces with much less work than doing it the old fashioned way and fighting with traditional toolkits, not to mention a traditional window manager.
- evilwm — Gestor de ventanas minimalista para el sistema X Window. 'Minimalista' aquí no significa que sea demasiado básico para ser utilizado, significa que omite muchas de las cosas que hacen que otros gestores de ventanas sean "inutilizables".
- Fluxbox — Gestor de ventanas para X que se basó en el código Blackbox 0.61.1. Es muy ligero en recursos y fácil de manejar, pero está lleno de funciones para hacer una experiencia de escritorio fácil y extremadamente rápida. Está construido utilizando C++ y licenciado bajo la Licencia MIT.
- Flwm — Intenta combinar las mejores ideas de varios gestores de ventanas. La influencia principal y la base del código provienen de wm2 de Chris Cannam.
- FVWM — Potente gestor de ventanas de múltiples escritorios virtuales compatible con ICCCM para el sistema X Window. El desarrollo es activo y el soporte es excelente.
- https://www.fvwm.org/ || fvwmAUR
- Gala — Un hermoso gestor de ventanas de Elementaryos, parte de Pantheon. También como gestor de composición, basado en libmutter.
- Goomwwm — Gestor de ventanas X11 implementado en C como un proyecto de software de sala limpia (cleanroom). Gestiona ventanas en un diseño flotante mínimo, al tiempo que proporciona controles de teclado flexibles para cambiar, cambiar el tamaño, mover, etiquetar y mosaico de ventanas. También es rápido, liviano, no modal, consciente de Xinerama y compatible con EWMH siempre que sea posible.
- IceWM — Gestor de ventanas para X. El objetivo de IceWM es la velocidad, la simplicidad y no estorbar al usuario.
- jbwm — Basado en evilwm, con un tamaño de configuración mínimo de aproximadamente 16 kb, centrado en el tamaño pequeño del binario y la facilidad de uso, incorporando barras de título opcionales y representación de fuente de barra de título XFT como opciones en tiempo de compilación, jbwm también presenta combinaciones de teclas más fáciles de usar que evilwm.
- JWM — Gestor de ventanas para X. JWM está escrito en C y usa solo Xlib como mínimo.
- Karmen — Gestor de ventanas para X, escrito por Johan Veenhuizen. Está diseñado para "simplemente funcionar". No hay ningún archivo de configuración ni dependencias de biblioteca que no sean Xlib. El modelo de enfoque de entrada es clic para enfocar. Karmen tiene como objetivo el cumplimiento de ICCCM y EWMH.
- KWin — Gestor de ventanas estándar de KDE desde KDE 4.0, que también es un gestor de composición. Esto permite que KWin proporcione efectos gráficos avanzados, similares a Compiz, al tiempo que proporciona todas las características de las versiones anteriores de KDE (como una muy buena integración con el resto de KDE, capacidad de configuración avanzada, prevención de robo de foco, un gestor de ventanas bien probado, robusto manejo de aplicaciones/juegos de herramientas que funcionan mal, etc.). También sirve como compositor para Wayland.
- lwm — Gestor de ventanas para X que trata de mantenerse fuera de su vista. No hay iconos, ni barras de botones, ni bases de iconos, ni menús raíz, ni nada: si desea todo eso, entonces otros programas pueden proporcionarlo. Tampoco hay configurabilidad: si quiere eso, quiere un gestor de ventanas diferente; uno que ayude a su sistema operativo en su malvada conquista del espacio de su disco y la anexión de su memoria física.
- Marco — Gestor de ventanas MATE, bifurcación de Metacity.
- Metacity — Este gestor de ventanas se esfuerza por ser silencioso, pequeño, estable, continuar con su trabajo y mantenerse fuera de su atención. Lo utilizan las sesiones de flashback de GNOME 2 y GNOME heredadas, y lo reemplaza Mutter.
- MLVWM — Macintosh-Like Virtual Window Manager, un descendiente de FVWM que intenta emular la apariencia anterior a Mac OS X Macintosh en su distribución y diseño de ventanas.
- Muffin — Gestor de ventanas y composición para Cinnamon. Una bifurcación de Mutter, basada en Clutter que utiliza OpenGL. No se puede usar fuera de Cinnamon.
- Mutter — Gestor de ventanas y composición para GNOME, basado en Clutter, utiliza OpenGL. También sirve como compositor de Wayland.
- MWM — Motif Window Manager (MWM) es un gestor de ventanas X basado en el kit de herramientas Motif.
- Openbox — Gestor de ventanas altamente configurable con amplio soporte de estándares. El estilo visual *box es bien conocido por su apariencia minimalista. Openbox utiliza el estilo visual *box, al mismo tiempo que brinda una mayor cantidad de opciones para los desarrolladores de temas que las implementaciones anteriores de *box. Ha sido "característica completa" (es decir, se han añadido todas las características definidas) desde 2010, pero se sigue manteniendo.
- pawm — Gestor de ventanas para el sistema X Window. Por lo tanto, no es un 'escritorio' y no le ofrece una gran cantidad de opciones inútiles, solo las facilidades necesarias para ejecutar sus aplicaciones X y al mismo tiempo tener una interfaz amigable y fácil de usar.
- PekWM — Gestor de ventanas que alguna vez se basó en el gestor de ventanas aewm++, pero ha evolucionado lo suficiente como para que ya no se parezca en nada a aewm++. Tiene un conjunto de funciones mucho más amplio, que incluye agrupación de ventanas (similar a Ion, PWM o Fluxbox), propiedades automáticas, Xinerama, keygrabber que admite llaveros y mucho más.
- Sawfish — Gestor de ventanas extensible que utiliza un lenguaje de secuencias de órdenes basado en Lisp. Su política es mínima en comparación con la mayoría de los gestores de ventanas. Su objetivo es simplemente gestionar las ventanas de la forma más flexible y atractiva posible. Todas las funciones del gestor de ventanas de alto nivel se implementan en Lisp para una futura extensibilidad o redefinición.
- sowm — Gestor de ventanas simple y obstinado que proporciona cambio de pantalla completa, centrado de ventanas y un flujo de trabajo mixto (es decir, ratón y teclado).
- TinyWM — Gestor de ventanas minúsculo creado como un ejercicio de minimalismo. Puede ser útil para aprender algunos de los conceptos básicos de la creación de un gestor de ventanas. Se compone de aproximadamente 50 líneas de C. También hay una versión de Python que utiliza python-xlib.
- twm — Gestor de ventanas simple para X, el predeterminado/alterno utilizado por Xorg desde 1989. Proporciona barras de título, ventanas con forma, varias formas de administración de íconos, funciones de macro definidas por el usuario, enfoque de teclado controlado por puntero y clic para escribir, y enlaces de teclas y botones de puntero especificados.
- ukwm — Un gestor de ventanas ligero GTK+, el gestor de ventanas predeterminado para el entorno de escritorio UKUI.
- UWM — El gestor de ventanas definitivo para UDE.
- Wind — Pequeño gestor de ventanas flotantes. Intenta cumplir con ICCCM, EHWM, NetWM.
- WindowLab — Pequeño y sencillo gestor de ventanas de novedoso diseño. Tiene una política de hacer clic para enfocar pero no aumentar el foco, un mecanismo de cambio de tamaño de ventana que permite cambiar uno o varios bordes de una ventana en una sola acción y una barra de menú innovadora que comparte la misma parte de la pantalla que la barra de tareas. Evita que las barras de título de la ventana se salgan del borde de la pantalla al restringir el puntero del ratón y, cuando corresponde, el puntero también se restringe a la barra de tareas/barra de menú para que los elementos del menú de destino sean más fáciles de alcanzar.
- Window Maker — Gestor de ventanas X11 diseñado originalmente para proporcionar soporte de integración para el entorno de escritorio GNUstep. En todas las formas posibles, reproduce la apariencia elegante de la interfaz de usuario de NEXTSTEP. Es rápido, rico en funciones, fácil de configurar y de utilizar.
- WM2 — Gestor de ventanas para X. Proporciona un estilo inusual de decoración de ventanas y tan poca funcionalidad como su autor se siente cómodo en un gestor de ventanas. wm2 no es configurable, excepto editando el código fuente y recompilando el código, y realmente está destinado a personas que no desean que su gesotor de ventanas sea demasiado amigable.
- worm — Worm es un gestor de ventanas dinámico basado en etiquetas para X11. Soporta tanto un diseño flotante como un diseño de mosaico de pila maestra y se desarrolla abiertamente. También está escrito en el lenguaje de programación Nim.
- Xfwm — El gestor de ventanas Xfce gestiona la ubicación de las ventanas de la aplicación en la pantalla, proporciona hermosas decoraciones de ventana, gestiona el espacios de trabajo o escritorios virtuales y soporta de forma nativa el modo de pantalla múltiple. Proporciona su propio gestor de composición (de la extensión X.Org Composite) para tener transparencias y sombras verdaderas. El gestor de ventanas Xfce también incluye un editor de atajos de teclado para órdenes específicas del usuario y manipulaciones básicas de ventanas y proporciona un cuadro de diálogo de preferencias para ajustes avanzados.
Gestores de ventanas de mosaico
- Bspwm — bspwm es un gestor de ventanas de mosaico que representa las ventanas como las hojas de un árbol binario completo. Tiene soporte para EWMH y múltiples monitores, y se configura y controla a través de mensajes.
- EXWM — EXWM (Emacs X Window Manager) es un gestor de ventanas X de mosaico con todas las funciones para Emacs construido sobre XELB. Cuenta con operaciones totalmente controladas por teclado, modos de diseño híbrido (mosaico y apilamiento), compatibilidad con espacios de trabajo dinámicos, conformidad con ICCCM/EWMH, compatibilidad con RandR (monitores múltiples) y una bandeja de sistema integrada.
- Herbstluftwm — Gestor de ventanas de mosaico manual para X11 utilizando Xlib y Glib. El diseño se basa en la división de cuadros en subcuadros que se pueden dividir de nuevo o se pueden llenar con ventanas (similar a i3/musca). Las etiquetas (o espacios de trabajo o escritorios virtuales o...) se pueden añadir/eliminar en tiempo de ejecución. Cada etiqueta contiene su propio diseño. Se ve exactamente una etiqueta en cada monitor. Las etiquetas son independientes del monitor (similar a xmonad). Se configura en tiempo de ejecución a través de llamadas ipc de herbstclient. Entonces, el archivo de configuración es solo un script que se ejecuta al inicio. (similar a wmii/musca).
- i3 — Gestor de ventanas de mosaico, completamente escrito desde cero. i3 se creó porque wmii, el gestor de ventanas favorito de los desarrolladores en ese momento, no proporcionó algunas funciones que queríamos (multimonitor bien hecho, por ejemplo), tenía algunos errores, no progresó durante bastante tiempo y no fue fácil para modificar en absoluto (comentarios del código fuente/documentación completamente ausente). Las diferencias notables se encuentran en las áreas de compatibilidad con varios monitores y la metáfora del árbol. Por velocidad, la interfaz Plan 9 de wmii no está implementada.
- Larswm — Un gestor de ventanas de mosaico basado en 9wm.
- LeftWM — Un gestor de ventanas de mosaico escrito en Rust.
- https://leftwm.org || leftwmAUR
- Notion — Gestor de ventanas de mosaico con pestañas para el sistema de ventanas X que utiliza 'mosaicos' y ventanas con 'pestañas'.
- Mosaico: divide la pantalla en 'mosaicos' que no se superponen. Cada ventana ocupa un mosaico y se maximiza en él.
- Pestañas: un mosaico puede contener varias ventanas; estarán 'pestañeadas'.
- Estático: la mayoría de los gestores de ventanas en mosaico son 'dinámicos', lo que significa que automáticamente cambian de tamaño y se mueven alrededor de los mosaicos a medida que las ventanas aparecen y desaparecen. Notion, por el contrario, no cambia automáticamente el mosaico.
- Notion es una bifurcación de Ion3.
- https://notionwm.net/ || notion
- Ratpoison — Gestor de ventanas simple sin dependencias de bibliotecas pesadas, sin gráficos sofisticados, sin decoraciones de ventanas y sin dependencia de ratones. Se basa en gran medida en el modelo de GNU Screen, que ha hecho maravillas en el mercado de terminales virtuales. Ratpoison se configura con un simple archivo de texto. La barra de información en Ratpoison es algo diferente, ya que solo se muestra cuando es necesario. Sirve como iniciador de aplicaciones y como barra de notificaciones. Ratpoison no incluye una bandeja de sistema.
- Stumpwm — Gestor de ventanas de mosaico X11 controlado por teclado escrito completamente en Common Lisp. Stumpwm intenta ser personalizable pero visualmente mínimo. Tiene varios ganchos (hooks) para adjuntar sus personalizaciones personales y variables para modificar, y se puede reconfigurar y recargar mientras se ejecuta. No hay decoraciones de ventana, ni iconos, ni botones, ni bandeja del sistema. Su barra de información se puede configurar para que se muestre constantemente o solo cuando sea necesario.
Gestores de ventanas dinámicos
- awesome — Gestor de ventanas de próxima generación altamente configurable para X. Es muy rápido, extensible y tiene la licencia GNU GPLv2. Configurado en Lua, tiene una bandeja del sistema, una barra de información y un lanzador incorporados. Hay extensiones disponibles escritas en Lua. Awesome usa XCB en lugar de Xlib, lo que puede resultar en un aumento de la velocidad. Awesome también tiene otras características, como un reemplazo temprano para el demonio (daemon) de notificación, un menú contextual similar al de los gestores de ventanas *box y muchas otras cosas.
- dwm — Gestor de ventanas dinámicas para X. Gestiona ventanas en diseños de mosaico, monóculo y flotante. Todos los diseños se pueden aplicar dinámicamente, optimizando el entorno para la aplicación en uso y la tarea realizada. No incluye bandeja de sistema ni lanzador automático, aunque dmenu se integra bien con él, ya que son del mismo autor. No tiene archivo de configuración de texto. La configuración se realiza en su totalidad modificando el código fuente C, y debe volver a compilarse y reiniciarse cada vez que se cambia.
- https://dwm.suckless.org/ || dwmAUR
- echinus — Gestor de ventanas flotantes y de mosaico simple y liviano para X11. Comenzó como una bifurcación de dwm con una configuración más sencilla, echinus se convirtió en un gestor de ventanas de reparentalización con todas las funciones con soporte EWMH. Tiene un panel/barra de tareas compatible con EWMH, llamado ouricoAUR.
- http://plhk.ru || echinusAUR
- FrankenWM — Básicamente monsterwm con flotante bien hecho. Las características que se agregan además de mwm básico incluyen: más diseños (fibonacci, pila igual, pila doble), espacios (y bordes) ajustables sobre la marcha, minimizar/maximizar ventanas individuales, ocultar/mostrar todas las ventanas, redimensionar maestro y apilar individualmente, invertir la pila.
- spectrwm — Pequeño gestor de ventanas de mosaico dinámico para X11, inspirado en gran medida en xmonad y dwm. Intenta permanecer fuera del camino para que el valioso espacio de la pantalla se pueda utilizar para cosas mucho más importantes. Tiene valores predeterminados sanos y está configurado con un archivo de texto. Fue escrito por hackers para hackers y se esfuerza por ser pequeño, compacto y rápido. Tiene una barra de estado integrada que se alimenta de un script definido por el usuario.
- Qtile — Gestor de ventanas de mosaico hackeable y con todas las funciones escrito en Python. Qtile es simple, pequeño y extensible. Es fácil escribir sus propios diseños, widgets y comandos integrados. Está escrito y configurado completamente en Python, lo que significa que puede aprovechar todo el poder y la flexibilidad del lenguaje para adaptarlo a sus necesidades.
- xmonad — Gestor de ventanas X11 de mosaico dinámico que está escrito y configurado en Haskell. En un WM normal, pasa la mitad de su tiempo alineando y buscando ventanas. Xmonad facilita el trabajo al automatizar esto. XMonad está configurado en Haskell. Para todos los cambios de configuración, se debe volver a compilar xmonad, por lo que se debe instalar el compilador Haskell (más de 100 MB). Una gran biblioteca llamada xmonad-contrib proporciona muchas características adicionales.