Use KWin's D-Bus interface to get desktop layout rows on Wayland
ClosedPublic

Authored by hein on Jan 16 2019, 8:35 AM.

Details

Summary

While I think mixing IPC systems in this class is not the way to go
long-term, we have a strong desire to ship a complete user experience
for virtual desktops on Wayland in 5.15. As D17691 has been delayed
and did not make the Frameworks 5 release we can depend on for 5.15,
this is Plan B.

Diff Detail

Repository
R120 Plasma Workspace
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
hein created this revision.Jan 16 2019, 8:35 AM
Restricted Application added a project: Plasma. · View Herald TranscriptJan 16 2019, 8:35 AM
hein requested review of this revision.Jan 16 2019, 8:35 AM
mart accepted this revision.Jan 16 2019, 9:15 AM
This revision is now accepted and ready to land.Jan 16 2019, 9:15 AM
This revision was automatically updated to reflect the committed changes.
libtaskmanager/virtualdesktopinfo.cpp
218

Would it be safer to assume there's 1 row until we update.

I'm sure we have some

columns = count / rows

code somewhere

293

why?

If it's not registered it won't emit the signal anyway so there's no need to disconnect.
And the regular connect would persist regardless.

It would arguably make sense to re-query the initial state on service registration in case it changed whilst kwin was offline - but that's not what this does.

hein added inline comments.Jan 16 2019, 12:23 PM
libtaskmanager/virtualdesktopinfo.cpp
218

Indeed. I had 1 initially, but somehow it changed during editing. I'll change it.

293

It's identical to the code in the KCM that passed review, and I didn't want to take any chances with this one due to the timeline. I think I might leave it as-is, since it's going to be replaced in 5.16 anyway.