A flexible approach to reduce overhead and allow a spectacle to be used on more platforms (cross platforms) and add new features like screen record capabilities without drawbacks.
Makes Code also more readable as for example the X11 backend can be splitted into two different backends (one for kwin, one for general)
Backends are now plugins, which can be linked statically or be loaded dynamically. The user has a new setting, in which he can see all available backends and can select a new one ... load/unload existing ones.
Currently this is work in progress, there are still some bugs and missing featurs
- Bug fix: KWin X11 backend -> Fullscreen, rectangular mode doesn't work as the signal screenshot created is not emitted (presumably bug in KWin?)
- Bug fix: Support for the case where no screenshot backend is available (due to that, currently all modes except the gui mode are disabled)
- Bug fix: Display correct plugin in use in setting, if last used plugin is not available anymore
- Feature: Add support for dynamic plugins (write one for testing?)
- Feature: Read data from json instead (more efficient as dynamic plugins don't have to be loaded then)
- probably more