Changeset View
Changeset View
Standalone View
Standalone View
src/client/plasmawindowmanagement.cpp
Show First 20 Lines • Show All 87 Lines • ▼ Show 20 Line(s) | 65 | public: | |||
---|---|---|---|---|---|
88 | bool resizable = false; | 88 | bool resizable = false; | ||
89 | bool virtualDesktopChangeable = false; | 89 | bool virtualDesktopChangeable = false; | ||
90 | QIcon icon; | 90 | QIcon icon; | ||
91 | PlasmaWindowManagement *wm = nullptr; | 91 | PlasmaWindowManagement *wm = nullptr; | ||
92 | bool unmapped = false; | 92 | bool unmapped = false; | ||
93 | QPointer<PlasmaWindow> parentWindow; | 93 | QPointer<PlasmaWindow> parentWindow; | ||
94 | QMetaObject::Connection parentWindowUnmappedConnection; | 94 | QMetaObject::Connection parentWindowUnmappedConnection; | ||
95 | QRect geometry; | 95 | QRect geometry; | ||
96 | quint32 pid = 0; | ||||
96 | 97 | | |||
97 | private: | 98 | private: | ||
98 | static void titleChangedCallback(void *data, org_kde_plasma_window *window, const char *title); | 99 | static void titleChangedCallback(void *data, org_kde_plasma_window *window, const char *title); | ||
99 | static void appIdChangedCallback(void *data, org_kde_plasma_window *window, const char *app_id); | 100 | static void appIdChangedCallback(void *data, org_kde_plasma_window *window, const char *app_id); | ||
101 | static void pidChangedCallback(void *data, org_kde_plasma_window *window, uint32_t pid); | ||||
100 | static void stateChangedCallback(void *data, org_kde_plasma_window *window, uint32_t state); | 102 | static void stateChangedCallback(void *data, org_kde_plasma_window *window, uint32_t state); | ||
101 | static void virtualDesktopChangedCallback(void *data, org_kde_plasma_window *window, int32_t number); | 103 | static void virtualDesktopChangedCallback(void *data, org_kde_plasma_window *window, int32_t number); | ||
102 | static void themedIconNameChangedCallback(void *data, org_kde_plasma_window *window, const char *name); | 104 | static void themedIconNameChangedCallback(void *data, org_kde_plasma_window *window, const char *name); | ||
103 | static void unmappedCallback(void *data, org_kde_plasma_window *window); | 105 | static void unmappedCallback(void *data, org_kde_plasma_window *window); | ||
104 | static void initialStateCallback(void *data, org_kde_plasma_window *window); | 106 | static void initialStateCallback(void *data, org_kde_plasma_window *window); | ||
105 | static void parentWindowCallback(void *data, org_kde_plasma_window *window, org_kde_plasma_window *parent); | 107 | static void parentWindowCallback(void *data, org_kde_plasma_window *window, org_kde_plasma_window *parent); | ||
106 | static void windowGeometryCallback(void *data, org_kde_plasma_window *window, int32_t x, int32_t y, uint32_t width, uint32_t height); | 108 | static void windowGeometryCallback(void *data, org_kde_plasma_window *window, int32_t x, int32_t y, uint32_t width, uint32_t height); | ||
107 | static void iconChangedCallback(void *data, org_kde_plasma_window *org_kde_plasma_window); | 109 | static void iconChangedCallback(void *data, org_kde_plasma_window *org_kde_plasma_window); | ||
Show All 11 Lines | |||||
119 | void setFullscreenable(bool set); | 121 | void setFullscreenable(bool set); | ||
120 | void setSkipTaskbar(bool skip); | 122 | void setSkipTaskbar(bool skip); | ||
121 | void setShadeable(bool set); | 123 | void setShadeable(bool set); | ||
122 | void setShaded(bool set); | 124 | void setShaded(bool set); | ||
123 | void setMovable(bool set); | 125 | void setMovable(bool set); | ||
124 | void setResizable(bool set); | 126 | void setResizable(bool set); | ||
125 | void setVirtualDesktopChangeable(bool set); | 127 | void setVirtualDesktopChangeable(bool set); | ||
126 | void setParentWindow(PlasmaWindow *parentWindow); | 128 | void setParentWindow(PlasmaWindow *parentWindow); | ||
129 | void setPid(const quint32 pid); | ||||
127 | 130 | | |||
128 | static Private *cast(void *data) { | 131 | static Private *cast(void *data) { | ||
129 | return reinterpret_cast<Private*>(data); | 132 | return reinterpret_cast<Private*>(data); | ||
130 | } | 133 | } | ||
131 | 134 | | |||
132 | PlasmaWindow *q; | 135 | PlasmaWindow *q; | ||
133 | 136 | | |||
134 | static struct org_kde_plasma_window_listener s_listener; | 137 | static struct org_kde_plasma_window_listener s_listener; | ||
▲ Show 20 Lines • Show All 201 Lines • ▼ Show 20 Line(s) | 337 | org_kde_plasma_window_listener PlasmaWindow::Private::s_listener = { | |||
336 | appIdChangedCallback, | 339 | appIdChangedCallback, | ||
337 | stateChangedCallback, | 340 | stateChangedCallback, | ||
338 | virtualDesktopChangedCallback, | 341 | virtualDesktopChangedCallback, | ||
339 | themedIconNameChangedCallback, | 342 | themedIconNameChangedCallback, | ||
340 | unmappedCallback, | 343 | unmappedCallback, | ||
341 | initialStateCallback, | 344 | initialStateCallback, | ||
342 | parentWindowCallback, | 345 | parentWindowCallback, | ||
343 | windowGeometryCallback, | 346 | windowGeometryCallback, | ||
344 | iconChangedCallback | 347 | iconChangedCallback, | ||
348 | pidChangedCallback | ||||
345 | }; | 349 | }; | ||
346 | 350 | | |||
347 | void PlasmaWindow::Private::parentWindowCallback(void *data, org_kde_plasma_window *window, org_kde_plasma_window *parent) | 351 | void PlasmaWindow::Private::parentWindowCallback(void *data, org_kde_plasma_window *window, org_kde_plasma_window *parent) | ||
348 | { | 352 | { | ||
349 | Q_UNUSED(window) | 353 | Q_UNUSED(window) | ||
350 | Private *p = cast(data); | 354 | Private *p = cast(data); | ||
351 | const auto windows = p->wm->windows(); | 355 | const auto windows = p->wm->windows(); | ||
352 | auto it = std::find_if(windows.begin(), windows.end(), | 356 | auto it = std::find_if(windows.begin(), windows.end(), | ||
▲ Show 20 Lines • Show All 64 Lines • ▼ Show 20 Line(s) | 418 | { | |||
417 | const QString s = QString::fromUtf8(appId); | 421 | const QString s = QString::fromUtf8(appId); | ||
418 | if (s == p->appId) { | 422 | if (s == p->appId) { | ||
419 | return; | 423 | return; | ||
420 | } | 424 | } | ||
421 | p->appId = s; | 425 | p->appId = s; | ||
422 | emit p->q->appIdChanged(); | 426 | emit p->q->appIdChanged(); | ||
423 | } | 427 | } | ||
424 | 428 | | |||
429 | void PlasmaWindow::Private::pidChangedCallback(void *data, org_kde_plasma_window *window, uint32_t pid) | ||||
430 | { | ||||
431 | Q_UNUSED(window) | ||||
432 | Private *p = cast(data); | ||||
433 | if (p->pid == static_cast<quint32>(pid)) { | ||||
434 | return; | ||||
435 | } | ||||
436 | p->pid = pid; | ||||
437 | emit p->q->pidChanged(); | ||||
438 | } | ||||
439 | | ||||
425 | void PlasmaWindow::Private::virtualDesktopChangedCallback(void *data, org_kde_plasma_window *window, int32_t number) | 440 | void PlasmaWindow::Private::virtualDesktopChangedCallback(void *data, org_kde_plasma_window *window, int32_t number) | ||
426 | { | 441 | { | ||
427 | Q_UNUSED(window) | 442 | Q_UNUSED(window) | ||
428 | Private *p = cast(data); | 443 | Private *p = cast(data); | ||
429 | if (p->desktop == static_cast<quint32>(number)) { | 444 | if (p->desktop == static_cast<quint32>(number)) { | ||
430 | return; | 445 | return; | ||
431 | } | 446 | } | ||
432 | p->desktop = number; | 447 | p->desktop = number; | ||
▲ Show 20 Lines • Show All 311 Lines • ▼ Show 20 Line(s) | 758 | { | |||
744 | return d->window; | 759 | return d->window; | ||
745 | } | 760 | } | ||
746 | 761 | | |||
747 | QString PlasmaWindow::appId() const | 762 | QString PlasmaWindow::appId() const | ||
748 | { | 763 | { | ||
749 | return d->appId; | 764 | return d->appId; | ||
750 | } | 765 | } | ||
751 | 766 | | |||
767 | quint32 PlasmaWindow::pid() const | ||||
768 | { | ||||
769 | return d->pid; | ||||
770 | } | ||||
771 | | ||||
752 | QString PlasmaWindow::title() const | 772 | QString PlasmaWindow::title() const | ||
753 | { | 773 | { | ||
754 | return d->title; | 774 | return d->title; | ||
755 | } | 775 | } | ||
756 | 776 | | |||
757 | quint32 PlasmaWindow::virtualDesktop() const | 777 | quint32 PlasmaWindow::virtualDesktop() const | ||
758 | { | 778 | { | ||
759 | return d->desktop; | 779 | return d->desktop; | ||
▲ Show 20 Lines • Show All 191 Lines • Show Last 20 Lines |