diff --git a/x11/quickshell/Makefile b/x11/quickshell/Makefile index 8a649d273488..6fad0e01d1f5 100644 --- a/x11/quickshell/Makefile +++ b/x11/quickshell/Makefile @@ -1,75 +1,79 @@ PORTNAME= quickshell DISTVERSIONPREFIX= v -DISTVERSION= 0.2.1 -PORTREVISION= 1 +DISTVERSION= 0.3.0 CATEGORIES= x11 MASTER_SITES= https://git.outfoxxed.me/${PORTNAME}/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/ MAINTAINER= tagattie@FreeBSD.org COMMENT= Building blocks for your desktop WWW= https://quickshell.org/ LICENSE= LGPL3 LICENSE_FILE= ${WRKSRC}/LICENSE BUILD_DEPENDS= ${LOCALBASE}/share/cmake/CLI11/CLI11Config.cmake:devel/cli11 \ - ${LOCALBASE}/lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake:graphics/spirv-tools -LIB_DEPENDS= libxkbcommon.so:x11/libxkbcommon + ${LOCALBASE}/lib/cmake/SPIRV-Tools/SPIRV-ToolsConfig.cmake:graphics/spirv-tools \ + vulkan-headers>0:graphics/vulkan-headers +LIB_DEPENDS= libdrm.so:graphics/libdrm \ + libxkbcommon.so:x11/libxkbcommon USES= cmake:testing display:test gl localbase:ldflags pkgconfig qt:6 USE_GL= opengl USE_QT= 5compat base declarative imageformats multimedia svg \ shadertools:build -CMAKE_ARGS= -DDISTRIBUTOR:STRING="FreeBSD ports/packages" \ - -DINSTALL_QML_PREFIX:STRING=${QT_QMLDIR_REL} \ - -DGIT_REVISION:STRING=${GIT_COMMIT_HASH} -CMAKE_ON= NO_PCH -CMAKE_OFF= DISTRIBUTOR_DEBUGINFO_AVAILABLE \ - CRASH_REPORTER \ - USE_JEMALLOC -CMAKE_BUILD_TYPE= RelWithDebInfo - -STRIP= # empty +CMAKE_ARGS= -DDISTRIBUTOR:STRING="FreeBSD ports/packages" \ + -DINSTALL_QML_PREFIX:STRING=${QT_QMLDIR_REL} \ + -DGIT_REVISION:STRING=${GIT_COMMIT_HASH} +CMAKE_OFF= CRASH_HANDLER WRKSRC= ${WRKDIR}/${PORTNAME} PORTDOCS= CONTRIBUTING.md README.md -OPTIONS_DEFINE= DOCS PIPEWIRE WAYLAND X11 -OPTIONS_DEFAULT=PIPEWIRE WAYLAND X11 +OPTIONS_DEFINE= DOCS MPRIS PAM PIPEWIRE POLKIT STATUS_NOTIFIER WAYLAND X11 +OPTIONS_DEFAULT=MPRIS PAM PIPEWIRE POLKIT STATUS_NOTIFIER WAYLAND X11 OPTIONS_SUB= yes +MPRIS_DESC= MPRIS compatible media players support +POLKIT_DESC= PolicyKit framework agents support +STATUS_NOTIFIER_DESC= System tray support + +MPRIS_CMAKE_BOOL= SERVICE_MPRIS +PAM_CMAKE_BOOL= SERVICE_PAM PIPEWIRE_LIB_DEPENDS= libpipewire-0.3.so:multimedia/pipewire PIPEWIRE_CMAKE_BOOL= SERVICE_PIPEWIRE +POLKIT_LIB_DEPENDS= libpolkit-agent-1.so:sysutils/polkit +POLKIT_USES= gnome +POLKIT_USE= gnome=glib20 +POLKIT_CMAKE_BOOL= SERVICE_POLKIT +STATUS_NOTIFIER_CMAKE_BOOL= SERVICE_STATUS_NOTIFIER WAYLAND_BUILD_DEPENDS= wayland-scanner:graphics/wayland \ - wayland-protocols>0:graphics/wayland-protocols -WAYLAND_LIB_DEPENDS= libdrm.so:graphics/libdrm \ - libwayland-client.so:graphics/wayland + wayland-protocols>=1.41:graphics/wayland-protocols +WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland WAYLAND_USE= gl=egl,gbm,gl \ qt=wayland WAYLAND_CMAKE_BOOL= WAYLAND -X11_LIB_DEPENDS= libdrm.so:graphics/libdrm X11_USES= xorg X11_USE= gl=egl,gbm,gl \ xorg=xcb X11_CMAKE_BOOL= X11 -GIT_COMMIT_HASH=a1a150fab00a93ea983aaca5df55304bc837f51b +GIT_COMMIT_HASH= 59e9c47b0eb48a9e4bcf9631fa062ee939bd2e83 .include .if ${OPSYS} == FreeBSD && ${ARCH} == i386 EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_wayland_buffer_dmabuf.cpp .endif post-install: @${RM} ${STAGEDIR}${PREFIX}/bin/qs @${RLN} ${STAGEDIR}${PREFIX}/bin/quickshell ${STAGEDIR}${PREFIX}/bin/qs post-install-DOCS-on: @${MKDIR} ${STAGEDIR}${DOCSDIR} ${INSTALL_MAN} ${PORTDOCS:S|^|${WRKSRC}/|} ${STAGEDIR}${DOCSDIR} .include diff --git a/x11/quickshell/distinfo b/x11/quickshell/distinfo index 7ac167fa9027..77006b960499 100644 --- a/x11/quickshell/distinfo +++ b/x11/quickshell/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1768222570 -SHA256 (quickshell-v0.2.1.tar.gz) = d815c5f99f4a0a28545ffaa90464420c773b7c0ab62f713d9d8735a8e7282ca7 -SIZE (quickshell-v0.2.1.tar.gz) = 403070 +TIMESTAMP = 1778326189 +SHA256 (quickshell-v0.3.0.tar.gz) = f4821f9084cab04bd2b5384cc92b9726aecc4ce3eb27200dca24edc67da3b6e5 +SIZE (quickshell-v0.3.0.tar.gz) = 498069 diff --git a/x11/quickshell/files/extra-patch-src_wayland_buffer_dmabuf.cpp b/x11/quickshell/files/extra-patch-src_wayland_buffer_dmabuf.cpp index e2234d50c41d..512a68b9d2f6 100644 --- a/x11/quickshell/files/extra-patch-src_wayland_buffer_dmabuf.cpp +++ b/x11/quickshell/files/extra-patch-src_wayland_buffer_dmabuf.cpp @@ -1,26 +1,26 @@ ---- src/wayland/buffer/dmabuf.cpp.orig 2026-01-13 05:59:50 UTC +--- src/wayland/buffer/dmabuf.cpp.orig 2026-05-09 11:53:15 UTC +++ src/wayland/buffer/dmabuf.cpp -@@ -599,9 +599,9 @@ WlBufferQSGTexture* WlDmaBuffer::createQsgTexture(QQui +@@ -955,9 +955,9 @@ WlBufferQSGTexture* WlDmaBuffer::createQsgTextureGl(QQ // clang-format off auto attribs = std::vector { - EGL_WIDTH, this->width, - EGL_HEIGHT, this->height, - EGL_LINUX_DRM_FOURCC_EXT, this->format, + EGL_WIDTH, static_cast(this->width), + EGL_HEIGHT, static_cast(this->height), + EGL_LINUX_DRM_FOURCC_EXT, static_cast(this->format), }; // clang-format on -@@ -617,8 +617,8 @@ WlBufferQSGTexture* WlDmaBuffer::createQsgTexture(QQui +@@ -973,8 +973,8 @@ WlBufferQSGTexture* WlDmaBuffer::createQsgTextureGl(QQ // clang-format off attribs.insert(attribs.end(), { names.fd, plane.fd, - names.offset, plane.offset, - names.pitch, plane.stride, + names.offset, static_cast(plane.offset), + names.pitch, static_cast(plane.stride), }); // clang-format on diff --git a/x11/quickshell/files/patch-src_core_logging.cpp b/x11/quickshell/files/patch-src_core_logging.cpp deleted file mode 100644 index eda74904e917..000000000000 --- a/x11/quickshell/files/patch-src_core_logging.cpp +++ /dev/null @@ -1,77 +0,0 @@ ---- src/core/logging.cpp.orig 2025-10-12 00:14:14 UTC -+++ src/core/logging.cpp -@@ -27,7 +27,16 @@ - #include - #include - #include -+#if defined(__linux__) - #include -+#else -+#include -+#include -+#if defined(__NetBSD__) || defined(__DragonFly__) -+#include -+#include -+#endif -+#endif - - #include "instanceinfo.hpp" - #include "logcat.hpp" -@@ -389,7 +398,7 @@ void ThreadLogging::initFs() { - delete detailedFile; - detailedFile = nullptr; - } else { -- auto lock = flock { -+ struct flock lock { - .l_type = F_WRLCK, - .l_whence = SEEK_SET, - .l_start = 0, -@@ -411,7 +420,19 @@ void ThreadLogging::initFs() { - auto* oldFile = this->file; - if (oldFile) { - oldFile->seek(0); -+#if defined(__linux__) - sendfile(file->handle(), oldFile->handle(), nullptr, oldFile->size()); -+#elif defined(__FreeBSD__) -+ copy_file_range(oldFile->handle(), nullptr, file->handle(), nullptr, oldFile->size(), 0); -+#elif defined(__NetBSD__) || defined(__DragonFly__) -+ sendfile(oldFile->handle(), file->handle(), 0, oldFile->size(), nullptr, nullptr, 0); -+#elif defined(__OpenBSD__) -+ constexpr size_t BUF_SIZE = 1 << 20; -+ char buf[BUF_SIZE]; -+ ssize_t r = read(oldFile->handle(), buf, oldFile->size() > BUF_SIZE ? BUF_SIZE : (size_t)oldFile->size()); -+ if (r > 0) -+ write(file->handle(), buf, r); -+#endif - } - - this->file = file; -@@ -423,7 +444,19 @@ void ThreadLogging::initFs() { - auto* oldFile = this->detailedFile; - if (oldFile) { - oldFile->seek(0); -+#if defined(__linux__) - sendfile(detailedFile->handle(), oldFile->handle(), nullptr, oldFile->size()); -+#elif defined(__FreeBSD__) -+ copy_file_range(oldFile->handle(), nullptr, detailedFile->handle(), nullptr, oldFile->size(), 0); -+#elif defined(__NetBSD__) || defined(__DragonFly__) -+ sendfile(oldFile->handle(), detailedFile->handle(), 0, oldFile->size(), nullptr, nullptr, 0); -+#elif defined(__OpenBSD__) -+ constexpr size_t BUF_SIZE = 1 << 20; -+ char buf[BUF_SIZE]; -+ ssize_t r = read(oldFile->handle(), buf, oldFile->size() > BUF_SIZE ? BUF_SIZE : (size_t)oldFile->size()); -+ if (r > 0) -+ write(detailedFile->handle(), buf, r); -+#endif - } - - crash::CrashInfo::INSTANCE.logFd = detailedFile->handle(); -@@ -886,7 +919,7 @@ void LogFollower::FcntlWaitThread::run() { - } - - void LogFollower::FcntlWaitThread::run() { -- auto lock = flock { -+ struct flock lock { - .l_type = F_RDLCK, // won't block other read locks when we take it - .l_whence = SEEK_SET, - .l_start = 0, diff --git a/x11/quickshell/files/patch-src_core_paths.cpp b/x11/quickshell/files/patch-src_core_paths.cpp deleted file mode 100644 index 302d5948a8ff..000000000000 --- a/x11/quickshell/files/patch-src_core_paths.cpp +++ /dev/null @@ -1,20 +0,0 @@ ---- src/core/paths.cpp.orig 2025-10-12 00:14:14 UTC -+++ src/core/paths.cpp -@@ -346,7 +346,7 @@ void QsPaths::createLock() { - return; - } - -- auto lock = flock { -+ struct flock lock { - .l_type = F_WRLCK, - .l_whence = SEEK_SET, - .l_start = 0, -@@ -373,7 +373,7 @@ bool QsPaths::checkLock(const QString& path, InstanceL - auto file = QFile(QDir(path).filePath("instance.lock")); - if (!file.open(QFile::ReadOnly)) return false; - -- auto lock = flock { -+ struct flock lock { - .l_type = F_WRLCK, - .l_whence = SEEK_SET, - .l_start = 0, diff --git a/x11/quickshell/files/patch-src_core_toolsupport.cpp b/x11/quickshell/files/patch-src_core_toolsupport.cpp deleted file mode 100644 index 15271acf6dd8..000000000000 --- a/x11/quickshell/files/patch-src_core_toolsupport.cpp +++ /dev/null @@ -1,11 +0,0 @@ ---- src/core/toolsupport.cpp.orig 2025-10-12 00:14:14 UTC -+++ src/core/toolsupport.cpp -@@ -54,7 +54,7 @@ bool QmlToolingSupport::lockTooling() { - return false; - } - -- auto lock = flock { -+ struct flock lock { - .l_type = F_WRLCK, - .l_whence = SEEK_SET, // NOLINT (fcntl.h??) - .l_start = 0, diff --git a/x11/quickshell/files/patch-src_services_pam_conversation.cpp b/x11/quickshell/files/patch-src_services_pam_conversation.cpp deleted file mode 100644 index 8269b0742fa1..000000000000 --- a/x11/quickshell/files/patch-src_services_pam_conversation.cpp +++ /dev/null @@ -1,10 +0,0 @@ ---- src/services/pam/conversation.cpp.orig 2026-01-12 13:51:40 UTC -+++ src/services/pam/conversation.cpp -@@ -7,6 +7,7 @@ - #include - #include - #include -+#include - - #include "../../core/logcat.hpp" - #include "ipc.hpp" diff --git a/x11/quickshell/files/patch-src_services_pam_qml.hpp b/x11/quickshell/files/patch-src_services_pam_qml.hpp deleted file mode 100644 index 7e91f062bda4..000000000000 --- a/x11/quickshell/files/patch-src_services_pam_qml.hpp +++ /dev/null @@ -1,12 +0,0 @@ ---- src/services/pam/qml.hpp.orig 2025-10-12 00:14:14 UTC -+++ src/services/pam/qml.hpp -@@ -6,7 +6,9 @@ - #include - #include - #include -+#if defined(__linux__) - #include -+#endif - #include - - #include "conversation.hpp" diff --git a/x11/quickshell/files/patch-src_services_pam_subprocess.cpp b/x11/quickshell/files/patch-src_services_pam_subprocess.cpp deleted file mode 100644 index 89f0e2ee7830..000000000000 --- a/x11/quickshell/files/patch-src_services_pam_subprocess.cpp +++ /dev/null @@ -1,24 +0,0 @@ ---- src/services/pam/subprocess.cpp.orig 2025-10-12 00:14:14 UTC -+++ src/services/pam/subprocess.cpp -@@ -7,7 +7,9 @@ - #include - #include - #include -+#if defined(__linux__) - #include -+#endif - #include - #include - -@@ -83,7 +85,11 @@ PamIpcExitCode PamSubprocess::exec(const char* configD - logIf(this->log) << "Starting pam session for user \"" << user << "\" with config \"" << config - << "\" in dir \"" << configDir << "\"" << std::endl; - -+#if defined(__linux__) - auto result = pam_start_confdir(config, user, &conv, configDir, &handle); -+#else -+ auto result = pam_start(config, user, &conv, &handle); -+#endif - - if (result != PAM_SUCCESS) { - logIf(true) << "Unable to start pam conversation with error \"" << pam_strerror(handle, result) diff --git a/x11/quickshell/files/patch-src_wayland_buffer_dmabuf.cpp b/x11/quickshell/files/patch-src_wayland_buffer_dmabuf.cpp new file mode 100644 index 000000000000..d2e2cee8f90c --- /dev/null +++ b/x11/quickshell/files/patch-src_wayland_buffer_dmabuf.cpp @@ -0,0 +1,12 @@ +--- src/wayland/buffer/dmabuf.cpp.orig 2026-05-09 11:41:19 UTC ++++ src/wayland/buffer/dmabuf.cpp +@@ -37,7 +37,9 @@ + #include + #include + #include ++#if defined(__linux__) + #include ++#endif + #include + #include + #include diff --git a/x11/quickshell/pkg-plist b/x11/quickshell/pkg-plist index 1b531398a880..3593ba3d49a9 100644 --- a/x11/quickshell/pkg-plist +++ b/x11/quickshell/pkg-plist @@ -1,62 +1,76 @@ bin/qs bin/quickshell %%QT_QMLDIR%%/Quickshell/Bluetooth/qmldir %%QT_QMLDIR%%/Quickshell/Bluetooth/quickshell-bluetooth.qmltypes %%QT_QMLDIR%%/Quickshell/DBusMenu/qmldir %%QT_QMLDIR%%/Quickshell/DBusMenu/quickshell-dbusmenu.qmltypes %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_FocusGrab/qmldir %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_FocusGrab/quickshell-hyprland-focus-grab.qmltypes %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_GlobalShortcuts/qmldir %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_GlobalShortcuts/quickshell-hyprland-global-shortcuts.qmltypes %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_Ipc/qmldir %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_Ipc/quickshell-hyprland-ipc.qmltypes %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_SurfaceExtensions/qmldir %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/_SurfaceExtensions/quickshell-hyprland-surface-extensions.qmltypes %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/qmldir %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Hyprland/quickshell-hyprland.qmltypes %%X11%%%%QT_QMLDIR%%/Quickshell/I3/_Ipc/qmldir %%X11%%%%QT_QMLDIR%%/Quickshell/I3/_Ipc/quickshell-i3-ipc.qmltypes %%X11%%%%QT_QMLDIR%%/Quickshell/I3/qmldir %%X11%%%%QT_QMLDIR%%/Quickshell/I3/quickshell-i3.qmltypes %%QT_QMLDIR%%/Quickshell/Io/FileView.qml %%QT_QMLDIR%%/Quickshell/Io/qmldir %%QT_QMLDIR%%/Quickshell/Io/quickshell-io.qmltypes +%%QT_QMLDIR%%/Quickshell/Networking/qmldir +%%QT_QMLDIR%%/Quickshell/Networking/quickshell-network.qmltypes %%QT_QMLDIR%%/Quickshell/Services/Greetd/qmldir %%QT_QMLDIR%%/Quickshell/Services/Greetd/quickshell-service-greetd.qmltypes -%%QT_QMLDIR%%/Quickshell/Services/Mpris/qmldir -%%QT_QMLDIR%%/Quickshell/Services/Mpris/quickshell-service-mpris.qmltypes +%%MPRIS%%%%QT_QMLDIR%%/Quickshell/Services/Mpris/qmldir +%%MPRIS%%%%QT_QMLDIR%%/Quickshell/Services/Mpris/quickshell-service-mpris.qmltypes %%QT_QMLDIR%%/Quickshell/Services/Notifications/qmldir %%QT_QMLDIR%%/Quickshell/Services/Notifications/quickshell-service-notifications.qmltypes -%%QT_QMLDIR%%/Quickshell/Services/Pam/qmldir -%%QT_QMLDIR%%/Quickshell/Services/Pam/quickshell-service-pam.qmltypes +%%PAM%%%%QT_QMLDIR%%/Quickshell/Services/Pam/qmldir +%%PAM%%%%QT_QMLDIR%%/Quickshell/Services/Pam/quickshell-service-pam.qmltypes %%PIPEWIRE%%%%QT_QMLDIR%%/Quickshell/Services/Pipewire/qmldir %%PIPEWIRE%%%%QT_QMLDIR%%/Quickshell/Services/Pipewire/quickshell-service-pipewire.qmltypes -%%QT_QMLDIR%%/Quickshell/Services/SystemTray/qmldir -%%QT_QMLDIR%%/Quickshell/Services/SystemTray/quickshell-service-statusnotifier.qmltypes +%%POLKIT%%%%QT_QMLDIR%%/Quickshell/Services/Polkit/qmldir +%%POLKIT%%%%QT_QMLDIR%%/Quickshell/Services/Polkit/quickshell-service-polkit.qmltypes +%%STATUS_NOTIFIER%%%%QT_QMLDIR%%/Quickshell/Services/SystemTray/qmldir +%%STATUS_NOTIFIER%%%%QT_QMLDIR%%/Quickshell/Services/SystemTray/quickshell-service-statusnotifier.qmltypes %%QT_QMLDIR%%/Quickshell/Services/UPower/qmldir %%QT_QMLDIR%%/Quickshell/Services/UPower/quickshell-service-upower.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_BackgroundEffect/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_BackgroundEffect/quickshell-wayland-background-effect.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_IdleInhibitor/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_IdleInhibitor/quickshell-wayland-idle-inhibit.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_IdleNotify/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_IdleNotify/quickshell-wayland-idle-notify.qmltypes %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_Screencopy/qmldir %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_Screencopy/quickshell-wayland-screencopy.qmltypes +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_ShortcutsInhibitor/qmldir +%%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_ShortcutsInhibitor/quickshell-wayland-shortcuts-inhibit.qmltypes %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_ToplevelManagement/qmldir %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_ToplevelManagement/quickshell-wayland-toplevel-management.qmltypes %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_WlrLayerShell/qmldir %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/_WlrLayerShell/quickshell-wayland-layershell.qmltypes %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/qmldir %%WAYLAND%%%%QT_QMLDIR%%/Quickshell/Wayland/quickshell-wayland.qmltypes %%QT_QMLDIR%%/Quickshell/Widgets/ClippingRectangle.qml %%QT_QMLDIR%%/Quickshell/Widgets/ClippingWrapperRectangle.qml %%QT_QMLDIR%%/Quickshell/Widgets/ClippingWrapperRectangleInternal.qml %%QT_QMLDIR%%/Quickshell/Widgets/IconImage.qml %%QT_QMLDIR%%/Quickshell/Widgets/WrapperItem.qml %%QT_QMLDIR%%/Quickshell/Widgets/WrapperMouseArea.qml %%QT_QMLDIR%%/Quickshell/Widgets/WrapperRectangle.qml %%QT_QMLDIR%%/Quickshell/Widgets/qmldir %%QT_QMLDIR%%/Quickshell/Widgets/quickshell-widgets.qmltypes +%%QT_QMLDIR%%/Quickshell/WindowManager/qmldir +%%QT_QMLDIR%%/Quickshell/WindowManager/quickshell-windowmanager.qmltypes %%X11%%%%QT_QMLDIR%%/Quickshell/X11/qmldir %%X11%%%%QT_QMLDIR%%/Quickshell/X11/quickshell-x11.qmltypes %%QT_QMLDIR%%/Quickshell/_Window/qmldir %%QT_QMLDIR%%/Quickshell/_Window/quickshell-window.qmltypes %%QT_QMLDIR%%/Quickshell/qmldir %%QT_QMLDIR%%/Quickshell/quickshell-core.qmltypes share/applications/org.quickshell.desktop share/icons/hicolor/scalable/apps/org.quickshell.svg