lxqt-panel
lxqt-panel copied to clipboard
Initial Window Manager backend plugin infrastructure
Hello, This is a possible Window Manager backend managing code and plugin infrastructure.
ILXQtTaskbarAbstractBackendbecomesILXQtAbstractWMInterface- Every backend is contructed by a
ILXQtWMBackendLibrarysubclass factory - Backends are installed in
${PLUGIN_DIR}/backendfolder
We could put CMake code in a macro like it's done for panel plugins
I'm copying this comment from #2043 so that it does not get lost.
We want to let user develop an independent plugin for an exotic WM and it will be selected in some way at runtime.
That sounds too ambitious to me, especially because Wayland WMs come and go and there's no guarantee that they're shell-compatible, but if you and @marcusbritanicus could execute this plan with a reasonable amount of code and without extra dependencies, who am I to disagree? ;)
I think Qt first checks QT_QPA_PLATFORM, then it checks XDG_SESSION_TYPE and something else. As far as I have seen, LXQt does not use env vars for most works.
We can use a mix of hard-coded values (majority) and plugin settings.
- The X11/Wayland detection will be hard-coded.
- On the wayland side, support form Plasma will be hard coded. The plasma protocol is complete, custom plugins will not add any value.
- The compositor detection will be hard-coded - we will respect
XDG_CURRENT_DESKTOP. - For a support compositor, we will load the plugin designed by us. For now, the only DE support we can provide is wayfire. Eventually, we might be able to add support for sway and Hyprland as well.
- If any user wants to use their plugin, they can override it using a setting in the plugins.
TaskBarBackendOverrides = Wayfire:my-wayfire-plugin, Hyprland:some-other-plugin, sway:wlroots, generic:my-wlroots-plugin
- Fallback will be the generic wlroots plugin, until wayland protocols are ready.
Afaik the comments are visible only to the author until "Finish your review" is clicked.
I thought so. I had added a few comments, and yesterday I did the "Finish your review" only to notice later that my comments had gone missing. I perhaps did something wrong.
Will it be done in September?
Will it be done in September?
@knm100 If you wish to test, you can use this: https://github.com/LXQt-Marcus-Fork/lxqt-panel/tree/wlroots_backend_patched
Will it be done in September?
@knm100 If you wish to test, you can use this: https://github.com/LXQt-Marcus-Fork/lxqt-panel/tree/wlroots_backend_patched
Thank you, I will try this branch