TinyWindowManager (TWM) is a minimal, flexible window manager for lightweight GUI projects.
It handles basic window logic (position, dragging, focus, etc.) β while leaving rendering entirely up to you.
Currently, itβs designed to integrate easily with tools like rayGUI, but aims to stay renderer-independent.
π§© A tiny foundation for custom GUI systems β simple, modular, and extensible.
- πͺ Window logic only: manages window state, position, and focus
- π§± Simple interface:
Windowstructs + static functions for updates and drawing - β‘ Lightweight: no dependencies, minimal code footprint
- π§ Easy to use: override
Init()andDraw()for defining behavior
namespace TWM {
struct Window {
Rectangle Bounds;
bool Dragging = false;
bool Active = false;
virtual void Init() {}
virtual void Draw() {}
};
extern std::vector<Window *> States;
void MakeMoveable(Window* win, float TitleBarHeight = 20.0f);
void Update();
void Draw();
} // namespace TWMTinyWindowManager is written in C++, header-only.
Just include TWM.hpp in your project and define TWM_IMPLEMENTATION once before importing it
MIT License β free for personal and commercial use. Contributions and pull requests are welcome!
Join the Discord server to chat about the project, ask questions, or follow development updates: https://discord.gg/7zvpWnE7QV