Dynamic Window Manager
dwm es el Window Manager que actualmente uso en Archlinux. Mi experiencia usándolo es apenas de unas cuantas semanas, así que mi conocimiento sobre su manejo es algo limitado pero trataré de explicar detalladamente lo necesario para poder instalarlo y configurarlo.
Quisiera destacar primero que su configuración es ridículamente fácil. Y solo como datos, mencionar que es el papá de otros TWM como Xmonad y Awesome, está orientado al minimalismo; el código fuente está en C y uno de las ‘preocupaciones’ de los desarrolladores es que la longitud del código no sobrepase las 2000 lineas; algo gratificante a la hora de modificar el código fuente y al recompilar.
> Instalación
La instalación en Archlinux se hace con el clásico pacman -S dwm
Ya descargado el paquete, los requisitos previos para la compilación de dwm son los paquetes base-devel y abs
# pacman -S base-devel abs
Y actualizamos los scripts de los repositorios de abs
# abs
Lo siguiente es ubicar el directorio para dwm que está en la ruta /var/abs/community/dwm el cual contiene los archivos necesarios para su compilación y configuración, y después copiar este directorio a algún lugar al cual tengamos acceso como usuario, entonces:
$ cp -r /var/abs/community/dwm ~/dwm
Nos movemos a ~/dwm y…
$ makepkg -i
Ahora ya tendremos dwm compilado e instalado listo para usarlo. La configuración por default es básica y no tiene un buen aspecto, pero funciona.
Ahora la parte divertida…
> Configuración
Primero que nada. el archivo que controla todo el asunto de la configuración es config.h (Hay que hacerle un copia como respaldo, si o si… créeme)
Este archivo está bastante bien comentado como para ponerme a explicar cada cosa, pero como dije que esto era para novatos, pues voy a explicar un poco cada parte del archivo.
Pasamos a editarlo con nuestro editor de texto.
editor ~/dwm/config.h
La primer seccción define la apariencia de la barra que viene por default donde hay que establecer en hexadecimal los colores que queramos para la barra, fuente, el borde, así como el tipo y tamaño de fuente.
Luego viene un arreglo cuya variable es *tags[] Aquí se definen los identificadores (separados por comas y con doble comilla) que querramos tener para nuestros ‘workspaces’.
La siguiente parte es otra variable rules[] donde se definen en que workspace y de qué modo se abrirán las aplicaciones que especifiquemos.
En la columna ‘titulada’ tags mask vamos a definir el lugar donde se abrirá la aplicación.
1 << 2
Donde el 2 es el workspace numero 3 (se cuenta a partir del 0) y el 1 es el orden de la ventana.
Más adelante está una linea #define MODKEY Mod1Mask
Aquí definimos la tecla que querramos establecer como modkey, en mi caso yo tengo la famosa tecla ‘win’ así que pongo Mod4Mask.
Luego tenemos una sección comentada como /* commands */ donde establecemos algunos atajos básicos.
Estas lineas establecen los parámetros para ejecutar dmenu y la terminal con sus propios atributos. dmenu permite tambien configurar colores y tipo de fuente entre otras cosas, por default tomará los valores que hayamos asignado para la barra principal.
En la sección siguiente el arreglo con la variable keys[] es donde se definen los atajos que habrá de leer dwm para ejecutar las acciones. Siendo mas específico, la columna ‘key‘ es la que define la segunda (o tercer) tecla a utilizar. Por lo general será modkey + tecla
Como en el caso de la siguiente linea:
/* modifier key function argument */ {MODKEY|ShiftMask, XK_c, killclient, {0} },
Donde XK_c pertenece a la tecla ‘c’, y su función es cerrar una ventana (cliente). ShiftMask es la tecla Shift. El atajo sería entonces «win + shift + c»
o esta linea…
/* modifier key function argument */ TAGKEYS( XK_4, 3)
Donde la tecla «XK_4» (la tecla 4) servirá para moverse al workspace número 4. «win + 4»
La última sección son acciones para el mouse, que la verdad uso casi nunca así que no las explicaré. (Tip: ModKey + click derecho = ampliar/reducir ventana)
Después de hacer todas las modificaciones y haber guardado el documento hay que recompilar y reiniciar dwm para que los cambios sean efectivos. El trabajo se hace con:
$ makepkg -g >> PKGBUILD
y$ makepkg -efiCerramos dwm con Modkey + Shift + q y volvemos a iniciarlo. Esto es quizás el único inconveniente que le encuentro a dwm, más si eres nuevo y si tienes que modificar cosa por cosa.
> Iniciar dwmSimplemente habremos de agregar al archivo ~/.xinitrc la linea
exec dwmFunciona para SLIM y con el comando startx Para GDM se agrega a ~/.Xclients la misma linea y en el menu de sesión de GDM se escoje «Run XClient Script»
> WallpaperMediante el paquete feh (pacman -S feh) es fácil hacer esto. En el archivo .xinitrc agregamos
sh ~/.fehbg &Y en el archivo .fehbg es donde tendremos señalado qué imagen cargará como fondo.
feh --bg-scale /home/usuario/Imagenes/tralala.pngAquí pongo mis archivos de configuración:
[ config.h | .xinitrc ]
Y mostrándolo en acción aquí.
Y ya, creo que es todo lo básico. Más adelante postearé un manual para tener conky en la barra con ayuda de dzen, y quizás un post dedicado a dmenu, que para mí es la aplicación mas útil que he conocido con dwm.
Links:
– Página oficial (Con parches, tutoriales, configuraciones, etc…)
– Wiki en Archlinux
– dwm en Windorks
– dwm en Debian————————-
E D I T
Me he enterado de un sencillo script para reiniciar dwm sin la necesidad de salirnos de la sesión y perder las aplicaciones abiertas.
:wq
Excelente post tan pronto tenga tiempo propabaré el dwm haber que tal va
SRSLY?
But DWM is 4 the elite of BOFHs no 4 stupids lusers.
HOWTOs are so gay
😦 entonces he aprendido todo lo que se de la manera mas gay 😦
soy luser y gay 😦
me odio por no haber nacido con el conocimiento…
Gracias por el post
Estoy testeando para aver si me lo quedo 😛
no se por que ultimamente he tenido una hueva impresionante de no querer hacer nada.
Hola que tal, trato de instalar el dwm, pero al momento de dar el comando :makepkg -i:, me sale un error el cual dice.,
mkdir: no se puede crear el directorio /home/ulises/dwm/src = permiso denegado.
soy relativamente nuevo en Arch, solo he logrado instalarlo con xfce4 y OpenBox, mas sin embargo me gusta mucho la idea de no poder usar mucho el mouse por eso quiero instalar dwm, mas no puedo., alguno de ustedes me puede ayudar?
saludos
Dale permiso a tu usuario sobre el directorio /var/abs/community/dwm
chown -R usuario /var/abs/community/dwm/
Y ahora intenta copiar de nuevo todo a tu /home y etc…
lo que hago es lo siguiente, en root hago esto:
– pacman -S dwm
– pacman -S base-devel abs
– abs
– cp -r /var/abs/community/dwm /home/ulises/dwm ///* o tambien estando dentro de mi usuario.
– sudo cp -r /var/abs/community/dwm dwm
Ya dentro de mi usuario hago el paso final, en el cual me sigue arrojando el mismo error.
– makepkg -i
Hice lo que me comentaste al principio,
– chown -R usuario /var/abs/community/dwm/
pero tampoco asi me dio resultado.
me sigue saliendo el mismo error
– mkdir: no se puede crear el directorio /home/ulises/dwm/src = permiso denegado.
es por que no puede crear un directorio llamado src.
espero alguien me pueda ayudar.
saludos
@Ulises:
No hagas como root el asunto de copiar (cp -r /var/abs…)
Y sobre lo de chown… No sé si preguntar esto pero… ¿Sustituiste «usuario» por tu nombre de usuario?
Si sigues teniendo problemas te diré otra manera de instalarlo.
lo logre, cierto no era con root., lo que hice de diferente fue esto:
-abs ****///como root
-chown -R ulises /var/abs/community/dwm/ ///*** como root
…. me sali de root y entre a mi usuario
-cp -r /var/abs/community/dwm/ dwm
-Entro al directorio dwm
-makepkg -i
y ahora si, si funciono.
Mil gracias…
saludos
[…] es horrible; tengo problemas con ese jodido MinGW para compilar dwm […]
Hola que tal, he instalado el dwm, es maginifico, pero al momento de volver a compilar, hago esto:
– makepkg -g >> PKGBUILD
– makepkg -efi
me sale el siguiente error:
ERROR: pkgname is not allowed to be empty.
he buscado informacion al respecto pero no he encontrado nada.
No me podrias dar una mano, por que no se como salir de este problema ahora.
Saludos.
Nunca había visto ese error.
Me di cuenta que a partir de no-sé-qué-versión no es necesario volver a crear el PKGBUILD, así que sáltate ese paso e inténtalo de nuevo.
En caso de que siga sin funcionar, suena tonto pero… respalda tu config.h y vuelve a compilar de nuevo.
Y por cierto…
¿Lo estás compilando desde las fuentes en Slackware? Lo digo porque tienes el logo de Slackware como avatar =P
Si ese es el caso, habría que ver si hay algo extra que se tenga que hacer (altamente probable =P).
Hola, saben como puedo hacer que las aplicaciones que requieren gtk (firefox) se vean con algun tema bonito, porq por default las interfaces parecen sacadas de windows 98
Instalando algún tema gtk en /usr/share/themes (o en $HOME/.themes de manera local) y con lxappearance seleccionarlo.
habia intentado instalar dwm sin exito, pero este tuto se ve muy bueno 🙂 en cuanto salga del trabajo lo intentaré denuevo.
Saludos y nos vemos en #archlinux-es
Funcionando perfecto!!!! le bajare algunos parches y a seguir explorando.
gracias por el how to 😉
[…] mejor gia que econtre es esta: https://cyb3rpunk.wordpress.com/2010/02/26/dynamic-window-manager/ AQUI LA COMBINACION DE […]