From baca06fc3a666f41c070119b76b6838f75d47eb7 Mon Sep 17 00:00:00 2001 From: vpzomtrrfrt Date: Sat, 7 Sep 2024 12:03:42 -0600 Subject: hyprland: Also trigger workspace update on focusedmon (#34) --- src/wm_info_provider/hyprland.rs | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src') diff --git a/src/wm_info_provider/hyprland.rs b/src/wm_info_provider/hyprland.rs index 6fbfc30..29b86b3 100644 --- a/src/wm_info_provider/hyprland.rs +++ b/src/wm_info_provider/hyprland.rs @@ -79,6 +79,15 @@ fn hyprland_cb(conn: &mut Connection, state: &mut State) -> io::Result<() match hyprland.ipc.next_event() { Ok(event) => { if let Some(active_ws) = event.strip_prefix("workspace>>") { + hyprland.active_id = active_ws + .parse() + .map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?; + updated = true; + } else if let Some(data) = event.strip_prefix("focusedmon>>") { + let (_monitor, active_ws) = data.split_once(',').ok_or_else(|| { + io::Error::new(io::ErrorKind::InvalidData, "Too few fields in data") + })?; + hyprland.active_id = active_ws .parse() .map_err(|e| io::Error::new(io::ErrorKind::InvalidData, e))?; -- cgit v1.3.1