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:
@@ -0,0 +1,13 @@
|
||||
# Autoarranque de carmen — cópialo a ~/.config/mirada/autostart
|
||||
#
|
||||
# Un comando por línea; se lanza al arrancar el compositor, con
|
||||
# WAYLAND_DISPLAY ya puesto. Las líneas en blanco y las que empiezan
|
||||
# por # se ignoran. Cada línea se pasa a `sh -c`, así que valen las
|
||||
# variables, las tuberías y el `&` final no hace falta.
|
||||
|
||||
# Una terminal para empezar.
|
||||
foot
|
||||
|
||||
# Ejemplos (descoméntalos si los quieres):
|
||||
# mirada-ctl layout spiral
|
||||
# wbg ~/fondo.png
|
||||
@@ -0,0 +1,6 @@
|
||||
[Desktop Entry]
|
||||
Name=carmen
|
||||
Comment=Compositor Wayland teselante (mirada)
|
||||
Exec=mirada-session
|
||||
Type=Application
|
||||
DesktopNames=carmen
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
# mirada-session — arranca carmen (el compositor mirada) como una sesión
|
||||
# de escritorio. Pensado para lanzarse desde una TTY o desde un gestor de
|
||||
# login (greetd, ly, …).
|
||||
#
|
||||
# Instálalo en el PATH (p. ej. /usr/local/bin/mirada-session) junto al
|
||||
# binario `mirada-compositor`.
|
||||
|
||||
# Carmen es un compositor Wayland.
|
||||
export XDG_SESSION_TYPE=wayland
|
||||
export XDG_CURRENT_DESKTOP=carmen
|
||||
export XDG_SESSION_DESKTOP=carmen
|
||||
|
||||
# Que las apps GUI prefieran sus backends Wayland.
|
||||
export MOZ_ENABLE_WAYLAND=1
|
||||
export QT_QPA_PLATFORM="wayland;xcb"
|
||||
export SDL_VIDEODRIVER=wayland
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1
|
||||
|
||||
# El backend DRM toma la TTY entera. Los programas de arranque van en
|
||||
# ~/.config/mirada/autostart (uno por línea).
|
||||
exec mirada-compositor --drm
|
||||
Reference in New Issue
Block a user