feat(config): add floating ws layer behaviour opt

This commit adds a new option to the WorkspaceConfig object,
floating_layer_behaviour, which allows the user to either set
FloatingLayerBehaviour::Tile or FloatingLayerBehaviour::Float. Although

I prefer Float as a default, there was a good enough argument to make
Tile the default based on the fact that the Floating layer is
automatically engaged based on the focused window, and previously when
the focused window was a floating window, new windows would be tiled
unless they matched floating rules.
This commit is contained in:
LGUG2Z
2025-03-28 16:37:58 -07:00
parent 8a32219867
commit a98968d179
6 changed files with 53 additions and 6 deletions

View File

@@ -1,7 +1,7 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "StaticConfig",
"description": "The `komorebi.json` static configuration file reference for `v0.1.35`",
"description": "The `komorebi.json` static configuration file reference for `v0.1.36`",
"type": "object",
"properties": {
"animation": {
@@ -1199,6 +1199,25 @@
"description": "Enable or disable float override, which makes it so every new window opens in floating mode (default: false)",
"type": "boolean"
},
"floating_layer_behaviour": {
"description": "Determine what happens to a new window when the Floating workspace layer is active (default: Tile)",
"oneOf": [
{
"description": "Tile new windows (unless they match a float rule)",
"type": "string",
"enum": [
"Tile"
]
},
{
"description": "Float new windows",
"type": "string",
"enum": [
"Float"
]
}
]
},
"initial_workspace_rules": {
"description": "Initial workspace application rules",
"type": "array",