Skip to content

Timer app for high intensity interval training

License

Notifications You must be signed in to change notification settings

mfep/exercise-timer

Repository files navigation

Exercise Timer

CI badge License badge Flathub badge Platforms badge Translations badge dependency status

Exercise Timer is a simple utility to conduct interval training. It is built for the GNOME desktop using libadwaita and Relm4.

A screenshot of Exercise Timer's exercise list UI A screenshot of Exercise Timer's timer UI

🏋️ Features

  • 💾 Save and recall presets containing the number of sets and the duration of the exercise, rest and preparation periods.
  • 🔊 A beeping sound is played at- and prior to each transition.
  • 🗣️ The volume of the sound can be adjusted.
  • ☯️ Light and dark mode follows the system's setting.

Installing

The recommended way of installing Exercise Timer is via Flathub.

Get it on Flathub

🛠️ Building the Flatpak

  1. If not present, install flatpak-builder. It is most probably available in the operating system's package repository. E.g. on Fedora:
$ sudo dnf install -y flatpak-builder
  1. If not present, add Flathub as a flatpak remote.
$ flatpak remote-add --user --if-not-exists flathub-verified https://flathub.org/repo/flathub.flatpakrepo
  1. If not present, install the GNOME 47 Flatpak runtime and SDK and the Freedesktop SDK Rust and LLVM extensions.
$ flatpak install --user org.gnome.{Sdk,Platform}//47 org.freedesktop.Sdk.Extension.{rust-stable,llvm18}//24.08
  1. Clone the current repository. Be aware that the binary assets are hosted in git LFS. git LFS must be installed on the system to perform a proper checkout!
$ git clone https://github.com/mfep/exercise-timer.git
  1. Build and install Exercise Timer with flatpak-builder!
$ cd exercise-timer
$ flatpak-builder --user --install --force-clean build ./build-aux/xyz.safeworlds.hiit.Devel.yml

🧑‍🤝‍🧑 Contributing

Translations

Exercise Timer is translated via Weblate. Fixes to existing translations as well as translating to new languages are welcome!

Development

PRs and feedback in the form of issues are most welcome.

Code of Conduct

This project follows the GNOME Code of Conduct.

✍️ License

This work is licensed under the GNU GPLv3. See LICENSE for details.