Skip to content

Panel is clipped at the top of the screen when the macOS menu bar is set to auto-hide #556

@westline-marketing

Description

@westline-marketing

Description

With the macOS menu bar set to auto-hide, opening the panel while the bar is hidden (e.g. via the global shortcut) renders it partially above the top edge of the screen — the panel header row gets clipped.

Root cause

position_panel_at_tray_icon in src-tauri/src/panel.rs anchors the panel's top edge to the bottom of the tray icon rect:

let nudge_up: f64 = 6.0;
let panel_y = icon_logical_y + icon_logical_h - nudge_up;

When the menu bar auto-hides, the bar — and the status item in it — slides above the visible screen, so tray.rect() reports a rect above the monitor's top edge. The computed panel_y then lands off-screen, and nothing clamps the panel to the visible area (NSPanels positioned via setFrameTopLeftPoint: aren't constrained by the system).

Steps to Reproduce

  1. System Settings → Control Center → "Automatically hide and show the menu bar" → Always
  2. Set a global shortcut in OpenUsage
  3. With the menu bar hidden, press the shortcut

Expected Behavior

Panel fully visible, pinned at or below the top of the screen.

Actual Behavior

The top of the panel (provider header row) is clipped off-screen, as if glued to the hidden menu bar's position.

Proposed fix

Clamp the panel's top edge to the monitor's top. Visible-menu-bar behavior is unchanged, since the anchor already lands below the bar in that case:

let panel_y = (icon_logical_y + icon_logical_h - nudge_up).max(mon_logical_y);

Verified locally on the setup below — with the menu bar hidden the panel now pins to the top edge fully visible, and with the bar visible it sits in the usual spot. PR incoming.

OpenUsage Version

0.6.26

Operating System

macOS 26.5 (Tahoe), Mac Studio (Apple Silicon)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions