--===============8120095502680982527== Content-Type: multipart/alternative; boundary="===============0464317548831197558==" --===============0464317548831197558== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/119822/ ----------------------------------------------------------- (Updated Sept. 14, 2014, 10:16 p.m.) Status ------ This change has been marked as submitted. Review request for Plasma and Solid. Repository: libkscreen Description ------- This patch adds a QScreen backend to libkscreen. This is useful to avoid a dependency on XRandR (at build time) and a running X server at runtime. The backend itself is read-only and kept simple. It only reports the basic necessities (which is what QScreen provides). The changes are kept to the backends/qscreen directory, so no API has been touched. The changes outside of that directory are autotests, tests, and a fallback to the qscreen backend non non-X11 platforms. The latter will automatically make libkscreen work on Wayland (as far as QScreen allows us to, so r-o). This case otherwise just crashes, and the XRandR backend can't work. If the user specifies the backend using the KSCREEN_BACKEND env var, it will be respected, the automatism only triggers when no backend is explicitely specified. I've also added apidocs in some files, but again, no functional changes. The plan is to augment this also with a native Wayland backend, which will take a bit longer to complete (more complex, it's r-w, I have to learn Wayland APIs). That backend is work-in-progress in the sebas/wayland branch. The QScreen backend allows us to test and run our code under Wayland, without crashing, so we can continue the port while a native Wayland backend is conceived. You can find the code for this QScreen backend in sebas/qscreen if you'd like to give it a try. Diffs ----- tests/testplugandplay.cpp PRE-CREATION tests/testpnp.h PRE-CREATION tests/testpnp.cpp PRE-CREATION autotests/CMakeLists.txt 18b93c0 autotests/testqscreenbackend.cpp PRE-CREATION backends/CMakeLists.txt a827ee8 backends/abstractbackend.h 7ffe627 backends/qscreen/CMakeLists.txt PRE-CREATION backends/qscreen/qscreenbackend.h PRE-CREATION backends/qscreen/qscreenbackend.cpp PRE-CREATION backends/qscreen/qscreenconfig.h PRE-CREATION backends/qscreen/qscreenconfig.cpp PRE-CREATION backends/qscreen/qscreenoutput.h PRE-CREATION backends/qscreen/qscreenoutput.cpp PRE-CREATION src/CMakeLists.txt 4606862 src/backendloader.cpp d6ccdff src/config.h 10a8f1e tests/CMakeLists.txt 86efedc tests/printconfig.cpp 249f123 backends/qscreen/qscreenscreen.h PRE-CREATION backends/qscreen/qscreenscreen.cpp PRE-CREATION Diff: https://git.reviewboard.kde.org/r/119822/diff/ Testing ------- * Ran autotest "testqscreenbackend" under X11 and Wayland -- all pass * Tested hotplugging (using included testpnp app) under X11 * Started plasmashell with KSCREEN_BACKEND=QScreen under X11 * Started kcmshell5 kcm_kscreen All of these work correctly in my tests, no strange behaviour observed. Thanks, Sebastian Kügler --===============0464317548831197558== MIME-Version: 1.0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: 8bit
This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/119822/

This change has been marked as submitted.


Review request for Plasma and Solid.
By Sebastian Kügler.

Updated Sept. 14, 2014, 10:16 p.m.

Repository: libkscreen

Description

This patch adds a QScreen backend to libkscreen.

This is useful to avoid a dependency on XRandR (at build time) and a running X server at runtime.

The backend itself is read-only and kept simple. It only reports the basic necessities (which is what QScreen provides).

The changes are kept to the backends/qscreen directory, so no API has been touched. The changes outside of that directory are autotests, tests, and a fallback to the qscreen backend non non-X11 platforms. The latter will automatically make libkscreen work on Wayland (as far as QScreen allows us to, so r-o). This case otherwise just crashes, and the XRandR backend can't work. If the user specifies the backend using the KSCREEN_BACKEND env var, it will be respected, the automatism only triggers when no backend is explicitely specified. I've also added apidocs in some files, but again, no functional changes.

The plan is to augment this also with a native Wayland backend, which will take a bit longer to complete (more complex, it's r-w, I have to learn Wayland APIs). That backend is work-in-progress in the sebas/wayland branch. The QScreen backend allows us to test and run our code under Wayland, without crashing, so we can continue the port while a native Wayland backend is conceived.

You can find the code for this QScreen backend in sebas/qscreen if you'd like to give it a try.

Testing

  • Ran autotest "testqscreenbackend" under X11 and Wayland -- all pass
  • Tested hotplugging (using included testpnp app) under X11
  • Started plasmashell with KSCREEN_BACKEND=QScreen under X11
  • Started kcmshell5 kcm_kscreen

All of these work correctly in my tests, no strange behaviour observed.

Diffs

  • tests/testplugandplay.cpp (PRE-CREATION)
  • tests/testpnp.h (PRE-CREATION)
  • tests/testpnp.cpp (PRE-CREATION)
  • autotests/CMakeLists.txt (18b93c0)
  • autotests/testqscreenbackend.cpp (PRE-CREATION)
  • backends/CMakeLists.txt (a827ee8)
  • backends/abstractbackend.h (7ffe627)
  • backends/qscreen/CMakeLists.txt (PRE-CREATION)
  • backends/qscreen/qscreenbackend.h (PRE-CREATION)
  • backends/qscreen/qscreenbackend.cpp (PRE-CREATION)
  • backends/qscreen/qscreenconfig.h (PRE-CREATION)
  • backends/qscreen/qscreenconfig.cpp (PRE-CREATION)
  • backends/qscreen/qscreenoutput.h (PRE-CREATION)
  • backends/qscreen/qscreenoutput.cpp (PRE-CREATION)
  • src/CMakeLists.txt (4606862)
  • src/backendloader.cpp (d6ccdff)
  • src/config.h (10a8f1e)
  • tests/CMakeLists.txt (86efedc)
  • tests/printconfig.cpp (249f123)
  • backends/qscreen/qscreenscreen.h (PRE-CREATION)
  • backends/qscreen/qscreenscreen.cpp (PRE-CREATION)

View Diff

--===============0464317548831197558==-- --===============8120095502680982527== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Kde-hardware-devel mailing list Kde-hardware-devel@kde.org https://mail.kde.org/mailman/listinfo/kde-hardware-devel --===============8120095502680982527==--