add rxvt-unicode-cvs to the collection
This commit is contained in:
parent
338a8c41d0
commit
092249670d
8 changed files with 297 additions and 0 deletions
111
rxvt-unicode-cvs/PKGBUILD
Normal file
111
rxvt-unicode-cvs/PKGBUILD
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
# Maintainer: Von Random <von@vdrandom.org>
|
||||||
|
# Contributor: Adriaan Zonnenberg <amz@adriaan.xyz>
|
||||||
|
# Contributor: Florian Bruhin (The-Compiler) <archlinux.org@the-compiler.org>
|
||||||
|
# Contributor: Daniel Micay <danielmicay@gmail.com>
|
||||||
|
# Contributor: Sébastien Luttringer
|
||||||
|
# Contributor: Angel Velasquez <angvp@archlinux.org>
|
||||||
|
# Contributor: tobias <tobias@archlinux.org>
|
||||||
|
# Contributor: dibblethewrecker dibblethewrecker.at.jiwe.dot.org
|
||||||
|
|
||||||
|
_pkgname=rxvt-unicode
|
||||||
|
pkgname=('rxvt-unicode-cvs' 'rxvt-unicode-terminfo-cvs')
|
||||||
|
pkgver=$(date +%Y%m%d)
|
||||||
|
pkgrel=1
|
||||||
|
arch=('x86_64')
|
||||||
|
url='http://software.schmorp.de/pkg/rxvt-unicode.html'
|
||||||
|
license=('GPL')
|
||||||
|
makedepends=('libxft' 'perl' 'startup-notification' 'libnsl' 'gdk-pixbuf2' 'cvs')
|
||||||
|
source=(
|
||||||
|
urxvt.desktop
|
||||||
|
urxvtc.desktop
|
||||||
|
urxvt-tabbed.desktop
|
||||||
|
font-width-fix.patch
|
||||||
|
line-spacing-fix.patch
|
||||||
|
terminfo-truecolor.patch
|
||||||
|
urxvt-sgr.patch
|
||||||
|
)
|
||||||
|
sha256sums=(
|
||||||
|
5f9c435d559371216d1c5b49c6ec44bfdb786b12d925d543c286b0764dea0319
|
||||||
|
91536bb27c6504d6cb0d33775a0c4709a4b439670b900f0c278c25037f19ad66
|
||||||
|
ccd7c436e959bdc9ab4f15801a67c695b382565b31d8c352254362e67412afcb
|
||||||
|
686770fe4e8d6bb0ba497ad2e1f217d17515f2544d80abe76496c63ead2bfaa4
|
||||||
|
546a388d0595404a59c71c3eaeba331031032a75f96c57e9a860f27bbd7ebfcc
|
||||||
|
da1405889a660fe912a1d9cda9204d33daffa3de83140610fe227cca9fc4ea8e
|
||||||
|
f36110dce2dce4d6e275410de820f314b72a02dbad08f637c64b0da769c0c8f4
|
||||||
|
)
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
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
|
||||||
|
patch -p0 -i ../terminfo-truecolor.patch
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd ${_pkgname}
|
||||||
|
# we disable smart-resize (FS#34807)
|
||||||
|
# do not specify --with-terminfo (FS#46424)
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr \
|
||||||
|
--enable-256-color \
|
||||||
|
--enable-combining \
|
||||||
|
--enable-fading \
|
||||||
|
--enable-font-styles \
|
||||||
|
--enable-iso14755 \
|
||||||
|
--enable-keepscrolling \
|
||||||
|
--enable-lastlog \
|
||||||
|
--enable-mousewheel \
|
||||||
|
--enable-next-scroll \
|
||||||
|
--enable-perl \
|
||||||
|
--enable-pointer-blank \
|
||||||
|
--enable-rxvt-scroll \
|
||||||
|
--enable-selectionscrolling \
|
||||||
|
--enable-slipwheeling \
|
||||||
|
--disable-smart-resize \
|
||||||
|
--enable-startup-notification \
|
||||||
|
--enable-transparency \
|
||||||
|
--enable-unicode3 \
|
||||||
|
--enable-utmp \
|
||||||
|
--enable-wtmp \
|
||||||
|
--enable-xft \
|
||||||
|
--enable-xim \
|
||||||
|
--enable-xterm-scroll \
|
||||||
|
--disable-frills
|
||||||
|
make
|
||||||
|
}
|
||||||
|
|
||||||
|
package_rxvt-unicode-cvs() {
|
||||||
|
pkgdesc='A unicode enabled rxvt-clone terminal emulator (urxvt) - latest cvs revision'
|
||||||
|
depends=('rxvt-unicode-terminfo-cvs' 'libxft' 'perl' 'startup-notification' 'libnsl')
|
||||||
|
optdepends=('gtk2-perl: to use the urxvt-tabbed')
|
||||||
|
provides=('rxvt-unicode')
|
||||||
|
conflicts=('rxvt-unicode')
|
||||||
|
|
||||||
|
# install freedesktop menu
|
||||||
|
for _f in urxvt urxvtc urxvt-tabbed; do
|
||||||
|
install -Dm 644 ${_f}.desktop "${pkgdir}/usr/share/applications/${_f}.desktop"
|
||||||
|
done
|
||||||
|
|
||||||
|
cd $_pkgname
|
||||||
|
# workaround terminfo installation
|
||||||
|
export TERMINFO="${srcdir}/terminfo"
|
||||||
|
install -d "${TERMINFO}"
|
||||||
|
make DESTDIR="${pkgdir}" install
|
||||||
|
# install the tabbing wrapper ( requires gtk2-perl! )
|
||||||
|
sed -i 's/\"rxvt\"/"urxvt"/' doc/rxvt-tabbed
|
||||||
|
install -Dm 755 doc/rxvt-tabbed "${pkgdir}/usr/bin/urxvt-tabbed"
|
||||||
|
}
|
||||||
|
|
||||||
|
package_rxvt-unicode-terminfo-cvs() {
|
||||||
|
provides=('rxvt-unicode-terminfo')
|
||||||
|
conflicts=('rxvt-unicode-terminfo')
|
||||||
|
pkgdesc='Terminfo files for urxvt'
|
||||||
|
conflict=('rxvt-unicode<=9.18-6')
|
||||||
|
install -dm 755 "${pkgdir}/usr/share/"
|
||||||
|
mv terminfo "${pkgdir}/usr/share/"
|
||||||
|
}
|
||||||
|
|
||||||
|
# vim: ts=2 sw=2 et:
|
26
rxvt-unicode-cvs/font-width-fix.patch
Normal file
26
rxvt-unicode-cvs/font-width-fix.patch
Normal file
|
@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
25
rxvt-unicode-cvs/line-spacing-fix.patch
Normal file
25
rxvt-unicode-cvs/line-spacing-fix.patch
Normal file
|
@ -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);
|
18
rxvt-unicode-cvs/terminfo-truecolor.patch
Normal file
18
rxvt-unicode-cvs/terminfo-truecolor.patch
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
--- doc/etc/rxvt-unicode.terminfo.orig 2019-01-28 17:26:10.680252189 +0300
|
||||||
|
+++ doc/etc/rxvt-unicode.terminfo 2019-01-28 17:26:10.690252302 +0300
|
||||||
|
@@ -190,3 +190,4 @@
|
||||||
|
colors#256,
|
||||||
|
pairs#32767,
|
||||||
|
use=rxvt-unicode,
|
||||||
|
+ Tc,
|
||||||
|
--- doc/Makefile.in.orig 2019-01-28 17:24:07.168856085 +0300
|
||||||
|
+++ doc/Makefile.in 2019-01-28 17:24:10.458893241 +0300
|
||||||
|
@@ -98,7 +98,7 @@
|
||||||
|
$(INSTALL_DATA) rxvtc.1.man $(DESTDIR)$(man1dir)/$(RXVTNAME)c.$(man1ext)
|
||||||
|
$(INSTALL_DATA) rxvtd.1.man $(DESTDIR)$(man1dir)/$(RXVTNAME)d.$(man1ext)
|
||||||
|
$(INSTALL_DATA) rxvt.7.man $(DESTDIR)$(man7dir)/$(RXVTNAME).$(man7ext)
|
||||||
|
- @TIC@ $(srcdir)/etc/rxvt-unicode.terminfo
|
||||||
|
+ @TIC@ -sx $(srcdir)/etc/rxvt-unicode.terminfo
|
||||||
|
|
||||||
|
distdepend: alldoc
|
||||||
|
|
90
rxvt-unicode-cvs/urxvt-sgr.patch
Normal file
90
rxvt-unicode-cvs/urxvt-sgr.patch
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
--- src/command.C 2014-12-13 13:22:09.000000000 +0100
|
||||||
|
+++ src/command.C 2016-01-13 04:50:39.161862513 +0100
|
||||||
|
@@ -1280,6 +1280,8 @@
|
||||||
|
int x, y;
|
||||||
|
int code = 32;
|
||||||
|
|
||||||
|
+ if (priv_modes & PrivMode_ExtMouseSgr) code = 0;
|
||||||
|
+
|
||||||
|
x = Pixel2Col (ev.x) + 1;
|
||||||
|
y = Pixel2Row (ev.y) + 1;
|
||||||
|
|
||||||
|
@@ -1293,11 +1295,18 @@
|
||||||
|
code += 32;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if (MEvent.button == AnyButton)
|
||||||
|
+ if (!(priv_modes & PrivMode_ExtMouseSgr) && MEvent.button == AnyButton)
|
||||||
|
button_number = 3;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- button_number = MEvent.button - Button1;
|
||||||
|
+ if (ev.type == MotionNotify) {
|
||||||
|
+ if (ev.state & Button1Mask) button_number = 0;
|
||||||
|
+ else if (ev.state & Button2Mask) button_number = 1;
|
||||||
|
+ else if (ev.state & Button3Mask) button_number = 2;
|
||||||
|
+ else return;
|
||||||
|
+ } else {
|
||||||
|
+ button_number = ev.button - Button1;
|
||||||
|
+ }
|
||||||
|
/* add 0x3D for wheel events, like xterm does */
|
||||||
|
if (button_number >= 3)
|
||||||
|
button_number += 64 - 3;
|
||||||
|
@@ -1347,16 +1356,22 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if ENABLE_FRILLS
|
||||||
|
+ if (priv_modes & PrivMode_ExtMouseSgr)
|
||||||
|
+ tt_printf ("\033[<%d;%d;%d%c",
|
||||||
|
+ code + button_number + key_state,
|
||||||
|
+ x,
|
||||||
|
+ y,
|
||||||
|
+ (ev.type == ButtonRelease ? 'm' : 'M'));
|
||||||
|
- if (priv_modes & PrivMode_ExtMouseRight)
|
||||||
|
+ else if (priv_modes & PrivMode_ExtMouseRight)
|
||||||
|
tt_printf ("\033[%d;%d;%dM",
|
||||||
|
code + button_number + key_state,
|
||||||
|
x,
|
||||||
|
y);
|
||||||
|
else if (priv_modes & PrivMode_ExtModeMouse)
|
||||||
|
tt_printf ("\033[M%c%lc%lc",
|
||||||
|
code + button_number + key_state,
|
||||||
|
wint_t (32 + x),
|
||||||
|
wint_t (32 + y));
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
tt_printf ("\033[M%c%c%c",
|
||||||
|
@@ -2908,7 +2913,7 @@
|
||||||
|
scr_soft_reset ();
|
||||||
|
|
||||||
|
static const int pm_h[] = { 7, 25 };
|
||||||
|
- static const int pm_l[] = { 1, 3, 4, 5, 6, 9, 66, 1000, 1001, 1005, 1015, 1049 };
|
||||||
|
+ static const int pm_l[] = { 1, 3, 4, 5, 6, 9, 66, 1000, 1001, 1002, 1003, 1005, 1006, 1015, 1049 };
|
||||||
|
|
||||||
|
process_terminal_mode ('h', 0, ecb_array_length (pm_h), pm_h);
|
||||||
|
process_terminal_mode ('l', 0, ecb_array_length (pm_l), pm_l);
|
||||||
|
@@ -3713,13 +3718,14 @@
|
||||||
|
{ 1003, PrivMode_MouseAnyEvent },
|
||||||
|
#if ENABLE_FRILLS
|
||||||
|
{ 1004, PrivMode_FocusEvent },
|
||||||
|
{ 1005, PrivMode_ExtModeMouse },
|
||||||
|
+ { 1006, PrivMode_ExtMouseSgr },
|
||||||
|
#endif
|
||||||
|
{ 1010, PrivMode_TtyOutputInh }, // rxvt extension
|
||||||
|
{ 1011, PrivMode_Keypress }, // rxvt extension
|
||||||
|
#if ENABLE_FRILLS
|
||||||
|
{ 1015, PrivMode_ExtMouseRight }, // urxvt extension of 1005
|
||||||
|
#endif
|
||||||
|
// 1035 enable modifiers for alt, numlock NYI
|
||||||
|
// 1036 send ESC for meta keys NYI
|
||||||
|
// 1037 send DEL for keypad delete NYI
|
||||||
|
--- src/rxvt.h 2014-12-17 16:33:08.000000000 +0100
|
||||||
|
+++ src/rxvt.h 2016-01-13 03:42:31.508911380 +0100
|
||||||
|
@@ -644,6 +644,7 @@
|
||||||
|
#define PrivMode_ExtMouseRight (1UL<<24) // xterm pseudo-utf-8, but works in non-utf-8-locales
|
||||||
|
#define PrivMode_BlinkingCursor (1UL<<25)
|
||||||
|
#define PrivMode_FocusEvent (1UL<<26)
|
||||||
|
+#define PrivMode_ExtMouseSgr (1UL<<27) // sgr mouse extension
|
||||||
|
|
||||||
|
#define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11|PrivMode_MouseBtnEvent|PrivMode_MouseAnyEvent)
|
||||||
|
|
9
rxvt-unicode-cvs/urxvt-tabbed.desktop
Normal file
9
rxvt-unicode-cvs/urxvt-tabbed.desktop
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=urxvt (tabbed)
|
||||||
|
Comment=An unicode capable and tabbed rxvt clone
|
||||||
|
Exec=urxvt-tabbed
|
||||||
|
Icon=utilities-terminal
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=System;TerminalEmulator;
|
9
rxvt-unicode-cvs/urxvt.desktop
Normal file
9
rxvt-unicode-cvs/urxvt.desktop
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=urxvt
|
||||||
|
Comment=An unicode capable rxvt clone
|
||||||
|
Exec=urxvt
|
||||||
|
Icon=utilities-terminal
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=System;TerminalEmulator;
|
9
rxvt-unicode-cvs/urxvtc.desktop
Normal file
9
rxvt-unicode-cvs/urxvtc.desktop
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=urxvt (client)
|
||||||
|
Comment=An unicode capable rxvt clone client for urxvtd
|
||||||
|
Exec=urxvtc
|
||||||
|
Icon=utilities-terminal
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
Categories=System;TerminalEmulator;
|
Loading…
Reference in a new issue