regolith-linux / ilia

A GTK-based Desktop Executor
Apache License 2.0
83 stars 11 forks source link

Chore api cleanup #88

Closed kgilmer closed 2 months ago

kgilmer commented 3 months ago

This change is preparation for modularization of ilia pages. This means that pages can be provided/loaded as separate shared libraries. These shared libaries can be packaged independently and allow ilia to be distro agnostic such that it could be used by other X11/Wayland environments if people choose to do so.

The modularization requires that all interaction between module (aka "plugin") and the host program are specified by interfaces. As such, global state is pulled down into interface contracts.