mirror of
https://github.com/LGUG2Z/komorebi.git
synced 2026-05-17 09:17:02 +02:00
feat(config): allow specifying layout flip on ws
This commit adds support for specifying a layout flip axis for each workspace in the static configuration file.
This commit is contained in:
@@ -35,6 +35,7 @@ use crate::window_manager::WindowManager;
|
|||||||
use crate::window_manager_event::WindowManagerEvent;
|
use crate::window_manager_event::WindowManagerEvent;
|
||||||
use crate::windows_api::WindowsApi;
|
use crate::windows_api::WindowsApi;
|
||||||
use crate::workspace::Workspace;
|
use crate::workspace::Workspace;
|
||||||
|
use crate::Axis;
|
||||||
use crate::CrossBoundaryBehaviour;
|
use crate::CrossBoundaryBehaviour;
|
||||||
use crate::DATA_DIR;
|
use crate::DATA_DIR;
|
||||||
use crate::DEFAULT_CONTAINER_PADDING;
|
use crate::DEFAULT_CONTAINER_PADDING;
|
||||||
@@ -148,6 +149,9 @@ pub struct WorkspaceConfig {
|
|||||||
/// (default: false)
|
/// (default: false)
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub float_override: Option<bool>,
|
pub float_override: Option<bool>,
|
||||||
|
/// Specify an axis on which to flip the selected layout (default: None)
|
||||||
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
|
pub layout_flip: Option<Axis>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<&Workspace> for WorkspaceConfig {
|
impl From<&Workspace> for WorkspaceConfig {
|
||||||
@@ -202,6 +206,7 @@ impl From<&Workspace> for WorkspaceConfig {
|
|||||||
apply_window_based_work_area_offset: Some(value.apply_window_based_work_area_offset()),
|
apply_window_based_work_area_offset: Some(value.apply_window_based_work_area_offset()),
|
||||||
window_container_behaviour: *value.window_container_behaviour(),
|
window_container_behaviour: *value.window_container_behaviour(),
|
||||||
float_override: *value.float_override(),
|
float_override: *value.float_override(),
|
||||||
|
layout_flip: value.layout_flip(),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -187,6 +187,10 @@ impl Workspace {
|
|||||||
self.set_float_override(config.float_override);
|
self.set_float_override(config.float_override);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if config.layout_flip.is_some() {
|
||||||
|
self.set_layout_flip(config.layout_flip);
|
||||||
|
}
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user