Una barra de estado para bspwm

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.

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

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

1 comentario en “Una barra de estado para bspwm

  1. UB
    Ubik hace 3 años

    He visto el vídeo y, si me permites el atrevimiento, un truco sencillo para editar las configuraciones es ir matando el panel desde un emulador de terminal (pkill polybar), y relanzarlo: .config/polybar/launch.sh –material.
    En la terminal aparecerán todos los módulos que no están correctamente editados para tu máquina. Si por ejemplo no tengo instalado «mpd», aparecerán todos los errores que se ven en el vídeo. Para saber qué archivos contienen lo que da problemas:
    $cd .config/polybar/material/
    En distros debian:
    $rgrep -l mpd *
    bars.ini
    config.ini
    modules.ini
    preview.ini

    Para las no debianfriendly:
    $grep -r -l mpd *
    bars.ini
    config.ini
    modules.ini
    preview.ini

    Y ahora sólo queda ir abriendo los archivos con el editor favorito para editarlos. En el caso de «mpd» y si no quieres instalarlo (craso error si tienes música en tu ordenador), bastará quitar (creo) las menciones del «bar» que lo llaman: config.ini y preview.ini, ya que los otros archivos son las configuraciones del módulo.

    Polybar es una pasada. Y sí, puedes echar horas ajustando cosas. No veas lo que me costó que distribuciones no Arch (Debian y Void, por ejemplo) pudiesen mostrar las actualizaciones con el módulo update 🙂

    Un saludo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *