Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
packages-test
community
i3-wm
Commits
78f16d88
Commit
78f16d88
authored
Sep 09, 2017
by
Jan Alexander Steffens (heftig)
Browse files
4.14-1
parent
c5b6a363
Changes
2
Hide whitespace changes
Inline
Side-by-side
0001-Use-OVER-operator-for-drawing-text.patch
0 → 100644
View file @
78f16d88
From eea280b1f1d9d66c903014fd6703f401eb119a87 Mon Sep 17 00:00:00 2001
Message-Id: <eea280b1f1d9d66c903014fd6703f401eb119a87.1504913100.git.jan.steffens@gmail.com>
From: "Jan Alexander Steffens (heftig)" <jan.steffens@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
PKGBUILD
View file @
78f16d88
# Maintainer: Thorsten Töpper <atsutane-tu@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.'
'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:
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment