path: root/Events/XDC2014/XDC2014Graesslin.mdwn
diff options
authormperes <mperes@web>2014-10-05 19:02:24 -0700
committerxorg <>2014-10-05 19:02:24 -0700
commit9f6193f2b4b4fbde3cc5e2e690e153c58804a0ea (patch)
treedf6bb56debc8fff23eed0fe52990659768a2c6a5 /Events/XDC2014/XDC2014Graesslin.mdwn
parent8c02fa3ca6beb662a996c30a056fde727968f6b9 (diff)
Diffstat (limited to 'Events/XDC2014/XDC2014Graesslin.mdwn')
1 files changed, 7 insertions, 0 deletions
diff --git a/Events/XDC2014/XDC2014Graesslin.mdwn b/Events/XDC2014/XDC2014Graesslin.mdwn
new file mode 100644
index 00000000..62a0aace
--- /dev/null
+++ b/Events/XDC2014/XDC2014Graesslin.mdwn
@@ -0,0 +1,7 @@
+# Martin Gräßlin - KWin went XCB
+Over the last two years KWin and other components of the Plasma workspace and the KDE Frameworks were ported from XLib to XCB. This transition was triggered by the fact that Qt 5 uses XCB for the event handling. Thus all code processing XLib events had to be ported to be usable with Qt 5.
+This talk will explain why we did a complete transition to XCB in KWin and the state of the porting. The talk will highlight the issues we hit during the porting and also what we really liked about XCB in comparison to XLib.
+As a C++ application using a low level C library is not particularly thrilling to the developers especially as it can be error-prone. The KWin development team went a long way to make using XCB inside the code base as convenient as possible and safe using advanced features of C++ like RAII and variadic templates. The talk will explain why we introduced wrappers for XCB and illustrates the advantages from a coding point of view. As these wrappers do not dependent on other parts of KWin and are mostly template based header only implementations they might be of interest for other C++ projects interacting with XCB.