Plasma Desktop merge requestshttps://invent.kde.org/plasma/plasma-desktop/-/merge_requests2021-12-28T11:15:57Zhttps://invent.kde.org/plasma/plasma-desktop/-/merge_requests/757[kcms/keyboard] Fix format of various config options2021-12-28T11:15:57ZFabian Vogt[kcms/keyboard] Fix format of various config optionsPreviously (before KConfigXT) the KCM loaded the settings as `QStringList`, and for `Options` also ignored empty elements.
They were saved as `,`-joined strings explicitly instead of using KConfig's serialization. This makes a difference...Previously (before KConfigXT) the KCM loaded the settings as `QStringList`, and for `Options` also ignored empty elements.
They were saved as `,`-joined strings explicitly instead of using KConfig's serialization. This makes a difference for `QStringList` with a single empty/null `QString` inside: KConfig serializes those as `\\0` to distinguish them from empty lists.
Through various circumstances it's rather likely for the KCM to end up running into this edge case.
KWin loads all those values as string and passes them to libxkbcommon directly, which got understandably confused by the `\\0`.
Maybe that should be changed, but IMO saving the libxkbcommon/setxkbmap-format directly makes it simpler.
~~Draft because a kconf_update script should be created for this.~~
kconf_update script added. It runs only after kwin_wayland already read the config, so it needs another relogin, but that's not fixable in p-d anyway.
I'm working on some other fixes, but I'll use a separate MR for that.
BUG: 433265
CC @butirsky @ngraham5.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/752SwitcherBackend: Only create the workaround window on wayland2021-12-16T17:04:17ZDavid RedondoSwitcherBackend: Only create the workaround window on waylandNot needed on XNot needed on X5.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/724kickoff: Do not reset action for KickoffItemDelegate in Places tab2021-11-30T16:31:34ZFushan Wenkickoff: Do not reset action for KickoffItemDelegate in Places tabClicking an item should switch to the category of the item, but `action:
null` prevents it, which makes Kickoff inconvenient to use for touchscreen
users.
BUG: 446269Clicking an item should switch to the category of the item, but `action:
null` prevents it, which makes Kickoff inconvenient to use for touchscreen
users.
BUG: 4462695.23Fushan WenFushan Wenhttps://invent.kde.org/plasma/plasma-desktop/-/merge_requests/723applets/taskmanager: Always show album art for single non-browser windows2021-11-30T03:49:14ZBharadwaj Rajuapplets/taskmanager: Always show album art for single non-browser windowsLike !720, but with a special case for browsers. Browser-ness is determined by checking if the app's desktop file has "WebBrowser" in its Categories.
cc @ngraham @fusionfutureLike !720, but with a special case for browsers. Browser-ness is determined by checking if the app's desktop file has "WebBrowser" in its Categories.
cc @ngraham @fusionfuture5.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/715[containments/panel] Fix initial sizing2021-12-03T16:34:49ZDavid Edmundson[containments/panel] Fix initial sizingOn startup the panel's containment size is effectively undefined. It
then stays that way for 150ms until a timer fires.
Ultimately the timer breaks layouts internal usage of QQmlParserStatus. For
runtime changes layout internally most r...On startup the panel's containment size is effectively undefined. It
then stays that way for 150ms until a timer fires.
Ultimately the timer breaks layouts internal usage of QQmlParserStatus. For
runtime changes layout internally most relayouting is buffered
internally till the polish event which is once per frame.
Removing this makes startup faster, less glitchy and more declarative.
Testing done:
apitrace trace plasmashell --replace
starts with the system tray in the right place, only task manger icons animate, and even those look better.5.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/690Re-add Touchpad applet in safe read-only form2021-11-16T16:50:17ZNate GrahamRe-add Touchpad applet in safe read-only formI removed the applet entirely in https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/455 to fix multiple bug reports related to people bricking their laptops by accidentally disabling their touchpads without a mouse handy, leav...I removed the applet entirely in https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/455 to fix multiple bug reports related to people bricking their laptops by accidentally disabling their touchpads without a mouse handy, leaving them with no way to re-enable touchpad input.
However in retrospect, removing the applet entirely was too heavy-handed, as it can serve a
valid purpose as a status notifier to remind people who have manually
disabled their touchpads that they have done so. The problem was always the fact that you can use it to disable the touchpad.
The two commits of this MR re-add the applet, and then make it into a simple reas-only status notifier that shows you when the touchpad has been disabled, but does not let you do so yourself. This makes the applet safe enough to keep in upstream code.
This is deliberately done in two commits so that people or distros that absolutely hate the applet being read-only can revert 294507de4a19218032402662ec6cfabc47f7e77b to get the applet back into its original unsafe yet more feature-full state.
I'd like to get this into Plasma 5.23.4 if possible. No new translations are added compared to the state of the applet in Plasma 5.22.5.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/682kickoff: Do not accept stylus in TapHandler2021-11-08T04:42:46ZFushan Wenkickoff: Do not accept stylus in TapHandlerWhen using a stylus, TapHandler will block KickoffItemDelegate from
receiving click events.
BUG: 445111When using a stylus, TapHandler will block KickoffItemDelegate from
receiving click events.
BUG: 4451115.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/681keyboardlayout: Fix missing Esperanto flag icon in the menu2021-11-08T16:35:07ZFushan Wenkeyboardlayout: Fix missing Esperanto flag icon in the menuBUG: 445077BUG: 4450775.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/665Do not reset opacity when starting an animation2021-10-30T15:11:03ZNiccolΓ² VenerandiDo not reset opacity when starting an animationThis should fix the panel blinking when switching desktop whilst using adaptive transparency
BUG:437093This should fix the panel blinking when switching desktop whilst using adaptive transparency
BUG:4370935.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/657foldermodel: Drop overlay(s) to icons in plasma folder view2021-10-28T17:54:08ZFushan Wenfoldermodel: Drop overlay(s) to icons in plasma folder viewThe overlay is already handled by KDirModel after https://invent.kde.org/frameworks/kio/-/commit/c88c4c65567ed089902848b58aa62cd6563dd933
BUG: 444514
This MR reverts https://invent.kde.org/plasma/plasma-desktop/-/commit/6ecfe6edea41289...The overlay is already handled by KDirModel after https://invent.kde.org/frameworks/kio/-/commit/c88c4c65567ed089902848b58aa62cd6563dd933
BUG: 444514
This MR reverts https://invent.kde.org/plasma/plasma-desktop/-/commit/6ecfe6edea412896e948ea5a56abfa2846f380185.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/632[Folder View] Fix executing file without prompting2021-10-25T14:53:39ZEugene Popov[Folder View] Fix executing file without promptingWhen executing file without prompting, make sure it's a desktop file.
BUG: 435560When executing file without prompting, make sure it's a desktop file.
BUG: 4355605.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/627Fix issues with LayoutManager.insertAtCoordinates2022-02-07T12:01:13ZAlexander LohnauFix issues with LayoutManager.insertAtCoordinatesBUG: 444071BUG: 4440715.23Alexander LohnauAlexander Lohnauhttps://invent.kde.org/plasma/plasma-desktop/-/merge_requests/626Remove defunct check for proxyAction in foldermodel2021-10-21T19:49:34ZAlexander LohnauRemove defunct check for proxyAction in foldermodelIf we press the shortcut directly on the desktop the proxy action is still the del action,
because the context menu was not opened and the selection did not change after we pressed shift.
If we have the context menu open the proxyAction...If we press the shortcut directly on the desktop the proxy action is still the del action,
because the context menu was not opened and the selection did not change after we pressed shift.
If we have the context menu open the proxyAction is properly updated.
TestPlan:
Pressing delete with selected fle opens "Move to trash" dialog
Pressing shift+delete with selected file opens "Delete Permanently" dialog
Same with the context menu open.
BUG: 444128
@ngraham @derek5.23Alexander LohnauAlexander Lohnauhttps://invent.kde.org/plasma/plasma-desktop/-/merge_requests/625Fix pinned applet closes2021-10-21T16:21:30ZEugene PopovFix pinned applet closesCheck if the applet is pinned before closing it.
BUG: 443589Check if the applet is pinned before closing it.
BUG: 4435895.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/624Fix updating apps model2021-10-21T16:56:22ZEugene PopovFix updating apps modelThere is no need to check if the model of the current item is not empty, since the current item may be not only a category.
BUG: 444101There is no need to check if the model of the current item is not empty, since the current item may be not only a category.
BUG: 4441015.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/623taskmanager: Show highlight before ToolTipInstance starts loading for grouped...2021-10-24T13:06:03ZFushan Wentaskmanager: Show highlight before ToolTipInstance starts loading for grouped tooltipsFor grouped tooltips, if there are many windows in a group, it could
take a long time before all ToolTipInstances are loaded.
Show highlight before ToolTipInstance starts loading to make user feel
less unresponsive.
Note: Will not work...For grouped tooltips, if there are many windows in a group, it could
take a long time before all ToolTipInstances are loaded.
Show highlight before ToolTipInstance starts loading to make user feel
less unresponsive.
Note: Will not work when a tooltip is already visible (move directly from a task to a grouped task)
CCBUG: 433907
![highlight-first](/uploads/46a341c6df2d1c401d1808b5fadb5a79/highlight-first.mp4)5.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/622taskmanager: Prevent useless component creation/destruction for grouped tooltips2021-10-24T13:06:02ZFushan Wentaskmanager: Prevent useless component creation/destruction for grouped tooltipsThe binding of `model` property of `DelegateModel` in ToolTipDelegate.qml
will trigger useless component creation/destruction when `rootIndex` is
changed but is not undefined. Make the ternary operator depend on
`hasRootIndex` bool prope...The binding of `model` property of `DelegateModel` in ToolTipDelegate.qml
will trigger useless component creation/destruction when `rootIndex` is
changed but is not undefined. Make the ternary operator depend on
`hasRootIndex` bool property to avoid that.
In Task.qml, only assign different values to `parentTask` and `rootIndex`
to avoid unnecessary component creation/destruction for the second time
hovering on the same task.
CCBUG: 433907
CCBUG: 444001
![prevent-useless-component-creation-destruction](/uploads/6f4c275a04e5c2cb20b9eaa0f3cf9c54/prevent-useless-component-creation-destruction.mp4)5.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/621kickoff: Fix drag and drop causing delegates to reset to a 0 X position and o...2021-10-24T22:06:17ZNoah Daviskickoff: Fix drag and drop causing delegates to reset to a 0 X position and overlapBUG: 443975BUG: 4439755.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/615applets/taskmanager: Always set mprisSourceName to parentPid2021-10-20T16:50:45ZNate Grahamapplets/taskmanager: Always set mprisSourceName to parentPidConditionally setting mprisSourceName to either AppPid or pidParent
made no sense, because:
1. AppPid was not defined in this file so it didn't work
2. pidParent was set to the value of AppPid anyway, rendering the two
branches of the...Conditionally setting mprisSourceName to either AppPid or pidParent
made no sense, because:
1. AppPid was not defined in this file so it didn't work
2. pidParent was set to the value of AppPid anyway, rendering the two
branches of the conditional identical even if it did work
Just set it to pidParent directly. This fixes a console error.5.23https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/612Set Qt.ImhNoPredictiveText for text fields that act as search fields2021-10-19T19:26:38ZArjen HiemstraSet Qt.ImhNoPredictiveText for text fields that act as search fieldsThis ensures that searching happens while the text is being entered from
a virtual keyboard.
BUG: 439914
See also https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1127This ensures that searching happens while the text is being entered from
a virtual keyboard.
BUG: 439914
See also https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/11275.23Arjen HiemstraArjen Hiemstra