Notxor tiene un blog

Defenestrando la vida


Mi configuración de i3wm

A raíz de publicar algunas capturas de pantalla de mi escritorio, hablando de Emacs, las preguntas que me han llegado no han sido sobre el editor, sino sobre mi configuración de i3wm. En algunas ocasiones ya he mencionado que utilizo ese gestor de ventanas. La mayoría de las configuraciones son las que se ponen por defecto, pero he personalizado todo lo que he podido para adaptarlo a mis manías.

Lo detallo por puntos en lugar de poner todo el fichero de configuración, porque supongo que no todos los ajustes que yo he hecho para mí, le sirvan o sean agradables para el resto. Algunos sí, otros no. La mayoría son combinaciones de teclas para lanzar las aplicaciones que utilizo más frecuentemente y eso es algo muy personal. El resto lo detallo.

Escritorios

Uno de los cambios que tengo hechos me lo sugirió «deesix» un buen amigo del IRC y el CAAD. Consistía en cambiar el acceso a los escritorios. Por defecto, la mayoría de las configuraciones utilizan las teclas numéricas para cambiar de escritorio. Yo configuré las teclas de función. Eso me permite utilizar hasta 12 escritorios.

# switch to workspace
bindsym $mod+F1 workspace 1
bindsym $mod+F2 workspace 2
bindsym $mod+F3 workspace 3
bindsym $mod+F4 workspace 4
bindsym $mod+F5 workspace 5
bindsym $mod+F6 workspace 6
bindsym $mod+F7 workspace 7
bindsym $mod+F8 workspace 8
bindsym $mod+F9 workspace 9
bindsym $mod+F10 workspace 10
bindsym $mod+F11 workspace 11
bindsym $mod+F12 workspace 12

# move focused container to workspace
bindsym $mod+Shift+F1 move container to workspace 1
bindsym $mod+Shift+F2 move container to workspace 2
bindsym $mod+Shift+F3 move container to workspace 3
bindsym $mod+Shift+F4 move container to workspace 4
bindsym $mod+Shift+F5 move container to workspace 5
bindsym $mod+Shift+F6 move container to workspace 6
bindsym $mod+Shift+F7 move container to workspace 7
bindsym $mod+Shift+F8 move container to workspace 8
bindsym $mod+Shift+F9 move container to workspace 9
bindsym $mod+Shift+F10 move container to workspace 10
bindsym $mod+Shift+F11 move container to workspace 11
bindsym $mod+Shift+F12 move container to workspace 12

# cycle workspaces
bindsym Ctrl+$alt+Right workspace next
bindsym Ctrl+$alt+Left workspace prev

Todo bastante simple de entender, así que no daré más explicaciones para no ponerme muy pesado. Añadí también un par de combinaciones de teclas para «ciclar» escritorios, que suelo utilizar bastante para cambiar rápidamente entre ellos combinada con el ciclado de ventanas, o directamente por el menú de ventanas que cuento en el siguiente apartado.

Menú de aplicaciones

Otro cambio que he realizado es la utilización de rofi en lugar de dmenu. ¿Por qué utilizo rofi? Pues porque me permite más juego que el simple ─aunque efectivo─, dmenu. La instalación es sencilla y como dependerá de cada sabor de GNU/Linux, lo dejo al lector. Aquí está la configuración que yo utilizo:

# start rofi
bindsym $mod+d exec rofi -modi run -show run
bindsym $mod+i exec rofi -modi run -show drun -show-icons
bindsym $mod+Tab exec rofi -show window -show-icons

Como se puede ver está configurado para funcionar con tres combinaciones de teclas distintas. La habitual de todas las configuraciones con dmenu que es $mod+d y muestra un menú de todas las aplicaciones y scripts ejecutables que puedan estar en el path:

rofi-run.png

También está definida una combinación para que muestre las aplicaciones que se pueden encontrar en el menú de aplicaciones de GNU/Linux con su correspondiente icono.

rofi-drun.png

Y también otra que muestra una lista de ventanas de aplicaciones abiertas.

rofi-windows.png

Si los colores de rofi no gustan o no se ajustan a lo que queremos, está la utilidad de rofi-theme-selector para encontrar la que más se ajuste a nuestras necesidades.

Fondo de pantalla

El fondo de pantalla es algo que no se ve demasiado, porque suele estar tapado por las aplicaciones que estés utilizando en ese escritorio. Y cuando cambias a otro lo que suele ocurrir es que sea para lanzar casi inmediatamente otra aplicación que lo tapará. Sin embargo, el tener una foto o algo debajo que dé más sensación de escritorio o lo que la gente espera en un escritorio.

Para mostrar la imagen utilizo feh. Utilizo una fotografía de no mucha calidad que hice en el monasterio de Veruela con el móvil.

exec --no-startup-id feh --bg-fill /home/notxor/Imágenes/fondo-Veruela.jpg

Barra de estado

He probado todas las opciones de línea de estado que hay para i3wm. Tanto i3blocks, como i3status o py3status. A todos les he encontrado ventajas e inconvenientes y supongo que todo va en gustos. Lo que estoy utilizando últimamente es el bumblebee-status. Es bastante más agradecido visualmente, pero tiene pocas ventajas más sobre otras opciones.

De los themes que trae por defecto no me cuadraba ninguno con los colores que suelo configurar en los escritorios. De todos los temas probados el que más se acercaba a mis gustos fue el llamado powerline, pero le cambié los colores para ajustarlo a los de mi escritorio. Nada complicado, porque los temas se definen en archivos json.

La configuración en el fichero config de i3wm es la siguiente:

bar {
 	position bottom
	tray_output none
	status_command bumblebee-status -m nic disk:root disk:home cpu load sensors memory battery cmus pasink pasource date time -p interval=2.5 date.format="%a, %Y-%m-%d" time.format="%H:%M" root.path=/ home.path=/home cpu.left-click="i3-sensible-terminal -e htop" date.left-click="kdialog --calendar 'Calendario'" nic.states=^down sensors.path=/sys/class/thermal/thermal_zone1/temp -t propio-powerline
}

Bumblebee permite añadir acciones de ratón y he añadido algunos, pero como al final la pereza de separar los dedos del teclado me vence hace tiempo que no los uso. Tampoco uso muchas aplicaciones con tray icons.

Es recomendable leer el wiki de bumblebee-status para ver todas las opciones y módulos que podemos configurar. Algunos son muy especiales, como por ejemplo cmus que es el reproductor de sonido preferido y que siendo un reproductor para consola, no es del gusto de todo el mundo.


Comentarios