1. 06 Nov, 2019 1 commit
    • Michail Vourlakos's avatar
      update panel shadows when background hints are changed · 328817b5
      Michail Vourlakos authored
      Summary:
      --when the containment background hints are updated then the
      panel shadows should be also. In case the background hints
      point to NoBackground the panel shadows should be removed
      and in case they point to DefaultBackground they should be
      drawn again
      --PanelShadows::removeWindow has no place in updateEnabledBorders
      because the window still lives. When removeWindow was executed
      before it was faulty unregistered from PanelShadows and in order for
      setEnabledBorders to work again we should need
      to execute from start the PanelShadows::addWindow function
      
      Test Plan:
      --I have created an applet which a PlasmaComponents.Switch button
      and toggles panel transparency on user demand easily
      
      Reviewers: #plasma, davidedmundson, mart
      
      Reviewed By: #plasma, davidedmundson
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D25121
      328817b5
  2. 11 Oct, 2019 1 commit
  3. 26 Sep, 2019 1 commit
  4. 04 Sep, 2019 1 commit
  5. 06 Aug, 2019 1 commit
    • Marco Martin's avatar
      introduce the Defaults group for panel values · 9fa4d941
      Marco Martin authored
      Summary:
      when plasma is starting up, there are no panel views yet
      this means that if a thickness (or other values)
      are written to the config file and then the resolution changes before
      the panel view gets created, we'll have a view that will default
      to 30 pixels regardless what the layout js file specified.
      
      This makes the scripting only write to a [Default] group for resolution
      dependent properties when panels are not actually present
      when they are already there, interact directly with the view which is
      the safest option.
      
      the view will use whatever is in the defaults group as default if the
      resolution dependent is there, and when a new value is set for a
      resolution dependent one, also update the default, which will
      be used when screen resolution changes, as new default value
      
      Test Plan:
      * With virtualbox, change resolution continuously when plasma is starting up
      with an empty setup, panel is the expected size now, as opposed to 30
      * Stop Plasma. Change Screen resoluton with plasma *not* running, to a resoluton
      still "unknown" to plasmashellrc, then start plasma again. Now the thickness saved
      in [Default] is picked, instead of the arbitrary 30
      
      Reviewers: #plasma, broulik
      
      Reviewed By: #plasma, broulik
      
      Subscribers: apol, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D22893
      9fa4d941
  6. 30 Jul, 2019 1 commit
  7. 15 Jun, 2019 1 commit
    • Friedrich W. H. Kossebau's avatar
      PanelView: align setting of masks with how it's done for dialogs/tooltips · f65a0eee
      Friedrich W. H. Kossebau authored
      Summary:
      With Plasma dialogs & tooltips the mask is only set on the widget itself
      if compositing is off. Instead is the mask explicitly passed for the
      KWindowEffects.
      The recent changes to fix the blurbehind & contrast mask with panels
      instead turned to always set the mask on the widget. For some reason
      yet to be understood this can sometimes result in an offset by a pixel
      between the mask used for painting and the mask used for the window effects.
      
      Aligning the mask setting code with the one for dialogs & tooltips makes
      the symptom go away for now, and also delivers consistency.
      
      BBUG: 406380
      FIXED-IN: 5.16.1
      
      Test Plan:
      Using different themes, including Adapta & Arc Dark, a gap can no longer
      been seen. Only with compositing turned off, which is old behaviour due to
      the real bug yet to understand completly.
      Resizing panels or changing screen resolution also works without breaking
      rendering or panel contents interaction.
      
      Reviewers: #plasma, hein
      
      Reviewed By: #plasma, hein
      
      Subscribers: hein, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D21803
      f65a0eee
  8. 10 Jun, 2019 1 commit
    • Aleix Pol Gonzalez's avatar
      Port away from foreach() · b2a869fa
      Aleix Pol Gonzalez authored
      Summary:
      The macro is on its way to getting deprecated, so we better start
      adopting the suggested alternative just as well.
      
      Test Plan: plasmashell runs fine
      
      Reviewers: #plasma, ngraham
      
      Reviewed By: ngraham
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D21493
      b2a869fa
  9. 04 Jun, 2019 1 commit
  10. 21 May, 2019 2 commits
  11. 14 May, 2019 1 commit
  12. 06 May, 2019 1 commit
  13. 05 May, 2019 1 commit
  14. 08 Apr, 2019 1 commit
    • Friedrich W. H. Kossebau's avatar
      Fix always full rect blur mask for panels ignoring shape from Plasma themes · 65367689
      Friedrich W. H. Kossebau authored
      Summary:
      Plasma themes might define non-full-rect shapes for panels (e.g. round
      borders for panels not filling the whole width/height).
      The old code tells the window manager to blur the full rect of a panel
      window, resulting in unwanted artifacts around the panel shape for
      non-full-rect themed panels.
      With the Panel.qml item of the desktop packages exposing some optional
      "panelMask" property now, we can query for the shape and only use the
      painted area when telling the window manager where to blur behind or
      changing the background contrast.
      This also follows the logic as already applied for dialogs or other window
      elements like tooltips which are rendered using a Plasma theme.
      
      Test Plan:
      The Oxygen Plasma theme no longer has blurry corners on panel edges.
      Also still works as before when using non-composing window manager.
      
      Reviewers: #plasma, mart
      
      Reviewed By: #plasma, mart
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D20204
      65367689
  15. 22 Mar, 2019 1 commit
  16. 11 Jan, 2019 1 commit
  17. 10 Jul, 2018 1 commit
  18. 10 Mar, 2018 1 commit
  19. 28 Jan, 2018 1 commit
    • David Edmundson's avatar
      Fix autohide panels on wayland · 1cb0d180
      David Edmundson authored
      Summary:
      To test if the panel is under the cursor we used:
      if (geometry().contains(QCursor::pos(screenToFollow()))) {
      
      Unsurprisingly in wayland we don't know the cursor position once it's
      left our window. Behaviour seems to be undefined.
      
      We were already using enter and leave events to start the autohide
      timer, so we may as well rely on that for tracking state too.
      
      BUG: 377838
      
      Test Plan:
      Tested mouse in, mouse out
      
      Tested mouse in and waiting and panel stayed open
      
      Tested opening wifi applet and closing it
      That will trigger the restoreAutoHide method as an applet status changed
      The panel stayed open because the mouse was on it.
      
      Reviewers: #plasma, mart
      
      Reviewed By: #plasma, mart
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D10101
      1cb0d180
  20. 18 Jan, 2018 1 commit
  21. 15 Jan, 2018 1 commit
  22. 04 Dec, 2017 1 commit
  23. 02 Dec, 2017 1 commit
  24. 27 Sep, 2017 1 commit
  25. 12 Jul, 2017 1 commit
    • David Edmundson's avatar
      Don't autohide panel if a child window is open · 2d8b4e1d
      David Edmundson authored
      Summary:
      This is meant as a more generic fix for the autohide panels, actually
      looking to see what transient windows we have open.
      
      The problem with the current fixes (D6555) being posted is that we
      potentially get attentionStatus in a corrupt status as we cache the
      value but it might change externally whilst that window is open.
      
      Also saves duplicating code in a bunch of places.
      
      Test Plan:
      Set autohide
      Opened a context menu in task manager didn't autohide, till I closed it
      Closing menu whilst keeping mouse in the panel doesn't auto hide it
      until we move out after.
      Hovering over TM tooltip keeps autohide from closing (another fix)
      
      BUG: 352459
      BUG: 347855
      BUG: 351823
      
      Reviewers: #plasma, broulik
      
      Reviewed By: #plasma, broulik
      
      Subscribers: broulik, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D6577
      2d8b4e1d
  26. 22 May, 2017 4 commits
  27. 15 Mar, 2017 1 commit
  28. 14 Feb, 2017 1 commit
  29. 11 Jan, 2017 1 commit
    • Marco Martin's avatar
      panel alignment/visibility not resolution dependent · 8d58eefc
      Marco Martin authored
      Summary:
      panel size and position in pixel is dependent from screen resolution,
      this saved in different config groups, as it should.
      but two properies of panelview shouldn't change between resolution,
      that are visibility and alignment, otherwise the panel changes
      behavior in an unpredictable way when resolution changes.
      
      BUG:372064
      
      Test Plan:
      started plasmashell with old config, values have been correctly
      migrated to the parent group that's common for all resolutions
      
      Reviewers: davidedmundson, #plasma
      
      Reviewed By: davidedmundson, #plasma
      
      Subscribers: davidedmundson, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D4087
      8d58eefc
  30. 12 Dec, 2016 1 commit
  31. 22 Nov, 2016 1 commit
    • David Edmundson's avatar
      Don't set PanelView visibilty when opening/closing config · 7248a71a
      David Edmundson authored
      Summary:
          Instead of making PanelViewConfig manipulate the visibiltyMode of
          PanelView, make PanelView force the view to be visible whilst the
      config
          is open.
      
          This is cleaner as it doesn't alter the original config, and
      resolves a
          bug that opening configure with an autohide panel would shift
      contents
          about.
      
      Test Plan:
      With panel as autohide opened config
      Moused away from panel, panel stayed visible
      
      With panel as autohide, plugged in a USB pen - panel appeared - and
      closed when I hid the dialog
      
      Changed mode in panel config, panel didn't immediately change - but did
      on close.
      Tested with all modes.
      
      Reviewers: #plasma, mart
      
      Reviewed By: mart
      
      Subscribers: mart, plasma-devel
      
      Tags: #plasma
      BUG: 372248
      
      Differential Revision: https://phabricator.kde.org/D3408
      7248a71a
  32. 13 Nov, 2016 1 commit
    • Michail Vourlakos's avatar
      add backgroundHints for the panel view · 341a534e
      Michail Vourlakos authored
      Summary:
      This patch adds a variable called "backgroundHints"
      which can be used with (NoBackground) through qml
      in order to enable/disable the KWin effects for
      a specific panel and the panel shadows in case the
      effects are disabled.
      Currently these effects are (Blur and Background Contrast)
      
      Reviewers: #plasma, #davidedmundson
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D3282
      
      FEATURE: 368384
      341a534e
  33. 19 Oct, 2016 1 commit
  34. 18 Oct, 2016 1 commit
    • Bhushan Shah's avatar
      [shell] Support autohide panel on wayland · d0df5725
      Bhushan Shah authored
      Summary:
      This makes use of requests to hide and show autohide panels from
      kwayland
      
      BUG: 369386
      Depends on D3007
      
      Test Plan:
      autohide panel now works, with D3080 in kwin, but windows can
      cover panel still needs work
      
      Reviewers: graesslin, #plasma
      
      Reviewed By: graesslin, #plasma
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D3084
      d0df5725
  35. 10 Oct, 2016 2 commits
    • Bhushan Shah's avatar
      [shell] Don't resize or reposition panel if we are doing restore · c63baa3a
      Bhushan Shah authored
      Summary:
      PanelView::restore sets various properties including length, thickness,
      which would result in panel resize and repositioning. PanelView::restore
      also explicitly calls PanelView::positionPanel and ::resizePanel.
      
      This results in positionPanel and resizePanel operation being done
      multiple times at startup/adding panel and hence flicker when panel
      first shows up. This patch makes resizePanel and positionPanel no-op if
      we are restoring panel.
      
      Test Plan: Added panel, restored panel, moved around panel
      
      Reviewers: #plasma, mart
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D3008
      c63baa3a
    • Script Kiddy's avatar
      Avoid calling resize() with our current size · fbd11d80
      Script Kiddy authored
      Summary:
      resize(size()) does not no-op in QWindow, and actually processes the
      resizing. This performs a check that the action is valid.
      
      Test Plan: Resized my panel, all seemed to still work.
      
      Reviewers: #plasma
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D3001
      fbd11d80