shellDBus: Implement all methods asynchronously
In order to restrict callers, we will need access to the invocation, not just the unpacked method parameters. https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/3943 Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1970>
This commit is contained in:
parent
2a3e297218
commit
3adad0da81
@ -72,11 +72,26 @@ var GnomeShell = class {
|
|||||||
return [success, returnValue];
|
return [success, returnValue];
|
||||||
}
|
}
|
||||||
|
|
||||||
FocusSearch() {
|
/**
|
||||||
|
* Focus the overview's search entry
|
||||||
|
*
|
||||||
|
* @param {...any} params - method parameters
|
||||||
|
* @param {Gio.DBusMethodInvocation} invocation - the invocation
|
||||||
|
* @returns {void}
|
||||||
|
*/
|
||||||
|
FocusSearchAsync(params, invocation) {
|
||||||
Main.overview.focusSearch();
|
Main.overview.focusSearch();
|
||||||
|
invocation.return_value(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
ShowOSD(params) {
|
/**
|
||||||
|
* Show OSD with the specified parameters
|
||||||
|
*
|
||||||
|
* @param {...any} params - method parameters
|
||||||
|
* @param {Gio.DBusMethodInvocation} invocation - the invocation
|
||||||
|
* @returns {void}
|
||||||
|
*/
|
||||||
|
ShowOSDAsync([params], invocation) {
|
||||||
for (let param in params)
|
for (let param in params)
|
||||||
params[param] = params[param].deep_unpack();
|
params[param] = params[param].deep_unpack();
|
||||||
|
|
||||||
@ -97,14 +112,31 @@ var GnomeShell = class {
|
|||||||
icon = Gio.Icon.new_for_string(serializedIcon);
|
icon = Gio.Icon.new_for_string(serializedIcon);
|
||||||
|
|
||||||
Main.osdWindowManager.show(monitorIndex, icon, label, level, maxLevel);
|
Main.osdWindowManager.show(monitorIndex, icon, label, level, maxLevel);
|
||||||
|
invocation.return_value(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
FocusApp(id) {
|
/**
|
||||||
|
* Focus specified app in the overview's app grid
|
||||||
|
*
|
||||||
|
* @param {string} id - an application ID
|
||||||
|
* @param {Gio.DBusMethodInvocation} invocation - the invocation
|
||||||
|
* @returns {void}
|
||||||
|
*/
|
||||||
|
FocusAppAsync([id], invocation) {
|
||||||
Main.overview.selectApp(id);
|
Main.overview.selectApp(id);
|
||||||
|
invocation.return_value(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
ShowApplications() {
|
/**
|
||||||
|
* Show the overview's app grid
|
||||||
|
*
|
||||||
|
* @param {...any} params - method parameters
|
||||||
|
* @param {Gio.DBusMethodInvocation} invocation - the invocation
|
||||||
|
* @returns {void}
|
||||||
|
*/
|
||||||
|
ShowApplicationsAsync(params, invocation) {
|
||||||
Main.overview.show(ControlsState.APP_GRID);
|
Main.overview.show(ControlsState.APP_GRID);
|
||||||
|
invocation.return_value(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
GrabAcceleratorAsync(params, invocation) {
|
GrabAcceleratorAsync(params, invocation) {
|
||||||
|
Loading…
Reference in New Issue
Block a user