Hacía rato que tenía ganas de ponerme a jugar y armar un plasmoide.
Un plasmoide es un un widget para el escritorio KDE Plasma. Una pequeña aplicación o componente visual (el término técnico es "coso") que se puede agregar al panel y aparece ahí con un gráfico custom (que podría ser un ícono, pero también algo más dinámico), y al final es eso: una aplicación con la que se puede interactuar para enriquecer la experiencia del escritorio.
Hace un par de meses se me ocurrió la excusa. Me sucede mucho que estoy trabajando en la compu y de repente algo pasa con la red. La mejor forma de darme cuenta de la salud de la conexión es abrir una terminal y hacer ping 1.1.1.1.
Para no expertos, eso me dice si llego a una máquina que está en internet que seguro que está funcionando, y me dice cuanto tarda en llegar ahí. Como esa máquina justo es la que me traduce cualquier nombre de dominio (como google.com) en su IP correspondiente (como 142.251.129.46), el tiempo y la calidad de la respuesta es característico de la calidad de mi conexión.
En algún punto pensé que estaría bueno tener algo que esté midiendo periódicamente, y que ante la sospecha de un problema ya tenga la info a la vista. De ahí a que se me ocurra hacerlo como plasmoide, un sólo paso.
Entonces, armé nethealth, un plasmoide que hace exactamente lo que necesitaba.
Una vez por segundo hace un ping a 1.1.1.1 (o la IP que le configures), y si el tiempo de respuesta es menor a 10 milisegundos el iconito en el panel apenas se ve, para que no llame la atención para nada.
Pero si ese tiempo se degrada, o directamente no hay conexión, el iconito se puede poner amarillo, naranja, o rojo.
Dejando el mouse sobre el ícono muestra el ping actual. Y haciendo click muestra las últimas mediciones:

El proyecto en Github es este, se puede instalar directamente del proyecto (miren el README), pero teóricamente también lo pueden instalar directamente como cualquier usuario desde el buscador del panel, si tienen Plasma 5, porque lo subí al KDE Store.
¿Se vienen muchos más plasmoides? No creo. Es más, estoy seguro que no.
La experiencia de programar el coso este fue bastante mala. Yo soy fan de Qt, pero estos plasmoides están armados con una combinación de lenguaje interactivo (QML) con algo de javascript para agregarle funcionalidad. Y miren lo que digo, el javascript es lo mejor del combo. QML es pésimo, mal documentado, con todos los ejemplos que nunca funcionan, no sabés qué importar, los errores no ayudan, todo a medio cocinar. No lo recomiendo. Es más, lo des-recomiendo, stay away.
