diff --git a/Cargo.lock b/Cargo.lock index c51c1a18..853dfe30 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,15 +18,6 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" -[[package]] -name = "addr2line" -version = "0.25.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" -dependencies = [ - "gimli", -] - [[package]] name = "adler" version = "1.0.2" @@ -46,7 +37,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5a15f179cd60c4584b8a8c596927aadc462e27f2ca70c04e0071964a73ba7a75" dependencies = [ "cfg-if", - "getrandom 0.3.3", + "getrandom 0.3.4", "once_cell", "version_check", "zerocopy", @@ -83,7 +74,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef6978589202a00cd7e118380c448a08b6ed394c3a8df3a430d0898e3a42d046" dependencies = [ "android-properties", - "bitflags 2.9.4", + "bitflags 2.10.0", "cc", "cesu8", "jni", @@ -132,7 +123,7 @@ checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -280,7 +271,7 @@ dependencies = [ "polling", "rustix 1.1.2", "slab", - "windows-sys 0.61.1", + "windows-sys 0.61.2", ] [[package]] @@ -331,7 +322,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -349,7 +340,7 @@ dependencies = [ "rustix 1.1.2", "signal-hook-registry", "slab", - "windows-sys 0.61.1", + "windows-sys 0.61.2", ] [[package]] @@ -371,7 +362,7 @@ checksum = "c7c24de15d275a1ecfd47a380fb4d5ec9bfe0933f309ed5e705b775596a3574d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -388,7 +379,7 @@ checksum = "9035ad2d096bed7955a320ee7e2230574d28fd3c3a0f186cbea1ff3c7eed5dbb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -406,7 +397,7 @@ dependencies = [ "derive_utils", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -485,21 +476,6 @@ dependencies = [ "tower-service", ] -[[package]] -name = "backtrace" -version = "0.3.76" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb531853791a215d7c62a30daf0dde835f381ab5de4589cfe7c649d2cbe92bd6" -dependencies = [ - "addr2line", - "cfg-if", - "libc", - "miniz_oxide 0.8.9", - "object", - "rustc-demangle", - "windows-link 0.2.0", -] - [[package]] name = "base64" version = "0.21.7" @@ -528,7 +504,7 @@ version = "0.71.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f58bf3d7db68cfbac37cfc485a8d711e87e064c3d0fe0435b92f7a407f9d6b3" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cexpr", "clang-sys", "itertools 0.13.0", @@ -539,7 +515,7 @@ dependencies = [ "regex", "rustc-hash 2.1.1", "shlex", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -548,7 +524,7 @@ version = "0.72.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "993776b509cfb49c750f11b8f07a46fa23e0a1386ffc01fb1e7d343efc387895" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cexpr", "clang-sys", "itertools 0.13.0", @@ -559,7 +535,7 @@ dependencies = [ "regex", "rustc-hash 2.1.1", "shlex", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -576,11 +552,11 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.9.4" +version = "2.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2261d10cca569e4643e526d8dc2e62e433cc8aba21ab764233731f8d369bf394" +checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3" dependencies = [ - "serde", + "serde_core", ] [[package]] @@ -670,7 +646,7 @@ checksum = "f9abbd1bc6865053c427f7198e6af43bfdedc55ab791faed4fbd361d789575ff" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -697,7 +673,7 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b99da2f8558ca23c71f4fd15dc57c906239752dd27ff3c00a1d56b685b7cbfec" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "log", "polling", "rustix 0.38.44", @@ -711,7 +687,7 @@ version = "0.14.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb9f6e1368bd4621d2c86baa7e37de77a938adf5221e5dd3d6133340101b309e" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "polling", "rustix 1.1.2", "slab", @@ -738,9 +714,9 @@ checksum = "7b02b629252fe8ef6460461409564e2c21d0c8e77e0944f3d189ff06c4e932ad" [[package]] name = "cc" -version = "1.2.40" +version = "1.2.41" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1d05d92f4b1fd76aad469d46cdd858ca761576082cd37df81416691e50199fb" +checksum = "ac9fe6cdbb24b6ade63616c0a0688e45bb56732262c158df3c0c4bea4ca47cb7" dependencies = [ "find-msvc-tools", "jobserver", @@ -775,9 +751,9 @@ dependencies = [ [[package]] name = "cfg-if" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fd1289c04a9ea8cb22300a459a72a385d7c73d3259e2ed7dcb2af674838cfa9" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" [[package]] name = "cfg_aliases" @@ -804,7 +780,7 @@ dependencies = [ "js-sys", "num-traits", "wasm-bindgen", - "windows-link 0.2.0", + "windows-link 0.2.1", ] [[package]] @@ -849,12 +825,6 @@ dependencies = [ "termcolor", ] -[[package]] -name = "color" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a18ef4657441fb193b65f34dc39b3781f0dfec23d3bd94d0eeb4e88cde421edb" - [[package]] name = "color_quant" version = "1.1.0" @@ -878,7 +848,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f76990911f2267d837d9d0ad060aa63aaad170af40904b29461734c339030d4d" dependencies = [ "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -941,7 +911,7 @@ dependencies = [ [[package]] name = "const-field-offset" version = "0.1.5" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "const-field-offset-macro", "field-offset", @@ -950,11 +920,11 @@ dependencies = [ [[package]] name = "const-field-offset-macro" version = "0.1.5" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -1016,7 +986,7 @@ version = "0.24.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fa95a34622365fa5bbf40b20b75dba8dfa8c94c734aea8ac9a5ca38af14316f1" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "core-foundation 0.10.1", "core-graphics-types 0.2.0", "foreign-types", @@ -1040,7 +1010,7 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3d44a101f213f6c4cdc1853d4b78aef6db6bdfa3468798cc1d9912f4735013eb" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "core-foundation 0.10.1", "libc", ] @@ -1159,7 +1129,7 @@ checksum = "bda628edc44c4bb645fbe0f758797143e4e07926f7ebf4e9bdfbd3d2ce621df3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", "unicode-xid", ] @@ -1171,7 +1141,7 @@ checksum = "ccfae181bab5ab6c5478b2ccb69e4c68a02f8c3ec72f6616bfec9dbc599d2ee0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -1206,7 +1176,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "objc2 0.6.3", ] @@ -1218,7 +1188,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -1256,7 +1226,7 @@ version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "80bc8c5c6c2941f70a55c15f8d9f00f9710ebda3ffda98075f996a0e6c92756f" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "bytemuck", "drm-ffi", "drm-fourcc", @@ -1320,7 +1290,7 @@ checksum = "67c78a4d8fdf9953a5c9d458f9efe940fd97a0cab0941c075a813ac594733827" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -1353,7 +1323,7 @@ checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -1369,7 +1339,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.1", + "windows-sys 0.61.2", ] [[package]] @@ -1446,7 +1416,7 @@ checksum = "a0aca10fb742cb43f9e7bb8467c91aa9bcb8e3ffbc6a6f7389bb93ffc920577d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -1460,11 +1430,11 @@ dependencies = [ [[package]] name = "femtovg" -version = "0.18.1" +version = "0.19.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0530af3119be5658d8c1f7e69248d46e2c59e500dc2ef373cf25b355158ef101" +checksum = "be5d925785ad33d7b0ae2b445d9f157c3ab42ff3c515fff0b46d53d4a86c43c5" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "bytemuck", "fnv", "glow", @@ -1472,12 +1442,9 @@ dependencies = [ "imgref", "itertools 0.14.0", "log", - "lru", "rgb", - "rustybuzz", "slotmap", - "unicode-bidi", - "unicode-segmentation", + "ttf-parser 0.25.1", "wasm-bindgen", "web-sys", ] @@ -1506,15 +1473,15 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0399f9d26e5191ce32c498bebd31e7a3ceabc2745f0ac54af3f335126c3f24b3" +checksum = "52051878f80a721bb68ebfbc930e07b65ba72f2da88968ea5c06fd6ca3d3a127" [[package]] name = "flate2" -version = "1.1.3" +version = "1.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04bcaeafafdd3cd1cb5d986ff32096ad1136630207c49b9091e3ae541090d938" +checksum = "dc5a4e564e38c699f2880d3fda590bedc2e69f3f84cd48b457bd892ce61d0aa9" dependencies = [ "crc32fast", "miniz_oxide 0.8.9", @@ -1538,15 +1505,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" -[[package]] -name = "font-types" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02a596f5713680923a2080d86de50fe472fb290693cf0f701187a1c8b36996b7" -dependencies = [ - "bytemuck", -] - [[package]] name = "font-types" version = "0.10.0" @@ -1556,16 +1514,6 @@ dependencies = [ "bytemuck", ] -[[package]] -name = "fontconfig-cache-parser" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a7f8afb20c8069fd676d27b214559a337cc619a605d25a87baa90b49a06f3b18" -dependencies = [ - "bytemuck", - "thiserror 1.0.69", -] - [[package]] name = "fontdb" version = "0.23.0" @@ -1591,25 +1539,25 @@ dependencies = [ [[package]] name = "fontique" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39f97079e1293b8c1e9fb03a2875d328bd2ee8f3b95ce62959c0acc04049c708" +checksum = "ff3336bc0b87fe42305047263fa60d2eabd650d29cbe62fdeb2a66c7a0a595f9" dependencies = [ "bytemuck", - "fontconfig-cache-parser", "hashbrown 0.15.5", - "icu_locid", + "icu_locale_core", + "linebender_resource_handle", "memmap2", "objc2 0.6.3", "objc2-core-foundation", "objc2-core-text", "objc2-foundation 0.3.2", - "peniko", - "read-fonts 0.29.3", + "read-fonts", "roxmltree", "smallvec", "windows 0.58.0", "windows-core 0.58.0", + "yeslogic-fontconfig-sys", ] [[package]] @@ -1630,7 +1578,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -1717,7 +1665,7 @@ checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -1756,7 +1704,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce852e998d3ca5e4a97014fb31c940dc5ef344ec7d364984525fd11e8a547e6a" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "drm", "drm-fourcc", "gbm-sys", @@ -1774,12 +1722,12 @@ dependencies = [ [[package]] name = "gethostname" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc257fdb4038301ce4b9cd1b3b51704509692bb3ff716a410cbd07925d9dae55" +checksum = "1bd49230192a3797a9a4d6abe9b3eed6f7fa4c8a8a4947977c6f80025f92cbd8" dependencies = [ "rustix 1.1.2", - "windows-targets 0.52.6", + "windows-link 0.2.1", ] [[package]] @@ -1790,26 +1738,26 @@ checksum = "335ff9f135e4384c8150d6f27c6daed433577f86b4750418338c01a1a2528592" dependencies = [ "cfg-if", "libc", - "wasi 0.11.1+wasi-snapshot-preview1", + "wasi", ] [[package]] name = "getrandom" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +checksum = "899def5c37c4fd7b2664648c28120ecec138e4d395b459e5ca34f9cce2dd77fd" dependencies = [ "cfg-if", "libc", "r-efi", - "wasi 0.14.7+wasi-0.2.4", + "wasip2", ] [[package]] name = "gettext-rs" -version = "0.7.2" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44e92f7dc08430aca7ed55de161253a22276dfd69c5526e5c5e95d1f7cf338a" +checksum = "5d5857dc1b7f0fee86961de833f434e29494d72af102ce5355738c0664222bdf" dependencies = [ "gettext-sys", "locale_config", @@ -1817,9 +1765,9 @@ dependencies = [ [[package]] name = "gettext-sys" -version = "0.22.5" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb45773f5b8945f12aecd04558f545964f943dacda1b1155b3d738f5469ef661" +checksum = "4ea859ab0dd7e70ff823032b3e077d03d39c965d68c6c10775add60e999d8ee9" dependencies = [ "cc", "temp-dir", @@ -1845,12 +1793,6 @@ dependencies = [ "weezl", ] -[[package]] -name = "gimli" -version = "0.32.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" - [[package]] name = "gl_generator" version = "0.14.0" @@ -1895,7 +1837,7 @@ version = "0.32.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12124de845cacfebedff80e877bb37b5b75c34c5a4c89e47e1cdd67fb6041325" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg_aliases", "cgl", "dispatch2", @@ -1987,7 +1929,7 @@ dependencies = [ "futures-core", "futures-sink", "http", - "indexmap 2.11.4", + "indexmap 2.12.0", "slab", "tokio", "tokio-util", @@ -1996,12 +1938,26 @@ dependencies = [ [[package]] name = "half" -version = "2.6.0" +version = "2.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "459196ed295495a68f7d7fe1d84f6c4b7ff0e21fe3017b2f283c6fac3ad803c9" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" dependencies = [ "cfg-if", "crunchy", + "zerocopy", +] + +[[package]] +name = "harfrust" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92c020db12c71d8a12a3fe7607873cade3a01a6287e29d540c8723276221b9d8" +dependencies = [ + "bitflags 2.10.0", + "bytemuck", + "core_maths", + "read-fonts", + "smallvec", ] [[package]] @@ -2174,7 +2130,7 @@ dependencies = [ "hyper", "libc", "pin-project-lite", - "socket2 0.6.0", + "socket2 0.6.1", "tokio", "tower-service", "tracing", @@ -2182,8 +2138,8 @@ dependencies = [ [[package]] name = "i-slint-backend-linuxkms" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "calloop 0.14.3", "drm", @@ -2200,8 +2156,8 @@ dependencies = [ [[package]] name = "i-slint-backend-selector" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "cfg-if", "i-slint-backend-linuxkms", @@ -2213,8 +2169,8 @@ dependencies = [ [[package]] name = "i-slint-backend-winit" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "cfg-if", "cfg_aliases", @@ -2240,15 +2196,15 @@ dependencies = [ "vtable", "wasm-bindgen", "web-sys", - "windows 0.61.3", + "windows 0.62.2", "winit", "zbus", ] [[package]] name = "i-slint-common" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "fontique", "ttf-parser 0.25.1", @@ -2256,8 +2212,8 @@ dependencies = [ [[package]] name = "i-slint-compiler" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "by_address", "codemap", @@ -2277,7 +2233,7 @@ dependencies = [ "rayon", "resvg", "rowan", - "smol_str 0.3.2", + "smol_str 0.3.3", "strum", "typed-index-collections", "url", @@ -2285,11 +2241,11 @@ dependencies = [ [[package]] name = "i-slint-core" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "auto_enums", - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg-if", "chrono", "clru", @@ -2330,18 +2286,18 @@ dependencies = [ [[package]] name = "i-slint-core-macros" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "quote", "serde_json", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] name = "i-slint-renderer-femtovg" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "cfg-if", "const-field-offset", @@ -2362,8 +2318,8 @@ dependencies = [ [[package]] name = "i-slint-renderer-skia" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "bytemuck", "cfg-if", @@ -2385,16 +2341,13 @@ dependencies = [ "pin-weak", "raw-window-handle", "raw-window-metal", - "read-fonts 0.35.0", + "read-fonts", "scoped-tls-hkt", "skia-safe", "softbuffer", "unicode-segmentation", "vtable", - "windows 0.58.0", - "windows 0.61.3", - "windows-core 0.58.0", - "windows-core 0.61.2", + "windows 0.62.2", "write-fonts", ] @@ -2410,7 +2363,7 @@ dependencies = [ "js-sys", "log", "wasm-bindgen", - "windows-core 0.62.1", + "windows-core 0.62.2", ] [[package]] @@ -2442,24 +2395,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cde2700ccaed3872079a65fb1a78f6c0a36c91570f28755dda67bc8f7d9f00a" dependencies = [ "displaydoc", - "litemap 0.8.0", - "tinystr 0.8.1", - "writeable 0.6.1", + "litemap", + "tinystr", + "writeable", "zerovec", ] -[[package]] -name = "icu_locid" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13acbb8371917fc971be86fc8057c41a64b521c184808a698c02acc242dbf637" -dependencies = [ - "displaydoc", - "litemap 0.7.5", - "tinystr 0.7.6", - "writeable 0.5.5", -] - [[package]] name = "icu_normalizer" version = "2.0.0" @@ -2512,8 +2453,8 @@ dependencies = [ "displaydoc", "icu_locale_core", "stable_deref_trait", - "tinystr 0.8.1", - "writeable 0.6.1", + "tinystr", + "writeable", "yoke", "zerofrom", "zerotrie", @@ -2599,9 +2540,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.11.4" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b0f83760fb341a774ed326568e19f5a863af4a952def8c39f9ab92fd95b88e5" +checksum = "6717a8d2a5a929a1a2eb43a12812498ed141a0bcfb7e8f7844fbdbe4303bba9f" dependencies = [ "equivalent", "hashbrown 0.16.0", @@ -2635,7 +2576,7 @@ version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fbdc09524a91f9cacd26f16734ff63d7dc650daffadd2b6f84d17a285bd875a9" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "input-sys", "libc", "log", @@ -2665,7 +2606,7 @@ checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -2679,17 +2620,6 @@ dependencies = [ "windows-sys 0.48.0", ] -[[package]] -name = "io-uring" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "046fa2d4d00aea763528b4950358d0ead425372445dc8ff86312b3c69ff7727b" -dependencies = [ - "bitflags 2.9.4", - "cfg-if", - "libc", -] - [[package]] name = "is-terminal" version = "0.4.16" @@ -2762,7 +2692,7 @@ version = "0.1.34" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9afb3de4395d6b3e67a780b6de64b51c978ecf11cb9a462c66be7d4ca9039d33" dependencies = [ - "getrandom 0.3.3", + "getrandom 0.3.4", "libc", ] @@ -2782,7 +2712,7 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b750dcadc39a09dbadd74e118f6dd6598df77fa01df0cfcdc52c28dece74528a" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "serde", "unicode-segmentation", ] @@ -2847,9 +2777,9 @@ checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8" [[package]] name = "libc" -version = "0.2.176" +version = "0.2.177" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58f929b4d672ea937a23a1ab494143d968337a5f47e56d0815df1e0890ddf174" +checksum = "2874a2af47a2325c2001a6e6fad9b16a53b802102b528163885171cf92b15976" [[package]] name = "libfuzzer-sys" @@ -2868,7 +2798,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7c4b02199fee7c5d21a5ae7d8cfa79a6ef5bb2fc834d6e9058e89c825efdc55" dependencies = [ "cfg-if", - "windows-link 0.2.0", + "windows-link 0.2.1", ] [[package]] @@ -2883,7 +2813,7 @@ version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "416f7e718bdb06000964960ffa43b4335ad4012ae8b99060261aa4a8088d5ccb" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "libc", "redox_syscall 0.5.18", ] @@ -2958,12 +2888,6 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "df1d3c3b53da64cf5760482273a98e575c651a67eec7f77df96b5b642de8f039" -[[package]] -name = "litemap" -version = "0.7.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23fb14cb19457329c82206317a5663005a4d404783dc74f4252769b0d5f42856" - [[package]] name = "litemap" version = "0.8.0" @@ -3008,12 +2932,6 @@ dependencies = [ "imgref", ] -[[package]] -name = "lru" -version = "0.16.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfe949189f46fabb938b3a9a0be30fdd93fd8a09260da863399a8cf3db756ec8" - [[package]] name = "lyon_algorithms" version = "1.0.16" @@ -3109,9 +3027,9 @@ checksum = "f52b00d39961fc5b2736ea853c9cc86238e165017a493d1d5c8eac6bdc4cc273" [[package]] name = "memmap2" -version = "0.9.8" +version = "0.9.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "843a98750cd611cc2965a8213b53b43e715f13c37a9e096c6408e69990961db7" +checksum = "744133e4a0e0a658e1374cf3bf8e415c4052a15a111acd372764c55b4177d490" dependencies = [ "libc", ] @@ -3165,26 +3083,26 @@ checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" dependencies = [ "libc", "log", - "wasi 0.11.1+wasi-snapshot-preview1", + "wasi", "windows-sys 0.48.0", ] [[package]] name = "mio" -version = "1.0.4" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78bed444cc8a2160f01cbcf811ef18cac863ad68ae8ca62092e8db51d51c761c" +checksum = "69d83b0086dc8ecf3ce9ae2874b2d1290252e2a30720bea58a5c6639b0092873" dependencies = [ "libc", - "wasi 0.11.1+wasi-snapshot-preview1", - "windows-sys 0.59.0", + "wasi", + "windows-sys 0.61.2", ] [[package]] name = "moxcms" -version = "0.7.6" +version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cc7d85f3d741164e8972ad355e26ac6e51b20fcae5f911c7da8f2d8bbbb3f33" +checksum = "c588e11a3082784af229e23e8e4ecf5bcc6fbe4f69101e0421ce8d79da7f0b40" dependencies = [ "num-traits", "pxfm", @@ -3215,7 +3133,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c3f42e7bbe13d351b6bead8286a43aac9534b82bd3cc43e47037f012ebfd62d4" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "jni-sys", "log", "ndk-sys", @@ -3251,7 +3169,7 @@ version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "71e2746dc3a24dd78b3cfcb7be93368c6de9963d30f43a6a73998a9cf4b17b46" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg-if", "cfg_aliases", "libc", @@ -3264,7 +3182,7 @@ version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cfg-if", "cfg_aliases", "libc", @@ -3325,7 +3243,7 @@ checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -3360,9 +3278,9 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a973b4e44ce6cad84ce69d797acf9a044532e4184c4f267913d1b546a0727b7a" +checksum = "b1207a7e20ad57b847bbddc6776b968420d38292bbfe2089accff5e19e82454c" dependencies = [ "num_enum_derive", "rustversion", @@ -3370,14 +3288,14 @@ dependencies = [ [[package]] name = "num_enum_derive" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" +checksum = "ff32365de1b6743cb203b710788263c44a03de03802daf96092f2da4fe6ba4d7" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -3431,7 +3349,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e4e89ad9e3d7d297152b17d39ed92cd50ca8063a89a9fa569046d41568891eff" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "libc", "objc2 0.5.2", @@ -3447,7 +3365,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d49e936b501e5c5bf01fda3a9452ff86dc3ea98ad5f283e1455153142d97518c" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.6.2", "libc", "objc2 0.6.3", @@ -3468,7 +3386,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74dd3b56391c7a0596a295029734d3c1c5e7e510a4cb30245f8221ccea96b009" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", @@ -3481,7 +3399,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "objc2 0.6.3", "objc2-foundation 0.3.2", ] @@ -3503,7 +3421,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "617fbf49e071c178c0b24c080767db52958f716d9eabdf0890523aeae54773ef" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -3515,7 +3433,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "objc2 0.6.3", "objc2-foundation 0.3.2", ] @@ -3526,7 +3444,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "dispatch2", "objc2 0.6.3", ] @@ -3537,7 +3455,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "dispatch2", "objc2 0.6.3", "objc2-core-foundation", @@ -3584,7 +3502,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "objc2 0.6.3", "objc2-core-foundation", "objc2-core-graphics", @@ -3596,7 +3514,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d425caf1df73233f29fd8a5c3e5edbc30d2d4307870f802d18f00d83dc5141a6" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "objc2 0.6.3", "objc2-core-foundation", "objc2-core-graphics", @@ -3615,7 +3533,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ee638a5da3799329310ad4cfa62fbf045d5f56e3ef5ba4149e7452dcf89d5a8" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "dispatch", "libc", @@ -3628,7 +3546,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.6.2", "libc", "objc2 0.6.3", @@ -3641,7 +3559,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "objc2 0.6.3", "objc2-core-foundation", ] @@ -3664,7 +3582,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd0cba1276f6023976a406a14ffa85e1fdd19df6b0f737b063b95f6c8c7aadd6" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -3676,7 +3594,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "objc2 0.6.3", "objc2-foundation 0.3.2", ] @@ -3687,7 +3605,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e42bee7bff906b14b167da2bac5efe6b6a07e6f7c0a21a7308d40c960242dc7a" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-foundation 0.2.2", @@ -3700,7 +3618,7 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "objc2 0.6.3", "objc2-core-foundation", "objc2-foundation 0.3.2", @@ -3723,7 +3641,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8bb46798b20cd6b91cbd113524c490f1686f4c4e8f49502431415f3512e2b6f" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-cloud-kit 0.2.2", @@ -3755,7 +3673,7 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76cfcbf642358e8689af64cee815d139339f3ed8ad05103ed5eaf73db8d84cb3" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "objc2 0.5.2", "objc2-core-location", @@ -3771,15 +3689,6 @@ dependencies = [ "objc", ] -[[package]] -name = "object" -version = "0.37.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" -dependencies = [ - "memchr", -] - [[package]] name = "once_cell" version = "1.21.3" @@ -3826,14 +3735,15 @@ checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parley" -version = "0.5.0" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13e57638545cf2ba4c3e72cc5715e53b1880b829cc3dbefda3d1700c58efe723" +checksum = "26746861bb76dbc9bcd5ed1b0b55d2fedf291100961251702a031ab2abd2ce52" dependencies = [ "fontique", + "harfrust", "hashbrown 0.15.5", - "peniko", - "skrifa 0.31.3", + "linebender_resource_handle", + "skrifa", "swash", ] @@ -3843,18 +3753,6 @@ version = "1.0.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" -[[package]] -name = "peniko" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b44f9ddd2f480176b34278eb653ec1c8062f3b143a4e16eeff5ffac3334e288" -dependencies = [ - "color", - "kurbo 0.11.3", - "linebender_resource_handle", - "smallvec", -] - [[package]] name = "percent-encoding" version = "2.3.2" @@ -3884,7 +3782,7 @@ checksum = "6e918e4ff8c4549eb882f14b3a4bc8c8bc93de829416eacf579f1207a8fbf861" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -3947,7 +3845,7 @@ version = "0.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97baced388464909d42d89643fe4361939af9b7ce7a31ee32a168f832a70f2a0" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "crc32fast", "fdeflate", "flate2", @@ -3984,7 +3882,7 @@ dependencies = [ "hermit-abi 0.5.2", "pin-project-lite", "rustix 1.1.2", - "windows-sys 0.61.1", + "windows-sys 0.61.2", ] [[package]] @@ -4027,7 +3925,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b" dependencies = [ "proc-macro2", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -4036,14 +3934,14 @@ version = "3.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "219cb19e96be00ab2e37d6e299658a0cfa83e52429179969b0f0121b4ac46983" dependencies = [ - "toml_edit 0.23.6", + "toml_edit 0.23.7", ] [[package]] name = "proc-macro2" -version = "1.0.101" +version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89ae43fd86e4158d6db51ad8e2b80f313af9cc74f5c0e03ccb87de09998732de" +checksum = "8e0f6df8eaa422d97d72edcd152e1451618fed47fabbdbd5a8864167b1d4aff7" dependencies = [ "unicode-ident", ] @@ -4064,7 +3962,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52717f9a02b6965224f95ca2a81e2e0c5c43baacd28ca057577988930b6c3d5b" dependencies = [ "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -4087,7 +3985,7 @@ dependencies = [ "itertools 0.14.0", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -4101,9 +3999,9 @@ dependencies = [ [[package]] name = "pxfm" -version = "0.1.24" +version = "0.1.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83f9b339b02259ada5c0f4a389b7fb472f933aa17ce176fd2ad98f28bb401fde" +checksum = "a3cbdf373972bf78df4d3b518d07003938e2c7d1fb5891e55f9cb6df57009d84" dependencies = [ "num-traits", ] @@ -4265,16 +4163,6 @@ dependencies = [ "crossbeam-utils", ] -[[package]] -name = "read-fonts" -version = "0.29.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04ca636dac446b5664bd16c069c00a9621806895b8bb02c2dc68542b23b8f25d" -dependencies = [ - "bytemuck", - "font-types 0.9.0", -] - [[package]] name = "read-fonts" version = "0.35.0" @@ -4282,7 +4170,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6717cf23b488adf64b9d711329542ba34de147df262370221940dfabc2c91358" dependencies = [ "bytemuck", - "font-types 0.10.0", + "core_maths", + "font-types", ] [[package]] @@ -4300,7 +4189,7 @@ version = "0.5.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed2bf2547551a7053d6fdfafda3f938979645c44812fbfcda098faae3f1a362d" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", ] [[package]] @@ -4316,9 +4205,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.11.3" +version = "1.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b5288124840bee7b386bc413c487869b360b2b4ec421ea56425128692f2a82c" +checksum = "843bc0191f75f3e22651ae5f1e72939ab2f72a4bc30fa80a066bd66edefc24d4" dependencies = [ "aho-corasick", "memchr", @@ -4328,9 +4217,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.11" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "833eb9ce86d40ef33cb1306d8accf7bc8ec2bfea4355cbdebb3df68b40925cad" +checksum = "5276caf25ac86c8d810222b3dbb938e512c55c6831a10f3e6ed1c93b84041f1c" dependencies = [ "aho-corasick", "memchr", @@ -4339,9 +4228,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.6" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf4aa5b0f434c91fe5c7f1ecb6a5ece2130b02ad2a590589dda5146df959001" +checksum = "7a2d987857b319362043e95f5353c0535c1f58eec5336fdfcf626430af7def58" [[package]] name = "resvg" @@ -4499,7 +4388,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "db09040cc89e461f1a265139777a2bde7f8d8c67c4936f700c63ce3e2904d468" dependencies = [ "base64 0.22.1", - "bitflags 2.9.4", + "bitflags 2.10.0", "serde", "serde_derive", "unicode-ident", @@ -4533,12 +4422,6 @@ dependencies = [ "libusb1-sys", ] -[[package]] -name = "rustc-demangle" -version = "0.1.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56f7d92ca342cea22a06f2121d944b4fd82af56988c270852495420f961d4ace" - [[package]] name = "rustc-hash" version = "1.1.0" @@ -4566,7 +4449,7 @@ version = "0.38.44" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fdb5bc1ae2baa591800df16c9ca78619bf65c0488b41b96ccec5d11220d8c154" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys 0.4.15", @@ -4579,11 +4462,11 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cd15f8a2c5551a84d56efdc1cd049089e409ac19a3072d5037a17fd70719ff3e" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "errno", "libc", "linux-raw-sys 0.11.0", - "windows-sys 0.61.1", + "windows-sys 0.61.2", ] [[package]] @@ -4598,7 +4481,7 @@ version = "0.20.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fd3c7c96f8a08ee34eff8857b11b49b07d71d1c3f4e88f8a88d4c9e9f90b1702" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "bytemuck", "core_maths", "log", @@ -4712,7 +4595,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -4736,7 +4619,7 @@ checksum = "175ee3e80ae9982737ca543e96133087cbd9a485eecc3bc4de9c1a37b47ea59c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -4750,9 +4633,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5417783452c2be558477e104686f7de5dae53dba813c28435e0e70f82d9b04ee" +checksum = "e24345aa0fe688594e73770a5f6d1b216508b4f93484c0026d521acd30134392" dependencies = [ "serde_core", ] @@ -4823,9 +4706,9 @@ checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d" [[package]] name = "skia-bindings" -version = "0.88.0" +version = "0.89.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f569a07840009ed9e65a70e111b51485eeea8e44b4e84bc0cf698b18ca494662" +checksum = "f06b9b01a0d1189fa756bb9aec034554d52ad53f2f33d80a96e7a4ecfbd3d989" dependencies = [ "bindgen 0.72.1", "cc", @@ -4835,28 +4718,18 @@ dependencies = [ "regex", "serde_json", "tar", - "toml 0.9.7", + "toml 0.9.8", ] [[package]] name = "skia-safe" -version = "0.88.0" +version = "0.89.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f488bd4ff0179b10e2a8e55b93707458ff37c5110458bf00a27518b957252074" +checksum = "ced1fcc0fa7510f9339988f31d831e14f64f9aa771e5f93f4935431e6fe69d4c" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "skia-bindings", - "windows 0.61.3", -] - -[[package]] -name = "skrifa" -version = "0.31.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbeb4ca4399663735553a09dd17ce7e49a0a0203f03b706b39628c4d913a8607" -dependencies = [ - "bytemuck", - "read-fonts 0.29.3", + "windows 0.62.2", ] [[package]] @@ -4866,7 +4739,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c31071dedf532758ecf3fed987cdb4bd9509f900e026ab684b4ecb81ea49841" dependencies = [ "bytemuck", - "read-fonts 0.35.0", + "read-fonts", ] [[package]] @@ -4877,8 +4750,8 @@ checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" [[package]] name = "slint" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "const-field-offset", "i-slint-backend-selector", @@ -4895,24 +4768,23 @@ dependencies = [ [[package]] name = "slint-build" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "derive_more", "i-slint-compiler", "spin_on", - "toml_edit 0.23.6", + "toml_edit 0.23.7", ] [[package]] name = "slint-macros" -version = "1.14.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +version = "1.14.1" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "i-slint-compiler", "proc-macro2", "quote", - "rustversion", "spin_on", ] @@ -4937,7 +4809,7 @@ version = "0.19.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3457dea1f0eb631b4034d61d4d8c32074caa6cd1ab2d59f2327bd8461e2c0016" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "calloop 0.13.0", "calloop-wayland-source", "cursor-icon", @@ -4995,12 +4867,12 @@ dependencies = [ [[package]] name = "smol_str" -version = "0.3.2" +version = "0.3.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9676b89cd56310a87b93dec47b11af744f34d5fc9f367b829474eec0a891350d" +checksum = "9231377ac148083bff390f78bea6df70947f151bd8ec3c660c7f08a4672df60a" dependencies = [ "borsh", - "serde", + "serde_core", ] [[package]] @@ -5015,12 +4887,12 @@ dependencies = [ [[package]] name = "socket2" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "233504af464074f9d066d7b5416c5f9b894a5862a6506e306f7b816cdd6f1807" +checksum = "17129e116933cf371d018bb80ae557e889637989d8638274fb25622827b03881" dependencies = [ "libc", - "windows-sys 0.59.0", + "windows-sys 0.60.2", ] [[package]] @@ -5065,9 +4937,9 @@ dependencies = [ [[package]] name = "stable_deref_trait" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" +checksum = "6ce2be8dc25455e1f91df71bfa12ad37d7af1092ae736f3a6cd0e37bc7810596" [[package]] name = "static_assertions" @@ -5102,7 +4974,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -5137,7 +5009,7 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "47846491253e976bdd07d0f9cc24b7daf24720d11309302ccbbc6e6b6e53550a" dependencies = [ - "skrifa 0.37.0", + "skrifa", "yazi", "zeno", ] @@ -5155,9 +5027,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.106" +version = "2.0.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede7c438028d4436d71104916910f5bb611972c5cfd7f89b8300a8186e6fada6" +checksum = "da58917d35242480a05c2897064da0a80589a2a0476c9a3f2fdc83b53502e917" dependencies = [ "proc-macro2", "quote", @@ -5178,7 +5050,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -5245,10 +5117,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d31c77bdf42a745371d260a26ca7163f1e0924b64afa0b688e61b5a9fa02f16" dependencies = [ "fastrand", - "getrandom 0.3.3", + "getrandom 0.3.4", "once_cell", "rustix 1.1.2", - "windows-sys 0.61.1", + "windows-sys 0.61.2", ] [[package]] @@ -5292,7 +5164,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -5303,7 +5175,7 @@ checksum = "3ff15c8ecd7de3849db632e14d18d2571fa09dfc5ed93479bc4485c7a517c913" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -5387,15 +5259,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "tinystr" -version = "0.7.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9117f5d4db391c1cf6927e7bea3db74b9a1c1add8f7eda9ffd5364f40f57b82f" -dependencies = [ - "displaydoc", -] - [[package]] name = "tinystr" version = "0.8.1" @@ -5423,32 +5286,29 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.47.1" +version = "1.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89e49afdadebb872d3145a5638b59eb0691ea23e46ca484037cfab3b76b95038" +checksum = "ff360e02eab121e0bc37a2d3b4d4dc622e6eda3a8e5253d5435ecf5bd4c68408" dependencies = [ - "backtrace", "bytes", - "io-uring", "libc", - "mio 1.0.4", + "mio 1.1.0", "pin-project-lite", - "slab", - "socket2 0.6.0", + "socket2 0.6.1", "tokio-macros", "tracing", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] name = "tokio-macros" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8" +checksum = "af407857209536a95c8e56f8231ef2c2e2aff839b22e07a1ffcbc617e9db9fa5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -5489,14 +5349,14 @@ dependencies = [ [[package]] name = "toml" -version = "0.9.7" +version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00e5e5d9bf2475ac9d4f0d9edab68cc573dc2fd644b0dba36b0c30a92dd9eaa0" +checksum = "f0dc8b1fb61449e27716ec0e1bdf0f6b8f3e8f6b05391e8497b8b6d7804ea6d8" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.12.0", "serde_core", - "serde_spanned 1.0.2", - "toml_datetime 0.7.2", + "serde_spanned 1.0.3", + "toml_datetime 0.7.3", "toml_parser", "toml_writer", "winnow", @@ -5513,9 +5373,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32f1085dec27c2b6632b04c80b3bb1b4300d6495d1e129693bdda7d91e72eec1" +checksum = "f2cdb639ebbc97961c51720f858597f7f24c4fc295327923af55b74c3c724533" dependencies = [ "serde_core", ] @@ -5526,7 +5386,7 @@ version = "0.22.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "41fe8c660ae4257887cf66394862d21dbca4a6ddd26f04a3560410406a2f819a" dependencies = [ - "indexmap 2.11.4", + "indexmap 2.12.0", "serde", "serde_spanned 0.6.9", "toml_datetime 0.6.11", @@ -5535,12 +5395,12 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.23.6" +version = "0.23.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3effe7c0e86fdff4f69cdd2ccc1b96f933e24811c5441d44904e8683e27184b" +checksum = "6485ef6d0d9b5d0ec17244ff7eb05310113c3f316f2d14200d4de56b3cb98f8d" dependencies = [ - "indexmap 2.11.4", - "toml_datetime 0.7.2", + "indexmap 2.12.0", + "toml_datetime 0.7.3", "toml_parser", "toml_writer", "winnow", @@ -5548,18 +5408,18 @@ dependencies = [ [[package]] name = "toml_parser" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4cf893c33be71572e0e9aa6dd15e6677937abd686b066eac3f8cd3531688a627" +checksum = "c0cbe268d35bdb4bb5a56a2de88d0ad0eb70af5384a99d648cd4b3d04039800e" dependencies = [ "winnow", ] [[package]] name = "toml_writer" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d163a63c116ce562a22cda521fcc4d79152e7aba014456fb5eb442f6d6a10109" +checksum = "df8b2b54733674ad286d16267dcfc7a71ed5c776e4ac7aa3c3e2561f7c637bf2" [[package]] name = "tonic" @@ -5657,7 +5517,7 @@ checksum = "81383ab64e72a7a8b8e13130c49e3dab29def6d0c7d76a03087b3cf71c5c6903" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -5792,9 +5652,9 @@ checksum = "ce61d488bcdc9bc8b5d1772c404828b17fc481c0a582b5581e95fb233aef503e" [[package]] name = "unicode-ident" -version = "1.0.19" +version = "1.0.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f63a545481291138910575129486daeaf8ac54aee4387fe7906919f7830c7d9d" +checksum = "462eeb75aeb73aea900253ce739c8e18a67423fadf006037cd3ff27e82748a06" [[package]] name = "unicode-linebreak" @@ -5883,6 +5743,17 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +[[package]] +name = "uuid" +version = "1.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f87b8aa10b915a06587d0dec516c282ff295b475d94abf425d62b57710070a2" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + [[package]] name = "v_frame" version = "0.3.9" @@ -5937,7 +5808,7 @@ dependencies = [ [[package]] name = "vtable" version = "0.3.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "const-field-offset", "portable-atomic", @@ -5948,11 +5819,11 @@ dependencies = [ [[package]] name = "vtable-macro" version = "0.3.0" -source = "git+https://github.com/slint-ui/slint.git#036877b29568eefa37bd08bfa5aeeb2e51f5d500" +source = "git+https://github.com/slint-ui/slint.git#5b6f254c3ae381fde18bb4ed62bc20c2abd595b9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -5980,15 +5851,6 @@ version = "0.11.1+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" -[[package]] -name = "wasi" -version = "0.14.7+wasi-0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "883478de20367e224c0090af9cf5f9fa85bed63a95c1abf3afc5c083ebc06e8c" -dependencies = [ - "wasip2", -] - [[package]] name = "wasip2" version = "1.0.1+wasi-0.2.4" @@ -6021,7 +5883,7 @@ dependencies = [ "log", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", "wasm-bindgen-shared", ] @@ -6056,7 +5918,7 @@ checksum = "9f07d2f20d4da7b26400c9f4a0511e6e0345b040694e8a75bd41d578fa4421d7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -6090,7 +5952,7 @@ version = "0.31.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c66a47e840dc20793f2264eb4b3e4ecb4b75d91c0dd4af04b456128e0bdd449d" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "rustix 1.1.2", "wayland-backend", "wayland-scanner", @@ -6102,7 +5964,7 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "625c5029dbd43d25e6aa9615e88b829a5cad13b2819c4ae129fdbb7c31ab4c7e" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "cursor-icon", "wayland-backend", ] @@ -6124,7 +5986,7 @@ version = "0.32.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efa790ed75fbfd71283bd2521a1cfdc022aabcc28bdcff00851f9e4ae88d9901" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-scanner", @@ -6136,7 +5998,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a07a14257c077ab3279987c4f8bb987851bf57081b93710381daea94f2c2c032" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -6149,7 +6011,7 @@ version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "efd94963ed43cf9938a090ca4f7da58eb55325ec8200c3848963e98dc25b78ec" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "wayland-backend", "wayland-client", "wayland-protocols", @@ -6227,7 +6089,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.1", + "windows-sys 0.61.2", ] [[package]] @@ -6252,11 +6114,23 @@ version = "0.61.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9babd3a767a4c1aef6900409f85f5d53ce2544ccdfaa86dad48c91782c6d6893" dependencies = [ - "windows-collections", + "windows-collections 0.2.0", "windows-core 0.61.2", - "windows-future", + "windows-future 0.2.1", "windows-link 0.1.3", - "windows-numerics", + "windows-numerics 0.2.0", +] + +[[package]] +name = "windows" +version = "0.62.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "527fadee13e0c05939a6a05d5bd6eec6cd2e3dbd648b9f8e447c6518133d8580" +dependencies = [ + "windows-collections 0.3.2", + "windows-core 0.62.2", + "windows-future 0.3.2", + "windows-numerics 0.3.1", ] [[package]] @@ -6268,6 +6142,15 @@ dependencies = [ "windows-core 0.61.2", ] +[[package]] +name = "windows-collections" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b2d95af1a8a14a3c7367e1ed4fc9c20e0a26e79551b1454d72583c97cc6610" +dependencies = [ + "windows-core 0.62.2", +] + [[package]] name = "windows-core" version = "0.58.0" @@ -6287,8 +6170,8 @@ version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ - "windows-implement 0.60.1", - "windows-interface 0.59.2", + "windows-implement 0.60.2", + "windows-interface 0.59.3", "windows-link 0.1.3", "windows-result 0.3.4", "windows-strings 0.4.2", @@ -6296,15 +6179,15 @@ dependencies = [ [[package]] name = "windows-core" -version = "0.62.1" +version = "0.62.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6844ee5416b285084d3d3fffd743b925a6c9385455f64f6d4fa3031c4c2749a9" +checksum = "b8e83a14d34d0623b51dce9581199302a221863196a1dde71a7663a4c2be9deb" dependencies = [ - "windows-implement 0.60.1", - "windows-interface 0.59.2", - "windows-link 0.2.0", - "windows-result 0.4.0", - "windows-strings 0.5.0", + "windows-implement 0.60.2", + "windows-interface 0.59.3", + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", ] [[package]] @@ -6315,7 +6198,18 @@ checksum = "fc6a41e98427b19fe4b73c550f060b59fa592d7d686537eebf9385621bfbad8e" dependencies = [ "windows-core 0.61.2", "windows-link 0.1.3", - "windows-threading", + "windows-threading 0.1.0", +] + +[[package]] +name = "windows-future" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1d6f90251fe18a279739e78025bd6ddc52a7e22f921070ccdc67dde84c605cb" +dependencies = [ + "windows-core 0.62.2", + "windows-link 0.2.1", + "windows-threading 0.2.1", ] [[package]] @@ -6326,18 +6220,18 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] name = "windows-implement" -version = "0.60.1" +version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edb307e42a74fb6de9bf3a02d9712678b22399c87e6fa869d6dfcd8c1b7754e0" +checksum = "053e2e040ab57b9dc951b72c264860db7eb3b0200ba345b4e4c3b14f67855ddf" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -6348,18 +6242,18 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] name = "windows-interface" -version = "0.59.2" +version = "0.59.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0abd1ddbc6964ac14db11c7213d6532ef34bd9aa042c2e5935f59d7908b46a5" +checksum = "3f316c4a2570ba26bbec722032c4099d8c8bc095efccdc15688708623367e358" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -6370,9 +6264,9 @@ checksum = "5e6ad25900d524eaabdbbb96d20b4311e1e7ae1699af4fb28c17ae66c80d798a" [[package]] name = "windows-link" -version = "0.2.0" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45e46c0661abb7180e7b9c281db115305d49ca1709ab8242adf09666d2173c65" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" [[package]] name = "windows-numerics" @@ -6384,6 +6278,16 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows-numerics" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6e2e40844ac143cdb44aead537bbf727de9b044e107a0f1220392177d15b0f26" +dependencies = [ + "windows-core 0.62.2", + "windows-link 0.2.1", +] + [[package]] name = "windows-result" version = "0.2.0" @@ -6404,11 +6308,11 @@ dependencies = [ [[package]] name = "windows-result" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7084dcc306f89883455a206237404d3eaf961e5bd7e0f312f7c91f57eb44167f" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" dependencies = [ - "windows-link 0.2.0", + "windows-link 0.2.1", ] [[package]] @@ -6432,11 +6336,11 @@ dependencies = [ [[package]] name = "windows-strings" -version = "0.5.0" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7218c655a553b0bed4426cf54b20d7ba363ef543b52d515b3e48d7fd55318dda" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" dependencies = [ - "windows-link 0.2.0", + "windows-link 0.2.1", ] [[package]] @@ -6481,16 +6385,16 @@ version = "0.60.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2f500e4d28234f72040990ec9d39e3a6b950f9f22d3dba18416c35882612bcb" dependencies = [ - "windows-targets 0.53.4", + "windows-targets 0.53.5", ] [[package]] name = "windows-sys" -version = "0.61.1" +version = "0.61.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f109e41dd4a3c848907eb83d5a42ea98b3769495597450cf6d153507b166f0f" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" dependencies = [ - "windows-link 0.2.0", + "windows-link 0.2.1", ] [[package]] @@ -6541,19 +6445,19 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.53.4" +version = "0.53.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d42b7b7f66d2a06854650af09cfdf8713e427a439c97ad65a6375318033ac4b" +checksum = "4945f9f551b88e0d65f3db0bc25c33b8acea4d9e41163edf90dcd0b19f9069f3" dependencies = [ - "windows-link 0.2.0", - "windows_aarch64_gnullvm 0.53.0", - "windows_aarch64_msvc 0.53.0", - "windows_i686_gnu 0.53.0", - "windows_i686_gnullvm 0.53.0", - "windows_i686_msvc 0.53.0", - "windows_x86_64_gnu 0.53.0", - "windows_x86_64_gnullvm 0.53.0", - "windows_x86_64_msvc 0.53.0", + "windows-link 0.2.1", + "windows_aarch64_gnullvm 0.53.1", + "windows_aarch64_msvc 0.53.1", + "windows_i686_gnu 0.53.1", + "windows_i686_gnullvm 0.53.1", + "windows_i686_msvc 0.53.1", + "windows_x86_64_gnu 0.53.1", + "windows_x86_64_gnullvm 0.53.1", + "windows_x86_64_msvc 0.53.1", ] [[package]] @@ -6566,12 +6470,21 @@ dependencies = [ ] [[package]] -name = "windows-version" -version = "0.1.6" +name = "windows-threading" +version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "700dad7c058606087f6fdc1f88da5841e06da40334413c6cd4367b25ef26d24e" +checksum = "3949bd5b99cafdf1c7ca86b43ca564028dfe27d66958f2470940f73d86d75b37" dependencies = [ - "windows-link 0.2.0", + "windows-link 0.2.1", +] + +[[package]] +name = "windows-version" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4060a1da109b9d0326b7262c8e12c84df67cc0dbc9e33cf49e01ccc2eb63631" +dependencies = [ + "windows-link 0.2.1", ] [[package]] @@ -6594,9 +6507,9 @@ checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b8d5f90ddd19cb4a147a5fa63ca848db3df085e25fee3cc10b39b6eebae764" +checksum = "a9d8416fa8b42f5c947f8482c43e7d89e73a173cead56d044f6a56104a6d1b53" [[package]] name = "windows_aarch64_msvc" @@ -6618,9 +6531,9 @@ checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_aarch64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7651a1f62a11b8cbd5e0d42526e55f2c99886c77e007179efff86c2b137e66c" +checksum = "b9d782e804c2f632e395708e99a94275910eb9100b2114651e04744e9b125006" [[package]] name = "windows_i686_gnu" @@ -6642,9 +6555,9 @@ checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1dc67659d35f387f5f6c479dc4e28f1d4bb90ddd1a5d3da2e5d97b42d6272c3" +checksum = "960e6da069d81e09becb0ca57a65220ddff016ff2d6af6a223cf372a506593a3" [[package]] name = "windows_i686_gnullvm" @@ -6654,9 +6567,9 @@ checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce6ccbdedbf6d6354471319e781c0dfef054c81fbc7cf83f338a4296c0cae11" +checksum = "fa7359d10048f68ab8b09fa71c3daccfb0e9b559aed648a8f95469c27057180c" [[package]] name = "windows_i686_msvc" @@ -6678,9 +6591,9 @@ checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_i686_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "581fee95406bb13382d2f65cd4a908ca7b1e4c2f1917f143ba16efe98a589b5d" +checksum = "1e7ac75179f18232fe9c285163565a57ef8d3c89254a30685b57d83a38d326c2" [[package]] name = "windows_x86_64_gnu" @@ -6702,9 +6615,9 @@ checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnu" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e55b5ac9ea33f2fc1716d1742db15574fd6fc8dadc51caab1c16a3d3b4190ba" +checksum = "9c3842cdd74a865a8066ab39c8a7a473c0778a3f29370b5fd6b4b9aa7df4a499" [[package]] name = "windows_x86_64_gnullvm" @@ -6726,9 +6639,9 @@ checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_gnullvm" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a6e035dd0599267ce1ee132e51c27dd29437f63325753051e71dd9e42406c57" +checksum = "0ffa179e2d07eee8ad8f57493436566c7cc30ac536a3379fdf008f47f6bb7ae1" [[package]] name = "windows_x86_64_msvc" @@ -6750,9 +6663,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "windows_x86_64_msvc" -version = "0.53.0" +version = "0.53.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271414315aff87387382ec3d271b52d7ae78726f5d44ac98b4f4030c91880486" +checksum = "d6bbff5f0aada427a1e5a6da5f1f98158182f26556f345ac9e04d36d0ebed650" [[package]] name = "winit" @@ -6763,7 +6676,7 @@ dependencies = [ "ahash", "android-activity", "atomic-waker", - "bitflags 2.9.4", + "bitflags 2.10.0", "block2 0.5.1", "bytemuck", "calloop 0.13.0", @@ -6827,19 +6740,13 @@ version = "0.43.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "886614b5ce857341226aa091f3c285e450683894acaaa7887f366c361efef79d" dependencies = [ - "font-types 0.10.0", - "indexmap 2.11.4", + "font-types", + "indexmap 2.12.0", "kurbo 0.12.0", "log", - "read-fonts 0.35.0", + "read-fonts", ] -[[package]] -name = "writeable" -version = "0.5.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e9df38ee2d2c3c5948ea468a8406ff0db0b29ae1ffde1bcf20ef305bcc95c51" - [[package]] name = "writeable" version = "0.6.1" @@ -6906,9 +6813,9 @@ checksum = "bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b" [[package]] name = "xkbcommon" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d66ca9352cbd4eecbbc40871d8a11b4ac8107cfc528a6e14d7c19c69d0e1ac9" +checksum = "a7a974f48060a14e95705c01f24ad9c3345022f4d97441b8a36beb7ed5c4a02d" dependencies = [ "libc", "memmap2", @@ -6921,7 +6828,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d039de8032a9a8856a6be89cea3e5d12fdd82306ab7c94d74e6deab2460651c5" dependencies = [ - "bitflags 2.9.4", + "bitflags 2.10.0", "dlib", "log", "once_cell", @@ -6952,6 +6859,17 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e01738255b5a16e78bbb83e7fbba0a1e7dd506905cfc53f4622d89015a03fbb5" +[[package]] +name = "yeslogic-fontconfig-sys" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "503a066b4c037c440169d995b869046827dbc71263f6e8f3be6d77d4f3229dbd" +dependencies = [ + "dlib", + "once_cell", + "pkg-config", +] + [[package]] name = "yoke" version = "0.8.0" @@ -6972,15 +6890,15 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", "synstructure", ] [[package]] name = "zbus" -version = "5.11.0" +version = "5.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d07e46d035fb8e375b2ce63ba4e4ff90a7f73cf2ffb0138b29e1158d2eaadf7" +checksum = "b622b18155f7a93d1cd2dc8c01d2d6a44e08fb9ebb7b3f9e6ed101488bad6c91" dependencies = [ "async-broadcast", "async-executor", @@ -7002,7 +6920,8 @@ dependencies = [ "serde_repr", "tracing", "uds_windows", - "windows-sys 0.60.2", + "uuid", + "windows-sys 0.61.2", "winnow", "zbus_macros", "zbus_names", @@ -7011,14 +6930,14 @@ dependencies = [ [[package]] name = "zbus_macros" -version = "5.11.0" +version = "5.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57e797a9c847ed3ccc5b6254e8bcce056494b375b511b3d6edcec0aeb4defaca" +checksum = "1cdb94821ca8a87ca9c298b5d1cbd80e2a8b67115d99f6e4551ac49e42b6a314" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", "zbus_names", "zvariant", "zvariant_utils", @@ -7059,7 +6978,7 @@ checksum = "88d2b8d9c68ad2b9e4340d7832716a4d21a22a1154777ad56ea55c51a9cf3831" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -7079,7 +6998,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", "synstructure", ] @@ -7113,7 +7032,7 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", ] [[package]] @@ -7142,9 +7061,9 @@ dependencies = [ [[package]] name = "zvariant" -version = "5.7.0" +version = "5.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "999dd3be73c52b1fccd109a4a81e4fcd20fab1d3599c8121b38d04e1419498db" +checksum = "2be61892e4f2b1772727be11630a62664a1826b62efa43a6fe7449521cb8744c" dependencies = [ "endi", "enumflags2", @@ -7156,14 +7075,14 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "5.7.0" +version = "5.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6643fd0b26a46d226bd90d3f07c1b5321fe9bb7f04673cb37ac6d6883885b68e" +checksum = "da58575a1b2b20766513b1ec59d8e2e68db2745379f961f86650655e862d2006" dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.106", + "syn 2.0.108", "zvariant_utils", ] @@ -7176,6 +7095,6 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 2.0.106", + "syn 2.0.108", "winnow", ] diff --git a/Makefile b/Makefile index 6db2b96c..8f18a7b6 100644 --- a/Makefile +++ b/Makefile @@ -113,7 +113,7 @@ install-data-asusd_user: .PHONY: install-data-asusd install-data-asusd_user -install-data: install-data-asusd install-data-rog_gui +install-data: install-data-asusd install-data-asusd_user install-data-rog_gui install: install-program install-data $(INSTALL_DATA) "./LICENSE" "$(DESTDIR)$(datarootdir)/asusctl/LICENSE" diff --git a/asusctl/examples/anime-gif.rs b/asusctl/examples/anime-gif.rs index 847d04c6..a205c1ac 100644 --- a/asusctl/examples/anime-gif.rs +++ b/asusctl/examples/anime-gif.rs @@ -21,11 +21,14 @@ fn main() { let brightness = args[2].parse::().unwrap(); let anime_type = get_anime_type(); let mut seq = Sequences::new(anime_type); - seq.insert(0, &ActionLoader::AsusAnimation { - file: path.into(), - time: rog_anime::AnimTime::Infinite, - brightness, - }) + seq.insert( + 0, + &ActionLoader::AsusAnimation { + file: path.into(), + time: rog_anime::AnimTime::Infinite, + brightness, + }, + ) .unwrap(); loop { diff --git a/asusctl/src/main.rs b/asusctl/src/main.rs index 396158f2..c91fcc05 100644 --- a/asusctl/src/main.rs +++ b/asusctl/src/main.rs @@ -1179,7 +1179,7 @@ fn handle_armoury_command(cmd: &ArmouryCommand) -> Result<(), Box Brightness { - if let Some(config) = self.0.config.try_lock() { + if let Ok(config) = self.0.config.try_lock() { return config.display_brightness; } Brightness::Off @@ -117,7 +117,7 @@ impl AniMeZbus { #[zbus(property)] async fn builtins_enabled(&self) -> bool { - if let Some(config) = self.0.config.try_lock() { + if let Ok(config) = self.0.config.try_lock() { return config.builtin_anims_enabled; } false @@ -162,7 +162,7 @@ impl AniMeZbus { #[zbus(property)] async fn builtin_animations(&self) -> Animations { - if let Some(config) = self.0.config.try_lock() { + if let Ok(config) = self.0.config.try_lock() { return config.builtin_anims; } Animations::default() @@ -195,7 +195,7 @@ impl AniMeZbus { #[zbus(property)] async fn enable_display(&self) -> bool { - if let Some(config) = self.0.config.try_lock() { + if let Ok(config) = self.0.config.try_lock() { return config.display_enabled; } false @@ -218,7 +218,7 @@ impl AniMeZbus { #[zbus(property)] async fn off_when_unplugged(&self) -> bool { - if let Some(config) = self.0.config.try_lock() { + if let Ok(config) = self.0.config.try_lock() { return config.off_when_unplugged; } false @@ -245,7 +245,7 @@ impl AniMeZbus { #[zbus(property)] async fn off_when_suspended(&self) -> bool { - if let Some(config) = self.0.config.try_lock() { + if let Ok(config) = self.0.config.try_lock() { return config.off_when_suspended; } false @@ -261,7 +261,7 @@ impl AniMeZbus { #[zbus(property)] async fn off_when_lid_closed(&self) -> bool { - if let Some(config) = self.0.config.try_lock() { + if let Ok(config) = self.0.config.try_lock() { return config.off_when_lid_closed; } false diff --git a/asusd/src/aura_laptop/config.rs b/asusd/src/aura_laptop/config.rs index 43f535a0..218c597d 100644 --- a/asusd/src/aura_laptop/config.rs +++ b/asusd/src/aura_laptop/config.rs @@ -309,26 +309,38 @@ mod tests { let res = config.multizone.unwrap(); let sta = res.get(&AuraModeNum::Static).unwrap(); assert_eq!(sta.len(), 4); - assert_eq!(sta[0].colour1, Colour { - r: 0xff, - g: 0x00, - b: 0xff - }); - assert_eq!(sta[1].colour1, Colour { - r: 0x00, - g: 0xff, - b: 0xff - }); - assert_eq!(sta[2].colour1, Colour { - r: 0xff, - g: 0xff, - b: 0x00 - }); - assert_eq!(sta[3].colour1, Colour { - r: 0x00, - g: 0xff, - b: 0x00 - }); + assert_eq!( + sta[0].colour1, + Colour { + r: 0xff, + g: 0x00, + b: 0xff + } + ); + assert_eq!( + sta[1].colour1, + Colour { + r: 0x00, + g: 0xff, + b: 0xff + } + ); + assert_eq!( + sta[2].colour1, + Colour { + r: 0xff, + g: 0xff, + b: 0x00 + } + ); + assert_eq!( + sta[3].colour1, + Colour { + r: 0x00, + g: 0xff, + b: 0x00 + } + ); } #[test] @@ -388,22 +400,28 @@ mod tests { assert_eq!(config.brightness, LedBrightness::Med); assert_eq!(config.builtins.len(), 5); - assert_eq!(config.builtins.first_entry().unwrap().get(), &AuraEffect { - mode: AuraModeNum::Static, - zone: AuraZone::None, - colour1: Colour { r: 166, g: 0, b: 0 }, - colour2: Colour { r: 0, g: 0, b: 0 }, - speed: Speed::Med, - direction: Direction::Right - }); + assert_eq!( + config.builtins.first_entry().unwrap().get(), + &AuraEffect { + mode: AuraModeNum::Static, + zone: AuraZone::None, + colour1: Colour { r: 166, g: 0, b: 0 }, + colour2: Colour { r: 0, g: 0, b: 0 }, + speed: Speed::Med, + direction: Direction::Right + } + ); assert_eq!(config.enabled.states.len(), 1); - assert_eq!(config.enabled.states[0], AuraPowerState { - zone: PowerZones::KeyboardAndLightbar, - boot: true, - awake: true, - sleep: true, - shutdown: true - }); + assert_eq!( + config.enabled.states[0], + AuraPowerState { + zone: PowerZones::KeyboardAndLightbar, + boot: true, + awake: true, + sleep: true, + shutdown: true + } + ); } #[test] @@ -414,21 +432,27 @@ mod tests { assert_eq!(config.brightness, LedBrightness::Med); assert_eq!(config.builtins.len(), 12); - assert_eq!(config.builtins.first_entry().unwrap().get(), &AuraEffect { - mode: AuraModeNum::Static, - zone: AuraZone::None, - colour1: Colour { r: 166, g: 0, b: 0 }, - colour2: Colour { r: 0, g: 0, b: 0 }, - speed: Speed::Med, - direction: Direction::Right - }); + assert_eq!( + config.builtins.first_entry().unwrap().get(), + &AuraEffect { + mode: AuraModeNum::Static, + zone: AuraZone::None, + colour1: Colour { r: 166, g: 0, b: 0 }, + colour2: Colour { r: 0, g: 0, b: 0 }, + speed: Speed::Med, + direction: Direction::Right + } + ); assert_eq!(config.enabled.states.len(), 4); - assert_eq!(config.enabled.states[0], AuraPowerState { - zone: PowerZones::Keyboard, - boot: true, - awake: true, - sleep: true, - shutdown: true - }); + assert_eq!( + config.enabled.states[0], + AuraPowerState { + zone: PowerZones::Keyboard, + boot: true, + awake: true, + sleep: true, + shutdown: true + } + ); } } diff --git a/asusd/src/aura_laptop/mod.rs b/asusd/src/aura_laptop/mod.rs index 90e55547..7fabceba 100644 --- a/asusd/src/aura_laptop/mod.rs +++ b/asusd/src/aura_laptop/mod.rs @@ -2,13 +2,13 @@ use std::sync::Arc; use config::AuraConfig; use config_traits::StdConfig; -use futures_util::lock::{Mutex, MutexGuard}; use log::info; use rog_aura::keyboard::{AuraLaptopUsbPackets, LedUsbPackets}; use rog_aura::usb::{AURA_LAPTOP_LED_APPLY, AURA_LAPTOP_LED_SET}; use rog_aura::{AuraDeviceType, AuraEffect, LedBrightness, PowerZones, AURA_LAPTOP_LED_MSG_LEN}; use rog_platform::hid_raw::HidRaw; use rog_platform::keyboard_led::KeyboardBacklight; +use tokio::sync::{Mutex, MutexGuard}; use crate::error::RogError; diff --git a/asusd/src/aura_laptop/trait_impls.rs b/asusd/src/aura_laptop/trait_impls.rs index 877fde33..eee5b88f 100644 --- a/asusd/src/aura_laptop/trait_impls.rs +++ b/asusd/src/aura_laptop/trait_impls.rs @@ -112,7 +112,7 @@ impl AuraZbus { // entirely possible to deadlock here, so use try instead of lock() // let ctrl = self.0.lock().await; // Ok(config.current_mode) - if let Some(config) = self.0.config.try_lock() { + if let Ok(config) = self.0.config.try_lock() { Ok(config.current_mode) } else { Err(ZbErr::Failed("Aura control couldn't lock self".to_string())) @@ -140,7 +140,7 @@ impl AuraZbus { #[zbus(property)] async fn led_mode_data(&self) -> Result { // entirely possible to deadlock here, so use try instead of lock() - if let Some(config) = self.0.config.try_lock() { + if let Ok(config) = self.0.config.try_lock() { let mode = config.current_mode; match config.builtins.get(&mode) { Some(effect) => Ok(effect.clone()), diff --git a/asusd/src/aura_manager.rs b/asusd/src/aura_manager.rs index 38a7c608..e520458c 100644 --- a/asusd/src/aura_manager.rs +++ b/asusd/src/aura_manager.rs @@ -4,15 +4,16 @@ // - Add it to Zbus server // - If udev sees device removed then remove the zbus path +use std::collections::HashMap; use std::sync::Arc; use dmi_id::DMIID; use futures_lite::future::block_on; -use futures_util::lock::Mutex; use log::{debug, error, info, warn}; use mio::{Events, Interest, Poll, Token}; use rog_platform::error::PlatformError; use rog_platform::hid_raw::HidRaw; +use tokio::sync::Mutex; use udev::{Device, MonitorBuilder}; use zbus::zvariant::{ObjectPath, OwnedObjectPath}; use zbus::Connection; @@ -92,16 +93,38 @@ fn dev_prop_matches(dev: &Device, prop: &str, value: &str) -> bool { pub struct AsusDevice { device: DeviceHandle, dbus_path: OwnedObjectPath, + hid_key: Option, } pub struct DeviceManager { _dbus_connection: Connection, + _hid_handles: Arc>>>>, } impl DeviceManager { + async fn get_or_create_hid_handle( + handles: &Arc>>>>, + endpoint: &Device, + ) -> Result<(Arc>, String), RogError> { + let dev_node = endpoint + .devnode() + .ok_or_else(|| RogError::MissingFunction("hidraw devnode missing".to_string()))?; + let key = dev_node.to_string_lossy().to_string(); + + if let Some(existing) = handles.lock().await.get(&key).cloned() { + return Ok((existing, key)); + } + + let hidraw = HidRaw::from_device(endpoint.clone())?; + let handle = Arc::new(Mutex::new(hidraw)); + handles.lock().await.insert(key.clone(), handle.clone()); + Ok((handle, key)) + } + async fn init_hid_devices( connection: &Connection, device: Device, + handles: Arc>>>>, ) -> Result, RogError> { let mut devices = Vec::new(); if let Some(usb_device) = device.parent_with_subsystem_devtype("usb", "usb_device")? { @@ -116,9 +139,10 @@ impl DeviceManager { // 1. Generate an interface path // 2. Create the device // Use the top-level endpoint, not the parent - if let Ok(hidraw) = HidRaw::from_device(device) { + if let Ok((dev, hid_key)) = + Self::get_or_create_hid_handle(&handles, &device).await + { debug!("Testing device {usb_id:?}"); - let dev = Arc::new(Mutex::new(hidraw)); // SLASH DEVICE if let Ok(dev_type) = DeviceHandle::new_slash_hid( dev.clone(), @@ -134,6 +158,7 @@ impl DeviceManager { devices.push(AsusDevice { device: dev_type, dbus_path: path, + hid_key: Some(hid_key.clone()), }); } } @@ -152,6 +177,7 @@ impl DeviceManager { devices.push(AsusDevice { device: dev_type, dbus_path: path, + hid_key: Some(hid_key.clone()), }); } } @@ -170,9 +196,12 @@ impl DeviceManager { devices.push(AsusDevice { device: dev_type, dbus_path: path, + hid_key: Some(hid_key), }); } } + } else { + warn!("Failed to initialise shared hid handle for {usb_id:?}"); } } } @@ -181,7 +210,10 @@ impl DeviceManager { } /// To be called on daemon startup - async fn init_all_hid(connection: &Connection) -> Result, RogError> { + async fn init_all_hid( + connection: &Connection, + handles: Arc>>>>, + ) -> Result, RogError> { // track and ensure we use only one hidraw per prod_id // let mut interfaces = HashSet::new(); let mut devices: Vec = Vec::new(); @@ -200,7 +232,7 @@ impl DeviceManager { .scan_devices() .map_err(|e| PlatformError::IoPath("enumerator".to_owned(), e))? { - devices.append(&mut Self::init_hid_devices(connection, device).await?); + devices.append(&mut Self::init_hid_devices(connection, device, handles.clone()).await?); } Ok(devices) @@ -228,6 +260,7 @@ impl DeviceManager { return Some(AsusDevice { device: dev_type, dbus_path: path, + hid_key: None, }); } } @@ -275,10 +308,13 @@ impl DeviceManager { Ok(devices) } - pub async fn find_all_devices(connection: &Connection) -> Vec { + pub async fn find_all_devices( + connection: &Connection, + handles: Arc>>>>, + ) -> Vec { let mut devices: Vec = Vec::new(); // HID first, always - if let Ok(devs) = &mut Self::init_all_hid(connection).await { + if let Ok(devs) = &mut Self::init_all_hid(connection, handles.clone()).await { devices.append(devs); } // USB after, need to check if HID picked something up and if so, skip it @@ -306,6 +342,7 @@ impl DeviceManager { devices.push(AsusDevice { device: dev_type, dbus_path: path, + hid_key: None, }); } } else { @@ -328,6 +365,7 @@ impl DeviceManager { devices.push(AsusDevice { device: dev_type, dbus_path: path, + hid_key: None, }); } } @@ -355,6 +393,7 @@ impl DeviceManager { devices.push(AsusDevice { device: dev_type, dbus_path: path, + hid_key: None, }); } } @@ -370,16 +409,19 @@ impl DeviceManager { pub async fn new(connection: Connection) -> Result { let conn_copy = connection.clone(); - let devices = Self::find_all_devices(&conn_copy).await; + let hid_handles = Arc::new(Mutex::new(HashMap::new())); + let devices = Self::find_all_devices(&conn_copy, hid_handles.clone()).await; info!("Found {} valid devices on startup", devices.len()); let devices = Arc::new(Mutex::new(devices)); let manager = Self { _dbus_connection: connection, + _hid_handles: hid_handles.clone(), }; // TODO: The /sysfs/ LEDs don't cause events, so they need to be manually // checked for and added + let hid_handles_thread = hid_handles.clone(); std::thread::spawn(move || { let mut monitor = MonitorBuilder::new()?.listen()?; let mut poll = Poll::new()?; @@ -408,6 +450,7 @@ impl DeviceManager { let devices = devices.clone(); let conn_copy = conn_copy.clone(); + let hid_handles = hid_handles_thread.clone(); block_on(async move { // SCSCI devs if subsys == "block" { @@ -483,6 +526,7 @@ impl DeviceManager { // Iter in reverse so as to not screw up indexing for index in removals.iter().rev() { let dev = devices.lock().await.remove(*index); + let hid_key = dev.hid_key.clone(); let path = path.clone(); let res = match dev.device { DeviceHandle::Aura(_) => { @@ -512,14 +556,20 @@ impl DeviceManager { _ => todo!(), }; info!("AuraManager removed: {path:?}, {res}"); + if let Some(key) = hid_key { + hid_handles.lock().await.remove(&key); + } } } } else if action == "add" { let evdev = event.device(); - if let Ok(mut new_devs) = - Self::init_hid_devices(&conn_copy, evdev) - .await - .map_err(|e| error!("Couldn't add new device: {e:?}")) + if let Ok(mut new_devs) = Self::init_hid_devices( + &conn_copy, + evdev, + hid_handles.clone(), + ) + .await + .map_err(|e| error!("Couldn't add new device: {e:?}")) { devices.lock().await.append(&mut new_devs); } diff --git a/asusd/src/aura_scsi/mod.rs b/asusd/src/aura_scsi/mod.rs index 2fc45b54..c87575de 100644 --- a/asusd/src/aura_scsi/mod.rs +++ b/asusd/src/aura_scsi/mod.rs @@ -1,8 +1,8 @@ use std::sync::Arc; use config::ScsiConfig; -use futures_util::lock::{Mutex, MutexGuard}; use rog_scsi::{AuraEffect, Device, Task}; +use tokio::sync::{Mutex, MutexGuard}; use crate::error::RogError; diff --git a/asusd/src/aura_scsi/trait_impls.rs b/asusd/src/aura_scsi/trait_impls.rs index 564e91d7..7345dc28 100644 --- a/asusd/src/aura_scsi/trait_impls.rs +++ b/asusd/src/aura_scsi/trait_impls.rs @@ -83,7 +83,7 @@ impl ScsiZbus { #[zbus(property)] async fn led_mode_data(&self) -> Result { // entirely possible to deadlock here, so use try instead of lock() - if let Some(config) = self.0.config.try_lock() { + if let Ok(config) = self.0.config.try_lock() { let mode = config.current_mode; match config.modes.get(&mode) { Some(effect) => Ok(effect.clone()), diff --git a/asusd/src/aura_slash/mod.rs b/asusd/src/aura_slash/mod.rs index 42434003..8996f59e 100644 --- a/asusd/src/aura_slash/mod.rs +++ b/asusd/src/aura_slash/mod.rs @@ -1,10 +1,10 @@ use std::sync::Arc; use config::SlashConfig; -use futures_util::lock::{Mutex, MutexGuard}; use rog_platform::hid_raw::HidRaw; use rog_platform::usb_raw::USBRaw; use rog_slash::usb::{slash_pkt_enable, slash_pkt_init, slash_pkt_options, slash_pkt_set_mode}; +use tokio::sync::{Mutex, MutexGuard}; use crate::error::RogError; diff --git a/asusd/src/aura_types.rs b/asusd/src/aura_types.rs index b12a0dcb..3a8cf12d 100644 --- a/asusd/src/aura_types.rs +++ b/asusd/src/aura_types.rs @@ -1,7 +1,6 @@ use std::sync::Arc; use config_traits::{StdConfig, StdConfigLoad}; -use futures_util::lock::Mutex; use log::{debug, error, info}; use rog_anime::error::AnimeError; use rog_anime::usb::get_anime_type; @@ -13,6 +12,7 @@ use rog_platform::usb_raw::USBRaw; use rog_scsi::{open_device, ScsiType}; use rog_slash::error::SlashError; use rog_slash::SlashType; +use tokio::sync::Mutex; use crate::aura_anime::config::AniMeConfig; use crate::aura_anime::AniMe; diff --git a/asusd/src/ctrl_backlight.rs b/asusd/src/ctrl_backlight.rs index 188ca4f7..a6a898ed 100644 --- a/asusd/src/ctrl_backlight.rs +++ b/asusd/src/ctrl_backlight.rs @@ -2,9 +2,9 @@ use std::sync::Arc; use std::time::Duration; use config_traits::StdConfig; -use futures_util::lock::Mutex; use log::{info, warn}; use rog_platform::backlight::{Backlight, BacklightType}; +use tokio::sync::Mutex; use zbus::fdo::Error as FdoErr; use zbus::object_server::SignalEmitter; use zbus::{interface, Connection}; @@ -13,7 +13,7 @@ use crate::config::Config; use crate::error::RogError; use crate::ASUS_ZBUS_PATH; -#[derive(Debug, Clone)] +#[derive(Clone)] pub struct CtrlBacklight { backlights: Vec, config: Arc>, diff --git a/asusd/src/ctrl_fancurves.rs b/asusd/src/ctrl_fancurves.rs index 3d335180..9d2c87be 100644 --- a/asusd/src/ctrl_fancurves.rs +++ b/asusd/src/ctrl_fancurves.rs @@ -3,13 +3,13 @@ use std::sync::Arc; use config_traits::{StdConfig, StdConfigLoad}; use futures_lite::StreamExt; -use futures_util::lock::Mutex; use log::{debug, error, info, warn}; use rog_platform::platform::{PlatformProfile, RogPlatform}; use rog_profiles::error::ProfileError; use rog_profiles::fan_curve_set::CurveData; use rog_profiles::{find_fan_curve_node, FanCurvePU, FanCurveProfiles}; use serde::{Deserialize, Serialize}; +use tokio::sync::Mutex; use zbus::object_server::SignalEmitter; use zbus::{interface, Connection}; diff --git a/asusd/src/ctrl_platform.rs b/asusd/src/ctrl_platform.rs index a36328a7..df315e1d 100644 --- a/asusd/src/ctrl_platform.rs +++ b/asusd/src/ctrl_platform.rs @@ -3,12 +3,12 @@ use std::process::Command; use std::sync::Arc; use config_traits::StdConfig; -use futures_util::lock::Mutex; use log::{debug, error, info, warn}; use rog_platform::asus_armoury::{AttrValue, FirmwareAttribute, FirmwareAttributes}; use rog_platform::cpu::{CPUControl, CPUGovernor, CPUEPP}; use rog_platform::platform::{PlatformProfile, Properties, RogPlatform}; use rog_platform::power::AsusPower; +use tokio::sync::Mutex; use zbus::fdo::Error as FdoErr; use zbus::object_server::SignalEmitter; use zbus::{interface, Connection}; diff --git a/asusd/src/daemon.rs b/asusd/src/daemon.rs index 0eae0326..20aebe8a 100644 --- a/asusd/src/daemon.rs +++ b/asusd/src/daemon.rs @@ -11,11 +11,11 @@ use asusd::ctrl_fancurves::CtrlFanCurveZbus; use asusd::ctrl_platform::CtrlPlatform; use asusd::{print_board_info, start_tasks, CtrlTask, ZbusRun, DBUS_NAME}; use config_traits::{StdConfig, StdConfigLoad2}; -use futures_util::lock::Mutex; use log::{error, info}; use rog_platform::asus_armoury::FirmwareAttributes; use rog_platform::platform::RogPlatform; use rog_platform::power::AsusPower; +use tokio::sync::Mutex; use zbus::fdo::ObjectManager; #[tokio::main] diff --git a/rog-aura/src/effects/mod.rs b/rog-aura/src/effects/mod.rs index 5b3f2163..0fbc7cb9 100644 --- a/rog-aura/src/effects/mod.rs +++ b/rog-aura/src/effects/mod.rs @@ -207,12 +207,14 @@ mod tests { fn single_key_next_state_then_create() { let layout = KeyLayout::default_layout(); let mut seq = AdvancedEffects::new(false); - seq.effects - .push(Effect::Static(Static::new(LedCode::F, Colour { + seq.effects.push(Effect::Static(Static::new( + LedCode::F, + Colour { r: 255, g: 127, b: 0, - }))); + }, + ))); seq.next_state(&layout); let packets = seq.create_packets(); diff --git a/rog-aura/src/keyboard/layouts.rs b/rog-aura/src/keyboard/layouts.rs index b3b3b91f..4a363128 100644 --- a/rog-aura/src/keyboard/layouts.rs +++ b/rog-aura/src/keyboard/layouts.rs @@ -335,93 +335,117 @@ impl KeyLayout { KeyShape::new_led(1.0, 1.0, 0.1, 0.1, 0.1, 0.1), )]), key_rows: vec![ - KeyRow::new(0.1, 0.1, vec![ - (LedCode::Esc, "regular".to_owned()), - (LedCode::F1, "regular".to_owned()), - (LedCode::F2, "regular".to_owned()), - (LedCode::F3, "regular".to_owned()), - (LedCode::F4, "regular".to_owned()), - // not sure which key to put here - (LedCode::F5, "regular".to_owned()), - (LedCode::F6, "regular".to_owned()), - (LedCode::F7, "regular".to_owned()), - (LedCode::F8, "regular".to_owned()), - (LedCode::F9, "regular".to_owned()), - (LedCode::F10, "regular".to_owned()), - (LedCode::F11, "regular".to_owned()), - (LedCode::F12, "regular".to_owned()), - ]), - KeyRow::new(0.1, 0.1, vec![ - (LedCode::Tilde, "regular".to_owned()), - (LedCode::N1, "regular".to_owned()), - (LedCode::N2, "regular".to_owned()), - (LedCode::N3, "regular".to_owned()), - (LedCode::N4, "regular".to_owned()), - (LedCode::N5, "regular".to_owned()), - (LedCode::N6, "regular".to_owned()), - (LedCode::N7, "regular".to_owned()), - (LedCode::N8, "regular".to_owned()), - (LedCode::N9, "regular".to_owned()), - (LedCode::N0, "regular".to_owned()), - (LedCode::Hyphen, "regular".to_owned()), - (LedCode::Equals, "regular".to_owned()), - (LedCode::Backspace, "regular".to_owned()), - ]), - KeyRow::new(0.1, 0.1, vec![ - (LedCode::Tab, "regular".to_owned()), - (LedCode::Q, "regular".to_owned()), - (LedCode::W, "regular".to_owned()), - (LedCode::E, "regular".to_owned()), - (LedCode::R, "regular".to_owned()), - (LedCode::T, "regular".to_owned()), - (LedCode::Y, "regular".to_owned()), - (LedCode::U, "regular".to_owned()), - (LedCode::I, "regular".to_owned()), - (LedCode::O, "regular".to_owned()), - (LedCode::P, "regular".to_owned()), - (LedCode::LBracket, "regular".to_owned()), - (LedCode::RBracket, "regular".to_owned()), - (LedCode::BackSlash, "regular".to_owned()), - ]), - KeyRow::new(0.1, 0.1, vec![ - (LedCode::Caps, "regular".to_owned()), - (LedCode::A, "regular".to_owned()), - (LedCode::S, "regular".to_owned()), - (LedCode::D, "regular".to_owned()), - (LedCode::F, "regular".to_owned()), - (LedCode::G, "regular".to_owned()), - (LedCode::H, "regular".to_owned()), - (LedCode::J, "regular".to_owned()), - (LedCode::K, "regular".to_owned()), - (LedCode::L, "regular".to_owned()), - (LedCode::SemiColon, "regular".to_owned()), - (LedCode::Quote, "regular".to_owned()), - (LedCode::Return, "regular".to_owned()), - ]), - KeyRow::new(0.1, 0.1, vec![ - (LedCode::LShift, "regular".to_owned()), - (LedCode::Z, "regular".to_owned()), - (LedCode::X, "regular".to_owned()), - (LedCode::C, "regular".to_owned()), - (LedCode::V, "regular".to_owned()), - (LedCode::B, "regular".to_owned()), - (LedCode::N, "regular".to_owned()), - (LedCode::M, "regular".to_owned()), - (LedCode::Comma, "regular".to_owned()), - (LedCode::Period, "regular".to_owned()), - (LedCode::FwdSlash, "regular".to_owned()), - (LedCode::Rshift, "regular".to_owned()), - ]), - KeyRow::new(0.1, 0.1, vec![ - (LedCode::LCtrl, "regular".to_owned()), - (LedCode::LFn, "regular".to_owned()), - (LedCode::Meta, "regular".to_owned()), - (LedCode::LAlt, "regular".to_owned()), - (LedCode::Spacebar, "regular".to_owned()), - (LedCode::RAlt, "regular".to_owned()), - (LedCode::PrtSc, "regular".to_owned()), - (LedCode::RCtrl, "regular".to_owned()), - ]), + KeyRow::new( + 0.1, + 0.1, + vec![ + (LedCode::Esc, "regular".to_owned()), + (LedCode::F1, "regular".to_owned()), + (LedCode::F2, "regular".to_owned()), + (LedCode::F3, "regular".to_owned()), + (LedCode::F4, "regular".to_owned()), + // not sure which key to put here + (LedCode::F5, "regular".to_owned()), + (LedCode::F6, "regular".to_owned()), + (LedCode::F7, "regular".to_owned()), + (LedCode::F8, "regular".to_owned()), + (LedCode::F9, "regular".to_owned()), + (LedCode::F10, "regular".to_owned()), + (LedCode::F11, "regular".to_owned()), + (LedCode::F12, "regular".to_owned()), + ], + ), + KeyRow::new( + 0.1, + 0.1, + vec![ + (LedCode::Tilde, "regular".to_owned()), + (LedCode::N1, "regular".to_owned()), + (LedCode::N2, "regular".to_owned()), + (LedCode::N3, "regular".to_owned()), + (LedCode::N4, "regular".to_owned()), + (LedCode::N5, "regular".to_owned()), + (LedCode::N6, "regular".to_owned()), + (LedCode::N7, "regular".to_owned()), + (LedCode::N8, "regular".to_owned()), + (LedCode::N9, "regular".to_owned()), + (LedCode::N0, "regular".to_owned()), + (LedCode::Hyphen, "regular".to_owned()), + (LedCode::Equals, "regular".to_owned()), + (LedCode::Backspace, "regular".to_owned()), + ], + ), + KeyRow::new( + 0.1, + 0.1, + vec![ + (LedCode::Tab, "regular".to_owned()), + (LedCode::Q, "regular".to_owned()), + (LedCode::W, "regular".to_owned()), + (LedCode::E, "regular".to_owned()), + (LedCode::R, "regular".to_owned()), + (LedCode::T, "regular".to_owned()), + (LedCode::Y, "regular".to_owned()), + (LedCode::U, "regular".to_owned()), + (LedCode::I, "regular".to_owned()), + (LedCode::O, "regular".to_owned()), + (LedCode::P, "regular".to_owned()), + (LedCode::LBracket, "regular".to_owned()), + (LedCode::RBracket, "regular".to_owned()), + (LedCode::BackSlash, "regular".to_owned()), + ], + ), + KeyRow::new( + 0.1, + 0.1, + vec![ + (LedCode::Caps, "regular".to_owned()), + (LedCode::A, "regular".to_owned()), + (LedCode::S, "regular".to_owned()), + (LedCode::D, "regular".to_owned()), + (LedCode::F, "regular".to_owned()), + (LedCode::G, "regular".to_owned()), + (LedCode::H, "regular".to_owned()), + (LedCode::J, "regular".to_owned()), + (LedCode::K, "regular".to_owned()), + (LedCode::L, "regular".to_owned()), + (LedCode::SemiColon, "regular".to_owned()), + (LedCode::Quote, "regular".to_owned()), + (LedCode::Return, "regular".to_owned()), + ], + ), + KeyRow::new( + 0.1, + 0.1, + vec![ + (LedCode::LShift, "regular".to_owned()), + (LedCode::Z, "regular".to_owned()), + (LedCode::X, "regular".to_owned()), + (LedCode::C, "regular".to_owned()), + (LedCode::V, "regular".to_owned()), + (LedCode::B, "regular".to_owned()), + (LedCode::N, "regular".to_owned()), + (LedCode::M, "regular".to_owned()), + (LedCode::Comma, "regular".to_owned()), + (LedCode::Period, "regular".to_owned()), + (LedCode::FwdSlash, "regular".to_owned()), + (LedCode::Rshift, "regular".to_owned()), + ], + ), + KeyRow::new( + 0.1, + 0.1, + vec![ + (LedCode::LCtrl, "regular".to_owned()), + (LedCode::LFn, "regular".to_owned()), + (LedCode::Meta, "regular".to_owned()), + (LedCode::LAlt, "regular".to_owned()), + (LedCode::Spacebar, "regular".to_owned()), + (LedCode::RAlt, "regular".to_owned()), + (LedCode::PrtSc, "regular".to_owned()), + (LedCode::RCtrl, "regular".to_owned()), + ], + ), ], } } diff --git a/rog-platform/src/cpu.rs b/rog-platform/src/cpu.rs index 332bf6a4..42a48a86 100644 --- a/rog-platform/src/cpu.rs +++ b/rog-platform/src/cpu.rs @@ -267,18 +267,24 @@ mod tests { fn check_cpu() { let cpu = CPUControl::new().unwrap(); assert_eq!(cpu.get_governor().unwrap(), CPUGovernor::Powersave); - assert_eq!(cpu.get_available_governors().unwrap(), vec![ - CPUGovernor::Performance, - CPUGovernor::Powersave - ]); + assert_eq!( + cpu.get_available_governors().unwrap(), + vec![ + CPUGovernor::Performance, + CPUGovernor::Powersave + ] + ); assert_eq!(cpu.get_epp().unwrap(), CPUEPP::BalancePower); - assert_eq!(cpu.get_available_epp().unwrap(), vec![ - CPUEPP::Default, - CPUEPP::Performance, - CPUEPP::BalancePerformance, - CPUEPP::BalancePower, - CPUEPP::Power, - ]); + assert_eq!( + cpu.get_available_epp().unwrap(), + vec![ + CPUEPP::Default, + CPUEPP::Performance, + CPUEPP::BalancePerformance, + CPUEPP::BalancePower, + CPUEPP::Power, + ] + ); } } diff --git a/simulators/src/simulator.rs b/simulators/src/simulator.rs index cbeacf09..6885ca45 100644 --- a/simulators/src/simulator.rs +++ b/simulators/src/simulator.rs @@ -158,7 +158,7 @@ fn main() -> Result<(), Box> { canvas.set_draw_color(Color::RGB(*b, *b, *b)); let x: i32 = w + x_count as i32 * w - - if !(y_count + y_offset as usize).is_multiple_of(2) { + - if !((y_count + y_offset as usize) % 2 == 0) { 0 } else { w / 2