A simple Timer app for Mac

Last update: Mar 19, 2022

A simple Timer app for Mac

Download here

Drag the blue arrow to set a timer. Release to start! Click to pause.

When the time is up, a notification will show up with a nice sound.

Create new timers with CMD+N.

Install as a brew cask via

brew install --cask michaelvillar-timer

Inspired by the great Minutes widget from Nitram-nunca I've been using for years. But it wasn't maintained anymore (non-retina) + it was the only widget in my dashboard :)

Timer requires macOS 10.11 or later.

Build

make

Keyboard Shortcuts

Enter digits to set minutes. A decimal point specifies seconds so 2.34 is 2 minutes and 34 seconds.

backspace or escape to edit. enter to start or pause the timer. cmd+n to create a new timer. r to restart with the last timer.

GitHub

https://github.com/michaelvillar/timer-app
Comments
  • 1. Fix countdown display skipping seconds

    This is my attempt to fix the second-skipping display bug (see pull #91 and issue #90)

    Instead of changing the tick display based on the "wall time", this decrements the seconds counter based on the timer interval itself, which should be the correct behavior since it won't be affected by alignment with the system clock.

    An additional check was added to deal with cases when the thread is paused e.g. when the lid is closed on a laptop or the user is interacting with the menu bar.

    Fix countdown display skipping seconds

    Fixes #90 Closes #91

    Reviewed by luckman212 at 2020-07-15 17:26
  • 2. Reusing your assets for an elementary OS clone?

    Hi Michael,

    I switched recently to elementary OS and I really miss your awesome timer app. Have to admit I fell in love with it on macOS. That's why I just started cloning it: https://github.com/marbetschar/timer

    Unfortunately I'm more of a programmer than a designer. And as I really like your design, I wanted to ask you if you're cool if I reuse your assets for a dedicated elementary OS clone, programmed in Vala?

    To be fully transparent here, I also plan to release this Timer clone to the elementary OS AppCenter, a Pay-What-You-Want App Store. I'll probably publish it there with a suggested one-time price of 1 or 2 USD.

    Reviewed by marbetschar at 2020-01-30 20:23
  • 3. Use a fixed-width font and leading zeros for less jank

    Hi

    Is your feature request related to a problem? Please describe. I notice little movements of the timer's contents—aka "jank"—out of the corner of my eye which is distracting

    Describe the solution you'd like

    • Use a fixed width font, please, so that, e.g., 51"50" doesn't move around
    • Use leading zeroes, please, so that, e.g., 10"9" doesn't move around (it would be 10"09")

    Describe alternatives you've considered Hiding the Timer window, but when screen sharing that would make it hard for all participants to be aware of our current interval

    Cheers!

    Reviewed by nvenegas at 2020-07-07 22:19
  • 4. No notification / no sound

    Running macOS Catalina V10.15.3

    Reviewed by AndyDeNike at 2020-02-26 00:56
  • 5. Tag and release 1.5.0

    Hey @michaelvillar,

    Would it be possible to build a new release for the changes since 1.4?

    https://github.com/michaelvillar/timer-app/compare/1.4...master

    If you're super busy, I'm willing to join the project and do basic stuff like making releases, keeping a changelog, and testing.

    Reviewed by karbassi at 2018-11-20 20:21
  • 6. Update window layout to work on macOS 10.14 (Mojave)

    It took me a while to figure out what was going on in the view hierarchy, causing the clock to not get displayed on Mojave. Ideally I'd like to move to an approach that puts the clock in a more standard location in the view hierarchy that would be more robust to OS updates (such as contentView). But after experimenting for a while, I don't have any clear idea of how to do that while maintaining the visual design and behavior.

    So instead I was able to adapt the approach for Mojave by simply making the clock view a sibling of the close button.

    I also simplified a few lines of code and added comments.

    Reviewed by robinstewart at 2019-01-15 23:09
  • 7. Timer skips seconds

    Fixes #90

    Reviewed by karbassi at 2020-07-12 12:51
  • 8. 12-hour support

    Can we have 12-hour mode with an AM/PM symbol?

    Perhaps a setting, which allows to toggle between 12hour/24hour mode

    Reviewed by dixitk13 at 2019-03-28 00:49
  • 9. Mojave Bug: Transparent "Watchface" in passive mode

    Hello guys, first of all... i love this app! Thank you!

    I switched to Mojave on Monday, so I noticed this bug. As soon as the timer window is no longer active/focused, the "watchface" becomes transparent. But if I click on the timer window and make it to my active / current window, everything looks good again. Strange.

    bildschirmfoto 2018-09-27 um 11 38 20

    Thank you, Max

    Reviewed by BrandlMax at 2018-09-27 09:49
  • 10. Use a fixed-width font for less jank

    • Change to monospacedDigitSystemFont
    • Remove old version checks
    • Update build target to 10.11, as set by the project

    Fixes #85

    Reviewed by karbassi at 2020-07-08 16:42
  • 11. Shortcuts

    Honestly, the timer app is great! Thanks for putting in the work Michael!

    Do you have any plans or think it might be useful to add "time adjustment shortcuts" like just typing a number and the timer automatically sets its minutes?

    Reviewed by marcuspoehls at 2016-05-18 06:15
  • 12. Dark Mode

    I was just messing around with the code, to get started with #21, and since you've asked dark menu support, wouldn't it be gorgeous to have a dark skin as well?

    Called "Skins" the ticket because this can be just a dark skin or a customisable skins enhancement. Just some raw ideas:

    • Dark skin (automatic with dark menu)
    • Customizable skins: get rid of the image sets or add some layer on top of them

    Some quick samples:

    screen shot 2018-03-10 at 09 07 54 screen shot 2018-03-10 at 09 14 39

    Reviewed by aonez at 2018-03-11 11:09
  • 13. Distribute by homebrew

    Great app. Would love to see a homebrew cask install option, that'd be cool.

    Might even get round to it myself.

    Reviewed by bensleveritt at 2017-01-12 22:39
  • 14. The app fails to start on macOS Catalina

    Describe the bug The app isn't signed or notarized thus it fails to start.

    To Reproduce Steps to reproduce the behavior:

    1. Download the app using the link in the description or using brew cask.
    2. Run the app.

    Expected behavior Start up successfully.

    Screenshots image

    Desktop (please complete the following information):

    • macOS Catalina 10.15.6
    Reviewed by glebignatieff at 2020-09-19 15:48
  • 15. Sound choice

    Hey,

    Anyone wants to add the possibility to choose the sound of the alarm? (A menu or preference would be enough). Someone (Ralph, not sure if you want your full name here) sent me sounds he created and it's pretty sweet.

    alert-sound1.zip alert-sound2.zip

    Reviewed by michaelvillar at 2018-12-23 00:09
  • 16. doesn't work on yosemite

    I am still on yosemite

    screen shot 2016-04-06 at 17 18 58

    Reviewed by edoardoc at 2016-04-06 14:20
  • 17. Update mac osx doc icon with actual time

    It would be awesome if the app also updated the dock icon with actual time left so I wouldn't have to click the icon to know how much time has passed.

    Reviewed by akarki15 at 2017-08-21 17:20
  • 18. Buggy mouse control

    Describe the bug Hard (or even unable) to drag the blue triangle near diagonal positions.

    To Reproduce

    • Open a timer
    • Set time to one of the following: 5 min (top-right), 20 min (bottom-right), 35 min (bottom-left) or 50 min (top-left)
    • Try to drag the blue triangle again

    Expected behavior The blue triangle should be dragged.

    Actual behavior The whole window is dragged.

    Desktop (please complete the following information):

    • OS version: macOS 10.14.6
    • Version 1.5.0
    Reviewed by syimyuzya at 2020-04-12 01:41
  • 19. Cannot run timer after using `brew cask install michaelvillar-timer`

    Describe the bug MacOS security preventing timer from running after install via brew cask install michaelvillar-timer

    To Reproduce Steps to reproduce the behavior:

    1. Open Terminal
    2. Run command brew cask install michaelvillar-timer
    3. After install finishes hit CMD+Spacebar and type timer to bring up the timer app installed in step 2. Press enter.
    4. A dialog appears preventing the app to run.

    Expected behavior Timer app would start in a usable state.

    Screenshots image

    Desktop (please complete the following information):

    • OS version: [e.g. macOS 10.15.4]
    • Version [e.g. 22]

    Additional context Add any other context about the problem here.

    Reviewed by johngrant at 2020-08-20 18:04
  • 20. Refactor

    NSMakeRect -> NSRect CGPointMake -> CGPoint Unnecesery self removed some complex if's change to if where .gitingore added

    Reviewed by quver at 2016-04-08 10:04
  • 21. Add badge

    Adds the time remaining to the tile badge in the dock so users can quickly tell the time they have left. Get the context menu by right clicking the window and choose "show in dock" Closes #17

    Reviewed by DummybugStudios at 2018-06-06 18:19
  • 22. ?Automatic release via Travis ?

    Hey @michaelvillar,

    I thought I'd make life easier and set up Travis to automatically build and release the app whenever you tag the repo.

    The only thing you need to change in this PR is the api_key. You can set that up via the travis cli.

    travis setup releases
    

    You can see the working version here: https://github.com/karbassi/timer-app/releases/tag/1.x.x

    Related to #43

    Reviewed by karbassi at 2018-12-14 22:08
  • 23. Timer skips seconds

    Describe the bug The timer skips seconds from time to time (pun intended). For example, it may go from 53 to 51 without seeing 52.

    To Reproduce Steps to reproduce the behavior:

    1. Set timer to 1 minute
    2. Watch it count down and observe it skipping numbers

    Expected behavior It shouldn't skip numbers.

    Desktop (please complete the following information):

    • OS version: macOS 10.15.5
    • Version: 1.5.4
    Reviewed by karbassi at 2020-07-11 23:51
  • 24. Dark Mode

    Also upgraded to Swift 5

    Fixes #24 Fixes #40 Fixes #66

    Screen Shot 2020-04-10 at 12 26 22 AM Screen Shot 2020-04-10 at 12 26 30 AM

    Reviewed by karbassi at 2020-04-10 04:44
  • 25. elementary clone: Math issues

    Hi Michael,

    Thanks again for providing the design for the elementary clone of your Timer App! I made quite some progress, but right now I'm struggling with the math part.

    If you have some time, it would be awesome if you can tell me what the following lines exactly do. My main question here is: What exactly are location.x, location.y, center.x and center.y?:

    https://github.com/michaelvillar/timer-app/blob/b877c37a776567bc606bb332c48a579a51ca84e6/Timer/MVClockView.swift#L627-L635

    I tried to implement the logic, but for some reason the arrow item jumps straight to 6 o'clock:

    Timer-Glitch

    Here's how I tried to implement the functionality:

    https://github.com/marbetschar/timer/blob/63a2169922ebc3a3fc7ee88d7a886fbf57c55ce7/src/Widgets/Arrow.vala#L78-L97

    Reviewed by marbetschar at 2020-02-03 23:57
  • 26. Make a release

    The last release was on May 18, 2016. In homebrew cask there is the same version 1.1. This version doesn't have 'stay on top' feature.

    Can you release a new version or provide an instruction in the README.md how to build the app from source?

    Reviewed by evmorov at 2017-02-11 09:43
  • 27. Simplify and fix countdown display skipping seconds

    I was able to fix #90 and also simplify the tick timer code by using round() instead of floor(). Since the UI only allows timers to be set to an integer number of seconds, the exact "seconds remaining" is always near an integer boundary. We can simply use the round() function to make sure the nearest integer is displayed, regardless of whether the timer ends up firing slightly before or slightly after.

    Here is a typical run when I uncomment the print statement:

    9.992520928382874
    8.992309927940369
    7.992242932319641
    6.992233991622925
    5.991078019142151
    4.992653012275696
    3.9753549098968506
    2.979225993156433
    1.9741169214248657
    0.9946630001068115
    -0.010595083236694336
    

    Fixes #90 Closes #93 Closes #92 Closes #91

    Reviewed by robinstewart at 2020-07-16 19:33
  • 28. Add Stay on Top toggle

    This adds a Stay on Top toggle to the Window menu. (Feature request #7). Depends on #8.

    Reviewed by vincentpun at 2016-12-26 18:58
  • 29. [Feature Request] Always on Top

    Love to see this, if I have time (cough) after uni semester, I'll give it a crack.

    Reviewed by sifex at 2016-10-24 22:24
  • 30. AVAudioPlayer

    This converts the alert sound player to use AVAudioPlayer instead of AudioServicesPlaySystemSound().

    This change is needed to support volume adjustment in the future, and I'm hoping it also fixes the no-audio issue some people are seeing (#61).

    Reviewed by robinstewart at 2020-04-14 22:57
  • 31. No timer notifications in sleep mode

    Describe the bug If your computer goes to sleep you won't receive a notifications if the time is up.

    To Reproduce Steps to reproduce the behavior:

    1. Start a timer
    2. Wait until your computer goes to sleep or press Shift+Control+Eject
    3. Wait for the alarm
    4. Nothing happens until you interact with your computer and it awakes from sleep.

    Expected behavior You should still receive a notification

    Desktop (please complete the following information):

    • OS version: macOS 12.2.1
    • Version: 1.6.0
    Reviewed by jnnkB at 2022-02-25 12:50
  • 32. Sound reset on restart app.

    Sound reset on restart app. Can not save my selected sound.

    Reviewed by FantaZZ at 2021-12-02 03:38
  • 33. save selected sound to user preferences

    Reviewed by nandordevai at 2021-05-04 17:41
  • 34. Pause indication confusing

    A pause symbol is shown when the timer is paused which is the opposite of in (most?) music apps, where the pause symbol is shown when the music is playing. This has confused me a few time using the timer. Maybe show the text "Paused" instead?

    Reviewed by tiktuk at 2021-04-10 11:39
  • 35. A Notifications Center widget for Catalina?

    I have not updated to Catalina yet, but since Catalina added those new widgets, I think it might be better if the development of this app went into that direction, since we will eventually have to upgrade to Catalina and it would be nice to have a replacement for the Minutes widget on it, since Catalina does not support Dashboard widgets.

    Reviewed by MaxPower85 at 2021-04-09 10:14
  • 36. Scroll wheel or gesture to increase or decrease timer

    I think it would be nice to be able to set a timer using either the scroll wheel or a gesture for the track padders. First couple timers I tried to set my instinct said to use the scroll wheel. Not sure if other folks would like that but the round interface implies to me that you can use your round peripheral to set.

    Reviewed by chastain at 2021-03-22 02:48
  • 37. 15, 30 and 45 minutes alignement

    Describe the bug 15, 30 and 45 minutes aren’t neatly aligned.

    Expected behavior To respect the same angle as a clock

    Screenshots

    Capture d’écran, le 2021-01-20 à 13 48 03

    Desktop (please complete the following information):

    • OS version: macOS 11.1
    • Version 1.6.0

    Love the app by the way, so useful!

    Reviewed by JolinM at 2021-01-20 18:51
  • 38. Too much contrast in dark mode

    I find Timer's dark mode too contrasty, not pleasant to the eyes. The window frame is too black and the clock is still white. To be more in line with Apple's visual design, I suggest to brighten a little the window frame (not black but dark gray), lighten a bit more the ring around the clock, and use a very light gray for the clock. See the image below, before and after, compared with a Finder window. The difference seems low, but it is better for the eyes.

    Todays' dark mode: mode-sombre

    Suggested dark mode: mode-sombre2

    Or another radical suggestion: mode-sombre3

    Reviewed by silomia at 2021-01-20 17:13
  • 39. Keep the last sound alert in memory

    With the new version 1.6, we can choose different sound alerts. However, when we open a new timer, the sound alert number one is selected by default. I would like Timer to keep my last choice for the next time. In addition, for those who don't want any sound, this is also a good way (see request #19 ).

    Reviewed by silomia at 2021-01-20 15:35
  • 40. Apple Script API

    As a heavy user of Alfred I love to create my own workflows to use my productivity apps more efficiently.

    Unfortunately, Alfred depends (AFAIK) on an Applescript API to access applications. Since I would assume I am not the only Alfred user here. I think it would be beneficial for some of your users.

    If you make that happen, I’ll make the Alfred workflow public for the rest of your users.

    Reviewed by PDXIII at 2020-12-14 14:25
Pomodoro Technique Timer for macOS with Touch Bar support
Pomodoro Technique Timer for macOS with Touch Bar support

TomatoBar Pomodoro Technique timer for macOS with Touch Bar support ✅ Minimalistic app, contains no bloat or unnecessary features ✅ Touch Bar support

Mar 19, 2022
:skull: Mac app to block your own access to distracting websites etc for a predetermined period of time. It can not be undone by the app or by a restart – you must wait for the timer to run out.

SelfControl About SelfControl is a free and open-source application for macOS that lets you block your own access to distracting websites, your mail s

Mar 17, 2022
A screensaver for macOS which is based on the predator countdown timer. Don't worry your mac doesn't blow up 😄
A screensaver for macOS which is based on the predator countdown timer. Don't worry your mac doesn't blow up 😄

Predator Do you love the science-fiction film Predator, don't you? If it is so, this screensaver will bring you that nostalgic about those years also

Feb 13, 2022
Simple Menu Bar (Status Bar) App for mac OS and simple table app for iOS listing local Bonjour websites (as Safari 11 no longer has Bonjour Bookmarks)

LocalSites - local bonjour websites menu About With Safari 11, Apple removed Bonjour bookmarks without warning (at least without warning in a way I he

Feb 12, 2022
Simple, drag-and-drop, password-based file encryption
Simple, drag-and-drop, password-based file encryption

Cloaker New Cloaker 4.0 downloads on the Releases page! Mobile version available at https://cloaker.mobi! Static HTML/CSS/JS/WASM and interoperable wi

Mar 8, 2022
Simple screen and microphone audio recorder for Mac
Simple screen and microphone audio recorder for Mac

Kyapchar Simple screen and microphone audio recorder for Mac Sneak Peek Following GIF image is a preview of this simple recorder which stays in toolba

Feb 24, 2022
⬆ A simple Mac app designed to make uploading images and screenshots to Imgur quick and effortless.
⬆ A simple Mac app designed to make uploading images and screenshots to Imgur quick and effortless.

mac2imgur ⚠️ Warning: This project is not currently actively maintained. ⚠️ A simple Mac application designed to make uploading images and screenshots

Mar 12, 2022
VisualJSON is simple JSON pretty-viewer for Mac OS X.

VisualJSON is simple JSON pretty-viewer for Mac OS X.

Feb 25, 2022
Simple menu bar app to download YouTube movies on your Mac
Simple menu bar app to download YouTube movies on your Mac

YouTube Downloader for macOS Simple menu bar app to download YouTube movies on your Mac. Download Latest version can be found on releases page. You ca

Mar 16, 2022