feat(cli): add toggle-transparency cmd

This commit is contained in:
LGUG2Z 2024-07-17 17:25:22 -07:00
parent 6ea71834a1
commit 0f9c23b6f4
3 changed files with 10 additions and 0 deletions

View File

@ -150,6 +150,7 @@ pub enum SocketMessage {
BorderOffset(i32),
BorderImplementation(BorderImplementation),
Transparency(bool),
ToggleTransparency,
TransparencyAlpha(u8),
InvisibleBorders(Rect),
StackbarMode(StackbarMode),

View File

@ -1339,6 +1339,10 @@ impl WindowManager {
SocketMessage::AnimationStyle(style) => {
*ANIMATION_STYLE.lock() = style;
}
SocketMessage::ToggleTransparency => {
let current = transparency_manager::TRANSPARENCY_ENABLED.load(Ordering::SeqCst);
transparency_manager::TRANSPARENCY_ENABLED.store(!current, Ordering::SeqCst);
}
SocketMessage::Transparency(enable) => {
transparency_manager::TRANSPARENCY_ENABLED.store(enable, Ordering::SeqCst);
}

View File

@ -1249,6 +1249,8 @@ enum SubCommand {
/// Set the alpha value for unfocused window transparency
#[clap(arg_required_else_help = true)]
TransparencyAlpha(TransparencyAlpha),
/// Toggle transparency for unfocused windows
ToggleTransparency,
/// Enable or disable the window move animation
#[clap(arg_required_else_help = true)]
Animation(Animation),
@ -2328,6 +2330,9 @@ Stop-Process -Name:komorebi -ErrorAction SilentlyContinue
SubCommand::TransparencyAlpha(arg) => {
send_message(&SocketMessage::TransparencyAlpha(arg.alpha))?;
}
SubCommand::ToggleTransparency => {
send_message(&SocketMessage::ToggleTransparency)?;
}
SubCommand::Animation(arg) => {
send_message(&SocketMessage::Animation(arg.boolean_state.into()))?;
}