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),
|
GObject.ParamFlags.READABLE, false),
|
||||||
},
|
},
|
||||||
}, class NotificationPolicy extends GObject.Object {
|
}, 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
|
// Do nothing for the default policy. These methods are only useful for the
|
||||||
// GSettings policy.
|
// GSettings policy.
|
||||||
store() { }
|
store() { }
|
||||||
|
Loading…
Reference in New Issue
Block a user