From cfa9011906baaceb0a7a6c5d9e1176b691d4222e Mon Sep 17 00:00:00 2001 From: Ed B Date: Mon, 18 Mar 2024 21:34:52 +0200 Subject: [PATCH] bug(uad-ng): logo not visible on Windows 11 light mode - added logo dark logo --- Cargo.lock | 812 ++++++++++++++++++++++++++++++++- Cargo.toml | 1 + resources/assets/logo-dark.png | Bin 0 -> 17831 bytes src/gui/mod.rs | 6 +- 4 files changed, 796 insertions(+), 23 deletions(-) create mode 100644 resources/assets/logo-dark.png diff --git a/Cargo.lock b/Cargo.lock index ba298e0..cb5896c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,6 +24,17 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "ahash" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom", + "once_cell", + "version_check", +] + [[package]] name = "ahash" version = "0.8.9" @@ -130,6 +141,177 @@ dependencies = [ "libloading 0.7.4", ] +[[package]] +name = "async-broadcast" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7c48ccdbf6ca6b121e0f586cbc0e73ae440e56c67c30fa0873b4e110d9c26d2b" +dependencies = [ + "event-listener 2.5.3", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" +dependencies = [ + "concurrent-queue", + "event-listener 5.2.0", + "event-listener-strategy 0.5.0", + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "async-executor" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17ae5ebefcc48e7452b4987947920dac9450be1110cadf34d1b8c116bdbaf97c" +dependencies = [ + "async-lock 3.3.0", + "async-task", + "concurrent-queue", + "fastrand 2.0.1", + "futures-lite 2.3.0", + "slab", +] + +[[package]] +name = "async-fs" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "279cf904654eeebfa37ac9bb1598880884924aab82e290aa65c9e77a0e142e06" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "blocking", + "futures-lite 1.13.0", +] + +[[package]] +name = "async-io" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" +dependencies = [ + "async-lock 2.8.0", + "autocfg", + "cfg-if", + "concurrent-queue", + "futures-lite 1.13.0", + "log", + "parking", + "polling 2.8.0", + "rustix 0.37.27", + "slab", + "socket2", + "waker-fn", +] + +[[package]] +name = "async-io" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" +dependencies = [ + "async-lock 3.3.0", + "cfg-if", + "concurrent-queue", + "futures-io", + "futures-lite 2.3.0", + "parking", + "polling 3.5.0", + "rustix 0.38.31", + "slab", + "tracing", + "windows-sys 0.52.0", +] + +[[package]] +name = "async-lock" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" +dependencies = [ + "event-listener 2.5.3", +] + +[[package]] +name = "async-lock" +version = "3.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" +dependencies = [ + "event-listener 4.0.3", + "event-listener-strategy 0.4.0", + "pin-project-lite", +] + +[[package]] +name = "async-process" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" +dependencies = [ + "async-io 1.13.0", + "async-lock 2.8.0", + "async-signal", + "blocking", + "cfg-if", + "event-listener 3.1.0", + "futures-lite 1.13.0", + "rustix 0.38.31", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-recursion" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + +[[package]] +name = "async-signal" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" +dependencies = [ + "async-io 2.3.2", + "async-lock 2.8.0", + "atomic-waker", + "cfg-if", + "futures-core", + "futures-io", + "rustix 0.38.31", + "signal-hook-registry", + "slab", + "windows-sys 0.48.0", +] + +[[package]] +name = "async-task" +version = "4.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" + +[[package]] +name = "async-trait" +version = "0.1.78" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "461abc97219de0eaaf81fe3ef974a540158f3d079c2ab200f891f1a2ef201e85" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + [[package]] name = "atomic-waker" version = "1.1.2" @@ -187,6 +369,15 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + [[package]] name = "block-sys" version = "0.2.1" @@ -206,6 +397,22 @@ dependencies = [ "objc2", ] +[[package]] +name = "blocking" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" +dependencies = [ + "async-channel", + "async-lock 3.3.0", + "async-task", + "fastrand 2.0.1", + "futures-io", + "futures-lite 2.3.0", + "piper", + "tracing", +] + [[package]] name = "bumpalo" version = "3.15.3" @@ -252,8 +459,8 @@ checksum = "fba7adb4dd5aa98e5553510223000e7148f621165ec5f9acd7113f6ca4995298" dependencies = [ "bitflags 2.4.2", "log", - "polling", - "rustix", + "polling 3.5.0", + "rustix 0.38.31", "slab", "thiserror", ] @@ -265,7 +472,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0f0ea9b9476c7fad82841a8dbb380e2eae480c21910feba80725b46931ed8f02" dependencies = [ "calloop", - "rustix", + "rustix 0.38.31", "wayland-backend", "wayland-client", ] @@ -522,6 +729,15 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "cpufeatures" +version = "0.2.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.4.0" @@ -562,6 +778,16 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + [[package]] name = "ctor" version = "0.2.7" @@ -589,13 +815,83 @@ dependencies = [ "winapi", ] +[[package]] +name = "dark-light" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62007a65515b3cd88c733dd3464431f05d2ad066999a824259d8edc3cf6f645" +dependencies = [ + "dconf_rs", + "detect-desktop-environment", + "dirs 4.0.0", + "objc", + "rust-ini", + "web-sys", + "winreg", + "zbus", + "zvariant", +] + +[[package]] +name = "dconf_rs" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7046468a81e6a002061c01e6a7c83139daf91b11c30e66795b13217c2d885c8b" + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "detect-desktop-environment" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21d8ad60dd5b13a4ee6bd8fa2d5d88965c597c67bce32b5fc49c94f55cb50810" + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", +] + +[[package]] +name = "dirs" +version = "4.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3aa72a6f96ea37bbc5aa912f6788242832f75369bdfdadcb0e38423f100059" +dependencies = [ + "dirs-sys 0.3.7", +] + [[package]] name = "dirs" version = "5.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" dependencies = [ - "dirs-sys", + "dirs-sys 0.4.1", +] + +[[package]] +name = "dirs-sys" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6" +dependencies = [ + "libc", + "redox_users", + "winapi", ] [[package]] @@ -625,6 +921,12 @@ dependencies = [ "libloading 0.8.1", ] +[[package]] +name = "dlv-list" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0688c2a7f92e427f44895cd63841bff7b29f8d7a1648b9e7e07a4a365b2e1257" + [[package]] name = "downcast-rs" version = "1.2.0" @@ -641,7 +943,7 @@ dependencies = [ "bytemuck", "drm-ffi", "drm-fourcc", - "rustix", + "rustix 0.38.31", ] [[package]] @@ -651,7 +953,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41334f8405792483e32ad05fbb9c5680ff4e84491883d2947a4757dc54cb2ac6" dependencies = [ "drm-sys", - "rustix", + "rustix 0.38.31", ] [[package]] @@ -676,6 +978,27 @@ version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +[[package]] +name = "enumflags2" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3278c9d5fb675e0a51dabcf4c0d355f692b064171535ba72361be1528a9d8e8d" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c785274071b1b420972453b306eeca06acf4633829db4223b58a2a8c5953bc4" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + [[package]] name = "equivalent" version = "1.0.1" @@ -717,6 +1040,65 @@ dependencies = [ "num-traits", ] +[[package]] +name = "event-listener" +version = "2.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" + +[[package]] +name = "event-listener" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener" +version = "5.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91" +dependencies = [ + "concurrent-queue", + "parking", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" +dependencies = [ + "event-listener 4.0.3", + "pin-project-lite", +] + +[[package]] +name = "event-listener-strategy" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" +dependencies = [ + "event-listener 5.2.0", + "pin-project-lite", +] + [[package]] name = "exr" version = "1.72.0" @@ -739,6 +1121,15 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd2e7510819d6fbf51a5545c8f922716ecfb14df168a3242f7d33e0239efe6a1" +[[package]] +name = "fastrand" +version = "1.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" +dependencies = [ + "instant", +] + [[package]] name = "fastrand" version = "2.0.1" @@ -909,6 +1300,34 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +[[package]] +name = "futures-lite" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" +dependencies = [ + "fastrand 1.9.0", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + +[[package]] +name = "futures-lite" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +dependencies = [ + "fastrand 2.0.1", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] + [[package]] name = "futures-macro" version = "0.3.30" @@ -950,6 +1369,16 @@ dependencies = [ "slab", ] +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + [[package]] name = "gethostname" version = "0.4.3" @@ -1071,7 +1500,7 @@ checksum = "cc11df1ace8e7e564511f53af41f3e42ddc95b56fd07b3f4445d2a6048bc682c" dependencies = [ "bitflags 2.4.2", "gpu-descriptor-types", - "hashbrown", + "hashbrown 0.14.3", ] [[package]] @@ -1103,13 +1532,22 @@ dependencies = [ "crunchy", ] +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +dependencies = [ + "ahash 0.7.8", +] + [[package]] name = "hashbrown" version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" dependencies = [ - "ahash", + "ahash 0.8.9", "allocator-api2", ] @@ -1134,6 +1572,12 @@ version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e18e4ebaca9e578405839cdf9098dc09a11ad532d94a6105a87c00c11b8a835" +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + [[package]] name = "hexf-parse" version = "0.2.1" @@ -1381,7 +1825,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "233cf39063f058ea2caae4091bf4a3ef70a653afbc026f5c4a4135d114e3c177" dependencies = [ "equivalent", - "hashbrown", + "hashbrown 0.14.3", ] [[package]] @@ -1393,6 +1837,17 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "io-lifetimes" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" +dependencies = [ + "hermit-abi", + "libc", + "windows-sys 0.48.0", +] + [[package]] name = "is-terminal" version = "0.4.12" @@ -1552,6 +2007,12 @@ dependencies = [ "redox_syscall 0.4.1", ] +[[package]] +name = "linux-raw-sys" +version = "0.3.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" + [[package]] name = "linux-raw-sys" version = "0.4.13" @@ -1586,7 +2047,7 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" dependencies = [ - "hashbrown", + "hashbrown 0.14.3", ] [[package]] @@ -1622,6 +2083,24 @@ dependencies = [ "libc", ] +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "memoffset" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a634b1c61a95585bd15607c6ab0c4e5b226e695ff2800ba0cdccddf208c406c" +dependencies = [ + "autocfg", +] + [[package]] name = "metal" version = "0.27.0" @@ -1703,6 +2182,18 @@ dependencies = [ "jni-sys", ] +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset 0.7.1", +] + [[package]] name = "num-traits" version = "0.2.18" @@ -1825,6 +2316,26 @@ dependencies = [ "libredox 0.0.2", ] +[[package]] +name = "ordered-multimap" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccd746e37177e1711c20dd619a1620f34f5c8b569c53590a72dedd5344d8924a" +dependencies = [ + "dlv-list", + "hashbrown 0.12.3", +] + +[[package]] +name = "ordered-stream" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9aa2b01e1d916879f73a53d01d1d6cee68adbb31d6d9177a8cfce093cced1d50" +dependencies = [ + "futures-core", + "pin-project-lite", +] + [[package]] name = "owned_ttf_parser" version = "0.20.0" @@ -1857,6 +2368,12 @@ dependencies = [ "syn 2.0.50", ] +[[package]] +name = "parking" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" + [[package]] name = "parking_lot" version = "0.11.2" @@ -1971,6 +2488,17 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" +[[package]] +name = "piper" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" +dependencies = [ + "atomic-waker", + "fastrand 2.0.1", + "futures-io", +] + [[package]] name = "pkg-config" version = "0.3.30" @@ -1990,6 +2518,22 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "polling" +version = "2.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" +dependencies = [ + "autocfg", + "bitflags 1.3.2", + "cfg-if", + "concurrent-queue", + "libc", + "log", + "pin-project-lite", + "windows-sys 0.48.0", +] + [[package]] name = "polling" version = "3.5.0" @@ -1999,7 +2543,7 @@ dependencies = [ "cfg-if", "concurrent-queue", "pin-project-lite", - "rustix", + "rustix 0.38.31", "tracing", "windows-sys 0.52.0", ] @@ -2248,12 +2792,36 @@ version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3cd14fd5e3b777a7422cca79358c57a8f6e3a703d9ac187448d0daf220c2407f" +[[package]] +name = "rust-ini" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6d5f2436026b4f6e79dc829837d467cc7e9a55ee40e750d716713540715a2df" +dependencies = [ + "cfg-if", + "ordered-multimap", +] + [[package]] name = "rustc-hash" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustix" +version = "0.37.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" +dependencies = [ + "bitflags 1.3.2", + "errno", + "io-lifetimes", + "libc", + "linux-raw-sys 0.3.8", + "windows-sys 0.48.0", +] + [[package]] name = "rustix" version = "0.38.31" @@ -2392,6 +2960,17 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_repr" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b2e6b945e9d3df726b65d6ee24060aff8e3533d431f677a9695db04eff9dfdb" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.50", +] + [[package]] name = "serde_spanned" version = "0.6.5" @@ -2401,6 +2980,26 @@ dependencies = [ "serde", ] +[[package]] +name = "sha1" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3bf829a2d51ab4a5ddf1352d8470c140cadc8301b2ae1789db023f01cedd6ba" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +dependencies = [ + "libc", +] + [[package]] name = "simd-adler32" version = "0.3.7" @@ -2450,7 +3049,7 @@ dependencies = [ "libc", "log", "memmap2 0.9.4", - "rustix", + "rustix 0.38.31", "thiserror", "wayland-backend", "wayland-client", @@ -2482,6 +3081,16 @@ dependencies = [ "serde", ] +[[package]] +name = "socket2" +version = "0.4.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "softbuffer" version = "0.4.1" @@ -2494,7 +3103,7 @@ dependencies = [ "cocoa", "core-graphics", "drm", - "fastrand", + "fastrand 2.0.1", "foreign-types", "js-sys", "log", @@ -2502,7 +3111,7 @@ dependencies = [ "objc", "raw-window-handle", "redox_syscall 0.4.1", - "rustix", + "rustix 0.38.31", "tiny-xlib", "wasm-bindgen", "wayland-backend", @@ -2636,6 +3245,18 @@ dependencies = [ "xattr", ] +[[package]] +name = "tempfile" +version = "3.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" +dependencies = [ + "cfg-if", + "fastrand 2.0.1", + "rustix 0.38.31", + "windows-sys 0.52.0", +] + [[package]] name = "termcolor" version = "1.4.1" @@ -2817,12 +3438,19 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "17f77d76d837a7830fe1d4f12b7b4ba4192c1888001c7164257e4bc6d21d96b4" +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + [[package]] name = "uad-ng" version = "1.0.2" dependencies = [ "chrono", - "dirs", + "dark-light", + "dirs 5.0.1", "fern", "flate2", "iced", @@ -2838,6 +3466,17 @@ dependencies = [ "win32console", ] +[[package]] +name = "uds_windows" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" +dependencies = [ + "memoffset 0.9.0", + "tempfile", + "winapi", +] + [[package]] name = "unicode-bidi" version = "0.3.15" @@ -2949,6 +3588,12 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +[[package]] +name = "waker-fn" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" + [[package]] name = "walkdir" version = "2.5.0" @@ -3054,7 +3699,7 @@ checksum = "9d50fa61ce90d76474c87f5fc002828d81b32677340112b4ef08079a9d459a40" dependencies = [ "cc", "downcast-rs", - "rustix", + "rustix 0.38.31", "scoped-tls", "smallvec", "wayland-sys", @@ -3067,7 +3712,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "82fb96ee935c2cea6668ccb470fb7771f6215d1691746c2d896b447a00ad3f1f" dependencies = [ "bitflags 2.4.2", - "rustix", + "rustix 0.38.31", "wayland-backend", "wayland-scanner", ] @@ -3089,7 +3734,7 @@ version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71ce5fa868dd13d11a0d04c5e2e65726d0897be8de247c0c5a65886e283231ba" dependencies = [ - "rustix", + "rustix 0.38.31", "wayland-client", "xcursor", ] @@ -3580,7 +4225,7 @@ version = "0.29.14" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7a3db69ffbe53a9babec7804da7a90f21020fcce1f2f5e5291e2311245b993d" dependencies = [ - "ahash", + "ahash 0.8.9", "android-activity", "atomic-waker", "bitflags 2.4.2", @@ -3603,7 +4248,7 @@ dependencies = [ "percent-encoding", "raw-window-handle", "redox_syscall 0.3.5", - "rustix", + "rustix 0.38.31", "sctk-adwaita", "smithay-client-toolkit", "smol_str", @@ -3640,6 +4285,15 @@ dependencies = [ "memchr", ] +[[package]] +name = "winreg" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +dependencies = [ + "winapi", +] + [[package]] name = "x11-dl" version = "2.21.0" @@ -3662,7 +4316,7 @@ dependencies = [ "libc", "libloading 0.8.1", "once_cell", - "rustix", + "rustix 0.38.31", "x11rb-protocol", ] @@ -3680,7 +4334,7 @@ checksum = "8da84f1a25939b27f6820d92aed108f83ff920fdf11a7b19366c27c4cda81d4f" dependencies = [ "libc", "linux-raw-sys 0.4.13", - "rustix", + "rustix 0.38.31", ] [[package]] @@ -3689,6 +4343,16 @@ version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6a0ccd7b4a5345edfcd0c3535718a4e9ff7798ffc536bb5b5a0e26ff84732911" +[[package]] +name = "xdg-home" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21e5a325c3cb8398ad6cf859c1135b25dd29e186679cf2da7581d9679f63b38e" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "xkbcommon-dl" version = "0.4.2" @@ -3726,6 +4390,72 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c94451ac9513335b5e23d7a8a2b61a7102398b8cca5160829d313e84c9d98be1" +[[package]] +name = "zbus" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675d170b632a6ad49804c8cf2105d7c31eddd3312555cffd4b740e08e97c25e6" +dependencies = [ + "async-broadcast", + "async-executor", + "async-fs", + "async-io 1.13.0", + "async-lock 2.8.0", + "async-process", + "async-recursion", + "async-task", + "async-trait", + "blocking", + "byteorder", + "derivative", + "enumflags2", + "event-listener 2.5.3", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "nix", + "once_cell", + "ordered-stream", + "rand", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "tracing", + "uds_windows", + "winapi", + "xdg-home", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7131497b0f887e8061b430c530240063d33bf9455fa34438f388a245da69e0a5" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "regex", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zbus_names" +version = "2.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "437d738d3750bed6ca9b8d423ccc7a8eb284f6b1d6d4e225a0e4e6258d864c8d" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + [[package]] name = "zeno" version = "0.2.3" @@ -3766,3 +4496,41 @@ checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" dependencies = [ "simd-adler32", ] + +[[package]] +name = "zvariant" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eef2be88ba09b358d3b58aca6e41cd853631d44787f319a1383ca83424fb2db" +dependencies = [ + "byteorder", + "enumflags2", + "libc", + "serde", + "static_assertions", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "3.15.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37c24dc0bed72f5f90d1f8bb5b07228cbf63b3c6e9f82d82559d4bae666e7ed9" +dependencies = [ + "proc-macro-crate", + "proc-macro2", + "quote", + "syn 1.0.109", + "zvariant_utils", +] + +[[package]] +name = "zvariant_utils" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7234f0d811589db492d16893e3f21e8e2fd282e6d01b0cddee310322062cc200" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.109", +] diff --git a/Cargo.toml b/Cargo.toml index 9e729f7..0a912db 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,6 +18,7 @@ self-update = ["flate2", "tar"] no-self-update = [] [dependencies] +dark-light = { version = "^1.0.0" } serde = { version = "^1.0", features = ["derive"] } serde_json = "^1.0" static_init = "^1.0" diff --git a/resources/assets/logo-dark.png b/resources/assets/logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..f0ea6232d82e4f1367c919b679ac68de193e5331 GIT binary patch literal 17831 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 H4v+o^64C0Y literal 0 HcmV?d00001 diff --git a/src/gui/mod.rs b/src/gui/mod.rs index 4b9870b..e160ade 100644 --- a/src/gui/mod.rs +++ b/src/gui/mod.rs @@ -376,7 +376,11 @@ impl Application for UadGui { impl UadGui { pub fn start() -> iced::Result { - let logo = include_bytes!("../../resources/assets/logo.png"); + let logo: &[u8] = match dark_light::detect() { + dark_light::Mode::Dark => include_bytes!("../../resources/assets/logo-dark.png"), + dark_light::Mode::Light => include_bytes!("../../resources/assets/logo.png"), + dark_light::Mode::Default => include_bytes!("../../resources/assets/logo.png"), + }; Self::run(Settings { window: Window {