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:
@@ -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`
|
||||
|
||||
@@ -2,6 +2,27 @@
|
||||
|
||||
Motor GPUI: libs + widgets. Renombrado de `yahweh` el 2026-05-19.
|
||||
|
||||
### feat(nahual-theme): exportación del tema a GTK (módulo toolkit)
|
||||
|
||||
Módulo nuevo `nahual-theme/src/toolkit.rs`: traduce el `Theme` activo a
|
||||
`~/.config/gtk-3.0/gtk.css` y `gtk-4.0/gtk.css` con overrides
|
||||
`@define-color`. Las apps GTK adoptan el acento exacto del tema + un
|
||||
neutro claro/oscuro coherente. Los fondos en gradiente de nahual no se
|
||||
pueden reproducir en ventanas GTK sólidas, así que el neutro se sintetiza
|
||||
con un ramp de luminancia tintado por el matiz del borde del tema.
|
||||
|
||||
- `gtk4_css` / `gtk3_css` — generadores puros (nombres de color de
|
||||
libadwaita y de Adwaita 3 respectivamente).
|
||||
- `export_toolkit_configs` + `export_toolkit_configs_to(base)` —
|
||||
escritura; el segundo con directorio base explícito para tests.
|
||||
- **Guarda de no-pisar**: si un `gtk.css` ya existe sin la marca de
|
||||
nahual, es del usuario y se respeta (`ExportReport.skipped`).
|
||||
- `Theme::set` y `Theme::install_default` exportan best-effort: cambiar
|
||||
de tema en cualquier app GPUI actualiza GTK al instante.
|
||||
- `config_path` refactorizado sobre un nuevo `config_home()`.
|
||||
- Ejemplo `dump-toolkit-css` para inspeccionar el CSS generado.
|
||||
- 8 tests nuevos en `toolkit`.
|
||||
|
||||
### feat(yahweh-launcher): F3 — extracción del shell standard de explorers
|
||||
Iter 19. Patrón con 4 consumers idénticos (nakui-explorer,
|
||||
nouser-explorer, minga-explorer, brahman-broker-explorer) declaraban
|
||||
|
||||
Reference in New Issue
Block a user