Minimalistic keyboard-driven desktop application for managing tasks and projects in todo.txt format.
Application provides simplistic, yet pretty graphical user interface for easier managment of tasks in provided text file, formatted by the rules of the todo.txt. Goal of this project is to provide the necessary functionality and smooth usage with addition of good looking themes. Motivation was not being able to find a compromise between looks, functionality and keyboard-driven approach in other existing apps.
Application is written in Python with kivy and kivyMD library.
As of right now app, while providing full basic functionality, is not fully developed and there are possible features to add.
To run the app you must have Python installed on your computer. It is assumed that git is installed and working.
In this example desktop will be used
cd %userprofile%\Desktop
git clone https://github.com/MarcinKadziolka/done.git
cd done
conda env create -f environment.yml
conda activate done_env
After activating environment you should see name of your virtual environment preceeding command line, for example:
(done_env) C:/Users/username/Desktop/done>
python done.py
conda deactivate
In this example desktop will be used
cd ~/Desktop
git clone https://github.com/MarcinKadziolka/done.git
cd done
conda env create -f environment.yml
conda activate done_env
After activating environment you should see name of your virtual environment preceeding command line, for example:
(done_env) computer@ubuntu:~/Desktop/done$
python3 done.py
conda deactivate
Application provides basic functionality such as adding, editing and deleting tasks. App allows to prioritize tasks, tag them and to collect them in projects. Search bar allows for quickly finding tasks. All functionality is achievable with shortcuts.
On first use app will open with tutorial.txt file. To change it, open navbar, click "Choose file" and navigate to your file. Note: Click once to enter directory/open file.
To select tasks use up and down arrow keys. Selected tasks text will appear in red.
To add task click the "+" button or press Ctrl+Shift+a
and an input field will popup. After typing in task press Enter to add task to list. The input field is in fast adding mode meaning it doesn't dismiss itself after adding task. To exit press Esc key two times.
To edit task click on it or select it and press Ctrl+Shift+e
and an editing field will popup. Press enter to save changes.
To delete task click on trash icon or select it and press Ctrl+Shift+d
.
To mark task as completed click on the checkmark or select it and press Ctrl+Shift+x
. Tasks are marked with an 'x' at the beginning.
Priority is given by writing a capital letter in parenthesis before task description
(B) Write a README.md for Done project
Priority will make task appear on top of the list. Strength of priority is measured alphabetically, so A > B ... > Z
Tag is every word that begins with a '@' character. Tasks can have zero, one or more tags and they are used to group tasks together.
Wish grandma a happy birthday @call
Project is every word that begins with a "+" character. Tasks can have zero, one or more projects and they are used to group tasks together.
Prove that real part of every nontrivial zero of the Riemann zeta function is 1/2 +math101
To sort by priority click first icon in upper right corner or press Ctrl+Shift+1
. Tasks will be sorted by:
- Completion status
- Priority
- Alphabetical order
To sort by tags click second icon in upper right corner or press Ctrl+Shift+2
. Tasks will be grouped together by their tags. Tags are sorted alphabetically. Tasks without any tags will be displayed last. Within tag groups tasks are sorted like priority sort.
To sort by projects click second icon in upper right corner or press Ctrl+Shift+3
. Tasks will be grouped together by their projects. Projects are sorted alphabetically. Tasks without any projects will be displayed last. Within projects groups tasks are sorted like priority sort.
To search tasks click on the search bar or press Ctrl+Shift+s
. Only the tasks that contain entered substring provided will be displayed. Press Esc to exit.
Action | Shortcut |
---|---|
Add task | Ctrl+Shift+a |
Edit task | Ctrl+Shift+e |
Delete task | Ctrl+Shift+d |
Complete task | Ctrl+Shift+x |
Sort by priority | Ctrl+Shift+1 |
Sort by tags | Ctrl+Shift+2 |
Sort by projects | Ctrl+Shift+3 |
Go to search bar | Ctrl+Shift+s |
To change theme open navbar and choose theme.
If app crashes on start try deleting settings.txt that is stored in app installation directory.