From a867496f132248320df15b52de14abd709588d39 Mon Sep 17 00:00:00 2001 From: "Luke D. Jones" Date: Sun, 24 Dec 2023 10:30:33 +1300 Subject: [PATCH] Re-enable ROGCC fan curves --- CHANGELOG.md | 3 + Cargo.lock | 406 +++++++++++------- rog-aura/data/aura_support.ron | 2 +- rog-control-center/Cargo.toml | 5 +- rog-control-center/src/main.rs | 74 ++-- .../src/pages/fan_curve_page.rs | 25 -- rog-control-center/src/startup_error.rs | 30 +- rog-control-center/src/system_state.rs | 11 +- rog-control-center/src/widgets/fan_graph.rs | 12 +- rog-control-center/src/widgets/top_bar.rs | 22 +- 10 files changed, 340 insertions(+), 250 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fe45bac6..1c5b5700 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,9 +6,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [v5.0.4] ### Changed - Added G834JZ led config - Fix in ROGCC to apply the actual effect changed +- Re-enable all fan curves (available) in ROGCC +- Update smithay-client-toolkit ## [v5.0.3] ### Changed diff --git a/Cargo.lock b/Cargo.lock index 3c68bc00..86099894 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -20,24 +20,24 @@ checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" [[package]] name = "accesskit" -version = "0.10.1" +version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "704d532b1cd3d912bb37499c55a81ac748cc1afa737eedd100ba441acdd47d38" +checksum = "ca8410747ed85a17c4a1e9ed3f5a74d3e7bdcc876cf9a18ff40ae21d645997b2" [[package]] name = "accesskit_consumer" -version = "0.14.1" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48ba8b23cfca3944012ee2e5c71c02077a400e034c720eed6bd927cb6b4d1fd9" +checksum = "8c17cca53c09fbd7288667b22a201274b9becaa27f0b91bf52a526db95de45e6" dependencies = [ "accesskit", ] [[package]] name = "accesskit_macos" -version = "0.6.2" +version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58d062544d6cc36f4213323b7cb3a0d74ddff4b0d2311ab5e7596f4278bb2cc9" +checksum = "cd3b6ae1eabbfbced10e840fd3fce8a93ae84f174b3e4ba892ab7bcb42e477a7" dependencies = [ "accesskit", "accesskit_consumer", @@ -47,38 +47,40 @@ dependencies = [ [[package]] name = "accesskit_unix" -version = "0.3.2" +version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f8df4021f31969877b295fa80c4b07fcc7eb83f1985b0d3aa4f889c3427c3d5" +checksum = "09f46c18d99ba61ad7123dd13eeb0c104436ab6af1df6a1cd8c11054ed394a08" dependencies = [ "accesskit", "accesskit_consumer", - "async-channel 1.9.0", + "async-channel 2.1.1", + "async-once-cell", "atspi", "futures-lite 1.13.0", + "once_cell", "serde", "zbus", ] [[package]] name = "accesskit_windows" -version = "0.13.2" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaf5b3c3828397ee832ba4a72fb1a4ace10f781e31885f774cbd531014059115" +checksum = "afcae27ec0974fc7c3b0b318783be89fd1b2e66dd702179fe600166a38ff4a0b" dependencies = [ "accesskit", "accesskit_consumer", - "arrayvec", "once_cell", "paste", - "windows 0.44.0", + "static_assertions", + "windows 0.48.0", ] [[package]] name = "accesskit_winit" -version = "0.12.4" +version = "0.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbcb615217efc79c4bed3094c4ca76c4bc554751d1da16f3ed4ba0459b1e8f31" +checksum = "88e39fcec2e10971e188730b7a76bab60647dacc973d4591855ebebcadfaa738" dependencies = [ "accesskit", "accesskit_macos", @@ -164,9 +166,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.75" +version = "1.0.76" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" +checksum = "59d2a3357dde987206219e78ecfbbb6e8dad06cbb65292758d3270e6254f7355" [[package]] name = "arboard" @@ -226,7 +228,7 @@ dependencies = [ "config-traits", "dmi_id", "env_logger", - "futures-lite 1.13.0", + "futures-lite 2.1.0", "log", "logind-zbus", "rog_anime", @@ -289,7 +291,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" dependencies = [ "concurrent-queue", - "event-listener 4.0.0", + "event-listener 4.0.1", "event-listener-strategy", "futures-core", "pin-project-lite", @@ -375,7 +377,7 @@ version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c" dependencies = [ - "event-listener 4.0.0", + "event-listener 4.0.1", "event-listener-strategy", "pin-project-lite", ] @@ -391,6 +393,12 @@ dependencies = [ "futures-lite 1.13.0", ] +[[package]] +name = "async-once-cell" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9338790e78aa95a416786ec8389546c4b6a1dfc3dc36071ed9518a9413a542eb" + [[package]] name = "async-process" version = "1.8.1" @@ -416,7 +424,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] @@ -439,19 +447,19 @@ dependencies = [ [[package]] name = "async-task" -version = "4.5.0" +version = "4.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" +checksum = "e1d90cd0b264dfdd8eb5bad0a2c217c1f88fa96a8573f40e7b12de23fb468f46" [[package]] name = "async-trait" -version = "0.1.74" +version = "0.1.75" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" +checksum = "fdf6721fb0140e4f897002dd086c06f6c27775df19cfe1fccb21181a48fd2c98" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] @@ -484,37 +492,52 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" -[[package]] -name = "atomic_refcell" -version = "0.1.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41e67cd8309bbd06cd603a9e693a784ac2e5d1e955f11286e355089fcab3047c" - [[package]] name = "atspi" -version = "0.10.1" +version = "0.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "674e7a3376837b2e7d12d34d58ac47073c491dc3bf6f71a7adaf687d4d817faa" +checksum = "6059f350ab6f593ea00727b334265c4dfc7fd442ee32d264794bd9bdc68e87ca" dependencies = [ - "async-recursion", - "async-trait", - "atspi-macros", - "enumflags2", - "futures-lite 1.13.0", - "serde", - "tracing", - "zbus", - "zbus_names", + "atspi-common", + "atspi-connection", + "atspi-proxies", ] [[package]] -name = "atspi-macros" -version = "0.2.0" +name = "atspi-common" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fb4870a32c0eaa17e35bca0e6b16020635157121fb7d45593d242c295bc768" +checksum = "92af95f966d2431f962bc632c2e68eda7777330158bf640c4af4249349b2cdf5" dependencies = [ - "quote", - "syn 1.0.109", + "enumflags2", + "serde", + "static_assertions", + "zbus", + "zbus_names", + "zvariant", +] + +[[package]] +name = "atspi-connection" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0c65e7d70f86d4c0e3b2d585d9bf3f979f0b19d635a336725a88d279f76b939" +dependencies = [ + "atspi-common", + "atspi-proxies", + "futures-lite 1.13.0", + "zbus", +] + +[[package]] +name = "atspi-proxies" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6495661273703e7a229356dcbe8c8f38223d697aacfaf0e13590a9ac9977bb52" +dependencies = [ + "atspi-common", + "serde", + "zbus", ] [[package]] @@ -567,7 +590,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] @@ -658,7 +681,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] @@ -809,6 +832,36 @@ dependencies = [ "winapi", ] +[[package]] +name = "cocoa" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f425db7937052c684daec3bd6375c8abe2d146dca4b8b143d6db777c39138f3a" +dependencies = [ + "bitflags 1.3.2", + "block", + "cocoa-foundation", + "core-foundation", + "core-graphics", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c6234cbb2e4c785b456c0644748b1ac416dd045799740356f8363dfe00c93f7" +dependencies = [ + "bitflags 1.3.2", + "block", + "core-foundation", + "core-graphics-types", + "libc", + "objc", +] + [[package]] name = "color_quant" version = "1.1.0" @@ -832,7 +885,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f76990911f2267d837d9d0ad060aa63aaad170af40904b29461734c339030d4d" dependencies = [ "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] @@ -921,9 +974,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.16" +version = "0.8.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" +checksum = "c06d96137f14f244c37f989d9fff8f95e6c18b918e71f36638f8c49112e4c78f" dependencies = [ "cfg-if", ] @@ -1021,7 +1074,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" dependencies = [ - "libloading 0.8.1", + "libloading", ] [[package]] @@ -1040,39 +1093,48 @@ checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650" [[package]] name = "ecolor" -version = "0.21.0" -source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b7637fc2e74d17e52931bac90ff4fc061ac776ada9c7fa272f24cdca5991972" dependencies = [ "bytemuck", ] [[package]] name = "eframe" -version = "0.21.3" -source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdd73918a828c35a7efb4d7188ea973df4bffc589178ed95f521c917b03ddcfa" dependencies = [ "bytemuck", + "cocoa", "egui", "egui-winit", "egui_glow", "glow", "glutin", "glutin-winit", + "image", "js-sys", "log", + "objc", + "parking_lot", "percent-encoding", "raw-window-handle", + "static_assertions", "thiserror", "wasm-bindgen", "wasm-bindgen-futures", "web-sys", + "winapi", "winit", ] [[package]] name = "egui" -version = "0.21.0" -source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c55bcb864b764eb889515a38b8924757657a250738ad15126637ee2df291ee6b" dependencies = [ "accesskit", "ahash", @@ -1083,33 +1145,45 @@ dependencies = [ [[package]] name = "egui-winit" -version = "0.21.1" -source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b673606b6606b12b95e3a3194d7882bf5cff302db36a520b8144c7c342e4e84" dependencies = [ "accesskit_winit", "arboard", "egui", - "instant", "log", + "raw-window-handle", "smithay-clipboard", + "web-time", "webbrowser", "winit", ] [[package]] name = "egui_glow" -version = "0.21.0" -source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "262151f9d57c557c02a40a46f27b9e050a6eb0b006b94dced9c6f4519a04d489" dependencies = [ "bytemuck", "egui", "glow", "log", - "memoffset 0.6.5", + "memoffset 0.7.1", "wasm-bindgen", "web-sys", ] +[[package]] +name = "egui_plot" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b37b2edcdd197db41825266ae7979bd7591fa2eb6b40152375ac05eb323eb9d2" +dependencies = [ + "egui", +] + [[package]] name = "either" version = "1.9.0" @@ -1118,8 +1192,9 @@ checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "emath" -version = "0.21.0" -source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a045c6c0b44b35e98513fc1e9d183ab42881ac27caccb9fa345465601f56cce4" dependencies = [ "bytemuck", ] @@ -1165,7 +1240,7 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] @@ -1183,12 +1258,12 @@ dependencies = [ [[package]] name = "epaint" -version = "0.21.0" -source = "git+https://github.com/emilk/egui?rev=b8e798777de519de3a1878798097ab2ab0bd4def#b8e798777de519de3a1878798097ab2ab0bd4def" +version = "0.24.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d1b9e000d21bab9b535ce78f9f7745be28b3f777f6c7223936561c5c7fefab8" dependencies = [ "ab_glyph", "ahash", - "atomic_refcell", "bytemuck", "ecolor", "emath", @@ -1242,9 +1317,9 @@ dependencies = [ [[package]] name = "event-listener" -version = "4.0.0" +version = "4.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae" +checksum = "84f2cdcf274580f2d63697192d744727b3198894b1bf02923643bf59e2c26712" dependencies = [ "concurrent-queue", "parking", @@ -1257,7 +1332,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" dependencies = [ - "event-listener 4.0.0", + "event-listener 4.0.1", "pin-project-lite", ] @@ -1406,7 +1481,7 @@ checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] @@ -1676,7 +1751,7 @@ dependencies = [ "glutin_egl_sys", "glutin_glx_sys", "glutin_wgl_sys", - "libloading 0.7.4", + "libloading", "objc2", "once_cell", "raw-window-handle", @@ -1838,11 +1913,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" [[package]] name = "home" -version = "0.5.5" +version = "0.5.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" +checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -1884,6 +1959,20 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "image" +version = "0.24.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f3dfdbdd72063086ff443e297b61695500514b1e41095b6fb9a5ab48a70a711" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "num-rational", + "num-traits", + "png", +] + [[package]] name = "indexmap" version = "2.1.0" @@ -1998,9 +2087,9 @@ dependencies = [ [[package]] name = "js-sys" -version = "0.3.61" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" +checksum = "cee9c64da59eae3b50095c18d3e74f8b73c0b86d2792824ff01bbce68ba229ca" dependencies = [ "wasm-bindgen", ] @@ -2043,7 +2132,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08fcb2bea89cee9613982501ec83eaa2d09256b24540ae463c52a28906163918" dependencies = [ "gtk-sys", - "libloading 0.7.4", + "libloading", "once_cell", ] @@ -2063,16 +2152,6 @@ dependencies = [ "winapi", ] -[[package]] -name = "libloading" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c571b676ddfc9a8c12f1f3d3085a7b163966a8fd8098a90640953ce5f6170161" -dependencies = [ - "cfg-if", - "windows-sys 0.48.0", -] - [[package]] name = "libredox" version = "0.0.1" @@ -2357,6 +2436,27 @@ dependencies = [ "zbus", ] +[[package]] +name = "num-integer" +version = "0.1.45" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-rational" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0638a1c9d0a3c0914158145bc76cff373a75a627e6ecbfb71cbe6f453a5a19b0" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.17" @@ -2415,7 +2515,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] @@ -2620,9 +2720,9 @@ checksum = "5de5067af0cd27add969cdb4ef2eecc955f59235f3b7a75a3c6ac9562cfb6b81" [[package]] name = "pkg-config" -version = "0.3.27" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" +checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a" [[package]] name = "png" @@ -2725,9 +2825,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.70" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" +checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8" dependencies = [ "unicode-ident", ] @@ -2853,6 +2953,7 @@ dependencies = [ "dirs", "eframe", "egui", + "egui_plot", "env_logger", "gtk", "gumdrop", @@ -3119,7 +3220,7 @@ checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] @@ -3141,14 +3242,14 @@ checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] name = "serde_spanned" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" dependencies = [ "serde", ] @@ -3321,9 +3422,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.40" +version = "2.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13fa70a4ee923979ffb522cacce59d34421ebdea5625e1073c4326ef9d2dd42e" +checksum = "5b7d0a2c048d661a1a59fcd7355baa232f7ed34e0ee4df2eef3c1c1c0d3852d8" dependencies = [ "proc-macro2", "quote", @@ -3393,29 +3494,29 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.50" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" +checksum = "f11c217e1416d6f036b870f14e0413d480dbf28edbee1f877abaf0206af43bb7" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.50" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" +checksum = "01742297787513b79cf8e29d1056ede1313e2420b7b3b15d0a768b4921f549df" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] name = "time" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" +checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" dependencies = [ "deranged", "powerfmt", @@ -3480,9 +3581,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.35.0" +version = "1.35.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" +checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104" dependencies = [ "backtrace", "libc", @@ -3502,7 +3603,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] @@ -3578,7 +3679,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] @@ -3637,10 +3738,11 @@ dependencies = [ [[package]] name = "uds_windows" -version = "1.0.2" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" +checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9" dependencies = [ + "memoffset 0.9.0", "tempfile", "winapi", ] @@ -3755,9 +3857,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.84" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" +checksum = "0ed0d4f68a3015cc185aff4db9506a015f4b96f95303897bfa23f846db54064e" dependencies = [ "cfg-if", "wasm-bindgen-macro", @@ -3765,24 +3867,24 @@ dependencies = [ [[package]] name = "wasm-bindgen-backend" -version = "0.2.84" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" +checksum = "1b56f625e64f3a1084ded111c4d5f477df9f8c92df113852fa5a374dbda78826" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.42", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-futures" -version = "0.4.34" +version = "0.4.39" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" +checksum = "ac36a15a220124ac510204aec1c3e5db8a22ab06fd6706d881dc6149f8ed9a12" dependencies = [ "cfg-if", "js-sys", @@ -3792,9 +3894,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.84" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" +checksum = "0162dbf37223cd2afce98f3d0785506dcb8d266223983e4b5b525859e6e182b2" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -3802,22 +3904,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.84" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" +checksum = "f0eb82fcb7930ae6219a7ecfd55b217f5f0893484b7a13022ebb2b2bf20b5283" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.42", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.84" +version = "0.2.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" +checksum = "7ab9b36309365056cd639da3134bf87fa8f3d86008abf99e612384a6eecd459f" [[package]] name = "wayland-client" @@ -3906,9 +4008,19 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.61" +version = "0.3.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" +checksum = "50c24a44ec86bb68fbecd1b3efed7e85ea5621b39b35ef2766b66cd984f8010f" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "web-time" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57099a701fb3a8043f993e8228dc24229c7b942e2b009a1b962e54489ba1d3bf" dependencies = [ "js-sys", "wasm-bindgen", @@ -3979,13 +4091,13 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.44.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e745dab35a0c4c77aa3ce42d595e13d2003d6902d6b08c9ef5fc326d08da12b" +checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ "windows-implement", "windows-interface", - "windows-targets 0.42.2", + "windows-targets 0.48.5", ] [[package]] @@ -4009,9 +4121,9 @@ dependencies = [ [[package]] name = "windows-implement" -version = "0.44.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ce87ca8e3417b02dc2a8a22769306658670ec92d78f1bd420d6310a67c245c6" +checksum = "5e2ee588991b9e7e6c8338edf3333fbe4da35dc72092643958ebb43f0ab2c49c" dependencies = [ "proc-macro2", "quote", @@ -4020,9 +4132,9 @@ dependencies = [ [[package]] name = "windows-interface" -version = "0.44.0" +version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "853f69a591ecd4f810d29f17e902d40e349fb05b0b11fff63b08b826bfe39c7f" +checksum = "e6fb8df20c9bcaa8ad6ab513f7b40104840c8867d5751126e4df3b08388d0cc7" dependencies = [ "proc-macro2", "quote", @@ -4264,9 +4376,9 @@ dependencies = [ [[package]] name = "winnow" -version = "0.5.28" +version = "0.5.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c830786f7720c2fd27a1a0e27a709dbd3c4d009b56d098fc742d4f4eab91fe2" +checksum = "9b5c3db89721d50d0e2a673f5043fc4722f76dcc352d7b1ab8b8288bed4ed2c5" dependencies = [ "memchr", ] @@ -4394,22 +4506,22 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.30" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7" +checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.30" +version = "0.7.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba" +checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", "quote", - "syn 2.0.40", + "syn 2.0.42", ] [[package]] diff --git a/rog-aura/data/aura_support.ron b/rog-aura/data/aura_support.ron index 1adc30f6..1e06d065 100644 --- a/rog-aura/data/aura_support.ron +++ b/rog-aura/data/aura_support.ron @@ -401,7 +401,7 @@ ), ( board_name: "G834JZ", - layout_name: "G834JZ", + layout_name: "g814ji-per-key", basic_modes: [Static, Breathe, Strobe, Rainbow, Star, Rain, Highlight, Laser, Ripple, Pulse, Comet, Flash], basic_zones: [], advanced_type: PerKey, diff --git a/rog-control-center/Cargo.toml b/rog-control-center/Cargo.toml index af91e38a..a5d2273a 100644 --- a/rog-control-center/Cargo.toml +++ b/rog-control-center/Cargo.toml @@ -10,8 +10,9 @@ edition = "2021" #mocking = [] [dependencies] -egui = { git = "https://github.com/emilk/egui", rev = "b8e798777de519de3a1878798097ab2ab0bd4def"} -eframe = { git = "https://github.com/emilk/egui", rev = "b8e798777de519de3a1878798097ab2ab0bd4def"} +egui = "0.24.1" +eframe = "0.24.1" +egui_plot = "0.24.1" # egui = { path = "../../egui/crates/egui" } # eframe = { path = "../../egui/crates/eframe" } diff --git a/rog-control-center/src/main.rs b/rog-control-center/src/main.rs index 30f0098d..bff5fdda 100644 --- a/rog-control-center/src/main.rs +++ b/rog-control-center/src/main.rs @@ -6,9 +6,9 @@ use std::sync::{Arc, Mutex}; use std::thread; use std::time::Duration; -use eframe::IconData; +use eframe::HardwareAcceleration; use gumdrop::Options; -use log::{debug, error, info, warn, LevelFilter}; +use log::{debug, error, warn, LevelFilter}; use rog_aura::aura_detection::{LaptopLedData, LedSupportFile}; use rog_aura::layouts::KeyLayout; use rog_control_center::cli_options::CliStart; @@ -29,7 +29,8 @@ const DATA_DIR: &str = "/usr/share/rog-gui/"; #[cfg(feature = "mocking")] const DATA_DIR: &str = env!("CARGO_MANIFEST_DIR"); const BOARD_NAME: &str = "/sys/class/dmi/id/board_name"; -const APP_ICON_PATH: &str = "/usr/share/icons/hicolor/512x512/apps/rog-control-center.png"; +// const APP_ICON_PATH: &str = +// "/usr/share/icons/hicolor/512x512/apps/rog-control-center.png"; fn main() -> Result<()> { let args: Vec = args().skip(1).collect(); @@ -60,12 +61,10 @@ fn main() -> Result<()> { let native_options = eframe::NativeOptions { vsync: true, - decorated: true, - transparent: false, - min_window_size: Some(egui::vec2(960.0, 670.0)), - max_window_size: Some(egui::vec2(960.0, 670.0)), + hardware_acceleration: HardwareAcceleration::Preferred, + // min_window_size: Some(egui::vec2(960.0, 670.0)), + // max_window_size: Some(egui::vec2(960.0, 670.0)), run_and_return: true, - icon_data: Some(load_icon()), ..Default::default() }; @@ -263,37 +262,38 @@ fn setup_page_state_and_notifs( } /// Bah.. the icon dosn't work on wayland anyway, but we'll leave it in for now. -fn load_icon() -> IconData { - let path = PathBuf::from(APP_ICON_PATH); - let mut rgba = Vec::new(); - let mut height = 512; - let mut width = 512; - if path.exists() { - if let Ok(data) = std::fs::read(path) - .map_err(|e| error!("Error reading app icon: {e:?}")) - .map_err(|e| error!("Error opening app icon: {e:?}")) - { - let data = std::io::Cursor::new(data); - let decoder = png_pong::Decoder::new(data).unwrap().into_steps(); - let png_pong::Step { raster, delay: _ } = decoder.last().unwrap().unwrap(); +// fn load_icon() -> IconData { +// let path = PathBuf::from(APP_ICON_PATH); +// let mut rgba = Vec::new(); +// let mut height = 512; +// let mut width = 512; +// if path.exists() { +// if let Ok(data) = std::fs::read(path) +// .map_err(|e| error!("Error reading app icon: {e:?}")) +// .map_err(|e| error!("Error opening app icon: {e:?}")) +// { +// let data = std::io::Cursor::new(data); +// let decoder = png_pong::Decoder::new(data).unwrap().into_steps(); +// let png_pong::Step { raster, delay: _ } = +// decoder.last().unwrap().unwrap(); - if let png_pong::PngRaster::Rgba8(ras) = raster { - rgba = ras.as_u8_slice().to_vec(); - width = ras.width(); - height = ras.height(); - info!("Loaded app icon. Not actually supported in Wayland yet"); - } - } - } else { - error!("Missing {APP_ICON_PATH}"); - } +// if let png_pong::PngRaster::Rgba8(ras) = raster { +// rgba = ras.as_u8_slice().to_vec(); +// width = ras.width(); +// height = ras.height(); +// info!("Loaded app icon. Not actually supported in Wayland +// yet"); } +// } +// } else { +// error!("Missing {APP_ICON_PATH}"); +// } - IconData { - height, - width, - rgba, - } -} +// IconData { +// height, +// width, +// rgba, +// } +// } fn do_cli_help(parsed: &CliStart) -> bool { if parsed.help { diff --git a/rog-control-center/src/pages/fan_curve_page.rs b/rog-control-center/src/pages/fan_curve_page.rs index f483c246..64c76e1d 100644 --- a/rog-control-center/src/pages/fan_curve_page.rs +++ b/rog-control-center/src/pages/fan_curve_page.rs @@ -43,31 +43,6 @@ impl RogApp { ui.label(RichText::new(format!("{}", current)).strong()); }); - // ui.horizontal(|ui| { - // ui.label("Enabled fan-curves: "); - // let mut fan_curve_enable = |profile: Profile, fan: FanCurvePU, mut - // checked: bool| { if ui - // .add(egui::Checkbox::new(&mut checked, format!("{:?}", fan))) - // .changed() - // { - // dbus.proxies() - // .profile() - // .set_fan_curves_enabled(profile, checked) - // .map_err(|err| { - // *do_error = Some(err.to_string()); - // }) - // .ok(); - // changed = true; - // } - // }; - - // if let Some(curves) = curves.curves.get_mut(¤t) { - // for curve in curves.iter_mut() { - // fan_curve_enable(current, curve.fan, curve.enabled); - // } - // } - // }); - ui.horizontal(|ui| { ui.label("Enabled fan-curves: "); let mut checked = false; diff --git a/rog-control-center/src/startup_error.rs b/rog-control-center/src/startup_error.rs index c1a6a822..2b50de33 100644 --- a/rog-control-center/src/startup_error.rs +++ b/rog-control-center/src/startup_error.rs @@ -1,4 +1,4 @@ -use egui::{Button, RichText}; +use egui::RichText; pub struct AppErrorShow { error: String, @@ -11,7 +11,7 @@ impl AppErrorShow { } impl eframe::App for AppErrorShow { - fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) { + fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) { egui::CentralPanel::default().show(ctx, |ui| { ui.heading("ROG ERROR"); @@ -19,18 +19,20 @@ impl eframe::App for AppErrorShow { ui.label(RichText::new(format!("The error was: {:?}", self.error)).size(22.0)); }); - egui::TopBottomPanel::bottom("error_bar_2") - .default_height(26.0) - .show(ctx, |ui| { - ui.with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| { - if ui - .add(Button::new(RichText::new("Okay").size(20.0))) - .clicked() - { - frame.close(); - } - }); - }); + // egui::TopBottomPanel::bottom("error_bar_2") + // .default_height(26.0) + // .show(ctx, |ui| { + // ui. + // with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| { + // if ui + // .add(Button::new(RichText::new("Okay").size(20.0))) + // .clicked() + // { + // // frame.close(); + // // ui.close_menu(); + // } + // }); + // }); }); } } diff --git a/rog-control-center/src/system_state.rs b/rog-control-center/src/system_state.rs index 3cf597ec..5ca3d104 100644 --- a/rog-control-center/src/system_state.rs +++ b/rog-control-center/src/system_state.rs @@ -80,20 +80,21 @@ impl FanCurvesState { PlatformPolicy::Performance, ]; + let mut available_fans = HashSet::new(); let mut curves: BTreeMap> = BTreeMap::new(); for p in &profiles { if let Ok(curve) = dbus.proxies().fan_curves().fan_curve_data(*p) { + if available_fans.is_empty() { + for fan in &curve { + available_fans.insert(fan.fan); + } + } curves.insert(*p, curve); } else { curves.insert(*p, Default::default()); } } - let available_fans = HashSet::new(); - // for fan in supported.platform_profile.fans.iter() { - // available_fans.insert(*fan); - // } - let show_curve = dbus.proxies().platform().throttle_thermal_policy()?; Ok(Self { diff --git a/rog-control-center/src/widgets/fan_graph.rs b/rog-control-center/src/widgets/fan_graph.rs index 5b5bc342..85e0249e 100644 --- a/rog-control-center/src/widgets/fan_graph.rs +++ b/rog-control-center/src/widgets/fan_graph.rs @@ -1,5 +1,5 @@ -use egui::plot::Points; use egui::Ui; +use egui_plot::Points; use rog_platform::platform::PlatformPolicy; use rog_profiles::fan_curve_set::CurveData; use rog_profiles::FanCurvePU; @@ -60,7 +60,7 @@ pub fn fan_graphs( let curve = curves.curves.get_mut(&curves.show_curve).unwrap(); - use egui::plot::{Line, Plot}; + use egui_plot::{Line, Plot}; let mut data = &mut CurveData::default(); for c in curve { @@ -116,8 +116,8 @@ pub fn fan_graphs( .allow_scroll(false) .allow_drag(false) .allow_boxed_zoom(false) - .x_axis_formatter(|d, _r| format!("{}", d)) - .y_axis_formatter(|d, _r| format!("{:.*}%", 1, d)) + // .x_axis_formatter(|d, _r| format!("{}", d)) + // .y_axis_formatter(|d, _r| format!("{:.*}%", 1, d)) .label_formatter(|name, value| { if !name.is_empty() { format!("{}: {:.*}%", name, 1, value.y) @@ -126,7 +126,7 @@ pub fn fan_graphs( } }) .show(ui, |plot_ui| { - if plot_ui.plot_hovered() { + if plot_ui.response().hovered() { let mut idx = 0; if let Some(point) = plot_ui.pointer_coordinate() { @@ -139,7 +139,7 @@ pub fn fan_graphs( } } - if plot_ui.plot_clicked() { + if plot_ui.response().clicked() { data.temp[idx] = point.x as u8; data.pwm[idx] = (point.y * 255.0 / 100.0) as u8; } else { diff --git a/rog-control-center/src/widgets/top_bar.rs b/rog-control-center/src/widgets/top_bar.rs index d845ba46..106f6277 100644 --- a/rog-control-center/src/widgets/top_bar.rs +++ b/rog-control-center/src/widgets/top_bar.rs @@ -1,4 +1,4 @@ -use egui::{vec2, Align2, FontId, Id, Sense}; +use egui::{vec2, Align2, FontId}; use crate::system_state::SystemState; use crate::{RogApp, VERSION}; @@ -6,9 +6,9 @@ use crate::{RogApp, VERSION}; impl RogApp { pub fn top_bar( &mut self, - states: &mut SystemState, + _states: &mut SystemState, ctx: &egui::Context, - frame: &mut eframe::Frame, + _frame: &mut eframe::Frame, ) { egui::TopBottomPanel::top("top_panel").show(ctx, |ui| { // The top panel is often a good place for a menu bar: @@ -16,22 +16,18 @@ impl RogApp { ui.horizontal(|ui| { self.dark_light_mode_buttons(ui); egui::warn_if_debug_build(ui); - if ui.button("Quit app").clicked() { - states.run_in_bg = false; - frame.close(); - } }); // Drag area let text_color = ctx.style().visuals.text_color(); let mut titlebar_rect = ui.available_rect_before_wrap(); titlebar_rect.max.x -= titlebar_rect.height(); - if ui - .interact(titlebar_rect, Id::new("title_bar"), Sense::drag()) - .drag_started() - { - frame.drag_window(); - } + // if ui + // .interact(titlebar_rect, Id::new("title_bar"), Sense::drag()) + // .drag_started() + // { + // frame.drag_window(); + // } let height = titlebar_rect.height();