Pre-submission Checklist
What happened?
When an app is in fullscreen and the user clicks the Thaw control item to expand the hidden section, the system menu bar immediately hides itself. The hidden items are not usable, and the menu bar stays gone until the mouse leaves and re-enters the top edge.
This only happens when "Hide app menus when showing menu bar items" (Advanced → Other) is enabled. With that option off, the menu bar stays visible (Thaw falls back to the Thaw Bar panel).
The relevant setting is enabled by default (Defaults.DefaultValue.hideApplicationMenus = true), so a fresh install reproduces this out of the box.
Root cause (investigated)
When the hidden section needs more width than the menu bar has, MenuBarSection.show() computes a PresentationMode via presentationMode(on:). If "Hide app menus" is on, it returns .inlineHidingApplicationMenus, which calls menuBarManager.hideApplicationMenus(). That, in turn, calls appState.activate(withPolicy: .regular) → NSApp.activate(ignoringOtherApps: true).
Activating an app inside a fullscreen space makes macOS immediately hide the menu bar — the well-known platform behavior reported as Apple Feedback FB13544993 ("Menu bar should not hide when in fullscreen space and a LSUIElement/accessory app is activated").
The sibling reactive code path already guards against this (MenuBarManager.swift):
guard
appState.settings.advanced.hideApplicationMenus,
...
!appState.activeSpace.isFullscreen, // ← guard present
...
But the synchronous path (MenuBarSection.show() → presentationMode → hideApplicationMenus()) has no fullscreen guard, so the activation runs even under a fullscreen space.
Steps to Reproduce
- Fresh install of Thaw (the setting is on by default), or confirm "Hide app menus when showing menu bar items" is on under Advanced → Other.
- Open any app in fullscreen (e.g. Safari/Chrome).
- Move the cursor to the top edge so the menu bar overlay reveals.
- Click the Thaw control item (the expand button for the hidden section).
Expected Behavior
The menu bar should remain visible and the hidden section should expand (or Thaw should fall back to the Thaw Bar) — without the menu bar disappearing.
Actual Behavior
The menu bar immediately hides; the hidden items are not accessible.
App Version
1.2.0 (also reproduced against main and development at 644642b)
macOS Version
26.5.1 (Tahoe)
Display Setup
Single monitor
Additional Context
Fix: add the same isFullscreen guard to MenuBarSection.show() that the reactive sink already has — when fullscreen is active, fall back to .iceBar instead of .inlineHidingApplicationMenus. The Thaw Bar panel is shown via orderFrontRegardless() and does not activate the app, so it avoids the platform issue.
I have a patch ready and will open a PR.
Pre-submission Checklist
What happened?
When an app is in fullscreen and the user clicks the Thaw control item to expand the hidden section, the system menu bar immediately hides itself. The hidden items are not usable, and the menu bar stays gone until the mouse leaves and re-enters the top edge.
This only happens when "Hide app menus when showing menu bar items" (Advanced → Other) is enabled. With that option off, the menu bar stays visible (Thaw falls back to the Thaw Bar panel).
The relevant setting is enabled by default (
Defaults.DefaultValue.hideApplicationMenus = true), so a fresh install reproduces this out of the box.Root cause (investigated)
When the hidden section needs more width than the menu bar has,
MenuBarSection.show()computes aPresentationModeviapresentationMode(on:). If "Hide app menus" is on, it returns.inlineHidingApplicationMenus, which callsmenuBarManager.hideApplicationMenus(). That, in turn, callsappState.activate(withPolicy: .regular)→NSApp.activate(ignoringOtherApps: true).Activating an app inside a fullscreen space makes macOS immediately hide the menu bar — the well-known platform behavior reported as Apple Feedback FB13544993 ("Menu bar should not hide when in fullscreen space and a LSUIElement/accessory app is activated").
The sibling reactive code path already guards against this (
MenuBarManager.swift):guard appState.settings.advanced.hideApplicationMenus, ... !appState.activeSpace.isFullscreen, // ← guard present ...But the synchronous path (
MenuBarSection.show()→presentationMode→hideApplicationMenus()) has no fullscreen guard, so the activation runs even under a fullscreen space.Steps to Reproduce
Expected Behavior
The menu bar should remain visible and the hidden section should expand (or Thaw should fall back to the Thaw Bar) — without the menu bar disappearing.
Actual Behavior
The menu bar immediately hides; the hidden items are not accessible.
App Version
1.2.0 (also reproduced against
mainanddevelopmentat 644642b)macOS Version
26.5.1 (Tahoe)
Display Setup
Single monitor
Additional Context
Fix: add the same
isFullscreenguard toMenuBarSection.show()that the reactive sink already has — when fullscreen is active, fall back to.iceBarinstead of.inlineHidingApplicationMenus. The Thaw Bar panel is shown viaorderFrontRegardless()and does not activate the app, so it avoids the platform issue.I have a patch ready and will open a PR.