Skip to content

Move all controls into the menu bar menu - #5

Merged
ganya002 merged 1 commit into
ganya002:mainfrom
noxaur:claude/menu-bar-only
Oct 20, 2026
Merged

ganya002 merged 1 commit into
ganya002:mainfrom
noxaur:claude/menu-bar-only

Conversation

@noxaur

@noxaur noxaur commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Settings lived in a separate glass window with a dial, preset buttons, a typed field and three tabs, so a simple task took a lot of UI and code.

Menu Keep Awake For
Menu Keep Awake For
Schedule Agents
Schedule Agents

Changes

  • Move every control into the menu bar menu: Turn On/Off, Keep Awake For (15 minutes to 8 hours, or Custom…), Schedule (days and Set Hours…), Agents (follow toggle and Add Other Programs…), and the update items.
  • Delete the settings window, the dial and all its animation code, about 1,000 lines. Source is about 1,460 lines in total, down from about 2,500.
  • Remove the status, battery and battery warning lines from the menu. The icon, its tooltip, and the Stop Timer countdown show state.
  • Fix a fresh 1-hour timer showing "1h 1m left".
  • Make the sudo rule in the setup alert and README match the one the installer writes.
  • Restart the app after a crash through the login item, so a crash cannot leave the lid held awake. This applies to fresh installs.
  • Bump the version to 2.3.0 (build 6).

Verification

The app compiles, the logic tests pass, and a preview-mode launch runs without errors. A harness ran the real menu code and fired the items directly. Timer start and stop, schedule on and off, day toggle, agents toggle and Turn On/Off all changed state correctly. I did not exercise the three dialogs (custom duration, schedule hours, other programs), and I did not toggle the real lid setting from the new build. The sudo -n pmset path was checked earlier with a write that kept the existing value.

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@ganya002
ganya002 merged commit 0a9b0b0 into ganya002:main Oct 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants