Commit Graph

12 Commits

Author SHA1 Message Date
egutierrez 6224120f7d merge: pixel-perfect + reloj + pestañas Procesos/Devices (v0.2.0) 2026-06-06 13:20:08 +02:00
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
egutierrez 653188201c feat: NET graph as filled area with color-coded arrows
La gráfica NET de la pestaña Sistema ahora se dibuja como área rellena en
ambas series (download y upload), igual que el resto del panel. La cabecera
colorea cada flecha con el color de su línea (↓ cian para download, ↑ naranja
para upload) para distinguir las dos series de un vistazo.

Añade el helper vlen() que cuenta caracteres UTF-8 (code points) en vez de
bytes, necesario para alinear a la derecha texto con flechas en fuente
monoespaciada.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 23:41:27 +02:00
egutierrez 62da698c38 feat: add NET graph (download/upload) to System tab
La pestaña Sistema ahora muestra una gráfica de red bajo DISK I/O con dos
series (download en cian, upload en naranja) y las velocidades en vivo en la
cabecera. Reutiliza los históricos hist.down/hist.up que ya se actualizaban
cada frame para la pestaña Red, sin coste extra de muestreo.

También fija own_window_type='dock' para que el WM no mueva el widget con
Alt+drag y siga recibiendo clicks en las pestañas.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 22:29:17 +02:00
Egutierrez b24eeb6274 fix: quitar la línea de referencia del umbral en los gráficos de Sistema
Se mantiene el cambio a rojo de la serie al superar el umbral, pero sin
la línea horizontal de referencia.
2026-06-02 21:50:07 +02:00
Egutierrez 2698cab86f feat: umbral de alerta (rojo) en los gráficos de Sistema
Cada serie admite un umbral 'warn'. Cuando el valor actual lo supera, la
línea y el área se pintan en rojo; además se dibuja una línea de referencia
tenue al nivel del umbral. Umbrales: CPU/RAM 85%, GPU 90%, VRAM 92%,
temperaturas 80°C.
2026-06-02 21:49:26 +02:00
Egutierrez 5b1e236988 feat: gráficos de área en la pestaña Sistema
graph() admite ahora relleno translúcido por serie (s.fill). Las nueve
gráficas de Sistema usan área para mejor legibilidad; la pestaña Red
mantiene líneas porque superpone dos series (down/up).
2026-06-02 21:43:47 +02:00
Egutierrez 8ecf787094 feat: reordenar pestañas (Sistema por defecto) + stats de red
- Orden de pestañas: Sistema, Red, Docker. Sistema es la pestaña por
  defecto al arrancar.
- Pestaña Red, bajo el gráfico:
  - Paquetes/s por protocolo (TCP/UDP/ICMP, in/out) calculados como
    delta de los contadores de /proc/net/snmp.
  - Top 4 hosts remotos por número de conexiones establecidas (ss),
    excluyendo loopback.
- Botones de la pestaña Red reubicados (BTN_Y) y el hook de ratón
  ajustado al nuevo índice de pestaña.
2026-06-02 21:25:23 +02:00
Egutierrez 6d7a3a5d6e fix: boton nethogs usa el terminal por defecto del sistema (kitty)
Reemplaza el xfce4-terminal hardcodeado por x-terminal-emulator -e,
que respeta el terminal por defecto (configurado a kitty). Mantiene la
ventana abierta tras salir de nethogs para poder leer la salida.
2026-06-02 21:16:26 +02:00
Egutierrez effb1c08f7 feat: portar panel Sistema del widget previo + servicio de captura
Pestaña Sistema:
- Reproduce las 9 gráficas del widget anterior dibujadas con Cairo
  sobre históricos en memoria: CPU, RAM, CPU temp, GPU, GPU temp,
  VRAM, red (down/up superpuestos) y disk I/O, más las barras de uso
  de los discos /, /mnt/1tb, /mnt/2tb y /mnt/16tb.
- metric.sh portado (nvidia-smi + coretemp hwmon) para temperaturas
  y métricas de GPU.
- Paleta Nord, igual que el panel original.

Widget redimensionado a 290x545 para acomodar el panel Sistema.

Servicio de captura (service/):
- packet-capture.service: dumpcap en ring buffer (~10 min, 10 archivos
  de hasta 60s/50MB, tope ~500MB) escribiendo en /var/log/pktcap.
- install-capture.sh: crea el directorio, instala y activa el unit.

El botón Wireshark abre ahora el .pcapng más reciente del buffer.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 21:01:17 +02:00
Egutierrez e4d2a5fe3f fix: posicionar widget en DP-1 (pantalla izquierda), igual que el widget previo
xinerama_head 0->1, gap_x 24->30, gap_y 24->50.
2026-06-02 20:51:07 +02:00
Egutierrez 5ad4c0d901 feat: scaffold conky_widget desktop monitor
Conky (X11 + Lua + Cairo) desktop widget with three clickable tabs
(Red / Sistema / Docker) rendered entirely with Cairo:

- Red: live down/up speed for enp5s0, 60s history graph, active
  connections count, totals, and launcher buttons for Wireshark,
  ntopng and nethogs (with notify-send fallback when missing).
- Sistema: total CPU + per-core bars, RAM, swap, root disk usage,
  temperature, load average and uptime.
- Docker: running/total container count and active container names
  (read without sudo).

Includes install.sh (symlink into ~/.config/conky + XFCE autostart),
launch.sh (tool launcher with missing-binary fallback) and app.md
with e2e_checks. Positioned top-right of the primary monitor
(xinerama_head 0), configurable.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 20:46:54 +02:00