yaaama / totui

Todo list manager written in C

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Table of Contents

Totui

Totui is a terminal todo list manager. The name Totui is from the words “TOdo” and “TUI” (terminal user interface).

Demonstration

demonstration

Building

You can:

  1. Clone the repo: git clone https://github.com/yaaama/totui
  2. Go into the cloned folder: cd totui
  3. Create a build directory: mkdir build
  4. Make the project: make install
  5. There should be an executable inside your current working directory called totui.
  6. Run the program: ./totui.

Usage guide

The keybindings are simple. They are inspired by vim keys.

  • Move up:
    • k
  • Move down:
    • j
  • Insert new todo:
    • a
  • Delete the currently selected todo item:
    • d
  • Quit the program:
    • q
  • Toggle the todo status:
    • SPACE

Things to do (no pun intended)

Please note that I have basically done what I wanted to do and may stop updating this project as often as I have been. I was mostly using this project as a reason for me to learn how ncurses works.

Core functionality

  • Can traverse through todo items displayed on the screen.
  • User can add a new todo item.
  • Todo items can be deleted.
  • Toggle todo items
  • Resize application as the window is resized.
  • Echo bar on the bottom (displays information about user actions and program processes).
  • Help bar on the top (displays q to quit, etc).
  • Warnings for when the user may insert too long of a todo.

Aesthetics

  • Colour lines based on status.
  • A line containing something longer than the terminal width should be truncated on the screen.
    • Program should calculate how many lines the new item is occupying, and then move the cursor so that it is below the new item.
  • Lines that overflow the buffer should be rejected

Perhaps in the future

  • User can specify the default file they want to use.
  • A split plane where the user can add more information about each todo (not limited by character counts).
  • Configuration file where the user can specify the file to store the todo items in.

About

Todo list manager written in C


Languages

Language:C 97.1%Language:Makefile 2.9%