woab 0.4.0

Widgets on Actors Bridge - a GUI microframework for combining GTK with Actix
Documentation

Build Status Latest Version Rust Documentation - Latest Version Rust Documentation - Nightly

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 starting Actix actors from outside Tokio/Actix, woab::block_on must be used. This is a limitation of Actix that needs to be respected.
  • 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::spawn_outside.
  • dialog.run() must not be used - use woab::run_dialog instead.

License

Licensed under MIT license (LICENSE or http://opensource.org/licenses/MIT))