Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
QXcbConnection Class Reference

#include <qxcbconnection.h>

+ Inheritance diagram for QXcbConnection:
+ Collaboration diagram for QXcbConnection:

Public Member Functions

 QXcbConnection (QXcbNativeInterface *nativeInterface, bool canGrabServer, xcb_visualid_t defaultVisualId, const char *displayName=nullptr)
 
 ~QXcbConnection ()
 
QXcbConnectionconnection () const
 
QXcbEventQueueeventQueue () const
 
const QList< QXcbVirtualDesktop * > & virtualDesktops () const
 
const QList< QXcbScreen * > & screens () const
 
QXcbVirtualDesktopprimaryVirtualDesktop () const
 
QXcbScreenprimaryScreen () const
 
const xcb_format_t * formatForDepth (uint8_t depth) const
 
bool imageNeedsEndianSwap () const
 
QXcbKeyboardkeyboard () const
 
QXcbClipboardclipboard () const
 
QXcbWMSupportwmSupport () const
 
xcb_window_t rootWindow ()
 
xcb_window_t clientLeader ()
 
bool hasDefaultVisualId () const
 
xcb_visualid_t defaultVisualId () const
 
void sync ()
 
void handleXcbError (xcb_generic_error_t *error)
 
void printXcbError (const char *message, xcb_generic_error_t *error)
 
void handleXcbEvent (xcb_generic_event_t *event)
 
void printXcbEvent (const QLoggingCategory &log, const char *message, xcb_generic_event_t *event) const
 
void addWindowEventListener (xcb_window_t id, QXcbWindowEventListener *eventListener)
 
void removeWindowEventListener (xcb_window_t id)
 
QXcbWindowEventListenerwindowEventListenerFromId (xcb_window_t id)
 
QXcbWindowplatformWindowFromId (xcb_window_t id)
 
xcb_timestamp_t time () const
 
void setTime (xcb_timestamp_t t)
 
xcb_timestamp_t netWmUserTime () const
 
void setNetWmUserTime (xcb_timestamp_t t)
 
xcb_timestamp_t getTimestamp ()
 
xcb_window_t selectionOwner (xcb_atom_t atom) const
 
xcb_window_t qtSelectionOwner ()
 
void setButtonState (Qt::MouseButton button, bool down)
 
Qt::MouseButtons buttonState () const
 
Qt::MouseButton button () const
 
Qt::MouseButton translateMouseButton (xcb_button_t s)
 
QXcbWindowfocusWindow () const
 
void setFocusWindow (QWindow *)
 
QXcbWindowmouseGrabber () const
 
void setMouseGrabber (QXcbWindow *)
 
QXcbWindowmousePressWindow () const
 
void setMousePressWindow (QXcbWindow *)
 
QByteArray startupId () const
 
void setStartupId (const QByteArray &nextId)
 
void grabServer ()
 
void ungrabServer ()
 
QString windowManagerName () const
 
QXcbNativeInterfacenativeInterface () const
 
QXcbSystemTrayTrackersystemTrayTracker () const
 
Qt::MouseButtons queryMouseButtons () const
 
bool isUserInputEvent (xcb_generic_event_t *event) const
 
void xi2SelectStateEvents ()
 
void xi2SelectDeviceEvents (xcb_window_t window)
 
bool xi2SetMouseGrabEnabled (xcb_window_t w, bool grab)
 
Qt::MouseButton xiToQtMouseButton (uint32_t b)
 
void xi2UpdateScrollingDevices ()
 
bool isTouchScreen (int id)
 
bool startSystemMoveResizeForTouch (xcb_window_t window, int edges)
 
void abortSystemMoveResize (xcb_window_t window)
 
bool isDuringSystemMoveResize () const
 
void setDuringSystemMoveResize (bool during)
 
bool canGrab () const
 
QXcbGlIntegrationglIntegration () const
 
void flush ()
 
void processXcbEvents (QEventLoop::ProcessEventsFlags flags)
 
QTimerfocusInTimer ()
 
- Public Member Functions inherited from QXcbBasicConnection
 QXcbBasicConnection (const char *displayName)
 
 ~QXcbBasicConnection ()
 
const char * displayName () const
 
int primaryScreenNumber () const
 
xcb_connection_t * xcb_connection () const
 
bool isConnected () const
 
const xcb_setup_t * setup () const
 
size_t maxRequestDataBytes (size_t requestSize) const
 
xcb_atom_t atom (QXcbAtom::Atom qatom) const
 
QXcbAtom::Atom qatom (xcb_atom_t atom) const
 
xcb_atom_t internAtom (const char *name)
 
QByteArray atomName (xcb_atom_t atom)
 
bool hasXFixes () const
 
bool hasXShape () const
 
bool hasXRandr () const
 
bool hasInputShape () const
 
bool hasXKB () const
 
bool hasXRender (int major=-1, int minor=-1) const
 
bool hasXInput2 () const
 
bool hasShm () const
 
bool hasShmFd () const
 
bool hasXSync () const
 
bool hasBigRequest () const
 
bool isAtLeastXRandR12 () const
 
bool isAtLeastXRandR15 () const
 
bool isAtLeastXI21 () const
 
bool isAtLeastXI22 () const
 
bool isAtLeastXI24 () const
 
bool isXIEvent (xcb_generic_event_t *event) const
 
bool isXIType (xcb_generic_event_t *event, uint16_t type) const
 
bool isXFixesType (uint responseType, int eventType) const
 
bool isXRandrType (uint responseType, int eventType) const
 
bool isXkbType (uint responseType) const
 
- Public Member Functions inherited from QObject
Q_INVOKABLE QObject (QObject *parent=nullptr)
 Constructs an object with parent object parent.
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects.
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 Filters events if this object has been installed as an event filter for the watched object.
 
QString objectName () const
 
Q_WEAK_OVERLOAD void setObjectName (const QString &name)
 Sets the object's name to name.
 
void setObjectName (QAnyStringView name)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
QBindable< QStringbindableObjectName ()
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false.
 
bool isWindowType () const
 Returns true if the object is a window; otherwise returns false.
 
bool isQuickItemType () const
 Returns true if the object is a QQuickItem; otherwise returns false.
 
bool signalsBlocked () const noexcept
 Returns true if signals are blocked; otherwise returns false.
 
bool blockSignals (bool b) noexcept
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it).
 
QThreadthread () const
 Returns the thread in which the object lives.
 
bool moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
 Changes the thread affinity for this object and its children and returns true on success.
 
int startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer)
 This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds.
 
int startTimer (std::chrono::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer)
 
void killTimer (int id)
 Kills the timer with timer identifier, id.
 
void killTimer (Qt::TimerId id)
 
template<typename T >
findChild (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object.
 
template<typename T >
QList< T > findChildren (QAnyStringView aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects.
 
template<typename T >
findChild (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
template<typename T >
QList< T > findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
 
const QObjectListchildren () const
 Returns a list of child objects.
 
void setParent (QObject *parent)
 Makes the object a child of parent.
 
void installEventFilter (QObject *filterObj)
 Installs an event filter filterObj on this object.
 
void removeEventFilter (QObject *obj)
 Removes an event filter object obj from this object.
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const
 
bool disconnect (const QObject *receiver, const char *member=nullptr) const
 
void dumpObjectTree () const
 Dumps a tree of children to the debug output.
 
void dumpObjectInfo () const
 Dumps information about signal connections, etc.
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value.
 
bool setProperty (const char *name, QVariant &&value)
 
QVariant property (const char *name) const
 Returns the value of the object's name property.
 
QList< QByteArraydynamicPropertyNames () const
 
QBindingStoragebindingStorage ()
 
const QBindingStoragebindingStorage () const
 
QObjectparent () const
 Returns a pointer to the parent object.
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false.
 

Protected Member Functions

bool event (QEvent *e) override
 This virtual function receives events to an object and should return true if the event e was recognized and processed.
 
- Protected Member Functions inherited from QXcbBasicConnection
void initializeShm ()
 
void initializeXFixes ()
 
void initializeXRender ()
 
void initializeXRandr ()
 
void initializeXShape ()
 
void initializeXKB ()
 
void initializeXSync ()
 
void initializeXInput2 ()
 
- Protected Member Functions inherited from QObject
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr.
 
int senderSignalIndex () const
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal.
 
bool isSignalConnected (const QMetaMethod &signal) const
 
virtual void timerEvent (QTimerEvent *event)
 This event handler can be reimplemented in a subclass to receive timer events for the object.
 
virtual void childEvent (QChildEvent *event)
 This event handler can be reimplemented in a subclass to receive child events.
 
virtual void customEvent (QEvent *event)
 This event handler can be reimplemented in a subclass to receive custom events.
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
 QObject (QObjectPrivate &dd, QObject *parent=nullptr)
 

Friends

class QXcbEventQueue
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 \threadsafe
 
- Signals inherited from QObject
void destroyed (QObject *=nullptr)
 This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked.
 
void objectNameChanged (const QString &objectName, QPrivateSignal)
 This signal is emitted after the object's name has been changed.
 
- Static Public Member Functions inherited from QObject
static QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 \threadsafe
 
static QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection)
 
template<typename Func1 , typename Func2 >
static QMetaObject::Connection connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 \threadsafe
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static bool disconnect (const QMetaObject::Connection &)
 Disconnect a connection.
 
template<typename Func1 , typename Func2 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot)
 
template<typename Func1 >
static bool disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero)
 
- Protected Attributes inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Properties inherited from QObject
QString objectName
 the name of this object
 

Detailed Description

Definition at line 92 of file qxcbconnection.h.

Constructor & Destructor Documentation

◆ QXcbConnection()

QXcbConnection::QXcbConnection ( QXcbNativeInterface * nativeInterface,
bool canGrabServer,
xcb_visualid_t defaultVisualId,
const char * displayName = nullptr )

Definition at line 57 of file qxcbconnection.cpp.

References Qt::ActiveWindowFocusReason, QWindowSystemInterface::handleFocusWindowChanged(), qgetenv(), and qunsetenv().

+ Here is the call graph for this function:

◆ ~QXcbConnection()

QXcbConnection::~QXcbConnection ( )

Definition at line 103 of file qxcbconnection.cpp.

References QWindowSystemInterface::handleScreenRemoved(), QList< T >::isEmpty(), and QList< T >::takeLast().

+ Here is the call graph for this function:

Member Function Documentation

◆ abortSystemMoveResize()

void QXcbConnection::abortSystemMoveResize ( xcb_window_t window)

Definition at line 1011 of file qxcbconnection_xi2.cpp.

References QXcbBasicConnection::atom(), QXcbAtom::Atom_NET_WM_MOVERESIZE, connection(), primaryScreen(), qCDebug, window(), and QXcbBasicConnection::xcb_connection().

Referenced by handleXcbEvent(), and QXcbWindow::startSystemMoveResize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addWindowEventListener()

void QXcbConnection::addWindowEventListener ( xcb_window_t id,
QXcbWindowEventListener * eventListener )

Definition at line 136 of file qxcbconnection.cpp.

References QHash< Key, T >::insert().

Referenced by QXcbWindow::create(), and QXcbSystemTrayTracker::trayWindow().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ button()

Qt::MouseButton QXcbConnection::button ( ) const
inline

Definition at line 163 of file qxcbconnection.h.

Referenced by QXcbWindow::handleMouseEvent(), and setButtonState().

+ Here is the caller graph for this function:

◆ buttonState()

Qt::MouseButtons QXcbConnection::buttonState ( ) const
inline

Definition at line 162 of file qxcbconnection.h.

Referenced by doCheckUnGrabAncestor(), and QXcbWindow::handleMotionNotifyEvent().

+ Here is the caller graph for this function:

◆ canGrab()

bool QXcbConnection::canGrab ( ) const
inline

Definition at line 202 of file qxcbconnection.h.

◆ clientLeader()

xcb_window_t QXcbConnection::clientLeader ( )

Definition at line 902 of file qxcbconnection.cpp.

References QGuiApplication::applicationDisplayName, QXcbBasicConnection::atom(), QXcbAtom::AtomSM_CLIENT_ID, QXcbAtom::AtomWM_CLIENT_LEADER, connection(), QByteArray::constData(), QByteArray::isEmpty(), primaryScreen(), qGuiApp, screen, setStartupId(), QXcbWindow::setWindowTitle(), QByteArray::size(), startupId(), and QXcbBasicConnection::xcb_connection().

Referenced by QXcbWindow::create(), setStartupId(), and QXcbWindow::updateWmTransientFor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ clipboard()

QXcbClipboard * QXcbConnection::clipboard ( ) const
inline

Definition at line 125 of file qxcbconnection.h.

Referenced by QXcbIntegration::clipboard().

+ Here is the caller graph for this function:

◆ connection()

QXcbConnection * QXcbConnection::connection ( ) const
inline

Definition at line 99 of file qxcbconnection.h.

Referenced by abortSystemMoveResize(), clientLeader(), getTimestamp(), isUserInputEvent(), qtSelectionOwner(), and queryMouseButtons().

+ Here is the caller graph for this function:

◆ defaultVisualId()

xcb_visualid_t QXcbConnection::defaultVisualId ( ) const
inline

Definition at line 136 of file qxcbconnection.h.

Referenced by QXcbWindow::create(), and QXcbVirtualDesktop::surfaceFormatFor().

+ Here is the caller graph for this function:

◆ event()

bool QXcbConnection::event ( QEvent * e)
overrideprotectedvirtual

This virtual function receives events to an object and should return true if the event e was recognized and processed.

The event() function can be reimplemented to customize the behavior of an object.

Make sure you call the parent event class implementation for all the events you did not handle.

Example:

class MyClass : public QWidget
{
public:
MyClass(QWidget *parent = nullptr);
bool event(QEvent* ev) override
{
if (ev->type() == QEvent::PolishRequest) {
// overwrite handling of PolishRequest if any
doThings();
return true;
} else if (ev->type() == QEvent::Show) {
// complement handling of Show if any
doThings2();
return true;
}
// Make sure the rest of events are handled
return QWidget::event(ev);
}
};
See also
installEventFilter(), timerEvent(), QCoreApplication::sendEvent(), QCoreApplication::postEvent()

Reimplemented from QObject.

Definition at line 1180 of file qxcbconnection.cpp.

References QObject::event(), QEvent::type(), QEvent::User, and QPlatformWindow::window().

+ Here is the call graph for this function:

◆ eventQueue()

QXcbEventQueue * QXcbConnection::eventQueue ( ) const
inline

Definition at line 100 of file qxcbconnection.h.

Referenced by QXcbNativeInterface::generatePeekerId(), getTimestamp(), QXcbWindow::handleExposeEvent(), QXcbKeyboard::handleKeyEvent(), QXcbWindow::handleLeaveNotifyEvent(), QXcbNativeInterface::peekEventQueue(), and QXcbNativeInterface::removePeekerId().

+ Here is the caller graph for this function:

◆ flush()

void QXcbConnection::flush ( )
inline

Definition at line 206 of file qxcbconnection.h.

References QXcbBasicConnection::xcb_connection().

Referenced by QXcbClipboard::clipboardReadIncrementalProperty(), QXcbClipboard::clipboardReadProperty(), getTimestamp(), and QXcbWindow::relayFocusToModalWindow().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ focusInTimer()

QTimer & QXcbConnection::focusInTimer ( )
inline

Definition at line 209 of file qxcbconnection.h.

Referenced by QXcbWindow::doFocusOut(), QXcbWindow::handleFocusInEvent(), and QXcbWindow::handleXEmbedMessage().

+ Here is the caller graph for this function:

◆ focusWindow()

QXcbWindow * QXcbConnection::focusWindow ( ) const
inline

Definition at line 166 of file qxcbconnection.h.

Referenced by QXcbKeyboard::handleKeyEvent().

+ Here is the caller graph for this function:

◆ formatForDepth()

const xcb_format_t * QXcbConnection::formatForDepth ( uint8_t depth) const

Definition at line 1102 of file qxcbconnection.cpp.

References qWarning, and QXcbBasicConnection::setup().

+ Here is the call graph for this function:

◆ getTimestamp()

xcb_timestamp_t QXcbConnection::getTimestamp ( )

Definition at line 821 of file qxcbconnection.cpp.

References QXcbBasicConnection::atom(), QXcbAtom::Atom_QT_GET_TIMESTAMP, connection(), eventQueue(), flush(), QXcbBasicConnection::isConnected(), QXcbEventQueue::peek(), rootWindow(), sync(), window(), and QXcbBasicConnection::xcb_connection().

Referenced by QXcbClipboard::clipboardReadProperty().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ glIntegration()

QXcbGlIntegration * QXcbConnection::glIntegration ( ) const

Definition at line 1144 of file qxcbconnection.cpp.

References QXcbGlIntegrationFactory::create(), QString::fromLocal8Bit(), i, QXcbGlIntegration::initialize(), qCDebug, qgetenv(), and QStringLiteral.

Referenced by QXcbIntegration::createPlatformOpenGLContext(), QXcbIntegration::createPlatformWindow(), and QXcbIntegration::hasCapability().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ grabServer()

void QXcbConnection::grabServer ( )

Definition at line 800 of file qxcbconnection.cpp.

References QXcbBasicConnection::xcb_connection().

+ Here is the call graph for this function:

◆ handleXcbError()

void QXcbConnection::handleXcbError ( xcb_generic_error_t * error)

Definition at line 441 of file qxcbconnection.cpp.

References error, QAbstractEventDispatcher::filterNativeEvent(), QAbstractEventDispatcher::instance(), QXcbNativeInterface::nativeEventType(), and printXcbError().

Referenced by processXcbEvents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleXcbEvent()

void QXcbConnection::handleXcbEvent ( xcb_generic_event_t * event)

Definition at line 533 of file qxcbconnection.cpp.

References abortSystemMoveResize(), QXcbBasicConnection::atom(), QXcbAtom::Atom_NET_SUPPORTED, QXcbAtom::Atom_NET_WORKAREA, QXcbAtom::AtomMANAGER, QXcbAtom::AtomXdndFinished, QXcbAtom::AtomXdndSelection, QXcbAtom::AtomXdndStatus, QXcbKeyboard::coreDeviceId(), HANDLE_KEYBOARD_EVENT, HANDLE_PLATFORM_WINDOW_EVENT, QXcbClipboard::handlePropertyNotify(), QXcbClipboard::handleSelectionClearRequest(), QXcbClipboard::handleSelectionRequest(), QXcbGlIntegration::handleXcbEvent(), QXcbClipboard::handleXFixesSelectionRequest(), QXcbBasicConnection::hasXInput2(), QAbstractEventDispatcher::instance(), QXcbBasicConnection::isAtLeastXRandR15(), QXcbBasicConnection::isXFixesType(), QXcbBasicConnection::isXIEvent(), QXcbBasicConnection::isXkbType(), QXcbBasicConnection::isXRandrType(), QXcbNativeInterface::nativeEventType(), QXcbSystemTrayTracker::notifyManagerClientMessageEvent(), printXcbEvent(), Q_UNLIKELY, qCDebug, rootWindow(), setButtonState(), setTime(), time(), translateMouseButton(), translateMouseButtons(), QXcbKeyboard::updateKeymap(), QXcbVirtualDesktop::updateWorkArea(), QXcbKeyboard::updateXKBState(), QXcbKeyboard::updateXKBStateFromCore(), and window().

Referenced by processXcbEvents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasDefaultVisualId()

bool QXcbConnection::hasDefaultVisualId ( ) const
inline

Definition at line 135 of file qxcbconnection.h.

Referenced by QXcbVirtualDesktop::surfaceFormatFor().

+ Here is the caller graph for this function:

◆ imageNeedsEndianSwap()

bool QXcbConnection::imageNeedsEndianSwap ( ) const
inline

Definition at line 111 of file qxcbconnection.h.

References QXcbBasicConnection::hasShm(), and QXcbBasicConnection::setup().

+ Here is the call graph for this function:

◆ isDuringSystemMoveResize()

bool QXcbConnection::isDuringSystemMoveResize ( ) const

Definition at line 1035 of file qxcbconnection_xi2.cpp.

◆ isTouchScreen()

bool QXcbConnection::isTouchScreen ( int id)

Definition at line 806 of file qxcbconnection_xi2.cpp.

References device, and QInputDevice::TouchScreen.

Referenced by QXcbWindow::handleXIMouseEvent().

+ Here is the caller graph for this function:

◆ isUserInputEvent()

bool QXcbConnection::isUserInputEvent ( xcb_generic_event_t * event) const

Definition at line 1028 of file qxcbconnection.cpp.

References QXcbBasicConnection::atom(), QXcbAtom::AtomWM_DELETE_WINDOW, QXcbAtom::AtomWM_PROTOCOLS, connection(), QXcbBasicConnection::hasXInput2(), and QXcbBasicConnection::isXIType().

Referenced by QXcbEventQueue::takeFirst().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ keyboard()

QXcbKeyboard * QXcbConnection::keyboard ( ) const
inline

Definition at line 122 of file qxcbconnection.h.

Referenced by QXcbWindow::handleButtonPressEvent(), QXcbWindow::handleButtonReleaseEvent(), QXcbDrag::handleDrop(), QXcbWindow::handleMotionNotifyEvent(), QXcbWindow::handleXIEnterLeave(), QXcbWindow::handleXIMouseEvent(), QXcbIntegration::initialize(), and QXcbIntegration::keyMapper().

+ Here is the caller graph for this function:

◆ mouseGrabber()

QXcbWindow * QXcbConnection::mouseGrabber ( ) const
inline

Definition at line 168 of file qxcbconnection.h.

Referenced by QXcbWindow::handleXIEnterLeave().

+ Here is the caller graph for this function:

◆ mousePressWindow()

QXcbWindow * QXcbConnection::mousePressWindow ( ) const
inline

Definition at line 170 of file qxcbconnection.h.

Referenced by QXcbWindow::handleLeaveNotifyEvent(), and QXcbWindow::handleMotionNotifyEvent().

+ Here is the caller graph for this function:

◆ nativeInterface()

QXcbNativeInterface * QXcbConnection::nativeInterface ( ) const
inline

Definition at line 181 of file qxcbconnection.h.

Referenced by QXcbWindow::handleNativeEvent(), and QXcbGlxIntegration::handleXcbEvent().

+ Here is the caller graph for this function:

◆ netWmUserTime()

xcb_timestamp_t QXcbConnection::netWmUserTime ( ) const
inline

Definition at line 154 of file qxcbconnection.h.

◆ platformWindowFromId()

QXcbWindow * QXcbConnection::platformWindowFromId ( xcb_window_t id)

Definition at line 151 of file qxcbconnection.cpp.

References QXcbWindowEventListener::toWindow(), and QHash< Key, T >::value().

Referenced by QXcbDrag::drop(), QXcbKeyboard::handleKeyEvent(), QXcbWindow::handleLeaveNotifyEvent(), QXcbDrag::move(), and QXcbScreen::topLevelAt().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ primaryScreen()

QXcbScreen * QXcbConnection::primaryScreen ( ) const

Definition at line 126 of file qxcbconnection.cpp.

References QList< T >::first(), QList< T >::isEmpty(), QXcbBasicConnection::primaryScreenNumber(), Q_ASSERT, and QXcbScreen::screenNumber().

Referenced by QXcbSystemTrayBackingStore::QXcbSystemTrayBackingStore(), abortSystemMoveResize(), clientLeader(), QXcbIntegration::initialize(), rootWindow(), QXcbClipboard::screen(), and QXcbSystemTrayTracker::visualId().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ primaryVirtualDesktop()

QXcbVirtualDesktop * QXcbConnection::primaryVirtualDesktop ( ) const
inline

Definition at line 104 of file qxcbconnection.h.

References QXcbBasicConnection::primaryScreenNumber().

Referenced by qtSelectionOwner(), and windowManagerName().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ printXcbError()

void QXcbConnection::printXcbError ( const char * message,
xcb_generic_error_t * error )

Definition at line 451 of file qxcbconnection.cpp.

References error, qCDebug, xcb_errors, and xcb_protocol_request_codes.

Referenced by handleXcbError().

+ Here is the caller graph for this function:

◆ printXcbEvent()

void QXcbConnection::printXcbEvent ( const QLoggingCategory & log,
const char * message,
xcb_generic_event_t * event ) const

Definition at line 181 of file qxcbconnection.cpp.

References CASE_PRINT_AND_RETURN, QXcbBasicConnection::hasXInput2(), QXcbBasicConnection::isXFixesType(), QXcbBasicConnection::isXIEvent(), QXcbBasicConnection::isXkbType(), QXcbBasicConnection::isXRandrType(), PRINT_AND_RETURN, qCDebug, and XI_CASE_PRINT_AND_RETURN.

Referenced by handleXcbEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ processXcbEvents()

void QXcbConnection::processXcbEvents ( QEventLoop::ProcessEventsFlags flags)

Definition at line 1066 of file qxcbconnection.cpp.

References QXcbEventQueue::flushBufferedEvents(), handleXcbError(), handleXcbEvent(), qt_XFlush(), qWarning, QXcbEventQueue::takeFirst(), and QXcbBasicConnection::xcb_connection().

Referenced by QXcbUnixEventDispatcher::processEvents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qtSelectionOwner()

xcb_window_t QXcbConnection::qtSelectionOwner ( )

Definition at line 872 of file qxcbconnection.cpp.

References QCoreApplication::applicationName, connection(), primaryVirtualDesktop(), QXcbVirtualDesktop::screen(), QXcbWindow::setWindowTitle(), and QXcbBasicConnection::xcb_connection().

Referenced by QXcbDrag::drop(), QXcbDrag::move(), QXcbClipboard::setMimeData(), and QXcbDrag::startDrag().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ queryMouseButtons()

Qt::MouseButtons QXcbConnection::queryMouseButtons ( ) const

Definition at line 1137 of file qxcbconnection.cpp.

References connection(), QXcbCursor::queryPointer(), and translateMouseButtons().

Referenced by QXcbDrag::handleDrop().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeWindowEventListener()

void QXcbConnection::removeWindowEventListener ( xcb_window_t id)

Definition at line 141 of file qxcbconnection.cpp.

References QHash< Key, T >::remove().

Referenced by QXcbWindow::destroy(), and QXcbSystemTrayTracker::handleDestroyNotifyEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ rootWindow()

xcb_window_t QXcbConnection::rootWindow ( )

Definition at line 896 of file qxcbconnection.cpp.

References primaryScreen().

Referenced by getTimestamp(), handleXcbEvent(), xi2SelectDeviceEvents(), and xi2SelectStateEvents().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ screens()

const QList< QXcbScreen * > & QXcbConnection::screens ( ) const
inline

Definition at line 103 of file qxcbconnection.h.

Referenced by QXcbVirtualDesktop::QXcbVirtualDesktop(), and QXcbVirtualDesktop::screenAt().

+ Here is the caller graph for this function:

◆ selectionOwner()

xcb_window_t QXcbConnection::selectionOwner ( xcb_atom_t atom) const

Definition at line 861 of file qxcbconnection.cpp.

References QXcbBasicConnection::atom(), Q_XCB_REPLY, qCDebug, reply, and QXcbBasicConnection::xcb_connection().

Referenced by QXcbVirtualDesktop::QXcbVirtualDesktop(), QXcbVirtualDesktop::compositingActive(), QXcbClipboard::handleSelectionClearRequest(), QXcbClipboardMime::isEmpty(), QXcbClipboard::mimeData(), and QXcbSystemTrayTracker::trayWindow().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setButtonState()

void QXcbConnection::setButtonState ( Qt::MouseButton button,
bool down )

Definition at line 476 of file qxcbconnection.cpp.

References button().

Referenced by handleXcbEvent(), and QXcbWindow::handleXIMouseEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setDuringSystemMoveResize()

void QXcbConnection::setDuringSystemMoveResize ( bool during)

Definition at line 1040 of file qxcbconnection_xi2.cpp.

Referenced by QXcbWindow::doStartSystemMoveResize(), and startSystemMoveResizeForTouch().

+ Here is the caller graph for this function:

◆ setFocusWindow()

void QXcbConnection::setFocusWindow ( QWindow * w)

Definition at line 764 of file qxcbconnection.cpp.

Referenced by QXcbWindow::doFocusIn(), QXcbWindow::doFocusOut(), and QXcbWindow::handleXEmbedMessage().

+ Here is the caller graph for this function:

◆ setMouseGrabber()

void QXcbConnection::setMouseGrabber ( QXcbWindow * w)

Definition at line 768 of file qxcbconnection.cpp.

Referenced by QXcbForeignWindow::~QXcbForeignWindow(), QXcbWindow::destroy(), QXcbWindow::handlePropertyNotifyEvent(), QXcbWindow::hide(), and QXcbWindow::setMouseGrabEnabled().

+ Here is the caller graph for this function:

◆ setMousePressWindow()

void QXcbConnection::setMousePressWindow ( QXcbWindow * w)

Definition at line 773 of file qxcbconnection.cpp.

Referenced by QXcbForeignWindow::~QXcbForeignWindow(), QXcbWindow::destroy(), QXcbWindow::handleButtonPressEvent(), QXcbWindow::handleButtonReleaseEvent(), QXcbWindow::handleLeaveNotifyEvent(), QXcbWindow::handleMotionNotifyEvent(), and QXcbWindow::hide().

+ Here is the caller graph for this function:

◆ setNetWmUserTime()

void QXcbConnection::setNetWmUserTime ( xcb_timestamp_t t)
inline

Definition at line 155 of file qxcbconnection.h.

Referenced by QXcbWindow::updateNetWmUserTime().

+ Here is the caller graph for this function:

◆ setStartupId()

void QXcbConnection::setStartupId ( const QByteArray & nextId)

Definition at line 782 of file qxcbconnection.cpp.

References QXcbBasicConnection::atom(), QXcbAtom::Atom_NET_STARTUP_ID, QXcbAtom::AtomUTF8_STRING, clientLeader(), nextId, and QXcbBasicConnection::xcb_connection().

Referenced by clientLeader(), and QXcbScreen::windowShown().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setTime()

void QXcbConnection::setTime ( xcb_timestamp_t t)
inline

Definition at line 152 of file qxcbconnection.h.

Referenced by QXcbWindow::handleClientMessageEvent(), QXcbWindow::handleEnterNotifyEvent(), QXcbWindow::handleLeaveNotifyEvent(), QXcbWindow::handleMouseEvent(), QXcbWindow::handlePropertyNotifyEvent(), handleXcbEvent(), QXcbWindow::handleXEmbedMessage(), and QXcbClipboard::setMimeData().

+ Here is the caller graph for this function:

◆ startSystemMoveResizeForTouch()

bool QXcbConnection::startSystemMoveResizeForTouch ( xcb_window_t window,
int edges )

Definition at line 987 of file qxcbconnection_xi2.cpp.

References QHash< Key, T >::constBegin(), QHash< Key, T >::constEnd(), QEventPoint::Pressed, qCDebug, setDuringSystemMoveResize(), state, QEventPoint::Stationary, QInputDevice::TouchScreen, QInputDevice::type, QEventPoint::Updated, and window().

Referenced by QXcbWindow::startSystemMoveResize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ startupId()

QByteArray QXcbConnection::startupId ( ) const

Definition at line 778 of file qxcbconnection.cpp.

Referenced by clientLeader().

+ Here is the caller graph for this function:

◆ sync()

void QXcbConnection::sync ( )

Definition at line 1118 of file qxcbconnection.cpp.

References QXcbBasicConnection::xcb_connection().

Referenced by QXcbClipboard::~QXcbClipboard(), QXcbWindow::create(), QXcbWindow::destroy(), QXcbBackingStoreImage::flushScrolledRegion(), QXcbClipboard::getSelection(), getTimestamp(), QXcbBackingStoreImage::preparePaint(), QXcbWindow::requestActivateWindow(), QXcbWindow::setGeometry(), QXcbWindow::setWindowState(), QXcbWindow::show(), and QXcbIntegration::sync().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ systemTrayTracker()

QXcbSystemTrayTracker * QXcbConnection::systemTrayTracker ( ) const

Definition at line 1125 of file qxcbconnection.cpp.

References QObject::connect(), QXcbSystemTrayTracker::create(), QGuiApplication::platformNativeInterface(), and SIGNAL.

Referenced by QXcbWindow::requestSystemTrayWindowDock().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ time()

xcb_timestamp_t QXcbConnection::time ( ) const
inline

Definition at line 151 of file qxcbconnection.h.

Referenced by QXcbDrag::drop(), QXcbClipboard::getSelection(), handleXcbEvent(), QXcbDrag::move(), QXcbWindow::requestActivateWindow(), QXcbWindow::sendXEmbedMessage(), and QXcbClipboard::setMimeData().

+ Here is the caller graph for this function:

◆ translateMouseButton()

◆ ungrabServer()

void QXcbConnection::ungrabServer ( )

Definition at line 806 of file qxcbconnection.cpp.

References QXcbBasicConnection::xcb_connection().

Referenced by QXcbConnectionGrabber::~QXcbConnectionGrabber(), and QXcbConnectionGrabber::release().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ virtualDesktops()

const QList< QXcbVirtualDesktop * > & QXcbConnection::virtualDesktops ( ) const
inline

Definition at line 102 of file qxcbconnection.h.

◆ windowEventListenerFromId()

QXcbWindowEventListener * QXcbConnection::windowEventListenerFromId ( xcb_window_t id)

Definition at line 146 of file qxcbconnection.cpp.

References QHash< Key, T >::value().

+ Here is the call graph for this function:

◆ windowManagerName()

QString QXcbConnection::windowManagerName ( ) const

Definition at line 812 of file qxcbconnection.cpp.

References primaryVirtualDesktop(), QString::toLower(), and QXcbVirtualDesktop::windowManagerName().

Referenced by QXcbWindow::startSystemMoveResize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ wmSupport()

QXcbWMSupport * QXcbConnection::wmSupport ( ) const
inline

Definition at line 131 of file qxcbconnection.h.

Referenced by QXcbWindow::frameMargins(), and QXcbWindow::updateNetWmUserTime().

+ Here is the caller graph for this function:

◆ xi2SelectDeviceEvents()

void QXcbConnection::xi2SelectDeviceEvents ( xcb_window_t window)

Definition at line 54 of file qxcbconnection_xi2.cpp.

References error, QXcbBasicConnection::isAtLeastXI22(), QXcbBasicConnection::isAtLeastXI24(), qCDebug, rootWindow(), QWindowSystemInterfacePrivate::TabletEvent::setPlatformSynthesizesMouse(), setXcbMask(), window(), and QXcbBasicConnection::xcb_connection().

Referenced by QXcbWindow::create().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ xi2SelectStateEvents()

void QXcbConnection::xi2SelectStateEvents ( )

Definition at line 41 of file qxcbconnection_xi2.cpp.

References qt_xcb_input_event_mask_t::header, rootWindow(), setXcbMask(), and QXcbBasicConnection::xcb_connection().

+ Here is the call graph for this function:

◆ xi2SetMouseGrabEnabled()

bool QXcbConnection::xi2SetMouseGrabEnabled ( xcb_window_t w,
bool grab )

Definition at line 1045 of file qxcbconnection_xi2.cpp.

References error, QXcbBasicConnection::isAtLeastXI22(), QXcbBasicConnection::isAtLeastXI24(), ok, qCDebug, reply, setXcbMask(), and QXcbBasicConnection::xcb_connection().

Referenced by QXcbWindow::setMouseGrabEnabled().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ xi2UpdateScrollingDevices()

void QXcbConnection::xi2UpdateScrollingDevices ( )

Definition at line 1344 of file qxcbconnection_xi2.cpp.

References QInputDevice::capabilities, QInputDevice::devices(), and QInputDevice::Scroll.

Referenced by QXcbWindow::handleEnterNotifyEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ xiToQtMouseButton()

Qt::MouseButton QXcbConnection::xiToQtMouseButton ( uint32_t b)

Definition at line 1479 of file qxcbconnection_xi2.cpp.

References Qt::BackButton, Qt::LeftButton, Qt::MaxMouseButton, Qt::MiddleButton, Qt::NoButton, and Qt::RightButton.

Referenced by QXcbWindow::handleXIMouseEvent().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ QXcbEventQueue

friend class QXcbEventQueue
friend

Definition at line 356 of file qxcbconnection.h.


The documentation for this class was generated from the following files: