How to Setup a Timer on Mac with Clock App
Timers have arrived on the Mac with the addition of the Clock app coming to modern versions of MacOS. This is exciting if you’ve long wanted to use a timer on your Mac, whether to set a timer for a project, for your own pomodoro or work, cooking something, how long a break should take, or anything else you might want to use a timer for. Before you could use Siri to set one, but now it’s a dedicated feature within the Clock application, bundled with MacOS.
You will need the Clock app in MacOS to use the Timers feature, and Clock app is available on all modern versions of MacOS including macOS Sonoma, Ventura, and newer. Clock app not only introduces a timer, as we’ll discuss here, but also am alarm clock, which is another useful feature that Mac users may enjoy and appreciate.
How to Set a Timer on the Mac with Clock App
The Clock app includes a built-in Timer functionality, and it’s very easy to use:
- Open the “Clock” app on the Mac
- Click on the “Timers” tab
- Adjust the timer as needed, optionally you can label the timer, and you can also adjust the sound for when the timer goes off, then click on “Start” to begin the timer
- You can pause or cancel the timer at any time, otherwise let the timer run, it will sound when it goes off
Optionally, you can also click on the + plus button in the corner of the Clock app when in the Timer tab, and you’ll be able to access a Presets menu with a variety of preset and preconfigured timer settings. You will also see your recently used timers here too.
The addition of the Clock app on Mac includes the Timer, as discussed here, as well as a World Clock, a Stopwatch, and an Alarm Clock. These are all features that have existed on the iPhone and iPad for a while, but the Clock app just recently came to the Mac so they’re newer in macOS.
Remember you can always set a timer on your iPhone or iPad too, also through the Clock app, or through Siri.
So I went to see what was “under the hood,” hoping to use it programmatically to do things like automagically time how long certain things take me to do.
“Clock.app is not a scriptable application,” Script Debugger tells me.
Sigh. Apple is slowly turning my computer into a dumb phone.
“How to Set up a Timer on Mac with Clock App”
“Set up” is a verb and “Setup” a noun.
Maybe I’ll see a correction to your title so I won’t have to decide if I’m blocking osxdaily from my google news feed for want of either a knowledge of basic English or for want of being able to effectively apply simple proofreading 🤷🏼♂️.
Thanks for reading!
Terminal version (written/created by me):
#!/bin/sh # UPDATED: 2024.03.07 – 12.02
# requires figlet, a cli banner text display utility,
# available using homebrew: brew install figlet
exec 2>>/dev/null
tput sc
if [[ -n $1 && “$1” =~ ^[0-9]+$ && “$1” -gt 0 ]]
then
if [[ -n $2 && $2 == ‘m’ ]]
then
s=$(($1 * 60))
if [[ -n $3 && “$3″ =~ ^[0-9]+$ ]]
then
s=$((s + $3))
fi
else
s=$1
fi
if [[ $s -gt 9960 ]] # arbitrary value, picked for being under 10000
then
echo
echo ” Max timer period exceeded.”
echo ” Max period is 2 hours and 46 minutes, or 166 minutes, or 9960 seconds.”
echo
exit
fi
args=”$@”
arg1=”${args% -say *}”
argn=”${arg1:(-2)}”
arg2=”${args/$arg1/}”
sayarg=”${arg2:2:3}”
if [[ $sayarg = ‘say’ && -n “${arg2:6}” ]]
then
alarm=”${arg2:6}”
else
alarm=’Times up’
fi
ms=$(( s % 60 ))
hs=$(( s % 3600 ))
hms=$(( hs % 60 ))
hm=$(( ( $hs – $hms ) / 60 ))
h=$(( ( $s – $hms ) / 3600 ))
out=’\n ~/bin/timer %s: \n %1d hr %2d min %2d sec: %5d \n\n’
tput rc
l=30
while [[ $l > 0 ]] ; do
echo ‘ ‘
l=$(( l – 1 ))
done
tput rc
if [[ $argn != ‘-n’ ]]
then
printf “$out” “$arg1” “$h” “$hm” “$hms” “$s”
fi
while [[ $s > 0 ]]
do
sleep 1
tput rc
l=30
while [[ $l > 0 ]] ; do
echo ‘ ‘
l=$(( l – 1 ))
done
tput rc
s=$(( s – 1 ))
ms=$(( s % 60 ))
hs=$(( s % 3600 ))
hms=$(( hs % 60 ))
hm=$(( ( $hs – $hms ) / 60 ))
h=$(( ( $s – $hms ) / 3600 ))
if [[ $argn != ‘-n’ ]]
then
printf “`figlet -ckf doh $s` $out” “$arg1” “$h” “$hm” “$hms” “$s”
fi
done
v=`osascript -e “get output volume of (get volume settings)”`
osascript -e ‘set volume output volume 75’;
sleep 0.5
tput rc
l=30
while [[ $l > 0 ]] ; do
echo ‘ ‘
l=$(( l – 1 ))
done
tput rc
if [[ $argn != ‘-n’ ]]
then
printf “`figlet -ckf doh $s` $out” “$arg1” “$h” “$hm” “$hms” “0”
fi
say $alarm
osascript -e “set volume output volume $v”
else
echo
echo ” Usage:”
echo ” timer [ seconds | minutes m [ seconds ] ] [-n] [ -say ‘text to speak when timer completes’ ]”
echo ” default: -say ‘times up’ ”
echo ” silent: -say – ”
echo
echo ” -n: No figlet (use for background)”
echo ” Note: timer accepts only integer values for minutes and seconds”
echo
fi
“Setup” should be “Set Up” in the context of your headline. (Or just use another word such as “Configure”).