β¨ New Features
πͺ Windows
-
Mouse wheel support added.
-
Improved popup widget handling:
- Direct form reference for popups.
- Safer redraw handling (null checks, no parent_window dependency).
- Proper popup lifecycle management (Configure, Render, focus handling).
- Close popup on focus loss.
- Multiple nil-safety improvements (Fixes #21).
π macOS (Darwin)
-
Popup window support added and stabilized.
-
Keyboard support implemented:
- Key down/up + modifier tracking.
- NSEvent monitoring with proper cleanup.
-
Mouse wheel support via NSEvent scroll monitoring:
- Handles vertical & horizontal deltas.
- Supports precise scrolling deltas.
- Proper coordinate conversion and popup routing.
- Cleanup of event monitors on window destruction.
-
Fix: first Cairo surface retrieval for popup.
-
Prevent main window scrolling in certain wheel cases.
π§ Linux (Wayland)
Major window decoration and resize improvements:
-
Frame callback synchronization to eliminate flicker during resize.
-
Smooth interactive resize handling.
-
Shadow surface resize detection (edges & corners).
-
Proper XDG resize edge handling.
-
Resize cursor updates on borders & corners.
-
Improved pointer surface tracking and cursor logic.
-
Titlebar rendering improvements:
- Better font fallback handling across distros.
- Proper button layering.
- Intelligent title truncation with ellipsis.
- Fixed
SetTitlenot assigning title correctly. - Improved color and positioning logic.
π Improvements
- Optimized Windows cursor handling.
- Multiple cursor fixes on Windows (Fixes #19).
- Bumped
wincdependency to latest release (mouse wheel support). - Improved popup null safety across platforms.
- Refactored resize logic to avoid destroy/recreate patterns.
- Removed old frame code (cleanup/refactor).
- Code formatted with
gofmt -sandgoimports.
π Maintenance
- Govulncheck version bumps.
- General cleanup and stabilization across macOS, Windows, and Linux backends.
π― Overall Impact
This release significantly improves:
- Cross-platform input handling (mouse wheel + keyboard on macOS).
- Popup stability and rendering correctness.
- Wayland resize smoothness (major flicker fix).
- Windows feature completeness (min/max, cursor polish).
- General robustness and null safety.
The project moves closer to feature parity across Windows, macOS, and Linux with notably improved input and window management behavior.