Add live config reload, session locking and managed daemons

Refine focus gradients, shell workspace controls and popup motion. Correct floating stacking and preserve client-chosen dialog sizes. Add lock protocol probes and session integration.
This commit is contained in:
Samuel Onoja committed 2026-09-26 19:03:37 +01:00
1 parent b422448d88
commit 672b4e2b60
41 files changed
+2694 -298

No files matched your search

+19
View File
@@ -1,5 +1,17 @@
use ferese_layout::WindowId;
pub(crate) fn layer_priority(floating: bool, zooming: bool, fullscreen: bool) -> u8 {
if fullscreen {
3
} else if floating {
2
} else if zooming {
1
} else {
0
}
}
/// Persistent back-to-front order. Geometry updates never change this order.
#[derive(Default)]
pub(crate) struct WindowStack {
@@ -34,6 +46,13 @@ impl WindowStack {
mod tests {
use super::*;
#[test]
fn floating_windows_stay_above_tiled_and_maximized_windows() {
assert!(layer_priority(true, false, false) > layer_priority(false, true, false));
assert!(layer_priority(false, true, false) > layer_priority(false, false, false));
assert!(layer_priority(false, false, true) > layer_priority(true, false, false));
}
#[test]
fn remapping_neighbours_does_not_change_order() {
let mut stack = WindowStack::default();