Newer
Older
cl-todo / README.md

cl-todo

A simple TODO list widget for the GNOME desktop.

Honestly, this was mostly written to give me a chance to try out Gtk+3 on Common Lisp (see this tutorial).

Usage

Simply click on cl-todo. The app is designed to be used via keyboard shortcuts:

  • UP/DOWN: switch between active widgets

  • ENTER: Complete and remove the active task, or (if the input field is active) add a new task

  • RIGHT/LEFT Switch between the task view and the notes view

  • ESCAPE: Close the window (tasks are autosaved, notes not yet)

Your TODO list is saved under ~/.todo.

Tip: Add a custom keyboard shortcut to quickly call up your TODO list. To do so, copy the executable cl-todo to /usr/local/bin or similar. Then (if you're in the GNOME shell) go to "Settings" -> "Keyboard shortcuts" and scroll to the + sign at the bottom. Enter cl-todo as the command to be executed and a key combination of your choice (I use Super+Return).

Compiling

Requires a Common Lisp (tested on SBCL), Quicklisp, and the cl-cffi-gtk library.

To install, simply symlink this directory into your Quicklisp local-projects folder:

ln -s /path/to/cl-todo ~/.quicklisp/local-projects/cl-todo

Then, you can open up a REPL to run:

(ql:quickload :cl-todo)
(cl-todo:launch)

To produce a stand-alone executable, run (asdf:make :cl-todo).

Project TODO

  • save text pane content to file

  • add tabs with multiple todo lists

  • add task priorities

  • implement directory-specific todo files (with Nautilus plugin)


© Daniel Vedder 2020