GNOME Bugzilla – Bug 621686
Add a basic plugin API
Last modified: 2020-11-06 20:07:49 UTC
Inspired by mutter's, this allows basic plugins so that e.g. Sugar can override keybindings, etc.
Created attachment 163711 [details] [review] Add a basic plugin API
Created attachment 163712 [details] example plugin
I agree that this is a nicer approach to disabling keybindings than the one in #643682. However, it also seems to raise a lot of questions: would metacity now install some system-wide headers? That implies API/ABI stability commitments. Or would Sugar's plugin get included in metacity? (would anyone review my patches?) Also, it's not clear to me how a plugin could disable keybindings in the way that is needed - I don't see the applicable API available. Unless you were thinking that that would be added as a separate patch.
(In reply to comment #3) > I agree that this is a nicer approach to disabling keybindings than the one in > #643682. > > However, it also seems to raise a lot of questions: would metacity now install > some system-wide headers? It already does for the theming; but yes, this patch would need to be extended to install the other headers. > That implies API/ABI stability commitments. Not really, it's effectively already a desktop library. In GNOME we ship .so files that aren't guaranteed to exist permanently. > Or would > Sugar's plugin get included in metacity? (would anyone review my patches?) I'm not a metacity maintainer, but I don't see why not. Or more realistically you could get GNOME git access. > Also, it's not clear to me how a plugin could disable keybindings in the way > that is needed - I don't see the applicable API available. Unless you were > thinking that that would be added as a separate patch. Right; in general in mutter we've added API where necessary.
OK. That seems like a sane plan. If someone is willing to take on the merging of this plugin system, installation of headers, and some small level of internal API stability within each GNOME cycle, I'd be happy to fix up the API to disable keybindings and then contribute a metacity plugin to Sugar to fix #643682 in a more effective fashion.
(In reply to comment #5) > OK. That seems like a sane plan. > > If someone is willing to take on the merging of this plugin system, > installation of headers, and some small level of internal API stability within > each GNOME cycle, I'd be happy to fix up the API to disable keybindings and > then contribute a metacity plugin to Sugar to fix #643682 in a more effective > fashion. Well, I'd only say it'd be worth doing if there is a lot more you wanted to customize in metacity. If not, then the plugin system isn't worth it. I can't sign up to do it myself, but I would probably look at patches.
2 other pending items that we want to tweak: http://dev.laptop.org/ticket/10692 - disable Super+rightclick metacity menu (maybe fixed with disable keybindings? will check) http://dev.laptop.org/ticket/10794 - disable Force-quit dialog
bugzilla.gnome.org is being replaced by gitlab.gnome.org. We are closing all old bug reports in Bugzilla which have not seen updates for many years. If you can still reproduce this issue in a currently supported version of GNOME (currently that would be 3.38), then please feel free to report it at https://gitlab.gnome.org/GNOME/metacity/-/issues/ Thank you for reporting this issue and we are sorry it could not be fixed.