September 8th, 2024

Fenster: The most minimal cross-platform GUI library

Fenster is a minimalistic cross-platform library for 2D graphics, simplifying window management, input handling, and audio playback. It supports Go and Zig, with example code and MIT licensing.

Read original articleLink Icon
Fenster: The most minimal cross-platform GUI library

Fenster is a minimalistic library designed for creating a cross-platform 2D canvas, drawing inspiration from older graphics programming environments like Borland BGI and QBASIC. It simplifies the process of managing application windows, handling keyboard and mouse input, and enabling audio playback with minimal coding effort. The library features a single application window with customizable size and title, automatic lifecycle management, a 24-bit RGB framebuffer for graphics, and support for cross-platform input events. It includes timers for maintaining stable frame rates and a straightforward polling API, eliminating the need for callbacks or multithreading. Fenster also provides bindings for the Go and Zig programming languages. An example code snippet demonstrates how to use Fenster to generate white noise on the canvas. Compilation instructions are provided for Linux, macOS, and Windows, detailing the necessary commands to compile and run the example. The library's API includes functions for opening and closing windows, handling system events, and manipulating pixel colors. Fenster is distributed under the MIT license, allowing its use in proprietary projects.

- Fenster is a cross-platform library for 2D graphics inspired by older programming environments.

- It simplifies window management, input handling, and audio playback with minimal code.

- The library supports multiple programming languages, including Go and Zig.

- Example code and compilation instructions are provided for various operating systems.

- Fenster is licensed under the MIT license, permitting use in proprietary applications.

Link Icon 1 comments
By @gabrielsroka - about 1 month
For c/c++.

From 2023. Posted here a few times before. See also https://zserge.com/posts/fenster/

> Fenster -- a German word for "window".

In Latin, it's "fenestra".