leftwm_core/config/window_hiding_strategy.rs
1use serde::{Deserialize, Serialize};
2
3/// The stategy used to hide windows when switching tags in the backend
4#[derive(Serialize, Deserialize, Debug, Default, Clone, Copy, PartialEq, Eq)]
5pub enum WindowHidingStrategy {
6 /// The common behaviour for a window manager, but it prevents hidden windows from being
7 /// captured by other applications
8 Unmap,
9 /// Move the windows out of the visible area, so it can still be captured by some applications.
10 /// We still inform the window that it is in a "minimized"-like state, so it can probably
11 /// decide to not render its content as if it was focused.
12 MoveMinimize,
13 /// Move the windows out of the visible area and don't minilize them.
14 /// This should allow all applications to be captured by any other applications.
15 /// This could result in higher resource usage, since windows will render their content like
16 /// normal even if hidden.
17 #[default]
18 MoveOnly,
19}