summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorjjacky2013-02-27 21:31:22 +0100
committerOlivier Brunel2015-06-08 19:16:27 +0200
commite9db0fd447589a8cd9c6b30ab08504beacdb0028 (patch)
tree92bd9dc4766b91d768fabac0f3f6e851cbc6d371
parent2acc6047541d79d6c43a5f8e81ee502f83f1d614 (diff)
downloadaur-e9db0fd447589a8cd9c6b30ab08504beacdb0028.tar.gz
rxvt-unicode-better-wheel-scrolling: Fix FS#33466 & FS#33241
Signed-off-by: Olivier Brunel <jjk@jjacky.com>
-rw-r--r--.SRCINFO9
-rw-r--r--01-fix-screen-sel.patch66
-rw-r--r--PKGBUILD12
-rw-r--r--rxvt-unicode.desktop3
4 files changed, 81 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fb9fdde3e323..417a695e92e1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = rxvt-unicode-better-wheel-scrolling
pkgdesc = An unicode enabled rxvt-clone terminal emulator (urxvt) w/ better wheel scrolling (VTE-like) (& no utmp/wtmp support)
pkgver = 9.16
- pkgrel = 1
+ pkgrel = 2
url = http://software.schmorp.de/pkg/rxvt-unicode.html
arch = i686
arch = x86_64
@@ -14,14 +14,17 @@ pkgbase = rxvt-unicode-better-wheel-scrolling
conflicts = rxvt-unicode
source = http://dist.schmorp.de/rxvt-unicode/rxvt-unicode-9.16.tar.bz2
source = rxvt-unicode.desktop
+ source = 01-fix-screen-sel.patch
source = clear.patch
source = secondaryWheel.patch
md5sums = 2e2942e8367624affebc0568e3671b66
- md5sums = 3de6c13126a45bc3bc9f6bba077a1311
+ md5sums = 4723fc20ed200c86caf8c8680a1be26b
+ md5sums = 628dbe743155ddad49c8a1cac3b1bd7f
md5sums = cd307bca4920050db4d6d2fe8058e905
md5sums = 5cbfc7e25f807d461d577383f9f7a97c
sha1sums = 1b721969d6a6ed0f84529a29cfff0a05aee015ab
- sha1sums = 962aebc88982dbeb62a7c4a051ff567e015f61a0
+ sha1sums = d4eea2dd1834b596c715ec9ea239e70788f49a8f
+ sha1sums = c722c56dc9d2dd88a420fae19bcd6b1604876929
sha1sums = 8a166a8e50f9b7400582e2d665986f46c8297a87
sha1sums = 908c2ea08592c46e7071012d7e9a09595310ca38
diff --git a/01-fix-screen-sel.patch b/01-fix-screen-sel.patch
new file mode 100644
index 000000000000..46627f16060f
--- /dev/null
+++ b/01-fix-screen-sel.patch
@@ -0,0 +1,66 @@
+--- a/src/rxvt.h 2012-11-30 07:52:10.000000000 +0100
++++ b/src/rxvt.h 2013-01-19 18:14:07.477653413 +0100
+@@ -1488,6 +1488,7 @@
+ void scr_blank_screen_mem (line_t &l, rend_t efs) const NOTHROW;
+ void scr_kill_char (line_t &l, int col) const NOTHROW;
+ int scr_scroll_text (int row1, int row2, int count) NOTHROW;
++ void copy_line (line_t &dst, line_t &src);
+ void scr_reset ();
+ void scr_release () NOTHROW;
+ void scr_clear (bool really = false) NOTHROW;
+--- a/src/screen.C 2012-11-30 08:13:38.000000000 +0100
++++ b/src/screen.C 2013-01-19 18:17:13.431014964 +0100
+@@ -190,6 +190,16 @@
+ row_buf = swap_buf + nrow;
+ }
+
++void
++rxvt_term::copy_line (line_t &dst, line_t &src)
++{
++ scr_blank_screen_mem (dst, DEFAULT_RSTYLE);
++ dst.l = min (src.l, ncol);
++ memcpy (dst.t, src.t, sizeof (text_t) * dst.l);
++ memcpy (dst.r, src.r, sizeof (rend_t) * dst.l);
++ dst.f = src.f;
++}
++
+ void ecb_cold
+ rxvt_term::scr_reset ()
+ {
+@@ -232,8 +242,6 @@
+ line_t *prev_swap_buf = swap_buf;
+ line_t *prev_row_buf = row_buf;
+
+- int common_col = min (prev_ncol, ncol);
+-
+ scr_alloc ();
+
+ if (!prev_row_buf)
+@@ -277,13 +285,8 @@
+
+ for (int row = min (nrow, prev_nrow); row--; )
+ {
+- scr_blank_screen_mem (drawn_buf [row], DEFAULT_RSTYLE);
+- scr_blank_screen_mem (swap_buf [row], DEFAULT_RSTYLE);
+-
+- memcpy (drawn_buf [row].t, prev_drawn_buf [row].t, sizeof (text_t) * common_col);
+- memcpy (drawn_buf [row].r, prev_drawn_buf [row].r, sizeof (rend_t) * common_col);
+- memcpy (swap_buf [row].t, prev_swap_buf [row].t, sizeof (text_t) * common_col);
+- memcpy (swap_buf [row].r, prev_swap_buf [row].r, sizeof (rend_t) * common_col);
++ copy_line (drawn_buf [row], prev_drawn_buf [row]);
++ copy_line (swap_buf [row], prev_swap_buf [row]);
+ }
+
+ int p = MOD (term_start + prev_nrow, prev_total_rows); // previous row
+@@ -388,10 +391,7 @@
+ line_t &src = prev_row_buf [MOD (term_start + row, prev_total_rows)];
+ line_t &dst = row_buf [row];
+
+- scr_blank_screen_mem (dst, DEFAULT_RSTYLE);
+-
+- memcpy (dst.t, src.t, sizeof (text_t) * common_col);
+- memcpy (dst.r, src.r, sizeof (rend_t) * common_col);
++ copy_line (dst, src);
+ }
+
+ for (int row = prev_nrow; row < nrow; row++)
diff --git a/PKGBUILD b/PKGBUILD
index 60ed478e6144..dca832d05817 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -8,7 +8,7 @@
_pkgname=rxvt-unicode
pkgname=${_pkgname}-better-wheel-scrolling
pkgver=9.16
-pkgrel=1
+pkgrel=2
pkgdesc="An unicode enabled rxvt-clone terminal emulator (urxvt) w/ better wheel scrolling (VTE-like) (& no utmp/wtmp support)"
arch=('i686' 'x86_64')
url="http://software.schmorp.de/pkg/rxvt-unicode.html"
@@ -19,13 +19,16 @@ provides=('rxvt-unicode=9.15')
conflicts=('rxvt-unicode')
source=(http://dist.schmorp.de/rxvt-unicode/${_pkgname}-${pkgver}.tar.bz2 \
${_pkgname}.desktop
- clear.patch secondaryWheel.patch)
+ 01-fix-screen-sel.patch
+ clear.patch secondaryWheel.patch)
md5sums=('2e2942e8367624affebc0568e3671b66'
- '3de6c13126a45bc3bc9f6bba077a1311'
+ '4723fc20ed200c86caf8c8680a1be26b'
+ '628dbe743155ddad49c8a1cac3b1bd7f'
'cd307bca4920050db4d6d2fe8058e905'
'5cbfc7e25f807d461d577383f9f7a97c')
sha1sums=('1b721969d6a6ed0f84529a29cfff0a05aee015ab'
- '962aebc88982dbeb62a7c4a051ff567e015f61a0'
+ 'd4eea2dd1834b596c715ec9ea239e70788f49a8f'
+ 'c722c56dc9d2dd88a420fae19bcd6b1604876929'
'8a166a8e50f9b7400582e2d665986f46c8297a87'
'908c2ea08592c46e7071012d7e9a09595310ca38')
@@ -33,6 +36,7 @@ build() {
cd "${srcdir}/${_pkgname}-${pkgver}"
patch -p1 -i ../clear.patch
patch -p1 -i ../secondaryWheel.patch
+ patch -p1 -i ../01-fix-screen-sel.patch
./configure --prefix=/usr \
--with-terminfo=/usr/share/terminfo \
--enable-256-color \
diff --git a/rxvt-unicode.desktop b/rxvt-unicode.desktop
index 68d613dbd60c..faf64ee55ed2 100644
--- a/rxvt-unicode.desktop
+++ b/rxvt-unicode.desktop
@@ -1,10 +1,9 @@
[Desktop Entry]
Version=1.0
-Encoding=UTF-8
Name=rxvt-unicode
Comment=An Unicode capable rxvt clone
Exec=urxvt
Icon=terminal
Terminal=false
Type=Application
-Categories=Application;System;TerminalEmulator;
+Categories=System;TerminalEmulator;