fitimer

Crates.iofitimer
lib.rsfitimer
version1.1.0
sourcesrc
created_at2023-06-03 10:40:30.49248
updated_at2023-08-25 08:46:47.146963
descriptionA timer to keep fit and healthy whilst having a sedentary work.
homepage
repositoryhttps://github.com/mazharz/fitimer
max_upload_size
id881531
size109,414
Maz (mazharz)

documentation

README

fitimer

A timer to keep fit and healthy whilst having a sedentary work.

Simplicity

You are either working or taking a break. So we have those two states in the real world. I used to use pomodoro timers for this, but this is simpler and has a nicer interface for me.

Screenshot of fitimer in work state

How to install

$ cargo install fitimer

Features

  • desktop notifications
  • customizable colors

Configuration

Fitimer is configurable through a json file, here is the default config located at ~/.config/fitimer/config.json:

  • Default colors use the gruvbox color pallete.
  • Durations are in minutes
  • tick rate (in milliseconds) means how frequent the app should get re-rendered (increase this to reduce CPU load)
{
  "tick_rate": 1000,
  "durations": {
    "work": 25,
    "rest": 5
  },
  "color": {
    "black": "#282828",
    "white": "#fbf1c7",
    "gray": "#928374",
    "yellow": "#d79921",
    "green": "#98971a",
    "red": "#cc241d",
    "blue": "#458588",
    "purple": "#b16286",
    "aqua": "#689d6a",
    "orange": "#d65d0e"
  }
}

Stats

There is a file located at ~/.cache/fitimer/fitimer.log which logs how much time was spent for each type of activity. This file is used to draw the graph, if it grows too large at any point, you can safely delete it.

Todo

  • setup tui
  • add timer state
  • toggle timer
  • change timer state between work and rest
  • save progress into a file on toggle/change
  • make graph for statistics
  • add help menu for shortcuts
  • remove env vars and use json config file
  • remove option to configure date and move to static config
  • move the stat file into somewhere appropriate other than .config
  • change stat file format to use only date (no time) and use w & r instead of work & rest
  • add settings page?
  • add option to disable graph (prevents setting into file too)
  • add option to delete stat file content
Commit count: 36

cargo fmt