Noticia DWM, uno de los gestores de ventanas más eficientes

Desde hace unos cuantos años ando usando gestores de ventanas muy ligeros. Comencé con Fluxbox, luego OpenBox al instalar la distribución CrunchBang, de ésta pasé a Xmonad y por último, DWM, gestor de ventanas en el que se basa Xmonad. De hecho, Xmonad es un clon de DWM escrito en Haskell en lugar de C.

Dicho lo anterior, considero que he probado unos cuantos gestores como para llegar a la conclusión (personal, por supuesto), de que DWM sin duda es el mejor de todos, sobre todo en cuanto a eficiencia y capacidad de personalización. En éste artículo trataré de explicar paso a paso cómo instalarlo y realizar una pequeña introducción a su uso.


Instalación


En este caso, no se va a instalar DWM de la manera convencional a través de apt, clonaremos directamente su repositorio, para ello:


$ git clone http://git.suckless.org/dwm


Una vez descargado, nos metemos en el directorio. El fichero más importante en términos de configuración es config.def.h. En dicho fichero se realizarán todas las modificaciones. Ojo, éste fichero es el que viene por defecto, para poder compilar es necesario que el fichero se llame config.h. Una vez ejecutemos make, él se encargará de crearlo si no existe.

Antes de continuar, quizá sea interesante instalar unas cuantas herramientas, como por ejemplo dmenu, que permitirá lanzar cualquier programa. Para ello ejecutamos:


sudo apt-get install suckless-tools

Cambios a realizar antes de compilar


Antes de compilar, sería ideal cambiar como mínimo qué terminal queremos que DWM ejecute al pulsar ALT+Shift+Enter. Para ello modificamos en el fichero config.def.h, (o config.h si ya has creado la copia) la siguiente línea:


static const char *termcmd[] = { "st", NULL };


Por vuestro terminal preferido, en mi caso Terminator:


static const char *termcmd[] = { "terminator", NULL };


Aún queda hacer alguna cosa más antes de instalar. Crear una sesión de DWM que nos permita ejecutarlo al entrar en el sistema. Nos hará falta un fichero que llamaremos dwm.desktop y colocaremos en /usr/share/xsessions, el contenido debe ser el siguiente:


[Desktop Entry]
Encoding=UTF-8
Name=Dwm-personalized
Comment=Dynamic window manager
Exec=dwm-personalized
Icon=dwm.png
Type=XSession


A su vez, crearemos un script que será ejecutado al entrar en ésta sesión, llamado dwm-personalized al que daremos permisos de ejecución y su contenido serán la ejecución de todos los programas que queramos ejecutar al inicio. El mío por ejemplo es:


#!/bin/bash

# setting keyboard layout /usr/share/X11/xkb/rules/base.lst
setxkbmap us intl

xset +fp /usr/share/fonts/local
xset fp rehash

nm-applet &
parcellite &
xfce4-volumed &

#Set status bar & start DWM
dwmstatus &

exec dwm


El script debe guardarse en /usr/bin con permisos de ejecución:


chmod +x dwm-personalized

Compilación e instalación


Ahora sí, dentro del directorio donde se encuentra DWM compilamos e instalamos:


sudo make clean install


Tras esto, salimos del gestor de ventanas actual y entramos con DWM.

Guía de uso


Una vez dentro, con Alt+Shitf+Enter se ejecutará el terminal definido anteriormente. Los comandos básicos son

- [Shift]+[Alt]+[Enter] – Lanzar la terminal
- [Alt]+[p] – Lanzar dmenu
- [Alt]+número del 1 al 9 – moverse entre las distintas etiquetas (o escritorios)
- [Shift] + [Alt] + número – Mover la ventana al número indicado
- [Alt] + [Shift] + c – Cierra la ventana actual

Exiten por defecto 3 tipos de layout, Tiled ([Alt] + t), Monocle ([Alt] + m) que muestra a pantalla completa una ventana, y podemos navegar entre ellas con [Alt] + j o [Alt] + k, y, por último Floating, para mover y redimensionar las ventanas a nuestro gusto.

Todos los atajos de teclado están en el fichero config.def.h, y allí será donde declaremos los nuevos.

Si prefieres usar la tecla de windows en lugar de [Alt], basta modificar la línea


#define MODKEY Mod1Mask


por


#define MODKEY Mod4Mask


y recompilar.

Modificando DWM a nuestro antojo


Existen multitud de parches que se pueden aplicar a DWM en su web oficial (http://dwm.suckless.org/patches/). Sin embargo uno de los más llamativos, colorear la barra de estado, no está disponible para la última versión (6.1). Yo he intentado escribir uno y actualmente funciona bastante bien. Se encuentra en github.com/algui91/myDWM y es tan fácil de ejecutar como descargarlo y escribir:


git apply dwm-6.1-simplestatuscolor.diff


Para usarlo es necesario usar dwmstatus y formatear el estado como sigue.

El parche tiene 7 colores, para indicar el color a usar se debe escribir el caracter \xCL al final del texto a colorear, donde CL es un dígito del 01 al 07. Por ejemplo, usando los tres primeros colores:


status = smprintf("L:%s\x01 A:%s\x02 U:%s %s\x03", avgs, tmar, tmutc, tmbln);


Coloreará L:%s con el color 1, L:%s con el color 2 y U:%s %s con el color 3.

Si quieres conocer los detalles de programación sobre el parche puedes consultar éste artículo.

Comentarios finales


Espero que os haya gustado el artículo y os animéis a probar éste tipo de gestores de ventanas. Desde que los descubrí, no he vuelto a usar los gestores convencionales, y no los hecho en falta. Os dejo una captura de pantalla:



The post DWM, uno de los gestores de ventanas más eficientes appeared first on Desde Linux.


0L9F7eLEwUc


Continúar leyendo...