diff --git a/.gitignore b/.gitignore index ea8c4bf..0e71e34 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /target +.direnv/ diff --git a/Cargo.lock b/Cargo.lock index 2df93c7..34ecb1c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -26,6 +26,7 @@ dependencies = [ "cfg-if", "getrandom", "once_cell", + "serde", "version_check", ] @@ -529,12 +530,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "convert_case" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" - [[package]] name = "core-foundation" version = "0.9.3" @@ -703,10 +698,8 @@ version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ - "convert_case", "proc-macro2", "quote 1.0.35", - "rustc_version", "syn 1.0.109", ] @@ -750,12 +743,6 @@ dependencies = [ "libloading", ] -[[package]] -name = "doc-comment" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea41bba32d969b513997752735605054bc0dfa92b4c56bf1189f2e174be7a10" - [[package]] name = "downcast-rs" version = "1.2.0" @@ -1457,32 +1444,28 @@ dependencies = [ [[package]] name = "hyprland" -version = "0.3.13" +version = "0.4.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f87a8f1cc065d451894dd3916c0bc3fcf9b67b276126c05f27b1db912688dde8" +checksum = "54fdc60390459bd6da28ec708ee7a672b8f6680efb8f8f33cbe970da16f40a48" dependencies = [ - "async-trait", + "ahash", "derive_more", - "doc-comment", - "futures", - "hex", "hyprland-macros", - "lazy_static", "num-traits", + "once_cell", "paste", "regex", "serde", "serde_json", "serde_repr", - "strum", "tokio", ] [[package]] name = "hyprland-macros" -version = "0.3.4" +version = "0.4.0-alpha.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c941d3d52e979612af8cb94e8de49000c7fada2014a7791d173ab41339f4e4eb" +checksum = "5dd8ce4c182ce77e485918f49262425ee51a2746fe97f14084869aeff2fbc38e" dependencies = [ "quote 1.0.35", "syn 2.0.48", @@ -1614,6 +1597,7 @@ dependencies = [ "mpris", "nix 0.27.1", "notify", + "num-traits", "regex", "reqwest", "serde", @@ -2033,9 +2017,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" dependencies = [ "autocfg", ] @@ -2193,9 +2177,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.12" +version = "1.0.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f746c4065a8fa3fe23974dd82f15431cc8d40779821001404d10d2e79ca7d79" +checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c" [[package]] name = "percent-encoding" @@ -2653,12 +2637,6 @@ version = "1.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" -[[package]] -name = "rustversion" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f3208ce4d8448b3f3e7d168a73f5e0c43a61e32930de3bceeccedb388b6bf06" - [[package]] name = "ryu" version = "1.0.13" @@ -2937,28 +2915,6 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" -[[package]] -name = "strum" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "723b93e8addf9aa965ebe2d11da6d7540fa2283fcea14b3371ff055f7ba13f5f" -dependencies = [ - "strum_macros", -] - -[[package]] -name = "strum_macros" -version = "0.26.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a3417fc93d76740d974a01654a09777cb500428cc874ca9f45edfe0c4d4cd18" -dependencies = [ - "heck 0.4.1", - "proc-macro2", - "quote 1.0.35", - "rustversion", - "syn 2.0.48", -] - [[package]] name = "swayipc-async" version = "2.0.1" @@ -3169,7 +3125,6 @@ dependencies = [ "libc", "mio", "num_cpus", - "parking_lot", "pin-project-lite", "signal-hook-registry", "socket2 0.5.5", diff --git a/Cargo.toml b/Cargo.toml index 8f91280..d603ba0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -148,7 +148,9 @@ libpulse-binding = { version = "2.28.1", optional = true } # workspaces swayipc-async = { version = "2.0.1", optional = true } -hyprland = { version = "0.3.13", default_features = false, features = ["listener", "tokio", "silent"], optional = true } +hyprland = { version = "0.4.0-alpha.1", features = ["silent"], optional = true } +futures-util = { version = "0.3.30", optional = true } +num-traits = "0.2.18" # shared futures-lite = { version = "2.3.0", optional = true } # workspaces, upower diff --git a/src/clients/compositor/hyprland.rs b/src/clients/compositor/hyprland.rs index 56184eb..d5c453c 100644 --- a/src/clients/compositor/hyprland.rs +++ b/src/clients/compositor/hyprland.rs @@ -186,6 +186,7 @@ impl Client { fn get_workspace(name: &str, active: Option<&Workspace>) -> Option { Workspaces::get() .expect("Failed to get workspaces") + .into_iter() .find_map(|w| { if w.name == name { let vis = Visibility::from((&w, active.map(|w| w.name.as_ref()), &|w| { @@ -228,6 +229,7 @@ impl WorkspaceClient for Client { let workspaces = Workspaces::get() .expect("Failed to get workspaces") + .into_iter() .map(|w| { let vis = Visibility::from((&w, active_id.as_deref(), &is_visible));