Changeset View
Changeset View
Standalone View
Standalone View
toplevel.h
Show First 20 Lines • Show All 279 Lines • ▼ Show 20 Line(s) | 213 | public: | |||
---|---|---|---|---|---|
280 | 280 | | |||
281 | /** | 281 | /** | ||
282 | * Returns the virtual desktop within the workspace() the client window | 282 | * Returns the virtual desktop within the workspace() the client window | ||
283 | * is located in, 0 if it isn't located on any special desktop (not mapped yet), | 283 | * is located in, 0 if it isn't located on any special desktop (not mapped yet), | ||
284 | * or NET::OnAllDesktops. Do not use desktop() directly, use | 284 | * or NET::OnAllDesktops. Do not use desktop() directly, use | ||
285 | * isOnDesktop() instead. | 285 | * isOnDesktop() instead. | ||
286 | */ | 286 | */ | ||
287 | virtual int desktop() const = 0; | 287 | virtual int desktop() const = 0; | ||
288 | virtual QList<VirtualDesktop *> desktops() const = 0; | ||||
288 | virtual QStringList activities() const = 0; | 289 | virtual QStringList activities() const = 0; | ||
289 | bool isOnDesktop(int d) const; | 290 | bool isOnDesktop(int d) const; | ||
graesslin: The idea I had was promoting the VirtualDesktop class to Toplevel and thus replacing the int… | |||||
mart: would have to be a list anyways, tough? | |||||
290 | bool isOnActivity(const QString &activity) const; | 291 | bool isOnActivity(const QString &activity) const; | ||
291 | bool isOnCurrentDesktop() const; | 292 | bool isOnCurrentDesktop() const; | ||
292 | bool isOnCurrentActivity() const; | 293 | bool isOnCurrentActivity() const; | ||
293 | bool isOnAllDesktops() const; | 294 | bool isOnAllDesktops() const; | ||
294 | bool isOnAllActivities() const; | 295 | bool isOnAllActivities() const; | ||
295 | 296 | | |||
296 | virtual QByteArray windowRole() const; | 297 | virtual QByteArray windowRole() const; | ||
297 | QByteArray sessionId() const; | 298 | QByteArray sessionId() const; | ||
▲ Show 20 Lines • Show All 473 Lines • ▼ Show 20 Line(s) | |||||
771 | inline | 772 | inline | ||
772 | const EffectWindowImpl* Toplevel::effectWindow() const | 773 | const EffectWindowImpl* Toplevel::effectWindow() const | ||
773 | { | 774 | { | ||
774 | return effect_window; | 775 | return effect_window; | ||
775 | } | 776 | } | ||
776 | 777 | | |||
777 | inline bool Toplevel::isOnAllDesktops() const | 778 | inline bool Toplevel::isOnAllDesktops() const | ||
778 | { | 779 | { | ||
779 | return desktop() == NET::OnAllDesktops; | 780 | return kwinApp()->operationMode() == Application::OperationModeWaylandOnly || | ||
781 | kwinApp()->operationMode() == Application::OperationModeXwayland | ||||
782 | //Wayland | ||||
783 | ? desktops().isEmpty() | ||||
784 | //X11 | ||||
785 | : desktop() == NET::OnAllDesktops; | ||||
780 | } | 786 | } | ||
781 | 787 | | |||
782 | inline bool Toplevel::isOnAllActivities() const | 788 | inline bool Toplevel::isOnAllActivities() const | ||
783 | { | 789 | { | ||
784 | return activities().isEmpty(); | 790 | return activities().isEmpty(); | ||
785 | } | 791 | } | ||
786 | 792 | | |||
787 | inline bool Toplevel::isOnDesktop(int d) const | 793 | inline bool Toplevel::isOnDesktop(int d) const | ||
788 | { | 794 | { | ||
789 | return desktop() == d || /*desk == 0 ||*/ isOnAllDesktops(); | 795 | return (kwinApp()->operationMode() == Application::OperationModeWaylandOnly || | ||
796 | kwinApp()->operationMode() == Application::OperationModeXwayland | ||||
797 | ? desktops().contains(VirtualDesktopManager::self()->desktopForX11Id(d)) | ||||
798 | : desktop() == d | ||||
799 | ) || isOnAllDesktops(); | ||||
790 | } | 800 | } | ||
791 | 801 | | |||
792 | inline bool Toplevel::isOnActivity(const QString &activity) const | 802 | inline bool Toplevel::isOnActivity(const QString &activity) const | ||
793 | { | 803 | { | ||
794 | return activities().isEmpty() || activities().contains(activity); | 804 | return activities().isEmpty() || activities().contains(activity); | ||
795 | } | 805 | } | ||
796 | 806 | | |||
797 | inline bool Toplevel::isOnCurrentDesktop() const | 807 | inline bool Toplevel::isOnCurrentDesktop() const | ||
▲ Show 20 Lines • Show All 58 Lines • Show Last 20 Lines |
The idea I had was promoting the VirtualDesktop class to Toplevel and thus replacing the int desktop (which would be the x11desktop in the first VirtualDesktop). Introducing a Stringlist seams like a suboptimal change to me.