timer
- 6 Devlogs
- 7 Total hours
terminal timer application
terminal timer application
kinda just setting things up
pw-play if it exists, rather than strictly relying on PipeWire-Pulse or other specific layers. It supports all the audio backends for REAL now.afplay on macOS, PlaySoundW on Windows.key=value config format with a custom parser. nothing fancy, but it works!:Dp.s everything here is my own tiny (and maybe terrible) code, no imported libraries. this project’s stayed dependency-less-ish from the start, it leans on existing system-level stuff (libnotify, whatever audio server you’ve got on Linux, etc) instead of bundling in external libs :D
I have notifications working, it will trigger a terminal-bell and send a notification (depends on platform though) on windows it will use a messagebox, on linux it currently depends on libnotify, maybe not great but it’s easy to use and already super common… macos also has an implementation but i have not tested it since i am not a mac user.. you can also press ‘q’ to quit while the timer is running (on all platforms)
been fixing formatting as shown, also working on taking in input too (so pressing q quits the timer early) and im also working on getting notifications implemented
ive got the command line parser working, its a recursive descent parse which turns input (taken from argv) such as “1h30m” into milliseconds, and gets used by the timer function, suprised I got it working so quickly :) … i think im going to focus on making the output format properly to Day:Hour:Minute:Second or something, since right now its just Minutes:Seconds.. then probably figure out what to do when time runs out
i was lowk tired of having to google “x timer” every time I needed one, so I figured it would be easier to just make my own simple terminal timer app
currently i have a basic test setup i guess that just counts down and exits when done, it uses milliseconds internally but takes minutes as input
i plan to turn it into a proper CLI app with input parsing, so things like:
10s5m2h2h5metc. will work, then probably implement some sort of notification or something once it’s done