Skip to content

aliffrhn/mora

Repository files navigation

Mora app icon

Mora

Minimalist macOS menu bar focus timer with configurable Pomodoro cycles, full-screen break overlays, and lightweight daily progress tracking.

CI Latest release Downloads License: MIT macOS 13+ PRs Welcome

Download · Features · Build From Source · Contributing · License

Mora is currently a preview release. The core timer, break, sound, progress, idle auto-pause, and shortcut flows are present, but signing, notarization, and polish are still being shaped.

Download

Latest release: Mora 1.4

  • Download: Mora-1.4.dmg
  • Version: 1.4 (CFBundleVersion 5)
  • macOS: 13+
  • Architecture: universal macOS build (arm64 + x86_64)
  • SHA-256: 47764e264c96a1780f5ad3af00fdb8fc1677c8bdb11f23c375c26d30ef51821f

Open the DMG and drag Mora.app into /Applications.

This build is not Developer ID signed or notarized yet. macOS may block the first launch; if you trust this build, allow it from System Settings > Privacy & Security.

Features

  • Menu bar first: start, pause, resume, restart, and quit without managing an app window.
  • Configurable focus, short-break, and long-break durations with 25/5/15 defaults.
  • Full-screen break overlays on every display with countdown and skip/dismiss controls.
  • Daily progress for today's circles, four-step mora progress, and banked moras.
  • Progress corrections from the menu panel: add or remove a circle, or reset today.
  • Launch at login toggle in Settings.
  • Chimes for focus end, break end, and cycle completion, with a sound toggle.
  • Global shortcuts for the main timer commands.
  • Optional idle auto-pause for keyboard/mouse inactivity, with an enable toggle and configurable threshold in Settings.
  • Return-from-idle prompt when you come back after an auto-pause, with resume, restart-block, and stay-paused choices.

Keyboard Shortcuts

Shortcut Action
Shift + Command + S Start or resume
Shift + Command + P Pause
Shift + Command + R Restart work session
Shift + Command + K Skip break

Screenshots

Current menu bar panel: today's circles/moras, live countdown, timer controls, break actions, and quit.

Mora menu panel

Privacy & Permissions

Mora stores timer state, progress, and preferences locally in macOS UserDefaults.

Idle auto-pause uses local keyboard/mouse inactivity signals. Mora does not include analytics, accounts, cloud sync, or telemetry upload.

Known Limitations

  • Not notarized yet, so first launch may require manual approval in macOS security settings.
  • Detecting keyboard inactivity for idle auto-pause may require granting Accessibility permission.
  • Launch at login registration may fail for unsigned development builds; use an installed release build.
  • Error handling and edge-case polish are still WIP.

Build From Source

Requirements:

  • macOS 13+
  • Xcode 26+ / Swift 6.2+
  • SwiftPM dependency resolution for HotKey

Recommended local run:

  1. swift package resolve
  2. open Mora.xcodeproj
  3. Run the Mora scheme from Xcode.

Developer smoke path:

./script/build_and_run.sh

For app-like behavior, prefer Xcode, ./script/build_and_run.sh, or an installed .app bundle over raw swift run.

Tests

swift test

The Xcode project also includes the Mora and MoraSnapshotTests schemes.

Tech Stack

  • Swift 6.2+
  • AppKit + SwiftUI menu bar app
  • Combine for state propagation
  • HotKey for global shortcuts
  • UserDefaults for lightweight local persistence

Roadmap

  1. Polish the v1.0 preview release path: signing, notarization, and repeatable DMG packaging.
  2. Add progress summaries and usability polish from real usage feedback.

Contributing

Contributions are welcome! Whether it's a bug report, a feature idea, or a pull request — every bit helps.

  1. Read the Contributing Guide for setup and workflow.
  2. Check open issues or open a new one to discuss your idea.
  3. Fork, branch, and send a PR.

Please also see our Code of Conduct.

License

Distributed under the MIT License.

Acknowledgments

  • HotKey — global keyboard shortcuts.
  • Built with SwiftUI, AppKit, and Combine.

If Mora helps you stay focused, consider giving it a ⭐ — it helps others find the project.

About

Minimal macOS menu bar Pomodoro timer (25/5/15) with full-screen break overlays, daily circles/moras tracking, and simple pause/restart controls

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages