feat(cli): add command for new option ToggleFloatOverride

This commit is contained in:
alex-ds13
2024-10-07 10:30:37 +01:00
parent 0e8dc85fb1
commit 30bdaf33d5
3 changed files with 9 additions and 0 deletions
+1
View File
@@ -77,6 +77,7 @@ pub enum SocketMessage {
ToggleMonocle, ToggleMonocle,
ToggleMaximize, ToggleMaximize,
ToggleWindowContainerBehaviour, ToggleWindowContainerBehaviour,
ToggleFloatOverride,
WindowHidingBehaviour(HidingBehaviour), WindowHidingBehaviour(HidingBehaviour),
ToggleCrossMonitorMoveBehaviour, ToggleCrossMonitorMoveBehaviour,
CrossMonitorMoveBehaviour(MoveBehaviour), CrossMonitorMoveBehaviour(MoveBehaviour),
+3
View File
@@ -1355,6 +1355,9 @@ impl WindowManager {
} }
} }
} }
SocketMessage::ToggleFloatOverride => {
self.window_management_behaviour.float_override = !self.window_management_behaviour.float_override;
}
SocketMessage::WindowHidingBehaviour(behaviour) => { SocketMessage::WindowHidingBehaviour(behaviour) => {
let mut hiding_behaviour = HIDING_BEHAVIOUR.lock(); let mut hiding_behaviour = HIDING_BEHAVIOUR.lock();
*hiding_behaviour = behaviour; *hiding_behaviour = behaviour;
+5
View File
@@ -1167,6 +1167,8 @@ enum SubCommand {
WorkspaceName(WorkspaceName), WorkspaceName(WorkspaceName),
/// Toggle the behaviour for new windows (stacking or dynamic tiling) /// Toggle the behaviour for new windows (stacking or dynamic tiling)
ToggleWindowContainerBehaviour, ToggleWindowContainerBehaviour,
/// Enable or disable float override, which makes it so every new window opens in floating mode
ToggleFloatOverride,
/// Toggle window tiling on the focused workspace /// Toggle window tiling on the focused workspace
TogglePause, TogglePause,
/// Toggle window tiling on the focused workspace /// Toggle window tiling on the focused workspace
@@ -2470,6 +2472,9 @@ Stop-Process -Name:komorebi -ErrorAction SilentlyContinue
SubCommand::ToggleWindowContainerBehaviour => { SubCommand::ToggleWindowContainerBehaviour => {
send_message(&SocketMessage::ToggleWindowContainerBehaviour)?; send_message(&SocketMessage::ToggleWindowContainerBehaviour)?;
} }
SubCommand::ToggleFloatOverride => {
send_message(&SocketMessage::ToggleFloatOverride)?;
}
SubCommand::WindowHidingBehaviour(arg) => { SubCommand::WindowHidingBehaviour(arg) => {
send_message(&SocketMessage::WindowHidingBehaviour(arg.hiding_behaviour))?; send_message(&SocketMessage::WindowHidingBehaviour(arg.hiding_behaviour))?;
} }