How FocusBreaks Works
Idle-reactive scheduling that watches your actual activity, not a fixed timer.
At a Glance
Most break reminder apps count down a fixed timer. If you step away for coffee at minute 20, the timer doesn't notice. When you come back, it tells you to take a break you already took.
FocusBreaks works differently. It watches your actual PC activity — mouse and keyboard input, minute by minute — and figures out what's happening. If you took a break, it knows. If you've been working nonstop, it knows that too.
The Five Modes
FocusBreaks cycles through modes based on your schedule and activity. Each mode changes how the app behaves.
Focus
Active work time. The countdown runs, break alerts fire when due, and the screen stays on so your display doesn't lock mid-thought.
Break
Recovery time. The screen is released (it can lock naturally), and the app waits for you to return. No alerts, no pressure.
Wind Up
An optional ramp-up at the start of your day. Break alerts are relaxed so you can ease into work without immediately being told to stop.
Wind Down
An optional cooldown at the end of your day. The counterpart to Wind Up — helps you ease out of work mode rather than stopping abruptly.
Off
Outside your schedule. Activity is still recorded (so your Today counter stays accurate), but no alerts fire and no power management runs.
Break Detection
The core algorithm runs every tick. Here's what happens:
Record Activity
Every minute, FocusBreaks checks whether any mouse or keyboard input occurred. It stores this as a single bit — active or idle. No keystrokes are logged, no content is captured. Just a binary signal: were you there?
Scan Backwards
Each tick, FocusBreaks scans backwards through your activity from the current minute. It's looking for the last full break — a consecutive idle period that meets the break threshold.
The threshold is configurable. By default, a full break equals 80% of your scheduled break duration. If your break period is 10 minutes, you need 8 consecutive idle minutes.
Filter Blips
A stray mouse bump shouldn't break an idle streak. If a single active minute is surrounded by at least 3 idle minutes, FocusBreaks treats it as a blip and merges it into the idle run. Your natural break doesn't get invalidated by an accidental touch.
Compute the Session
Once the last full break is found, FocusBreaks counts forward from that point. Every active minute since your last full break adds to your current session. The focus countdown shows how many minutes of focus remain before your next break is due.
Idle Time Within a Session
Not every pause is a break. Short idle periods that don't reach the full break threshold remain part of your current session. You might step away for two minutes, check your phone, or stare out the window — FocusBreaks sees that idle time but doesn't count it as recovery.
This means your session length reflects how long you've been going without proper rest, even if there were brief pauses along the way.
Meeting Awareness
FocusBreaks checks your microphone and camera status through the Windows capability registry. When your mic or camera is active, break alerts are suppressed — you're in a meeting, not the time for a break reminder.
Mic and camera activity are recorded in the same minute-level format as keyboard/mouse activity, so your daily chart shows when you were in calls.
Screen and Power Management
FocusBreaks manages your display power per mode. During focus, wind up, and wind down, the screen stays on. During breaks, it's released. This replaces the common workaround of changing Windows power settings or editing the registry — which is a security risk because the screen never locks.
With FocusBreaks, the screen stays on when it should and locks when it should.
What Gets Stored
All data stays on your computer. FocusBreaks stores:
- One bit per minute per hour (active/idle) — 24 values per day
- Mic and camera activity in the same format
- Mode transitions (when the app changed state)
- Gap records (sleep, lock, shutdown)
No keystrokes. No application names. No screenshots. No network requests. Your activity data is yours.