[gnome-shell/gbsneto/custom-icon-positions: 28/28] 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: 28/28] appDisplay: Append new icons at the first available page after first
- Date: Wed, 15 Jul 2020 20:52:11 +0000 (UTC)
commit c400de20a965d2952d1bbf8485c998a0f970a37c
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 3e23d1a307..7b52eacf3e 100644
--- a/js/ui/appDisplay.js
+++ b/js/ui/appDisplay.js
@@ -540,10 +540,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]