
IMPORTANT!!! The signal handling API is going to go through a big, breaking overhaul. See https://github.com/idanarye/woab/issues/15.
WoAB
WoAB (Widgets on Actors Bridge) is a GUI microframework for combining the
widgets toolkit GTK with the actors framework
Actix. It helps with:
- Running the actors inside the GTK thread, allowing message handlers to
interact with the widgets directly.
- Routing GTK signals through the asynchronous runtime, so that the code
handling them can proceed naturally to interact with the actors.
- Mapping widgets and signals from Glade XML files
to user types.
Refer to the docs for more explanation on
how to use WoAB, and to the
examples for a short
demonstration.
Pitfalls
- When you start Actix actors from outside Tokio/Actix, you must use
woab::block_on
. This is a limitation of Actix that we need to respect.
- Some GTK actions (like removing a widget) can fire signals synchronously. If
these signals are registered as builder signals, WoAB will not be able to
route them and panic because it will happen while the Actix runtime is
occupied. To work around this, use
woab::schedule_outside
.
License
Licensed under MIT license (LICENSE or http://opensource.org/licenses/MIT))