Skip to content

Let the user choose Dock icon vs. menu bar vs. background-only presence #38

Description

@trsdn

Problem

OpenFreshr always runs as a regular app: a Dock icon and a menu bar status item,
with no way to turn either off. Some people don't want a permanent menu bar
icon at all, but still want a way to tell the app is running and reach its
window/Settings — for example a Dock icon alone, or an app that stays fully in
the background until relaunched.

Proposal

Add a "Presence" (or similar) setting with a small number of modes, e.g.:

  • Dock and menu bar (today's fixed behavior)
  • Dock icon only — no status item; Settings/other windows reachable from
    the Dock icon's menu
  • Menu bar only — accessory app (LSUIElement-style), no Dock icon (what
    several sibling apps in this account already do, see below)
  • Background only — no persistent UI element; relaunching the app (opening
    it again while it's running) brings up its window, the way a "run in
    background, open on demand" utility behaves

Needs NSApplication.setActivationPolicy(...) switched at runtime
(.regular / .accessory) plus a reopen handler for the "background only"
case, and the choice needs to survive relaunch (stored the way other startup
settings already are).

Constraints to check before implementing

  • Anything that assumes a status item always exists (menu building, update
    flow, single-instance handling) needs review, not just a policy flip.
  • Losing the menu bar icon must not lose the only way to reach the app's
    functionality — a Dock icon or a background relaunch path has to remain.

Related

Same request filed across the menu-bar apps in this account:
trsdn/OpenPromptr, trsdn/PtionsPlus, trsdn/OpenSwitchr, trsdn/OpenWritr, trsdn/OpenZombr, trsdn/OpenZonr

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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