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>
This commit is contained in:
Egutierrez
2026-06-02 20:46:54 +02:00
commit 5ad4c0d901
7 changed files with 548 additions and 0 deletions
+47
View File
@@ -0,0 +1,47 @@
--[[
conky_widget — visualizador de escritorio con pestañas clickeables.
Tres pestañas (Red / Sistema / Docker) dibujadas con Cairo en lua/widget.lua.
Posicionado en la esquina superior derecha del monitor primario (HDMI-0 = head 0).
Para usarlo en el otro monitor (DP-1), cambiar xinerama_head a 1.
Render y eventos de ratón viven en lua/widget.lua.
]]
conky.config = {
-- Posicionamiento --------------------------------------------------------
alignment = 'top_right',
xinerama_head = 0, -- 0 = HDMI-0 (primario, derecha). 1 = DP-1.
gap_x = 24, -- separacion desde el borde derecho
gap_y = 24, -- separacion desde el borde superior
minimum_width = 300,
maximum_width = 300,
minimum_height = 360,
-- Ventana (tipo 'normal' = recibe clicks; 'desktop' los ignora) ----------
own_window = true,
own_window_type = 'normal',
own_window_argb_visual = true,
own_window_transparent = true,
own_window_hints = 'undecorated,below,sticky,skip_taskbar,skip_pager',
own_window_class = 'ConkyWidget',
own_window_title = 'conky_widget',
-- Render -----------------------------------------------------------------
double_buffer = true,
update_interval = 1.0,
background = false,
use_xft = true,
font = 'DejaVu Sans Mono:size=9',
draw_shades = false,
default_color = 'cccccc',
-- Lua: todo el dibujo y los clicks ---------------------------------------
lua_load = '~/.config/conky/conky_widget/lua/widget.lua',
lua_draw_hook_post = 'conky_draw',
lua_mouse_hook = 'conky_mouse',
}
-- El contenido se dibuja integramente con Cairo en el hook conky_draw.
-- Un espacio mantiene el bloque de texto valido sin pintar nada visible.
conky.text = [[ ]]