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,
},