feat(mirada): xdg-decoration — ventanas sin marco en el compositor

Un escritorio teselante no quiere barras de título de cliente. El
compositor anuncia ahora `xdg-decoration` y a todo toplevel le impone
`Mode::ServerSide`; como el servidor no dibuja decoración alguna, las
ventanas quedan sin marco.

Sin esto, clientes como `foot` se dibujan su propia barra (CSD) con
botones de minimizar/maximizar/cerrar — ruido en un WM teselante.

- `XdgDecorationHandler` para `App`: `new_decoration`, `request_mode`
  y `unset_mode` fijan siempre `ServerSide` y reenvían el configure.
- `delegate_xdg_decoration!(App)`; el global se anuncia en `build_app`.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-21 03:37:56 +00:00
parent b4ddab9c06
commit ae81399857
3 changed files with 40 additions and 6 deletions
+4 -2
View File
@@ -184,8 +184,10 @@ manual) y `mirada-ctl` (CLI, probado vía el ejemplo `headless-ctl`).
El **Cuerpo** ya existe: `mirada-compositor` es un compositor Wayland
teselante real sobre `smithay`. Habla `wl_compositor`/`xdg_shell`/
`wl_shm`/`wl_seat`/`wl_output`/`wl_data_device`, compone las superficies
de los clientes con `GlesRenderer` y aplica la geometría del Cerebro.
`wl_shm`/`wl_seat`/`wl_output`/`wl_data_device`/`xdg-decoration`, compone
las superficies de los clientes con `GlesRenderer` y aplica la geometría
del Cerebro. Fuerza decoración `ServerSide` y no dibuja ninguna: las
ventanas teseladas van sin marco (nada de barras de título de cliente).
Reusa `mirada-body` (contabilidad) y `mirada-link` (cable). Dos modos de
Cerebro: **autónomo** (`Desktop` embebido) o **enlazado** (`MIRADA_SOCKET`
→ la app `mirada`).