feat(theme): exportación a GTK + inyección de entorno en el compositor

Segunda mitad de la uniformización del tema. nahual-theme::toolkit
traduce el Theme activo a gtk-3.0/gtk.css y gtk-4.0/gtk.css con overrides
@define-color (acento exacto + neutro claro/oscuro sintetizado).
Theme::set/install_default exportan best-effort; guarda de no-pisar
respeta un gtk.css ajeno. El compositor inyecta XDG_CURRENT_DESKTOP=mirada
y QT_QPA_PLATFORMTHEME=gtk3 a cada hijo, así GTK y Qt siguen el tema.

8 tests nuevos en toolkit; ejemplo dump-toolkit-css.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-21 17:41:35 +00:00
parent 5369c307e4
commit af3be482a9
6 changed files with 439 additions and 7 deletions
+14
View File
@@ -5,6 +5,20 @@ Cerebro (GPUI) ↔ Cuerpo (smithay) en dos procesos. El historial previo
vive en `git log` (`feat(mirada): …`); este archivo arranca con el
trabajo de escritorio (tema, DM).
### feat(mirada): inyección de entorno de tema a los hijos del compositor
`spawn_command` del compositor inyecta `THEME_ENV` a cada proceso hijo:
- `XDG_CURRENT_DESKTOP=mirada``xdg-desktop-portal` enruta hacia el
backend `mirada-portal`.
- `QT_QPA_PLATFORMTHEME=gtk3` → las apps Qt siguen el tema GTK, y por
tanto el `gtk.css` que genera `nahual-theme`.
Cierra la segunda mitad de la uniformización del tema: portal
(claro/oscuro + acento por protocolo) + `gtk.css` generado por
`nahual-theme::toolkit` + esta inyección → GTK y Qt alineados con el
tema de nahual.
### feat(mirada-portal): backend de tema — org.freedesktop.appearance
App nueva `crates/apps/mirada-portal`: backend de `xdg-desktop-portal`