Focus Timer

Work better with regular breaks

Focus Timer app icon

What is the Pomodoro Technique?

Pomodoro Technique breaks work into short intervals, usually 25 minutes of focus (called Pomodoro) followed by a 5-minute break. After four Pomodoros you take a longer break before starting again.

Why it works:

  • Easier to start. Twenty-five minutes feels small enough that starting doesn't feel like a big decision. Once you begin, most of the resistance disappears within a few minutes.
  • Breaks that actually happen. Without a timer, breaks get skipped or they run too long. A scheduled break means you rest before you're exhausted, not after.
  • Backed by how attention works. Staying focused takes mental energy, the way physical work tires a muscle. Working past that point leads to more mistakes. Short breaks restore that energy.
  • It rewards discipline. The timer only sets the schedule — the real benefit comes from what you do inside it: full focus, then a real break.

Focus Timer helps scheduling breaks and stepping away. All you need to do is start your first interval.

Features

Timer

Custom session lengths
Set your own focus, short-break, and long-break durations
Full session control
Pause, Rewind, Extend, Skip early — the timer adjusts to your day
Auto-progression by default
Resume session automatically after coming from break
Compact mode
A small countdown window, for anyone who doesn't use the tray icon

Notifications

Screen overlay on breaks
A full-screen reminder to help you actually take your break
Notifications & sounds
Know when a session starts or ends without watching the timer
Announcements
Extra notification to wrap up work before a break

Insight

Daily, weekly, monthly stats
See how much focused work you actually logged
Local, automatic backups
Your history is stored in a local database, backed up daily

Desktop Integration

System tray icon
Timer status and quick actions, always one click away
Global shortcuts
Control the timer from anywhere on your desktop, without switching to the app first
Idle & lock-screen aware
Detects when you've stepped away or locked your screen and adjusts the timer accordingly
GNOME Shell extension
An optional companion for tighter GNOME Shell integration

Automation

Auto-pause your media
Extra cue to step away. Resumes playback on next Pomodoro
Custom actions
Customize app further by running shell commands on timer events
D-Bus & CLI
Connect the timer to your own scripts or tools

Testimonials

Helps me know if im wasting time

MKLitTech

I have hard ADHD and this app helped me so much

Marouane

Simple, but has everything I could need

David

I use paid ios/mac applications but to be honest this one is my favourite *

zenek73

The tray icon makes it get out of the way *

egirl

An awesome extension with no nonsense. It's just straightforward and simple that's why I love it so much! *

Kageyama Tobio

* reviews refer to the older version, while the app was named GNOME Pomodoro

Download

Get it on Flathub

Recommended method,
to always get the latest release

Flatpak

flatpak install --user flathub io.github.focustimerhq.FocusTimer

Switching from gnome-pomodoro?

To keep your stats data, follow these steps:

  1. Quit the app
  2. Copy ~/.local/share/gnome-pomodoro/database.sqlite to ~/.var/app/io.github.focustimerhq.FocusTimer/data/focus-timer/database.sqlite
  3. Open the new app and check the Stats — your data should get migrated

If you prefer, find a community-maintained package in your distro repos:

Fedora

sudo dnf install focus-timer gnome-shell-extension-focus-timer

Thanks to Ankur Sinha for maintaining the packages.

Arch

Install gnome-shell-pomodoro from the AUR.

Thanks to Liam Timms for maintaining the package.

FAQ

Can't see the GNOME Shell indicator

You need to log out for the GNOME Shell to recognise or update extensions. Then, ensure it's enabled.

To see the system tray icon without the dedicated extension, use AppIndicator extension.

What happens when I skip a Pomodoro?

It depends on how much of the Pomodoro has passed. If you skip after 75% of its planned length, it counts as completed and the session indicator moves forward. If you skip before that point, the indicator does not move forward. The planned length is the original duration, before you shorten or extend the countdown.

Either way, the time you spent is recorded in your statistics.

Session resets on its own

The session expires after an hour of inactivity, or after the Pomodoro's duration — whichever is longer. This prioritises scheduling the long break at a fairer time, and ensures you start a new day with a fresh session.

How to start the timer at autostart / after log-in

We'll explore reminding to resume the timer in future versions. For now, you can use:

  1. Disable the autostart toggle in the app
  2. Create file ~/.config/autostart/io.github.focustimerhq.FocusTimer (custom).desktop:
[Desktop Entry]
Type=Application
Name=io.github.focustimerhq.FocusTimer
Exec=flatpak run --command=focus-timer io.github.focustimerhq.FocusTimer --gapplication-service --start-pomodoro
How to use the CLI

See the command below (if you're using Flatpak) or focus-timer --help-all.

flatpak run io.github.focustimerhq.FocusTimer --help-all
How to set up Custom Actions

Decide if your action needs a “switch off” command, if yes — use Conditions over Events. Set it up using dummy commands, like echo and debug it using Log window. Once you're happy with the behaviour, use real commands. For more complex behaviours you may need to write custom scripts, pass variables in arguments or toggle “Pass Input Data” and handle JSON from stdin.

How to use Focus Timer's D-Bus interface

Use D-Spy or alike to play with the D-Bus interface.

For now there is no reference manual, but these will be helpful:

Backing up data

Your data is stored in ~/.var/app/io.github.focustimerhq.FocusTimer/data/focus-timer/database.sqlite (if you're using Flatpak) or ~/.local/share/focus-timer/database.sqlite. The file is automatically backed up daily in the same directory and automatically restored in case the database gets corrupted.

Contribute

This software is licensed under the GPL 3 or later