Skip to content

0.4

Pre-release
Pre-release

Choose a tag to compare

@engineer948 engineer948 released this 05 Oct 18:30
· 41 commits to main since this release
8c70da1

🚀 What's New in v0.4: The "Pure C" Update
This is a massive architectural update! The bridging engine and the Graphical System Tray application have been completely unified.

We have successfully eliminated the Python dependency, resulting in a single, lightning-fast, and standalone C executable (ds4_bridge_tray). This major shift provides significant performance improvements and drastically reduces the resource footprint on your system.

✨ Key Features & Improvements
Goodbye Python! 🐍➡️🚀 The old ds4_tray.py script has been entirely retired. The UI logic is now natively written in C utilizing GTK3 and AppIndicator.
Zero Dependencies at Runtime: Running the tray app no longer requires Python 3 or gir1.2 bindings on the user's end. Just download the executable and run it!
Robust Multi-Threading: Designed using pthread and atomic variables (<stdatomic.h>). The GTK Main loop and the low-level uinput event listener now run in complete harmony without blocking each other.
Non-blocking Battery Notifications: Low battery warnings (<=20%) are now triggered seamlessly in the background without halting the controller's I/O polling.
Safe Log Management: Complete pthread_mutex locks ensure that log writings are perfectly thread-safe, avoiding race conditions or corrupted log texts. View logs directly from the tray without needing a terminal!
Memory Leak Free: Strict C99/C11 standards have been applied. Dynamic memory allocations and GTK Window destructions are carefully monitored and freed on exit.