- Simple Todo는 C와 Win32 API로 만든 네이티브 Windows Todo 앱으로, Windows GUI 프로그래밍과 시스템 통합 기능을 보여주는 프로젝트임
- 주요 기능은 Todo 생성·수정·삭제, 완료 표시, 시스템 트레이 최소화, Windows 자동 시작 옵션, 대소문자 구분 없는 실시간 검색임
- 데이터는
%APPDATA%\TodoApp\todos.dat에 바이너리 파일로 저장되며, 전체 Todo 목록을 담고 최대 100개 Todo를 지원함 - 빌드는 Windows에서 MinGW-w64와 Windows SDK를 요구하며, 저장소를 클론한 뒤
.\build.bat로 컴파일함 - 구조는
main.c,todo.c,gui.c,utils/search.c로 나뉘며, GUI는 Win32 API·Common Controls·UXTheme을 사용함
프로젝트 성격
- Simple Todo는 C와 Win32 API로 작성된 네이티브 Windows Todo 애플리케이션임
- 가벼운 네이티브 실행 파일을 목표로 하며, Windows의 기본 룩앤필과 최신 Windows 비주얼 스타일을 사용함
- GUI는 Win32 API 기반이며, 시스템 트레이 통합과 파일 입출력을 통한 데이터 지속성을 포함함
Todo 기능
- Todo 항목을 생성, 수정, 삭제할 수 있음
- 작업을 완료 상태로 표시할 수 있음
- 각 Todo에 우선순위를 설정할 수 있음
- 검색 기능은 실시간으로 동작하며 대소문자 구분 없는 매칭을 지원함
- 앱을 시스템 트레이로 최소화할 수 있음
- Windows 시작 시 자동 실행하는 옵션을 제공함
데이터 저장 방식
- Todo 데이터는
%APPDATA%\TodoApp\todos.dat에 저장됨 - 저장 형식은 전체 Todo 목록을 담는 바이너리 파일임
- 저장 용량은 최대 100개 Todo로 제한됨
빌드와 실행
- 요구 사항
- Windows OS
- MinGW-w64 GCC 컴파일러
- MinGW에 포함된 Windows SDK
- 빌드 절차
- MinGW-w64를 설치하고
bin디렉터리를 시스템PATH에 추가함 - 저장소를 클론한 뒤
simple-todo-c디렉터리로 이동함 .\build.bat를 실행해 빌드함
- MinGW-w64를 설치하고
- 실행은
bin/todo.exe로 시작함
구현 구성
- 프로젝트 구조는 기능별 C 파일로 나뉨
src/main.c: 애플리케이션 진입점src/todo.c,src/todo.h: Todo 관리 로직과 데이터 구조src/gui.c: GUI 구현src/utils/search.c,src/utils/search.h: 검색 기능 구현과 선언src/app.manifest: Windows 비주얼 스타일을 위한 매니페스트
- 핵심 구성 요소는 Win32 API, Common Controls, UXTheme, File I/O임
- 디버깅은 Visual Studio, VS Code 등에서 사용할 수 있는
DEBUGGING.md가이드를 제공함
라이선스와 기여
- 라이선스는 MIT License임
- Pull Request 방식의 기여를 받음