I’m sharing a small AutoHotkey script I use as an automatic break reminder during work hours.
It’s a simple idea: every 60 minutes, a small pop-up window appears with a coffee cup icon (
The window always stays on top and provides two options:
OK: closes the reminder and restarts the 60-minute timer.
Snooze 5 min: closes the window and shows the reminder again after 5 minutes.
** It's just a idea for "Startup Script"
Code: Select all
; ==== Coffee Break Reminder ☕ (AHK v1) ====
#NoEnv
#SingleInstance, Force
#Persistent
SetBatchLines, -1
; --- Settings ---
intervalo := 60 * 60 * 1000 ; 60 minutes in ms
soneca := 5 * 60 * 1000 ; 5 minutes snooze
global _paused := false
; --- Main Timer ---
SetTimer, ShowReminder, % intervalo
; --- Tray Menu ---
Menu, Tray, NoStandard
Menu, Tray, Add, Show Now, ShowReminder
Menu, Tray, Add
Menu, Tray, Add, Pause Reminders, TogglePause
Menu, Tray, Add, Exit, ExitApp
Menu, Tray, Tip, Break Reminder (every 60 min)
; --- Optional Hotkey ---
^!b::Gosub, ShowReminder ; Ctrl+Alt+B to show manually
return
; ========= Handlers =========
TogglePause:
_paused := !_paused
if (_paused) {
SetTimer, ShowReminder, Off
Menu, Tray, Rename, Pause Reminders, Resume Reminders
TrayTip, Break Reminder, Paused., 2, 1
} else {
SetTimer, ShowReminder, % intervalo
Menu, Tray, Rename, Resume Reminders, Pause Reminders
TrayTip, Break Reminder, Active (every 60 min)., 2, 1
}
return
ExitApp:
ExitApp
ShowReminder:
if (_paused)
return
SoundBeep, 1000, 120
SoundBeep, 1400, 100
Gui, Break:Destroy
Gui, Break:Margin, 16, 12
Gui, Break:+AlwaysOnTop -Caption +ToolWindow +LastFound
WinSet, Transparent, 235
Gui, Break:Font, s36, Segoe UI Emoji
Gui, Break:Add, Text, Center w260, ☕
Gui, Break:Font, s11, Segoe UI
Gui, Break:Add, Text, Center w260, Time for a short break!
Gui, Break:Add, Text, Center w260 cGray, Stretch a bit, hydrate, and relax your eyes.
Gui, Break:Add, Button, gBreak_Snooze w110 h28, Snooze 5 min
Gui, Break:Add, Button, x+8 gBreak_OK w110 h28 Default, OK
Gui, Break:Show, AutoSize Center, Coffee Break
return
Break_Snooze:
Gui, Break:Hide
SetTimer, ShowReminder, Off
SetTimer, ShowReminder, % -soneca ; one-shot snooze
return
Break_OK:
Gui, Break:Destroy
return
