597 - Widgets en Ubuntu
Implementar #widgets para #ubuntu en #linux y en concreto para el escritorio #gnome para tener todo tipo de información, desde la meteorología hasta tu ip
Algo que siempre me he preguntado es porque no hay Widgets en Ubuntu. Así como puedes encontrar Widgets en otros escritorios como Linux Mint o Plasma, en el caso de Ubuntu no los vas a encontrar. Y es algo que me llama mucho la atención, sobre todo desde que decidieron de forma unilateral que no se pudiera utilizar el escritorio para poner iconos, y todo lo que solemos dejar. Y justo, esto de quitar la funcionalidad del escritorio, para mi tiene todo el sentido del mundo, porque en general, el escritorio termina por convertirse en un auténtico estercolero. Pero, ya que no puedes poner tus cosas, ¿porque no dejarte poner widgets?. Pues nada, ahí vamos a solucionar este problema, vamos a poner Widgets en Ubuntu, para aumentar la funcionalidad del escritorio.
Widgets en Ubuntu
Sobre esLibre y Akademy-e
Como sabes el pasado viernes participé en esLibre y en la Akademy-es
Agradecer el trabajo de toda la gente que organizó el e evento, y en particular a Erika, Balta el afamado secretario de KDE España, David Marzal, el hombre omnipresente, y por supuesto a Alejandro de Slimbook
Tuve la fortuna de compartir la comida con Carles del canal de Windows a Linux, y con otros amigos, y la verda es que fue realmente interesante.
Respecto a las charlas, tengo que decir, que como de costumbre, me aceleré. Siempre me pasa lo mismo. Sea como fuere, de la de Typst me llevé muy buen sabor de boca, y la verdad es que me animó para hacer mas trabajos con Typst. Lo primero terminar de pasar todos los libros a Typst. Pero no solo esto, porque ya comencé a crear los fondos de pantalla productivos en Typst. Empecé con el de Bash.
En general me gustaron todas las charlas a las que asistí de la Akademy-es, pero en particular la de Alien sobre Pintando con Krita: técnicas de ilustración, me gustó sobre manera. Ahí vi cosas, que jamás seré capaz de hacer, debido a mi inexistente gusto estético.
¿A que vienen ahora los widgets en Ubuntu?
Todo esto empezó de los widgets surgió hace ya mas de un año, y que ha su debido tiempo te contaré con todo lujo de detalles. Como te decía en la introducción, los widgets, me parecen una solución espectacular para tener todo tipo de información en el escritorio. Información de cualquier tipo. Desde cuestiones relativas al rendimiento de tu equipo, a otras cuestiones como la previsión meteorológica o lo que sea.
Pero, lo que te puedo adelantar, es que una de las consecuencias ha sido que he incorporado un nuevo ordenador a la familia. En este caso, un ordenador con una gráfica NVIDIA y con algunas otras características, que por el momento, tampoco te desvelaré, un poquito de hype. Este cambio ha implicado por supuesto la instalación de ArchLinux en este nuevo equipo, y probar tanto Slimbook OS, como GNOME 46, que hasta el momento lo había hecho de a pocos.
El cambio
El cambio de ordenador, me ha llevado a probar Slimbook OS, una versión muy mimada de Ubuntu 24.04, y luego a probar una versión vanilla de GNOME, de la mano de ArchLinux.
Respecto a la versión de Slimbook OS, te tengo que decir, que funciona de maravilla. Y no solo se trata de que funciona fantástico, si no que además estéticamente está muy, pero que muy logrado. Llegados a este punto, por supuesto, me pregunto a que vienen todas las críticas que he venido escuchando en los últimos tiempos.
En cuanto a ArchLinux, ha sido tan sencillo de instalar como en las otras ocasiones. Tengo que probar a hacerlo con el instalador archinstall.
Y he estado jugueteando con los temas para darle un sabor parecido al que me encontré con Slimbook OS, pero sin llegar. Aunque con Nordic la cosa queda bastate interesante.
De sway a gnome
Dado que los widgets son para el escritorio tradicional, voy a trabajar en las próximas semanas en GNOME, y esto me ha traído algún que otro dolor de cabeza. Y es que estoy acostumbrado a los atajos de teclado de Sway, y en los primeros momentos he bloqueado en repetidas ocasiones el escritorio. He tenido que ir aproximando los atajos de teclado a los que utilizo con Sway. Me queda todavía uno que es para cambiar el foco de monitor, pero el resto mas o menos lo tengo resuelto.
Empezamos con los widgets
La manía de los desarrolladores de GNOME
Hace ya tiempo hice un primer widget para Ubuntu. Un Pomodoro, como no podía ser de otra forma. Digo esto, porque en general, las herramientas que implementan la técnica Pomodoro, así como las aplicaciones de listas, son las mas implementadas.
Para el tema de los widgets, esto es lo que quería utilizar como base, dado que ya tenía algunas cosas realizadas, sin embargo aquí llega el primer problema. La manía de los desarrolladores de no mantener la retrocompatibilidad.
No se hasta que punto se puede puede ser mas o menos complejo mantener la retrocompatibilidad de las extensiones de GNOME, pero te puedo asegurar que es un auténtico dolor cada vez que sacan una nueva versión de GNOME. Salvo contadas ocasiones, en casi todos los nuevos lanzamientos es necesario actualizar tus extensiones para que puedan funcionar.
Soy consciente de que actualmente, con todos los cambios que se han ido implementando, las extensiones son mas sencillas de implementar, el código tiene mucho mas sentido, y todo parece encajar. Sin embargo, como decía antes es un auténtico dolor.
En este caso, han quitado la parte de cairo que todavía residía en Clutter y esto me ha vuelto bastante loco. Luego a parte de esto, si que se ha modificado la forma de realizar las importaciones, sin embargo, esto era algo que realmente hacía falta, porque hasta el momento era un poco rocambolesco.
Un poquito de código
¿Como estoy haciendo los widgets? Las extensiones las estoy implementando con JavaScript utilizando GJS. Si no lo conoces, indicarte que se trata de un runtime de JavaScript construido sobre el motor de renderizado SpiderMonkey de Firefox. Puedes encontrar mas información en un tutorial que escribí hace ya unos años sobre aplicaciones nativas en JavaScript con GJS.
Tengo que decirte, que durante este desarrollo de widgets actualizaré el tutorial y metidos en el mundo de Typst, aprovecharé para convertirlo en un libro, para quien quiera iniciarse con esto.
Respecto a las librerías y frameworks que estoy utilizando, indicarte que una parte importante recae sobre St
y cairo
, dado que estoy haciendo algunos gráficos.
Lo interesante de estos widgets es que se pueden arrastrar y que tienen memoria, en el sentido de que son capaces de recordar donde los dejaste para que la próxima vez que inicies la sesión se encuentre en el mismo sitio.
Sobre los widgets
A parte del widget de Pomodoro, que le queda poco para que esté concluido y que empiece con el proceso de subirlo al sitio de GNOME para que puedas instalarlo de forma sencilla. Llevo en mente hacer varios widgets. Así, los que ya tengo claros son,
- Previsión meteorológica, todo un clásico,
- Un reloj y/o un calendario.
- Control de reproducción mpris.
- IP externa.
Más información,