feat(mirada): sesión de escritorio — autostart y conmutación de VT

Dos piezas para usar carmen como tu escritorio de verdad.

Conmutación de VT — `Ctrl+Alt+Fn` salta a otra TTY y vuelve sin romper
la sesión. El `SessionEvent` de `libseat` ahora hace trabajo de verdad:
- al ceder la VT, pausa el `DrmDevice` y suspende `libinput`; `render()`
  no vuelve a tocar la GPU mientras la sesión esté cedida (`active`).
- al recuperarla, reanuda `libinput`, reactiva el `DrmDevice`, llama a
  `DrmCompositor::reset_state` y repinta.
`DrmState` conserva ahora `drm` y un clon del contexto `libinput`.

Sesión — `~/.config/mirada/autostart` (un comando por línea, `#`
comenta) se lanza al arrancar el backend DRM, vía un `spawn_autostart`
que reusa `spawn_command`. Y `session/`: el script `mirada-session`
(fija el entorno XDG y exec del compositor) y `carmen.desktop` para
registrarlo en un gestor de login, más un `autostart.example`.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-21 04:31:55 +00:00
parent 58e72c3d08
commit 5ede927d34
8 changed files with 172 additions and 8 deletions
+36
View File
@@ -51,6 +51,42 @@ fino: azul la que tiene el foco, gris las demás.
- `MIRADA_DRM_TIMEOUT=<s>` — cierra el compositor solo tras N segundos
(0 o sin definir = sin tope).
## Como sesión de escritorio
Para usar carmen como tu escritorio de verdad — entrar a una sesión, no
sólo probarlo:
1. Compila e instala los binarios en el `PATH`:
```sh
cargo build --release -p mirada-compositor -p mirada-ctl
sudo install -m755 target/release/mirada-compositor \
target/release/mirada-ctl /usr/local/bin/
sudo install -m755 session/mirada-session /usr/local/bin/
```
2. Arranca desde una TTY:
```sh
mirada-session
```
O regístralo en un gestor de login copiando `session/carmen.desktop`
a `/usr/share/wayland-sessions/` — aparecerá carmen como sesión.
3. **Autoarranque** — los programas que quieras al iniciar van en
`~/.config/mirada/autostart`, uno por línea (`#` comenta). Tienes un
ejemplo en `session/autostart.example`:
```sh
mkdir -p ~/.config/mirada
cp crates/apps/mirada-compositor/session/autostart.example \
~/.config/mirada/autostart
```
Dentro de la sesión, `Ctrl+Alt+F1…F12` salta a otra TTY y vuelve sin
romper carmen.
## Dos modos
- **Autónomo** (por defecto) — lleva un `Desktop` (de `mirada-brain`)