- Rust 99.1%
- CSS 0.7%
- Shell 0.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| .idea | ||
| resources | ||
| src | ||
| tests | ||
| .gitignore | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| CHANGELOG.md | ||
| LICENSE | ||
| README.md | ||
Habit Helper
The Dream:
For many years I have wanted a no-nonsense habit tracker. Something to keep me focused on the daily tasks that need to get done with the following aims:
-
It runs on my desktop, not a phone, not a website that I need to load; my computer, that's it. It also needs to be a GUI, I love the command line, but if I have to open a terminal and invoke a command to mark off a task completed, it just feels like extra friction to me.
-
My goals are stored locally in an accessible format. I don't need some adware-ridden app monitoring my progress, only I need to monitor that.
-
Straightforward to use, I just want to add a task that I want to track, then just monitor my progress at it over time. A little dopamine hit when marking something off or looking at an unbroken streak is fine. But I don't want to be slaying dragons or worrying about silly hats in some habit tracking game like Habitica.
-
The app should be open source and Linux first, I don't care about Windows (it seems like lately Microsoft doesn't either), also anything I build is likely to be deemed "not pretty" enough for Mac users. Although they are free to compile it if they like.
The Tech:
This app is written in Rust it uses the rs-gtk library for the GUI. There may be prettier ways to do things, but rs-gtk seems simple enough to use.
Important Files & Directories
habits.db - SQLite database file, created when the application is first run. Stores all the tasks and their completion status.
src/misc/quotes.json - When all due tasks are marked as complete, a "Well Done" dialog window pops up with a random motivational quote from this file, you can open this file in a text editor to add or remove quotes as you wish.
Screenshots
Adding a new task with a dark-coloured desktop theme enabled.
Application home window with a few sample tasks and a dark desktop theme enabled.
Window showing the statistics of the active tasks.
All due tasks successfully marked as complete for the day.
Completion information of a task in the list.
Tag management with a light-coloured desktop theme enabled.
Task listing with a light-coloured theme enabled.
Acknowledgments
- gtk-rs for the excellent Rust GTK bindings.
Author
This project was created by Anthony Mills.
License
This project is licensed under the GNU General Public License v3.0 – see the LICENSE file for more information.






