Files
Egutierrez e4fdd0199d feat: reloj permanente, pestañas Procesos y Devices, líneas pixel-perfect
- Gráficos de línea pixel-perfect: ANTIALIAS_NONE + ancho 1px + coords
  ancladas al centro del pixel, para trazos nítidos sobre la rejilla.
- Reloj + fecha (formato europeo) en una franja superior común a todas las
  pestañas; la barra de pestañas y el contenido bajan para hacerle sitio.
- Nueva pestaña Procesos: nº de procesos (total + en ejecución), hilos,
  carga 1/5/15 min y tablas TOP CPU / RAM / I/O. Cada fila muestra el PID
  (clicable, abre htop -p) separado del nombre.
- Nueva pestaña Devices: almacenamiento (lsblk sin loops), interfaces de
  red físicas e IP, y dispositivos USB (lsusb).
- Docker con detalle: contador running/total y, por contenedor, nombre +
  imagen + estado abreviado (Up 33h / Up 2d) coloreado según salud.
- Fix: el header de Docker se dibujaba con baseline directa y solapaba la
  barra de pestañas; ahora usa el mismo offset que el resto de paneles.
- metric.sh: helpers nproc_count/running, nthreads, load_avg, top_cpu/ram/io,
  disk_list, usb_list, net_ifaces, docker_list, docker_count.
- Ventana 545 -> 575 px de alto. app.md a v0.2.0.
2026-06-06 13:20:08 +02:00

4.0 KiB

name, lang, domain, version, description, tags, uses_functions, uses_types, framework, entry_point, dir_path, repo_url, e2e_checks
name lang domain version description tags uses_functions uses_types framework entry_point dir_path repo_url e2e_checks
conky_widget lua infra 0.2.0 Widget de escritorio Conky con 5 pestañas clickeables (Sistema / Red / Docker / Procesos / Devices), reloj permanente, gráficos de línea pixel-perfect y botones que lanzan herramientas de análisis de red.
conky
widget
desktop
monitoring
network
processes
devices
lua
launcher-buttons
conky conky.conf apps/conky_widget https://gitea-dgg044oo04woo4ggcsws4gk0.organic-machine.com/dataforge/conky_widget
id cmd timeout_s
lint_install bash -n install.sh 10
id cmd timeout_s
lint_launch bash -n lua/launch.sh 10
id cmd timeout_s severity
lua_parse luac -p lua/widget.lua 2>/dev/null || lua -e "assert(loadfile('lua/widget.lua'))" 10 warning

conky_widget

Visualizador de escritorio basado en Conky (1.19, X11 + Lua + Cairo) que muestra el estado del PC en vivo en la esquina superior derecha del monitor primario. El contenido está organizado en tres pestañas clickeables y, en la pestaña de red, incluye botones que abren herramientas de análisis de paquetes.

Una franja superior con reloj + fecha (formato europeo) es común a todas las pestañas. Los gráficos de línea se dibujan sin antialiasing y con las coordenadas ancladas al pixel (pixel-perfect).

Pestañas

Pestaña Contenido
Sistema Gráficos de área en vivo: CPU, RAM, CPU temp, GPU, GPU temp, VRAM, disco I/O y red, más barras de uso de los cuatro discos. Las series se vuelven rojas al superar su umbral.
Red Velocidad de bajada/subida de enp5s0, gráfico histórico en vivo, paquetes/s por protocolo, top hosts remotos, conexiones establecidas, total descargado/subido, y botones [Wireshark] [ntopng] [nethogs].
Docker Contador running/total y, por contenedor, nombre + imagen + estado abreviado (Up 33h, Up 2d), coloreado según salud.
Procesos Nº de procesos (total + en ejecución), hilos, carga 1/5/15 min, y tablas TOP CPU / TOP RAM / TOP I/O. Cada fila muestra el PID (clicable: abre htop -p <pid>) y el nombre.
Devices Dispositivos de almacenamiento (lsblk, sin loops), interfaces de red físicas con su IP, y dispositivos USB (lsusb).

Cómo funciona

  • conky.conf posiciona la ventana (own_window_type = normal para recibir clics) y delega todo el dibujo a lua/widget.lua.
  • lua/widget.lua dibuja con Cairo en el hook conky_draw y gestiona los clics en el hook conky_mouse: la barra superior cambia de pestaña y los botones de la pestaña Red lanzan la herramienta correspondiente.
  • lua/launch.sh comprueba si el binario existe antes de lanzarlo; si falta, muestra un notify-send indicando el paquete a instalar.

Instalación

cd apps/conky_widget
./install.sh                 # symlink en ~/.config/conky + autostart XFCE
conky -c ~/.config/conky/conky_widget/conky.conf &   # arrancar ahora

Parar: pkill -f conky_widget/conky.conf

Configuración

  • Monitor: editar xinerama_head en conky.conf (0 = HDMI-0 primario, 1 = DP-1).
  • Interfaz de red: cambiar NIF al inicio de lua/widget.lua.
  • Botones: editar la tabla BTNS en lua/widget.lua (etiqueta, binario a comprobar, paquete apt y comando shell).

Requisitos

  • conky compilado con Lua bindings + Cairo (verificable con conky --version).
  • Sesión X11 (en Wayland los clics y own_window no funcionan).
  • Opcional para los botones: wireshark, ntopng, nethogs. Sin ellos el widget funciona igual; los botones avisan de cómo instalarlos.

Notas

  • El botón Wireshark abre /var/log/pktcap/cap.pcapng (buffer rotativo de 10 min) si existe; en caso contrario abre Wireshark en vivo. Ese buffer lo genera un servicio dumpcap aparte (pendiente de montar).
  • El historial del gráfico de red se mantiene en memoria mientras Conky corre; al reiniciar el widget se empieza de cero.