Cause great pain to self with cargo-deny + cargo-cranky

This commit is contained in:
Luke D. Jones
2022-12-04 21:49:47 +13:00
parent 2fca7a09c4
commit 2705b08dca
60 changed files with 622 additions and 339 deletions

View File

@@ -1,5 +1,6 @@
[package]
name = "rog-control-center"
license = "MPL-2.0"
version.workspace = true
authors = ["Luke D. Jones <luke@ljones.dev>"]
edition = "2021"
@@ -13,7 +14,7 @@ eframe= { git = "https://github.com/flukejones/egui" }
#eframe= { git = "https://github.com/emilk/egui", default-features = false, features = ["dark-light", "default_fonts", "wgpu"] }
libappindicator = "0.7" # Tray icon
gtk = "0.15"
gtk = "0.15.5"
daemon = { path = "../daemon" }
rog_anime = { path = "../rog-anime" }
@@ -38,5 +39,5 @@ notify-rust.workspace = true
png_pong.workspace = true
nix = "^0.25"
nix = "^0.26.1"
tempfile = "3.3.0"

View File

@@ -15,7 +15,7 @@ pub enum Error {
impl fmt::Display for Error {
// This trait requires `fmt` with this exact signature.
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Error::Io(err) => write!(f, "Failed to open: {}", err),
Error::Nix(err) => write!(f, "Error: {}", err),

View File

@@ -206,7 +206,7 @@ fn load_icon() -> IconData {
}
}
} else {
error!("Missing {APP_ICON_PATH}")
error!("Missing {APP_ICON_PATH}");
}
IconData {

View File

@@ -397,9 +397,9 @@ where
fn ac_power_notification(message: &str, on: &bool) -> Result<NotificationHandle> {
let data = if *on {
"plugged".to_string()
"plugged".to_owned()
} else {
"unplugged".to_string()
"unplugged".to_owned()
};
Ok(base_notification(message, &data).show()?)
}
@@ -417,13 +417,12 @@ fn do_thermal_notif(message: &str, profile: &Profile) -> Result<NotificationHand
fn do_gpu_status_notif(message: &str, data: &GfxPower) -> Result<NotificationHandle> {
// eww
let mut notif = base_notification(message, &<&str>::from(data).to_string());
let mut notif = base_notification(message, &<&str>::from(data).to_owned());
let icon = match data {
GfxPower::Active => "asus_notif_red",
GfxPower::Suspended => "asus_notif_blue",
GfxPower::Off => "asus_notif_green",
GfxPower::AsusDisabled => "asus_notif_white",
GfxPower::AsusMuxDiscreet => "asus_notif_red",
GfxPower::AsusMuxDiscreet | GfxPower::Active => "asus_notif_red",
GfxPower::Unknown => "gpu-integrated",
};
notif.icon(icon);
@@ -452,7 +451,7 @@ where
Ok(())
}
/// Actual GpuMode unused as data is never correct until switched by reboot
/// Actual `GpuMode` unused as data is never correct until switched by reboot
fn do_mux_notification(message: &str, _: &GpuMode) -> Result<NotificationHandle> {
let mut notif = base_notification(message, &"");
notif.urgency(Urgency::Critical);

View File

@@ -30,7 +30,7 @@ impl RogApp {
supported: &SupportedFunctions,
profiles: &mut ProfilesState,
curves: &mut FanCurvesState,
dbus: &RogDbusClientBlocking,
dbus: &RogDbusClientBlocking<'_>,
do_error: &mut Option<String>,
ui: &mut Ui,
) {
@@ -62,7 +62,7 @@ impl RogApp {
};
profiles.list.sort();
for f in profiles.list.iter() {
for f in &profiles.list {
item(*f, curves, curves.enabled.contains(f));
}
});

View File

@@ -27,7 +27,7 @@ pub struct BiosState {
}
impl BiosState {
pub fn new(supported: &SupportedFunctions, dbus: &RogDbusClientBlocking) -> Result<Self> {
pub fn new(supported: &SupportedFunctions, dbus: &RogDbusClientBlocking<'_>) -> Result<Self> {
Ok(Self {
post_sound: if supported.rog_bios_ctrl.post_sound {
dbus.proxies().rog_bios().post_boot_sound()? != 0
@@ -58,7 +58,7 @@ pub struct ProfilesState {
}
impl ProfilesState {
pub fn new(supported: &SupportedFunctions, dbus: &RogDbusClientBlocking) -> Result<Self> {
pub fn new(supported: &SupportedFunctions, dbus: &RogDbusClientBlocking<'_>) -> Result<Self> {
Ok(Self {
list: if supported.platform_profile.platform_profile {
let mut list = dbus.proxies().profile().profiles()?;
@@ -86,26 +86,25 @@ pub struct FanCurvesState {
}
impl FanCurvesState {
pub fn new(supported: &SupportedFunctions, dbus: &RogDbusClientBlocking) -> Result<Self> {
pub fn new(supported: &SupportedFunctions, dbus: &RogDbusClientBlocking<'_>) -> Result<Self> {
let profiles = if supported.platform_profile.platform_profile {
dbus.proxies().profile().profiles()?
} else {
vec![Profile::Balanced, Profile::Quiet, Profile::Performance]
};
let enabled = if supported.platform_profile.fan_curves {
HashSet::from_iter(
dbus.proxies()
.profile()
.enabled_fan_profiles()?
.iter()
.cloned(),
)
dbus.proxies()
.profile()
.enabled_fan_profiles()?
.iter()
.cloned()
.collect::<HashSet<_>>()
} else {
HashSet::from([Profile::Balanced, Profile::Quiet, Profile::Performance])
};
let mut curves: BTreeMap<Profile, FanCurveSet> = BTreeMap::new();
profiles.iter().for_each(|p| {
for p in &profiles {
if supported.platform_profile.fan_curves {
if let Ok(curve) = dbus.proxies().profile().fan_curve_data(*p) {
curves.insert(*p, curve);
@@ -118,7 +117,7 @@ impl FanCurvesState {
curve.gpu.temp = [20, 30, 40, 50, 70, 80, 90, 100];
curves.insert(*p, curve);
}
});
}
let show_curve = if supported.platform_profile.fan_curves {
dbus.proxies().profile().active_profile()?
@@ -149,7 +148,7 @@ pub struct AuraState {
}
impl AuraState {
pub fn new(supported: &SupportedFunctions, dbus: &RogDbusClientBlocking) -> Result<Self> {
pub fn new(supported: &SupportedFunctions, dbus: &RogDbusClientBlocking<'_>) -> Result<Self> {
Ok(Self {
current_mode: if !supported.keyboard_led.stock_led_modes.is_empty() {
dbus.proxies().led().led_mode().unwrap_or_default()
@@ -198,7 +197,7 @@ pub struct AnimeState {
}
impl AnimeState {
pub fn new(supported: &SupportedFunctions, dbus: &RogDbusClientBlocking) -> Result<Self> {
pub fn new(supported: &SupportedFunctions, dbus: &RogDbusClientBlocking<'_>) -> Result<Self> {
Ok(Self {
boot: if supported.anime_ctrl.0 {
dbus.proxies().anime().boot_enabled()?
@@ -224,7 +223,7 @@ pub struct GfxState {
}
impl GfxState {
pub fn new(_supported: &SupportedFunctions, dbus: &GfxProxyBlocking) -> Result<Self> {
pub fn new(_supported: &SupportedFunctions, dbus: &GfxProxyBlocking<'_>) -> Result<Self> {
Ok(Self {
mode: dbus.mode()?,
power_status: dbus.power()?,
@@ -239,7 +238,7 @@ pub struct PowerState {
}
impl PowerState {
pub fn new(_supported: &SupportedFunctions, dbus: &RogDbusClientBlocking) -> Result<Self> {
pub fn new(_supported: &SupportedFunctions, dbus: &RogDbusClientBlocking<'_>) -> Result<Self> {
Ok(Self {
charge_limit: dbus.proxies().charge().charge_control_end_threshold()?,
ac_power: dbus.proxies().charge().mains_online()?,

View File

@@ -128,13 +128,18 @@ impl ROGTray {
self.menu.show_all();
}
fn add_radio_sub_menu(&mut self, header_label: &str, active_label: &str, sub_menu: RadioGroup) {
fn add_radio_sub_menu(
&mut self,
header_label: &str,
active_label: &str,
sub_menu: &RadioGroup,
) {
let header_item = gtk::MenuItem::with_label(header_label);
header_item.show_all();
self.menu.add(&header_item);
let menu = gtk::Menu::new();
for item in sub_menu.0.iter() {
for item in &sub_menu.0 {
if let Some(label) = item.label() {
item.set_active(label == active_label);
} else {
@@ -197,7 +202,7 @@ impl ROGTray {
}
fn _set_status(&mut self, status: AppIndicatorStatus) {
self.tray.set_status(status)
self.tray.set_status(status);
}
fn menu_add_base(&mut self) {
@@ -319,13 +324,13 @@ impl ROGTray {
}
let active = match current_mode {
GfxMode::AsusMuxDiscreet => "Discreet".to_string(),
GfxMode::AsusMuxDiscreet => "Discreet".to_owned(),
_ => current_mode.to_string(),
};
self.add_radio_sub_menu(
&format!("GPU Mode: {current_mode}"),
active.as_str(),
gpu_menu,
&gpu_menu,
);
debug!("ROGTray: appended gpu menu");
@@ -408,11 +413,12 @@ pub fn init_tray(
debug!("ROGTray: rebuilt menus due to state change");
match lock.gfx_state.power_status {
GfxPower::Active => tray.set_icon("asus_notif_red"),
GfxPower::Suspended => tray.set_icon("asus_notif_blue"),
GfxPower::Off => tray.set_icon("asus_notif_green"),
GfxPower::AsusDisabled => tray.set_icon("asus_notif_white"),
GfxPower::AsusMuxDiscreet => tray.set_icon("asus_notif_red"),
GfxPower::AsusMuxDiscreet | GfxPower::Active => {
tray.set_icon("asus_notif_red")
}
GfxPower::Unknown => tray.set_icon("gpu-integrated"),
};
}

View File

@@ -12,7 +12,7 @@ pub fn aura_power_group(supported: &SupportedFunctions, states: &mut SystemState
match supported.keyboard_led.prod_id {
AuraDevice::X1854 | AuraDevice::X1869 | AuraDevice::X1866 => {
aura_power1(supported, states, ui)
aura_power1(supported, states, ui);
}
AuraDevice::X19B6 => aura_power2(supported, states, ui),
AuraDevice::Tuf => aura_power1(supported, states, ui),

View File

@@ -11,7 +11,7 @@ pub fn fan_graphs(
supported: &SupportedFunctions,
profiles: &mut ProfilesState,
curves: &mut FanCurvesState,
dbus: &RogDbusClientBlocking,
dbus: &RogDbusClientBlocking<'_>,
do_error: &mut Option<String>,
ui: &mut Ui,
) {
@@ -36,7 +36,7 @@ pub fn fan_graphs(
};
ui.horizontal_wrapped(|ui| {
for a in curves.curves.iter() {
for a in &curves.curves {
item(*a.0, ui);
}
});
@@ -57,8 +57,8 @@ pub fn fan_graphs(
[x, y]
});
let line = Line::new(PlotPoints::from_iter(points.clone())).width(2.0);
let points = Points::new(PlotPoints::from_iter(points)).radius(3.0);
let line = Line::new(points.clone().collect::<PlotPoints>()).width(2.0);
let points = Points::new(points.collect::<PlotPoints>()).radius(3.0);
Plot::new("fan_curves")
.view_aspect(1.666)
@@ -107,7 +107,7 @@ pub fn fan_graphs(
}
}
plot_ui.line(line);
plot_ui.points(points)
plot_ui.points(points);
});
let mut set = false;

View File

@@ -17,7 +17,7 @@ pub fn platform_profile(states: &mut SystemState, ui: &mut Ui) {
};
ui.horizontal_wrapped(|ui| {
for a in states.profiles.list.iter() {
for a in &states.profiles.list {
item(*a, ui);
}
});
@@ -46,7 +46,7 @@ pub fn rog_bios_group(supported: &SupportedFunctions, states: &mut SystemState,
.asus_dbus
.proxies()
.charge()
.set_charge_control_end_threshold(states.power_state.charge_limit as u8)
.set_charge_control_end_threshold(states.power_state.charge_limit)
.map_err(|err| {
states.error = Some(err.to_string());
})