From d025a7935b74c8e4ab567ee43981163f4287031b Mon Sep 17 00:00:00 2001 From: Von Random Date: Wed, 21 Feb 2018 19:27:42 +0300 Subject: [PATCH] rxvt-unicode-cvs-opt with some patches from rxvt-unicode-patched --- .../PKGBUILD | 32 +++++++++++++------ rxvt-unicode-cvs-opt/font-width-fix.patch | 26 +++++++++++++++ rxvt-unicode-cvs-opt/line-spacing-fix.patch | 25 +++++++++++++++ .../urxvt-sgr.patch | 0 4 files changed, 74 insertions(+), 9 deletions(-) rename {rxvt-unicode-cvs => rxvt-unicode-cvs-opt}/PKGBUILD (68%) create mode 100644 rxvt-unicode-cvs-opt/font-width-fix.patch create mode 100644 rxvt-unicode-cvs-opt/line-spacing-fix.patch rename {rxvt-unicode-cvs => rxvt-unicode-cvs-opt}/urxvt-sgr.patch (100%) diff --git a/rxvt-unicode-cvs/PKGBUILD b/rxvt-unicode-cvs-opt/PKGBUILD similarity index 68% rename from rxvt-unicode-cvs/PKGBUILD rename to rxvt-unicode-cvs-opt/PKGBUILD index db3b99d..0fc0907 100644 --- a/rxvt-unicode-cvs/PKGBUILD +++ b/rxvt-unicode-cvs-opt/PKGBUILD @@ -1,4 +1,5 @@ -# Maintainer: Adriaan Zonnenberg +# Maintainer: Von Random +# Contributor: Adriaan Zonnenberg # Contributor: Florian Bruhin (The-Compiler) # Contributor: Daniel Micay # Contributor: Sébastien Luttringer @@ -7,8 +8,8 @@ # Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org _pkgname=rxvt-unicode -pkgname=rxvt-unicode-cvs -pkgver=20170518 +pkgname=rxvt-unicode-cvs-opt +pkgver=20180221 pkgrel=1 pkgdesc='A unicode enabled rxvt-clone terminal emulator (urxvt) - latest cvs revision' arch=('i686' 'x86_64') @@ -17,19 +18,32 @@ license=('GPL') depends=('libxft' 'perl' 'startup-notification' 'rxvt-unicode-terminfo') makedepends=('cvs') optdepends=('gtk2-perl: to use the urxvt-tabbed') +source=( + 'font-width-fix.patch' + 'line-spacing-fix.patch' + 'urxvt-sgr.patch' +) +sha256sums=( + '686770fe4e8d6bb0ba497ad2e1f217d17515f2544d80abe76496c63ead2bfaa4' + '546a388d0595404a59c71c3eaeba331031032a75f96c57e9a860f27bbd7ebfcc' + 'f36110dce2dce4d6e275410de820f314b72a02dbad08f637c64b0da769c0c8f4' +) +prefix='/opt/rxvt-unicode' prepare() { - cd ${srcdir} cvs -z3 -d :pserver:anonymous@cvs.schmorp.de/schmorpforge co ${_pkgname} + cd ${_pkgname} + + patch -p0 -i ../font-width-fix.patch + patch -p0 -i ../line-spacing-fix.patch + patch -p0 -i ../urxvt-sgr.patch } build() { - cd ${srcdir}/${_pkgname} - patch -p0 < ../../urxvt-sgr.patch - # we disable smart-resize (FS#34807) + cd ${_pkgname} # do not specify --with-terminfo (FS#46424) ./configure \ - --prefix=/opt/urxvt \ + --prefix=${prefix} \ --enable-256-color \ --enable-combining \ --enable-fading \ @@ -44,7 +58,7 @@ build() { --enable-rxvt-scroll \ --enable-selectionscrolling \ --enable-slipwheeling \ - --disable-smart-resize \ + --enable-smart-resize \ --enable-startup-notification \ --enable-transparency \ --enable-unicode3 \ diff --git a/rxvt-unicode-cvs-opt/font-width-fix.patch b/rxvt-unicode-cvs-opt/font-width-fix.patch new file mode 100644 index 0000000..811d9e6 --- /dev/null +++ b/rxvt-unicode-cvs-opt/font-width-fix.patch @@ -0,0 +1,26 @@ +--- src/rxvtfont.C.bukind 2007-11-30 14:36:33.000000000 +0600 ++++ src/rxvtfont.C 2007-11-30 14:39:29.000000000 +0600 +@@ -1171,12 +1171,21 @@ + XGlyphInfo g; + XftTextExtents16 (disp, f, &ch, 1, &g); + ++/* ++ * bukind: don't use g.width as a width of a character! ++ * instead use g.xOff, see e.g.: http://keithp.com/~keithp/render/Xft.tutorial ++ + g.width -= g.x; + + int wcw = WCWIDTH (ch); + if (wcw > 0) g.width = (g.width + wcw - 1) / wcw; + + if (width < g.width ) width = g.width; ++ */ ++ int wcw = WCWIDTH (ch); ++ if (wcw > 1) g.xOff = g.xOff / wcw; ++ if (width < g.xOff) width = g.xOff; ++ + if (height < g.height ) height = g.height; + if (glheight < g.height - g.y) glheight = g.height - g.y; + } + + diff --git a/rxvt-unicode-cvs-opt/line-spacing-fix.patch b/rxvt-unicode-cvs-opt/line-spacing-fix.patch new file mode 100644 index 0000000..8431c4f --- /dev/null +++ b/rxvt-unicode-cvs-opt/line-spacing-fix.patch @@ -0,0 +1,25 @@ +--- src/rxvtfont.C.orig 2011-07-20 22:19:29.878012201 -0300 ++++ src/rxvtfont.C 2011-07-20 22:19:33.634671723 -0300 +@@ -1237,11 +1237,22 @@ + + FT_Face face = XftLockFace (f); + ++/* ++ * use ascent, descent and height from XftFont *f instead of FT_Face face. ++ * this somehow reproduces the behaviour of the line height as seen on xterm. ++ + ascent = (face->size->metrics.ascender + 63) >> 6; + descent = (-face->size->metrics.descender + 63) >> 6; + height = max (ascent + descent, (face->size->metrics.height + 63) >> 6); + width = 0; + ++ */ ++ ++ ascent = f->ascent; ++ descent = f->descent; ++ height = max (ascent + descent, f->height); ++ width = 0; ++ + bool scalable = face->face_flags & FT_FACE_FLAG_SCALABLE; + + XftUnlockFace (f); diff --git a/rxvt-unicode-cvs/urxvt-sgr.patch b/rxvt-unicode-cvs-opt/urxvt-sgr.patch similarity index 100% rename from rxvt-unicode-cvs/urxvt-sgr.patch rename to rxvt-unicode-cvs-opt/urxvt-sgr.patch