Date: Thursday, July 30, 2020 @ 17:27:33 Author: jelle Revision: 665927
archrelease: copy trunk to community-x86_64 Added: i3-wm/repos/community-x86_64/0001-Use-OVER-operator-for-drawing-text.patch (from rev 665926, i3-wm/trunk/0001-Use-OVER-operator-for-drawing-text.patch) i3-wm/repos/community-x86_64/PKGBUILD (from rev 665926, 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 ++++++++-------- PKGBUILD | 104 ++++++++++++------------ 2 files changed, 87 insertions(+), 87 deletions(-) Deleted: 0001-Use-OVER-operator-for-drawing-text.patch =================================================================== --- 0001-Use-OVER-operator-for-drawing-text.patch 2020-07-30 17:27:23 UTC (rev 665926) +++ 0001-Use-OVER-operator-for-drawing-text.patch 2020-07-30 17:27:33 UTC (rev 665927) @@ -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 665926, 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-07-30 17:27:33 UTC (rev 665927) @@ -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 + Deleted: PKGBUILD =================================================================== --- PKGBUILD 2020-07-30 17:27:23 UTC (rev 665926) +++ PKGBUILD 2020-07-30 17:27:33 UTC (rev 665927) @@ -1,52 +0,0 @@ -# Maintainer: Thorsten Töpper <atsutane...@freethoughts.de> - -pkgname=i3-wm -pkgver=4.18.1 -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=('9abf90fa803f2cb8e53e3bc8c952eba48c43463083608e4107fc53ab224be07c' - '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 665926, i3-wm/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2020-07-30 17:27:33 UTC (rev 665927) @@ -0,0 +1,52 @@ +# 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: