Ya sobreviviste a la instalación del programa y ya puedes usar programas gráficos, pero este administrador de ventanas aún
no es tuyo, estás utilizando la visión de alguien más para un administrador de ventanas, afortunadamente, el software libre
permite ser modificado como tú quieras, en el directorio de descarga de DWM hay un archivo llamado config.h
, ábrelo, ya
sea con la terminal o con un programa gráfico, no importa.
config.h
es un archivo de cabecera del lenguaje de programación C, si ya tienes algún acercamiento puedes saltarte a la
siguiente imagen, si no, te recomiendo que revises la sección de introducción a C.
Primero quiero aclarar que hay algunas cosas que mi archivo va a tener y el tuyo no, esto es porque mi DWM ya tiene varios parches, y estos modifican los archivos del programa, no porque tengas algo mal, estoy usando config.def.h para que sea lo más similar posible al archivo que tienes, pero aún así va a haber diferencias.
La primera parte se explica bastante a sí misma, esto es algo que tienen en común todos los programas de suckless, no hay documentación, así que los mismos programas son su propia documentación. Este paradigma es algo complicado, por eso existe esta sección de la guía.
No va a haber mucho interesante hasta las líneas (que para mí son) 10 y 11, donde podemos cambiar la fuente del texto, por defecto es "monospace", puedes poner la que quieras, a mí me gusta poner Freemono, sólo asegúrate de tener instalada la fuente tipográfica que escojas, también puedes cambiar el estilo y el tamaño, te recomiendo probar varios hasta encontrar uno con el que estés cómodo. Puedes ver una lista de fuentes instaladas con el siguiente comando:
fc-list
La variable borderpx declarada en la línea 4 es la responsable de ese borde alrededor de las ventanas, puedes desactivarlo si cambias el 1 por un 0, esta variable es un valor booleano, suckless no recomienda el uso de variables de tipo bool, prefieren usar ints.
En la línea 24 se declaran los nombres de los tags, de manera predeterminada están del 1 al 9, pero puedes cambiarlos a lo que quieras.
En la línea 26 están las reglas que mencioné anteriormente, aquí puedes definir el comportamiento de las ventanas con 0 para falso y 1 para verdadero, si tu emulador de terminal no es st, cambia esa parte de la línea 34 por el nombre de tu terminal.
Lo siguiente que nos concierne es la línea 54, aquí se define la tecla Mod, por defecto es Mod1, o la tecla Alt, pero podemos cambiarla a lo que queramos, a continuación se listan las diferentes teclas Mod:
xmodmap -pm
La siguiente parte que debes conocer es la que empieza en la línea 64. Asegúrate de modificar la línea 66 si tu emulador de terminal no es st, sólo cambia st por el que utilices, en mi caso, yo uso alacritty, así que lo puse ahí. Si quieres programar tu propia combinación de teclas debes añadir una línea similar a las demás, cada palabra va separada por comillas en lugar de espacios, no puedes encadenar dos comandos (ya sea con ; || ó &&) y siempre deben terminal con NULL, por ejemplo:
static const char* scrsht[] = { "imlib2_grab", "/home/user/s.png", NULL};
Toma una captura de pantalla y la guarda como s.png en el directorio home del usuario user, esta línea por sí sola no hace nada, ahora veremos cómo ligarla a una tecla:
Aquí es donde modificas las teclas y sus acciones, como puedes ver, la todas las teclas requieren que presiones la tecla Mod para correr un comando, esto es porque también las necesitas para escribir en el teclado, pero no todas las teclas son para eso, como la tecla de imprimir pantalla, que toma una captura de pantalla, si agregas lo siguiente a esta parte del código, la tecla de Imprimir pantalla va a ejecutar el comando de arriba al ser oprimida:
{ 0, XK_Print, spawn, {.v = scrsht} },
La palabra spawn sirve para ejecutar comandos, es la que vas a poner siempre que quieras programar una combinación de teclas. En este caso, tenemos un 0 en lugar de MODKEY porque no queremos tener que presionar la tecla Mod para tomar una captura, sólo la tecla de imprimir pantalla.
Para terminar, aquí es donde se define el comportamiento de los botones, recomiendo que no toques esta parte si no sabes lo que haces, aunque los botones no sean vitales para el uso del programa, es mejor evitarse dolores de cabeza al romper algo.
Ya que terminaste con la configuración del programa tienes que recompilarlo y reiniciar Xorg para que los cambios hagan efecto, si no compila, es porque algún cambio hiciste mal, revisa el error y ve a la línea que te indique, seguramente te faltó una comilla, un punto y coma o una llave, en cualquier caso, sólo lee el mensaje de error, muchas veces ahí dice cómo arreglarlo.