This is a similar situation we have with Flatpak when the desktop entry the application thinks it owns is actually different.
In Snap this environment variable is passed to the process. When no service was found, try reading it.
CHANGELOG: Improved notification identification for Snap applications
Differential Revision: https://phabricator.kde.org/D21881
When an application got renamed by flatpak-builder without knowing it, it will still send its original value as desktop-entry breaking the mapping and settings.
CHANGELOG: Improved notification identification for Flatpak applications
Differential Revision: https://phabricator.kde.org/D21779
This makes it a bit more generic. Advertise that this may also be used to indicate what email account a notification came from.
Differential Revision: https://phabricator.kde.org/D21137
* Ship some more default rules in plasmanotifyrc
* Improved do not disturb menu (add "for 4 hours" and "until disabled")
* Expand unread notifications by default, overall improved expansion/collapse handling
* Show unread count in panel and reset when plasmoid is closed again
* Move notification sanitizer and its test from dataengine to lib
* Load pixmaps into model also for files and limit their physical size
* Enforce maximum limit for notifications (1000...)
- Rework compact representation animations a bit
For some reason they often got stuck
- Implement do not disturb mode for applications
- Add fallback timeout to ensure notifications eventually timeout
Otherwise when disabling dnd mode you will get spammed
and we would also keep apps running indefinitely waiting for the notification to close
- Install plasmanotifyrc with some sane defaults
So far only lets Spectacle show its screenshot notifications in dnd mode
- Introduce Closable role rather than hardcoding that behavior everywhere in the view
- Better app identification/grouping for jobs
- Be more lenient about app identification (firefox will match Firefox, too)
- Cleanups
- Add basic do not disturb mode
Can set a time until it enabled, persisted across reboots
Whitelist for apps missing right not
Inhibition API not wired up yet
- d-pointer JobDetails
- Use KFilePlacesModel for prettier destUrl reporting "Copying to Home"
- Expose default action in history as button
- Improved right-to-left language support
- Let NotificationServer just lurk (without registering a service)
- Catch when plasmoid is deleted and stick to another one
- Improve compact reprsentation
- Keep popup open during interaction (context menu, drag)
- Improve "ago" label (e.g. show "Last Sunday")
- Improve group visuals (still pretty much WIP)
- Hide popups when interacted (opened file, triggered file action, etc)
Closing when having invoked an action isn't implemented yet but is probably neccessary
- Make autohide job popup setting work
- Set critical AlwaysOnTop (requires KWin patch)
- Improve error handling in ThumbnailStrip
Show file icon if thumbnail generation failed instead of a blank space
- Add heuristic for popup placement and make custom setting work
- Add deviceName and displayApplicationName (for KDE Connect)
So it can show from which device and which app this notification originally came from
- Improved service discovery (and defaultComponent handling)
Quite a few notifications, e.g. DrKonqi crashes are in plasma_workspace.notifyrc
When we get an event like this, show the original app instead
- Make blacklist for popup and history work
- Add "lastRead" property for "unread" handling vs "expired" (latter likely to be dropped)
- Add sortMode so history is strictly sorted by date (it's grouped after all)
- Begin work on do not disturb UI in plasmoid
- Also moe the NotificationPopup item back to the root folder
- Implement tracking of unknown apps, ie. once an app shows a notificaton it will show up
in the KCM so it can be configured
- Make blacklisting of notification popups (via setting in KCM) work
- Start on inhibition stuff (DBus API proposal sent to XDG mailing list)
- Cleanup, pimpl NotificationServer and Notification for export
- Wire the old dataengine up to use it for compat:
it shows notifications but is otherwise pretty broken right now
- Start writing kconfigxt and Settings code (no real code yet)
- Add a Inhibition DBus interface (no actual server-side code yet)
- Group notifications by application
Pretty much tasks grouping model from libtaskmanager slightly adjusted
- Let widget take full height when expanded in vertical panel "side bar usecase"
- Fix bugs here and there