You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This adds a function to obtain file descriptors from termbox that can be be polled for IO-readiness.
This can be used to integrate termbox into an event loop like asyncio or curio in python, or libuv in C, so the program can process other things (like network sockets) asynchronously with UI events.
The idea is to use tb_poll_fds() to get a set of descriptors, register them for polling (e.g. with EPOLLIN), and when any events arrive, the next tb_poll_event() can be expected to complete quickly.
Any feedback/requests on this?
In theory, the function could output struct pollfds with the correct event masks set, but this ties the implementation to poll(), and doesn't map neatly for epoll, kqueue, and others. But, since there's a non-blocking tb_peek_event() function, it should be viable to poll for all read-like states, and risk a few spurious wake-ups.
Sorry for not responding. As you can see this project is not exactly well maintained. I'm sure main loop issues are relevant for the C world as what is offered is not perfect. But yeah, I don't think I have time for any sensible project maintenance right now. Feel free to keep the changes in your own fork if you need them.
I should probably add a note to README that this project is no longer maintained.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This adds a function to obtain file descriptors from termbox that can be be polled for IO-readiness.
This can be used to integrate termbox into an event loop like asyncio or curio in python, or libuv in C, so the program can process other things (like network sockets) asynchronously with UI events.
The idea is to use
tb_poll_fds()to get a set of descriptors, register them for polling (e.g. withEPOLLIN), and when any events arrive, the nexttb_poll_event()can be expected to complete quickly.(edit: markdown formatting and C usage example)