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:
1 parent
b422448d88
commit
672b4e2b60
41 files changed
+2694
-298
No files matched your search
@@ -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();
|
||||
|
||||
Reference in new issue
Block a user