Wmii en Debian GNU/Linux

1. Introducción

Wmii es un gestor de ventanas dinámico. Es decir, se encarga automáticamente de disponer las ventanas de forma organizada. Esta labor puede realizarla de dos formas: Modo floating o tiling.
Floating (flotante) se refiere a la clásica forma de disponer las ventanas en gestores como GNOME o KDE. Es decir, las ventanas "flotan" sobre la pantalla (escritorio) pudiendo moverse, cambiarles el tamaño o superponerse unas sobre otras según el usuario disponga, siguiendo la metáfora del escritorio.
En cambio, en el modo tiling el manejador de ventanas dispone de las ventanas de forma que éstas no se superpongan. En particular wmii considera columnas que separan la pantalla horizontalmente. Cada columna maneja ventanas y las ordena verticalmente sin que se superpongan, tal como se puede apreciar a continuación.

+--------------------+-----------------+
|     xterm          |   www browser   |
|                    |                 |
|                    |                 |
|                    |                 |
|                    |                 |
+--------------------+                 |
|    man page        |                 |
|                    |                 |
|                    |                 |
|                    |                 |
|                    |                 |
+--------------------+-----------------+

Wmii fue diseñado con miras en ser ligero, modular y altamente configurable. En base a la interfaz de usuario Acme para programadores de Plan9, wmii provee un sistema virtual de ficheros al que se puede acceder desde cualquier cliente del protocolo 9P. Esto permite interactuar con distintos tipos de aplicaciones a través de una interfaz como procfs en Linux, permitiendo que los programadores implementen sus aplicaciones en el lenguaje de programación que prefieran.

2. Uso básico de wmii

2.1 Instalación y primeros pasos

Para instalar wmii en nuestro Debian no hay mayor dificultad ya que se encuentra dentro de la paquetería Debian, basta con ejecutar

aptitude install wmii

Luego de instalado no olvidar modificar xinitrc o el gestor de sesión para que se inicie X con wmii:

vim .xinitrc

#! /bin/bash

exec wmii

¡Pero aún no es tiempo de iniciar sesión! Los desarrolladores de wmii se tomaron la molestia de que la primera vez que se ejecute el programa se muestre un mensaje con un tutorial mediante el cual aprenderemos el uso básico de wmii. Si no tiene problemas con el inglés, adelante, pero si prefiere leer dicha guía en español debe hacer lo siguiente.

  • Guarde en un directorio el siguiente fichero bajo el nombre welcome
  • #!/bin/sh
    # Mostrar un mensaje de bienvenida que contiene el tutorial de wmii
    # Traducido con agrado para esdebian.org

    xmessage -file - <<'EOF'
    Bienvenido a wmii, el ambiente no-WIMP del Proyecto Suckless.

    Este es un pequeno tutorial paso por paso, con la intencion de que se
    familiarice un poco con wmii.

    Desde aqui en adelante, las combinaciones de teclas seran descritas tales
    que M-a se refiere a presionar la tecla MOD y, al mismo tiempo, la tecla
    a. La tecla MOD se refiere a una variable que contiene la tecla Alt por
    defecto.

    Empecemos!

    - Ejecute dos terminales presionando M-Enter dos veces.
    - Cambie entre las tres ventanas: M-j, M-k, M-h, M-l
      Si usted prefiere usar el mouse, entonces solo mueva el
      puntero a la ventana que desee.
    - Pruebe los otros modos de columna: M-s para el modo apilado
      (stack mode), M-m para el modo maximizado. Presione M-d
      para retornar al modo por defecto.
    - Cree una nueva columna con: M-Shift-l
      Esto mueve el cliente seleccionado a la derecha.
    - Etiquete el cliente seleccionado con otra etiqueta: M-Shift-2
      IMPORTANTE: antes de que haga el siguiente paso, note que puede
      seleccionar la etiqueta actual con M-1.
    - Seleccione la nueva etiqueta: M-2.
    - Cambie a area flotante (floating): M-Space
    - Abra el menu de prgroamas: M-p
      Escriba 'xclock' y presione Enter.
    - Mueva la ventana de xclock: Presione sin soltar MOD, boton
      izquierdo sobre la ventana y mueva el cursor alrededor.
    - Cambie el tamano de xclock: Presione sin soltar MOD, boton
      derecho sobre la ventana y mueva el cursor alrededor.
    - Mate el cliente seleccionado (la ventana de xclock) con:
      M-Shift-c
    - Abra el menu de acciones: M-a
      Reinicie wmiirc seleccionando 'wmiirc'.
    - Ahora vamos a mirar el sistema virtual usado por wmii. Ejecutando
    wmiir ls /
      en el terminal listara todos los ficheros en el directorio raiz.
      Entradas que terminan con / son directorios.
      Si usted es curioso, puede mirar mas profundamente en el arbol
      de directorios. Por ejemplo,
      wmiir ls /rbar/
      le mostrara el contenido de el lado derecho de la barra.

    Esperamos que esos pasos le hayan dado una idea de como wmii trabaja.
    Puede releerlos en cualquier momento presionando M-a y seleccionando
    'welcome'.

    Usted deberia ahora echar un vistazo la pagina man de wmii(1). Un FAQ
    esta disponible en <http://wmii.suckless.org>.
    EOF

  • Adquiera permisos de administrador y copie el fichero a /etc/X11/wmii-3.x y déle permisos de ejecución

    # cp welcome /etc/X11/wmii-3.x
    # chmod a+x welcome

Ahora puede levantar las X. Si todo marcha bien, verá el mensaje que acaba de copiar mostrándole el tutorial de uso, sígalo y vea la forma de trabajo de wmii.

2.2 Referencia de Uso

3. Configuración

3.1 Terminología

3.2 wmiirc

A wmii se accede mediante el comando wmiir, que no es mas que un cliente 9P que permite acceder y modificar el sistema virtual de ficheros de wmii.
La carpeta con la configuración general de wmii está ubicada en /etc/X11/wmii-3.x, para poder configurar wmii localmente debemos crear un directorio en nuestro $HOME:

mkdir .wmii-3.x

en el cual copiaremos el fichero de configuración de wmii

cp /etc/X11/wmii-3.x/wmiirc $HOME/.wmii-3.x/

wmiirc es un bash script cuyo contenido es una serie de órdenes a wmiir para que configure wmii. Algunas opciones que podemos modificar son las siguientes

Configuración de Teclas

MODKEY=Mod1
UP=k
DOWN=j
LEFT=h
RIGHT=l

Mod1 se refiere a la tecla Alt, generalmente cambiamos esta tecla por la tecla Super (tecla Windows) para evitar conflictos con combinaciones de teclas de otros programas. Mod4 es la tecla Super.
k, j, h, l son las teclas de movimiento al estilo de vim. Si queremos usar en su lugar las flechas de dirección, sólo hay que reemplazarlas por Up, Down, Left, Right, respectivamente.

Temas de colores

Los temas de colores nos permiten modificar la apariencia de la barra de estado y las barras de títulos. Corresponden a la sección "Color tuples" del archivo wmiirc y consisten en códigos de colores hexadecimales. Puede encontrar varios ejemplos de combinaciones en la página oficial de Wmii. En caso de que no le guste ninguno, puede crear los propios basándose en los códigos antes mencionados.

Reglas para las columnas

Reglas de etiquetado (tagging)

Información de la barra de estado

Atajos de Teclas

Establecer atajos de teclado nos será de mucha ayuda para desenvolvernos con eficacia en wmii.
Para llevar a cabo esta tarea debemos editar la sección "Key Bindings" del archivo wmiirc. Basta echar un vistazo a los atajos que vienen por defecto para comprender su funcionamiento. Una posible combinación de teclas para lanzar, por ejemplo, el gestor de archivos Thunar, tomaría la siguiente forma:

        Key $MODKEY-h
                thunar &

Donde en la primera línea "MODKEY" es la tecla que anteriormente asignamos a dicha variable y "h" es, simplemente, la letra "h" del teclado elegida arbitrariamente para esta función; en la segunda, "thunar" es el comando a ejecutar para lanzar el gestor de archivos.

Otros ejemplos de atajos de teclado son

        Key $MODKEY-z
                amixer sset Master 5%-
        Key $MODKEY-x
                amixer sset Master 5%+
        Key $MODKEY-c
                amixer sset Master toggle

para bajar el volumen del Master en un 5%, subirlo en un 5% y silenciarlo, pulsando "MODKEY" junto con "z", "x" y "c", respectivamente.

Fondo de Pantalla

Utilizaremos feh para agregar un fondo de pantalla a nuestro Wmii. Para esto debemos instalarlo desde los repositorios:

# aptitude install feh

Luego, modificaremos el archivo wmiirc agregando la siguiente línea al final de la sección "Misc":

feh --bg-scale (ruta de la imagen que queremos de fondo) &

La opción --bg-scale hará que nuestra imagen quede escalada. Además, hay otras opciones como --bg-tile (mosaico), --bg-center (centrado), etc. Para más información, ver la página man de feh.

3.3 Añadiendo Scripts