Changeset View
Changeset View
Standalone View
Standalone View
src/client/registry.cpp
Show First 20 Lines • Show All 46 Lines • ▼ Show 20 Line(s) | |||||
47 | #include "shm_pool.h" | 47 | #include "shm_pool.h" | ||
48 | #include "subcompositor.h" | 48 | #include "subcompositor.h" | ||
49 | #include "textinput_p.h" | 49 | #include "textinput_p.h" | ||
50 | #include "xdgshell.h" | 50 | #include "xdgshell.h" | ||
51 | #include "xdgshell_p.h" | 51 | #include "xdgshell_p.h" | ||
52 | #include "wayland_pointer_p.h" | 52 | #include "wayland_pointer_p.h" | ||
53 | #include "xdgforeign_v2.h" | 53 | #include "xdgforeign_v2.h" | ||
54 | #include "appmenu.h" | 54 | #include "appmenu.h" | ||
55 | #include "server_decoration_palette.h" | ||||
55 | // Qt | 56 | // Qt | ||
56 | #include <QDebug> | 57 | #include <QDebug> | ||
57 | // wayland | 58 | // wayland | ||
58 | #include <wayland-client-protocol.h> | 59 | #include <wayland-client-protocol.h> | ||
59 | #include <wayland-fullscreen-shell-client-protocol.h> | 60 | #include <wayland-fullscreen-shell-client-protocol.h> | ||
60 | #include <wayland-plasma-shell-client-protocol.h> | 61 | #include <wayland-plasma-shell-client-protocol.h> | ||
61 | #include <wayland-plasma-window-management-client-protocol.h> | 62 | #include <wayland-plasma-window-management-client-protocol.h> | ||
62 | #include <wayland-idle-client-protocol.h> | 63 | #include <wayland-idle-client-protocol.h> | ||
Show All 11 Lines | |||||
74 | #include <wayland-text-input-v2-client-protocol.h> | 75 | #include <wayland-text-input-v2-client-protocol.h> | ||
75 | #include <wayland-xdg-shell-v5-client-protocol.h> | 76 | #include <wayland-xdg-shell-v5-client-protocol.h> | ||
76 | #include <wayland-xdg-shell-v6-client-protocol.h> | 77 | #include <wayland-xdg-shell-v6-client-protocol.h> | ||
77 | #include <wayland-relativepointer-unstable-v1-client-protocol.h> | 78 | #include <wayland-relativepointer-unstable-v1-client-protocol.h> | ||
78 | #include <wayland-pointer-gestures-unstable-v1-client-protocol.h> | 79 | #include <wayland-pointer-gestures-unstable-v1-client-protocol.h> | ||
79 | #include <wayland-pointer-constraints-unstable-v1-client-protocol.h> | 80 | #include <wayland-pointer-constraints-unstable-v1-client-protocol.h> | ||
80 | #include <wayland-xdg-foreign-unstable-v2-client-protocol.h> | 81 | #include <wayland-xdg-foreign-unstable-v2-client-protocol.h> | ||
81 | #include <wayland-appmenu-client-protocol.h> | 82 | #include <wayland-appmenu-client-protocol.h> | ||
83 | #include <wayland-server-decoration-palette-client-protocol.h> | ||||
82 | 84 | | |||
83 | /***** | 85 | /***** | ||
84 | * How to add another interface: | 86 | * How to add another interface: | ||
85 | * * define a new enum value in Registry::Interface | 87 | * * define a new enum value in Registry::Interface | ||
86 | * * define the bind<InterfaceName> method | 88 | * * define the bind<InterfaceName> method | ||
87 | * * define the create<InterfaceName> method | 89 | * * define the create<InterfaceName> method | ||
88 | * * define the <interfaceName>Announced signal | 90 | * * define the <interfaceName>Announced signal | ||
89 | * * define the <interfaceName>Removed signal | 91 | * * define the <interfaceName>Removed signal | ||
▲ Show 20 Lines • Show All 228 Lines • ▼ Show 20 Line(s) | 315 | {Registry::Interface::IdleInhibitManagerUnstableV1, { | |||
318 | &Registry::idleInhibitManagerUnstableV1Removed | 320 | &Registry::idleInhibitManagerUnstableV1Removed | ||
319 | }}, | 321 | }}, | ||
320 | {Registry::Interface::AppMenu, { | 322 | {Registry::Interface::AppMenu, { | ||
321 | 1, | 323 | 1, | ||
322 | QByteArrayLiteral("org_kde_kwin_appmenu_manager"), | 324 | QByteArrayLiteral("org_kde_kwin_appmenu_manager"), | ||
323 | &org_kde_kwin_appmenu_manager_interface, | 325 | &org_kde_kwin_appmenu_manager_interface, | ||
324 | &Registry::appMenuAnnounced, | 326 | &Registry::appMenuAnnounced, | ||
325 | &Registry::appMenuRemoved | 327 | &Registry::appMenuRemoved | ||
328 | }}, | ||||
329 | {Registry::Interface::ServerSideDecorationPalette, { | ||||
330 | 1, | ||||
331 | QByteArrayLiteral("org_kde_kwin_server_decoration_palette_manager"), | ||||
332 | &org_kde_kwin_server_decoration_palette_manager_interface, | ||||
333 | &Registry::serverSideDecorationPaletteManagerAnnounced, | ||||
334 | &Registry::serverSideDecorationPaletteManagerRemoved | ||||
326 | }} | 335 | }} | ||
327 | }; | 336 | }; | ||
328 | 337 | | |||
329 | static quint32 maxVersion(const Registry::Interface &interface) | 338 | static quint32 maxVersion(const Registry::Interface &interface) | ||
330 | { | 339 | { | ||
331 | auto it = s_interfaces.find(interface); | 340 | auto it = s_interfaces.find(interface); | ||
332 | if (it != s_interfaces.end()) { | 341 | if (it != s_interfaces.end()) { | ||
333 | return it.value().maxVersion; | 342 | return it.value().maxVersion; | ||
▲ Show 20 Lines • Show All 294 Lines • ▼ Show 20 Line(s) | |||||
628 | BIND(XdgImporterUnstableV2, zxdg_importer_v2) | 637 | BIND(XdgImporterUnstableV2, zxdg_importer_v2) | ||
629 | BIND(IdleInhibitManagerUnstableV1, zwp_idle_inhibit_manager_v1) | 638 | BIND(IdleInhibitManagerUnstableV1, zwp_idle_inhibit_manager_v1) | ||
630 | BIND2(ShadowManager, Shadow, org_kde_kwin_shadow_manager) | 639 | BIND2(ShadowManager, Shadow, org_kde_kwin_shadow_manager) | ||
631 | BIND2(BlurManager, Blur, org_kde_kwin_blur_manager) | 640 | BIND2(BlurManager, Blur, org_kde_kwin_blur_manager) | ||
632 | BIND2(ContrastManager, Contrast, org_kde_kwin_contrast_manager) | 641 | BIND2(ContrastManager, Contrast, org_kde_kwin_contrast_manager) | ||
633 | BIND2(SlideManager, Slide, org_kde_kwin_slide_manager) | 642 | BIND2(SlideManager, Slide, org_kde_kwin_slide_manager) | ||
634 | BIND2(DpmsManager, Dpms, org_kde_kwin_dpms_manager) | 643 | BIND2(DpmsManager, Dpms, org_kde_kwin_dpms_manager) | ||
635 | BIND2(AppMenuManager, AppMenu, org_kde_kwin_appmenu_manager) | 644 | BIND2(AppMenuManager, AppMenu, org_kde_kwin_appmenu_manager) | ||
645 | BIND2(ServerSideDecorationPaletteManager, ServerSideDecorationPalette, org_kde_kwin_server_decoration_palette_manager) | ||||
636 | 646 | | |||
637 | #undef BIND | 647 | #undef BIND | ||
638 | #undef BIND2 | 648 | #undef BIND2 | ||
639 | 649 | | |||
640 | template <class T, typename WL> | 650 | template <class T, typename WL> | ||
641 | T *Registry::Private::create(quint32 name, quint32 version, QObject *parent, WL *(Registry::*bindMethod)(uint32_t, uint32_t) const) | 651 | T *Registry::Private::create(quint32 name, quint32 version, QObject *parent, WL *(Registry::*bindMethod)(uint32_t, uint32_t) const) | ||
642 | { | 652 | { | ||
643 | T *t = new T(parent); | 653 | T *t = new T(parent); | ||
Show All 34 Lines | |||||
678 | CREATE(ShadowManager) | 688 | CREATE(ShadowManager) | ||
679 | CREATE(BlurManager) | 689 | CREATE(BlurManager) | ||
680 | CREATE(ContrastManager) | 690 | CREATE(ContrastManager) | ||
681 | CREATE(SlideManager) | 691 | CREATE(SlideManager) | ||
682 | CREATE(DpmsManager) | 692 | CREATE(DpmsManager) | ||
683 | CREATE(ServerSideDecorationManager) | 693 | CREATE(ServerSideDecorationManager) | ||
684 | CREATE2(ShmPool, Shm) | 694 | CREATE2(ShmPool, Shm) | ||
685 | CREATE(AppMenuManager) | 695 | CREATE(AppMenuManager) | ||
696 | CREATE(ServerSideDecorationPaletteManager) | ||||
686 | 697 | | |||
687 | #undef CREATE | 698 | #undef CREATE | ||
688 | #undef CREATE2 | 699 | #undef CREATE2 | ||
689 | 700 | | |||
690 | XdgExporter *Registry::createXdgExporter(quint32 name, quint32 version, QObject *parent) | 701 | XdgExporter *Registry::createXdgExporter(quint32 name, quint32 version, QObject *parent) | ||
691 | { | 702 | { | ||
692 | //only V1 supported for now | 703 | //only V1 supported for now | ||
693 | return d->create<XdgExporterUnstableV2>(name, version, parent, &Registry::bindXdgExporterUnstableV2); | 704 | return d->create<XdgExporterUnstableV2>(name, version, parent, &Registry::bindXdgExporterUnstableV2); | ||
▲ Show 20 Lines • Show All 122 Lines • Show Last 20 Lines |