Compare commits

...

6 Commits

Author SHA1 Message Date
Luke D. Jones ce870cd5ed Revert egui update due to a lot of issues arising from window closing 2023-12-27 10:13:26 +13:00
Luke D. Jones 4541d2e1ba Update dbus introspection 2023-12-26 11:56:47 +13:00
Luke D. Jones b525411fd3 Minor fixes in asusctl 2023-12-25 21:24:05 +13:00
Luke D. Jones a867496f13 Re-enable ROGCC fan curves 2023-12-24 10:30:33 +13:00
Luke D. Jones f421b8ee3b Fix to apply led effect in rogcc 2023-12-23 21:45:19 +13:00
Luke D. Jones 82780feb4b Update readme 2023-12-23 10:37:46 +13:00
22 changed files with 236 additions and 266 deletions
+13
View File
@@ -6,6 +6,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [v5.0.6]
- Revert egui update due to a lot of issues arising from window closing.
## [v5.0.5]
- Resync. A release was made that was missing some commits.
## [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] ## [v5.0.3]
### Changed ### Changed
- Fix and error in platform ppt value gets - Fix and error in platform ppt value gets
Generated
+92 -101
View File
@@ -164,9 +164,9 @@ dependencies = [
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.75" version = "1.0.76"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a4668cab20f66d8d020e1fbc0ebe47217433c1b6c8f2040faf858554e394ace6" checksum = "59d2a3357dde987206219e78ecfbbb6e8dad06cbb65292758d3270e6254f7355"
[[package]] [[package]]
name = "arboard" name = "arboard"
@@ -199,7 +199,7 @@ checksum = "96d30a06541fbafbc7f82ed10c06164cfbd2c401138f6addd8404629c4b16711"
[[package]] [[package]]
name = "asusctl" name = "asusctl"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"asusd", "asusd",
"cargo-husky", "cargo-husky",
@@ -218,7 +218,7 @@ dependencies = [
[[package]] [[package]]
name = "asusd" name = "asusd"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"async-trait", "async-trait",
"cargo-husky", "cargo-husky",
@@ -226,7 +226,7 @@ dependencies = [
"config-traits", "config-traits",
"dmi_id", "dmi_id",
"env_logger", "env_logger",
"futures-lite 1.13.0", "futures-lite 2.1.0",
"log", "log",
"logind-zbus", "logind-zbus",
"rog_anime", "rog_anime",
@@ -243,7 +243,7 @@ dependencies = [
[[package]] [[package]]
name = "asusd-user" name = "asusd-user"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"cargo-husky", "cargo-husky",
"config-traits", "config-traits",
@@ -289,7 +289,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c" checksum = "1ca33f4bc4ed1babef42cad36cc1f51fa88be00420404e5b1e80ab1b18f7678c"
dependencies = [ dependencies = [
"concurrent-queue", "concurrent-queue",
"event-listener 4.0.0", "event-listener 4.0.1",
"event-listener-strategy", "event-listener-strategy",
"futures-core", "futures-core",
"pin-project-lite", "pin-project-lite",
@@ -375,7 +375,7 @@ version = "3.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c" checksum = "7125e42787d53db9dd54261812ef17e937c95a51e4d291373b670342fa44310c"
dependencies = [ dependencies = [
"event-listener 4.0.0", "event-listener 4.0.1",
"event-listener-strategy", "event-listener-strategy",
"pin-project-lite", "pin-project-lite",
] ]
@@ -416,7 +416,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
@@ -439,19 +439,19 @@ dependencies = [
[[package]] [[package]]
name = "async-task" name = "async-task"
version = "4.5.0" version = "4.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4eb2cdb97421e01129ccb49169d8279ed21e829929144f4a22a6e54ac549ca1" checksum = "e1d90cd0b264dfdd8eb5bad0a2c217c1f88fa96a8573f40e7b12de23fb468f46"
[[package]] [[package]]
name = "async-trait" name = "async-trait"
version = "0.1.74" version = "0.1.75"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a66537f1bb974b254c98ed142ff995236e81b9d0fe4db0575f46612cb15eb0f9" checksum = "fdf6721fb0140e4f897002dd086c06f6c27775df19cfe1fccb21181a48fd2c98"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
@@ -567,7 +567,7 @@ dependencies = [
"regex", "regex",
"rustc-hash", "rustc-hash",
"shlex", "shlex",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
@@ -658,7 +658,7 @@ checksum = "965ab7eb5f8f97d2a083c799f3a1b994fc397b2fe2da5d1da1626ce15a39f2b1"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
@@ -832,7 +832,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f76990911f2267d837d9d0ad060aa63aaad170af40904b29461734c339030d4d" checksum = "f76990911f2267d837d9d0ad060aa63aaad170af40904b29461734c339030d4d"
dependencies = [ dependencies = [
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
@@ -846,7 +846,7 @@ dependencies = [
[[package]] [[package]]
name = "config-traits" name = "config-traits"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"cargo-husky", "cargo-husky",
"log", "log",
@@ -899,7 +899,7 @@ dependencies = [
[[package]] [[package]]
name = "cpuctl" name = "cpuctl"
version = "5.0.3" version = "5.0.6"
[[package]] [[package]]
name = "cpufeatures" name = "cpufeatures"
@@ -921,9 +921,9 @@ dependencies = [
[[package]] [[package]]
name = "crossbeam-utils" name = "crossbeam-utils"
version = "0.8.16" version = "0.8.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294" checksum = "c3a430a770ebd84726f584a90ee7f020d28db52c6d02138900f22341f866d39c"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
] ]
@@ -1021,12 +1021,12 @@ version = "0.5.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412" checksum = "330c60081dcc4c72131f8eb70510f1ac07223e5d4163db481a04a0befcffa412"
dependencies = [ dependencies = [
"libloading 0.8.1", "libloading",
] ]
[[package]] [[package]]
name = "dmi_id" name = "dmi_id"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"log", "log",
"udev", "udev",
@@ -1165,7 +1165,7 @@ checksum = "f95e2801cd355d4a1a3e3953ce6ee5ae9603a5c833455343a8bfe3f44d418246"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
@@ -1242,9 +1242,9 @@ dependencies = [
[[package]] [[package]]
name = "event-listener" name = "event-listener"
version = "4.0.0" version = "4.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "770d968249b5d99410d61f5bf89057f3199a077a04d087092f58e7d10692baae" checksum = "84f2cdcf274580f2d63697192d744727b3198894b1bf02923643bf59e2c26712"
dependencies = [ dependencies = [
"concurrent-queue", "concurrent-queue",
"parking", "parking",
@@ -1257,7 +1257,7 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3"
dependencies = [ dependencies = [
"event-listener 4.0.0", "event-listener 4.0.1",
"pin-project-lite", "pin-project-lite",
] ]
@@ -1278,9 +1278,9 @@ checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
[[package]] [[package]]
name = "fdeflate" name = "fdeflate"
version = "0.3.1" version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64d6dafc854908ff5da46ff3f8f473c6984119a2876a383a860246dd7841a868" checksum = "7caf4086251adeba90011a7ff9bd1f6d7f7595be0871867daa4dbb0fcf2ca932"
dependencies = [ dependencies = [
"simd-adler32", "simd-adler32",
] ]
@@ -1340,24 +1340,24 @@ dependencies = [
[[package]] [[package]]
name = "futures-channel" name = "futures-channel"
version = "0.3.29" version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff4dd66668b557604244583e3e1e1eada8c5c2e96a6d0d6653ede395b78bbacb" checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
dependencies = [ dependencies = [
"futures-core", "futures-core",
] ]
[[package]] [[package]]
name = "futures-core" name = "futures-core"
version = "0.3.29" version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb1d22c66e66d9d72e1758f0bd7d4fd0bee04cad842ee34587d68c07e45d088c" checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
[[package]] [[package]]
name = "futures-executor" name = "futures-executor"
version = "0.3.29" version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f4fb8693db0cf099eadcca0efe2a5a22e4550f98ed16aba6c48700da29597bc" checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-task", "futures-task",
@@ -1366,9 +1366,9 @@ dependencies = [
[[package]] [[package]]
name = "futures-io" name = "futures-io"
version = "0.3.29" version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bf34a163b5c4c52d0478a4d757da8fb65cabef42ba90515efee0f6f9fa45aaa" checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1"
[[package]] [[package]]
name = "futures-lite" name = "futures-lite"
@@ -1400,32 +1400,32 @@ dependencies = [
[[package]] [[package]]
name = "futures-macro" name = "futures-macro"
version = "0.3.29" version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53b153fd91e4b0147f4aced87be237c98248656bb01050b96bf3ee89220a8ddb" checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
name = "futures-sink" name = "futures-sink"
version = "0.3.29" version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e36d3378ee38c2a36ad710c5d30c2911d752cb941c00c72dbabfb786a7970817" checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
[[package]] [[package]]
name = "futures-task" name = "futures-task"
version = "0.3.29" version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "efd193069b0ddadc69c46389b740bbccdd97203899b48d09c5f7969591d6bae2" checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
[[package]] [[package]]
name = "futures-util" name = "futures-util"
version = "0.3.29" version = "0.3.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a19526d624e703a3179b3d322efec918b6246ea0fa51d41124525f00f1cc8104" checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
dependencies = [ dependencies = [
"futures-core", "futures-core",
"futures-io", "futures-io",
@@ -1676,7 +1676,7 @@ dependencies = [
"glutin_egl_sys", "glutin_egl_sys",
"glutin_glx_sys", "glutin_glx_sys",
"glutin_wgl_sys", "glutin_wgl_sys",
"libloading 0.7.4", "libloading",
"objc2", "objc2",
"once_cell", "once_cell",
"raw-window-handle", "raw-window-handle",
@@ -1838,11 +1838,11 @@ checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
[[package]] [[package]]
name = "home" name = "home"
version = "0.5.5" version = "0.5.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5444c27eef6923071f7ebcc33e3444508466a76f7a2b93da00ed6e19f30c1ddb" checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
dependencies = [ dependencies = [
"windows-sys 0.48.0", "windows-sys 0.52.0",
] ]
[[package]] [[package]]
@@ -2043,7 +2043,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "08fcb2bea89cee9613982501ec83eaa2d09256b24540ae463c52a28906163918" checksum = "08fcb2bea89cee9613982501ec83eaa2d09256b24540ae463c52a28906163918"
dependencies = [ dependencies = [
"gtk-sys", "gtk-sys",
"libloading 0.7.4", "libloading",
"once_cell", "once_cell",
] ]
@@ -2063,16 +2063,6 @@ dependencies = [
"winapi", "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]] [[package]]
name = "libredox" name = "libredox"
version = "0.0.1" version = "0.0.1"
@@ -2415,7 +2405,7 @@ dependencies = [
"proc-macro-crate", "proc-macro-crate",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
@@ -2475,9 +2465,9 @@ dependencies = [
[[package]] [[package]]
name = "object" name = "object"
version = "0.32.1" version = "0.32.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cf5f9dd3933bd50a9e1f149ec995f39ae2c496d31fd772c1fd45ebc27e902b0" checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
@@ -2620,9 +2610,9 @@ checksum = "5de5067af0cd27add969cdb4ef2eecc955f59235f3b7a75a3c6ac9562cfb6b81"
[[package]] [[package]]
name = "pkg-config" name = "pkg-config"
version = "0.3.27" version = "0.3.28"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" checksum = "69d3587f8a9e599cc7ec2c00e331f71c4e69a5f9a4b8a6efd5b07466b9736f9a"
[[package]] [[package]]
name = "png" name = "png"
@@ -2725,9 +2715,9 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.70" version = "1.0.71"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "39278fbbf5fb4f646ce651690877f89d1c5811a3d4acb27700c1cb3cdb78fd3b" checksum = "75cb1540fadbd5b8fbccc4dddad2734eba435053f725621c070711a14bb5f4b8"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
@@ -2846,7 +2836,7 @@ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
[[package]] [[package]]
name = "rog-control-center" name = "rog-control-center"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"asusd", "asusd",
"cargo-husky", "cargo-husky",
@@ -2879,7 +2869,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_anime" name = "rog_anime"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"cargo-husky", "cargo-husky",
"dmi_id", "dmi_id",
@@ -2896,7 +2886,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_aura" name = "rog_aura"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"cargo-husky", "cargo-husky",
"dmi_id", "dmi_id",
@@ -2910,7 +2900,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_dbus" name = "rog_dbus"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"asusd", "asusd",
"cargo-husky", "cargo-husky",
@@ -2923,7 +2913,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_platform" name = "rog_platform"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"cargo-husky", "cargo-husky",
"concat-idents", "concat-idents",
@@ -2940,7 +2930,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_profiles" name = "rog_profiles"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"cargo-husky", "cargo-husky",
"log", "log",
@@ -2954,7 +2944,7 @@ dependencies = [
[[package]] [[package]]
name = "rog_simulators" name = "rog_simulators"
version = "5.0.3" version = "5.0.6"
dependencies = [ dependencies = [
"glam", "glam",
"log", "log",
@@ -3119,7 +3109,7 @@ checksum = "43576ca501357b9b071ac53cdc7da8ef0cbd9493d8df094cd821777ea6e894d3"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
@@ -3141,14 +3131,14 @@ checksum = "3081f5ffbb02284dda55132aa26daecedd7372a42417bbbab6f14ab7d6bb9145"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
name = "serde_spanned" name = "serde_spanned"
version = "0.6.4" version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80" checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1"
dependencies = [ dependencies = [
"serde", "serde",
] ]
@@ -3321,9 +3311,9 @@ dependencies = [
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.40" version = "2.0.43"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13fa70a4ee923979ffb522cacce59d34421ebdea5625e1073c4326ef9d2dd42e" checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@@ -3393,29 +3383,29 @@ dependencies = [
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "1.0.50" version = "1.0.52"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2" checksum = "83a48fd946b02c0a526b2e9481c8e2a17755e47039164a86c4070446e3a4614d"
dependencies = [ dependencies = [
"thiserror-impl", "thiserror-impl",
] ]
[[package]] [[package]]
name = "thiserror-impl" name = "thiserror-impl"
version = "1.0.50" version = "1.0.52"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8" checksum = "e7fbe9b594d6568a6a1443250a7e67d80b74e1e96f6d1715e1e21cc1888291d3"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
name = "time" name = "time"
version = "0.3.30" version = "0.3.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
dependencies = [ dependencies = [
"deranged", "deranged",
"powerfmt", "powerfmt",
@@ -3480,9 +3470,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]] [[package]]
name = "tokio" name = "tokio"
version = "1.35.0" version = "1.35.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "841d45b238a16291a4e1584e61820b8ae57d696cc5015c459c229ccc6990cc1c" checksum = "c89b4efa943be685f629b149f53829423f8f5531ea21249408e8e2f8671ec104"
dependencies = [ dependencies = [
"backtrace", "backtrace",
"libc", "libc",
@@ -3502,7 +3492,7 @@ checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
@@ -3578,7 +3568,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
@@ -3637,10 +3627,11 @@ dependencies = [
[[package]] [[package]]
name = "uds_windows" name = "uds_windows"
version = "1.0.2" version = "1.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ce65604324d3cce9b966701489fbd0cf318cb1f7bd9dd07ac9a4ee6fb791930d" checksum = "89daebc3e6fd160ac4aa9fc8b3bf71e1f74fbf92367ae71fb83a037e8bf164b9"
dependencies = [ dependencies = [
"memoffset 0.9.0",
"tempfile", "tempfile",
"winapi", "winapi",
] ]
@@ -4264,9 +4255,9 @@ dependencies = [
[[package]] [[package]]
name = "winnow" name = "winnow"
version = "0.5.28" version = "0.5.30"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c830786f7720c2fd27a1a0e27a709dbd3c4d009b56d098fc742d4f4eab91fe2" checksum = "9b5c3db89721d50d0e2a673f5043fc4722f76dcc352d7b1ab8b8288bed4ed2c5"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
@@ -4394,22 +4385,22 @@ dependencies = [
[[package]] [[package]]
name = "zerocopy" name = "zerocopy"
version = "0.7.30" version = "0.7.32"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "306dca4455518f1f31635ec308b6b3e4eb1b11758cefafc782827d0aa7acb5c7" checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
dependencies = [ dependencies = [
"zerocopy-derive", "zerocopy-derive",
] ]
[[package]] [[package]]
name = "zerocopy-derive" name = "zerocopy-derive"
version = "0.7.30" version = "0.7.32"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be912bf68235a88fbefd1b73415cb218405958d1655b2ece9035a19920bdf6ba" checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn 2.0.40", "syn 2.0.43",
] ]
[[package]] [[package]]
+1 -1
View File
@@ -4,7 +4,7 @@ default-members = ["asusctl", "asusd", "asusd-user", "cpuctl", "rog-control-cent
resolver = "2" resolver = "2"
[workspace.package] [workspace.package]
version = "5.0.3" version = "5.0.6"
[workspace.dependencies] [workspace.dependencies]
async-trait = "^0.1" async-trait = "^0.1"
+16 -12
View File
@@ -2,7 +2,7 @@
[Become a Patron!](https://www.patreon.com/bePatron?u=7602281) - [Asus Linux Website](https://asus-linux.org/) [Become a Patron!](https://www.patreon.com/bePatron?u=7602281) - [Asus Linux Website](https://asus-linux.org/)
**WARNING:** Many features are developed in tandem with kernel patches. If you see a feature is missing you either need a patched kernel, or v6.1 which has all my work merged upstream. **WARNING:** Many features are developed in tandem with kernel patches. If you see a feature is missing you either need a patched kernel or latest release.
`asusd` is a utility for Linux to control many aspects of various ASUS laptops `asusd` is a utility for Linux to control many aspects of various ASUS laptops
but can also be used with non-asus laptops with reduced features. but can also be used with non-asus laptops with reduced features.
@@ -11,23 +11,23 @@ Now includes a GUI, `rog-control-center`.
## Kernel support ## Kernel support
**The minimum supported kernel version is 5.17** **The minimum supported kernel version is 6.6**
**For TUF laptops, the minimum supported kernel version is 6.1**
## Goals ## Goals
1. To provide an interface for rootless control of some system functions most users wish to control such as fan speeds, keyboard LEDs, graphics modes. The main goal of this work is to provide a safe and easy to use abstraction over various laptop features via DBUS, and to provide some helpful defaults and other behaviour such as toggling throttle/profile on AC/battery change.
2. Enable third-party apps to use the above with dbus methods
3. To make the above as easy as possible for new users
4. Respect the users resources: be small, light, and fast
Point 3 means that the list of supported distros is very narrow - fedora is explicitly 1. Provide safe dbus interface
supported. All other distros are *not* supported (while asusd might still run fine on them). 2. Respect the users resources: be small, light, and fast
For best support use fedora 36+ Workstation.
Point 4? asusd currently uses a tiny fraction of cpu time, and less than 1Mb of ram, the way Point 4? asusd currently uses a tiny fraction of cpu time, and less than 1Mb of ram, the way
a system-level daemon should. a system-level daemon should. Languages such as JS and python should never be used for system level daemons (please stop).
## Keyboard LEDs
The level of support for laptops is dependent on folks submitting data to include in [`./rog-aura/data/layouts/aura_support.ron`](./rog-aura/data/layouts/aura_support.ron), typically installed in `/usr/share/asusd/aura_support.ron`. This is because the controller used for keyboards and LEDs is used across many years and many laptop models, all with different firmware configurations - the only way to track this is with the file mentioned above. Why not just enable all by default? Because it confuses people.
See the [rog-aura readme](./rog-aura/README.md) for more details.
## Discord ## Discord
@@ -41,6 +41,10 @@ to this:
``` ```
Bus 001 Device 002: ID 0b05:1866 ASUSTek Computer, Inc. N-KEY Device Bus 001 Device 002: ID 0b05:1866 ASUSTek Computer, Inc. N-KEY Device
``` ```
or
```
Bus 003 Device 002: ID 0b05:19b6 ASUSTek Computer, Inc. [unknown]
```
then it may work without tweaks. Technically all other functions except the LED then it may work without tweaks. Technically all other functions except the LED
and AniMe parts should work regardless of your latop make. and AniMe parts should work regardless of your latop make.
+2 -2
View File
@@ -132,9 +132,9 @@ fn do_parsed(
println!("{}", CliStart::usage()); println!("{}", CliStart::usage());
println!(); println!();
if let Some(cmdlist) = CliStart::command_list() { if let Some(cmdlist) = CliStart::command_list() {
let dev_type = dbus.proxies().aura().device_type()?;
let commands: Vec<String> = cmdlist.lines().map(|s| s.to_owned()).collect(); let commands: Vec<String> = cmdlist.lines().map(|s| s.to_owned()).collect();
for command in commands.iter().filter(|command| { for command in commands.iter().filter(|command| {
let dev_type = dbus.proxies().aura().device_type().unwrap();
if !dev_type.is_old_style() if !dev_type.is_old_style()
&& !dev_type.is_tuf_style() && !dev_type.is_tuf_style()
&& command.trim().starts_with("led-pow-1") && command.trim().starts_with("led-pow-1")
@@ -420,8 +420,8 @@ fn handle_led_mode(
if let Some(cmdlist) = LedModeCommand::command_list() { if let Some(cmdlist) = LedModeCommand::command_list() {
let commands: Vec<String> = cmdlist.lines().map(|s| s.to_owned()).collect(); let commands: Vec<String> = cmdlist.lines().map(|s| s.to_owned()).collect();
let modes = dbus.proxies().aura().supported_basic_modes()?;
for command in commands.iter().filter(|command| { for command in commands.iter().filter(|command| {
let modes = dbus.proxies().aura().supported_basic_modes().unwrap();
for mode in &modes { for mode in &modes {
if command if command
.trim() .trim()
+9 -7
View File
@@ -5,7 +5,7 @@
Get the data set for every mode available Get the data set for every mode available
--> -->
<method name="AllModeData"> <method name="AllModeData">
<arg type="a{u(us(yyy)(yyy)ss)}" direction="out"/> <arg type="a{u(uu(yyy)(yyy)ss)}" direction="out"/>
</method> </method>
<!-- <!--
On machine that have some form of either per-key keyboard or per-zone On machine that have some form of either per-key keyboard or per-zone
@@ -45,21 +45,23 @@
On success the aura config file is read to refresh cached values, then On success the aura config file is read to refresh cached values, then
the effect is stored and config written to disk. the effect is stored and config written to disk.
--> -->
<property name="LedModeData" type="(us(yyy)(yyy)ss)" access="readwrite"/> <property name="LedModeData" type="(uu(yyy)(yyy)ss)" access="readwrite"/>
<!-- <!--
Set a variety of states, input is array of enum. Set a variety of states, input is array of enum.
`enabled` sets if the sent array should be disabled or enabled `enabled` sets if the sent array should be disabled or enabled
For Modern ROG devices the "enabled" flag is ignored. For Modern ROG devices the "enabled" flag is ignored.
--> -->
<property name="LedPower" type="(asas((sbbbb)(sbbbb)(sbbbb)(sbbbb)(sbbbb)))" access="readwrite"/> <property name="LedPower" type="(ayay((ubbbb)(ubbbb)(ubbbb)(ubbbb)(ubbbb)))" access="readwrite"/>
<!--
The total available modes
-->
<property name="SupportedBasicModes" type="au" access="read"/>
<property name="SupportedBasicZones" type="au" access="read"/>
<!-- <!--
Total levels of brightness available Total levels of brightness available
--> -->
<property name="SupportedBrightness" type="au" access="read"/> <property name="SupportedBrightness" type="au" access="read"/>
<!-- <property name="SupportedPowerZones" type="au" access="read"/>
The total available modes
-->
<property name="SupportedModes" type="au" access="read"/>
</interface> </interface>
</node> </node>
+15
View File
@@ -2,6 +2,20 @@
Generated by typeshare 1.7.0 Generated by typeshare 1.7.0
*/ */
export enum CPUGovernor {
Performance = "Performance",
Powersave = "Powersave",
BadValue = "BadValue",
}
export enum CPUEPP {
Default = "Default",
Performance = "Performance",
BalancePerformance = "BalancePerformance",
BalancePower = "BalancePower",
Power = "Power",
}
export enum GpuMode { export enum GpuMode {
Discrete = "Discrete", Discrete = "Discrete",
Optimus = "Optimus", Optimus = "Optimus",
@@ -13,6 +27,7 @@ export enum GpuMode {
NotSupported = "NotSupported", NotSupported = "NotSupported",
} }
/** `throttle_thermal_policy` in asus_wmi */
export enum PlatformPolicy { export enum PlatformPolicy {
Balanced = "Balanced", Balanced = "Balanced",
Performance = "Performance", Performance = "Performance",
+8
View File
@@ -399,6 +399,14 @@
advanced_type: PerKey, advanced_type: PerKey,
power_zones: [Keyboard, Lightbar], power_zones: [Keyboard, Lightbar],
), ),
(
board_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,
power_zones: [Keyboard, Lightbar, Logo, RearGlow],
),
( (
board_name: "GA401Q", board_name: "GA401Q",
layout_name: "ga401q", layout_name: "ga401q",
+4 -2
View File
@@ -10,10 +10,12 @@ edition = "2021"
#mocking = [] #mocking = []
[dependencies] [dependencies]
# egui = "0.24.1"
# eframe = "0.24.1"
# egui_plot = "0.24.1"
# Stuck on this revision due to crash issues on app close
egui = { git = "https://github.com/emilk/egui", rev = "b8e798777de519de3a1878798097ab2ab0bd4def"} egui = { git = "https://github.com/emilk/egui", rev = "b8e798777de519de3a1878798097ab2ab0bd4def"}
eframe = { git = "https://github.com/emilk/egui", rev = "b8e798777de519de3a1878798097ab2ab0bd4def"} eframe = { git = "https://github.com/emilk/egui", rev = "b8e798777de519de3a1878798097ab2ab0bd4def"}
# egui = { path = "../../egui/crates/egui" }
# eframe = { path = "../../egui/crates/eframe" }
libappindicator = "0.8" # Tray icon libappindicator = "0.8" # Tray icon
gtk = "0.16" gtk = "0.16"
+2 -2
View File
@@ -107,7 +107,7 @@ impl eframe::App for RogApp {
/// Called each time the UI needs repainting, which may be many times per /// Called each time the UI needs repainting, which may be many times per
/// second. Put your widgets into a `SidePanel`, `TopPanel`, /// second. Put your widgets into a `SidePanel`, `TopPanel`,
/// `CentralPanel`, `Window` or `Area`. /// `CentralPanel`, `Window` or `Area`.
fn update(&mut self, ctx: &egui::Context, frame: &mut eframe::Frame) { fn update(&mut self, ctx: &eframe::egui::Context, frame: &mut eframe::Frame) {
let states = self.states.clone(); let states = self.states.clone();
if let Ok(mut states) = states.try_lock() { if let Ok(mut states) = states.try_lock() {
@@ -131,7 +131,7 @@ impl eframe::App for RogApp {
return; return;
} }
self.top_bar(&mut states, ctx, frame); self.top_bar(ctx, frame);
self.side_panel(ctx); self.side_panel(ctx);
} }
let page = self.page; let page = self.page;
+37 -37
View File
@@ -6,9 +6,9 @@ use std::sync::{Arc, Mutex};
use std::thread; use std::thread;
use std::time::Duration; use std::time::Duration;
use eframe::IconData; use eframe::HardwareAcceleration;
use gumdrop::Options; 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::aura_detection::{LaptopLedData, LedSupportFile};
use rog_aura::layouts::KeyLayout; use rog_aura::layouts::KeyLayout;
use rog_control_center::cli_options::CliStart; use rog_control_center::cli_options::CliStart;
@@ -29,7 +29,8 @@ const DATA_DIR: &str = "/usr/share/rog-gui/";
#[cfg(feature = "mocking")] #[cfg(feature = "mocking")]
const DATA_DIR: &str = env!("CARGO_MANIFEST_DIR"); const DATA_DIR: &str = env!("CARGO_MANIFEST_DIR");
const BOARD_NAME: &str = "/sys/class/dmi/id/board_name"; 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<()> { fn main() -> Result<()> {
let args: Vec<String> = args().skip(1).collect(); let args: Vec<String> = args().skip(1).collect();
@@ -60,12 +61,10 @@ fn main() -> Result<()> {
let native_options = eframe::NativeOptions { let native_options = eframe::NativeOptions {
vsync: true, vsync: true,
decorated: true, hardware_acceleration: HardwareAcceleration::Preferred,
transparent: false, // min_window_size: Some(egui::vec2(960.0, 670.0)),
min_window_size: Some(egui::vec2(960.0, 670.0)), // max_window_size: Some(egui::vec2(960.0, 670.0)),
max_window_size: Some(egui::vec2(960.0, 670.0)),
run_and_return: true, run_and_return: true,
icon_data: Some(load_icon()),
..Default::default() ..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. /// Bah.. the icon dosn't work on wayland anyway, but we'll leave it in for now.
fn load_icon() -> IconData { // fn load_icon() -> IconData {
let path = PathBuf::from(APP_ICON_PATH); // let path = PathBuf::from(APP_ICON_PATH);
let mut rgba = Vec::new(); // let mut rgba = Vec::new();
let mut height = 512; // let mut height = 512;
let mut width = 512; // let mut width = 512;
if path.exists() { // if path.exists() {
if let Ok(data) = std::fs::read(path) // if let Ok(data) = std::fs::read(path)
.map_err(|e| error!("Error reading app icon: {e:?}")) // .map_err(|e| error!("Error reading app icon: {e:?}"))
.map_err(|e| error!("Error opening app icon: {e:?}")) // .map_err(|e| error!("Error opening app icon: {e:?}"))
{ // {
let data = std::io::Cursor::new(data); // let data = std::io::Cursor::new(data);
let decoder = png_pong::Decoder::new(data).unwrap().into_steps(); // let decoder = png_pong::Decoder::new(data).unwrap().into_steps();
let png_pong::Step { raster, delay: _ } = decoder.last().unwrap().unwrap(); // let png_pong::Step { raster, delay: _ } =
// decoder.last().unwrap().unwrap();
if let png_pong::PngRaster::Rgba8(ras) = raster { // if let png_pong::PngRaster::Rgba8(ras) = raster {
rgba = ras.as_u8_slice().to_vec(); // rgba = ras.as_u8_slice().to_vec();
width = ras.width(); // width = ras.width();
height = ras.height(); // height = ras.height();
info!("Loaded app icon. Not actually supported in Wayland yet"); // info!("Loaded app icon. Not actually supported in Wayland
} // yet"); }
} // }
} else { // } else {
error!("Missing {APP_ICON_PATH}"); // error!("Missing {APP_ICON_PATH}");
} // }
IconData { // IconData {
height, // height,
width, // width,
rgba, // rgba,
} // }
} // }
fn do_cli_help(parsed: &CliStart) -> bool { fn do_cli_help(parsed: &CliStart) -> bool {
if parsed.help { if parsed.help {
+1 -1
View File
@@ -1,7 +1,7 @@
use crate::RogApp; use crate::RogApp;
impl RogApp { impl RogApp {
pub fn anime_page(&mut self, ctx: &egui::Context) { pub fn anime_page(&mut self, ctx: &eframe::egui::Context) {
egui::CentralPanel::default().show(ctx, |ui| { egui::CentralPanel::default().show(ctx, |ui| {
ui.label("In progress"); ui.label("In progress");
}); });
+1 -1
View File
@@ -3,7 +3,7 @@ use crate::widgets::app_settings;
use crate::RogApp; use crate::RogApp;
impl RogApp { impl RogApp {
pub fn app_settings_page(&mut self, states: &mut SystemState, ctx: &egui::Context) { pub fn app_settings_page(&mut self, states: &mut SystemState, ctx: &eframe::egui::Context) {
let Self { config, .. } = self; let Self { config, .. } = self;
egui::CentralPanel::default().show(ctx, |ui| { egui::CentralPanel::default().show(ctx, |ui| {
+1 -1
View File
@@ -9,7 +9,7 @@ use crate::widgets::{aura_modes_group, keyboard};
use crate::RogApp; use crate::RogApp;
impl RogApp { impl RogApp {
pub fn aura_page(&mut self, states: &mut SystemState, ctx: &egui::Context) { pub fn aura_page(&mut self, states: &mut SystemState, ctx: &eframe::egui::Context) {
let Self { let Self {
oscillator1, oscillator1,
oscillator2, oscillator2,
+1 -26
View File
@@ -6,7 +6,7 @@ use crate::widgets::fan_graphs;
use crate::{RogApp, RogDbusClientBlocking}; use crate::{RogApp, RogDbusClientBlocking};
impl RogApp { impl RogApp {
pub fn fan_curve_page(&mut self, states: &mut SystemState, ctx: &egui::Context) { pub fn fan_curve_page(&mut self, states: &mut SystemState, ctx: &eframe::egui::Context) {
if let Some(mut throttle) = states.bios.throttle { if let Some(mut throttle) = states.bios.throttle {
egui::CentralPanel::default().show(ctx, |ui| { egui::CentralPanel::default().show(ctx, |ui| {
ui.heading("Custom fan curves"); ui.heading("Custom fan curves");
@@ -43,31 +43,6 @@ impl RogApp {
ui.label(RichText::new(format!("{}", current)).strong()); 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(&current) {
// for curve in curves.iter_mut() {
// fan_curve_enable(current, curve.fan, curve.enabled);
// }
// }
// });
ui.horizontal(|ui| { ui.horizontal(|ui| {
ui.label("Enabled fan-curves: "); ui.label("Enabled fan-curves: ");
let mut checked = false; let mut checked = false;
+1 -1
View File
@@ -3,7 +3,7 @@ use crate::widgets::{anime_power_group, aura_power_group, platform_profile, rog_
use crate::RogApp; use crate::RogApp;
impl RogApp { impl RogApp {
pub fn system_page(&mut self, states: &mut SystemState, ctx: &egui::Context) { pub fn system_page(&mut self, states: &mut SystemState, ctx: &eframe::egui::Context) {
egui::CentralPanel::default().show(ctx, |ui| { egui::CentralPanel::default().show(ctx, |ui| {
ui.heading("Laptop settings"); ui.heading("Laptop settings");
+16 -14
View File
@@ -1,4 +1,4 @@
use egui::{Button, RichText}; use egui::RichText;
pub struct AppErrorShow { pub struct AppErrorShow {
error: String, error: String,
@@ -11,7 +11,7 @@ impl AppErrorShow {
} }
impl eframe::App for 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| { egui::CentralPanel::default().show(ctx, |ui| {
ui.heading("ROG ERROR"); 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)); ui.label(RichText::new(format!("The error was: {:?}", self.error)).size(22.0));
}); });
egui::TopBottomPanel::bottom("error_bar_2") // egui::TopBottomPanel::bottom("error_bar_2")
.default_height(26.0) // .default_height(26.0)
.show(ctx, |ui| { // .show(ctx, |ui| {
ui.with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| { // ui.
if ui // with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| {
.add(Button::new(RichText::new("Okay").size(20.0))) // if ui
.clicked() // .add(Button::new(RichText::new("Okay").size(20.0)))
{ // .clicked()
frame.close(); // {
} // // frame.close();
}); // // ui.close_menu();
}); // }
// });
// });
}); });
} }
} }
+6 -5
View File
@@ -80,20 +80,21 @@ impl FanCurvesState {
PlatformPolicy::Performance, PlatformPolicy::Performance,
]; ];
let mut available_fans = HashSet::new();
let mut curves: BTreeMap<PlatformPolicy, Vec<CurveData>> = BTreeMap::new(); let mut curves: BTreeMap<PlatformPolicy, Vec<CurveData>> = BTreeMap::new();
for p in &profiles { for p in &profiles {
if let Ok(curve) = dbus.proxies().fan_curves().fan_curve_data(*p) { 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); curves.insert(*p, curve);
} else { } else {
curves.insert(*p, Default::default()); 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()?; let show_curve = dbus.proxies().platform().throttle_thermal_policy()?;
Ok(Self { Ok(Self {
+1 -2
View File
@@ -224,12 +224,11 @@ pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc<AtomicU8>, ui:
if changed { if changed {
states.aura.current_mode = selected; states.aura.current_mode = selected;
states states
.asus_dbus .asus_dbus
.proxies() .proxies()
.aura() .aura()
.set_led_mode(states.aura.modes.get(&selected).unwrap().mode) .set_led_mode_data(states.aura.modes.get(&selected).unwrap().clone())
.map_err(|err| { .map_err(|err| {
states.error = Some(err.to_string()); states.error = Some(err.to_string());
}) })
+3 -5
View File
@@ -1,4 +1,4 @@
use egui::plot::Points; use egui::plot::{Line, Plot, Points};
use egui::Ui; use egui::Ui;
use rog_platform::platform::PlatformPolicy; use rog_platform::platform::PlatformPolicy;
use rog_profiles::fan_curve_set::CurveData; use rog_profiles::fan_curve_set::CurveData;
@@ -60,8 +60,6 @@ pub fn fan_graphs(
let curve = curves.curves.get_mut(&curves.show_curve).unwrap(); let curve = curves.curves.get_mut(&curves.show_curve).unwrap();
use egui::plot::{Line, Plot};
let mut data = &mut CurveData::default(); let mut data = &mut CurveData::default();
for c in curve { for c in curve {
if c.fan == curves.show_graph { if c.fan == curves.show_graph {
@@ -116,8 +114,8 @@ pub fn fan_graphs(
.allow_scroll(false) .allow_scroll(false)
.allow_drag(false) .allow_drag(false)
.allow_boxed_zoom(false) .allow_boxed_zoom(false)
.x_axis_formatter(|d, _r| format!("{}", d)) // .x_axis_formatter(|d, _r| format!("{}", d))
.y_axis_formatter(|d, _r| format!("{:.*}%", 1, d)) // .y_axis_formatter(|d, _r| format!("{:.*}%", 1, d))
.label_formatter(|name, value| { .label_formatter(|name, value| {
if !name.is_empty() { if !name.is_empty() {
format!("{}: {:.*}%", name, 1, value.y) format!("{}: {:.*}%", name, 1, value.y)
+1 -1
View File
@@ -1,7 +1,7 @@
use crate::{Page, RogApp}; use crate::{Page, RogApp};
impl RogApp { impl RogApp {
pub fn side_panel(&mut self, ctx: &egui::Context) { pub fn side_panel(&mut self, ctx: &eframe::egui::Context) {
egui::SidePanel::left("side_panel") egui::SidePanel::left("side_panel")
.resizable(false) .resizable(false)
.default_width(60.0) // TODO: set size to match icon buttons when done .default_width(60.0) // TODO: set size to match icon buttons when done
+5 -45
View File
@@ -1,25 +1,15 @@
use egui::{vec2, Align2, FontId, Id, Sense}; use egui::{vec2, Align2, FontId, Id, Sense};
use crate::system_state::SystemState;
use crate::{RogApp, VERSION}; use crate::{RogApp, VERSION};
impl RogApp { impl RogApp {
pub fn top_bar( pub fn top_bar(&mut self, ctx: &eframe::egui::Context, frame: &mut eframe::Frame) {
&mut self,
states: &mut SystemState,
ctx: &egui::Context,
frame: &mut eframe::Frame,
) {
egui::TopBottomPanel::top("top_panel").show(ctx, |ui| { egui::TopBottomPanel::top("top_panel").show(ctx, |ui| {
// The top panel is often a good place for a menu bar: // The top panel is often a good place for a menu bar:
egui::menu::bar(ui, |ui| { egui::menu::bar(ui, |ui| {
ui.horizontal(|ui| { ui.horizontal(|ui| {
self.dark_light_mode_buttons(ui); egui::global_dark_light_mode_buttons(ui);
egui::warn_if_debug_build(ui); egui::warn_if_debug_build(ui);
if ui.button("Quit app").clicked() {
states.run_in_bg = false;
frame.close();
}
}); });
// Drag area // Drag area
@@ -45,9 +35,9 @@ impl RogApp {
); );
// // Add the close button: // // Add the close button:
// let close_response = ui.put( // let close_response = ui.put(
// egui::Rect::from_min_size(titlebar_rect.right_top(), // Rect::from_min_size(titlebar_rect.right_top(),
// egui::Vec2::splat(height)), // Vec2::splat(height)),
// egui::Button::new(egui::RichText::new("❌").size(height - // Button::new(RichText::new("❌").size(height -
// 4.0)).frame(false), ); // 4.0)).frame(false), );
// if close_response.clicked() { // if close_response.clicked() {
// frame.close(); // frame.close();
@@ -55,34 +45,4 @@ impl RogApp {
}); });
}); });
} }
fn dark_light_mode_buttons(&mut self, ui: &mut egui::Ui) {
let load_from_cfg = self.config.dark_mode != ui.ctx().style().visuals.dark_mode;
if ui
.add(egui::SelectableLabel::new(
!self.config.dark_mode,
"☀ Light",
))
.clicked()
|| (load_from_cfg && !self.config.dark_mode)
{
ui.ctx().set_visuals(egui::Visuals::light());
}
if ui
.add(egui::SelectableLabel::new(self.config.dark_mode, "🌙 Dark"))
.clicked()
|| (load_from_cfg && self.config.dark_mode)
{
ui.ctx().set_visuals(egui::Visuals::dark());
}
let applied_dark_mode = ui.ctx().style().visuals.dark_mode;
if self.config.dark_mode != applied_dark_mode {
self.config.dark_mode = applied_dark_mode;
let tmp = self.config.enabled_notifications.clone();
self.config.save(&tmp).ok();
}
}
} }