https://bugs.kde.org/show_bug.cgi?id=445495

            Bug ID: 445495
           Summary: Desktop Widgets end up below "AlwaysVisible" plasma
                    panels on active but not current activities
           Product: plasmashell
           Version: 5.23.3
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Desktop Containment
          Assignee: notm...@gmail.com
          Reporter: mvourla...@gmail.com
                CC: plasma-b...@kde.org
  Target Milestone: 1.0

SUMMARY
Desktop widgets can end up below plasma panels when they are at desktops of
active activities but these activities are not the current one.


STEPS TO REPRODUCE
1. Add an AlwaysVisible plasma panel at top edge
2. Add a Notes widget in the current activity desktop (called [A] from now on)
and push it far far at the top screen edge
3. Move to another running Activity (called [B] from now on) and do [2] again
4. While on B activity right click the panel and increase its size, you will
notice that Notes applet in B activity is pushed correctly downwards at the
correct position
5. Move now on A activity you will notice that Notes applet in A activity
ignores totally the panel and is touching totally the screen top edge

OBSERVED RESULT
Notes applet in A Activity is under the plasma panel even though it should not

EXPECTED RESULT
Notes applet in A Activity  should be at the correct position after changing
the panel size

ADDITIONAL INFORMATION
Following the code path it is observed that Corona::availableScreenRect is
FALSE for Desktop containments that are not the current one. This is happening
because when Desktop Containments are calling function

Plasma::ShellCorona::screenForContainment(const Plasma::Containment
*containment) const

they get as result screen = -1 . and screen==-1 means that availableScreenRect
ignores totally the desktop margins from panels. No idea why that was decided
and what is tried to be protected by the checks in the function for:

containment->activity() == m_activityController->currentActivity()

any ideas?

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to