1. 19 Oct, 2019 1 commit
    • Konrad Materka's avatar
      [SystemTray] Support for AttentionIcon · 51964243
      Konrad Materka authored
      Summary:
      Adding support for Attention Icon to StatusNotifier tray icons
      
      BUG: 341255
      
      Test Plan: As described in bug report, Konversation can be used for tests.
      
      Reviewers: #plasma, davidedmundson, apol, mart, ngraham
      
      Reviewed By: #plasma, davidedmundson, ngraham
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D24767
      51964243
  2. 14 Oct, 2019 1 commit
  3. 07 Jul, 2019 1 commit
  4. 20 May, 2019 1 commit
    • ivan tkachenko's avatar
      Fix system tray UI/UX & refactor · a73aa330
      ivan tkachenko authored
      Summary:
      System tray widget had the following UX problem:
      Icons are laid out in a Flow QML layout, using minimal amount of
      space, thus not filling the height/width of the task bar. In other
      words: user can only click directly on an icon, not over or under it.
      
      Consider the following scenario:
      
      Given icon size X and task bar of height 1.5 * X located at the bottom;
      User moves pointer down to the limit and tries to click the icon.
      Expected outcome: applet is activated.
      Actual outcome: nothing happens, because icon (together with mouse
      area) floats slightly above the bottom.
      
      Which is inconvenient, especially when most other widgets tend to fill
      up the space.
      
      This patch fixes aforementioned problem by refactoring layouts using
      modern GridLayout, RowLayout et al., so that icons are arranged in
      rows and columns based on their number, and each one fills up its
      cell. I also made a handful of minor internal refactorings and fixes.
      Unfortunately, due to tight coupling, almost all files needed changes
      anyway.
      
      Special note on 'CompactApplet.location': it didn't seem to affect
      anything at all, so removed it.
      
      At the end of the day no visual changes should be noticeable. Layout
      works in both vertical and horizontal form-factor an all four sides of
      the desktop.
      
      Test Plan: Please, check whether 'LayoutMirroring' works properly.
      
      Reviewers: #vdg, #plasma, broulik, mart, hein, davidedmundson
      
      Reviewed By: #plasma, davidedmundson
      
      Subscribers: aacid, davidre, davidedmundson, ngraham, ndavis, anthonyfieroni, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D19745
      a73aa330
  5. 22 Mar, 2019 1 commit
  6. 23 Mar, 2018 1 commit
    • Fabian Vogt's avatar
      Pass proper click coordinates to SNI ContextMenu calls · a4a0d5bf
      Fabian Vogt authored
      Summary:
      Currently it always passes the top left corner of the SNI icon as coordinates,
      but now it passes the actual click coordinates.
      They can be outside of the icon's bounds (for instance if you click on the
      label in the expanded tray), but they are converted to global coordinates
      anyway.
      
      Test Plan:
      Now the context menu drawn by the application properly follows the
      cursor.
      
      Reviewers: #plasma
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D11600
      a4a0d5bf
  7. 04 Apr, 2017 1 commit
  8. 08 Feb, 2017 1 commit
    • Kai Uwe Broulik's avatar
      [System Tray] Part Revert "Trigger context menu on press" as this breaks xembedsniproxy · 27b10307
      Kai Uwe Broulik authored
      This part reverts commit b9af9914 which
      changes plasmoids and SNI items to activate on mouse release instead of
      mouse click.
      
      This messes with xembedsniproxy which is relaying the mouse press
      signals to the exembed client. Now at the time of relay, if the client
      application queries the mouse state itself it's going to be wrong and
      that breaks GTK.
      
      BUG: 375930
      FIXED-IN: 5.9.2
      
      Reviewed-By: David Edmundson
      27b10307
  9. 02 Feb, 2017 1 commit
    • Roman Gilg's avatar
      [System Tray] SNI fallback to context menu on failing Activate · 5d551845
      Roman Gilg authored
      This patch primarily is aimed at applications using libappindicator.
      For example:
      * Steam
      * Discord
      * Deluge
      libappindicator doesn't provide functionality for raising an application,
      but only a context menu. Since it also doesn't even provide the corresponding
      DBus method, we use the resulting error to try to display the context menu
      instead, which matches the behaviour on Unity and Gnome.
      
      BUG: 375351
      
      Reviewers: #plasma, davidedmundson
      
      Subscribers: plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D4301
      5d551845
  10. 11 Jan, 2017 1 commit
  11. 30 Dec, 2016 1 commit
    • Lindsay Roberts's avatar
      Systray: Move all icon resolution to dataengine · e43b89e2
      Lindsay Roberts authored
      Summary:
      Changes triggered by investigation into a long-running high CPU usage bug with system tray animations. The systray itself had icon name to icon resolution code, which was being triggered (twice) for every icon, every time any icon in the systray was updated. This code was spinning up a KIconLoader on each of these instances, and throwing it directly away. Each one triggered a large quantity of memory allocations and disk scans.
      
      This patch moves the extra bit of "appName" logic from the native part of the system tray to the statusnotifieritem datasource, which already had a stored 'customIconLoader' to handle icon theme paths, and removes the special lookup from the sytemtray applet completely. It also prefers icons provided by the dataengine to doing another lookup (contentious?). This removes all the extra CPU usage outside of the QML scene graph and graphics drivers locally.
      
      This is very much a looking for feedback item - there are things about the icon loading paths I almost certainly haven't appreciated yet, and perhaps preferring loading by icon name in the applet has a another purpose.
      
      BUG: 356479
      
      Test Plan: Have tested locally with kgpg and steam, the two apps I have that trigger the old code path. In neither case, however, did the appName logic produce a different result to the code with just the icon search path in statusnotifieritem.
      
      Reviewers: #plasma, davidedmundson, mart
      
      Reviewed By: #plasma, davidedmundson, mart
      
      Subscribers: davidedmundson, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D2986
      e43b89e2
  12. 10 Oct, 2016 1 commit
    • Lindsay Roberts's avatar
      Systray: Move all icon resolution to dataengine · 749f60b8
      Lindsay Roberts authored
      Summary:
      Changes triggered by investigation into a long-running high CPU usage bug with system tray animations. The systray itself had icon name to icon resolution code, which was being triggered (twice) for every icon, every time any icon in the systray was updated. This code was spinning up a KIconLoader on each of these instances, and throwing it directly away. Each one triggered a large quantity of memory allocations and disk scans.
      
      This patch moves the extra bit of "appName" logic from the native part of the system tray to the statusnotifieritem datasource, which already had a stored 'customIconLoader' to handle icon theme paths, and removes the special lookup from the sytemtray applet completely. It also prefers icons provided by the dataengine to doing another lookup (contentious?). This removes all the extra CPU usage outside of the QML scene graph and graphics drivers locally.
      
      This is very much a looking for feedback item - there are things about the icon loading paths I almost certainly haven't appreciated yet, and perhaps preferring loading by icon name in the applet has a another purpose.
      
      BUG: 356479
      
      Test Plan: Have tested locally with kgpg and steam, the two apps I have that trigger the old code path. In neither case, however, did the appName logic produce a different result to the code with just the icon search path in statusnotifieritem.
      
      Reviewers: #plasma, davidedmundson, mart
      
      Reviewed By: #plasma, davidedmundson, mart
      
      Subscribers: davidedmundson, plasma-devel
      
      Tags: #plasma
      
      Differential Revision: https://phabricator.kde.org/D2986
      749f60b8
  13. 29 Mar, 2016 1 commit
  14. 15 Mar, 2016 1 commit
  15. 10 Mar, 2016 1 commit