appDisplay: Only allow ctrl-click for apps that can open new windows

Trust the heuristics in shell_app_can_open_new_window() to get it right
more often than not, and add an appropriate check in activate(). This
makes the behavior consistent with the dash, e.g. we will try to open
a new window (and show the corresponding animation) for apps that don't
have a "New window" item in their dash context menu.

https://bugzilla.gnome.org/show_bug.cgi?id=736329
This commit is contained in:
Florian Müllner 2014-09-08 21:50:51 +02:00
parent 762e770c84
commit 491100c7ee

View File

@ -1687,7 +1687,8 @@ const AppIcon = new Lang.Class({
activate: function (button) { activate: function (button) {
let event = Clutter.get_current_event(); let event = Clutter.get_current_event();
let modifiers = event ? event.get_state() : 0; let modifiers = event ? event.get_state() : 0;
let openNewWindow = modifiers & Clutter.ModifierType.CONTROL_MASK && let openNewWindow = this.app.can_open_new_window () &&
modifiers & Clutter.ModifierType.CONTROL_MASK &&
this.app.state == Shell.AppState.RUNNING || this.app.state == Shell.AppState.RUNNING ||
button && button == 2; button && button == 2;