From 09e5eaca889255d24ad2f1603b7bacea223b6881 Mon Sep 17 00:00:00 2001 From: Peter Fajdiga Date: Tue, 19 Sep 2023 21:13:10 +0200 Subject: [PATCH] add re-maximize setting --- package/contents/ui/config.ui | 18 ++++++++++++++---- src/config/config.ts | 1 + src/config/definition.ts | 5 +++++ src/layout/LayoutConfig.ts | 1 + src/layout/Window.ts | 2 +- src/world/World.ts | 1 + 6 files changed, 23 insertions(+), 5 deletions(-) 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, },