Review Request 115653: Introduce a showOnCurrentPlatform method to KService

David Faure faure at kde.org
Tue Feb 11 21:02:50 UTC 2014



> On Feb. 11, 2014, 10:53 a.m., Alex Merry wrote:
> > Two (related) things concern me about this:
> > 
> > You're putting stuff that references the particular Qt platform plugin name into desktop files, and you're doing it with something not prefixed with X-KDE-
> > 
> > I'm not even sure "platform" is really the right term, since you are talking about the window system.
> > 
> > I would suggest, at a minimum, translating between "xcb" (the Qt platform name that refers to the libraries used to implement it) and "X11" (the actual window system).
> 
> Dominik Haumann wrote:
>     I'd also be interested as to why we need to extend KService and add a getter for this. Can't we achieve the same by adding a X-KDE-... flag that is read by the host application? For instance, in KF5, Kate and KDevelop may share plugins, therefore, we introduced a X-KTextEditor-Load-Default={kate, kdevelop, ...}, which looks like a similar use case to me.
> 
> Martin Gräßlin wrote:
>     > I would suggest, at a minimum, translating between "xcb" (the Qt platform name that refers to the libraries used to implement it) and "X11" (the actual window system).
>     
>     no, I really want it to be the platform name as it's specified by QGuiPlatform::platormName
>     
>     > I'd also be interested as to why we need to extend KService and add a getter for this.
>     
>     I had talked to Ben (systemsettings maintainer) how to do it and he pointed me to KService::noDisplay() :-) Let's say I consider this as an RFC, that's why I haven't extended KServiceTypeTrader like it's done for showInKDE.
>     
>     I'm not sure whether just do it in the host application will be enough or will lead to lots of code duplication. We at least need this in:
>     * Systemsettings (hide modules which are X11 specific, add modules which are Wayland specific)
>     * KInfoCenter (same thing)
>     * kcmshell (would be nice not to crash)
>     * KWin (awesome solution to get rid of screenshot effect on Wayland)
>     
>     And probably more - Plasma is a clear candidate where we might also want to make some plasmoids not available on one or the other platform (e.g. Pager looks pretty broken on Wayland at the moment).
> 
> Alex Merry wrote:
>     If you want it to be the Qt platform name, I *strongly* encourage the use of an X-KDE- prefix.
> 
> Martin Gräßlin wrote:
>     ok :-) What would you say to X-KDE-OnlyShowOnQtPlatforms and X-KDE-NotShowOnQtPlatforms
>     or maybe even QtGui instead of Qt?
> 
> Alex Merry wrote:
>     I'd be fine with that, as it does exactly what it says on the tin.

Martin: what do you mean by extending KServiceTypeTrader? showInKDE seems to just use the OnlyShowIn key in kservice.cpp, I see nothing specific to that in the trader code.

Anyhow, the X-KDE-OnlyShowOnQtPlatforms idea sounds fine to me.


- David


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/115653/#review49530
-----------------------------------------------------------


On Feb. 11, 2014, 10:40 a.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/115653/
> -----------------------------------------------------------
> 
> (Updated Feb. 11, 2014, 10:40 a.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Repository: kservice
> 
> 
> Description
> -------
> 
> Introduce a showOnCurrentPlatform method to KService
> 
> This is inspired by showInKDE to easily exclude modules which doesn't
> make any sense on the current platform. E.g. in systemsettings we
> do not want services which are X11 specific if systemsettings is
> executed on Wayland.
> 
> 
> Diffs
> -----
> 
>   src/services/kservice.h 6bc1bb988b273c9b2e6593f5f517535701b3854d 
>   src/services/kservice.cpp 1da29e2629c09a150acee977237a25924056e3bc 
> 
> Diff: https://git.reviewboard.kde.org/r/115653/diff/
> 
> 
> Testing
> -------
> 
> Added "OnlyShowOnPlatforms=xcb;" to kcmbell's desktop file. Shown in systemsettings on X, hidden on Wayland
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140211/a7143d8c/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list