From 529ef4a9d74c90cc9fc14f7d565eb72a3f250001 Mon Sep 17 00:00:00 2001 From: Andrew Kvalheim Date: Fri, 31 May 2024 09:18:23 -0700 Subject: [PATCH] Add setting Auto Exit Tabbed Tiling Mode --- lib/extension/tree.js | 1 + lib/prefs/settings.js | 6 ++++++ schemas/org.gnome.shell.extensions.forge.gschema.xml | 4 ++++ 3 files changed, 11 insertions(+) diff --git a/lib/extension/tree.js b/lib/extension/tree.js index e9f2c7c..313f0f8 100644 --- a/lib/extension/tree.js +++ b/lib/extension/tree.js @@ -1217,6 +1217,7 @@ export class Tree extends Node { // If only a single tab remains, exit tabbed layout if ( + this.settings.get_boolean("auto-exit-tabbed") && parentNode.nodeType === NODE_TYPES.CON && parentNode.layout === LAYOUT_TYPES.TABBED && parentNode.childNodes.length === 1 diff --git a/lib/prefs/settings.js b/lib/prefs/settings.js index 6bcce52..04d688f 100644 --- a/lib/prefs/settings.js +++ b/lib/prefs/settings.js @@ -119,6 +119,12 @@ export class SettingsPage extends PreferencesPage { { id: "stacked", name: _("Stacked") }, ], }), + new SwitchRow({ + title: _("Auto Exit Tabbed Tiling Mode"), + subtitle: _("Exit tabbed tiling mode when only a single tab remains"), + settings, + bind: "auto-exit-tabbed", + }), new SwitchRow({ title: _("Auto Split"), subtitle: _("Quarter Tiling"), diff --git a/schemas/org.gnome.shell.extensions.forge.gschema.xml b/schemas/org.gnome.shell.extensions.forge.gschema.xml index 4e2ff19..ee42081 100644 --- a/schemas/org.gnome.shell.extensions.forge.gschema.xml +++ b/schemas/org.gnome.shell.extensions.forge.gschema.xml @@ -127,6 +127,10 @@ true Floating windows toggle always-on-top + + true + Exit tabbed tiling mode when only a single tab remains + true Enable auto split or quarter-tiling based based on smaller side