An open API service indexing awesome lists of open source software.

https://github.com/cococry/todo

Simple, suckless GUI task management utility written in C with libleif
https://github.com/cococry/todo

Last synced: 8 months ago
JSON representation

Simple, suckless GUI task management utility written in C with libleif

Awesome Lists containing this project

README

          

# todo

Todo Showcase

## Overview
*todo* is a GUI task management utility that does one job, which is managing & storing your tasks. The app is written completly in C in under 1000 lines of code.

It supports serialization & deserialization of tasks. Furthmore, the app implements a priority system for your tasks and the displayed tasks are sorted from high to low priority.
There is also a filtering system that filters tasks after different critia (eg. completed, high priority,in progress).

The application is designed with configuration in mind and editing the config.h file will let you configure everything very easily. The source code is also very extensible and it is easy to add or change features if you have some knowledge of C.

## UI

The UI of the applicaton is written entirely with the [leif](https://github.com/cococry/leif) UI library which is a small immediate mode UI framework that i've written. The rendering is done with modern OpenGL by utilising a batch rendering system under the hood. As *todo* using any big UI framework like QT or GTK, it can be considered as very [suckless](https://suckless.org/philosophy).

## Terminal Interface

todo can also be used in the terminal without any gui if you prefer that. There are subcommands for every action that can
be done in the UI. For more information:

```console
todo --help
```

## Quick Start

On Linux:
```console
git clone https://github.com/cococry/todo
cd todo
./setup.sh
```

On Windows:

You would need to manually create a build script for leif and
build a static library and then link that library with the todo app and compile the app.
That would be a bit of a challange, but possible :)