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.
Otra de las herramientas imprescindibles para tener tu entorno de escritorio perfectamente configurado y funcional es, sin lugar a dudas, un lanzador de aplicaciones. Si bien, en el capítulo anterior del tutorial, referente a la barra de estado, ya tenías pre configurado un lanzador de aplicaciones, lo cierto, es que es una configuración básica. Así, en este capítulo del tutorial, vamos a darle una vuelta de tuerca. No solo vas a cambiar el aspecto estético del lanzador de aplicaciones, sino que además le vas a dotar de un mejor configuración. Por ejemplo, vas a introducir la búsqueda difusa en las búsquedas, para que estas sean mas eficaces y eficientes.
En cuanto al lanzador de aplicaciones a elegir, yo me he decantado por Rofi. Se trata de una herramienta sencilla de configurar, pero con una gran cantidad de opciones, y sobre todo, con muchas posibilidades.
Por otro lado, para darle consistencia al lanzador de aplicaciones, con la barra da estado, será necesario, realizar algunos cambios estéticos en el lanzador de aplicaciones para que todo tenga una coherencia.
Un lanzador de aplicaciones para bspwm
Sobre Rofi
Pero antes que nada, es necesario introducir a Rofi. Rofi, es un clone de simpleswitcher, una herramienta sencilla para cambiar entre ventanas de forma sencilla y funcional. Posteriormente, se extendieron sus funcionalidades, y se le añadió la posibilidad de lanzar aplicaciones y también lanzar sesiones ssh. Pero además, puedes utilizarlo como un reemplazo de d-menu
. Como ves se trata de un herramienta muy polivalente, una verdadera navaja suiza.
Rofi, te facilita la selección de una opción en una lista. Esta lista puede ser una aplicación, una ventana, una sesión ssh
, o simplemente una lista de posibilidades que tu le pases, para que el usuario elija la que mas le guste.
En mi caso particular, además de lanzar aplicaciones, lo tengo configurado para que me busque directamente en atareao.es, también me permite reiniciar el equipo, o incluso buscar emojis. Como ves las opciones y posibilidades que te ofrece esta herramienta son mas que espectaculares.
Instalación
Rofi es una herramienta que se encuentra disponible en los repositorios oficiales de las principales distribuciones, con lo que su instalación es tremendamente sencilla. Por ejemplo, en el caso de Ubuntu, tan solo tienes que ejecutar la siguiente instrucción en una terminal,
sudo apt install rofi
En el caso de Arch, Manjaro y derivadas, la instrucción a ejecutar es,
sudo pacman -S rofi
Una vez instalada es necesario configurar esta herramienta, sobre todo en lo referente al aspecto estético. Y es que recién salida de caja, es bastante simple. Para mi, lo mas importante es que tenga un aspecto lo mas coherente con el resto del entorno de escritorio. En este caso, dado que estamos utilizando bspwm
como entorno de escritorio y Polybar
como barra de herramientas, hay que intentar que todo utilice la misma tipografía, los mismos colores, o misma gama de colores, etc. Pero, claro, esto es a gusto del usuario.
Personalización
En mi caso, de nuevo, y al igual que hice con Polybar
, voy a recurrir al repositorio de GitHub de adi1090x, que de nuevo, tiene unos temas para Rofi, realmente espectaculares.
En mi caso, he intentado que tanto Polybar como Rofi, tengan el mismo aspecto estético, utilizando para el primero material, y para el segundo adaptando los colores, hasta que todo tenía un aspecto coherente.
El primer paso es clonar el repositorio. Para ello, simplemente ejecuta la siguiente instrucción en un terminal,
git clone https://github.com/adi1090x/rofi.git
cd rofi
chmod +x setup.sh
Ahora ejecuta ./setup.sh
y selecciona la resolución de pantalla que mas se adecua a tu configuración. Cuando lo ejecutes se instalarán las fuentes necesarias. No te preocupes, si tenías una configuración previa de Rofi, porque se realiza una copia de seguridad de la misma.
Ahora, ha llegado el de elegir el tema que mas se adecua a tu entorno de escritorio. Esta es probablemente la labor mas larga y tediosa, porque tienes muchas opciones que probar y no es tan sencillo, a primera vista como pudieras imaginar. De hecho, en mi caso todavía estoy dudando entre dos estilos.
Tienes que tener en cuenta que los lanzadores de Rofi que se encuentran en el directorio ~/.config/rofi/bin
seleccionan cada vez un tema de forma aleatorio. Lo cual hace la selección un poco mas compleja, porque además no sabes que tema estás viendo. Así que mi recomendación es que realices algunas modificaciones en los scripts para ver el tema en cuestión.
Pero no solo es esto, sino que además para cada uno de los estilos definidos también vas a encontrar diferentes temas. Por ejemplo,
dir="$HOME/.config/rofi/powermenu"
# random colors
styles=($(ls -p --hide="colors.rasi" $dir/styles))
color="${styles[$(( $RANDOM % 8 ))]}"
# comment this line to disable random colors
sed -i -e "s/@import .*/@import \"$color\"/g" $dir/styles/colors.rasi
# comment these lines to disable random style
themes=($(ls -p --hide="powermenu.sh" --hide="styles" --hide="confirm.rasi" --hide="message.rasi" $dir))
theme="${themes[$(( $RANDOM % 24 ))]}"
Mi recomendación es que elijas la combinación de colores que mas te guste, y la dejes prefijada en la variable color
y vayas probando los 24 temas.
Configuración
Una vez tengas el tema y los estilos que mas cuadran con tu entorno de escritorio, ha llegado el momento de dejar tu configuración definitiva. Para ello, crea un archivo llamado ~/.config/rofi/config.rasi
, con el siguiente contenido,
configuration{
}
@theme "style_1.rasi"
Por supuesto reemplaza style_1.rasi
, por el tema que hayas elegido, dejándolo también en el directorio ~/.config/rofi
, y por último los colores, que también deben estar en este directorio.
Y a continuación los scripts. Puedes crearte un directorio, y en el seleccionar y dejar aquellos scripts que quieras utilizar. Posteriormente, tienes que ir modificando cada uno de ellos y retocándolo para, por un lado, eliminar las referencias inexistentes. Por otro lado personalizar y retocar los iconos, porque dependiendo de la fuente que tengas seleccionada es mas que posible que no se vea como esperas.
Por ejemplo, en el caso de apps.sh
, las primeras líneas han quedado de la siguiente forma,
rofi_command="rofi"
# Links
terminal="💻 Terminal"
files="📂 Archivos"
editor="📝 Editor"
browser="🧭 Navegador"
music="🎵 Música"
settings="⚙ Configuración"
# Error msg
msg() {
rofi -e "$1"
}
Para seleccionar los distintos iconos
que puedes ver he utilizado un complemento para Rofi que me facilita enormemente el trabajo, y que me evita lidiar con tipografías y otras aplicaciones. Se trata de rofi-emoji.
Combinar con bspwm
El último paso que queda para dejar esto perfectamente hilado, es combinar Rofi con bspwm. Pero, esto es mucho mas sencillo de todo lo que has visto anteriormente. Simplemente tienes que editar el archivo ~/.config/sxhkd/sxhkdrc
, y añadir los atajos de teclado que consideres para los distintos scripts
.
El mas importante por supuesto, aquel que te permite lanzar tanto aplicaciones, como seleccionar ventanas, como iniciar sesiones ssh
. Esto lo puedes hacer con,
# program launcher
alt + @space
rofi -combi-modi drun,window,ssh -show combi -modi combi -matching fuzzy
De la misma manera, puedes crear otros atajos de teclado para lanzar cada uno de los scripts. Por ejemplo,
super + ctrl + p
/bin/bash /home/lorenzo/.config/rofi/scripts/power.sh
super + ctrl + w
/bin/bash /home/lorenzo/.config/rofi/scripts/wifi.sh
super + ctrl + b
/bin/bash /home/lorenzo/.config/rofi/scripts/bluetooth.sh
super + ctrl + z
/bin/bash /home/lorenzo/.config/rofi/scripts/search.sh
super + ctrl + a
/bin/bash /home/lorenzo/.config/rofi/scripts/atareao.sh
super + ctrl + e
rofimoji
Por ponerte algunos…
El vídeo
Conclusión
Como ves las opciones y posibilidades que te ofrece Rofi son espectaculares. Simplemente tienes que decidir que es lo que quieres mostrar y lanzarte a ello. Creas tu script en bash, o en el lenguaje que domines, y lo tienes resuelto.
Imagen de portada de Ashutosh Dave en Unsplash
Una muestra más de todas las posibilidades que tenemos en Gnu/Linux. Es complicado llegar a juntar todas las piezas, gracias por mostrar como se montan.
Estos últimos 2 meses los conocimientos en linux aumentaron exponencialmente gracias a querer usar nvim hace más de 14 años q soy usuario de linux pero como simple usuario siempre estuve interesado en la libertad y me dedique a hacer música en linux y hoy en día sigue siendo así. La programación y más config siempre las dejé más de lado aunque siempre me gustaron. Decidí con casi 38 empezar a programar y nvim y las config me están llevando a editar archivos muchas cosas y aprender … Ahora instale i3 en una netbook antigua y nunca lo configure de 0 en mí PC principal lo tengo pero instalado junto con. Endeverous. Y tu canal u todo esto es muy genial te felicito