diff --git a/src/logic/Preferences.swift b/src/logic/Preferences.swift index ba0b0db22..2d45b2178 100644 --- a/src/logic/Preferences.swift +++ b/src/logic/Preferences.swift @@ -24,6 +24,7 @@ class Preferences { "mouseHoverEnabled": "true", "showMinimizedWindows": "true", "showHiddenWindows": "true", + "showTabsAsWindows": "false", "windowDisplayDelay": "0", "theme": "0", "showOnScreen": "0", @@ -63,6 +64,7 @@ class Preferences { static var mouseHoverEnabled: Bool { defaults.bool("mouseHoverEnabled") } static var showMinimizedWindows: Bool { defaults.bool("showMinimizedWindows") } static var showHiddenWindows: Bool { defaults.bool("showHiddenWindows") } + static var showTabsAsWindows: Bool { defaults.bool("showTabsAsWindows") } static var windowDisplayDelay: DispatchTimeInterval { DispatchTimeInterval.milliseconds(defaults.int("windowDisplayDelay")) } static var hideSpaceNumberLabels: Bool { defaults.bool("hideSpaceNumberLabels") } static var startAtLogin: Bool { defaults.bool("startAtLogin") } diff --git a/src/logic/Windows.swift b/src/logic/Windows.swift index bfbfb2315..6a47e7c6d 100644 --- a/src/logic/Windows.swift +++ b/src/logic/Windows.swift @@ -100,7 +100,7 @@ class Windows { !(Preferences.appsToShow == .active && window.application.runningApplication != NSWorkspace.shared.frontmostApplication) && !(Preferences.spacesToShow == .active && window.spaceId != Spaces.currentSpaceId) && !(Preferences.screensToShow == .showingAltTab && !isOnScreen(window, screen)) && - !isTabbed(window) + (Preferences.showTabsAsWindows || !isTabbed(window)) } static func isTabbed(_ window: Window) -> Bool { diff --git a/src/ui/preferences-window/tabs/AppearanceTab.swift b/src/ui/preferences-window/tabs/AppearanceTab.swift index dbdade2fc..2516a7a84 100644 --- a/src/ui/preferences-window/tabs/AppearanceTab.swift +++ b/src/ui/preferences-window/tabs/AppearanceTab.swift @@ -19,6 +19,7 @@ class AppearanceTab: NSViewController, PreferencePane { LabelAndControl.makeLabelWithDropdown(NSLocalizedString("Show on:", comment: ""), "showOnScreen", ShowOnScreenPreference.allCases), LabelAndControl.makeLabelWithSlider(NSLocalizedString("Apparition delay:", comment: ""), "windowDisplayDelay", 0, 2000, 11, false, "ms"), LabelAndControl.makeLabelWithCheckbox(NSLocalizedString("Hide space number labels:", comment: ""), "hideSpaceNumberLabels"), + LabelAndControl.makeLabelWithCheckbox(NSLocalizedString("Show standard tabs as windows:", comment: ""), "showTabsAsWindows"), ]) grid.column(at: 0).xPlacement = .trailing grid.rowAlignment = .lastBaseline