Struct termimad::EventSource [−][src]
pub struct EventSource { /* fields omitted */ }
Expand description
a thread backed event listener emmiting events on a channel.
Additionnally to emmitting events, this source updates a sharable event count, protected by an Arc. This makes it easy for background computation to stop (or check if they should) when a user event is produced.
The event source isn’t tick based. It makes it possible to built TUI with no CPU consumption while idle.
Implementations
create a new source
If desired, mouse support must be enabled and disabled in crossterm.
either start listening again, or quit, depending on the passed bool. It’s mandatory to call this with quit=true at end for a proper ending of the thread (and its resources)
return a shared reference to the event count. Other threads can use it to check whether something happened (when there’s no parallel computation, the event channel is usually enough).
return a new receiver for the channel emmiting escape sequences
It’s a bounded channel and any escape sequence will be dropped when it’s full