Review Request 120279: Port to KWayland client library

Martin Gräßlin mgraesslin at kde.org
Mon Sep 22 14:43:28 UTC 2014



> On Sept. 19, 2014, 11:37 a.m., David Edmundson wrote:
> > Modules/base/info_wayland.cpp, line 236
> > <https://git.reviewboard.kde.org/r/120279/diff/1/?file=313396#file313396line236>
> >
> >     This will add a row when the keyboard is added, but won't delete it when you remove it.
> >     
> >     When you add a keyboard again you'll now have two.
> 
> Martin Gräßlin wrote:
>     no, this is not how the seat works, unplugging the keyboard will not remove the capability keyboard from the seat, neither will adding one at the capability. One would have to reconfigure the system (in a way which I do not know how to do).
>     
>     Given that I think it's a very unlikely scenario that it would change while the KCM is open.
> 
> David Edmundson wrote:
>     then why are we using a connect? 
>     Or is it more like we're going from from unknown -> "might have keyboard" as we load the data?
> 
> Martin Gräßlin wrote:
>     what I should add: I also don't want the KCM to update to changes. That's why the Output gets deleted once the change signal is recieved. Unfortunately wl_seat doesn't provide a mechanismn like wl_output to get a callback once all data is submitted.
> 
> Martin Gräßlin wrote:
>     > Or is it more like we're going from from unknown -> "might have keyboard" as we load the data?
>     
>     yes exactly. The information is pushed from wayland in an async way.
> 
> David Edmundson wrote:
>     I don't know about Wayland, but on DBus having a client library that hides the difference between false and just not loaded tends to be a headache later on.
> 
> Martin Gräßlin wrote:
>     Thanks for the suggestion. This might be added to KWayland::Client::Seat. Unfortunately the Wayland interface is not really useful here. As I wrote above: wl_output has a mechanism to announce when all information is set, wl_seat doesn't. This should be fixed in the wl_seat interface and then we could expose it in a useful way in the library.
> 
> David Edmundson wrote:
>     and it doesn't always do the capabilitiesCallback/nameCallback on connection?

no, that depends on the version. If the version is less than 2, the nameCallback will not be invoked. Also it's not specified in the documentation that the callbacks have to be invoked when connecting (which is explicitly stated for other interfaces). I don't know whether that is a documentation oversight or whether the capabilities don't have to be announced. For other interfaces (e.g. the _wl_fullscreen_shell) the capabilities are not announced if there are none.


- Martin


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


On Sept. 22, 2014, 3:46 p.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/120279/
> -----------------------------------------------------------
> 
> (Updated Sept. 22, 2014, 3:46 p.m.)
> 
> 
> Review request for Plasma.
> 
> 
> Repository: kinfocenter
> 
> 
> Description
> -------
> 
> By using the KWayland library we don't need to interact with the
> low level C-library.
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt 9a89864d56772725dbd976efe507d8e2f6d62ea6 
>   Modules/base/CMakeLists.txt e84a1dc25924e48f07f160a3b0c8b4346809f8f9 
>   Modules/base/info_linux.cpp a4304160dfb4d3b2101a41025d81f0c8cf64ff11 
>   Modules/base/info_wayland.h 80bf2a28098515301db6a6c58c6f3700ff117d93 
>   Modules/base/info_wayland.cpp 2d70fb8d1fec423d7edd1218df83313f524e3d70 
>   Modules/info/CMakeLists.txt 79b40102bb46db9a7b839e8a89aef89d567d1cd6 
>   Modules/pci/CMakeLists.txt 64b9cbf363fa2cbcf25f52ab6063c45c3165e5d7 
> 
> Diff: https://git.reviewboard.kde.org/r/120279/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20140922/89c1c789/attachment.html>


More information about the Plasma-devel mailing list