viewSelector: Give the active page key focus when it is shown
Rather than implement special focus policies like only allowing keynav when pressing down, simply give the active page key focus when entering the overview. This may break stuff, as it's somewhat of a tricky patch to get right. Testing this one would be super appreciated. https://bugzilla.gnome.org/show_bug.cgi?id=644306
This commit is contained in:
@ -186,6 +186,7 @@ const ViewSelector = new Lang.Class({
|
|||||||
params = Params.parse(params, { a11yFocus: null });
|
params = Params.parse(params, { a11yFocus: null });
|
||||||
|
|
||||||
let page = new St.Bin({ child: actor,
|
let page = new St.Bin({ child: actor,
|
||||||
|
visible: false,
|
||||||
x_align: St.Align.START,
|
x_align: St.Align.START,
|
||||||
y_align: St.Align.START,
|
y_align: St.Align.START,
|
||||||
x_fill: true,
|
x_fill: true,
|
||||||
@ -210,7 +211,7 @@ const ViewSelector = new Lang.Class({
|
|||||||
oldPage.hide();
|
oldPage.hide();
|
||||||
|
|
||||||
this.emit('page-empty');
|
this.emit('page-empty');
|
||||||
|
this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
||||||
this._activePage.show();
|
this._activePage.show();
|
||||||
Tweener.addTween(this._activePage,
|
Tweener.addTween(this._activePage,
|
||||||
{ opacity: 255,
|
{ opacity: 255,
|
||||||
@ -281,14 +282,6 @@ const ViewSelector = new Lang.Class({
|
|||||||
return true;
|
return true;
|
||||||
} else if (this._shouldTriggerSearch(symbol)) {
|
} else if (this._shouldTriggerSearch(symbol)) {
|
||||||
this.startSearch(event);
|
this.startSearch(event);
|
||||||
} else if (!this._searchActive) {
|
|
||||||
if (symbol == Clutter.Tab || symbol == Clutter.Down) {
|
|
||||||
this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
|
||||||
return true;
|
|
||||||
} else if (symbol == Clutter.ISO_Left_Tab) {
|
|
||||||
this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_BACKWARD, false);
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user