aboutsummaryrefslogtreecommitdiff
path: root/src/layout/mod.rs
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-12-29 07:51:14 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-12-29 07:51:14 +0400
commitd6c553091f037f482f63d8a8afce306b236c404b (patch)
tree62b7cc1d759c48b5036f998971f3444c4f42972b /src/layout/mod.rs
parent097c415036ed63c0736a6434ab9be25fbac042e1 (diff)
downloadniri-d6c553091f037f482f63d8a8afce306b236c404b.tar.gz
niri-d6c553091f037f482f63d8a8afce306b236c404b.tar.bz2
niri-d6c553091f037f482f63d8a8afce306b236c404b.zip
Add focus-column-{first,last}
Diffstat (limited to 'src/layout/mod.rs')
-rw-r--r--src/layout/mod.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/layout/mod.rs b/src/layout/mod.rs
index c60211a3..02287db6 100644
--- a/src/layout/mod.rs
+++ b/src/layout/mod.rs
@@ -816,6 +816,20 @@ impl<W: LayoutElement> Layout<W> {
monitor.focus_right();
}
+ pub fn focus_column_first(&mut self) {
+ let Some(monitor) = self.active_monitor() else {
+ return;
+ };
+ monitor.focus_column_first();
+ }
+
+ pub fn focus_column_last(&mut self) {
+ let Some(monitor) = self.active_monitor() else {
+ return;
+ };
+ monitor.focus_column_last();
+ }
+
pub fn focus_down(&mut self) {
let Some(monitor) = self.active_monitor() else {
return;
@@ -1524,6 +1538,8 @@ mod tests {
FullscreenWindow(#[proptest(strategy = "1..=5usize")] usize),
FocusColumnLeft,
FocusColumnRight,
+ FocusColumnFirst,
+ FocusColumnLast,
FocusWindowDown,
FocusWindowUp,
FocusWindowOrWorkspaceDown,
@@ -1635,6 +1651,8 @@ mod tests {
}
Op::FocusColumnLeft => layout.focus_left(),
Op::FocusColumnRight => layout.focus_right(),
+ Op::FocusColumnFirst => layout.focus_column_first(),
+ Op::FocusColumnLast => layout.focus_column_last(),
Op::FocusWindowDown => layout.focus_down(),
Op::FocusWindowUp => layout.focus_up(),
Op::FocusWindowOrWorkspaceDown => layout.focus_window_or_workspace_down(),