Skip to content

Conversation

ShuP1
Copy link

@ShuP1 ShuP1 commented Sep 15, 2025

use an eventfd so than winsize event is sent from input thread

fixes #218

neurocyte and others added 8 commits July 23, 2025 13:39
* vxfw(Border): add BorderLabels to Border widget

* - changed enum names to snake_case.
- used Grapheme Iterator instead of old range based loop.
- used `ctx.stringWidth()` instead of `text.len`.
- added empty label guard.

* modified loop to use stringWidth instead of i range

* - Added trailing comma at the end of BorderLabel alignment enum definition.
- Changed from `.width=1` to `.width=width`

* - Added @intcast for width

* fix zig fmt errors
This also fixes the vt example.

Fixes: 58bc3fd ("deps: update zg")
Unicode is not actually used by Screen anyway,
and Vaxis.init cannot return with Vaxis.screen.unicode assigned
as the pointer to Vaxis.unicode could be dangling.

The initial Vaxis without .screen.unicode
makes {Window,widgets.View}.gwidth a footgun.
This prevents reporting kitty mouse leave events as spurious mouse clicks.
use an eventfd so than winsize event is sent from input thread
else => {
if (!builtin.is_test) {
if (self.winch_eventfd < 0) {
self.winch_eventfd = try std.posix.eventfd(0, 0);
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

eventfd isn't available on macOS or the BSDs. This would need to move a .linux block

@rockorager
Copy link
Owner

What is the deadlock you are getting? I don't think this is the correct approach given that it provides a very specific path for Linux only. But I want to understand what the actual problem is better before reviewing much more.

@ShuP1
Copy link
Author

ShuP1 commented Sep 20, 2025

#218 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Button example crashes when terminal window is resized

5 participants