Binary Coffee

Acerca de los manejadores de ventanas de mosaico (tiling)

linux
¡He estado usando administradores de ventanas de mosaico durante un par de años y me encanta! ¿Qué es un administrador o manejador de ventanas? ## 0. Introducción *Quienes sepan que es un manejador de ventanas, salten a la sección 1.* Los usuarios de **Windows** y **MacOS** quizás no tengan idea pero los de **Linux** quizás si, debido a la cantidad de entornos de escritorios que existen. Pues el manejador de ventana es el programa (si, es un programa más) que tiene como objetivo permitir al usuario el posicionamiento y gestión del tamaño de las ventanas de las aplicaciones en la pantalla. Puede ser que nunca te hayas detenido a pensar en esto. Usemos una imagen desde su [artículo en Wikipedia](https://en.wikipedia.org/wiki/Window_manager): ![Estructura de una ventana](https://upload.wikimedia.org/wikipedia/commons/1/14/Window_%28windowing_system%29.svg) Cuando desarrollamos una aplicación nos encargamos de definir el contenido de la venta, la barra de menú y la barra de estado. Hasta ahí. Sobre la barra de título y el borde definimos unos hints (pistas) de como debe comportarse el manejador de ventana que será el encargado de dibujarlo y gestionarlo. No es lo mismo entonces **kwin**: ![Kwin](https://upload.wikimedia.org/wikipedia/commons/5/5f/KWin_Breeze_window_decoration.png) que Openbox: ![Openbox](https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSzExVNdAOOfL_yn3y17sSatJGttUMCqriLpZR6tcnsP_W92HuZ&s) ## 1. ¿Qué? Los administradores de ventanas de mosaico (solo) se centran en la organización de las ventanas en la pantalla asegurándose de dos cosas: - cada ventana usará todo el espacio disponible en la pantalla - Si se abren varias ventanas, se mostrarán todas a la vez de acuerdo a determinadas reglas (layouts). ## 2. ¿Por qué? Porque es simple, es menos, es mejor (para mí). La mayoría de las implementaciones ni siquiera decoran las ventanas. ¿Qué significa esto? Pues que no hay barra de título ni los tradicionales botones de minimizar, maximar y cerrar. ¿Y entonces? Pues usa tu `Alt+F4` u otra vía que tenga la aplicación. ## 3. ¿Cómo? Hay muchas opciones y estas son las que he probado seriamente (varios meses de uso): - **i3**: el más amable. Buenos valores predeterminados y también proporciona una barra de estado y un cambiador de escritorio. La configuración se realiza editando un archivo. También tiene soporte para el system tray. - **bspwm**: el más ligero, menos de 1mb en RAM. No hay barra en absoluto. Esto SOLO maneja las ventanas. Depende de ti. La configuración es solo un script que llama a un programa que maneja el administrador de ventanas. Este evento no maneja los enlaces de teclado. Normalmente usarás sxhkd para esto. - **dwm**: el "duro". Mi elección actual. Es un proyecto de suckless.org. Por lo tanto, compilarás código C para configurar cosas. Pero no es difícil. Proporciona una buena barra y la posibilidad de tener el título de la ventana activa actual en la parte superior. Eso me recuerda a la experiencia con Unity. ## 4. Importante - los layouts: la mayoría de los manejadores de ventana de mosaico proporcionan diferentes formas de organizar las ventanas. En mosaicos, columnas, filas, maestro y esclavo, maestro en el centro, monocle, flotante (a veces es bueno) - no todas las aplicaciones tienen que ser CLI (de consola) aunque es muy común verlo en la terminal. - no necesita comenzar desde cero: también puedes configurar el administrador de ventanas para su entorno de escritorio actual. Actualmente estoy usando el entorno de escritorio **lxqt** con **dwm** como administradores de **Windows** en lugar de **openbox**. De esta manera puedo usar una sesión gráfica regular con todos sus módulos integrados y también disfrutar de mi administrador de ventanas favorito en menos de 5 minutos. Especialmente con lxqt que permite cambiar el administrador de ventanas en la configuración como algo muy normal. También puedes reemplazar **kwin** en una sesión **KDE**, o **xfwm** en **XFCE** y basarte en la configuración de ese entorno de escritorio, en lugar de configurar todo desde cero. El método es diferente en cada uno, pero en general se trata de estos 2 pasos: - evitar el inicio o matar el administrador de ventanas predeterminado del entorno - Iniciar el manejador de ventanas seleccionado. ## 5. Conclusión He aprendido mucho mientras jugaba con los administradores de ventanas porque te dan la oportunidad de crear tu entorno de escritorio desde cero y decidir qué piezas realmente necesitas. Estoy abierto a preguntas! Y si quieres que escriba más sobre este tema o algún window manager específico, déjame saber en https://twitter.com/glpzzz
Opiniones