Este es uno de los capítulos del tutorial Construye tu propio escritorio con bspwm. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.
En este primer capítulo vamos a seguir los pasos básicos para instalar bspwm y sxhkd
, que como te indiqué en la introducción son, el gestor de ventanas y el gestor de atajos de teclado. Además de esto realizaremos alguna que otra modificación sobre la configuración que viene de caja, para asegurarnos que todo funciona según nuestros gustos, y te indicaré algunos atajos de teclado para facilitarte la transición.
Antes de seguir, indicarte que es importante que al menos conozcas los atajos de teclado básicos, porque de otra forma, la experiencia será frustrante, y te lo digo, porque lo he experimentado en mis propias carnes. La primera vez que probé i3, y me di cuenta que no era capaz de hacer absolutamente nada me sentí realmente perdido. Es necesario, al menos conocer estos atajos de teclado antes de lanzarte a iniciar bspwm y sxhkd.
Instalar bspwm y sxhkd
Instalación
Tanto en Ubuntu y derivados, como en el caso de Arch, Manjaro y derivados, la instalación de bspwm y sxhkd, es decir, del gestor de ventanas como del gestor de atajos de teclado es una operación realmente básica. Para el primer caso, para Ubuntu y derivados, simplemente tienes que ejecutar,
sudo apt install bspwm sxhkd
En el caso de Arch, Manjaro y derivados, la instalación se resuelve con lo siguiente,
sudo pacman -S bspwm sxhkd
Una vez instalados bspwm y sxhkd, y antes de cerrar la sesión, e iniciar una sesión en tu nuevo y flamante gestor de ventanas, es necesario configurar y realizar una primera aproximación para mejorar tu flujo de trabajo.
Así, lo que tienes es que copiar los archivos que se encuentran en el directorio /usr/share/doc/bspwm/examples/
en tu directorio de configuración. Crea los directorios y copia, para ello ejecuta las siguientes instrucciones en una terminal,
mkdir -p ~/.config/bspwm
mkdir -p ~/.config/sxhkd
cp /usr/share/doc/bspwm/examples/bspwmrc ~/.config/bspwm
cp /usr/share/doc/bspwm/examples/sxhkdrc ~/.config/sxhkd
El siguiente paso es asegurar que el archivo de configuración de bspwm, bspwmrc
es un archivo ejecutable. Aunque simplemente podrías comprobarlo, ejecuta la siguiente instrucción y así te aseguras,
chmod +x ~/.config/bspwm/bspwmrc
Un vistazo al archivo de configuración de bspwm
Una vez tienes los archivos de configuración en su sitio, ha llegado el momento de darle un vistazo, y en su caso, modificarlos a tu conveniencia. Para que te hagas una idea, el archivo de configuración de bspwm, tiene un aspecto como el que ves a continuación,
#! /bin/sh
pgrep -x sxhkd > /dev/null || sxhkd &
bspc monitor -d I II III IV V VI VII VIII IX X
bspc config border_width 2
bspc config window_gap 12
bspc config split_ratio 0.52
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc rule -a Gimp desktop='^8' state=floating follow=on
bspc rule -a Chromium desktop='^2'
bspc rule -a mplayer2 state=floating
bspc rule -a Kupfer.py focus=on
bspc rule -a Screenkey manage=off
Lo primero es indicarte que este no es mas que un script
. Un mas o menos complejo script
, en el que vas a configurar el comportamiento de tu gestor de ventanas. Por ejemplo, la primera de las líneas,
pgrep -x sxhkd > /dev/null || sxhkd &
En esta línea lo primero que se hace es detener sxhkd
y volverlo a iniciarlo en segundo plano con sxhkd &
.
A partir de aquí, todas las líneas que comienzan con bspc
lo que hacen es modificar y adaptar el comportamiento de bspwm
. Las primeras líneas, las que comienzan con bspc config
se refieren al propio gestor, mientras que las que comienzan con bspc rule
se refiere al comportamiento de las ventanas en el gestor. Por ejemplo,
bspc config border_width 2
bspc config window_gap 12
Con estas dos líneas estableces el borde de cada una de las ventanas a 2
y el espacio o hueco que queda entre ventanas a 12
.
Por otro lado con esta por ejemplo,
bspc rule -a Gimp desktop='^8' state=floating follow=on
Lo que haces es que Gimp
vaya al escritorio número 8 y se encuentre en estado flotante.
Escritorios
Es importante que tengas en cuenta que en la mayoría, por no decirte en todos, los entornos de escritorio y gestores de ventanas en Linux, se utilizan múltiples escritorios. En el caso de los Tiling Window Manager, gestores de ventana de tipo mosaico, esto tiene mayor importancia.
El hecho de que las ventanas vayan a una posición determinada de tu escritorio, implica que tienes que gestionar donde quieres. Por ejemplo, puedes definir que todas las aplicaciones de edición gráfica vayan a un determinado escritorio.
Por ejemplo, en mi caso, tengo definido que los terminales siempre se abran en el escritorio 7
. Yo actualmente tengo 2 monitores, de forma que tengo que 6 escritorios se encuentran en una pantalla y del 7 al 10 en la otra pantalla. Esto es así, por el simple hecho de que tengo escritorio partido, y en la primera mitad se encuentra del 1
al 6
… Esta es la gran ventaja de los gestores de ventana tipo mosaico, los puedes adaptar exactamente a tus necesidades o flujo de trabajo.
Un vistazo al archivo de configuración de sxhkd
En el caso del archivo de configuración de sxhkd
, este es un poco mas extenso, pero no por ello mas complejo. Simplemente lo que vas a encontrar son atajos de teclado junto a comandos para o bien lanzar una aplicación o bien trabajar con bspwm
.
Así, las primeras líneas son las mas importantes,
# terminal emulator
super + Return
urxvt
# program launcher
super + @space
dmenu_run
Con super + Return
asocias esa combinación de teclas a urxvt
. Indicarte que urxvt
es un emulador de terminal. Aquí tienes dos opciones o instalas este emulador de terminal, o bien, instalas el tuyo propio. En mi caso mi recomendación es que instales o bien kitty o bien alacritty, por la rapidez de los mismos y las posibilidades de ejecución.
Así en mi caso, esta instrucción se convierte en,
super + Return
kitty
Siempre puedes recurrir a la configuración de
sxhkd
para saber que atajo de teclado tienes asignado a que operación o aplicación. Así en cualquier momento abre un terminalsuper + Return
y mira en~/.config/sxhkd/sxhkdrc
para descubrir el atajo de teclado que no recuerdas.
El siguiente atajo de teclado super + @space
asocia esta combinación a dmenu
.
Si no conoces dmenu
indicarte que es un lanzador ligero. Este lanzador se sitúa en la parte superior del escritorio. Es importante que conozcas esto, porque es la manera de iniciar una aplicación o incluso de salir de tu escritorio.
Recuerda que para lanzar cualquier aplicación lo tienes que hacer recurriendo a
dmenu
. La combinación de teclas para lanzar cualquier aplicación essuper + @space
.
Es importante que conozcas, e incluso, que tengas anotados estos atajos de teclado hasta que te habitúes a ellos. Así te indico algunos de los mas interesantes,
super + alt + q
te permite salir de bsqwmsuper + w
cierra una ventanasuper + m
cambia entre el modo mosaico y el modo de una única aplicaciónsuper + {h,j,k,l}
, consuper + h
cambias el foco a la aplicación que está a tu izquierda. Consuper + j
, lo haces a la que esté abajo, conk
a la que esté arriba y conl
a la que esté a la derecha. Fíjate en la notación, que es la misma que aparece en el archivo de configuración.super + alt + {h,j,k,l}
redimensiona la ventana en la que te encuentres hacia la derecha, arriba, abajo o izquierda respectivamente.
Recuerda sobre todo la primera de las instrucciones
super + alt + q
que es la que permite salir de bspwm.
De cualquier forma, te recomiendo que le des un vistazo al archivo de configuración de sxhkd
antes de reiniciar la sesión y anotes aquellos atajos de teclado que te resulten mas interesantes.
Una última observación
Con esta sencilla configuración tanto del gestor de ventanas como del gestor de atajos de teclado, tienes la configuración mas básica. No tienes ni panel superior, ni área de indicadores, ni nada… Se trata de una configuración muy básica, y es muy posible que te falte información para poder trabajar con suficiente soltura.
Por esta razón es interesante que instales algunas herramientas adicionales tal y como te indiqué en la introducción. Pero esto lo veremos mas adelante, en los siguientes capítulos.
El vídeo
Conclusión
Llegados a este punto en la instalación de bspwm y sxhkd, ya te habrás dado cuenta de la importancia que se le da al teclado y en particular a los atajos de teclado, y la poca importancia que se da al ratón. Si, el ratón ni siquiera aparece por ninguna parte. Y es que, como he indicado en otras ocasiones, los gestores de ventana tipo mosaico están orientados al uso del teclado.
El uso del teclado, lo tienes que tener presente en tu relación con este tipo de gestores de ventanas, y si quieres ser lo mas productivo posible memorizar los atajos de teclado y olvidar el uso del ratón en la medida de lo posible.
Imagen de portada de Linus Mimietz en Unsplash
Hola, Por vaor puedes compartirnos el script para el bashrc para tener la consola igual a la tuya, esta increible. Muchos saludos.
No estoy utilizando Bash, estoy utilizando Zsh con el tema «Powerlevel10k»
Un saludo y gracias por comentar.