feat(gtk): ZenMode + RoomTheme + GnomeSearchProvider (#68, #62, #69) #151

Merged
charles merged 4 commits from feat/69-68-62-m5-qol into main 2026-04-06 02:25:22 +00:00
Owner

Résumé

Trois features QoL M5 dans fractal-gtk :

#68 — Mode Zen

  • ZenModeState : Inactive / Active { focused_room, notifications_were_enabled }
  • enter() / exit() : restaure l'état des notifications à la sortie

#62 — Thèmes visuels par salon

  • RoomTheme : couleur fond, couleur accent, famille de police, delta taille, CSS custom
  • RoomTheme::to_css() : génère du GTK CSS
  • ThemeRegistry : association room_id → theme_id + lookup CSS

#69 — Intégration GNOME avancée

  • GnomeSearchProvider : index de recherche + search() multi-termes (D-Bus SearchProvider2)
  • EnhancedNotification : notifications avec boutons d'action (Ouvrir / Marquer lu)
  • NotificationPriority : Low / Normal / High / Urgent
  • 7 tests unitaires

Closes #62, #68, #69

Plan de test

  • cargo check -p fractal-gtk sans erreur
  • ZenModeState::exit() retourne true si les notifications étaient activées
  • ThemeRegistry::css_for_room() retourne le CSS du thème assigné
  • GnomeSearchProvider::search() filtre par termes insensibles à la casse
## Résumé Trois features QoL M5 dans `fractal-gtk` : **#68 — Mode Zen** - `ZenModeState` : `Inactive` / `Active { focused_room, notifications_were_enabled }` - `enter()` / `exit()` : restaure l'état des notifications à la sortie **#62 — Thèmes visuels par salon** - `RoomTheme` : couleur fond, couleur accent, famille de police, delta taille, CSS custom - `RoomTheme::to_css()` : génère du GTK CSS - `ThemeRegistry` : association `room_id → theme_id` + lookup CSS **#69 — Intégration GNOME avancée** - `GnomeSearchProvider` : index de recherche + `search()` multi-termes (D-Bus `SearchProvider2`) - `EnhancedNotification` : notifications avec boutons d'action (Ouvrir / Marquer lu) - `NotificationPriority` : Low / Normal / High / Urgent - 7 tests unitaires Closes #62, #68, #69 ## Plan de test - [ ] `cargo check -p fractal-gtk` sans erreur - [ ] `ZenModeState::exit()` retourne `true` si les notifications étaient activées - [ ] `ThemeRegistry::css_for_room()` retourne le CSS du thème assigné - [ ] `GnomeSearchProvider::search()` filtre par termes insensibles à la casse
charles deleted branch feat/69-68-62-m5-qol 2026-04-06 02:25:22 +00:00
Sign in to join this conversation.
No description provided.