feat(shuma): cajón de resultados del shell — desplegable desde el pie

Fase 3c: el shell muestra la salida de los comandos en un cajón que se
despliega hacia arriba sobre el escritorio.

carmen — la ventana del shell deja de tener un alto fijo: `render_loc`
la ancla al pie de la salida y la coloca por su **tamaño real**, así
puede crecer hacia arriba. La franja reservada sigue siendo la barra
(40 px); el cajón, al abrirse, se solapa sobre las teseladas sin
re-teselar. `render_loc` toma ahora el alto de la salida.

shuma-shell — un clic en el estado alterna `drawer_open`: la ventana
crece (`Window::resize`, que GPUI 0.2 expone) a barra + cajón, o
vuelve a sólo barra. El cajón reusa `render_run` para pintar los
últimos comandos y su salida, con scroll. `render_launcher` pasa a una
columna: cajón opcional arriba, barra abajo.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-21 07:05:14 +00:00
parent a9e880240d
commit 2bd6aaad02
5 changed files with 115 additions and 41 deletions
+7 -3
View File
@@ -241,7 +241,7 @@ Cerebro: **autónomo** (`Desktop` embebido) o **enlazado** (`MIRADA_SOCKET`
| ------------------ | ---------------------------------------------------------- |
| puntero en `winit` | ratón en el backend anidado (hoy sólo el backend DRM) |
| `mirada-input` | repetición de teclas, gestos; hotplug de monitores |
| `shuma-shell` | modo launcher: falta el cajón de resultados y la config |
| `shuma-shell` | modo launcher: falta la config para esconder/reubicar |
| `wlr-layer-shell` | barras externas tipo waybar, fondos, notificaciones |
| `mirada-sandbox` | aislamiento de clientes sobre `arje-incarnate` |
@@ -250,7 +250,11 @@ ventana sin barra de título con `app_id = "carmen.shell"` (el acople la
reconoce) y dibuja una barra compacta — glifo, la línea de comandos de
`shuma-line`, la **barra de ventanas abiertas** (las consulta por el
socket de control de carmen con `ListWindows`, un clic enfoca con
`FocusWindow`) y el estado del último comando. Falta el cajón de
resultados expandible y la config para esconder/reubicar.
`FocusWindow`) y el estado del último comando. Un clic en el estado
**despliega el cajón de resultados**: la ventana del shell crece hacia
arriba (`Window::resize`) y carmen la ancla al pie — `render_loc`
coloca la ventana-shell por su tamaño real, así su cajón se solapa
sobre las teseladas sin re-teselar. Falta la config para esconder y
reubicar la barra.
CRIU (congelar/restaurar ventanas) queda anotado como futuro.