diff --git a/src/lib.rs b/src/lib.rs index e587de5..65d83b8 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -211,26 +211,24 @@ pub async fn execute_dpms_command( } } - // Parse the command for hyprland dispatch - let dispatch_type = match action { - "on" => { - if let Some(monitor_name) = monitor { - DispatchType::Custom("dpms", &format!("on {}", monitor_name)) - } else { - DispatchType::Custom("dpms", "on") - } + // Execute the command via hyprland dispatch + match (action, monitor) { + ("on", Some(monitor_name)) => { + let command_str = format!("on {}", monitor_name); + Dispatch::call(DispatchType::Custom("dpms", &command_str))?; } - "off" => { - if let Some(monitor_name) = monitor { - DispatchType::Custom("dpms", &format!("off {}", monitor_name)) - } else { - DispatchType::Custom("dpms", "off") - } + ("on", None) => { + Dispatch::call(DispatchType::Custom("dpms", "on"))?; + } + ("off", Some(monitor_name)) => { + let command_str = format!("off {}", monitor_name); + Dispatch::call(DispatchType::Custom("dpms", &command_str))?; + } + ("off", None) => { + Dispatch::call(DispatchType::Custom("dpms", "off"))?; } _ => return Err("Invalid action".into()), }; - - Dispatch::call(dispatch_type)?; Ok(()) }