Changeset View
Changeset View
Standalone View
Standalone View
toplevel.h
Show First 20 Lines • Show All 284 Lines • ▼ Show 20 Line(s) | 218 | public: | |||
---|---|---|---|---|---|
285 | 285 | | |||
286 | /** | 286 | /** | ||
287 | * Returns the virtual desktop within the workspace() the client window | 287 | * Returns the virtual desktop within the workspace() the client window | ||
288 | * is located in, 0 if it isn't located on any special desktop (not mapped yet), | 288 | * is located in, 0 if it isn't located on any special desktop (not mapped yet), | ||
289 | * or NET::OnAllDesktops. Do not use desktop() directly, use | 289 | * or NET::OnAllDesktops. Do not use desktop() directly, use | ||
290 | * isOnDesktop() instead. | 290 | * isOnDesktop() instead. | ||
291 | */ | 291 | */ | ||
292 | virtual int desktop() const = 0; | 292 | virtual int desktop() const = 0; | ||
293 | virtual QList<VirtualDesktop *> desktops() const = 0; | ||||
293 | virtual QStringList activities() const = 0; | 294 | virtual QStringList activities() const = 0; | ||
294 | bool isOnDesktop(int d) const; | 295 | 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? | |||||
295 | bool isOnActivity(const QString &activity) const; | 296 | bool isOnActivity(const QString &activity) const; | ||
296 | bool isOnCurrentDesktop() const; | 297 | bool isOnCurrentDesktop() const; | ||
297 | bool isOnCurrentActivity() const; | 298 | bool isOnCurrentActivity() const; | ||
298 | bool isOnAllDesktops() const; | 299 | bool isOnAllDesktops() const; | ||
299 | bool isOnAllActivities() const; | 300 | bool isOnAllActivities() const; | ||
300 | 301 | | |||
301 | virtual QByteArray windowRole() const; | 302 | virtual QByteArray windowRole() const; | ||
302 | QByteArray sessionId() const; | 303 | QByteArray sessionId() const; | ||
▲ Show 20 Lines • Show All 482 Lines • ▼ Show 20 Line(s) | |||||
785 | inline | 786 | inline | ||
786 | const EffectWindowImpl* Toplevel::effectWindow() const | 787 | const EffectWindowImpl* Toplevel::effectWindow() const | ||
787 | { | 788 | { | ||
788 | return effect_window; | 789 | return effect_window; | ||
789 | } | 790 | } | ||
790 | 791 | | |||
791 | inline bool Toplevel::isOnAllDesktops() const | 792 | inline bool Toplevel::isOnAllDesktops() const | ||
792 | { | 793 | { | ||
793 | return desktop() == NET::OnAllDesktops; | 794 | return kwinApp()->operationMode() == Application::OperationModeWaylandOnly || | ||
795 | kwinApp()->operationMode() == Application::OperationModeXwayland | ||||
796 | //Wayland | ||||
797 | ? desktops().isEmpty() | ||||
798 | //X11 | ||||
799 | : desktop() == NET::OnAllDesktops; | ||||
794 | } | 800 | } | ||
795 | 801 | | |||
796 | inline bool Toplevel::isOnAllActivities() const | 802 | inline bool Toplevel::isOnAllActivities() const | ||
797 | { | 803 | { | ||
798 | return activities().isEmpty(); | 804 | return activities().isEmpty(); | ||
799 | } | 805 | } | ||
800 | 806 | | |||
801 | inline bool Toplevel::isOnDesktop(int d) const | 807 | inline bool Toplevel::isOnDesktop(int d) const | ||
802 | { | 808 | { | ||
803 | return desktop() == d || /*desk == 0 ||*/ isOnAllDesktops(); | 809 | return (kwinApp()->operationMode() == Application::OperationModeWaylandOnly || | ||
810 | kwinApp()->operationMode() == Application::OperationModeXwayland | ||||
811 | ? desktops().contains(VirtualDesktopManager::self()->desktopForX11Id(d)) | ||||
812 | : desktop() == d | ||||
813 | ) || isOnAllDesktops(); | ||||
804 | } | 814 | } | ||
805 | 815 | | |||
806 | inline bool Toplevel::isOnActivity(const QString &activity) const | 816 | inline bool Toplevel::isOnActivity(const QString &activity) const | ||
807 | { | 817 | { | ||
808 | return activities().isEmpty() || activities().contains(activity); | 818 | return activities().isEmpty() || activities().contains(activity); | ||
809 | } | 819 | } | ||
810 | 820 | | |||
811 | inline bool Toplevel::isOnCurrentDesktop() const | 821 | inline bool Toplevel::isOnCurrentDesktop() const | ||
▲ Show 20 Lines • Show All 72 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.