summaryrefslogtreecommitdiff
path: root/src/wm_info_provider
diff options
context:
space:
mode:
Diffstat (limited to 'src/wm_info_provider')
-rw-r--r--src/wm_info_provider/ext_workspace_unstable.rs17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/wm_info_provider/ext_workspace_unstable.rs b/src/wm_info_provider/ext_workspace_unstable.rs
index 68238d0..dbf6bf7 100644
--- a/src/wm_info_provider/ext_workspace_unstable.rs
+++ b/src/wm_info_provider/ext_workspace_unstable.rs
@@ -57,12 +57,23 @@ impl ExtWorkspaceUnstable {
pub fn click_on_tag(
&mut self,
- _: &mut Connection<State>,
+ conn: &mut Connection<State>,
_: WlOutput,
_: WlSeat,
- _: &str,
- _: PointerBtn,
+ tag: &str,
+ btn: PointerBtn,
) {
+ if btn != PointerBtn::Left {
+ return;
+ }
+
+ let Some(ws) = self
+ .groups
+ .iter()
+ .find_map(|g| g.workspaces.iter().find(|w| w.name.as_deref() == Some(tag)))
+ else { return };
+
+ ws.workspace_handle.activate(conn);
}
}