diff --git a/package/contents/ui/config.ui b/package/contents/ui/config.ui index c3eaf82..8eeb4b3 100644 --- a/package/contents/ui/config.ui +++ b/package/contents/ui/config.ui @@ -229,8 +229,18 @@ - + + + Re-maximize tiled windows + + + Restore maximized and full-screen states of tiled windows on focus + + + + + Qt::Vertical @@ -246,21 +256,21 @@ - + Layering mode: - + Keep tiled windows below - + Keep floating windows above diff --git a/src/config/config.ts b/src/config/config.ts index d187815..f9473f7 100644 --- a/src/config/config.ts +++ b/src/config/config.ts @@ -10,6 +10,7 @@ type Config = { untileOnDrag: boolean, stackColumnsByDefault: boolean, resizeNeighborColumn: boolean, + reMaximize: boolean, tiledKeepBelow: boolean, floatingKeepAbove: boolean, windowRules: string, diff --git a/src/config/definition.ts b/src/config/definition.ts index 58611db..1143dfa 100644 --- a/src/config/definition.ts +++ b/src/config/definition.ts @@ -107,6 +107,11 @@ const configDef = [ "type": "Bool", "default": false }, + { + "name": "reMaximize", + "type": "Bool", + "default": false + }, { "name": "tiledKeepBelow", "type": "Bool", diff --git a/src/layout/LayoutConfig.ts b/src/layout/LayoutConfig.ts index d9c62d2..6f513d8 100644 --- a/src/layout/LayoutConfig.ts +++ b/src/layout/LayoutConfig.ts @@ -3,6 +3,7 @@ type LayoutConfig = { gapsInnerVertical: number, stackColumnsByDefault: boolean, resizeNeighborColumn: boolean, + reMaximize: boolean, tiledKeepBelow: boolean, maximizedKeepAbove: boolean, }; diff --git a/src/layout/Window.ts b/src/layout/Window.ts index 91d5ad1..f3fd026 100644 --- a/src/layout/Window.ts +++ b/src/layout/Window.ts @@ -34,7 +34,7 @@ class Window { } let maximized = false; - if (this.isFocused()) { + if (this.column.grid.config.reMaximize && this.isFocused()) { // do this here rather than in `onFocused` to ensure it happens after placement // (otherwise placement may not happen at all) if (this.focusedState.maximizedVertically || this.focusedState.maximizedHorizontally) { diff --git a/src/world/World.ts b/src/world/World.ts index 8f93a81..da050a8 100644 --- a/src/world/World.ts +++ b/src/world/World.ts @@ -35,6 +35,7 @@ class World { gapsInnerVertical: config.gapsInnerVertical, stackColumnsByDefault: config.stackColumnsByDefault, resizeNeighborColumn: config.resizeNeighborColumn, + reMaximize: config.reMaximize, tiledKeepBelow: config.tiledKeepBelow, maximizedKeepAbove: config.floatingKeepAbove, },