[gnome-shell/gbsneto/custom-icon-positions: 19/19] appDisplay: Append new icons at the first available page after first
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/gbsneto/custom-icon-positions: 19/19] appDisplay: Append new icons at the first available page after first
- Date: Fri, 10 Jul 2020 14:51:37 +0000 (UTC)
commit 2714874fa6ef2b5a5067264185f44ccb7b4d40be
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Thu Jun 25 17:33:48 2020 -0300
appDisplay: Append new icons at the first available page after first
As per design discussion, the first page is a somewhat of a special
page where we really don't want to change anything unless necessary.
Append new icons at the first available slot after the first page.
https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1284
js/ui/appDisplay.js | 17 +++++++++++++++++
1 file changed, 17 insertions(+)
---
diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js
index 847eb28c34..434c295892 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -536,10 +536,27 @@ var BaseAppView = GObject.registerClass({
return true;
}
+ _findBestPageToAppend() {
+ for (let i = 1; i < this._grid.nPages; i++) {
+ const pageItems =
+ this._grid.getItemsAtPage(i).filter(c => c.visible);
+
+ if (pageItems.length < this._grid.itemsPerPage)
+ return i;
+ }
+
+ return -1;
+ }
+
_addItem(item, page, position) {
let itemIndex = 0;
if (this._grid.nPages > 0) {
+ // Append icons to the first page with empty slot, starting from
+ // the second page
+ if (this._grid.nPages > 1 && page === -1 && position === -1)
+ page = this._findBestPageToAppend();
+
const realPage = page === -1 ? this._grid.nPages - 1 : page;
itemIndex = position === -1
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]