A GUI Toolkit.
  • C 87.7%
  • CMake 12.3%
Find a file
2026-04-07 16:33:39 +02:00
.github Next try to get the workflow running. Disable the tests in the cmake config 2026-04-07 16:24:08 +02:00
external Add README, start implement h2ot3_window 2026-02-20 10:56:30 +01:00
src Fix PR CodeQL Vulneerability alert #1 by adding an if check to _internal_safe_free before pointer is dereferenced in debug output (*pointer) 2026-04-07 15:45:46 +02:00
.gitignore Update .gitignore, implement container 2026-02-27 17:45:32 +01:00
.gitmodules Rename yastack submodule to yastk 2026-04-03 18:44:22 +02:00
CMakeLists.txt Add yastk subdirectory and link to h2ot3_engine; enable testing in CMakeLists 2026-04-06 11:52:10 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2026-03-27 18:05:17 +01:00
CONTRIBUTING.md Create CONTRIBUTING.md in v1 2026-03-27 18:25:49 +01:00
LICENSE.md Add LICENSE.md Files 2026-03-25 18:52:28 +01:00
NOTICES.md Add mstack submodule and NOTICES.md 2026-03-25 18:22:38 +01:00
README.md Update workflows and update README 2026-03-28 13:36:58 +01:00
ROADMAP.md Update CMakeFiles (to make it possible to build all backends independent static or dynamic or dynamic loaded) and add ROADMAP.md 2026-03-22 14:42:06 +01:00
SECURITY.md Create SECURITY.md v1 2026-03-27 18:33:03 +01:00

H2OT3

H2OT3 Project Logo

Overview

H2OT3 is an experimental cross‑platform GUI framework written in C.
Its goal is to provide a fast, secure, and simple foundation for building graphical applications with minimal overhead.

This project is currently a proof of concept.
Many features are incomplete or experimental.


Current Status

H2OT3 is in early development.
The following limitations currently apply:

  • Windows cannot be displayed reliably yet
  • The event system is not implemented
  • Several backends are missing or incomplete
  • API design is still evolving
  • No stable release yet

Despite this, the project already demonstrates the core ideas behind a lightweight, backend‑agnostic GUI layer.


Goals

  • Cross‑platform windowing (Win32, XCB, Cocoa, …)
  • Minimal and clean C API
  • Fast startup and low overhead
  • Secure memory handling
  • Backend‑agnostic rendering
  • Simple integration into existing C projects

Planned Features (Roadmap)

  • Basic window creation on all platforms
  • Event system (keyboard, mouse, resize, focus)
  • Rendering abstraction
  • Example applications
  • Documentation
  • First stable release (v0.1.0)

Another similar roadmap is in ROADMAP.md


Building

cmake -S . -B build
cmake --build build

Contributing

See CONTRIBUTING.md

License

See LICENSE.md