README file from
GithubFluent Pomofocus
Obsidian plugin that recreates Pomofocus inside the vault: drift-free countdown, dual focus/break alarms, system + in-app notices, optional task list, and three surfaces (sidebar, popout leaf, floating modal).
Architecture (agents): ARCHITECTURE.md.
Requirements
- Obsidian
minAppVersion1.7.2 (manifest.json) - Desktop or mobile (
isDesktopOnly: false); popout leaf and Electron window-focus need desktop - Node 18+ only if you build from source
Install (release)
- Copy the plugin folder into
<vault>/.obsidian/plugins/fluent-pomofocus/. - Required files:
manifest.json,main.js,styles.css. Optional:sounds/*.mp3(otherwise first play fetches and caches them). - Enable Fluent Pomofocus in Community Plugins.
Build from source
npm install
npm run build # esbuild production → main.js, copies main.css → styles.css
npm run dev # watch bundle
Entry: src/main.ts. Bundler: esbuild.config.mjs.
Open the timer
| Surface | How |
|---|---|
| Right sidebar | Ribbon timer, or command Open Pomofocus in Sidebar |
| Popout window | Command Open Pomofocus in Small Window (480×720); falls back to sidebar if openPopoutLeaf is missing |
| Floating modal | Command Open Pomofocus in Floating Window; also opens when a period-end notification is clicked |
Also: Start / Pause Pomofocus Timer, Reload Pomofocus Settings from Disk.
Timer
Modes: Pomodoro, Short Break, Long Break. Defaults: 50 / 10 / 20 minutes; long break every 3 completed pomodoros. START / PAUSE on the card; skip appears once the period has started. Auto-start of the next break or pomodoro is on by default.
Floating modal keys: Space start/pause (not while typing), Ctrl+Tab / Ctrl+Shift+Tab cycle modes, Esc close.
Tasks, alarms, settings
Tasks are on by default. Each task tracks actual / estimated pomodoros. Completing a pomodoro increments the active task. Optional Auto Check Tasks marks it complete when actual ≥ estimate.
Thirteen alarm sounds plus silent. Focus and break can share one set or use Separate sound for breaks. First START requests Notification permission. Period end: in-app notice (6 s) plus a silent native notification. Click focuses Obsidian and opens the floating modal.
Canonical JSON: .obsidian/fluent-pomofocus.json (not the plugin folder, so updates do not wipe tasks). Optional custom path inside the vault. Themes: Obsidian, teal, green, blue.