diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-11-23 11:27:27 +0300 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-11-23 15:07:52 +0300 |
| commit | 1e6b8906e0a04d92778e5a77d97353f768635274 (patch) | |
| tree | db604b87781a0a71285c3eba11eb53b00b4ca5c9 /src | |
| parent | 6c5b92e5c0e0243d54f9637e5f23a3f6641ce55b (diff) | |
| download | niri-1e6b8906e0a04d92778e5a77d97353f768635274.tar.gz niri-1e6b8906e0a04d92778e5a77d97353f768635274.tar.bz2 niri-1e6b8906e0a04d92778e5a77d97353f768635274.zip | |
layout/monitor: Extract add_workspace_bottom()
Diffstat (limited to 'src')
| -rw-r--r-- | src/layout/mod.rs | 3 | ||||
| -rw-r--r-- | src/layout/monitor.rs | 20 |
2 files changed, 11 insertions, 12 deletions
diff --git a/src/layout/mod.rs b/src/layout/mod.rs index 33d6411a..e5cfea67 100644 --- a/src/layout/mod.rs +++ b/src/layout/mod.rs @@ -2617,8 +2617,7 @@ impl<W: LayoutElement> Layout<W> { let current = &mut monitors[*active_monitor_idx]; if current.active_workspace_idx == current.workspaces.len() - 1 { // Insert a new empty workspace. - let ws = Workspace::new(current.output.clone(), current.options.clone()); - current.workspaces.push(ws); + current.add_workspace_bottom(); } let mut ws = current.workspaces.remove(current.active_workspace_idx); current.active_workspace_idx = current.active_workspace_idx.saturating_sub(1); diff --git a/src/layout/monitor.rs b/src/layout/monitor.rs index d95b1bac..aecad889 100644 --- a/src/layout/monitor.rs +++ b/src/layout/monitor.rs @@ -150,6 +150,11 @@ impl<W: LayoutElement> Monitor<W> { self.windows().any(|win| win.id() == window) } + pub fn add_workspace_bottom(&mut self) { + let ws = Workspace::new(self.output.clone(), self.options.clone()); + self.workspaces.push(ws); + } + fn activate_workspace(&mut self, idx: usize) { if self.active_workspace_idx == idx { return; @@ -191,8 +196,7 @@ impl<W: LayoutElement> Monitor<W> { if workspace_idx == self.workspaces.len() - 1 { // Insert a new empty workspace. - let ws = Workspace::new(self.output.clone(), self.options.clone()); - self.workspaces.push(ws); + self.add_workspace_bottom(); } if activate { @@ -233,8 +237,7 @@ impl<W: LayoutElement> Monitor<W> { if workspace_idx == self.workspaces.len() - 1 { // Insert a new empty workspace. - let ws = Workspace::new(self.output.clone(), self.options.clone()); - self.workspaces.push(ws); + self.add_workspace_bottom(); } if activate { @@ -260,8 +263,7 @@ impl<W: LayoutElement> Monitor<W> { if workspace_idx == self.workspaces.len() - 1 { // Insert a new empty workspace. - let ws = Workspace::new(self.output.clone(), self.options.clone()); - self.workspaces.push(ws); + self.add_workspace_bottom(); } if activate { @@ -818,8 +820,7 @@ impl<W: LayoutElement> Monitor<W> { if new_idx == self.workspaces.len() - 1 { // Insert a new empty workspace. - let ws = Workspace::new(self.output.clone(), self.options.clone()); - self.workspaces.push(ws); + self.add_workspace_bottom(); } let previous_workspace_id = self.previous_workspace_id; @@ -840,8 +841,7 @@ impl<W: LayoutElement> Monitor<W> { if self.active_workspace_idx == self.workspaces.len() - 1 { // Insert a new empty workspace. - let ws = Workspace::new(self.output.clone(), self.options.clone()); - self.workspaces.push(ws); + self.add_workspace_bottom(); } let previous_workspace_id = self.previous_workspace_id; |
