Summary:
System Tray sends two "ContextMenu" events which breaks focus.
One is send on mouse pressed, second on mouse clicked. As a result
right click on the system tray icon causes focus to lock on the icon.
If later user clicks somewhere else event is send to the first icon.
BUG: 376277
BUG: 409768
FIXED-IN: 5.17.0
Test Plan:
The best to test with Skype for Linux with SNI bridge.
To reproduce:
* Right click on the Skype icon, click on menu item (can be Show Skype)
* Right click on any other icon in system tray (or even any other place on the panel)
* Skype menu will appear
After fix:
* Right click on the Skype icon, click on menu item (can be Show Skype)
* Right click on any other icon in system tray (or even any other place on the panel)
* Correct menu should show
Reviewers: #plasma, broulik, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: broulik, apol, plasma-devel, #plasma_workspaces
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22804
Summary: KPluginInfo would force the load of the desktop file for information we don't need.
Test Plan: Plasma still works
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22480
Test Plan: system tray build with -DQT_NO_FOREACH, still does system tray things
Reviewers: #plasma, apol
Reviewed By: apol
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D22066
Bus names that start with a colon (':') character are unique connection names rather than well-known bus names
you want to be listening for.
Since the same code path is used for initial setup as is for detecting services at runtime, we would needlessly
iterate the list of known dbus-activatable services as well as apply a regular expression on them for all unique
connection names wasting some cycles.
Differential Revision: https://phabricator.kde.org/D21451
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
Summary:
- Port mostly to QQC2+Kirigami FormLayout style (Don't touch the TableView since there's no QQC2 version yet)
- Use standard import names
Test Plan: {F6821757}
Reviewers: #vdg, #plasma, ndavis
Reviewed By: #vdg, ndavis
Subscribers: ndavis, plasma-devel
Tags: #plasma
Maniphest Tasks: T10586
Differential Revision: https://phabricator.kde.org/D21189
Summary: This way we can open the context menu from touch
Test Plan: Tapped and hold on my screen
Reviewers: #plasma, ngraham
Reviewed By: ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D19946
Summary:
1. Remove the left margin.
2. Change '&' to "and".
Before:
{F6474493}
After:
{F6476224}
Test Plan: Open System Tray.
Reviewers: #vdg, broulik, #plasma, mart
Reviewed By: #vdg, #plasma, mart
Subscribers: fabianr, abetts, loh.tar, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17556
Summary: No big visible changes, but simplifies and modernizes the code
Test Plan: used all functionality of the systray config dialog
Reviewers: #plasma, #vdg, ngraham
Reviewed By: #vdg, ngraham
Subscribers: ngraham, abetts, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17212
Summary:
SystemTray::serviceRegistered is called tons of times; the regexp
construction inside the for-loop is expensive and should be avoided.
Thus construct the regexp once, and re-use the regexp object each time.
Test Plan:
Before:
{F6432674}
After:
{F6432675}
Reviewers: davidedmundson
Reviewed By: davidedmundson
Subscribers: apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17025
This reverts commit e37156b404.
Concept is fine, but currently we have severe CMake issues as well
as a major containment loading bug.
When re-reverting we need to be sure to test with clean install prefixes.
CC: plasma-devel@kde.org
Summary:
The "Encoding" entry had been deprecated in 2006
(https://cgit.freedesktop.org/xdg/xdg-specs/commit/?id=6855384d021d88557f80674798c584c15b547f36)
and there is no current workspace known which still requires it being set
(incl. Plasma itself).
Also has the usage been incomplete and sometimes not at the beginning as
required if used (once scripty had sorted all entries in desktop files
alphabetically and it was not restored everywhere).
Removing them altogether creates consistency and avoids further confusion
about and wasted resources for this unused data bit.
Removing those entries also from Plasma/5.12 branch avoid conflicts on
merging to master, given the entries are often next to translated entries,
or generous merging which lets the entries slip back into existance.
Reviewers: #plasma, fvogt, broulik, mart
Reviewed By: #plasma, mart
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11563
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
Summary:
Those had no transient parent set, so they got displayed somewhere, most of the
time on the wrong screen.
Test Plan:
Works fine for spotify and kteatime now, but certain applications
which trigger a LayoutChanged signal on the opened event have a Y offset.
Reviewers: #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11584
Summary: use the new install macro which compresses packages in a bundled rcc
Test Plan: tried to load and use every single plasmoids
Reviewers: #plasma, davidedmundson
Reviewed By: #plasma, davidedmundson
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D11514
Summary:
this avoids some unwanted scene changes and speeds up the
first open a bit, also initialize the size of the dialog main item
so there is a resize less when the Dialog is first shown
Test Plan:
difference in show time is already visible, tough still not perfect,
something else needs to improve as well
Reviewers: #plasma, broulik
Reviewed By: #plasma, broulik
Subscribers: apol, broulik, hein, davidedmundson, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D10692