This commit adds a new dependency - KWindowSystem, to help
with window system detection. If wayland is detected, then
preferred framebuffer plugin is switched to "pw" (pipewire).
Summary:
Adds a new framebuffer implementation, which uses xdg-desktop-portal to support remote
desktop on Wayland and uses PipeWire to deliver the screen content. So far only mouse
support is implemented, because keyboard support is missing on KWin side.
Reviewers: Kanedias, romangg
Reviewed By: Kanedias
Subscribers: asturmlechner, pino, ngraham, romangg
Differential Revision: https://phabricator.kde.org/D20402
Summary:
Previously krfb had version set to 5.0. This is misleading.
Now, do the same as other standard KDE apps, like ark or dolphin: use
KDE_APPLICATIONS_VERSION_MAJOR, KDE_APPLICATIONS_VERSION_MINOR, etc.
This page: https://www.kde.org/applications/system/krfb has a link to report a bug: https://bugs.kde.org/enter_bug.cgi?format=guided&product=krfb
Versions in bugzilla have 17.xx.xx, so "About..." window should match.
cmake: Set version in project(); use ecm_setup_version() call
Inspired by commit in Ark: cffecfbfffd22bc0bbe451ed8d74f3b6da113c6f
Test Plan: Compile, run. Make sure that Help -> About Desktop Sharing displays the correct version.
Reviewers: aacid, ltoscano
Tags: #kde_applications
Differential Revision: https://phabricator.kde.org/D7658
Previously used x11 plugin does not compile with Qt5, because Qt5 does
not use Xlib, it uses xcb. Rewrite screen capture plugin from Xlib to
xcb.
I made xcb libs compile required dependency, but availability of X
shared memory extension is checked at runtime. It is used to effectively
get image pixels data, instead of transfering 8Mb over the wire. Xdamage
is used to limit image getting operations only within actually changed
rectangles of screen.
BUG: 377998
Tested on single-monitor system and dual-monitor, where primary monitor
does not start at (0,0) coordinate. Image transfer works fine.
Dual-monitor only has problems with receiving mouse cursor position and
clicks, but this should be fixed outside of framebuffer plugin.
Differential Revision: https://phabricator.kde.org/D5211
- required for upcoming Git migration with repository per app / lib
- if nobody complains, I will backport it in a few days to the 4.10 branch also
- I will update trunk/l10n-kde4/scripts/documentation_paths in my next commit
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1340343
- full module build is still possible
- required for upcoming Git migration with repository per app / lib
- if nobody complains, I will backport it in a few days to the 4.10 branch also
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1340341
This is currently required to be able to split off the event processing code
in small functions so that it is possible to integrate libvncserver's event
loop code with Qt's event loop properly. This is also what vino does; the whole
event loop integration idea was taken from there.
svn path=/trunk/KDE/kdenetwork/krfb/; revision=1195283