diff options
author | Mingi Sung | 2022-10-28 01:04:25 +0900 |
---|---|---|
committer | Mingi Sung | 2022-10-28 01:04:25 +0900 |
commit | 9118ec8b61db5888bd44209eddc8a78ec3487134 (patch) | |
tree | 90c0a901f25e5e88c399743ef825c2761525b078 | |
parent | 43ccf961afae44404f3c4b2370ffcc34085eed82 (diff) | |
download | aur-9118ec8b61db5888bd44209eddc8a78ec3487134.tar.gz |
Sync to gnome-43
Signed-off-by: Mingi Sung <FiestaLake@protonmail.com>
-rw-r--r-- | .SRCINFO | 29 | ||||
-rw-r--r-- | PKGBUILD | 55 | ||||
-rw-r--r-- | mr1884.patch | 102 | ||||
-rw-r--r-- | mr1915.patch | 79 |
4 files changed, 28 insertions, 237 deletions
@@ -1,7 +1,7 @@ pkgbase = gnome-shell-performance pkgdesc = Next generation desktop shell | Attempts to improve performances with non-upstreamed merge-requests and frequent stable branch resync - pkgver = 42.5 - pkgrel = 2 + pkgver = 43.0+46+gecc3cf8ab + pkgrel = 1 epoch = 1 url = https://wiki.gnome.org/Projects/GnomeShell arch = x86_64 @@ -18,9 +18,8 @@ pkgbase = gnome-shell-performance makedepends = asciidoc makedepends = bash-completion depends = accountsservice - depends = gcr + depends = gcr-4 depends = gjs - depends = gnome-bluetooth-3.0 depends = upower depends = gnome-session depends = gtk4 @@ -32,33 +31,29 @@ pkgbase = gnome-shell-performance depends = mutter depends = libnma depends = unzip - depends = gstreamer depends = libibus depends = gnome-autoar depends = gnome-disk-utility - depends = gst-plugin-pipewire depends = libsoup3 depends = libgweather-4 optdepends = gnome-control-center: System settings optdepends = evolution-data-server: Evolution calendar integration + optdepends = gst-plugins-good: Screen recording + optdepends = gst-plugin-pipewire: Screen recording + optdepends = gnome-bluetooth-3.0: Bluetooth support provides = gnome-shell - provides = gnome-shell=42.5 - provides = gnome-shell=1:42.5 + provides = gnome-shell=43.0+46+gecc3cf8ab + provides = gnome-shell=1:43.0+46+gecc3cf8ab conflicts = gnome-shell - source = git+https://gitlab.gnome.org/GNOME/gnome-shell.git#commit=84f0233bd51ce99271a5facd0cd58f21b47e9efc + source = git+https://gitlab.gnome.org/GNOME/gnome-shell.git#commit=ecc3cf8ab108c4511e650f4d0f0124b9f98cd8bf source = git+https://gitlab.gnome.org/GNOME/libgnome-volume-control.git - source = mr1884.patch - source = mr1915.patch sha256sums = SKIP sha256sums = SKIP - sha256sums = cce6fbdf0ee230563c43c096c5137f79412723fc5461ae38a9cea66179440079 - sha256sums = 58795bb46aaf1885525758ae5c05263497ec5b67b48803980349cd621b259ef9 pkgname = gnome-shell-performance depends = accountsservice - depends = gcr + depends = gcr-4 depends = gjs - depends = gnome-bluetooth-3.0 depends = upower depends = gnome-session depends = gtk4 @@ -70,11 +65,9 @@ pkgname = gnome-shell-performance depends = mutter depends = libnma depends = unzip - depends = gstreamer depends = libibus depends = gnome-autoar depends = gnome-disk-utility - depends = gst-plugin-pipewire depends = libsoup3 depends = libgweather-4 - depends = libmutter-10.so + depends = libmutter-11.so @@ -1,7 +1,7 @@ # Patched package: # Maintainer: Saren Arterius <saren@wtako.net> # Co-maintainer: Térence Clastres <t.clastres@gmail.com> -# Co-maintainer: Sung Mingi <FiestaLake@protonmail.com> +# Co-maintainer: Mingi Sung <FiestaLake@protonmail.com> # Official package: # Maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org> @@ -11,42 +11,41 @@ ### MERGE REQUESTS SELECTION -# available MR: ('1884' '1915') -_merge_requests_to_use=('1884' '1915') +# available MR: () +_merge_requests_to_use=() ### IMPORTANT: Do no edit below this line unless you know what you're doing pkgname=gnome-shell-performance _pkgname=gnome-shell -pkgver=42.5 -pkgrel=2 +pkgver=43.0+46+gecc3cf8ab +pkgrel=1 epoch=1 pkgdesc="Next generation desktop shell | Attempts to improve performances with non-upstreamed merge-requests and frequent stable branch resync" url="https://wiki.gnome.org/Projects/GnomeShell" arch=(x86_64) license=(GPL) -depends=(accountsservice gcr gjs gnome-bluetooth-3.0 upower gnome-session gtk4 +depends=(accountsservice gcr-4 gjs upower gnome-session gtk4 gnome-settings-daemon gsettings-desktop-schemas libcanberra-pulse - libgdm libsecret mutter libnma unzip gstreamer libibus gnome-autoar - gnome-disk-utility gst-plugin-pipewire libsoup3 libgweather-4) + libgdm libsecret mutter libnma unzip libibus gnome-autoar + gnome-disk-utility libsoup3 libgweather-4) makedepends=(gtk-doc gnome-control-center evolution-data-server gobject-introspection git meson sassc asciidoc bash-completion) checkdepends=(xorg-server-xvfb) optdepends=('gnome-control-center: System settings' - 'evolution-data-server: Evolution calendar integration') + 'evolution-data-server: Evolution calendar integration' + 'gst-plugins-good: Screen recording' + 'gst-plugin-pipewire: Screen recording' + 'gnome-bluetooth-3.0: Bluetooth support') groups=(gnome) provides=(gnome-shell gnome-shell=$pkgver gnome-shell=$epoch:$pkgver) conflicts=(gnome-shell) -_commit=84f0233bd51ce99271a5facd0cd58f21b47e9efc # tags/42.5^0 +_commit=ecc3cf8ab108c4511e650f4d0f0124b9f98cd8bf # tags/43.0^46 source=("git+https://gitlab.gnome.org/GNOME/gnome-shell.git#commit=$_commit" - "git+https://gitlab.gnome.org/GNOME/libgnome-volume-control.git" - "mr1884.patch" - "mr1915.patch") + "git+https://gitlab.gnome.org/GNOME/libgnome-volume-control.git") sha256sums=('SKIP' - 'SKIP' - 'cce6fbdf0ee230563c43c096c5137f79412723fc5461ae38a9cea66179440079' - '58795bb46aaf1885525758ae5c05263497ec5b67b48803980349cd621b259ef9') + 'SKIP') pkgver() { cd $_pkgname @@ -120,29 +119,9 @@ prepare() { # # Generally, a MR status oscillate between 2 and 3 and then becomes 4. - # Title: Fade out whole icons instead of using StScrollViewFade (traditional design) - # URL: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1884 - # Type: 1 - # Status: 2 - # Comment: By avoiding StScrollViewFade we avoid offscreening and therefore - # avoid painting everything twice to get it on screen. So this almost - # halves the render time of the icon grid. - # Related: #4367, !1877, #174 - pick_mr '1884' 'mr1884.patch' 'patch' - - # Title: Optimize box-shadow rendering (part 2) [chroma key design] - # URL: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1915 - # Type: 1 - # Status: 2 - # Comment: This reduces the render time of the overview by about 15%. - # Part 1 was in !1904 (merged). - # This is an alternate design to !1862. - pick_mr '1915' 'mr1915.patch' 'patch' - - git config --global protocol.file.allow always git submodule init git submodule set-url subprojects/gvc "$srcdir/libgnome-volume-control" - git submodule update + git -c protocol.file.allow=always submodule update } build() { @@ -166,6 +145,6 @@ check() { } package() { - depends+=(libmutter-10.so) + depends+=(libmutter-11.so) meson install -C build --destdir "$pkgdir" } 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); -+ }); -+ } - }); diff --git a/mr1915.patch b/mr1915.patch deleted file mode 100644 index 61de776e0a70..000000000000 --- a/mr1915.patch +++ /dev/null @@ -1,79 +0,0 @@ -Author: Daniel van Vugt <daniel.van.vugt@canonical.com> -Source: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1915 -Editor: Sung Mingi <FiestaLake@protonmail.com> -Commit: 80c33fcb7a93d9fd66318524522b7c8b8fb7a9bb -Last Updated: 06/07/22 (gnome-shell 42.3.1-2) - -diff --git a/data/theme/gnome-shell-sass/_common.scss b/data/theme/gnome-shell-sass/_common.scss -index 0b89700b4..8cc09be08 100644 ---- a/data/theme/gnome-shell-sass/_common.scss -+++ b/data/theme/gnome-shell-sass/_common.scss -@@ -35,6 +35,11 @@ $base_border_radius: 8px; - // radii of things that display over other things, e.g. popovers - $modal_radius: $base_border_radius*2; // 24px - -+// Chroma key to flag when a background-color is always occluded, not visible. -+// This allows any box-shadow behind it to be rendered more efficiently by -+// omitting the middle rectangle. -+$invisible_occluded_bg_color: rgba(3,2,1,0); -+ - // fonts - $base_font_size: 11; - $text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.2)); -diff --git a/data/theme/gnome-shell-sass/widgets/_window-picker.scss b/data/theme/gnome-shell-sass/widgets/_window-picker.scss -index c71adad54..9067a6d4e 100644 ---- a/data/theme/gnome-shell-sass/widgets/_window-picker.scss -+++ b/data/theme/gnome-shell-sass/widgets/_window-picker.scss -@@ -48,5 +48,6 @@ $window_close_button_padding: 3px; - .workspace-background { - // keep in sync with BACKGROUND_CORNER_RADIUS_PIXELS in workspace.js - border-radius: 30px; -+ background-color: $invisible_occluded_bg_color; - box-shadow: 0 4px 16px 4px transparentize(darken($osd_bg_color, 30%), 0.7); - } -diff --git a/src/st/st-theme-node-drawing.c b/src/st/st-theme-node-drawing.c -index b32c76be2..72745ed66 100644 ---- a/src/st/st-theme-node-drawing.c -+++ b/src/st/st-theme-node-drawing.c -@@ -2021,6 +2021,8 @@ st_theme_node_paint_sliced_shadow (StThemeNodePaintState *state, - gfloat shadow_blur_radius, x_spread_factor, y_spread_factor; - float rectangles[8 * 9]; - gint idx; -+ ClutterColor background_color; -+ static const ClutterColor invisible_occluded = {3, 2, 1, 0}; - - if (paint_opacity == 0) - return; -@@ -2178,16 +2180,23 @@ st_theme_node_paint_sliced_shadow (StThemeNodePaintState *state, - rectangles[idx++] = s_bottom; - } - -- /* Center middle */ -- rectangles[idx++] = left; -- rectangles[idx++] = top; -- rectangles[idx++] = right; -- rectangles[idx++] = bottom; -+ /* Center middle is not definitely occluded? */ -+ st_theme_node_get_background_color (node, &background_color); -+ if (!clutter_color_equal (&background_color, &invisible_occluded) || -+ paint_opacity < 255 || -+ xoffset > shadow_blur_radius || left < 0 || -+ yoffset > shadow_blur_radius || top < 0) -+ { -+ rectangles[idx++] = left; -+ rectangles[idx++] = top; -+ rectangles[idx++] = right; -+ rectangles[idx++] = bottom; - -- rectangles[idx++] = s_left; -- rectangles[idx++] = s_top; -- rectangles[idx++] = s_right; -- rectangles[idx++] = s_bottom; -+ rectangles[idx++] = s_left; -+ rectangles[idx++] = s_top; -+ rectangles[idx++] = s_right; -+ rectangles[idx++] = s_bottom; -+ } - - if (xend > right) - { |