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/mod.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/mod.rs')
| -rw-r--r-- | src/layout/mod.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/layout/mod.rs b/src/layout/mod.rs index ac8db5d3..05c1550c 100644 --- a/src/layout/mod.rs +++ b/src/layout/mod.rs @@ -1235,6 +1235,20 @@ impl<W: LayoutElement> Layout<W> { monitor.focus_column_last(); } + pub fn focus_column_right_or_first(&mut self) { + let Some(monitor) = self.active_monitor() else { + return; + }; + monitor.focus_column_right_or_first(); + } + + pub fn focus_column_left_or_last(&mut self) { + let Some(monitor) = self.active_monitor() else { + return; + }; + monitor.focus_column_left_or_last(); + } + pub fn focus_down(&mut self) { let Some(monitor) = self.active_monitor() else { return; @@ -2634,6 +2648,8 @@ mod tests { FocusColumnRight, FocusColumnFirst, FocusColumnLast, + FocusColumnRightOrFirst, + FocusColumnLeftOrLast, FocusWindowDown, FocusWindowUp, FocusWindowDownOrColumnLeft, @@ -2928,6 +2944,8 @@ mod tests { Op::FocusColumnRight => layout.focus_right(), Op::FocusColumnFirst => layout.focus_column_first(), Op::FocusColumnLast => layout.focus_column_last(), + Op::FocusColumnRightOrFirst => layout.focus_column_right_or_first(), + Op::FocusColumnLeftOrLast => layout.focus_column_left_or_last(), Op::FocusWindowDown => layout.focus_down(), Op::FocusWindowUp => layout.focus_up(), Op::FocusWindowDownOrColumnLeft => layout.focus_down_or_left(), @@ -3144,6 +3162,8 @@ mod tests { Op::FullscreenWindow(3), Op::FocusColumnLeft, Op::FocusColumnRight, + Op::FocusColumnRightOrFirst, + Op::FocusColumnLeftOrLast, Op::FocusWindowUp, Op::FocusWindowUpOrColumnLeft, Op::FocusWindowUpOrColumnRight, @@ -3317,6 +3337,8 @@ mod tests { }, Op::FocusColumnLeft, Op::FocusColumnRight, + Op::FocusColumnRightOrFirst, + Op::FocusColumnLeftOrLast, Op::FocusWindowUp, Op::FocusWindowUpOrColumnLeft, Op::FocusWindowUpOrColumnRight, |
