Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 

Repository files navigation

HydroToDo

HydroToDo is a stylish, terminal-based task manager written in Python.
It allows you to organize, check off, and visualize your to-dos efficiently using a modern Text User Interface (TUI) built with curses.
With features like tabbed lists, a fzf-style preview pane, vim-style keybindings, and Kitty terminal image support, HydroToDo brings ease and clarity to your daily workflow.

Based on HydroToDo by Henriquehnnm — all credit to the original project.


Features

  • Add, Remove, and Complete Tasks:
    Easily manage your to-do list—add new tasks, mark as done, or delete with a keystroke.
  • Tabbed Lists:
    Organize your tasks into multiple categories, each in its own tab.
  • Preview Pane:
    fzf-style detail panel shows notes and metadata for the selected task.
  • Notes Editor:
    Attach multiline notes to any task with a built-in editor (Ctrl+F to save, Esc to cancel).
  • Vim-style Navigation:
    Use j/k to move between tasks and h/l to switch tabs.
  • Custom Colors:
    Edit color1, color2, color4, and color_highlight at the top of hydrotodo.py to theme the app — accepts [r, g, b] lists or "#rrggbb" hex strings.
  • Kitty Image Support:
    Displays blaus.png in the header using the Kitty terminal graphics protocol.
  • SQLite Persistence:
    Tasks are stored locally in ~/.hydrotodo.db.
  • Responsive Design:
    Handles terminal resizing and warns if the window is too small.

Preview

hydroexample.mp4


Requirements

  • Python: Version 3.6 or higher
  • sqlite3: Standard library (included with Python)
  • curses: Terminal interface (native on Linux/macOS/WSL)
  • Kitty terminal (optional): Required for the header image

Note: Officially supported on Linux, macOS, and WSL.
Windows users may try running HydroToDo with the windows-curses package, but compatibility and support are not guaranteed.


Installation

Clone the repository and navigate to the project folder:

git clone https://github.com/GHeier/HydroToDo.git
cd HydroToDo

If on Windows:

pip install windows-curses

Usage

Run the script directly from your terminal:

python3 hydrotodo.py

Keybindings

Key Action
j / / Ctrl+N Move down in task list
k / / Ctrl+P Move up in task list
h / Switch to previous tab
l / Switch to next tab
Enter Check/uncheck task
a Add new task
d Delete selected task
n Edit notes for selected task
Ctrl+T New tab (category)
Ctrl+W Close current tab
Alt+P Toggle preview pane
Alt+J / Alt+K Scroll preview pane
Ctrl+H Show/hide help
q Quit the app

Customization

Edit the variables at the top of hydrotodo.py:

color1          = [40, 118, 252]   # title color
color2          = "#65dded"        # accents
color4          = "#65dded"        # help hint
color_highlight = [58, 58, 80]    # selected task / active tab background

BLAUS_DISPLAY_ROWS = 8    # header image height in terminal rows
BLAUS_DISPLAY_COLS = 20   # header image width in terminal columns

Colors accept either [r, g, b] (0–255) or "#rrggbb" hex strings. Requires a terminal that supports can_change_color() (most modern terminals do).


Contributing

HydroToDo is under active development and currently in Beta.
Suggestions and contributions are welcome via issues or pull requests.


Credits

This fork is built on top of HydroToDo by Henriquehnnm. The original project laid the foundation for everything here.


Contact

For questions or suggestions, please open an issue or contact via email.

About

A fork of HydroToDo with a Blausetoise twist

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages