Fluent Pomofocus

by Jeff1024
5
4
3
2
1
Score: 50/100

Description

A Pomofocus recreation for Obsidian with system sound notifications, drift-free timer, and popout mini-window.

Reviews

No reviews yet.

Stats

0
stars
11
downloads
0
forks
3
days
3
days
3
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
35
commits

Latest Version

3 days ago

Changelog

Bug Fixes & Compliance Updates

  • Fix: Remove redundant word Obsidian from manifest description
  • Fix: Replace static style assignments with setCssStyles
  • Fix: Resolve floating promises and add explicit type guards
  • Fix: Replace raw fetch calls with Obsidian built-in requestUrl
  • Fix: Use dynamic vault.configDir instead of hardcoded config path
  • Fix: Eliminate all !important declarations by increasing CSS specificity
  • Compliance: Inject pre-build compiler guard (portalCompliancePlugin) into esbuild pipeline

README file from

Github

Fluent 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 minAppVersion 1.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)

  1. Copy the plugin folder into <vault>/.obsidian/plugins/fluent-pomofocus/.
  2. Required files: manifest.json, main.js, styles.css. Optional: sounds/*.mp3 (otherwise first play fetches and caches them).
  3. 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.