John Dalbey


A minimalist desktop "to do" list, written in Python with Tkinter GUI.

What is the minimalist's To Do list? A note in ballpoint pen on the back of your hand.
So any kind of computerized todo list isn't really minimalist, because it requires a computer.
But if you want the smallest, fastest todo list possible, this one may be it.

View the Project Goals


Watch 90 second video demo.

Grab the source code file, todoquick.py, from the repository. (Click the "Code" icon above).
Edit the file and change the value in quotes on line 12
todofile = "/home/user/todolist.txt"
to the name of a file on your workstation, preferably in a sync-able folder, like Dropbox.
Save and run. If the file doesn't exist, it will be created the first time you save your list.

Note: todoquick.py depends on python-tk package. If python-tk is not installed, an error will appear when you run todoquick, requesting that you install python-tk.


Screenshot thumbnail
To Do Quick Screenshot

Launching the application opens a simple text area for typing.
The bottom line of the window displays a single line keyboard command reference.
Pressing F1 will display a very short function summary.
Navigate using standard cursor keys and navigation buttons.
Enter each to do item on a separate line.
A scroll bar appears if there are more items than can be displayed in the text area. The window can be resized.
Ctrl-S saves to a file. The filename is hard coded; since I don't need multiple notes there's only one file and it's in my Dropbox folder where it will sync automatically.
Ctrl-Q (or the window close button) will quit.

Organizing Items

Place the cursor on an item and press Ctrl-Up to move it up one line,
or Ctrl-Down to move it down one line. You can press Up (or down) multiple times quickly and the item will advance in the desired direction.

Completing items

Place the cursor on an item and press Alt-Down to mark it complete, which means moving it to the last line in the document and placing a ">" character at the start of the line. The current date and time are appended to the line.

Document modified status indicator

Whenever the application is launched it loads the specified file into the text area.
Any modification to the text will cause an asterisk to appear in the title bar.
Saving the file clears the asterisk.
If you attempt to quit and there are modifications, a confirmation dialog will appear prompting if you want to quit anyway.

Reload changes

If the file has been changed on disk by another process, a dialog will appear asking if you want to reload changes.


Just type stuff to do, one item per line.
Move high priority items to the top, low priority items to the bottom.
Mark an item done when you complete it. View the list of completed items at the bottom of the document to see your productivity.
Press Ctrl-S to save and then Ctrl-Q to quit. You don't even have to release the Control key.
If you notice an item hanging around for more than a couple of days, consider moving it off the "todo" list onto a "backlog" list. I keep a separate backlog list as a Tomboy Note. Don't clutter the "todo" list with strategic plans and long-range goals. It's meant to be a lean and fast list of action items that need attention in the very near future, i.e., no more than a day or two.
You might consider using these conventions for your items.

Feedback is welcome. Developers, please contribute your enhancements to the project.

Project Admins:


Wiki: Project Goals