There's a "Clear Notifications" context menu entry. So far it would only show up and clear persistent notifications.
The main usecase for this should be to clear the history, however. This patch makes it do both.
Differential Revision: https://phabricator.kde.org/D10321
BUG: 385097
This revision further improves the quality of images in notifications
that was addressed in revision D9993. When I first looked into this, I
tried setting ScaleType on the PreviewJob but it had no effect. I found
that the preview images were being scaled to the small vertical size
that was requested, and this resulted in my first revision. I should
have tried setting ScaleType in addition.
Notification with unpatched libnotificationshelperplugin.so
{F5677396}
Notification with patch applied
{F5677397}
Test Plan:
Take screenshot with Spectacle with unpatched
libnotificationshelperplugin.so installed and observe the blurry
preview image in the notification.
Install the patched libnotificationshelperplugin.so and restart
plasmashell.
Take another screenshot with Spectacle and observe the much improved
quality of the preview image in the notification.
Reviewers: #plasma_workspaces, #plasma, broulik, ngraham
Subscribers: #plasma, #plasma_workspaces, plasma-devel, broulik, ngraham
Tags: #plasma, #spectacle
Differential Revision: https://phabricator.kde.org/D10146
Summary:
BUG: 385097
FIXED-IN: 5.12.0
This patch to plasma-workspace is to improve the quality of images in notifications as reported in [[ https://bugs.kde.org/show_bug.cgi?id=385097 | Bug 385097 ]].
It is still not perfect because KIO::PreviewJob is used to create the thumbnail, and it only produces two sizes, 128px and 256px, so it is likely that a small image will be scaled up, blurring it somewhat.
I took two screenshots of the same Dolphin window. Here is the before, without the patch:
{F5665511}
And the after, with the patch:
{F5665513}
Better, but still not perfect.
Test Plan: Take screenshots with Spectacle with and without the patched libnotificationshelperplugin library and observe the image quality in the notification. plasmashell must be restarted when the library file is changed for it to take effect.
Reviewers: #plasma_workspaces, #plasma, broulik
Reviewed By: #plasma_workspaces, #plasma, broulik
Subscribers: broulik, ngraham, plasma-devel, #plasma_workspaces, #plasma
Tags: #spectacle, #plasma
Differential Revision: https://phabricator.kde.org/D9993
Plasma's Label has a default height based on the contentHeight of the text.
However, this interferes with QtQuick Layout's logic and might cause an infinite loop.
This can easily be triggered by sending a notification with a multi-line heading/summary.
CHANGELOG: Fixed a freeze caused by certain notifications
BUG: 381154
FIXED-IN: 5.12.0
(cherry picked from commit a3c0565ace)
Plasma's Label has a default height based on the contentHeight of the text.
However, this interferes with QtQuick Layout's logic and might cause an infinite loop.
This can easily be triggered by sending a notification with a multi-line heading/summary.
CHANGELOG: Fixed a freeze caused by certain notifications
BUG: 381154
FIXED-IN: 5.12.0
Notification uses Repeaters for everything. While this is acceptable for jobs and notifications, of which there are few,
the history can turn into a very long list of items. Using a ListView solves memory consumption by creating delegates only as needed.
Since regular notifications and notification history are quite entangled with each other, I had to configure the ListView
from within the Notifications loader. To keep code changes as little as possible, the rest of the UI is just moved into
the ListView header item.
While this is quite an invasive patch for a feature frozen version it's the least invasive approach I could find and is quite
an important memory leak fix for an LTS.
BUG: 389132
FIXED-IN: 5.12.0
CHANGELOG: Fixed memory leak when there are a lot of items in notification history
Differential Revision: https://phabricator.kde.org/D9978
(cherry picked from commit e8f76cc538)
You cannot have a history of notifications if you don't get any notifications in the first place.
Also move checkbox below notification history as it's semantically related.
Differential Revision: https://phabricator.kde.org/D9979
(cherry picked from commit c81a0151f5)
Notification uses Repeaters for everything. While this is acceptable for jobs and notifications, of which there are few,
the history can turn into a very long list of items. Using a ListView solves memory consumption by creating delegates only as needed.
Since regular notifications and notification history are quite entangled with each other, I had to configure the ListView
from within the Notifications loader. To keep code changes as little as possible, the rest of the UI is just moved into
the ListView header item.
While this is quite an invasive patch for a feature frozen version it's the least invasive approach I could find and is quite
an important memory leak fix for an LTS.
BUG: 389132
FIXED-IN: 5.12.0
CHANGELOG: Fixed memory leak when there are a lot of items in notification history
Differential Revision: https://phabricator.kde.org/D9978
You cannot have a history of notifications if you don't get any notifications in the first place.
Also move checkbox below notification history as it's semantically related.
Differential Revision: https://phabricator.kde.org/D9979
This makes for a less cluttered appearance and is what Breeze does by default.
BUG: 389118
FIXED-IN: 5.13.0
Differential Revision: https://phabricator.kde.org/D9948
Qt's Drag attached property doesn't like it at all when it gets deleted during drag. (QTBUG-65701)
Even though we try very hard to keep the popup open, when you have multiple notification applets, their dialogs don't know each
other but access a shared data engine.
This means that, since there can only we one hovered dialog at a time, another notification applet might still dismiss the
notification and have our dialog close.
By using a singleton NotificationHelper we 1.) decouple the Drag from the item and 2.) share the "is dragging" state between applets.
BUG: 388684
FIXED-IN: 5.12.0
Differential Revision: https://phabricator.kde.org/D9754
Copy-paste error from plasma-pa, there's no "padding" property as I didn't make it a dedicated component.
Fixed the enormous menu icon I had on the button
In case the application sets the menu after the window is shown like is the case with Firefox.
Differential Revision: https://phabricator.kde.org/D9635
Also, when an appointment has no description, let the title use both lines of text,
and center them vertically if it doesn't need both lines.
The tooltip is only enabled if the title is actually elided, otherwise it could be bothersome to have.
BUG: 378970
FIXED-IN: 5.12.0
Differential Revision: https://phabricator.kde.org/D9641