PomoBar

by Miguel Pimentel
5
4
3
2
1
Score: 45/100

Description

Category: Productivity Tools

The PomoBar plugin adds a compact Pomodoro timer directly to the Obsidian status bar, offering a simple way to stay focused and manage work sessions without cluttering your workspace. It supports the standard 25-minute focus timer and includes quick access to 15-minute and 5-minute break modes. With intuitive mouse controls-left-click to start or stop, middle-click to switch durations, and right-click to reset-it's easy to operate while staying immersed in your notes.

Reviews

No reviews yet.

Stats

12
stars
3,582
downloads
1
forks
401
days
131
days
131
days
8
total PRs
0
open PRs
2
closed PRs
6
merged PRs
6
total issues
3
open issues
3
closed issues
0
commits

Latest Version

4 months ago

Changelog

Fixed

  • Fixed test accessor bug in timer state management where wrong variable was checked in type validation.
  • Added null check for vault adapter to prevent runtime errors when loading custom audio files.
  • Removed debug console.log statement from timer interval cleanup.
  • Added error handling for audio playback failures to gracefully handle autoplay policy and format issues.
  • Fixed audio overlap issue by stopping currently playing audio before starting new sound.
  • Corrected volume slider description to match actual value range (0-1 instead of 0-100%).
  • Removed dead/commented CSS style.
  • Simplified volume preview sound logic for better readability.
  • Fixed TypeScript build errors in test helpers:
    • Added missing App export to test setup file
    • Resolved Jest mock type issues by switching from type casting to jest.spyOn() approach
    • Fixed "Generic type 'Mock' requires between 0 and 1 type arguments" errors
    • Eliminated "Argument of type '{}' is not assignable to parameter of type 'never'" errors

Refactored

  • Extracted duplicate sound selection logic into getSelectedSound() helper method in SoundManager.
  • Simplified timer duration calculation using array indexing instead of if/else chain.
  • Flattened icon selection conditions to reduce nesting in timer state management.
  • Added TODO comment to revisit CDN URL duplication in sound management.
  • Comprehensive test suite refactoring and optimization:
    • Enhanced test suite with comprehensive helper functions to reduce code duplication:
      • Added common-test-helpers.ts with shared mock setup utilities
      • Added plugin-test-helpers.ts for plugin-specific test patterns
      • Enhanced settings-test-helpers.ts with validation testing utilities
    • Broke down large test files into focused, maintainable modules:
      • Split settings-tab.test.ts into 3 specialized files (display, interactions, validation)
      • Split plugin.test.ts into 4 specialized files (commands, compatibility, lifecycle, settings-management)
    • Improved test code quality by extracting common patterns and reducing duplication across test suites
    • Fixed lint errors in test suite by adding proper ESLint disable comments for helper functions with internal assertions
    • Optimized test suite by removing redundant tests:
      • Eliminated 17 unnecessary tests (21.5% reduction) while maintaining coverage
      • Removed 2 fully redundant test files (settings/interactions.test.ts, plugin/settings-management.test.ts)
      • Consolidated overlapping timer state transition tests
      • Merged duplicate lifecycle and cleanup tests
      • Reduced test count from 79 to 62 tests across 10 files
      • Maintained >70% code coverage with significantly reduced maintenance burden

What's Changed

Full Changelog: https://github.com/semanticdata/obsidian-pomodoro/compare/1.6.0...1.6.1

README file from

Github

🍅 PomoBar

The Minimalist Pomodoro Timer That Keeps You Focused in Obsidian

Boost your productivity without ever leaving your notes. PomoBar is a sleek, unobtrusive Pomodoro timer that lives in your status bar—with optional audio notifications to keep you on track. Seamlessly integrate the Pomodoro Technique into your workflow with visual and audible cues.

✨ Why PomoBar?

🧘 Stay Focused, Not Distracted

PomoBar lives in your status bar, providing a constant but subtle reminder of your work session without cluttering your workspace or interrupting your flow.

🔊 Optional Audio Notifications

Get gentle sound alerts when timers complete. Choose from built-in sounds or upload your own custom audio files from your vault.

🖱️ Intuitive & Quick Controls

Manage your timers with simple clicks—no need to open new windows or type commands.

🔄 Automated Flow

Optional auto-progression automatically starts the next timer in your Pomodoro cycle, or pause after each session for manual control.

⚙️ Your Rhythm, Your Rules

Deep work sessions aren't one-size-fits-all. Custom-tune your work/break intervals to match your energy levels.


📸 See It In Action

Default View Running View
screenshot-1 screenshot-2
Also available with icons! ...and they change when running!
screenshot-icon-1 screenshot-icon-2

🎮 How It Works

The timer appears in your status bar. Control everything with simple mouse clicks:

  • Left-click - Start or pause the timer
  • Middle-click - Instantly cycle between work, short break, and long break timers
  • Right-click - Reset the current timer (when paused)

⌨️ Keyboard-Friendly Commands

Prefer keyboard shortcuts? PomoBar includes comprehensive commands you can assign to custom hotkeys in Obsidian's settings:

Command Description
Start/Pause timer Toggle the timer on or off
Reset current timer Reset the timer for the current session
Cycle to next timer duration Switch between work, short break, and long break
Toggle sound notifications Enable or disable audio alerts on the fly
Toggle status bar visibility Show or hide the timer display
Toggle icon visibility Control the status bar icon display

For more detailed instructions, check out our full documentation.

⚙️ Configurable to Your Needs

PomoBar adapts to your unique work style:

  • Flexible Durations - Customize work, short break, and long break durations
  • Cycle Control - Set how many work sessions before a long break
  • Audio Options - Choose from 6 built-in sounds or use your own files
  • Volume Control - Adjust sound volume to your preference
  • Visual Preferences - Show/hide icons and the entire status bar timer
  • Auto-Progress - Automatically start the next session or pause for manual control

🚀 Installation

  1. Open SettingsCommunity Plugins in Obsidian
  2. Disable Safe Mode if it's enabled
  3. Click Browse and search for "PomoBar"
  4. Click Install, then Enable the plugin

Manual Installation

  1. Download the latest release files (main.js, manifest.json, styles.css) from the releases page
  2. Create a new folder named pomobar inside your vault's .obsidian/plugins/ directory
  3. Copy the downloaded files into this new folder
  4. Reload Obsidian (Ctrl/Cmd + R) and enable the plugin in the settings

💬 Community & Support

PomoBar is a free and open-source project built for the Obsidian community. We believe in the power of collaboration and welcome contributions of all kinds. Whether you're a developer, a designer, or just an enthusiastic user, you can help shape the future of this plugin.


Ready to boost your productivity? Install PomoBar from the Obsidian Community Plugins marketplace today!

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Focus Mode
5 years ago by ryanpcmcquen
Add focus mode to Obsidian.
Status Bar Pomodoro Timer
5 years ago by kzhovn
A status bar pomodoro timer plugin for Obsidian.
Pomodoro Timer
2 years ago by eatgrass
A pomodoro timer that helps manage your daily focus
Fullscreen Focus Mode
5 years ago by Razum
ProZen
3 years ago by Moskvitin
Obsidian plugin for going FULL screen
Day Planner (OG)
3 years ago by James Lynch (continued by Erin Schnabel)
An Obsidian plugin for day planning and managing pomodoro timers from a markdown task list.
Stille
5 years ago by Michael Lee
🌗 Stille — An Obsidian plugin that helps you focus on your writing, a section at a time.
Word Sprint
4 years ago by Andrew Lombardi
Obsidian Word Sprint plugin
Folder Focus Mode
4 years ago by grochowski
Focus file explorer on chosen folder and its files and subdirectories, while hiding all the other elements.
Pomodoro
5 years ago by Tokuhiro Matsuno
Flexible Pomodoro
4 years ago by grassbl8d
Zen
3 years ago by Maxymillion
A focus mode Obsidian plugin. Inspired by "iA Writer".
Timer
3 years ago by Marius Wörfel
Obsidian plugin, which allows you to measure time.
Ghost Fade Focus
5 years ago by Sami Korpela
Ghost Fade Focus plugin for Obsidian
Focus and Highlight
4 years ago by BO YI TSAI
A plugin for obsidian to focus and highlight on a specific heading in Reading mode.
Pomodoro Widget
2 years ago by bitegw
A plugin for ObsidianMD that adds a pomodoro timer widget. Get it from the Community plugins tab.
Focus Active Sentence
3 years ago by artisticat
Highlight the active sentence in Obsidian.md
Text Block Timer
10 months ago by frankthwang
Full Screen Toggle
2 years ago by Donkey Pacific
Fullscreen toggle plugin across all platforms for Obsidian.
Perilous Writing
3 years ago by Sameer Ismail
An Obsidian plugin which demands writing output, at the threat of bludgeoning your in-progress work.
Book Smith
a year ago by Yeban
一个用于在Obsidian上进行书籍管理及长文创作的Obsidian插件
digital paper
3 years ago by Daniel Fernandes
turn off backspace and undo, like writing with a pen on real paper.
Auto Hide Cursor
3 years ago by Mo Ismat
A simple plugin for https://obsidian.md
Disable Tabs
4 months ago by David V. Kimball
Disables having more than one tab open at a time Obsidian.
Pomodoro Planner
2 years ago by Onur Nesvat
Minidoro
4 months ago by Shakti Sampad Swain
Minidoro is a minimalist Pomodoro timer that lives right in your Obsidian header. It's designed to be simple, unobtrusive, and fully customizable.
Dialogue Mode
2 years ago by Patrick Chiang
Text Focus
2 years ago by usysrc
Focus the text area when opening a new note.
Simple Focus
a year ago by Lin Qing
Allows you to focus on a specific file or folder. 让你可以专注于一个文件或文件夹
White Noise
a year ago by Zhou Hua
Blur Mode
a year ago by dangehub
Blur Mode - Blur elements on the obsidian interface for presentations or screenshots|模糊模式 - 对obsidian界面上的元素进行模糊处理以便演示或截图
My Typewriter Line
6 months ago by dmo-code
Role Switch
2 months ago by Zafrem
Switch between different work roles (developer, writer, researcher, etc.) with intentional transitions and session tracking.
Lark Style CountDown Timer
5 months ago by Zhaoyang Yu
Dangerous Mode
5 months ago by Vansh Kumar
most dangerous writing app in obsidian