| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
| |
This adds new layout configuration, preparing for actually using the
layouts. This also restructures the code and tries to keep code
interfacing with the foreign structures together and rename them to more
sensible names.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
The plugin now passes the key events to the Wayland clients.
|
| |
|
|
|
|
|
|
|
| |
This is done to cleanup the dangling reference to the opaque state
before unloading the plugin.
This fixes the problem where the runtime gets a "strange object" during
garbage collection after hot-reloading the plugin while keeping the RTS
running.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
This is done by passing an interface to the plugin from the harness. The
plugin can then request the harness do some things (such as reload), and
the harness will do that.
|
| | |
|
| |
|
|
| |
Remove it as such!
|
| |
|
|
|
|
|
|
|
|
|
|
| |
reload.
It turns out I could actually remove the metaload handler from the
plugin interface. As things turn out, when fully unloading the shared
object and reloading it, the Haskell runtime no longer complained. This
makes things much simpler, which is great.
I do wonder if I'm going to run into issues because of this, but I'll
cross that bridge when it's burning.
|
| |
|
|
|
|
| |
Right now nothing interesting is happening, but the new tinywl
implementation is successfully loading a plugin and calling a handler
for 'handle keybinding', which is pretty slick.
|
| |
|
|
|
| |
Add more functions to the plugin interface and write some generators to
generate an interface header file and the plugin's loading code.
|
| | |
|
|
|
Things are still purely for testing as I figure out how best to handle
the ffi boundary, though things are starting to make sense.
|