In the last few days, schitzu and I wrote a new stopwatch script in Bash. It simply prints ongoing time in hours, minutes and seconds format. Running the same script again in a separate process, pauses the timer. Running ./sw --stop resets it. The output format is in Json, so you can use it in third-party apps.

Stopwatch module in Waybar

Personally I use this module in the Wayland statusbar Waybar as a custom module. The configuration part will look like this:

[...] "custom/stopwatch": { "format": "  {} ", "exec": "~/.config/waybar/sw", "on-click": "~/.config/waybar/sw", "on-click-right": "~/.config/waybar/sw --stop", "return-type": "json" } [...]

You have to adapt the paths to the executable script above. The stopwatch script itself is available here inside my NixOS configuration repository.