Integrate KGlobalAccel into kwin_wayland
Review Request #124187 - Created June 26, 2015 and submitted
We need to grab the DBusInterface before anything interacts with org.kde.kglobalaccel to prevent kglobalaccel5 from starting. [wayland] Add a plugin for kglobalaccel The KGlobalAccelD which gets created by KWin needs a plugin for the platform specific parts. This change introduces such a plugin. It's linked against kwin so that it can integrate with the core. On enable the plugin registers itself in the InputRedirection and GlobalShortcutsManager checks the plugin whether a shortcut got triggered. As the loading of the plugin must happen after InputRedirection is fully created a dedicated init method is added to InputRedirection.
- run kwin_wayland on DrmBackend/Libinput
- started yakuake and used F12 -> shows/hides correctly
- started KRunner and used alt+space -> shows/hides correctly
- used a few of KWin's own shortcuts - they all worked (modulo Alt+Tab where something is more broken)
doesn't this need some QDBusConnectionInterface::registerService("foobar", QDBusConnectionInterface::ReplaceExistingService, ServiceReplacementOptions roption = DontAllowReplacement)
QDBusConnectionInterface::registerService("foobar", QDBusConnectionInterface::DontQueueService, QDBusConnectionInterface::AllowReplacement) in kglobalacceld (ie. kglobalacceld takes it if necessary but will defeat to kwin_wayland asap.)?
Otherwise if any (non-gui) service (kded?) starts up before kwin, kglobalacceld gets launched and kwin can sulk as much as it wants, it's not becoming the shortcut daemon?
Alternatively - should kglobalaccel start/claim service on wayland at all??