Skip to content

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskDesk

TaskDesk is a native Windows todo manager written entirely in C. The code uses an object-oriented C style: structs hold object state, each module exposes a focused public API, and functions receive a self pointer for the object they operate on.

Start here

  1. Install a MinGW-w64 GCC toolchain.

  2. Open PowerShell in the project folder.

  3. Build the application:

    .\build.cmd
  4. Run it:

    .\TaskDesk.exe

build.cmd also works when local PowerShell scripts are disabled. The equivalent direct build command is:

gcc main.c src/task.c src/task_repository.c src/task_manager.c src/main_window.c `
  -Iinclude -o TaskDesk.exe -std=c11 -Wall -Wextra -Wpedantic `
  -mwindows -lcomctl32 -lgdi32

Features

  • Create, read, update, and delete tasks
  • Mark tasks completed directly in the list
  • Search titles, notes, and categories instantly
  • Filter all, due-today, completed, and overdue tasks
  • Sort by newest, due date, or priority
  • Track category, priority, optional due date, and notes
  • Show live open/completed/total counts
  • Autosave to %LOCALAPPDATA%\TaskDesk\tasks.dat

Where should I begin reading?

Read the code in this order:

  1. main.c — constructs the application object and starts it.
  2. include/main_window.h and src/main_window.c — UI state and Windows messages.
  3. include/task_manager.h and src/task_manager.c — CRUD, filtering, and sorting.
  4. include/task.h and src/task.c — one task and its behavior.
  5. include/task_repository.h and src/task_repository.c — loading and saving.

See Architecture for the complete request flow and Adding Features for step-by-step extension recipes.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages