File indexing completed on 2024-04-28 05:27:45

0001 /*
0002     SPDX-FileCopyrightText: 2023 Fushan Wen <qydwhotmail@gmail.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <X11/Xlib.h>
0010 
0011 #include <QGuiApplication>
0012 #include <QString>
0013 
0014 using namespace Qt::StringLiterals;
0015 
0016 namespace X11Info
0017 {
0018 [[nodiscard]] inline bool isPlatformX11()
0019 {
0020     return QGuiApplication::platformName() == "xcb"_L1;
0021 }
0022 
0023 [[nodiscard]] inline auto display()
0024 {
0025     return qGuiApp->nativeInterface<QNativeInterface::QX11Application>()->display();
0026 }
0027 
0028 [[nodiscard]] inline auto connection()
0029 {
0030     return qGuiApp->nativeInterface<QNativeInterface::QX11Application>()->connection();
0031 }
0032 
0033 [[nodiscard]] inline Window appRootWindow()
0034 {
0035     return DefaultRootWindow(display());
0036 }
0037 }