Date: Tuesday, August 11, 2020 @ 18:28:47 Author: grazzolini Revision: 674643
archrelease: copy trunk to community-x86_64 Added: i3-wm/repos/community-x86_64/0001-Use-OVER-operator-for-drawing-text.patch (from rev 674642, i3-wm/trunk/0001-Use-OVER-operator-for-drawing-text.patch) i3-wm/repos/community-x86_64/0002-kick-tray-clients-before-destroying-the-bar.patch (from rev 674642, i3-wm/trunk/0002-kick-tray-clients-before-destroying-the-bar.patch) i3-wm/repos/community-x86_64/PKGBUILD (from rev 674642, i3-wm/trunk/PKGBUILD) Deleted: i3-wm/repos/community-x86_64/0001-Use-OVER-operator-for-drawing-text.patch i3-wm/repos/community-x86_64/PKGBUILD --------------------------------------------------------+ 0001-Use-OVER-operator-for-drawing-text.patch | 70 ++++----- 0002-kick-tray-clients-before-destroying-the-bar.patch | 34 ++++ PKGBUILD | 109 +++++++-------- 3 files changed, 126 insertions(+), 87 deletions(-) Deleted: 0001-Use-OVER-operator-for-drawing-text.patch =================================================================== --- 0001-Use-OVER-operator-for-drawing-text.patch 2020-08-11 18:27:46 UTC (rev 674642) +++ 0001-Use-OVER-operator-for-drawing-text.patch 2020-08-11 18:28:47 UTC (rev 674643) @@ -1,35 +0,0 @@ -From eea280b1f1d9d66c903014fd6703f401eb119a87 Mon Sep 17 00:00:00 2001 -Message-Id: <eea280b1f1d9d66c903014fd6703f401eb119a87.1504913100.git.jan.steff...@gmail.com> -From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> -Date: Sat, 9 Sep 2017 00:22:13 +0200 -Subject: [PATCH] Use OVER operator for drawing text - -For opaque text, SOURCE is not any different from OVER. However, when -drawing color glyphs (which consist of RGBA pixels instead of strokes) -SOURCE's handling of alpha is not what we want. - -I stumbled across this because cairo 1.15.8 seems to clear the surface -before drawing color emoji if the operator is SOURCE, deleting every- -thing drawn before. Arguably, the area outside the glyph bounds should -not be touched, but even if this is a cairo bug the problem of alpha -within the glyph remains. ---- - libi3/font.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/libi3/font.c b/libi3/font.c -index 81091ea74a31da11..aef8427b5396c3d8 100644 ---- a/libi3/font.c -+++ b/libi3/font.c -@@ -105,7 +105,7 @@ static void draw_text_pango(const char *text, size_t text_len, - pango_layout_set_text(layout, text, text_len); - - /* Do the drawing */ -- cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); -+ cairo_set_operator(cr, CAIRO_OPERATOR_OVER); - cairo_set_source_rgb(cr, pango_font_red, pango_font_green, pango_font_blue); - pango_cairo_update_layout(cr, layout); - pango_layout_get_pixel_size(layout, NULL, &height); --- -2.14.1 - Copied: i3-wm/repos/community-x86_64/0001-Use-OVER-operator-for-drawing-text.patch (from rev 674642, i3-wm/trunk/0001-Use-OVER-operator-for-drawing-text.patch) =================================================================== --- 0001-Use-OVER-operator-for-drawing-text.patch (rev 0) +++ 0001-Use-OVER-operator-for-drawing-text.patch 2020-08-11 18:28:47 UTC (rev 674643) @@ -0,0 +1,35 @@ +From eea280b1f1d9d66c903014fd6703f401eb119a87 Mon Sep 17 00:00:00 2001 +Message-Id: <eea280b1f1d9d66c903014fd6703f401eb119a87.1504913100.git.jan.steff...@gmail.com> +From: "Jan Alexander Steffens (heftig)" <jan.steff...@gmail.com> +Date: Sat, 9 Sep 2017 00:22:13 +0200 +Subject: [PATCH] Use OVER operator for drawing text + +For opaque text, SOURCE is not any different from OVER. However, when +drawing color glyphs (which consist of RGBA pixels instead of strokes) +SOURCE's handling of alpha is not what we want. + +I stumbled across this because cairo 1.15.8 seems to clear the surface +before drawing color emoji if the operator is SOURCE, deleting every- +thing drawn before. Arguably, the area outside the glyph bounds should +not be touched, but even if this is a cairo bug the problem of alpha +within the glyph remains. +--- + libi3/font.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libi3/font.c b/libi3/font.c +index 81091ea74a31da11..aef8427b5396c3d8 100644 +--- a/libi3/font.c ++++ b/libi3/font.c +@@ -105,7 +105,7 @@ static void draw_text_pango(const char *text, size_t text_len, + pango_layout_set_text(layout, text, text_len); + + /* Do the drawing */ +- cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); ++ cairo_set_operator(cr, CAIRO_OPERATOR_OVER); + cairo_set_source_rgb(cr, pango_font_red, pango_font_green, pango_font_blue); + pango_cairo_update_layout(cr, layout); + pango_layout_get_pixel_size(layout, NULL, &height); +-- +2.14.1 + Copied: i3-wm/repos/community-x86_64/0002-kick-tray-clients-before-destroying-the-bar.patch (from rev 674642, i3-wm/trunk/0002-kick-tray-clients-before-destroying-the-bar.patch) =================================================================== --- 0002-kick-tray-clients-before-destroying-the-bar.patch (rev 0) +++ 0002-kick-tray-clients-before-destroying-the-bar.patch 2020-08-11 18:28:47 UTC (rev 674643) @@ -0,0 +1,34 @@ +From 838b600fead202416013db5c1b57f7031f06bed6 Mon Sep 17 00:00:00 2001 +From: Mark Guptill <compguy...@yahoo.com> +Date: Tue, 30 Jun 2020 04:34:32 -0400 +Subject: [PATCH] kick tray clients before destroying the bar + +--- + i3bar/src/xcb.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/i3bar/src/xcb.c b/i3bar/src/xcb.c +index 94212630..5f01c1d8 100644 +--- a/i3bar/src/xcb.c ++++ b/i3bar/src/xcb.c +@@ -1613,6 +1613,8 @@ void destroy_window(i3_output *output) { + return; + } + ++ kick_tray_clients(output); ++ + draw_util_surface_free(xcb_connection, &(output->bar)); + draw_util_surface_free(xcb_connection, &(output->buffer)); + draw_util_surface_free(xcb_connection, &(output->statusline_buffer)); +@@ -1620,8 +1622,6 @@ void destroy_window(i3_output *output) { + xcb_free_pixmap(xcb_connection, output->buffer.id); + xcb_free_pixmap(xcb_connection, output->statusline_buffer.id); + output->bar.id = XCB_NONE; +- +- kick_tray_clients(output); + } + + /* Strut partial tells i3 where to reserve space for i3bar. This is determined +-- +2.28.0 + Deleted: PKGBUILD =================================================================== --- PKGBUILD 2020-08-11 18:27:46 UTC (rev 674642) +++ PKGBUILD 2020-08-11 18:28:47 UTC (rev 674643) @@ -1,52 +0,0 @@ -# Maintainer: Thorsten Töpper <atsutane...@freethoughts.de> - -pkgname=i3-wm -pkgver=4.18.2 -pkgrel=1 -pkgdesc="An improved dynamic tiling window manager" -url="https://i3wm.org/" -arch=(x86_64) -license=(BSD) -depends=(xcb-util-cursor xcb-util-keysyms xcb-util-wm xcb-util-xrm libev yajl startup-notification - pango libxkbcommon-x11) -makedepends=(bison flex asciidoc xmlto) -optdepends=('dmenu: As menu.' - 'i3lock: For locking your screen.' - 'i3status: To display systeminformation with a bar.' - 'perl: i3-save-tree and i3-dmenu-desktop' - 'perl-anyevent-i3: Features like saving the layout.' - 'perl-json-xs: Features like saving the layout.') -backup=(etc/i3/config) -groups=(i3) -replaces=(i3 i3bar) -source=("https://i3wm.org/downloads/i3-$pkgver.tar.bz2"{,.asc} - 0001-Use-OVER-operator-for-drawing-text.patch) -sha256sums=('b28617d62f308b93817fc9949daffee74cf4a001685de389f3072cb44cf5120c' - 'SKIP' - 'e49e147b1cd06f95188decbbe41f5c3a0aca18d0195750bc3ea16465b4aca563') -validpgpkeys=('424E14D703E7C6D43D9D6F364E7160ED4AC8EE1D') # Michael Stapelberg - -prepare() { - mkdir build - cd i3-$pkgver - - # https://github.com/i3/i3/pull/2925 - patch -Np1 -i ../0001-Use-OVER-operator-for-drawing-text.patch - - autoreconf -fvi -} - -build() { - cd build - ../i3-$pkgver/configure --prefix=/usr --sysconfdir=/etc - make -} - -package() { - cd build - make DESTDIR="$pkgdir" install - install -Dt "$pkgdir/usr/share/man/man1" -m644 man/*.1 - install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 ../i3-$pkgver/LICENSE -} - -# vim:set ts=2 sw=2 et: Copied: i3-wm/repos/community-x86_64/PKGBUILD (from rev 674642, i3-wm/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2020-08-11 18:28:47 UTC (rev 674643) @@ -0,0 +1,57 @@ +# Maintainer: Thorsten Töpper <atsutane...@freethoughts.de> + +pkgname=i3-wm +pkgver=4.18.2 +pkgrel=2 +pkgdesc="An improved dynamic tiling window manager" +url="https://i3wm.org/" +arch=(x86_64) +license=(BSD) +depends=(xcb-util-cursor xcb-util-keysyms xcb-util-wm xcb-util-xrm libev yajl startup-notification + pango libxkbcommon-x11) +makedepends=(bison flex asciidoc xmlto) +optdepends=('dmenu: As menu.' + 'i3lock: For locking your screen.' + 'i3status: To display systeminformation with a bar.' + 'perl: i3-save-tree and i3-dmenu-desktop' + 'perl-anyevent-i3: Features like saving the layout.' + 'perl-json-xs: Features like saving the layout.') +backup=(etc/i3/config) +groups=(i3) +replaces=(i3 i3bar) +source=("https://i3wm.org/downloads/i3-$pkgver.tar.bz2"{,.asc} + 0001-Use-OVER-operator-for-drawing-text.patch + 0002-kick-tray-clients-before-destroying-the-bar.patch) +sha256sums=('b28617d62f308b93817fc9949daffee74cf4a001685de389f3072cb44cf5120c' + 'SKIP' + 'e49e147b1cd06f95188decbbe41f5c3a0aca18d0195750bc3ea16465b4aca563' + 'f8a3a307951f6a2f5fc740a0d5871e5fb502162d0269c6124d87aabb46e6e11a') +validpgpkeys=('424E14D703E7C6D43D9D6F364E7160ED4AC8EE1D') # Michael Stapelberg + +prepare() { + mkdir build + cd i3-$pkgver + + # https://github.com/i3/i3/pull/2925 + patch -Np1 -i ../0001-Use-OVER-operator-for-drawing-text.patch + + # https://github.com/i3/i3/issues/4159 + patch -Np1 -i ../0002-kick-tray-clients-before-destroying-the-bar.patch + + autoreconf -fvi +} + +build() { + cd build + ../i3-$pkgver/configure --prefix=/usr --sysconfdir=/etc + make +} + +package() { + cd build + make DESTDIR="$pkgdir" install + install -Dt "$pkgdir/usr/share/man/man1" -m644 man/*.1 + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 ../i3-$pkgver/LICENSE +} + +# vim:set ts=2 sw=2 et: