diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index 2d8fc38f3..90fac8777 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -99,6 +99,9 @@ const BaseAppView = new Lang.Class({ else this._grid = new IconGrid.IconGrid(gridParams); + this._grid.connect('key-focus-in', Lang.bind(this, function(grid, actor) { + this._keyFocusIn(actor); + })); // Standard hack for ClutterBinLayout this._grid.actor.x_expand = true; @@ -106,6 +109,10 @@ const BaseAppView = new Lang.Class({ this._allItems = []; }, + _keyFocusIn: function(actor) { + // Nothing by default + }, + removeAll: function() { this._grid.destroyAll(); this._items = {}; @@ -558,7 +565,7 @@ const AllView = new Lang.Class({ })); }, - _ensureIconVisible: function(icon) { + _keyFocusIn: function(icon) { let itemPage = this._grid.getItemPage(icon); this.goToPage(itemPage); }, @@ -929,6 +936,10 @@ const FolderView = new Lang.Class({ this.actor.add_action(action); }, + _keyFocusIn: function(actor) { + Util.ensureActorVisibleInScrollView(this.actor, actor); + }, + createFolderIcon: function(size) { let layout = new Clutter.TableLayout(); let icon = new St.Widget({ layout_manager: layout,