Name Description Size Coverage
CMakeLists.txt 4601 -
gl_integrations -
qt_xlib_wrapper.cpp 332 -
qt_xlib_wrapper.h 337 -
qxcbatom.cpp 5597 -
qxcbatom.h 5770 -
qxcbbackingstore.cpp 37742 -
qxcbbackingstore.h 2521 -
qxcbclipboard.cpp 33011 -
qxcbclipboard.h 3626 -
qxcbconnection.cpp 42953 -
qxcbconnection.h 14449 -
qxcbconnection_basic.cpp C++17 deprecated register 12697 -
qxcbconnection_basic.h 4476 -
qxcbconnection_screens.cpp ! \brief Synchronizes the screen list, adds new screens, removes deleted ones 24606 -
qxcbconnection_xi2.cpp ! \internal Find the existing QPointingDevice instance representing a particular tablet or stylus; or create and register a new instance if it was not found. An instance can be uniquely identified by its \a devType, \a pointerType and \a uniqueId. The rest of the arguments are necessary to create a new instance. If the instance represents a stylus, the instance representing the tablet itself must be given as \a master. Otherwise, \a master must be the xinput master device (core pointer) to which the tablet belongs. It should not be null, because \a master is also the QObject::parent() for memory management. Proximity events have incomplete information. So as a side effect, if an existing instance is found, it is updated with the given \a usbId and \a toolId, and the seat ID of \a master, in case those values were only now discovered, or the seat assignment changed (?). 81566 -
qxcbcursor.cpp 27163 -
qxcbcursor.h 3103 -
qxcbcursorfont.h 2128 -
qxcbdrag.cpp We are setting a mouse grab on the QShapedPixmapWindow in order not to lose the grab when the virtual desktop changes, but QBasicDrag::eventFilter() expects the events to be coming from the window where the drag was started. 45982 -
qxcbdrag.h 5163 -
qxcbeventdispatcher.cpp 3699 -
qxcbeventdispatcher.h 1744 -
qxcbeventqueue.cpp ! \class QXcbEventQueue \internal Lock-free event passing: The lock-free solution uses a singly-linked list to pass events from the reader thread to the main thread. An atomic operation is used to sync the tail node of the list between threads. The reader thread takes special care when accessing the tail node. It does not dequeue the last node and does not access (read or write) the tail node's 'next' member. This lets the reader add more items at the same time as the main thread is dequeuing nodes from the head. A custom linked list implementation is used, because std::list does not have any thread-safety guarantees. The custom list is lightweight - no reference counting, back links, etc. Memory management: In a normally functioning application, XCB plugin won't buffer more than few batches of events, couple events per batch. Instead of constantly calling new / delete, we can create a pool of nodes that we reuse. The main thread uses an atomic operation to sync how many nodes have been restored (available for reuse). If at some point a user application will block the main thread for a long time, we might run out of nodes in the pool. Then we create nodes on a heap. These will be automatically "garbage collected" out of the linked list, once the main thread stops blocking. 12697 -
qxcbeventqueue.h 4732 -
qxcbexport.h 404 -
qxcbimage.cpp 9151 -
qxcbimage.h 984 -
qxcbintegration.cpp C++17 deprecated register 19939 -
qxcbintegration.h 3921 -
qxcbkeyboard.cpp Look at a pair of unshifted and shifted key symbols. If the 'unshifted' symbol is uppercase and there is no shifted symbol, return the matching lowercase symbol; otherwise return 0. The caller can then use the previously 'unshifted' symbol as the new 'shifted' (uppercase) symbol and the symbol returned by the function as the new 'unshifted' (lowercase) symbol.) 36488 -
qxcbkeyboard.h 2909 -
qxcbmain.cpp 1081 -
qxcbmime.cpp 9731 -
qxcbmime.h 1261 -
qxcbnativeinterface.cpp 21161 -
qxcbnativeinterface.h 5096 -
qxcbobject.h 751 -
qxcbscreen.cpp 43583 -
qxcbscreen.h 8729 -
qxcbscrollingdevice.cpp 682 -
qxcbscrollingdevice_p.h 1754 -
qxcbsessionmanager.cpp fast 13887 -
qxcbsessionmanager.h 1419 -
qxcbsystemtraytracker.cpp 4940 -
qxcbsystemtraytracker.h 1263 -
qxcbvulkaninstance.cpp 3162 -
qxcbvulkaninstance.h 1068 -
qxcbvulkanwindow.cpp 1589 -
qxcbvulkanwindow.h 594 -
qxcbwindow.cpp C++17 deprecated register 104843 -
qxcbwindow.h 10225 -
qxcbwmsupport.cpp 2802 -
qxcbwmsupport.h 724 -
qxcbxsettings.cpp Implementation of http://standards.freedesktop.org/xsettings-spec/xsettings-0.5.html 9360 -
qxcbxsettings.h 1050 -
README Requires libxcb >= 1.9.1. 26 -
xcb.json 26 -