Skip to main content

La amistad con los Tiling Window Managers ha terminado!

La semana pasada escribí acerca de como decidí aceptar el desafío de Xah Lee sobre los Tiling Window Managers. Tras utilizar su workflow por una semana lo admito: ganó. Pero permítanme primero explicar por qué.

El problema

He usado Tiling Window Managers desde hace cerca de 3 años. En ese tiempo he visitado gestores de ventanas flotantes pero siempre renunciaba y regresaba a BSPWM o DWM. Últimamente, sin embargo, he experimentado un "malestar" por llamarlo de alguna forma con los Tiling Window Managers y es que comencé a cuestionarme el tener tantas ventanas abiertas al mismo tiempo.

La gran ventaja del tiling comparado con los gestores flotantes normales es que las ventanas se acomodan automáticamente en una rejilla o esquema de forma que siempre veas todas las ventanas ocupando la mayor cantidad de espacio posible. Los esquemas disponibles son muy variados pero la mayoría se basan en un área "maestra" y un área "pila"; el área maestra ocupa más de la mitad del espacio y solo contiene una ventana mientras que la pila está del otro lado y las ventanas se colocan una encima de la otra.

Aunque este esquema es alabado por muchos como super eficiente tiene un gran problema: cuando abres más de 3 ventanas, la pila se vuelve ridícula, las ventanas se vuelven demasiado pequeñas para interactuar con ellas. Algunos argumentan que el objetivo de la pila no es interactuar con ella, sino tener a las ventanas en espera y cuando las ocupes moverlas a la zona maestra, ¿no sería mejor minimizarlas?

Los gestores manuales parecen resolver este problema y durante un buen tiempo me enamoré de herbstluftwm y i3wm ya que me permiten acomodar las ventanas donde yo quiera y la rejilla la voy creando sobre la marcha. Pero nuevamente, me encontré con que llega un momento donde las ventanas se vuelven muy pequeñas. Traté de solucionar esto usando pestañas, pero al ocultar ventanas una detrás de otra la pregunta inicial volvió ¿necesito ver todas las ventanas al mismo tiempo?

¿Y los escritorios virtuales? La verdad, los usaba para dos cosas: esconder ventanas que no quería ver, y para continuar abriendo ventanas cuando un escritorio se llenaba. Este segundo uso representa un problema muy común, que es el de las ventanas perdidas. Constantemente abres una nueva terminal porque no tienes ninguna solamente para darte cuenta que tenías abiertas 4 terminales en otros escritorios, o bien, no sabes donde dejaste esa terminal que estaba compilando.

Mientras analizaba todas estas situaciones fue que el blog de Xah Lee apareció entre mis búsquedas (ya lo había leído en el pasado) y decidí darle una oportunidad. Nuevamente, no es la primera vez que utilizo ventanas flotantes, pero si es cierto que Lee propone ciertos cambios que jamás había intentado, es más, que había rechazado.

El desafío

El desafío consiste en:

  • Eliminar el Tiling Window Manager. Usar uno normal (decidí usar Plasma 5.22)

  • Configurar solamente 1 escritorio virtual

  • Configurar 3 teclas de función para cambiar a tus 3 apps favoritas.

  • Configurar una tecla para cambiar a la última ventana

  • Configurar una tecla para ciclar ventanas de la misma app.

  • Configurar una tecla para maximizar.

  • Configurar una tecla para cerrar ventanas.

  • Activar la opción para enfocar y levantar ventanas pasando con el mouse.

  • Eliminar el doble click

Las principales características del workflow propuesto son:

  • Usar solamente una tecla en lugar de combinaciones de teclas

  • Enfocar ventanas solamente moviendo el cursor sobre ellas

  • Usar el mouse cuando haga sentido usarlo

    Y pues bien, tras configurar Plasma como Lee pide he usado este workflow ya por una semana y… ¡es bastante bueno! No me siento menos eficiente salvo quizás por la parte de aprender nuevos atajos de teclado. El usar solamente una tecla para moverse entre aplicaciones es especialmente cómodo, pero no creo que haya sido solamente la propuesta de Xah Lee lo que me terminó atrapando, sino algunas concesiones que personalmente tomé para solucionar ciertos problemas que tiene el desafío. Comencemos por mencionar esos problemas.

Los problemas del desafío propuesto

Todo iba a las mil maravillas el primer día, hasta que descubrí que las teclas de función tienen muchos más usos de los que parece en muchas aplicaciones. Casi todas las aplicaciones usan las 12 teclas de función para algo y terminan entrando en conflicto. Por ejemplo, había configurado F4 para ciclar entre ventanas, pero esa misma tecla es usada por el gestor de archivos para abrir la terminal. Por supuesto que puedo cambiar los atajos de cada ventana, pero sería una tarea titánica cambiar, si es que lo permiten, cada aplicación que tengo instalada. Y no, conseguir más teclas de función no es una opción, pues aunque puedo utilizar mi teclado mecánico y crear más teclas de función, cuando use el teclado de la laptop no podré hacer nada.

El segundo problema radica en el workflow en sí, pues el movimiento entre ventanas se basa en una tecla para cambiar a la ventana anterior y otra para cambiar a la ventana anterior de la misma aplicación. Eliminar ALT+TAB (y su comportamiento de presionar TAB varias veces para movernos en una lista cuyo orden cambia a cada rato) es maravilloso, pero limitarme a solo la aplicación anterior implica que si necesito enfocar una tercera ventana, necesito "desenterrarla" entre todas las ventanas o utilizar la barra de tareas de la parte superior. Ambas opciones bastante ineficientes si estoy en el teclado en ese mismo momento.

Finalmente, el uso de una tecla para abrir o enfocar las ventanas más utilizadas no termina de hacer clic en mi. Debido a que me gusta tener varias instancias de una misma aplicación (por ejemplo 2 terminales diferentes en lugar de usar termux o pestañas) cada vez que quería lanzar una nueva instancia terminaba enfocando la ventana que ya tenía abierta. Eso sumado al problema de las teclas de función hace que este mecanismo sea muy poco útil para mi.

"Arreglando" el workflow, o haciendo trampa

Tras un par de días de obligarme a sufir con lo anterior decidí tomar algunas concesiones. Primeramente decidí utilizar combinaciones de teclas utilizando la tecla SUPER. Traté de minimizarlas al máximo, y solamente tengo un par de combinaciones para abrir emacs, la terminal y krunner. Me las arreglé para acomodar otras cosas como maximizar o cambiar entre ventanas a teclas de función rara vez utilizadas como F9, F8 y F11. Pero mi mayor logro, creo yo, es el comenzar a utilizar de manera constante la función Exponer Ventanas.

Para quienes no la conozcan, esta función de Plasma es muy similar a exposé de OSX y la pantalla "Actividades" de GNOME 40, donde puedes ver todas las ventanas a la vez y, como no podía ser de otra forma, filtrar ventanas por su nombre para elegir la que quiero. Esta función fue un cambio radical para mi y es lo que, creo yo, me ha permitido sentirme útil con la gestión flotante de ventanas. Básicamente, presiono F8 y todas las ventanas se acomodan una al lado de la otra, si tengo las manos en el teclado, puedo comenzar a escribir el nombre de la aplicación que quiero hasta filtrarla y presionar Enter para enfocarla, o si tengo la mano en el mouse puedo simplemente dar clic para enfocar la ventana que quiera. Este método es superior a ALT+TAB ya que me permite visualizar todas las aplicaciones a la vez y elegir la que me interesa, y superior a una lista como la que ofrecen programas como rofi debido a que puedo ver el contenido de las ventanas y elegir con mayor seguridad la ventana que me interesa.

Esta última función, Exponer ventanas, es super útil y sugiero a todos los que no la estén usando que vayan a activarla en sus gestores de ventanas. Personalmente, ya no puedo utilizar mi computadora sin esa función, que curiosamente siempre quise emular en mis Tiling Window Managers para evitar perder ventanas.

/expose.png

Entonces, ¿apestan los tiling window managers?

¡Claro que no! ¡Son increibles! Les tengo un ojo puesto a river, herbstluftwm y bismuth, por mencionar algunos. Pero la verdad es que ya no los veo como la panacea de la productividad. Claro que son divertidos de configurar y de usar, pero no veo que se resuelvan los problemas que mencioné al inicio de esta publicación, y la verdad que me siento cómodo en la forma que estoy usando mi computadora justo ahora. Pienso en el futuro refinar esos atajos de teclado conflictivos y reactivar, al menos, 4 escritorios virtuales para usarlos cuando quiera ser multitarea y hacer varias cosas sin relación alguna.

Mi experimento me dió excelentes resultados. Un nuevo mundo se abre ante mi ahora, el de los gestores de ventanas flotantes. ¡Hay mucho que probar ahí fuera! Invito a todos que hagan la prueba también, por una semana utilizar exclusivamente un gestor flotante con las sugerencias que hago aquí, y si son fans de los gestores de mosaicos como yo era, quizás se lleven una muy agradable sorpresa.