Skip to content

[Bug] Clicking the control item under a fullscreen app hides the menu bar (with default 'Hide app menus' setting) #740

Description

@auspic7

Pre-submission Checklist

  • I searched existing issues (open & closed) and found no duplicates
  • I'm using the latest app version

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()presentationModehideApplicationMenus()) has no fullscreen guard, so the activation runs even under a fullscreen space.

Steps to Reproduce

  1. 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.
  2. Open any app in fullscreen (e.g. Safari/Chrome).
  3. Move the cursor to the top edge so the menu bar overlay reveals.
  4. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Noticeable bug with a usable workaroundbugSomething isn't workingmacos-26Issue specific to macOS 26 (Tahoe)

    Projects

    Status
    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions