Conversation
... required for linuxmint/cinnamon#13598
|
In the past, I've thought about how an implementation for this might go... this is good for most (well-behaved) apps, but there will be some that don't have a predictable id that can be used... these would be caught in the messageTray - if they're not known, you could add a schema for it and populate it with the defaults. Next time the user went into notification settings it would be there, and further notifications from that source could be turned off. Maybe they'd be better off in their own section also. Something to look at maybe... maybe it's not as much of a concern as I think any more. I haven't had a chance to try this but I'll attach a Claude code review for now: |
You mean sources not associated with a known app? This would be quite complicated I think. Perhaps we should wait to see how common a problem this is before deciding if it needs implementing? Thanks for the claude review.
Fixed. Turns out cinnamenu was adding
Fixed. Added a cache for the per app Gio.Settings.
I don't think this is necessary. Users are more likely to check their per app notification settings than look in .xsession-errors.
Good suggestion. Comment added.
Not required. Gio.AppInfo doesn't add ":flatpak" to app_ids.
Fixed. |
a705739 to
fceded9
Compare
This would essentially be the same problem as missing notification badges on the GWL icons. Since there haven't been many reports of this being a problem, I don't think it's something we need to be concerned about. If we do find apps for which a source is not identified, I think it's best fixed in notificationDeamon.js so that the notification badges for that app also work. |
|
Can you put the 'Enable notifications' switch and the the applications button in their own 'section' with no heading? Then a new section with "Notification settings" that has the rest of the existing items. I'm tempted to have the app notifications in their own 'tab' but let's see what feedback we get... A claude 're-review' (though other than making separate 'sections' in cs_notifications.py I'm ok with everything as is): |
Done. Regarding the claude re-review:
I think this is rare enough a circumstance and unimportant enough to be not worth adding the extra complication to _updateState()
The current method has the advantage that it will remove settings for uninstalled apps as well. |
requires: linuxmint/cinnamon-desktop#266
Notes:
The new schema and key names were chosen for no other reason than that correspond to the names used by GNOME (org.gnome. ...).
When editing the per app notifications in dconf-editor, it says "Keys not defined by a schema". This is because gsettings does not associate relocatable schemas with a path. This is not a problem and I only mention it in case anyone wonders why this isn't the case for GNOME's equivalent relocatable schemas. This is because GNOME's are hard coded into dconf-editor.