mirror of
https://gitlab.com/asus-linux/asusctl.git
synced 2026-02-06 00:15:04 +01:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6f4a7e16dc | |||
| f64253d633 | |||
| 124c17aadc | |||
| ab40f9fcbf | |||
| 5cdfa5a8d4 | |||
| ce870cd5ed | |||
| 4541d2e1ba | |||
| b525411fd3 | |||
| a867496f13 |
@@ -0,0 +1,24 @@
|
|||||||
|
## Issue description
|
||||||
|
|
||||||
|
(Summarize the bug encountered)
|
||||||
|
|
||||||
|
## Steps to reproduce
|
||||||
|
|
||||||
|
(How can the issue be reproduced)
|
||||||
|
|
||||||
|
## What is the current bug behavior?
|
||||||
|
|
||||||
|
(What actually happens)
|
||||||
|
|
||||||
|
## What is the expected correct behavior?
|
||||||
|
|
||||||
|
(What you should see instead)
|
||||||
|
|
||||||
|
## Relevant logs and/or screenshots
|
||||||
|
|
||||||
|
(run `journalctl -b -u supergfxd > ~/supergfxd.log` and attach `~/supergfxd.log`)
|
||||||
|
|
||||||
|
(Paste any relevant logs - use code blocks (```) to format console output, logs, and code, as
|
||||||
|
it's very hard to read otherwise.)
|
||||||
|
|
||||||
|
/label ~bug ~reproducable ~needs-investigation
|
||||||
@@ -6,9 +6,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [v5.0.7]
|
||||||
|
### Changed
|
||||||
|
- Fix to suspend process in anime thread to let custom anims run on wake.
|
||||||
|
- Fix to reload the fan curves correctly on boot.
|
||||||
|
- Add new config option `platform_policy_linked_epp` to set if energy_performance_preference should be paired with platform_profile/throttle_thermal_policy
|
||||||
|
- Small fixes to rog-control-center
|
||||||
|
|
||||||
|
## [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
|
### Changed
|
||||||
- Added G834JZ led config
|
- Added G834JZ led config
|
||||||
- Fix in ROGCC to apply the actual effect changed
|
- 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
|
||||||
|
|||||||
Generated
+91
-100
@@ -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.4"
|
version = "5.0.7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"asusd",
|
"asusd",
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
@@ -218,7 +218,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "asusd"
|
name = "asusd"
|
||||||
version = "5.0.4"
|
version = "5.0.7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
@@ -243,7 +243,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "asusd-user"
|
name = "asusd-user"
|
||||||
version = "5.0.4"
|
version = "5.0.7"
|
||||||
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.4"
|
version = "5.0.7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
"log",
|
"log",
|
||||||
@@ -899,7 +899,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "cpuctl"
|
name = "cpuctl"
|
||||||
version = "5.0.4"
|
version = "5.0.7"
|
||||||
|
|
||||||
[[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.4"
|
version = "5.0.7"
|
||||||
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.4"
|
version = "5.0.7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"asusd",
|
"asusd",
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
@@ -2879,7 +2869,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rog_anime"
|
name = "rog_anime"
|
||||||
version = "5.0.4"
|
version = "5.0.7"
|
||||||
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.4"
|
version = "5.0.7"
|
||||||
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.4"
|
version = "5.0.7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"asusd",
|
"asusd",
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
@@ -2923,7 +2913,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rog_platform"
|
name = "rog_platform"
|
||||||
version = "5.0.4"
|
version = "5.0.7"
|
||||||
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.4"
|
version = "5.0.7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"cargo-husky",
|
"cargo-husky",
|
||||||
"log",
|
"log",
|
||||||
@@ -2954,7 +2944,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rog_simulators"
|
name = "rog_simulators"
|
||||||
version = "5.0.4"
|
version = "5.0.7"
|
||||||
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
@@ -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.4"
|
version = "5.0.7"
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
async-trait = "^0.1"
|
async-trait = "^0.1"
|
||||||
|
|||||||
+2
-2
@@ -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()
|
||||||
|
|||||||
+51
-6
@@ -1,4 +1,4 @@
|
|||||||
use config_traits::{StdConfig, StdConfigLoad2};
|
use config_traits::{StdConfig, StdConfigLoad3};
|
||||||
use rog_platform::platform::PlatformPolicy;
|
use rog_platform::platform::PlatformPolicy;
|
||||||
use serde_derive::{Deserialize, Serialize};
|
use serde_derive::{Deserialize, Serialize};
|
||||||
|
|
||||||
@@ -13,9 +13,7 @@ pub struct Config {
|
|||||||
pub disable_nvidia_powerd_on_battery: bool,
|
pub disable_nvidia_powerd_on_battery: bool,
|
||||||
pub ac_command: String,
|
pub ac_command: String,
|
||||||
pub bat_command: String,
|
pub bat_command: String,
|
||||||
/// Restored on boot as well as when power is plugged
|
pub platform_policy_linked_epp: bool,
|
||||||
#[serde(skip)]
|
|
||||||
pub platform_policy_to_restore: PlatformPolicy,
|
|
||||||
pub platform_policy_on_battery: PlatformPolicy,
|
pub platform_policy_on_battery: PlatformPolicy,
|
||||||
pub platform_policy_on_ac: PlatformPolicy,
|
pub platform_policy_on_ac: PlatformPolicy,
|
||||||
//
|
//
|
||||||
@@ -50,9 +48,56 @@ impl StdConfig for Config {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl StdConfigLoad2<Config462, Config472> for Config {}
|
impl StdConfigLoad3<Config462, Config472, Config506> for Config {}
|
||||||
|
|
||||||
#[derive(Deserialize, Serialize, Default, Debug)]
|
#[derive(Deserialize, Serialize)]
|
||||||
|
pub struct Config506 {
|
||||||
|
/// Save charge limit for restoring on boot
|
||||||
|
pub charge_control_end_threshold: u8,
|
||||||
|
pub panel_od: bool,
|
||||||
|
pub mini_led_mode: bool,
|
||||||
|
pub disable_nvidia_powerd_on_battery: bool,
|
||||||
|
pub ac_command: String,
|
||||||
|
pub bat_command: String,
|
||||||
|
/// Restored on boot as well as when power is plugged
|
||||||
|
#[serde(skip)]
|
||||||
|
pub platform_policy_to_restore: PlatformPolicy,
|
||||||
|
pub platform_policy_on_battery: PlatformPolicy,
|
||||||
|
pub platform_policy_on_ac: PlatformPolicy,
|
||||||
|
//
|
||||||
|
pub ppt_pl1_spl: Option<u8>,
|
||||||
|
pub ppt_pl2_sppt: Option<u8>,
|
||||||
|
pub ppt_fppt: Option<u8>,
|
||||||
|
pub ppt_apu_sppt: Option<u8>,
|
||||||
|
pub ppt_platform_sppt: Option<u8>,
|
||||||
|
pub nv_dynamic_boost: Option<u8>,
|
||||||
|
pub nv_temp_target: Option<u8>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<Config506> for Config {
|
||||||
|
fn from(c: Config506) -> Self {
|
||||||
|
Self {
|
||||||
|
charge_control_end_threshold: c.charge_control_end_threshold,
|
||||||
|
panel_od: c.panel_od,
|
||||||
|
disable_nvidia_powerd_on_battery: c.disable_nvidia_powerd_on_battery,
|
||||||
|
ac_command: c.ac_command,
|
||||||
|
bat_command: c.bat_command,
|
||||||
|
mini_led_mode: c.mini_led_mode,
|
||||||
|
platform_policy_linked_epp: true,
|
||||||
|
platform_policy_on_battery: c.platform_policy_on_battery,
|
||||||
|
platform_policy_on_ac: c.platform_policy_on_ac,
|
||||||
|
ppt_pl1_spl: c.ppt_pl1_spl,
|
||||||
|
ppt_pl2_sppt: c.ppt_pl2_sppt,
|
||||||
|
ppt_fppt: c.ppt_fppt,
|
||||||
|
ppt_apu_sppt: c.ppt_apu_sppt,
|
||||||
|
ppt_platform_sppt: c.ppt_platform_sppt,
|
||||||
|
nv_dynamic_boost: c.nv_dynamic_boost,
|
||||||
|
nv_temp_target: c.nv_temp_target,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Deserialize, Serialize)]
|
||||||
pub struct Config472 {
|
pub struct Config472 {
|
||||||
/// Save charge limit for restoring on boot
|
/// Save charge limit for restoring on boot
|
||||||
pub bat_charge_limit: u8,
|
pub bat_charge_limit: u8,
|
||||||
|
|||||||
@@ -277,16 +277,8 @@ impl crate::CtrlTask for CtrlAnimeZbus {
|
|||||||
async move {
|
async move {
|
||||||
let lock = inner.lock().await;
|
let lock = inner.lock().await;
|
||||||
if lock.config.display_enabled {
|
if lock.config.display_enabled {
|
||||||
lock.node
|
|
||||||
.write_bytes(&pkt_set_enable_powersave_anim(
|
|
||||||
!(sleeping && lock.config.off_when_suspended),
|
|
||||||
))
|
|
||||||
.map_err(|err| {
|
|
||||||
warn!("create_sys_event_tasks::off_when_suspended {}", err);
|
|
||||||
})
|
|
||||||
.ok();
|
|
||||||
|
|
||||||
lock.thread_exit.store(true, Ordering::Release); // ensure clean slate
|
lock.thread_exit.store(true, Ordering::Release); // ensure clean slate
|
||||||
|
|
||||||
lock.node
|
lock.node
|
||||||
.write_bytes(&pkt_set_enable_display(
|
.write_bytes(&pkt_set_enable_display(
|
||||||
!(sleeping && lock.config.off_when_suspended),
|
!(sleeping && lock.config.off_when_suspended),
|
||||||
@@ -296,7 +288,21 @@ impl crate::CtrlTask for CtrlAnimeZbus {
|
|||||||
})
|
})
|
||||||
.ok();
|
.ok();
|
||||||
|
|
||||||
if !sleeping && !lock.config.builtin_anims_enabled {
|
if lock.config.builtin_anims_enabled {
|
||||||
|
lock.node
|
||||||
|
.write_bytes(&pkt_set_enable_powersave_anim(
|
||||||
|
!(sleeping && lock.config.off_when_suspended),
|
||||||
|
))
|
||||||
|
.map_err(|err| {
|
||||||
|
warn!("create_sys_event_tasks::off_when_suspended {}", err);
|
||||||
|
})
|
||||||
|
.ok();
|
||||||
|
} else if !sleeping && !lock.config.builtin_anims_enabled {
|
||||||
|
// Run custom wake animation
|
||||||
|
lock.node
|
||||||
|
.write_bytes(&pkt_set_enable_powersave_anim(false))
|
||||||
|
.ok(); // ensure builtins are disabled
|
||||||
|
|
||||||
CtrlAnime::run_thread(inner.clone(), lock.cache.wake.clone(), true)
|
CtrlAnime::run_thread(inner.clone(), lock.cache.wake.clone(), true)
|
||||||
.await;
|
.await;
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-10
@@ -296,16 +296,18 @@ impl CtrlTask for CtrlFanCurveZbus {
|
|||||||
impl crate::Reloadable for CtrlFanCurveZbus {
|
impl crate::Reloadable for CtrlFanCurveZbus {
|
||||||
/// Fetch the active profile and use that to set all related components up
|
/// Fetch the active profile and use that to set all related components up
|
||||||
async fn reload(&mut self) -> Result<(), RogError> {
|
async fn reload(&mut self) -> Result<(), RogError> {
|
||||||
// let active = self.platform.get_throttle_thermal_policy()?.into();
|
let active = self.platform.get_throttle_thermal_policy()?.into();
|
||||||
// if let Ok(mut device) = find_fan_curve_node() {
|
if let Ok(mut device) = find_fan_curve_node() {
|
||||||
// // There is a possibility that the curve was default zeroed, so this call
|
// There is a possibility that the curve was default zeroed, so this call
|
||||||
// // initialises the data from system read and we need to save it
|
// initialises the data from system read and we need to save it
|
||||||
// // after
|
// after
|
||||||
// self.fan_curves
|
loop {
|
||||||
// .lock()
|
if let Ok(mut curves) = self.fan_curves.try_lock() {
|
||||||
// .await
|
curves.write_profile_curve_to_platform(active, &mut device)?;
|
||||||
// .write_profile_curve_to_platform(active, &mut device)?;
|
break;
|
||||||
// }
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+25
-12
@@ -180,7 +180,11 @@ impl CtrlPlatform {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn check_and_set_epp(&self, profile: PlatformPolicy) {
|
fn check_and_set_epp(&self, profile: PlatformPolicy, change_epp: bool) {
|
||||||
|
if !change_epp {
|
||||||
|
info!("PlatformPolicy unlinked from EPP");
|
||||||
|
return;
|
||||||
|
}
|
||||||
info!("PlatformPolicy setting EPP");
|
info!("PlatformPolicy setting EPP");
|
||||||
if let Some(cpu) = self.cpu_control.as_ref() {
|
if let Some(cpu) = self.cpu_control.as_ref() {
|
||||||
if let Ok(epp) = cpu.get_available_epp() {
|
if let Ok(epp) = cpu.get_available_epp() {
|
||||||
@@ -197,7 +201,7 @@ impl CtrlPlatform {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn update_policy_ac_or_bat(&self, power_plugged: bool) {
|
async fn update_policy_ac_or_bat(&self, power_plugged: bool, change_epp: bool) {
|
||||||
let profile = if power_plugged {
|
let profile = if power_plugged {
|
||||||
self.config.lock().await.platform_policy_on_ac
|
self.config.lock().await.platform_policy_on_ac
|
||||||
} else {
|
} else {
|
||||||
@@ -206,7 +210,7 @@ impl CtrlPlatform {
|
|||||||
self.platform
|
self.platform
|
||||||
.set_throttle_thermal_policy(profile.into())
|
.set_throttle_thermal_policy(profile.into())
|
||||||
.ok();
|
.ok();
|
||||||
self.check_and_set_epp(profile);
|
self.check_and_set_epp(profile, change_epp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -340,14 +344,14 @@ impl CtrlPlatform {
|
|||||||
let policy = PlatformPolicy::next(&policy);
|
let policy = PlatformPolicy::next(&policy);
|
||||||
|
|
||||||
if self.platform.has_throttle_thermal_policy() {
|
if self.platform.has_throttle_thermal_policy() {
|
||||||
self.check_and_set_epp(policy);
|
let change_epp = self.config.lock().await.platform_policy_linked_epp;
|
||||||
|
self.check_and_set_epp(policy, change_epp);
|
||||||
self.platform
|
self.platform
|
||||||
.set_throttle_thermal_policy(policy.into())
|
.set_throttle_thermal_policy(policy.into())
|
||||||
.map_err(|err| {
|
.map_err(|err| {
|
||||||
warn!("RogPlatform: throttle_thermal_policy {}", err);
|
warn!("RogPlatform: throttle_thermal_policy {}", err);
|
||||||
FdoErr::Failed(format!("RogPlatform: throttle_thermal_policy: {err}"))
|
FdoErr::Failed(format!("RogPlatform: throttle_thermal_policy: {err}"))
|
||||||
})?;
|
})?;
|
||||||
self.config.lock().await.platform_policy_to_restore = policy;
|
|
||||||
Ok(self.throttle_thermal_policy_changed(&ctxt).await?)
|
Ok(self.throttle_thermal_policy_changed(&ctxt).await?)
|
||||||
} else {
|
} else {
|
||||||
Err(FdoErr::NotSupported(
|
Err(FdoErr::NotSupported(
|
||||||
@@ -366,8 +370,8 @@ impl CtrlPlatform {
|
|||||||
async fn set_throttle_thermal_policy(&mut self, policy: PlatformPolicy) -> Result<(), FdoErr> {
|
async fn set_throttle_thermal_policy(&mut self, policy: PlatformPolicy) -> Result<(), FdoErr> {
|
||||||
// TODO: watch for external changes
|
// TODO: watch for external changes
|
||||||
if self.platform.has_throttle_thermal_policy() {
|
if self.platform.has_throttle_thermal_policy() {
|
||||||
self.check_and_set_epp(policy);
|
let change_epp = self.config.lock().await.platform_policy_linked_epp;
|
||||||
self.config.lock().await.platform_policy_to_restore = policy;
|
self.check_and_set_epp(policy, change_epp);
|
||||||
self.platform
|
self.platform
|
||||||
.set_throttle_thermal_policy(policy.into())
|
.set_throttle_thermal_policy(policy.into())
|
||||||
.map_err(|err| {
|
.map_err(|err| {
|
||||||
@@ -534,7 +538,9 @@ impl crate::Reloadable for CtrlPlatform {
|
|||||||
|
|
||||||
if let Ok(power_plugged) = self.power.get_online() {
|
if let Ok(power_plugged) = self.power.get_online() {
|
||||||
if self.platform.has_throttle_thermal_policy() {
|
if self.platform.has_throttle_thermal_policy() {
|
||||||
self.update_policy_ac_or_bat(power_plugged > 0).await;
|
let change_epp = self.config.lock().await.platform_policy_linked_epp;
|
||||||
|
self.update_policy_ac_or_bat(power_plugged > 0, change_epp)
|
||||||
|
.await;
|
||||||
}
|
}
|
||||||
self.run_ac_or_bat_cmd(power_plugged > 0).await;
|
self.run_ac_or_bat_cmd(power_plugged > 0).await;
|
||||||
}
|
}
|
||||||
@@ -614,7 +620,11 @@ impl CtrlTask for CtrlPlatform {
|
|||||||
}
|
}
|
||||||
if let Ok(power_plugged) = platform1.power.get_online() {
|
if let Ok(power_plugged) = platform1.power.get_online() {
|
||||||
if !sleeping && platform1.platform.has_throttle_thermal_policy() {
|
if !sleeping && platform1.platform.has_throttle_thermal_policy() {
|
||||||
platform1.update_policy_ac_or_bat(power_plugged > 0).await;
|
let change_epp =
|
||||||
|
platform1.config.lock().await.platform_policy_linked_epp;
|
||||||
|
platform1
|
||||||
|
.update_policy_ac_or_bat(power_plugged > 0, change_epp)
|
||||||
|
.await;
|
||||||
}
|
}
|
||||||
if !sleeping {
|
if !sleeping {
|
||||||
platform1.run_ac_or_bat_cmd(power_plugged > 0).await;
|
platform1.run_ac_or_bat_cmd(power_plugged > 0).await;
|
||||||
@@ -648,7 +658,10 @@ impl CtrlTask for CtrlPlatform {
|
|||||||
// power change
|
// power change
|
||||||
async move {
|
async move {
|
||||||
if platform3.platform.has_throttle_thermal_policy() {
|
if platform3.platform.has_throttle_thermal_policy() {
|
||||||
platform3.update_policy_ac_or_bat(power_plugged).await;
|
let change_epp = platform3.config.lock().await.platform_policy_linked_epp;
|
||||||
|
platform3
|
||||||
|
.update_policy_ac_or_bat(power_plugged, change_epp)
|
||||||
|
.await;
|
||||||
}
|
}
|
||||||
platform3.run_ac_or_bat_cmd(power_plugged).await;
|
platform3.run_ac_or_bat_cmd(power_plugged).await;
|
||||||
}
|
}
|
||||||
@@ -697,8 +710,8 @@ impl CtrlTask for CtrlPlatform {
|
|||||||
error!("Platform: get_throttle_thermal_policy error: {e}");
|
error!("Platform: get_throttle_thermal_policy error: {e}");
|
||||||
})
|
})
|
||||||
{
|
{
|
||||||
ctrl.check_and_set_epp(profile);
|
let change_epp = ctrl.config.lock().await.platform_policy_linked_epp;
|
||||||
ctrl.config.lock().await.platform_policy_to_restore = profile;
|
ctrl.check_and_set_epp(profile, change_epp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ use asusd::ctrl_aura::trait_impls::CtrlAuraZbus;
|
|||||||
use asusd::ctrl_fancurves::CtrlFanCurveZbus;
|
use asusd::ctrl_fancurves::CtrlFanCurveZbus;
|
||||||
use asusd::ctrl_platform::CtrlPlatform;
|
use asusd::ctrl_platform::CtrlPlatform;
|
||||||
use asusd::{print_board_info, CtrlTask, Reloadable, ZbusRun, DBUS_NAME};
|
use asusd::{print_board_info, CtrlTask, Reloadable, ZbusRun, DBUS_NAME};
|
||||||
use config_traits::{StdConfig, StdConfigLoad2};
|
use config_traits::{StdConfig, StdConfigLoad2, StdConfigLoad3};
|
||||||
use log::{error, info, warn};
|
use log::{error, info, warn};
|
||||||
use rog_aura::aura_detection::LaptopLedData;
|
use rog_aura::aura_detection::LaptopLedData;
|
||||||
use tokio::time::sleep;
|
use tokio::time::sleep;
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -71,6 +71,14 @@
|
|||||||
advanced_type: None,
|
advanced_type: None,
|
||||||
power_zones: [Keyboard],
|
power_zones: [Keyboard],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
board_name: "FX705D",
|
||||||
|
layout_name: "fx505d",
|
||||||
|
basic_modes: [Static, Breathe, Strobe, Pulse],
|
||||||
|
basic_zones: [],
|
||||||
|
advanced_type: None,
|
||||||
|
power_zones: [Keyboard],
|
||||||
|
),
|
||||||
(
|
(
|
||||||
board_name: "G512",
|
board_name: "G512",
|
||||||
layout_name: "g512",
|
layout_name: "g512",
|
||||||
@@ -401,7 +409,7 @@
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
board_name: "G834JZ",
|
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_modes: [Static, Breathe, Strobe, Rainbow, Star, Rain, Highlight, Laser, Ripple, Pulse, Comet, Flash],
|
||||||
basic_zones: [],
|
basic_zones: [],
|
||||||
advanced_type: PerKey,
|
advanced_type: PerKey,
|
||||||
|
|||||||
+1
-2
@@ -10,10 +10,9 @@ pub mod effects;
|
|||||||
pub mod advanced;
|
pub mod advanced;
|
||||||
/// Convert the `RgbAddress` to `&str` labels
|
/// Convert the `RgbAddress` to `&str` labels
|
||||||
pub mod advanced_to_str;
|
pub mod advanced_to_str;
|
||||||
pub mod error;
|
|
||||||
pub use advanced_to_str::*;
|
|
||||||
/// Helper for detecting what is available
|
/// Helper for detecting what is available
|
||||||
pub mod aura_detection;
|
pub mod aura_detection;
|
||||||
|
pub mod error;
|
||||||
/// Helpers for consructing keyboard layouts for UI use and effects
|
/// Helpers for consructing keyboard layouts for UI use and effects
|
||||||
pub mod layouts;
|
pub mod layouts;
|
||||||
pub mod usb;
|
pub mod usb;
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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(980.0, 670.0)),
|
||||||
min_window_size: Some(egui::vec2(960.0, 670.0)),
|
max_window_size: Some(egui::vec2(980.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()
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -187,6 +186,13 @@ fn main() -> Result<()> {
|
|||||||
&config,
|
&config,
|
||||||
)?;
|
)?;
|
||||||
|
|
||||||
|
if cli_parsed.board_name.is_some() || cli_parsed.layout_viewing {
|
||||||
|
if let Ok(mut lock) = states.lock() {
|
||||||
|
lock.run_in_bg = false;
|
||||||
|
running_in_bg.store(false, Ordering::Release);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if config.enable_tray_icon {
|
if config.enable_tray_icon {
|
||||||
init_tray(supported_properties, states.clone());
|
init_tray(supported_properties, states.clone());
|
||||||
}
|
}
|
||||||
@@ -213,7 +219,7 @@ fn main() -> Result<()> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if let Ok(lock) = states.try_lock() {
|
if let Ok(lock) = states.try_lock() {
|
||||||
if !lock.run_in_bg || cli_parsed.board_name.is_some() || cli_parsed.layout_viewing {
|
if !lock.run_in_bg {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -263,37 +269,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,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");
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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| {
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
@@ -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(¤t) {
|
|
||||||
// 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;
|
||||||
|
|||||||
@@ -3,9 +3,3 @@ mod app_settings;
|
|||||||
mod aura_page;
|
mod aura_page;
|
||||||
mod fan_curve_page;
|
mod fan_curve_page;
|
||||||
mod system_page;
|
mod system_page;
|
||||||
|
|
||||||
pub use anime_page::*;
|
|
||||||
pub use app_settings::*;
|
|
||||||
pub use aura_page::*;
|
|
||||||
pub use fan_curve_page::*;
|
|
||||||
pub use system_page::*;
|
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
});
|
// }
|
||||||
|
// });
|
||||||
|
// });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,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)
|
||||||
|
|||||||
@@ -15,5 +15,3 @@ pub use aura_power::*;
|
|||||||
pub use fan_graph::*;
|
pub use fan_graph::*;
|
||||||
pub use keyboard_layout::*;
|
pub use keyboard_layout::*;
|
||||||
pub use rog_bios::*;
|
pub use rog_bios::*;
|
||||||
pub use side_panel::*;
|
|
||||||
pub use top_bar::*;
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -1,25 +1,15 @@
|
|||||||
use egui::{vec2, Align2, FontId, Id, Sense};
|
use egui::{vec2, Align2, Button, FontId, Id, Rect, RichText, Sense, Vec2};
|
||||||
|
|
||||||
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
|
||||||
@@ -43,46 +33,15 @@ impl RogApp {
|
|||||||
FontId::proportional(height - 2.0),
|
FontId::proportional(height - 2.0),
|
||||||
text_color,
|
text_color,
|
||||||
);
|
);
|
||||||
// // 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(), Vec2::splat(height)),
|
||||||
// egui::Vec2::splat(height)),
|
Button::new(RichText::new("❌").size(height - 4.0)).frame(false),
|
||||||
// egui::Button::new(egui::RichText::new("❌").size(height -
|
);
|
||||||
// 4.0)).frame(false), );
|
if close_response.clicked() {
|
||||||
// if close_response.clicked() {
|
frame.close();
|
||||||
// frame.close();
|
}
|
||||||
// }
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
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();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user