Changeset View
Changeset View
Standalone View
Standalone View
toplevel.h
Show First 20 Lines • Show All 280 Lines • ▼ Show 20 Line(s) | 213 | public: | |||
---|---|---|---|---|---|
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 QStringList activities() const = 0; | 288 | virtual QStringList activities() const = 0; | ||
289 | virtual QStringList plasmaDesktops() const = 0; | ||||
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? | |||||
289 | bool isOnDesktop(int d) const; | 290 | bool isOnDesktop(int d) const; | ||
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; | ||
▲ Show 20 Lines • Show All 474 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 surface() | ||
781 | //Wayland | ||||
782 | ? plasmaDesktops().isEmpty() | ||||
783 | //X11 | ||||
784 | : desktop() == NET::OnAllDesktops; | ||||
780 | } | 785 | } | ||
781 | 786 | | |||
782 | inline bool Toplevel::isOnAllActivities() const | 787 | inline bool Toplevel::isOnAllActivities() const | ||
783 | { | 788 | { | ||
784 | return activities().isEmpty(); | 789 | return activities().isEmpty(); | ||
785 | } | 790 | } | ||
786 | 791 | | |||
787 | inline bool Toplevel::isOnDesktop(int d) const | 792 | inline bool Toplevel::isOnDesktop(int d) const | ||
788 | { | 793 | { | ||
789 | return desktop() == d || /*desk == 0 ||*/ isOnAllDesktops(); | 794 | return (surface() ? plasmaDesktops().contains(VirtualDesktopManager::self()->desktopForX11Id(d)->id()) : desktop() == d) || isOnAllDesktops(); | ||
790 | } | 795 | } | ||
791 | 796 | | |||
792 | inline bool Toplevel::isOnActivity(const QString &activity) const | 797 | inline bool Toplevel::isOnActivity(const QString &activity) const | ||
793 | { | 798 | { | ||
794 | return activities().isEmpty() || activities().contains(activity); | 799 | return activities().isEmpty() || activities().contains(activity); | ||
795 | } | 800 | } | ||
796 | 801 | | |||
797 | inline bool Toplevel::isOnCurrentDesktop() const | 802 | 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.