feat(shuma): barra de ventanas en el modo launcher

Fase 3b: la barra del shell muestra ahora las ventanas abiertas del
escritorio y deja saltar entre ellas.

- `shuma-shell` depende de `mirada-brain` para hablar el protocolo de
  control de carmen.
- `start_loop` sondea el socket de control cada ~1 s con `ListWindows`
  — la llamada bloquea un instante, pero en el executor de fondo, no en
  el hilo de la UI. El resultado se guarda en `Shell.windows_bar`.
- `render_launcher` dibuja una cajita por ventana entre el input y el
  estado: la enfocada resaltada, las demás en gris. Un clic envía
  `Do(FocusWindow(id))` y refleja el cambio al instante (el sondeo lo
  confirma en el siguiente ciclo).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-21 06:21:06 +00:00
parent b17ac8c67a
commit a9e880240d
5 changed files with 96 additions and 6 deletions
+3
View File
@@ -18,6 +18,9 @@ shuma-session = { path = "../../modules/shuma/shuma-session" }
shuma-exec = { path = "../../modules/shuma/shuma-exec" }
shuma-infer = { path = "../../modules/shuma/shuma-infer" }
shuma-sysmon = { path = "../../modules/shuma/shuma-sysmon" }
# El protocolo de control de carmen — el modo launcher lista y enfoca
# ventanas a través de él.
mirada-brain = { path = "../../modules/mirada/mirada-brain" }
# Herramienta matilda, embebida en la ventana del shell.
matilda-core = { path = "../../modules/matilda/matilda-core" }
matilda-plan = { path = "../../modules/matilda/matilda-plan" }