diff options
| author | James Sully <sullyj3@gmail.com> | 2024-06-09 21:14:51 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-09 11:14:51 +0000 |
| commit | a55e385b12f27e3e700ae759d620b401f910288f (patch) | |
| tree | f60b8f7860bc5a531c83c64a4ef0308935970e1e /src/layout/workspace.rs | |
| parent | af6d84a7f85c3804bcf60d066f26e33070a17d1c (diff) | |
| download | niri-a55e385b12f27e3e700ae759d620b401f910288f.tar.gz niri-a55e385b12f27e3e700ae759d620b401f910288f.tar.bz2 niri-a55e385b12f27e3e700ae759d620b401f910288f.zip | |
Add `focus-column-right-or-first`, `focus-column-left-or-last` (#391)
* add focus-column-right-or-first
* add focus-column-left-or-last
Diffstat (limited to 'src/layout/workspace.rs')
| -rw-r--r-- | src/layout/workspace.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/layout/workspace.rs b/src/layout/workspace.rs index fadbf00c..d18f37e0 100644 --- a/src/layout/workspace.rs +++ b/src/layout/workspace.rs @@ -1536,6 +1536,28 @@ impl<W: LayoutElement> Workspace<W> { self.activate_column(self.columns.len() - 1); } + pub fn focus_column_right_or_first(&mut self) { + if self.columns.is_empty() { + return; + } + + let column_idx = (self.active_column_idx + 1) % self.columns.len(); + self.activate_column(column_idx); + } + + pub fn focus_column_left_or_last(&mut self) { + if self.columns.is_empty() { + return; + } + + let column_idx = if self.active_column_idx == 0 { + self.columns.len() - 1 + } else { + self.active_column_idx - 1 + }; + self.activate_column(column_idx); + } + pub fn focus_down(&mut self) { if self.columns.is_empty() { return; |
