diff --git a/Cargo.lock b/Cargo.lock index 63326c9b2..ccc2979e9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -84,9 +84,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "clap" -version = "3.1.6" +version = "3.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8c93436c21e4698bacadf42917db28b23017027a4deccb35dbe47a7e7840123" +checksum = "71c47df61d9e16dc010b55dba1952a57d8c215dbb533fd13cdd13369aac73b1c" dependencies = [ "atty", "bitflags", @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "clap_derive" -version = "3.1.4" +version = "3.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da95d038ede1a964ce99f49cbe27a7fb538d1da595e4b4f70b8c8f338d17bf16" +checksum = "a3aab4734e083b809aaf5794e14e756d1c798d2c69c7f7de7a09a2f5214993c1" dependencies = [ "heck", "proc-macro-error", @@ -244,9 +244,9 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "eyre" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9289ed2c0440a6536e65119725cf91fc2c6b5e513bfd2e36e1134d7cca6ca12f" +checksum = "4c2b6b5a29c02cdc822728b7d7b8ae1bab3e3b05d44522770ddd49722eeac7eb" dependencies = [ "indenter", "once_cell", @@ -523,9 +523,9 @@ checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" [[package]] name = "libc" -version = "0.2.121" +version = "0.2.123" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efaa7b300f3b5fe8eb6bf21ce3895e1751d9665086af2d64b42f19701015ff4f" +checksum = "cb691a747a7ab48abc15c5b42066eaafde10dc427e3b6ee2a1cf43db04c763bd" [[package]] name = "linked-hash-map" @@ -833,18 +833,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.36" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029" +checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1" dependencies = [ "unicode-xid", ] [[package]] name = "quote" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "632d02bff7f874a36f33ea8bb416cd484b90cc66c1194b1a1110d067a7013f58" +checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1" dependencies = [ "proc-macro2", ] @@ -909,9 +909,9 @@ dependencies = [ [[package]] name = "rayon" -version = "1.5.1" +version = "1.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" +checksum = "fd249e82c21598a9a426a4e00dd7adc1d640b22445ec8545feef801d1a74c221" dependencies = [ "autocfg", "crossbeam-deque", @@ -921,14 +921,13 @@ dependencies = [ [[package]] name = "rayon-core" -version = "1.9.1" +version = "1.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" +checksum = "9f51245e1e62e1f1629cbfec37b5793bbabcaeb90f30e94d2ba03564687353e4" dependencies = [ "crossbeam-channel", "crossbeam-deque", "crossbeam-utils", - "lazy_static", "num_cpus", ] @@ -1116,9 +1115,9 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" +checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" [[package]] name = "smallvec" @@ -1156,9 +1155,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.90" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704df27628939572cd88d33f171cd6f896f4eaca85252c6e0a72d8d8287ee86f" +checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d" dependencies = [ "proc-macro2", "quote", @@ -1167,9 +1166,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.23.6" +version = "0.23.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f3c0db8e08e06cfd352a043bd0143498fb7d42783a6e941da83b55464eb27d2" +checksum = "4eea2ed6847da2e0c7289f72cb4f285f0bd704694ca067d32be811b2a45ea858" dependencies = [ "cfg-if 1.0.0", "core-foundation-sys", @@ -1271,9 +1270,9 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.32" +version = "0.1.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a1bdf54a7c28a2bbf701e1d2233f6c77f473486b94bee4f9678da5a148dca7f" +checksum = "80b9fa4360528139bc96100c160b7ae879f5567f49f1782b0b02035b0358ebf3" dependencies = [ "cfg-if 1.0.0", "pin-project-lite", @@ -1305,9 +1304,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.23" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa31669fa42c09c34d94d8165dd2012e8ff3c66aca50f3bb226b68f216f2706c" +checksum = "6dfce9f3241b150f36e8e54bb561a742d5daa1a47b5dd9a5ce369fd4a4db2210" dependencies = [ "lazy_static", "valuable", @@ -1336,9 +1335,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.3.9" +version = "0.3.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e0ab7bdc962035a87fba73f3acca9b8a8d0034c2e6f60b84aeaaddddc155dce" +checksum = "4bc28f93baff38037f64e6f43d34cfa1605f27a49c34e8a04c5e78b0babf2596" dependencies = [ "ansi_term", "lazy_static", @@ -1453,15 +1452,15 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.34.0" +version = "0.35.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45296b64204227616fdbf2614cefa4c236b98ee64dfaaaa435207ed99fe7829f" +checksum = "08746b4b7ac95f708b3cccceb97b7f9a21a8916dd47fc99b0e6aaf7208f26fd7" dependencies = [ - "windows_aarch64_msvc 0.34.0", - "windows_i686_gnu 0.34.0", - "windows_i686_msvc 0.34.0", - "windows_x86_64_gnu 0.34.0", - "windows_x86_64_msvc 0.34.0", + "windows_aarch64_msvc 0.35.0", + "windows_i686_gnu 0.35.0", + "windows_i686_msvc 0.35.0", + "windows_x86_64_gnu 0.35.0", + "windows_x86_64_msvc 0.35.0", ] [[package]] @@ -1502,6 +1501,12 @@ version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17cffbe740121affb56fad0fc0e421804adf0ae00891205213b5cecd30db881d" +[[package]] +name = "windows_aarch64_msvc" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3bc5134e8ce0da5d64dcec3529793f1d33aee5a51fc2b4662e0f881dd463e6" + [[package]] name = "windows_i686_gnu" version = "0.28.0" @@ -1514,6 +1519,12 @@ version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2564fde759adb79129d9b4f54be42b32c89970c18ebf93124ca8870a498688ed" +[[package]] +name = "windows_i686_gnu" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0343a6f35bf43a07b009b8591b78b10ea03de86b06f48e28c96206cd0f453b50" + [[package]] name = "windows_i686_msvc" version = "0.28.0" @@ -1526,6 +1537,12 @@ version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9cd9d32ba70453522332c14d38814bceeb747d80b3958676007acadd7e166956" +[[package]] +name = "windows_i686_msvc" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1acdcbf4ca63d8e7a501be86fee744347186275ec2754d129ddeab7a1e3a02e4" + [[package]] name = "windows_x86_64_gnu" version = "0.28.0" @@ -1538,6 +1555,12 @@ version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cfce6deae227ee8d356d19effc141a509cc503dfd1f850622ec4b0f84428e1f4" +[[package]] +name = "windows_x86_64_gnu" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "893c0924c5a990ec73cd2264d1c0cba1773a929e1a3f5dbccffd769f8c4edebb" + [[package]] name = "windows_x86_64_msvc" version = "0.28.0" @@ -1550,6 +1573,12 @@ version = "0.34.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d19538ccc21819d01deaf88d6a17eae6596a12e9aafdbb97916fb49896d89de9" +[[package]] +name = "windows_x86_64_msvc" +version = "0.35.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a29bd61f32889c822c99a8fdf2e93378bd2fae4d7efd2693fab09fcaaf7eff4b" + [[package]] name = "winput" version = "0.2.5" diff --git a/komorebi-core/Cargo.toml b/komorebi-core/Cargo.toml index a7c54fa50..7e4876c18 100644 --- a/komorebi-core/Cargo.toml +++ b/komorebi-core/Cargo.toml @@ -15,7 +15,7 @@ strum = { version = "0.24", features = ["derive"] } schemars = "0.8" [dependencies.windows] -version = "0.34" +version = "0.35" features = [ "Win32_Foundation", ] diff --git a/komorebi/Cargo.toml b/komorebi/Cargo.toml index 18ed5b46e..72b3e72d7 100644 --- a/komorebi/Cargo.toml +++ b/komorebi/Cargo.toml @@ -41,7 +41,7 @@ winreg = "0.10" schemars = "0.8" [dependencies.windows] -version = "0.34" +version = "0.35" features = [ "Win32_Foundation", "Win32_Graphics_Dwm", diff --git a/komorebi/src/windows_api.rs b/komorebi/src/windows_api.rs index 5fa69165e..33935d94a 100644 --- a/komorebi/src/windows_api.rs +++ b/komorebi/src/windows_api.rs @@ -124,15 +124,16 @@ pub trait ProcessWindowsCrateResult { fn process(self) -> Result; } -macro_rules! impl_process_windows_crate_result { +macro_rules! impl_process_windows_crate_integer_wrapper_result { ( $($input:ty => $deref:ty),+ $(,)? ) => ( paste::paste! { $( - impl ProcessWindowsCrateResult<$deref> for WindowsCrateResult<$input> { + impl ProcessWindowsCrateResult<$deref> for $input { fn process(self) -> Result<$deref> { - match self { - Ok(value) => Ok(value.0), - Err(error) => Err(error.into()), + if self.0 == 0 { + Ok(self.0) + } else { + Err(std::io::Error::last_os_error().into()) } } } @@ -141,7 +142,7 @@ macro_rules! impl_process_windows_crate_result { ); } -impl_process_windows_crate_result!( +impl_process_windows_crate_integer_wrapper_result!( HWND => isize, ); @@ -296,7 +297,7 @@ impl WindowsApi { } pub fn foreground_window() -> Result { - unsafe { GetForegroundWindow() }.ok().process() + unsafe { GetForegroundWindow() }.process() } pub fn set_foreground_window(hwnd: HWND) -> Result<()> { @@ -305,16 +306,16 @@ impl WindowsApi { #[allow(dead_code)] pub fn top_window() -> Result { - unsafe { GetTopWindow(HWND::default()) }.ok().process() + unsafe { GetTopWindow(HWND::default()) }.process() } pub fn desktop_window() -> Result { - unsafe { GetDesktopWindow() }.ok().process() + unsafe { GetDesktopWindow() }.process() } #[allow(dead_code)] pub fn next_window(hwnd: HWND) -> Result { - unsafe { GetWindow(hwnd, GW_HWNDNEXT) }.ok().process() + unsafe { GetWindow(hwnd, GW_HWNDNEXT) }.process() } #[allow(dead_code)] @@ -352,7 +353,7 @@ impl WindowsApi { } pub fn window_from_point(point: POINT) -> Result { - unsafe { WindowFromPoint(point) }.ok().process() + unsafe { WindowFromPoint(point) }.process() } pub fn window_at_cursor_pos() -> Result { @@ -401,7 +402,7 @@ impl WindowsApi { } pub fn set_focus(hwnd: HWND) -> Result<()> { - unsafe { SetFocus(hwnd) }.ok().map(|_| ()).process() + unsafe { SetFocus(hwnd) }.process().map(|_| ()) } #[allow(dead_code)] @@ -451,9 +452,7 @@ impl WindowsApi { inherit_handle: bool, process_id: u32, ) -> Result { - unsafe { OpenProcess(access_rights, inherit_handle, process_id) } - .ok() - .process() + unsafe { OpenProcess(access_rights, inherit_handle, process_id) }.process() } pub fn process_handle(process_id: u32) -> Result { diff --git a/komorebic/Cargo.toml b/komorebic/Cargo.toml index 054ed2bca..b78145f80 100644 --- a/komorebic/Cargo.toml +++ b/komorebic/Cargo.toml @@ -27,7 +27,7 @@ serde_json = "1" uds_windows = "1" [dependencies.windows] -version = "0.34" +version = "0.35" features = [ "Win32_Foundation", "Win32_UI_WindowsAndMessaging"