From ba3f603de4fc356550a74982484cd4a5699ffda6 Mon Sep 17 00:00:00 2001 From: Ctem <26450958+ctem@users.noreply.github.com> Date: Sun, 17 Sep 2023 17:50:16 +0900 Subject: [PATCH] feat: tab switch wraparound (#160) --- core/src/manager/tabs.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/src/manager/tabs.rs b/core/src/manager/tabs.rs index 33d978cc..01d09cf7 100644 --- a/core/src/manager/tabs.rs +++ b/core/src/manager/tabs.rs @@ -33,7 +33,11 @@ impl Tabs { } pub fn switch(&mut self, idx: isize, rel: bool) -> bool { - let idx = if rel { self.absolute(idx) } else { idx as usize }; + let idx = if rel { + (self.idx as isize + idx).rem_euclid(self.items.len() as isize) as usize + } else { + idx as usize + }; if idx == self.idx || idx >= self.items.len() { return false;