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

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 and rest periods.
  • ⏲️ Set the duration of the preparation in the settings.
  • 🔊 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.

Download 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 46 Flatpak runtime and SDK and the Freedesktop SDK Rust and LLVM extensions.
$ flatpak install --user org.gnome.{Sdk,Platform}//46 org.freedesktop.Sdk.Extension.{rust-stable,llvm16}//23.08
  1. Clone the current repository.
$ 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.

✍️ License

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