diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-11-29 21:11:02 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-12-30 20:12:37 +0300 |
| commit | c5fffd6e2c48aa7fb8b45b8bdcd972bbd8ce900b (patch) | |
| tree | f4bf7c768d21cd72d81da6ca0d1b084631e71276 /niri-config/src/lib.rs | |
| parent | 951f63b6fd48b47ca60e8ed6aa91b4a7b47534f9 (diff) | |
| download | niri-c5fffd6e2c48aa7fb8b45b8bdcd972bbd8ce900b.tar.gz niri-c5fffd6e2c48aa7fb8b45b8bdcd972bbd8ce900b.tar.bz2 niri-c5fffd6e2c48aa7fb8b45b8bdcd972bbd8ce900b.zip | |
Initial WIP floating window implementation
Diffstat (limited to 'niri-config/src/lib.rs')
| -rw-r--r-- | niri-config/src/lib.rs | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/niri-config/src/lib.rs b/niri-config/src/lib.rs index fc1fdfd4..8d755c78 100644 --- a/niri-config/src/lib.rs +++ b/niri-config/src/lib.rs @@ -983,6 +983,8 @@ pub struct WindowRule { pub open_maximized: Option<bool>, #[knuffel(child, unwrap(argument))] pub open_fullscreen: Option<bool>, + #[knuffel(child, unwrap(argument))] + pub open_floating: Option<bool>, // Rules applied dynamically. #[knuffel(child, unwrap(argument))] @@ -1254,6 +1256,10 @@ pub enum Action { MoveWorkspaceToMonitorRight, MoveWorkspaceToMonitorDown, MoveWorkspaceToMonitorUp, + ToggleWindowFloating, + #[knuffel(skip)] + ToggleWindowFloatingById(u64), + SwitchFocusBetweenFloatingAndTiling, } impl From<niri_ipc::Action> for Action { @@ -1386,6 +1392,13 @@ impl From<niri_ipc::Action> for Action { niri_ipc::Action::ToggleDebugTint {} => Self::ToggleDebugTint, niri_ipc::Action::DebugToggleOpaqueRegions {} => Self::DebugToggleOpaqueRegions, niri_ipc::Action::DebugToggleDamage {} => Self::DebugToggleDamage, + niri_ipc::Action::ToggleWindowFloating { id: None } => Self::ToggleWindowFloating, + niri_ipc::Action::ToggleWindowFloating { id: Some(id) } => { + Self::ToggleWindowFloatingById(id) + } + niri_ipc::Action::SwitchFocusBetweenFloatingAndTiling {} => { + Self::SwitchFocusBetweenFloatingAndTiling + } } } } @@ -3128,6 +3141,7 @@ mod tests { open-on-output "eDP-1" open-maximized true open-fullscreen false + open-floating false focus-ring { off @@ -3406,6 +3420,7 @@ mod tests { open_on_output: Some("eDP-1".to_owned()), open_maximized: Some(true), open_fullscreen: Some(false), + open_floating: Some(false), focus_ring: BorderRule { off: true, width: Some(FloatOrInt(3.)), |
