diff options
Diffstat (limited to 'mr1884.patch')
-rw-r--r-- | mr1884.patch | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/mr1884.patch b/mr1884.patch deleted file mode 100644 index 1ebe2111a435..000000000000 --- a/mr1884.patch +++ /dev/null @@ -1,102 +0,0 @@ -Author: Daniel van Vugt <daniel.van.vugt@canonical.com> -Source: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1884 -Editor: Sung Mingi <FiestaLake@protonmail.com> -Commit: cac94861037a793a16e6ba2b174ff74837625406 -Last Updated: 06/07/22 (gnome-shell 42.3.1-1) - -diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js -index dd75a09ed..e02971024 100644 ---- a/js/ui/appDisplay.js -+++ b/js/ui/appDisplay.js -@@ -202,6 +202,16 @@ var BaseAppView = GObject.registerClass({ - this._scrollView.connect('leave-event', this._onLeave.bind(this)); - this._scrollView.connect('button-press-event', this._onButtonPress.bind(this)); - -+ // Disable the the fade effect shader. IconGrid does its own fading -+ // that's much faster. -+ this._scrollView.update_fade_effect( -+ new Clutter.Margin({ -+ left: 0.0, -+ right: 0.0, -+ top: 0.0, -+ bottom: 0.0, -+ })); -+ - this._scrollView.add_actor(this._grid); - - const scroll = this._scrollView.hscroll; -@@ -380,10 +390,12 @@ var BaseAppView = GObject.registerClass({ - -(this._availWidth - this._grid.layout_manager.pageWidth) / 2); - } - -- this._scrollView.update_fade_effect(fadeMargin); -- const effect = this._scrollView.get_effect('fade'); -- if (effect) -- effect.extend_fade_area = true; -+ this._updateFadeMargin(fadeMargin); -+ } -+ -+ _updateFadeMargin(margin) { -+ const pagePos = this._adjustment.value / this._adjustment.page_size; -+ this._grid.updateFade(pagePos, margin); - } - - _updateFade() { -@@ -411,7 +423,7 @@ var BaseAppView = GObject.registerClass({ - return; - } - -- this._scrollView.update_fade_effect( -+ this._updateFadeMargin( - new Clutter.Margin({ - left: hOffset, - right: hOffset, -@@ -2106,6 +2118,10 @@ class AppViewItem extends St.Button { - this.fake_release(); - } - -+ get dragging() { -+ return this._draggable && this._dragging; -+ } -+ - get id() { - return this._id; - } -diff --git a/js/ui/iconGrid.js b/js/ui/iconGrid.js -index 599374fa3..826fb1246 100644 ---- a/js/ui/iconGrid.js -+++ b/js/ui/iconGrid.js -@@ -1409,4 +1409,33 @@ var IconGrid = GObject.registerClass({ - const layoutManager = this.layout_manager; - return layoutManager.rows_per_page * layoutManager.columns_per_page; - } -+ -+ updateFade(pagePosition, fadeMargin) { -+ const pageWidth = this.layout_manager.pageWidth; -+ const fadeOutLeftX = pagePosition * pageWidth + fadeMargin.left; -+ const fadeOutRightX = (pagePosition + 1) * pageWidth - fadeMargin.right; -+ -+ let children = []; -+ for (let p = 0; p < this.nPages; p++) { -+ children = children.concat( -+ this.getItemsAtPage(p).filter(c => c.visible && !c.dragging) -+ ); -+ } -+ -+ children.forEach(child => { -+ const childWidth = child.width; -+ const childLeft = child.x; -+ const childRight = childLeft + childWidth; -+ -+ let progress = 0.0; -+ -+ if (childLeft < fadeOutLeftX && fadeMargin.left > 0) -+ progress = (fadeOutLeftX - childLeft) / childWidth; -+ else if (childRight > fadeOutRightX && fadeMargin.right > 0) -+ progress = (childRight - fadeOutRightX) / childWidth; -+ -+ progress = Math.clamp(progress, 0.0, 1.0); -+ child.set_opacity((1.0 - progress) * 255.0); -+ }); -+ } - }); |