Keep fullscreen dialogs visible and preserve window focus
This commit is contained in:
1 parent
eda453dabd
commit
b3de13e27e
3 files changed
+142
-22
No files matched your search
@@ -1,8 +1,15 @@
|
||||
use ferese_layout::WindowId;
|
||||
use std::collections::HashMap;
|
||||
|
||||
pub(crate) fn layer_priority(floating: bool, zooming: bool, fullscreen: bool) -> u8 {
|
||||
if fullscreen {
|
||||
pub(crate) fn layer_priority(
|
||||
floating: bool,
|
||||
zooming: bool,
|
||||
fullscreen: bool,
|
||||
above_fullscreen: bool,
|
||||
) -> u8 {
|
||||
if above_fullscreen {
|
||||
4
|
||||
} else if fullscreen {
|
||||
3
|
||||
} else if floating {
|
||||
2
|
||||
@@ -90,9 +97,18 @@ mod tests {
|
||||
|
||||
#[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));
|
||||
assert!(
|
||||
layer_priority(true, false, false, false) > layer_priority(false, true, false, false)
|
||||
);
|
||||
assert!(
|
||||
layer_priority(false, true, false, false) > layer_priority(false, false, false, false)
|
||||
);
|
||||
assert!(
|
||||
layer_priority(false, false, true, false) > layer_priority(true, false, false, false)
|
||||
);
|
||||
assert!(
|
||||
layer_priority(true, false, false, true) > layer_priority(false, false, true, false)
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in new issue
Block a user