Review Request 122270: port kcminit away from kdelibs4support

Martin Gräßlin mgraesslin at kde.org
Wed Jan 28 08:01:07 GMT 2015



> On Jan. 27, 2015, 7:59 a.m., Martin Gräßlin wrote:
> > startkde/kcminit/main.cpp, lines 250-254
> > <https://git.reviewboard.kde.org/r/122270/diff/1/?file=345342#file345342line250>
> >
> >     I do not like this. If the only need is to check whether it's X11 multi-head, it should open an xcb_connection_t - if that fails we don't have an X-Server. If it succeeds we can check the number of screens.
> 
> Nick Shaforostoff wrote:
>     understood, but the question remains: is kcminit the best place to do multihead-related stuff?
> 
> Thomas Lübking wrote:
>     It's required by KApplication and while that's in kde4support, it's still there (as well as KDE4 clients)
>     So "yes, we need that everywhere" - for now.
>     
>     Clients seem to default the env to false, so uncoditionally setting it true is wrong for sure.
>     
>     It'd rather be "multihead = (screenCount > 1);" (ignoring the ini) what however would be a feature loss.
>     
>     
>     => Proposal
>     users should be able to pre-control the variable in eg. ~/.kde/env (or wherever the Plasma 2 equivalent is)
>     If the variable is set to false, it remains like that.
>     If not (ie. it's not set or set true resp. anything but 0/false) it becomes true if the screen count > 1
>     
>     Spares the ini lookup, but I don't think you get around 
>     
>     xcb_connection_t *c;
>     int screen_count = xcb_setup_roots_length(xcb_get_setup(c));
>     
>     without risking to really break stuff (the suggested approach still causes a transitional break)
> 
> Nick Shaforostoff wrote:
>     reading ini file is not more than 0.5 second with 'cold cache'. getting rid of kdelibs4support for kcminit is 2 seconds gain.
>     direct xcb request would require copying some 30 lines of code from xcp qpa plugin (= a no go).

> direct xcb request would require copying some 30 lines of code from xcp qpa plugin

that should be less and can be done without copying code form xcb qpa. Feel free to look at kwin/main_x11.cpp to see how it can be done. As I did the port to xcb I can safely grant a relicense if that's needed.


- Martin


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


On Jan. 28, 2015, 1:47 a.m., Nick Shaforostoff wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/122270/
> -----------------------------------------------------------
> 
> (Updated Jan. 28, 2015, 1:47 a.m.)
> 
> 
> Review request for kde-workspace, Aleix Pol Gonzalez, Martin Gräßlin, and Lukáš Tinkl.
> 
> 
> Repository: plasma-workspace
> 
> 
> Description
> -------
> 
> Now kcminit is linked with less libraries -> startup time improved
> 
> I also suggest always setting KDE_MULTIHEAD=true to eliminate ini file access during startup and to be able to stop linking against QtGui
> 
> 
> Diffs
> -----
> 
>   startkde/kcminit/CMakeLists.txt ffae38c 
>   startkde/kcminit/main.h 1140b77 
>   startkde/kcminit/main.cpp 4724323 
> 
> Diff: https://git.reviewboard.kde.org/r/122270/diff/
> 
> 
> Testing
> -------
> 
> compiled, ran 'kcminit --list' and kcminit AAA
> 
> 
> Thanks,
> 
> Nick Shaforostoff
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20150128/8f2c333d/attachment.htm>


More information about the kde-core-devel mailing list