Which function is called when an app is selected in AppDisplay by hitting the return key?
- From: Bazon Bloch <bazonbloch arcor de>
- To: gnome-shell-list gnome org
- Subject: Which function is called when an app is selected in AppDisplay by hitting the return key?
- Date: Mon, 24 Sep 2012 20:27:11 +0200
Hello,
ABSTRACT:
Which function is called when an app is selected in the AppDisplay by
hitting the return/enter key?
It seems to make a difference whether the app is activated by mouse
click or return key. I got the function for the mouse click, but I'm
looking for the return key function.
DETAILED QUESTION:
The reason why I am asking: The following user request for my "Workspace
Separation On Dash" Extension
(https://extensions.gnome.org/extension/440/workspace-separation-on-dash/):
calebtom87 wrote:
"I don't know if this is more of a feature request or a bug report: It
works great for clicking icons. It even works when I type in what I want
and then click the icon, but if I hit enter to launch my program it will
still switch work spaces. "
I prevent that workspace change by a modified version of the _onActivate
function in /usr/share/gnome-shell/js/ui/appDisplay.js, originally only
in order to prevent Workspace-Change by Dash-Clicks.
For reference, here is my modified version of that function:
/**
* Modified version of the function in
/usr/share/gnome-shell/js/ui/appDisplay.js
*/
function _onActivate(event) {
// Added: First check, whether the application is running on the
current workspace
let windows = this.app.get_windows();
let activeWorkspace = global.screen.get_active_workspace();
let isoncurrentworkspace=0;
for (let i = 0; i < windows.length; i++) {
if (windows[i].get_workspace() == activeWorkspace) {
isoncurrentworkspace=1;
}
}
//original function again:
this.emit('launching');
let modifiers = event.get_state();
if (this._onActivateOverride) {
this._onActivateOverride(event);
} else {
if (modifiers & Clutter.ModifierType.CONTROL_MASK
&& this.app.state == Shell.AppState.RUNNING) {
this.app.open_new_window(-1);
} else {
// edited from original here: If not on current workspace,
launch a new instance
if (isoncurrentworkspace) {
this.app.activate();
} else {
this.app.open_new_window(-1);
}
}
}
Main.overview.hide();
}
So how can I have the same effect, also for selecting an app by hitting
the return key?
I searched, by had no success in finding the corresponding function.
thanks,
Bazon
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]