mirror of
https://github.com/edu4rdshl/gnome-shell.git
synced 2026-07-17 23:24:51 +00:00
introspect: Include sandboxed-app-id as well
App IDs in gnome-shell don't match AppStream, Flatpak or Snap IDs. For the desktop portal, the latter two are more relevant, so include it in the returned information. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1289
This commit is contained in:
parent
a1c3900630
commit
33f5bb39cd
1 changed files with 14 additions and 0 deletions
|
|
@ -53,6 +53,11 @@ var IntrospectService = class {
|
|||
return APP_WHITELIST.includes(sender);
|
||||
}
|
||||
|
||||
_getSandboxedAppId(app) {
|
||||
let ids = app.get_windows().map(w => w.get_sandboxed_app_id());
|
||||
return ids.find(id => id != null);
|
||||
}
|
||||
|
||||
_syncRunningApplications() {
|
||||
let tracker = Shell.WindowTracker.get_default();
|
||||
let apps = this._appSystem.get_running();
|
||||
|
|
@ -74,6 +79,10 @@ var IntrospectService = class {
|
|||
newActiveApplication = app.get_id();
|
||||
}
|
||||
|
||||
let sandboxedAppId = this._getSandboxedAppId(app);
|
||||
if (sandboxedAppId)
|
||||
appInfo['sandboxed-app-id'] = new GLib.Variant('s', sandboxedAppId);
|
||||
|
||||
newRunningApplications[app.get_id()] = appInfo;
|
||||
}
|
||||
|
||||
|
|
@ -135,6 +144,7 @@ var IntrospectService = class {
|
|||
let frameRect = window.get_frame_rect();
|
||||
let title = window.get_title();
|
||||
let wmClass = window.get_wm_class();
|
||||
let sandboxedAppId = window.get_sandboxed_app_id();
|
||||
|
||||
windowsList[windowId] = {
|
||||
'app-id': GLib.Variant.new('s', app.get_id()),
|
||||
|
|
@ -151,6 +161,10 @@ var IntrospectService = class {
|
|||
|
||||
if (wmClass != null)
|
||||
windowsList[windowId]['wm-class'] = GLib.Variant.new('s', wmClass);
|
||||
|
||||
if (sandboxedAppId != null)
|
||||
windowsList[windowId]['sandboxed-app-id'] =
|
||||
GLib.Variant.new('s', sandboxedAppId);
|
||||
}
|
||||
}
|
||||
invocation.return_value(new GLib.Variant('(a{ta{sv}})', [windowsList]));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue