diff --git a/src/cli.rs b/src/cli.rs index 1f848b9..7b086e5 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -37,6 +37,11 @@ pub enum Commands { #[command(subcommand)] command: CoolingCommands, }, + /// Display management commands + Display { + #[command(subcommand)] + command: DisplayCommands, + }, /// Hardware status Status, /// Install udev rules for rootless operation @@ -144,3 +149,14 @@ pub enum TouchpadCommands { /// Disable the touchpad Disable, } + +#[derive(Subcommand, Debug)] +pub enum DisplayCommands { + /// Show available and active refresh rates + Rates, + /// Set the display refresh rate + SetRate { + /// Target refresh rate in Hz + rate: f32, + }, +} diff --git a/src/main.rs b/src/main.rs index 29a775b..df61a6d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -26,6 +26,7 @@ fn main() { Commands::Battery { command } => commands::battery::execute(command), Commands::Power { command } => commands::power::execute(command), Commands::Cooling { command } => commands::cooling::execute(command), + Commands::Display { command } => commands::display::execute(command), Commands::Status => commands::status::execute(), Commands::InstallRules => commands::install_rules::execute(), Commands::Touchpad { command } => commands::touchpad::execute(command),