Skip to content

Nunobrazz/QuickTodo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuickTodo

A lightweight, local todo app. No accounts, no cloud -- your data stays on your machine.

Runs as a standalone native window or in your browser. Single Python file, zero mandatory dependencies.

QuickTodo License

Features

  • Clean, minimal interface
  • Categories with color coding (customizable via settings gear)
  • Filter tasks by category
  • Right-click any task to assign a category
  • Links attached to tasks (captured automatically from browser on macOS)
  • Runs 100% locally

Quick Start

1. Download

git clone https://github.com/YOUR_USERNAME/QuickTodo.git
cd QuickTodo

Or download and unzip the repository.

2. Install (optional, for native window)

pip install pywebview

Without pywebview, the app opens in your browser instead. Both modes work identically.

3. Run

macOS / Linux:

python3 quicktodo.py

Or double-click start.command (macOS).

Windows:

python quicktodo.py

Or double-click start.bat.

4. Use

  • Add a task -- type and press Enter
  • Complete a task -- click the circle
  • Delete a task -- hover and click x
  • Assign a category -- right-click the task
  • Filter by category -- click the filter buttons
  • Manage categories -- click the gear icon

Modes

Mode How When
Native window python3 quicktodo.py (with pywebview installed) Standalone app, no browser needed
Browser QUICKTODO_BROWSER=1 python3 quicktodo.py or without pywebview Opens in your default browser

Capture Shortcut (macOS only)

Capture selected text from any app with a keyboard shortcut:

Option A: Automator Quick Action

  1. Open Automator > new Quick Action
  2. Set "Workflow receives" to text in any application
  3. Add Run Shell Script:
    export PATH="/opt/homebrew/bin:/usr/local/bin:/usr/bin:$PATH"
    python3 "$HOME/path/to/QuickTodo/quicktodo.py" add
  4. Save as "QuickTodo"
  5. Assign a shortcut in System Settings > Keyboard > Keyboard Shortcuts > Services

Option B: Hammerspoon (works everywhere, including VS Code)

  1. Install Hammerspoon
  2. Add to ~/.hammerspoon/init.lua:
    hs.hotkey.bind({"alt", "cmd"}, "L", function()
        hs.eventtap.keyStroke({"cmd"}, "C", 0)
        hs.timer.doAfter(0.15, function()
            hs.task.new("/usr/bin/python3", nil,
                {os.getenv("HOME") .. "/path/to/QuickTodo/quicktodo.py", "add"}
            ):start()
        end)
    end)

Notifications (macOS)

brew install terminal-notifier

Files

File Purpose
quicktodo.py The entire app (server + UI) in a single file
todos.json Your tasks (auto-created on first run)
settings.json Categories config (auto-created on first run)
start.command macOS launcher (double-click)
start.bat Windows launcher (double-click)

Requirements

  • Python 3.8+ (the only hard requirement)
  • pywebview (optional, for native window instead of browser)
  • terminal-notifier (optional, macOS only, for capture notifications)

License

MIT

About

A lightweight, local todo app. Single Python file, native window or browser. No accounts, no cloud.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages