summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin MacMartin2021-02-02 02:16:16 -0500
committerKevin MacMartin2021-02-02 02:16:16 -0500
commit0f19fd089780111a922cd81edce39ea9e58d4de7 (patch)
tree7223aa3a45ae23d35382ee3ff63e848f3e8e9a18
downloadaur-0f19fd089780111a922cd81edce39ea9e58d4de7.tar.gz
Initial commit
-rw-r--r--.SRCINFO37
-rw-r--r--.gitignore4
-rw-r--r--PKGBUILD95
-rw-r--r--sgr-mouse-mode.patch90
-rw-r--r--urxvt-tabbed.desktop9
-rw-r--r--urxvt.desktop9
-rw-r--r--urxvtc.desktop9
7 files changed, 253 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..a7eae542367d
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,37 @@
+pkgbase = rxvt-unicode-sgr-mouse
+ pkgdesc = Unicode enabled rxvt-clone terminal emulator (urxvt) with support for sgr mouse mode
+ pkgver = 9.22
+ pkgrel = 10
+ url = http://software.schmorp.de/pkg/rxvt-unicode.html
+ arch = i686
+ arch = x86_64
+ arch = arm
+ arch = armv6h
+ arch = armv7h
+ arch = aarch64
+ license = GPL
+ makedepends = libxft
+ makedepends = perl
+ makedepends = startup-notification
+ makedepends = libnsl
+ depends = rxvt-unicode-terminfo
+ depends = libxft
+ depends = perl
+ depends = startup-notification
+ depends = libnsl
+ optdepends = gtk2-perl: to use the urxvt-tabbed
+ provides = rxvt-unicode
+ conflicts = rxvt-unicode
+ source = http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-9.22.tar.bz2
+ source = urxvt.desktop
+ source = urxvtc.desktop
+ source = urxvt-tabbed.desktop
+ source = sgr-mouse-mode.patch
+ sha512sums = b39f1b2cbe6dd3fbd2a0ad6a9d391a2b6f49d7c5e67bc65fe44a9c86937f8db379572c67564c6e21ff6e09b447cdfd4e540544e486179e94da0e0db679c04dd9
+ sha512sums = 7184714a908071a4e8e5c065c5f90255e94dfd072df459c8d6f66fca3647781b3d1f6908b9303bcfd0d5b3f2e3822a8d66efaaa8a7c4d44f6e682839031a6e99
+ sha512sums = aa501eeeb220ba03b3f101b160230612efbca87694fef88c469b2976d29769c24b34576ea82f6c7941fad6039ac776f32e397add9b957b49bf2e84aeb67b66d6
+ sha512sums = 18c7afb0c3eb8c832893b9ead09d25374b70ae1cd5479a5291d11794906c53daa6f1a1bf698b37efda062bb2b991cacac53a0a6c185ca416b8718fde2bb6a7af
+ sha512sums = 9c92782b41edf69c7fc70f7d1cefbb9eed699ec78e5fc6db2f51a4f1aa3be583a7d75a09e6e954215a6d433e9530bda34013808dd2eaa1699fac1f21d0b8b9fd
+
+pkgname = rxvt-unicode-sgr-mouse
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000000..36ecb3511deb
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,4 @@
+*.pkg.tar*
+rxvt-unicode*.tar.bz2
+src
+pkg
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..65838ec55ae6
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,95 @@
+# Maintainer: Kevin MacMartin <prurigro@gmail.com>
+# Contributor: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# 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=$_pkgname-sgr-mouse
+pkgver=9.22
+pkgrel=10
+arch=('i686' 'x86_64' 'arm' 'armv6h' 'armv7h' 'aarch64')
+url='http://software.schmorp.de/pkg/rxvt-unicode.html'
+license=('GPL')
+pkgdesc='Unicode enabled rxvt-clone terminal emulator (urxvt) with support for sgr mouse mode'
+depends=('rxvt-unicode-terminfo' 'libxft' 'perl' 'startup-notification' 'libnsl')
+makedepends=('libxft' 'perl' 'startup-notification' 'libnsl')
+optdepends=('gtk2-perl: to use the urxvt-tabbed')
+provides=("$_pkgname")
+conflicts=("$_pkgname")
+
+source=(
+ "http://dist.schmorp.de/rxvt-unicode/$_pkgname-$pkgver.tar.bz2"
+ 'urxvt.desktop'
+ 'urxvtc.desktop'
+ 'urxvt-tabbed.desktop'
+ 'sgr-mouse-mode.patch' # https://gist.githubusercontent.com/alexoj/df5bae7a4825cb596581/raw/75a1e75c2ae1ec5c0db68a29f8a6821e9e3d87a5/sgr-mouse-mode.patch
+)
+
+sha512sums=(
+ 'b39f1b2cbe6dd3fbd2a0ad6a9d391a2b6f49d7c5e67bc65fe44a9c86937f8db379572c67564c6e21ff6e09b447cdfd4e540544e486179e94da0e0db679c04dd9'
+ '7184714a908071a4e8e5c065c5f90255e94dfd072df459c8d6f66fca3647781b3d1f6908b9303bcfd0d5b3f2e3822a8d66efaaa8a7c4d44f6e682839031a6e99'
+ 'aa501eeeb220ba03b3f101b160230612efbca87694fef88c469b2976d29769c24b34576ea82f6c7941fad6039ac776f32e397add9b957b49bf2e84aeb67b66d6'
+ '18c7afb0c3eb8c832893b9ead09d25374b70ae1cd5479a5291d11794906c53daa6f1a1bf698b37efda062bb2b991cacac53a0a6c185ca416b8718fde2bb6a7af'
+ '9c92782b41edf69c7fc70f7d1cefbb9eed699ec78e5fc6db2f51a4f1aa3be583a7d75a09e6e954215a6d433e9530bda34013808dd2eaa1699fac1f21d0b8b9fd'
+)
+
+prepare() {
+ cd $_pkgname-$pkgver/src
+ patch -p1 < "$srcdir"/sgr-mouse-mode.patch
+}
+
+build() {
+ cd $_pkgname-$pkgver
+
+ # 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-pixbuf \
+ --disable-frills
+
+ make
+}
+
+package() {
+ # 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-$pkgver
+
+ # 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"
+}
diff --git a/sgr-mouse-mode.patch b/sgr-mouse-mode.patch
new file mode 100644
index 000000000000..186e8fdb74f8
--- /dev/null
+++ b/sgr-mouse-mode.patch
@@ -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 @@
+ { 1002, PrivMode_MouseBtnEvent },
+ { 1003, PrivMode_MouseAnyEvent },
+ #if ENABLE_FRILLS
+ { 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_ExtModeMouse (1UL<<23) // xterm pseudo-utf-8 hack
+ #define PrivMode_ExtMouseRight (1UL<<24) // xterm pseudo-utf-8, but works in non-utf-8-locales
+ #define PrivMode_BlinkingCursor (1UL<<25)
++#define PrivMode_ExtMouseSgr (1UL<<26) // sgr mouse extension
+
+ #define PrivMode_mouse_report (PrivMode_MouseX10|PrivMode_MouseX11|PrivMode_MouseBtnEvent|PrivMode_MouseAnyEvent)
+
diff --git a/urxvt-tabbed.desktop b/urxvt-tabbed.desktop
new file mode 100644
index 000000000000..172006b4ac12
--- /dev/null
+++ b/urxvt-tabbed.desktop
@@ -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;
diff --git a/urxvt.desktop b/urxvt.desktop
new file mode 100644
index 000000000000..76229187034f
--- /dev/null
+++ b/urxvt.desktop
@@ -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;
diff --git a/urxvtc.desktop b/urxvtc.desktop
new file mode 100644
index 000000000000..3a2df410f7db
--- /dev/null
+++ b/urxvtc.desktop
@@ -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;