diff --git a/CHANGELOG.md b/CHANGELOG.md index f4eb7e5d..d02f131c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [v4.7.0-RC1] ### Added - Support for FX507Z LED modes - Support for GL503V LED modes @@ -28,6 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Remove notification handle tracking limit, fixes KDE issue with profile notif - Rename daemon and daemon-user crates to asusd and asusd-user to not be confusing in workspace naming - Prevent the multiple notifications from a profile change from occuring (too many functions with side effects!) +- Apply keyboard brightness when setting a mode - Update GL503 led config ### BREAKING - All Anime related DBUS methods/notifs are changed diff --git a/Cargo.lock b/Cargo.lock index 72bdb7da..4968446c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -175,7 +175,7 @@ checksum = "8868f09ff8cea88b079da74ae569d9b8c62a23c68c746240b704ee6f7525c89c" [[package]] name = "asusctl" -version = "4.6.2" +version = "4.7.0-RC1" dependencies = [ "asusd", "cargo-husky", @@ -194,7 +194,7 @@ dependencies = [ [[package]] name = "asusd" -version = "4.6.2" +version = "4.7.0-RC1" dependencies = [ "async-trait", "cargo-husky", @@ -218,7 +218,7 @@ dependencies = [ [[package]] name = "asusd-user" -version = "4.6.2" +version = "4.7.0-RC1" dependencies = [ "cargo-husky", "config-traits", @@ -728,7 +728,7 @@ dependencies = [ [[package]] name = "config-traits" -version = "4.6.2" +version = "4.7.0-RC1" dependencies = [ "cargo-husky", "log", @@ -2558,7 +2558,7 @@ checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" [[package]] name = "rog-control-center" -version = "4.6.2" +version = "4.7.0-RC1" dependencies = [ "asusd", "cargo-husky", @@ -2591,7 +2591,7 @@ dependencies = [ [[package]] name = "rog_anime" -version = "4.6.2" +version = "4.7.0-RC1" dependencies = [ "cargo-husky", "gif", @@ -2607,7 +2607,7 @@ dependencies = [ [[package]] name = "rog_aura" -version = "4.6.2" +version = "4.7.0-RC1" dependencies = [ "cargo-husky", "log", @@ -2620,7 +2620,7 @@ dependencies = [ [[package]] name = "rog_dbus" -version = "4.6.2" +version = "4.7.0-RC1" dependencies = [ "cargo-husky", "rog_anime", @@ -2632,7 +2632,7 @@ dependencies = [ [[package]] name = "rog_platform" -version = "4.6.2" +version = "4.7.0-RC1" dependencies = [ "cargo-husky", "concat-idents", @@ -2649,7 +2649,7 @@ dependencies = [ [[package]] name = "rog_profiles" -version = "4.6.2" +version = "4.7.0-RC1" dependencies = [ "cargo-husky", "serde", @@ -2660,7 +2660,7 @@ dependencies = [ [[package]] name = "rog_simulators" -version = "4.6.2" +version = "4.7.0-RC1" dependencies = [ "glam", "log", diff --git a/Cargo.toml b/Cargo.toml index 6c38f137..b13486b8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = ["asusctl", "asusd", "asusd-user", "config-traits", "rog-platform", "r default-members = ["asusctl", "asusd", "asusd-user", "rog-control-center"] [workspace.package] -version = "4.6.2" +version = "4.7.0-RC1" [workspace.dependencies] async-trait = "^0.1" diff --git a/rog-control-center/src/widgets/aura_modes.rs b/rog-control-center/src/widgets/aura_modes.rs index f8132059..775775e9 100644 --- a/rog-control-center/src/widgets/aura_modes.rs +++ b/rog-control-center/src/widgets/aura_modes.rs @@ -5,7 +5,7 @@ use egui::{RichText, Ui}; use rog_aura::layouts::KeyLayout; use rog_aura::{AuraEffect, AuraModeNum, AuraZone, Colour, Speed}; -use crate::system_state::{AuraState, SystemState}; +use crate::system_state::SystemState; pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc, ui: &mut Ui) { let mut changed = false; @@ -59,7 +59,7 @@ pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc, ui: let mut zone_button = |a: AuraZone, ui: &mut Ui| { ui.selectable_value(&mut effect.zone, a, format!("{:?}", a)); }; - let mut speed_button = |a: Speed, ui: &mut Ui| { + let mut speed_button = |a: Speed, ui: &mut Ui| -> bool { if ui .selectable_value(&mut effect.speed, a, format!("{:?}", a)) .clicked() @@ -70,10 +70,13 @@ pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc, ui: Speed::High => 10, }; freq.store(val, Ordering::SeqCst); + return true; } + false }; - let mut dir_button = |a: rog_aura::Direction, ui: &mut Ui| { - ui.selectable_value(&mut effect.direction, a, format!("{:?}", a)); + let mut dir_button = |a: rog_aura::Direction, ui: &mut Ui| -> bool { + ui.selectable_value(&mut effect.direction, a, format!("{:?}", a)) + .clicked() }; let mut c1: [u8; 3] = effect.colour1.into(); @@ -139,26 +142,37 @@ pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc, ui: }); ui.add_enabled_ui(allowed.colour1, |ui| { - egui::color_picker::color_edit_button_srgb(ui, &mut c1) + if egui::color_picker::color_edit_button_srgb(ui, &mut c1).changed() { + changed = true; + } }); + ui.add_enabled_ui(allowed.colour2, |ui| { - egui::color_picker::color_edit_button_srgb(ui, &mut c2) + if egui::color_picker::color_edit_button_srgb(ui, &mut c2).changed() { + changed = true; + } }); ui.add_enabled_ui(allowed.speed, |ui| { ui.horizontal_wrapped(|ui| { - speed_button(Speed::Low, ui); - speed_button(Speed::Med, ui); - speed_button(Speed::High, ui); + if speed_button(Speed::Low, ui) + || speed_button(Speed::Med, ui) + || speed_button(Speed::High, ui) + { + changed = true; + } }); }); ui.add_enabled_ui(allowed.direction, |ui| { ui.horizontal_wrapped(|ui| { - dir_button(rog_aura::Direction::Left, ui); - dir_button(rog_aura::Direction::Down, ui); - dir_button(rog_aura::Direction::Right, ui); - dir_button(rog_aura::Direction::Up, ui); + if dir_button(rog_aura::Direction::Left, ui) + || dir_button(rog_aura::Direction::Down, ui) + || dir_button(rog_aura::Direction::Right, ui) + || dir_button(rog_aura::Direction::Up, ui) + { + changed = true; + } }); }); }); @@ -170,16 +184,16 @@ pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc, ui: ui.separator(); ui.with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| { - if ui.add(egui::Button::new("Cancel")).clicked() { - match AuraState::new(&aura_creation.keyboard_layout, &states.asus_dbus) { - Ok(a) => states.aura.modes = a.modes, - Err(e) => states.error = Some(e.to_string()), - } - } + // if ui.add(egui::Button::new("Cancel")).clicked() { + // match AuraState::new(&aura_creation.keyboard_layout, &states.asus_dbus) { + // Ok(a) => states.aura.modes = a.modes, + // Err(e) => states.error = Some(e.to_string()), + // } + // } - if ui.add(egui::Button::new("Apply")).clicked() { - changed = true; - } + // if ui.add(egui::Button::new("Apply")).clicked() { + // changed = true; + // } if aura_creation.layout_testing.is_some() { if ui.add(egui::Button::new("Next layout")).clicked() { @@ -208,21 +222,6 @@ pub fn aura_modes_group(states: &mut SystemState, freq: &mut Arc, ui: } }); - // egui::TopBottomPanel::bottom("error_bar") - // .default_height(26.0) - // .show(ctx, |ui| { - // ui.with_layout(egui::Layout::right_to_left(egui::Align::TOP), |ui| { - // if ui.add(egui::Button::new("Cancel")).clicked() { - // let notif = states.aura.was_notified.clone(); - // states.aura.modes = AuraState::new(notif, supported, - // dbus).modes; } - - // if ui.add(egui::Button::new("Apply")).clicked() { - // changed = true; - // } - // }); - // }); - if changed { states.aura.current_mode = selected;