Una barra de estado para bspwm
La siguiente de las herramientas o aplicaciones imprescindibles a instalar es sin lugar a dudas una barra de tareas, panel, o… como quieras denominarlo. Básicamente, me refiero al panel que se sitúa en la parte superior o inforior de tu sistema operativo. Y es que como comenté en el capítulo anterior, sin una barra de tareas, aunque podemos realizar todas las tareas en nuestro entorno de escritorio, lo cierto es que nos faltará información de contexto. Esta información de contexto, es la que nos va a proporcionar Polybar, una vez la tengamos perfectamente configurada. Existen diferentes barras de tareas o barras de información que son compatibles con bspwm. Sin embargo, desde el principio, a mi en concreto, me ha conquistado Polybar, y es la herramienta que utilizo por defecto.
Aunque tienes a tu disposición un extenso tutorial de como configurar y personalizar Polybar hasta el mas mínimo detalle, y que puedes consultar en Polybar, lo cierto es que en el presente tutorial, no quiero centrarme en eso, sino simplemente en que tengas un panel funcional. Así, te indicaré algunas configuraciones para que te sea sencillo instalarlo. Luego, posteriormente, ya tendrás tiempo de personalizarlo y configurarlo a tu gusto, y según tus necesidades.
Una barra de estado para bspwm
¿Que es Polybar?
Como ya te he insinuado anteriormente, Polybar es una herramienta con el que podrás construir tus barras de estado, tantas como necesites, de forma sencilla. Esta aplicación te permite construir esos paneles o barras de estado, de forma modular. Esto quiere decir, que tienes distintos módulos a tu disposición para que los dispongas y configures según tus necesidades. Así, tienes módulos de información, otros de menú, otros de estado, y mas.
Y no solo tienes una serie de módulos preconfigurados, sino que además puedes crear tus propios módulos y adaptarlos perfectamente a tus necesidades. Vamos que puedes crear una barra de tareas o un panel, según tu propio criterio. Polybar te permite construir tu propio entorno de escritorio. El principal objetivo de Polybar es ayudarte a crear increíbles barras de estado.
Instalación
Polybar se encuentra disponible en la mayoría de las distribuciones, con lo que su instalación es tremendamente sencilla. Así, para el caso de Ubuntu y derivados, la instalación la puedes hacer con,
sudo apt install polybar
Mientras que en el caso de Arch, Manjaro y derivados, la instalación es tan sencilla como ejecutar,
sudo pacman -S polybar
Configuración
Existe una configuración que puedes utilizar por defecto, y comenzar tu personalización a partir de aquí. Esta configuración la tienes disponible en /usr/share/doc/polybar/config
, así que puedes utilizarla ejecutando las siguientes instrucciones en una terminal,
mkdir -p ~/.config/polybar/
cp /usr/share/doc/polybar/config ~/.config/polybar
A partir de aquí ya puedes iniciar Polybar, con tan solo ejecutar la siguiente instrucción polybar example
. Sin embargo, mi recomendación es que hagas uso de algunos de los temas que te voy a indicar en el siguiente apartado.
Una gran colección de temas
Llegados a este punto, y tal y como te he indicado en el punto anterior, voy a partir de una serie de temas predefinidos para Polybar, que son realmente espectaculares. A partir de ellos, tan solo tienes que ir modificando y adaptando, hasta conseguir tu barra de estado predefinida. Sin embargo, para esto te recomiendo que lo hagas haciendo uso de las copias de seguridad, para evitar algún que otro disgusto. Estos temas predefinidos, los puedes encontrar en Polybar Themes. Sin embargo, previos a la instalación necesitarás una serie de dependencias,
rofi
pywal
calc
networkmanager_dmenu
Para instalar estas herramientas ejecuta los siguientes comandos dependiendo de tu distribución,
sudo apt install rofi apcalc
pip3 install --user pywal
En el caso de networkmanager_dmenu
,
mkdir ~/.local/bin
git clone https://github.com/firecat53/networkmanager-dmenu.git
cd networkmanager-dmenu
cp networkmanager_dmenu ~/.local/bin
cp networkmanager_dmenu.desktop ~/.local/share/applications/
cd ..
rm networkmanager-dmenu
En el caso de Arch, Manjaro y derivados
sudo pacman -S rofi
yay -S calc networkmanager-dmenu
pip3 install --user pywal
Indicarte que en ambos casos puedes prescindir de networkmanager-dmenu
, no es necesario que lo instales, puedes implementar tu propio selector de red tal y como veremos en el siguiente capítulo de este tutorial.
Y además de esto también necesitarás algunas fuentes, como las siguientes para texto,
- Iosevka Nerd Font
- Fantasque Sans Mono
- Noto Sans
- Droid Sans
- Terminus
Y las siguientes para los iconos
- Iosevka Nerd Font
- Icomoon Feather
- Material Icons
- Waffle (Siji)
Respecto de las fuentes, no te tienes que preocupar en absoluto, porque las vas a descargar con el propio repositorio, lo cual es una verdadera ventaja.
Por último te queda instalar el repositorio y hacer algunos cambios,
cd
mkdir temporal
cd temporal
git clone --depth=1 https://github.com/adi1090x/polybar-themes.git
cd polybar-themes
chmod +x setup.sh
./setup.sh
En este paso anterior ya tendrás que elegir que estilo de tema quieres, si simple
o bitmap
. Elige la opción bitmap
.
Inicia tu barra
Para iniciar tu barra, tan solo tienes que abrir una terminal y ejecutar la siguiente instrucción,
bash ~/.config/polybar/launch.sh
Esto te devolverá un listado de todos los temas disponibles. Algo similar a lo que te muestro a continuación,
$ bash ~/.config/polybar/launch.sh
Usage : launch.sh --theme
Available Themes :
--blocks --colorblocks --cuts --docky
--forest --grayblocks --hack --material
--panels --pwidgets --shades --shapes
Selecciona el que mas te gusta y lo inicias. Por ejemplo, suponiendo que te decantaste por material
, tendrías que ejecutarlo de la siguiente forma,
bash ~/.config/polybar/launch.sh --material
Integrando Polybar con bspwm
El siguiente paso, es integrar polybar
con bspwm
. Esto es tan sencillo como editar el archivo ~/.config/bspwm/bspwmrc
y añadir la siguiente línea al inicio del mismo para el caso de que quieras elegir el tema material
. Para otros temas, simplemente, cambia la llamada.
$HOME/.config/polybar/material/launch.sh
Con estas dos sencillas líneas, ya lo tendrías perfectamente integrado.
Algunos retoques imprescindibles
Por defecto, estos temas vienen con una configuración por defecto que es necesario modificar y adaptar para que funcione correctamente en tu equipo, dado que no todos los módulos de Polybar, los vas a utilizar. O ni siquiera tienes el software para hacerlo, aunque siempre podrías instalarlo.
Así, el primer paso, es quitar aquellos módulos que no utilizaras. Para ello, tienes que editar el archivo config.ini
del tema que hayas elegido. Por supuesto, te recomiendo que realices una copia de seguridad del mismo.
Dentro de este archivo encontrarás estas líneas,
modules-left = launcher workspaces term files browser settings
modules-center = mpd
modules-right = updates alsa battery network date sysmenu
Estas son las que indican que módulos se verán en tu barra de estado. Como puedes observar, está dividido en tres secciones, la izquierda, modules-left
, la central, modules-center
y la derecha modules-right
. Así, por ejemplo, si no vas a utilizar mpd
, simplemente lo tienes que quitar,
modules-center =
Igualmente tendrás que proceder con el resto, seleccionando aquellos que necesites y eliminando de la configuración los que no necesites.
Es importante que le des un vistazo tanto al módulo de batería y al de red. Así tendrás que quitarlo o modificarlo y adaptarlo a tu configuración real.
También es posible que quieras cambiar la posición de la barra de estado o las dimensiones. Para el caso de la posición, tienes un parámetro en config.ini
, que es bottom = true
. Este es para que la barra se sitúe en la parte inferior, si quieres que esté en la parte superior, simplemente cambia a bottom = false
.
El vídeo
Conclusión
Te recomiendo que le des un vistazo al repositorio de GitHub de los temas de Polybar, para ver todas las opciones y posibilidades que te ofrecen.
Imagen de portada de Tony Lee en Unsplash
La entrada Una barra de estado para bspwm aparece primero en Atareao.