[arch-commits] Commit in i3-wm/trunk (2 files)
Jan Steffens
heftig at archlinux.org
Sat Sep 9 19:11:19 UTC 2017
Date: Saturday, September 9, 2017 @ 19:11:18
Author: heftig
Revision: 256709
4.14-1
Added:
i3-wm/trunk/0001-Use-OVER-operator-for-drawing-text.patch
Modified:
i3-wm/trunk/PKGBUILD
-----------------------------------------------+
0001-Use-OVER-operator-for-drawing-text.patch | 35 +++++++++++++
PKGBUILD | 63 ++++++++++++------------
2 files changed, 67 insertions(+), 31 deletions(-)
Added: 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 2017-09-09 19:11:18 UTC (rev 256709)
@@ -0,0 +1,35 @@
+From eea280b1f1d9d66c903014fd6703f401eb119a87 Mon Sep 17 00:00:00 2001
+Message-Id: <eea280b1f1d9d66c903014fd6703f401eb119a87.1504913100.git.jan.steffens at gmail.com>
+From: "Jan Alexander Steffens (heftig)" <jan.steffens at 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
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-09-09 18:00:28 UTC (rev 256708)
+++ PKGBUILD 2017-09-09 19:11:18 UTC (rev 256709)
@@ -2,18 +2,15 @@
# Maintainer: Thorsten Töpper <atsutane-tu at freethoughts.de>
pkgname=i3-wm
-_pkgsourcename=i3
-pkgver=4.13
+pkgver=4.14
pkgrel=1
-pkgdesc='An improved dynamic tiling window manager'
-arch=('i686' 'x86_64')
-url='http://i3wm.org/'
-license=('BSD')
-replaces=('i3' 'i3bar')
-groups=('i3')
-depends=('xcb-util-cursor' 'xcb-util-keysyms' 'xcb-util-wm' 'xcb-util-xrm'
- 'libev' 'yajl' 'startup-notification' 'pango' 'libxkbcommon-x11')
-makedepends=('bison' 'flex')
+pkgdesc="An improved dynamic tiling window manager"
+url="https://i3wm.org/"
+arch=(i686 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.'
@@ -20,32 +17,36 @@
'perl: i3-save-tree and i3-dmenu-desktop'
'perl-anyevent-i3: Features like saving the layout.'
'perl-json-xs: Features like saving the layout.')
-options=('docs' '!strip')
-source=("http://i3wm.org/downloads/${_pkgsourcename}-${pkgver}.tar.bz2"
- "http://i3wm.org/downloads/${_pkgsourcename}-${pkgver}.tar.bz2.asc")
-md5sums=('08d17dcf1fde665a15f7d411486546ae'
- 'SKIP')
+groups=(i3)
+replaces=(i3 i3bar)
+source=("https://i3wm.org/downloads/i3-$pkgver.tar.bz2"{,.asc}
+ 0001-Use-OVER-operator-for-drawing-text.patch)
+sha256sums=('ae3abde3af1b87e269d8aad2348be6f7298338cb8e06bad11cbf91cdbf92a5d6'
+ 'SKIP'
+ 'e49e147b1cd06f95188decbbe41f5c3a0aca18d0195750bc3ea16465b4aca563')
validpgpkeys=('424E14D703E7C6D43D9D6F364E7160ED4AC8EE1D') # Michael Stapelberg
+prepare() {
+ mkdir build
+ cd i3-$pkgver
+
+ # https://github.com/i3/i3/pull/2908
+ patch -Np1 -i ../0001-Use-OVER-operator-for-drawing-text.patch
+
+ autoreconf -fvi
+}
+
build() {
- cd "$srcdir/$_pkgsourcename-$pkgver"
-
- ./configure --prefix=/usr --sysconfdir=/etc
- cd ${CARCH}-pc-linux-gnu
- # In order to avoid problems with bison use only a single process
- MAKEFLAGS="-j1"
- make CPPFLAGS+="-U_FORTIFY_SOURCE"
+ cd build
+ ../i3-$pkgver/configure --prefix=/usr --sysconfdir=/etc
+ make
}
package() {
- cd "$srcdir/$_pkgsourcename-$pkgver/${CARCH}-pc-linux-gnu"
- make DESTDIR="$pkgdir/" install
-
- mkdir -p "${pkgdir}/usr/share/man/man1/"
- install -m644 ../man/*.1 "${pkgdir}/usr/share/man/man1/"
-
- install -Dm644 ../LICENSE \
- ${pkgdir}/usr/share/licenses/${pkgname}/LICENSE
+ 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:
More information about the arch-commits
mailing list