From 6b5d648e7f78d372c10c4eb00ece15553d17e094 Mon Sep 17 00:00:00 2001 From: Alex Alexander Date: Mon, 2 Jan 2012 13:25:59 +0000 Subject: [PATCH] added a -vanilla patch that fixes ctrl-l not storing cleared lines to buffer and a USE flag controlled patch (secondary-wheel) that allows scrolling in secondary screens (like mutt) by using the mouse wheel. Package-Manager: portage-2.2.0_alpha84/cvs/Linux x86_64 --- x11-terms/rxvt-unicode/ChangeLog | 11 +- x11-terms/rxvt-unicode/Manifest | 28 ++-- .../files/rxvt-unicode-9.14-clear.patch | 25 ++++ .../rxvt-unicode-9.14-secondary-wheel.patch | 123 ++++++++++++++++++ x11-terms/rxvt-unicode/metadata.xml | 2 + .../rxvt-unicode/rxvt-unicode-9.14.ebuild | 28 +++- 6 files changed, 202 insertions(+), 15 deletions(-) create mode 100644 x11-terms/rxvt-unicode/files/rxvt-unicode-9.14-clear.patch create mode 100644 x11-terms/rxvt-unicode/files/rxvt-unicode-9.14-secondary-wheel.patch diff --git a/x11-terms/rxvt-unicode/ChangeLog b/x11-terms/rxvt-unicode/ChangeLog index 4cdb7a3ab0a3..f22bb3d58cbb 100644 --- a/x11-terms/rxvt-unicode/ChangeLog +++ b/x11-terms/rxvt-unicode/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for x11-terms/rxvt-unicode -# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-terms/rxvt-unicode/ChangeLog,v 1.197 2011/12/27 20:47:33 jer Exp $ +# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/x11-terms/rxvt-unicode/ChangeLog,v 1.198 2012/01/02 13:25:59 wired Exp $ + + 02 Jan 2012; Alex Alexander rxvt-unicode-9.14.ebuild, + +files/rxvt-unicode-9.14-clear.patch, + +files/rxvt-unicode-9.14-secondary-wheel.patch, metadata.xml: + added a -vanilla patch that fixes ctrl-l not storing cleared lines to buffer + and a USE flag controlled patch (secondary-wheel) that allows scrolling in + secondary screens (like mutt) by using the mouse wheel. 27 Dec 2011; Jeroen Roovers rxvt-unicode-9.12-r1.ebuild: Stable for HPPA (bug #395703). diff --git a/x11-terms/rxvt-unicode/Manifest b/x11-terms/rxvt-unicode/Manifest index 6fda71e7e67e..2e5e4dd00b95 100644 --- a/x11-terms/rxvt-unicode/Manifest +++ b/x11-terms/rxvt-unicode/Manifest @@ -1,5 +1,5 @@ -----BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 +Hash: SHA512 AUX macosx-clipboard 1859 RMD160 fe551d0aaf8c4f116bba00a067c4c5f8263a0211 SHA1 1957f60603e46519e4dd05812fd2982971731874 SHA256 343ee4d62b59406bf64d095815ee3140c53569e1759e9aefa0841a7d6ea9815e AUX rxvt-unicode-9.05_no-MOTIF-WM-INFO.patch 1230 RMD160 eb580a34407a3c605e1fdffa3847d71fac16a860 SHA1 93afc24408ce263fb71d56c6ed191307b54716a6 SHA256 59eb0b72ef05be7e7d9071ec5f05a349359768daa3c5893b14917c50e5e10175 @@ -8,6 +8,8 @@ AUX rxvt-unicode-9.06-font-width.patch 790 RMD160 f2ebc97c769dc3034c55d2ceb5d776 AUX rxvt-unicode-9.06-no-urgency-if-focused.diff 287 RMD160 f978530bb245264be801908a680ea5a8da7265ef SHA1 3284901bb71c61cdeb1c82eb3011bbd0a5c6a85e SHA256 00fc63035890be675e6485277053c8bd0ba4b2253f81af15741a79c5f259fa79 AUX rxvt-unicode-9.06-popups-hangs.patch 447 RMD160 634460478e418bef029af6254c6f23a73923a6ec SHA1 8677e04413cb1225d0a24926b339b5bd3807593c SHA256 34126249d44f55aa74e7b0929994821543fe2d0ec2d789496344a23426532642 AUX rxvt-unicode-9.10-force-hints.patch 384 RMD160 3f5831edbbba5b9ceb2bf72c6c6a718abf7b3852 SHA1 479ebd309f39d49ab286b6c4b401b06855f21848 SHA256 6c67e4c43b1f99d1f99a9096d91f307dc40f56f9e59eb7106d01404a8c30a2d9 +AUX rxvt-unicode-9.14-clear.patch 937 RMD160 67cce3167961bb87dc4368ce6038d795240d05be SHA1 290cc304fb616ba9462b6d4a250b0772de020344 SHA256 c1010b15d74f56671351e8314264d76f638230e94d4e334691af29a9353a9540 +AUX rxvt-unicode-9.14-secondary-wheel.patch 4980 RMD160 8cbed4eb9adb9b88ebbfaf217ed1bdea6cd5b75c SHA1 1506bd5ec93f8e81fe3d4b7491104e873bd1d85e SHA256 95965a8c245b5de04af2c1806718f38c3f8d320395991fffeb9a935e9bf37b76 DIST rxvt-unicode-9.10.tar.bz2 884501 RMD160 15c9f61e7c6ad3f05c6bf20bedad2cd8d5f1d5e9 SHA1 54c896a4885b8984b0dfa652269c3c34c4d75f2d SHA256 1c238f7e545b1a8da81239b826fb2a7d196c73effbcbd211db7a50995a0a067a DIST rxvt-unicode-9.11.tar.bz2 882787 RMD160 957852e0cbec209aa5ae340a38b59cda0ff49edd SHA1 21d0fad9a6032dbcf2c43a85f288543c6bd5ab3d SHA256 0452c00066774ef6e32fcd0a1e6f09230392ea9f6f42e1c2ef7b91d6fcb82d85 DIST rxvt-unicode-9.12.tar.bz2 886255 RMD160 32f53a57b5072cbcb1b765137f0161d97fde599d SHA1 4cbf0516b8304dfb041b9f3e5aaba662fee4b979 SHA256 1db334204bfb264b3134e01d9d3cf446c5ac7d47514909435f914f3906f37e7e @@ -16,13 +18,23 @@ EBUILD rxvt-unicode-9.10.ebuild 2934 RMD160 5f34865c53794a2debe2877747d045fb1168 EBUILD rxvt-unicode-9.11.ebuild 2871 RMD160 6fef819db23a17017a88f6b276704cbb2579d05e SHA1 2944a42d555053445810385af0e3a7b49a287e2e SHA256 cdf5649f21d6e35259b3283fc283b39c11e5ace1d43f28c4716ef3f74f6ffcbe EBUILD rxvt-unicode-9.12-r1.ebuild 2962 RMD160 a39cf67c034ff1c578c6207d0cd0702d65070a1d SHA1 974dc2212cf4f7546478b7d73b93453e62ff61f8 SHA256 2719b46ba1f10255847b0c5e91e5e911c4a955aa4b5c8c515e359701edd95b2f EBUILD rxvt-unicode-9.12.ebuild 3174 RMD160 363b4a938e3671b8662c7bd5308c908f10c90938 SHA1 5e5dbc66d153a1f20d038347f5ea1431fa41c945 SHA256 5691d979d286cc4f309c8b565dfd0df92f10fe4d1830d72dbd75356d07bf42f1 -EBUILD rxvt-unicode-9.14.ebuild 2988 RMD160 92eb64aac4f675602a61bc8266f11d99a29453ed SHA1 1e4f527adfff973a05f133712a5234e8bc744a4e SHA256 df46259d175c458baac1d82316cac024dd6d14dea0eef1ff93692a68c6caa198 -MISC ChangeLog 29862 RMD160 29619ac75a067fbadad7c20051df3d6c88ce1234 SHA1 14c7aef65384451f873df32e794a20af50a7f1e1 SHA256 d1404817983d8be219e0655b7ed7034a46f05f140d242ed0412e2e7172b5f662 -MISC metadata.xml 1456 RMD160 ad3340891b35816f999aff3a87af7576f84d77ba SHA1 6a9e3e35b78aa441180d747bd032b9e5b2739433 SHA256 784ab1d27de4fcdf1315ea8100a26383d0af3ea3359cc899ea237b8f6b93e5c2 +EBUILD rxvt-unicode-9.14.ebuild 3579 RMD160 1d7b8f2349f118513ca167d4f0687d9604da6ee1 SHA1 f88192bbb905aa8a7c523073c7bb1918f3a47668 SHA256 52f15af4bc790688830d13ec8ac7cd28ad2bfc01ab28ab9cb9870956b6d45b3b +MISC ChangeLog 30258 RMD160 63c35194be625d2bc32726430ad3a39df3a769e4 SHA1 256f6c12047eab91dc0830b1cc0dbb56ebd36978 SHA256 550b1f23d6e8117801b1401c106c63393b12648d6b4f5d99da86d3ad0c2c1b0b +MISC metadata.xml 1626 RMD160 5ebe4085231dfe378aa5a1f53277b324ea6b85d5 SHA1 ae8828bd4e93b1a010f538a58c816fb89b7979d2 SHA256 7d8475cdb7e945b3f20acc73f7d3952ff5f03b4efb310c18930b6cea6c596b1f -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.17 (GNU/Linux) +Version: GnuPG v2.0.18 (GNU/Linux) -iEYEARECAAYFAk76LuoACgkQVWmRsqeSphM+gQCbB4zGzRXjwq0GEdMZhtKL/807 -y0sAn2uopLiqIqtUwCbCG5iulGtcrmp8 -=QNVR +iQIcBAEBCgAGBQJPAbCxAAoJEDZF8K7rm0r6MvYQAJh01YB1P3YpGmDpbeApbTtI +Mbl80Rj2AZNLq5PnFoumyOZOnGyRCXGSXUHi+TPA2Ha4gUf1i5vopx+jU9CzHO3G +ad7CzHSAo4YWYIAsYQQeYtEI5R5ZJW0KwimfwaPClH2v7jNz5pjXbIGwXf4EP8o1 +2zgXGEAiriUvKqdziHr5J3WDLWF95q9xndFjj2m0LbANJxJynChTKjJzFPPp4Icm +HrpSoB5z4zZtvzIWACcCPT+Tr+ozyS22kJ7tuR6bAHvfwmwHNam7FvD5Rm0JRmWF +0Ehx6+Vl4PORdSqnzrpMbPIznJcmCgz+hUVcB47sX286oTcR+4/j0CzvUChCcm+M +8BYj1E7ReH05cWd33EZBRXqAhoMLLL5irXzbIYR2rQtfVdRe0CCdBUMbp8NnJFrr +Eud3Y7BG8aDMNumQxh1LQRhr+kk1kniTjhAo3RmeKVCXxX/vTGTpsO2+5rVvcjRq +gypAbjPNh4ydffLjIO2wrv1JeeDY63q3s+46PairX3Ats0Qlgez3F4chw5sywXBe ++Yhx/QxE9qvj5xPTGoFVOQZ8g/ufYp4Sohm4LX+xaCvr8Xxclydh/ZOFlVBI+W1q +jucTKfw0lzmDl1aRtbmMmUOnh/9gwxmR6TpN/vCr7dSV5LRmbX60Ko+XbrYsJART +qFkXU+IglOFsqjqJzkE/ +=y0c/ -----END PGP SIGNATURE----- diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.14-clear.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.14-clear.patch new file mode 100644 index 000000000000..050907cea435 --- /dev/null +++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.14-clear.patch @@ -0,0 +1,25 @@ +store visible lines to buffer before clearing the screen when pressing ctrl-l + +patch by rlblaster +https://bbs.archlinux.org/viewtopic.php?id=129302 + +--- a/src/command.C ++++ b/src/command.C +@@ -2932,6 +2932,17 @@ + + case CSI_CUP: /* 8.3.21: (1,1) CURSOR POSITION */ + case CSI_HVP: /* 8.3.64: (1,1) CHARACTER AND LINE POSITION */ ++ if (nargs == 1 && current_screen == 0) ++ { ++ // This is usually followed with clear screen so add some extra ++ // lines to avoid deleting the lines already on screen. If we are ++ // already at the top, add an extra screen height of lines. ++ int extra_lines = nrow-1; ++ if (screen.cur.row == 0) ++ extra_lines += nrow; ++ for (int i = 0; i < extra_lines; ++i) ++ scr_add_lines (L"\r\n", 2); ++ } + scr_gotorc (arg[0] - 1, nargs < 2 ? 0 : (arg[1] - 1), 0); + break; + diff --git a/x11-terms/rxvt-unicode/files/rxvt-unicode-9.14-secondary-wheel.patch b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.14-secondary-wheel.patch new file mode 100644 index 000000000000..1ed8904f493b --- /dev/null +++ b/x11-terms/rxvt-unicode/files/rxvt-unicode-9.14-secondary-wheel.patch @@ -0,0 +1,123 @@ +secondary wheel support: +when using the mouse wheel, if you’re on secondary screen then no scrolling +will occur, and instead some (3, to be exact) “fake” keystrokes will be sent to +the running application. + +patch by jacky +i.am.jack.mail@gmail.com +http://lists.schmorp.de/pipermail/rxvt-unicode/2011q4/001491.html + +diff -r d5f9ea7306c4 -r cca1997c1a85 doc/rxvt.1.pod +--- a/doc/rxvt.1.pod Wed Dec 21 22:59:04 2011 +0100 ++++ b/doc/rxvt.1.pod Wed Dec 21 23:01:28 2011 +0100 +@@ -455,6 +455,11 @@ + Turn on/off secondary screen scroll (default enabled); resource + B. + ++=item B<-ssw>|B<+ssw> ++ ++Turn on/off secondary screen wheel support (default disabled); resource ++B. ++ + =item B<-hold>|B<+hold> + + Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@ +@@ -1167,6 +1172,13 @@ + scrollback buffer and, when secondaryScreen is off, switching + to/from the secondary screen will instead scroll the screen up. + ++=item B I ++ ++Turn on/off secondary wheel (default disabled). If enabled, when on ++secondary screen, using the mouse wheel will not scroll in the buffer ++but instead send 3 "fake" keystrokes (Up/Down arrow) to the running ++application (allows e.g. natural scrolling in B, B, etc). ++ + =item B: I + + Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@ +diff -r d5f9ea7306c4 -r cca1997c1a85 src/command.C +--- a/src/command.C Wed Dec 21 22:59:04 2011 +0100 ++++ b/src/command.C Wed Dec 21 23:01:28 2011 +0100 +@@ -2197,10 +2197,46 @@ + } + else + # endif ++#ifndef NO_SECONDARY_SCREEN + { +- scr_page (v, i); +- scrollBar.show (1); ++ /* on SECONDARY screen, we send "fake" UP/DOWN keys instead ++ * (this allows to scroll within man, less, etc) */ ++ if (option (Opt_secondaryWheel) && current_screen != PRIMARY) ++ { ++ XKeyEvent event; ++ event.display = ev.display; ++ event.window = ev.window; ++ event.root = ev.root; ++ event.subwindow = ev.subwindow; ++ event.time = ev.time; ++ event.x = ev.x; ++ event.y = ev.y; ++ event.x_root = ev.x_root; ++ event.y_root = ev.y_root; ++ event.same_screen = ev.same_screen; ++ event.state = 0; ++ event.keycode = XKeysymToKeycode(ev.display, ++ (v == UP) ? XK_Up : XK_Down); ++ for (i = 0; i < 3; ++i) ++ { ++ event.type = KeyPress; ++ XSendEvent (event.display, event.window, True, ++ KeyPressMask, (XEvent *) &event); ++ event.type = KeyRelease; ++ XSendEvent (event.display, event.window, True, ++ KeyPressMask, (XEvent *) &event); ++ } ++ } ++ /* on PRIMARY screen, we scroll in the buffer */ ++ else ++#endif ++ { ++ scr_page (v, i); ++ scrollBar.show (1); ++ } ++#ifndef NO_SECONDARY_SCREEN + } ++#endif + } + break; + #endif +diff -r d5f9ea7306c4 -r cca1997c1a85 src/optinc.h +--- a/src/optinc.h Wed Dec 21 22:59:04 2011 +0100 ++++ b/src/optinc.h Wed Dec 21 23:01:28 2011 +0100 +@@ -26,6 +26,7 @@ + def(cursorBlink) + def(secondaryScreen) + def(secondaryScroll) ++ def(secondaryWheel) + def(pastableTabs) + def(cursorUnderline) + #if ENABLE_FRILLS +diff -r d5f9ea7306c4 -r cca1997c1a85 src/rsinc.h +--- a/src/rsinc.h Wed Dec 21 22:59:04 2011 +0100 ++++ b/src/rsinc.h Wed Dec 21 23:01:28 2011 +0100 +@@ -102,6 +102,7 @@ + #ifndef NO_SECONDARY_SCREEN + def (secondaryScreen) + def (secondaryScroll) ++ def (secondaryWheel) + #endif + #ifdef OFF_FOCUS_FADING + def (fade) +diff -r d5f9ea7306c4 -r cca1997c1a85 src/xdefaults.C +--- a/src/xdefaults.C Wed Dec 21 22:59:04 2011 +0100 ++++ b/src/xdefaults.C Wed Dec 21 23:01:28 2011 +0100 +@@ -261,6 +261,7 @@ + #ifndef NO_SECONDARY_SCREEN + BOOL (Rs_secondaryScreen, "secondaryScreen", "ssc", Opt_secondaryScreen, 0, "enable secondary screen"), + BOOL (Rs_secondaryScroll, "secondaryScroll", "ssr", Opt_secondaryScroll, 0, "enable secondary screen scroll"), ++ BOOL (Rs_secondaryWheel, "secondaryWheel", "ssw", Opt_secondaryWheel, 0, "enable secondary screen wheel"), + #endif + #if ENABLE_PERL + RSTRG (Rs_perl_lib, "perl-lib", "string"), //, "colon-separated directories with extension scripts"),TODO diff --git a/x11-terms/rxvt-unicode/metadata.xml b/x11-terms/rxvt-unicode/metadata.xml index 7831a186da41..ba4ea3c8b296 100644 --- a/x11-terms/rxvt-unicode/metadata.xml +++ b/x11-terms/rxvt-unicode/metadata.xml @@ -24,6 +24,8 @@ Enable scrolling via mouse wheel or buttons 4 and 5 Enable perl script support. You can still disable this at runtime with -pe "" Enable transparency support using gtk's pixbuf +Support for wheel scrolling on secondary screens (like mutt). + Read http://lists.schmorp.de/pipermail/rxvt-unicode/2011q4/001491.html Use 21 instead of 16 bits to represent unicode characters Enable wide char width support diff --git a/x11-terms/rxvt-unicode/rxvt-unicode-9.14.ebuild b/x11-terms/rxvt-unicode/rxvt-unicode-9.14.ebuild index 926c9f8201b1..f68202870964 100644 --- a/x11-terms/rxvt-unicode/rxvt-unicode-9.14.ebuild +++ b/x11-terms/rxvt-unicode/rxvt-unicode-9.14.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2011 Gentoo Foundation +# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/x11-terms/rxvt-unicode/rxvt-unicode-9.14.ebuild,v 1.2 2011/12/23 17:37:18 jer Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-terms/rxvt-unicode/rxvt-unicode-9.14.ebuild,v 1.3 2012/01/02 13:25:59 wired Exp $ EAPI="4" @@ -15,8 +15,8 @@ SLOT="0" KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris" IUSE=" 256-color alt-font-width afterimage blink +focused-urgency fading-colors - +font-styles iso14755 +mousewheel +perl pixbuf startup-notification truetype - unicode3 +vanilla wcwidth + +font-styles iso14755 +mousewheel +perl pixbuf secondary-wheel + startup-notification truetype unicode3 +vanilla wcwidth " RDEPEND=" @@ -37,7 +37,7 @@ DEPEND=" x11-proto/xproto " -REQUIRED_USE="vanilla? ( !alt-font-width focused-urgency !wcwidth )" +REQUIRED_USE="vanilla? ( !alt-font-width focused-urgency !secondary-wheel !wcwidth )" src_prepare() { # fix for prefix not installing properly @@ -62,6 +62,12 @@ src_prepare() { # bug #237271 epatch "${FILESDIR}"/${PN}-9.05_no-MOTIF-WM-INFO.patch + # support for wheel scrolling on secondary screens + use secondary-wheel && epatch "${FILESDIR}"/${P}-secondary-wheel.patch + + # ctrl-l buffer fix + epatch "${FILESDIR}"/${P}-clear.patch + use alt-font-width && epatch "${FILESDIR}"/${PN}-9.06-font-width.patch fi @@ -106,3 +112,15 @@ src_install() { cd "${S}"/doc dodoc README* changes.txt etc/* rxvt-tabbed } + +pkg_postinst() { + if use secondary-wheel; then + elog "You have enabled the secondary-wheel USE flag." + elog "This allows you to scroll in secondary screens" + elog "(like mutt's message list/view) using the mouse wheel." + elog + elog "To actually enable the feature you have to add" + elog " URxvt*secondaryWheel: true" + elog "in your ~/.Xdefaults file" + fi +} -- 2.26.2