Settings

Timer

Break frequency
Every {$config.break_frequency} min
Break duration
{$config.break_duration} min
Auto-start
Start timer on launch

Break Screen

Fullscreen break
{$config.fullscreen_mode ? "Fills entire screen" : "Centered modal"}
Activity suggestions
Exercise ideas during breaks

Behavior

Strict mode
Disable skip and snooze
{#if !$config.strict_mode}
Allow end early
After 50% of break
Snooze duration
{$config.snooze_duration} min
Snooze limit
{$config.snooze_limit === 0 ? "Unlimited" : `${$config.snooze_limit} per break`}
(v === 0 ? "\u221E" : String(v))} onchange={markChanged} />
{/if}
Immediate breaks
Skip pre-break warning
Working hours
Only show breaks during your configured work schedule
{#if $config.working_hours_enabled}
{#each $config.working_hours_schedule as daySchedule, dayIndex} {@const dayName = daysOfWeek[dayIndex]}
{dayName}
{#if daySchedule.enabled}
{#each daySchedule.ranges as range, rangeIndex}
updateTimeRange(dayIndex, rangeIndex, "start", v)} /> to updateTimeRange(dayIndex, rangeIndex, "end", v)} /> {#if rangeIndex === daySchedule.ranges.length - 1} {/if} {#if rangeIndex > 0} {/if}
{/each}
{/if}
{#if dayIndex < 6}
{/if} {/each} {/if}

Idle Detection

Auto-pause when idle
Pause timer when away
{#if $config.idle_detection_enabled}
Idle timeout
{$config.idle_timeout}s of inactivity
`${v}s`} onchange={markChanged} />
{/if}

Smart Breaks

Enable smart breaks
Auto-reset timer when you step away
{#if $config.smart_breaks_enabled}
Minimum away time
{$config.smart_break_threshold >= 60 ? `${Math.floor($config.smart_break_threshold / 60)} min` : `${$config.smart_break_threshold}s`} to count as break
`${Math.floor(v / 60)}m`} onchange={markChanged} />
Count in statistics
Track natural breaks in stats
{/if}

Notifications

Pre-break alert
Warn before breaks
{#if $config.notification_enabled}
Alert timing
{$config.notification_before_break}s before
{/if}

Sound

Sound effects
Play sounds on break events
{#if $config.sound_enabled}
Volume
{$config.sound_volume}%
`${v}%`} onchange={markChanged} />
Sound preset
{#each soundPresets as preset} {/each}
{/if}

Appearance

UI zoom
{$config.ui_zoom}%
`${v}%`} onchange={markChanged} />
Animated background
Gradient blobs with film grain

Mini Mode

Click-through
Mini timer ignores clicks until you hover over it
{#if $config.mini_click_through}
Hover delay
Seconds to hover before it becomes draggable
`${v}s`} onchange={markChanged} />
{/if}

Keyboard Shortcuts

Pause / Resume Ctrl+Shift+P
Start break now Ctrl+Shift+B
Show / Hide window Ctrl+Shift+S