messageTray: Add NotificationPolicy.newFromApp()
We have several places where we create an application policy from an app if possible, and fall back to a generic policy otherwise. Make that more convenient by adding a small helper method. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3170>
This commit is contained in:
parent
ebec609207
commit
810391f41e
@ -161,6 +161,24 @@ export const NotificationPolicy = GObject.registerClass({
|
||||
GObject.ParamFlags.READABLE, false),
|
||||
},
|
||||
}, class NotificationPolicy extends GObject.Object {
|
||||
/**
|
||||
* Create a new policy for app.
|
||||
*
|
||||
* This will be a NotificationApplicationPolicy for valid apps,
|
||||
* or a NotificationGenericPolicy otherwise.
|
||||
*
|
||||
* @param {Shell.App=} app
|
||||
* @returns {NotificationPolicy}
|
||||
*/
|
||||
static newForApp(app) {
|
||||
// fallback to generic policy
|
||||
if (!app?.get_app_info())
|
||||
return new NotificationGenericPolicy();
|
||||
|
||||
const id = app.get_id().replace(/\.desktop$/, '');
|
||||
return new NotificationApplicationPolicy(id);
|
||||
}
|
||||
|
||||
// Do nothing for the default policy. These methods are only useful for the
|
||||
// GSettings policy.
|
||||
store() { }
|
||||
|
Loading…
Reference in New Issue
Block a user