aboutsummaryrefslogtreecommitdiff
path: root/src/layout/scrolling.rs
diff options
context:
space:
mode:
authorDuncan Overbruck <mail@duncano.de>2025-03-13 03:05:55 +0100
committerIvan Molodetskikh <yalterz@gmail.com>2025-03-14 12:57:33 -0700
commita5d58d670bde166ff8bca8a83bb6f1136c7fa67b (patch)
treefbbf33348af1b22b4f1d3a214bdbee32a6985e18 /src/layout/scrolling.rs
parentb4922086ce298bb3d7806437c6dbea4a86f52c38 (diff)
downloadniri-a5d58d670bde166ff8bca8a83bb6f1136c7fa67b.tar.gz
niri-a5d58d670bde166ff8bca8a83bb6f1136c7fa67b.tar.bz2
niri-a5d58d670bde166ff8bca8a83bb6f1136c7fa67b.zip
Add focus-column (by index) action
Diffstat (limited to 'src/layout/scrolling.rs')
-rw-r--r--src/layout/scrolling.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/layout/scrolling.rs b/src/layout/scrolling.rs
index a6df4045..cad65881 100644
--- a/src/layout/scrolling.rs
+++ b/src/layout/scrolling.rs
@@ -1491,6 +1491,14 @@ impl<W: LayoutElement> ScrollingSpace<W> {
self.activate_column(self.columns.len() - 1);
}
+ pub fn focus_column(&mut self, index: usize) {
+ if self.columns.is_empty() {
+ return;
+ }
+
+ self.activate_column(index.saturating_sub(1).min(self.columns.len() - 1));
+ }
+
pub fn focus_window_in_column(&mut self, index: u8) {
if self.columns.is_empty() {
return;