Cuando recién comencé a usar Linux, no tenía ninguna preferencia por algún administrador de ventanas. Por supuesto, en ese entonces solamente conocía lo que venía por default (Gnome o KDE), pero las distribuciones que usaba por lo general dejaban a Gnome por default. Luego conocí XFCE, fluxbox y algunas otras, ampliando así la selección.
Por influencia de un amigo, comencé a usar administradores de ventanas por mosaico. Estos se basan en dividir la pantalla en partes que son ocupadas por los programas; las partes no se enciman, sino que la pantalla se va “partiendo” cada que un programa se inicia en modo gráfico. Administradores como Gnome, KDE, XFCE, el mismo Windows de Microsoft y OSX de Apple usan la pantalla como una pila de coordenadas, en donde se van poniendo las ventanas que se requieran. Creo que sobra decir que, a diferencia de Windows y OSX, el entorno gráfico de Linux (X) es simplemente otro programa (no un sistema operativo), por lo que no hay un administrador de ventanas “preferido” para X, y en una misma computadora se pueden tener tantos como se quiera. Por ejemplo, mi computadora de escritorio tiene Gnome y dwm; mi laptop “inmortal” (que ya no está conmigo) tenía XMonad y XFCE; en el trabajo uso XMonad y Gnome.
Primero comencé con Ion2. Sinceramente no entendía todavía los beneficios de un administrador de ventanas por mosaico, y ciertamente la transición de Gnome o similares a uno de ellos no es instantánea y toma un poco de tiempo acostumbrarse. Terminé por casi no usarlo, pero despertó mi curiosidad.
Luego seguí con dwm, y a éste fue el primero que le saqué provecho. Quizá sea gracias al lado geek, pero me atrapó el hecho de que, para personalizarlo, tienes que meterte a editar directamente el código fuente del archivo de configuración (el cual está en C), y puedes redirigir la salida de otros programas para mostrar diferentes estatus de la computadora (como fecha y hora, memoria usada, título de la “ventana” actual, etc.). Duré un tiempo con dwm, pero poco a poco fue cayendo de mi gracia debido a que la documentación era muy poca, y la comunidad era muy elitista, por lo que no respondían a cualquier pregunta, y sin documentación, muchas veces había que adivinar qué hacía cada función. Al final, lo dejé porque no pude echar a andarlo con soporte para UTF-8, y como el idioma japonés es el que tengo por default en todas las computadoras que uso, sí era algo que me importaba. Dicho sea de paso, desde que llegué a Japón no me hago la idea de tener Linux sin soporte para japonés desde que lo instalo.
La idea de dwm era buena, pero la falta de ayuda y documentación, aunado con lo del UTF-8, hicieron que buscara más alternativas. Fue entonces cuando el mismo amigo que me presentó Ion2 me dijo sobre XMonad.
XMonad es otro administrador de ventanas por mosaico. Originalmente es un clon de dwm, pero está escrito en Haskell, un lenguaje de programación funcional; además, es más amigable y más “extensible” que el original.
El concepto es el mismo: la pantalla va siendo dividida en mosaicos como vaya siendo necesario. La forma en que se divide se decide dependiendo del layout que haya sido escogido. Se pueden tener además escritorios virtuales, y cada uno puede tener un layout diferente. Cada layout define además un área maestra en la pantalla donde se pone cada nueva ventana que aparece; el área maestra es normalmente más grande ya que se basa en la idea de que en esta ventana en donde se trabaja o se realiza la actividad más importante. Lógicamente se puede cambiar libremente la ventana que ocupa esa área.
Como ejemplos de layout, aquí 2 imágenes.
Continue reading “XMonad”