Veamos cómo adaptar a nuestros gustos el prompt de powerline en la shell cambiándolo de color
Powerline es una pequeña utilidad escrita en Python que muestra información de una manera distinta en el prompt de nuestra shell y de muchas otras aplicaciones como Vim, tmux, etc.
Ya en el blog escribí sobre cómo añadir Powerline en la barra de nuestro gestor de ventanas i3 y cómo poder añadirle algunos segmentos con información extra.
Además «David Ochobits» en su blog también escribió al respecto y también puedes encontrar más información en Colaboratorio sobre cómo instalar Powerline en Ubuntu.
En este artículo os voy a contar cómo modificar el color predeterminado y adaptarlo a nuestros gustos y nuestro escritorio o cómo poder instalar otros «temas» o crear el nuestro.
Partimos de la base de que hemos instalado Powerline y sus fuentes necesarias disponibles seguro desde los repositorios de tu distribución de GNU/Linux y ya lo tenemos activado siguiendo el tutorial de David.
Si nos abrimos la ruta del archivo ~/.config/powerline/config.json deberemos fijarnos en lo siguiente:
"shell": { "colorscheme": "default", "theme": "default", "local_themes": { "continuation": "continuation", "select": "select" } },
Lo que nos indica que para nuestra shell está utilizando el esquema de colores «default» y el tema «default».
Si queremos cambiar lo que muestra nuestro Powerline deberemos ir a ~/.config/powerline/themes/shell/default.json y ahí añadir los segmentos o configuraciones que queramos añadir o quitar.
Pero este artículo trata de cómo cambiar el color de nuestro prompt, así que para esto deberemos ir al archivo donde se configuran los esquemas de colores en la siguiente ruta: ~/.config/powerline/colorschemes/shell/default.json
Y para que me cambie el color en el que muestra mi nombre de usuario en el prompt de Powerline he añadido la siguiente línea dentro de la sección «groups»:
"user": { "fg": "white", "bg": "mediumpurple", "attrs": [] },
Donde en fg especificamos el color de las letras y en bg especificamos el color del fondo, en mi caso blancas y morado respectivamente. Si quisiéramos que además fuesen en negrita, en attrs dentro de los corchetes podríamos añadir el atributo bold.
Para saber qué colores podemos añadir, lo podremos ver en el archivo ~/.config/powerline/colors.json. Con ese color morado mi Powerline se complementa mejor con el tema Dracula de mi emulador de consola Konsole.
Podremos utilizar otros esquemas de colores o crear los nuestros para ello crearemos un archivo .json de configuración y en el archivo config le llamaremos.
Bola extra
Además de cómo modificar el color de nuestro prompt o de cómo y dónde añadir otros esquemas de colores a Powerline, va aquí un extra de configuración que he modificado.
Powerline de manera predeterminada cuando estamos dentro de unas carpetas anidadas solo muestra el nombre de 3 directorios en el prompt. Es decir, si estamos en la ruta: carpeta1/carpeta2/carpeta3/carpeta4/carpeta5
En el prompt no aparecerá el nombre de la carpeta1 ni carpeta2 y si el resto. Si queremos cambiar ese comportamiento, tendremos que editar el archivo ~/.config/powerline/themes/shell/main.json y modificar lo siguiente:
"cwd": { "args": { "dir_limit_depth": 5 } }
en «dir_limit_depth» yo he cambiado el valor de 3 a 5 para que en el caso de mi ejemplo muestre en el prompt la ruta con 5 carpetas si fuera necesario.
Y esto es todo. Tengo pensado hacer otro tutorial sobre cómo hacer que Powerline muestre el estado de una carpeta de Git y el nombre de la rama, bastante útil cuando estamos manejando nuestro repositorios de Git.
¿Os gustaría saberlo? Pues permanece a la escucha, ya sea suscribiéndote al blog por correo o RSS o siguiéndome en mis redes sociales, entre las que no se encuentra ni Twitter, ni Facebook… 🙂
Hola compa,
Muy buena entrada. Yo como soy muy soso he dejado la configuración por defecto. Como diría un amigo mío, «tengo menos detalles que un seat panda» Así que cuando tenga un minuto probaré de trastear un poco, a ver que sale 😀
Por cierto, gracias por la mención.
Saludos!!!
Crédito a quien crédito merece… 🙂