todoism

A simple and easy-to-use todo TUI


Keywords
curses, pip, python, task-manager, terminal, todo, todo-app, todolist, tui
License
MIT
Install
pip install todoism==1.21

Documentation

todoism

A simple and easy-to-use todo TUI

Demo

UI

Install and use

  • Install: pip install todoism
  • Run: todoism or todo
  • Update: pip install todoism --upgrade
┌──────────────────────────────────────────────────┐
│                                                  │
│   short commands:                                │
│   a - create new task                            │
│   d - mark task as done                          │
│   e - edit task                                  │
│   f - mark task as flagged                       │
│   q - quit this help message/todoism             │
│                                                  │
│   vim-like long commands:                        │            
│   (:<command> [args])                            │
│   :help - show this help message                 │
│   :purge - purge all done tasks                  │
│   :sort f - sort flagged tasks to top            │
│   :sort d - sort done tasks to bottom            │
│   :autosort f on|off                             │
│   :autosort d on|off                             │
│   :setcolor blue|red|yellow|green                │
│    - change background color of current task     │
│   :del [task_id] - delete task                   │
│   :edit [task_id] - edit task                    │
│   :done [task_id] - mark task as done            │
│                                                  │
│   other key bindings:                            │
│   double Backspace - delete task                 │
│   ESC - quit adding/editing task                 │
│   Enter - finish adding/editing task             │
│   Up/Down Arrow Keys - navigate through tasks    │
│                                                  │
└──────────────────────────────────────────────────┘

ToDos

  • sidebar: categories
  • apply post_deletion_update to command del
  • update time regularly: seperate thread or
  • commandline interface for e.g adding tasks
  • command: done xx
  • set color random
  • command flag
  • fix too long task causing error
  • prevent view blinking when scroll fast
  • reset key names of settings etc
  • maybe restore prev current id and row at command edit as well
  • properly display completed tasks
  • maybe make autosort flag and done default
  • grey background when adding new task using 'a'
  • make status bar prettier: wrap it as a block
  • done/flag x,y,z
  • stroke-through effect
  • add chinese language support
  • Caps commands
  • make no-task message more helpful
  • purge all
  • command autosort
  • emulate the popup menu when right click on task
  • esc to quit exit() too slow
  • command: date ymd, dmy
  • invalid command
  • custom theme
  • wrap a setup func for e.g paths
  • add mouse support
  • command print overwriting
  • can not fully display help when window too small
  • ctl + shift to select multiple tasks to delete/done
  • handle window size change
  • group different kinds of tasks
  • use repaint
  • simplify print args
  • history total done count in maybe settings
  • max task count: 99 and message for it
  • message when task count == 1
  • delete printing status bar except for time update
  • dynamic indent based on window size
  • sound

Contribute

Issues and PRs are welcome! todoism uses curses library as its main tech stack. Please refer to the library docs and how-to to get started.