Add native Settings and complete live configuration reload

Add compact branded Settings with safe atomic edits, external config refresh and a draggable sidebar. Reconcile services, update connected displays and input devices, apply live layout policy and window rules, and resolve initial floating placement before tiled insertion. Package the Settings launcher and shared Ferese icon.
This commit is contained in:
Samuel Onoja committed 2026-09-26 20:31:05 +01:00
1 parent 672b4e2b60
commit 23991d5bd8
27 files changed
+3083 -61

No files matched your search

+4
View File
@@ -19,3 +19,7 @@ text_muted = "#AAB4C7"
# Super+Enter opens Foot. Super+Shift+E logs out.
# See README.md for monitor profiles and additional bindings.
[[window_rules]]
app_id = "dev.ferese.Settings"
floating = true
+11
View File
@@ -0,0 +1,11 @@
[Desktop Entry]
Type=Application
Name=Ferese Settings
Comment=Make your Ferese desktop feel like yours
Exec=ferese-settings
TryExec=ferese-settings
Icon=dev.ferese.Settings
Terminal=false
Categories=Settings;DesktopSettings;
Keywords=Ferese;Appearance;Wallpaper;Keyboard;Windows;
StartupNotify=true
+1
View File
@@ -4,3 +4,4 @@ Comment=Animation-first scrolling Wayland desktop
Exec=/usr/local/bin/ferese-session
TryExec=/usr/local/bin/ferese-session
Type=Application
Icon=ferese
+5
View File
@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" role="img" aria-label="Ferese symbol: tiled F">
<rect x="20" y="20" width="50" height="160" rx="8" fill="#3d7be6"/>
<rect x="80" y="20" width="100" height="55" rx="8" fill="#3d7be6"/>
<rect x="80" y="95" width="70" height="45" rx="8" fill="#3d7be6"/>
</svg>

After

Width:  |  Height:  |  Size: 326 B