QUE ASCO !! EWW
Eww: El arte de sufrir con paréntesis QUE ASCO!!
Si estás leyendo esto es porque, como yo, tienes esa necesidad incurable de personalizar Linux hasta que sea irreconocible. Prepárate un café, ponte cómodo y déjame contarte la odisea de cómo terminé diseñando mi barra de estado usando Eww (Elkowar’s Wacky Widgets).
Seguramente te estarás preguntando: “¿Por qué no usar Waybar como una persona normal?”. La respuesta es simple: porque soy un masoquista tecnológico y quería algo que tuviera ese toque único… algo que quedara realmente impecable.
El origen del caos
Todo empezó una tarde de mirando mi Waybar (si tenia waybar). Estaba mirando mi escritorio en Hyprland sobre Debian 13, y sentí que le faltaba alma. Tenía esa barra por defecto que es funcional, pero bastante aburrida. Así que me puse a investigar y me crucé con Eww.
Lo primero que notas es que el lenguaje de configuración se llama Yuck. Y ahí es donde deberías sospechar. En inglés, yuck es lo que dices cuando algo te da asco o rechazo. El autor conocido como elkowar, que debe tener un sentido del humor bastante ácido, le puso ese nombre porque sinceramente, configurar esto es un desafío importante por no decir estresante.
¿Qué es Yuck? (Y por qué te hará doler la cabeza)
El archivo .yuck es básicamente Lisp. Sí, ese lenguaje lleno de paréntesis que parece que un gato caminó sobre el teclado mientras presionaba las teclas de apertura y cierre.
(defwidget bar []
(box :class "bar" :orientation "h" :space-evenly false :spacing 0
(box :class "left" :orientation "h" :halign "start" :spacing 0
(workspace_widget))
...
Ves eso y piensas: “¿En qué me metí?”. Cada paréntesis que abres tienes que cerrarlo con precisión quirúrgica; bueno no tan asi , pero si lo rompi varias veces, Eww simplemente no arranca. Es como armar un mueble complejo con instrucciones en un idioma antiguo y piezas que parecen no encajar.
Pero el nombre es honesto. Es Yuck. Es un “¡Uf, qué lío!”. Sin embargo, una vez que le entiendes la lógica, tiene su encanto. Es como ese proceso difícil que, al final, te da una satisfacción enorme (tambien tenia a Gemini CLI dandome consejos las cosas como son).
Los ingredientes de la receta
Para que esta barra funcione no bastó con un par de líneas de código. Tuve que organizar un pequeño ejército de scripts en Bash e incluso un poco de Python para darle vida:
- Workspaces a medida: Quería que los indicadores de los escritorios se iluminaran dinámicamente. Creé un script que escucha el socket de Hyprland en tiempo real para detectar cada cambio de espacio de trabajo.
- Hora y Fecha: El clásico de siempre, pero con estilo. Implementé un calendario que se despliega al hacer clic, ideal para mantener el orden visual.
- Control de Audio: En lugar de abrir un panel externo, quería manejar el volumen con el scroll del ratón sobre la barra. Así nacieron un par de scripts de control que incluso cambian el icono automáticamente si detectan auriculares o altavoces.
- Bluetooth y Wi-Fi: Esto fue una batalla constante. El Bluetooth en Linux a veces es caprichoso, así que el script debe verificar conexiones y estados sin generar errores que rompan la estética general.
Los problemas (O “por qué casi pierdo la paciencia”)
No les voy a mentir, hubo momentos de tensión. El mayor desafío fue el SCSS. Quería una estética tipo “Tokyo Night”, con esos tonos azules y violetas que te hacen sentir en una película de hackers de los 80.
Pero el CSS de Eww tiene sus particularidades. Por ejemplo, los eventbox. Si no configuras bien el comportamiento al pasar el ratón (onhover), la barra se vuelve inestable y estira TODOS los modulos. Pasé horas peleando porque el menú de apagado se cerraba antes de que pudiera hacer clic en “Reiniciar” aqui tuve que pedir ayuda a mi amigo Gemini CLI que tampoco la tenia muy clara.
Y ni hablemos de las fuentes. Si no tienes instalada una “Nerd Font” no contento con eso tambien esta “Awesome Font Free 6” y “Helvética” por las dudas, los iconos aparecen como cuadrados vacíos.pero fue facil solucionar ese inconveniente.
El ritual del “Kill & Open”
Si vas a entrar en este mundo, apréndete este comando:
eww kill && eww open bar
Lo habré ejecutado miles de veces. Un cambio mínimo en el color, kill && open. Un paréntesis nuevo en el código, kill && open. Es el ciclo sin fin del desarrollador de widgets.
Para esto sugiero un shortcut en tu hyprland.conf.
El resultado: La barra definitiva
Pero el resultado final vale la pena. Aunque solo emule lo que ya tenia en Waybar hahaha..:
Pero ahora tengo 2 barras , y puedo decidir cual usar y tengo:
- Un Power Menu con animaciones fluidas (
revealer). Al pasar el ratón por el botón de apagado, se deslizan las opciones para reiniciar o bloquear la sesión. - Indicador de actualizaciones de APT. Fundamental en Debian para saber cuándo hay parches pendientes.
- Brillo y Volumen controlables con el scroll. Es uno de esos detalles que, una vez que los pruebas, no puedes volver atrás.
¿Vale la pena tanto esfuerzo?
Podría haber descargado una configuración ya hecha de algún repositorio en GitHub y listo. Pero no sería mi barra. No tendría ese proceso de aprendizaje y esos scripts que tanto me costó depurar.
Configurar Eww es casi un rito de iniciación. Es aceptar que el nombre .yuck es una advertencia. Es pelear con scripts y renegar con las capas de las ventanas.
Pero cuando terminas, miras ese escritorio limpio, funcional y con los colores perfectos, sientes que realmente tienes el control total de tu sistema.
Así que ya sabes, si tienes ganas de un buen reto técnico y quieres un escritorio digno de presumir en r/unixporn, dale una oportunidad a Eww. Eso sí, ten paciencia con los paréntesis.
A decir verdad sigo puliendo detalles cosas que a medida que voy haciendo me voy dando cuenta de las cosas que me faltan y/o quero hacerle, me falta pulir los bordes de los boxes separarlos, tal vez una fuente mejor, y agregar otras características como que vea cierto programas abiertos en segundo plano como Steam, Telegram o Spotifi.