diff options
| author | Thomas Versteeg <t@versteeg.email> | 2024-01-08 17:17:19 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-01-08 17:37:18 +0400 |
| commit | fb93038bd88e4443015fb482de3450c27f009219 (patch) | |
| tree | a2b5bbcce4c2c2fc9f9a070565800a44d1646013 /niri-config/src/lib.rs | |
| parent | 71fef2ad2e873c45279cdd6e629218fb5dea1115 (diff) | |
| download | niri-fb93038bd88e4443015fb482de3450c27f009219.tar.gz niri-fb93038bd88e4443015fb482de3450c27f009219.tar.bz2 niri-fb93038bd88e4443015fb482de3450c27f009219.zip | |
Add center-focused-column setting
Diffstat (limited to 'niri-config/src/lib.rs')
| -rw-r--r-- | niri-config/src/lib.rs | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/niri-config/src/lib.rs b/niri-config/src/lib.rs index 35bda95e..9cbc6522 100644 --- a/niri-config/src/lib.rs +++ b/niri-config/src/lib.rs @@ -94,6 +94,18 @@ impl Xkb { } } +#[derive(knuffel::DecodeScalar, Debug, Default, PartialEq, Eq, Clone, Copy)] +pub enum CenterFocusedColumn { + /// Focusing a column will not center the column. + #[default] + Never, + /// The focused column will always be centered. + Always, + /// Focusing a column will center it if it doesn't fit on the screen together with the + /// previously focused column. + OnOverflow, +} + #[derive(knuffel::DecodeScalar, Debug, Default, PartialEq, Eq)] pub enum TrackLayout { /// The layout change is global. @@ -217,6 +229,8 @@ pub struct Layout { pub preset_column_widths: Vec<PresetWidth>, #[knuffel(child)] pub default_column_width: Option<DefaultColumnWidth>, + #[knuffel(child, unwrap(argument), default)] + pub center_focused_column: CenterFocusedColumn, #[knuffel(child, unwrap(argument), default = 16)] pub gaps: u16, #[knuffel(child, default)] @@ -739,6 +753,8 @@ mod tests { right 2 top 3 } + + center-focused-column "on-overflow" } spawn-at-startup "alacritty" "-e" "fish" @@ -856,6 +872,7 @@ mod tests { top: 3, bottom: 0, }, + center_focused_column: CenterFocusedColumn::OnOverflow, }, spawn_at_startup: vec![SpawnAtStartup { command: vec!["alacritty".to_owned(), "-e".to_owned(), "fish".to_owned()], |
