From a1e0d9266c9ea364b7b10d03a0d614b8a83a3eb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Ankarstr=C3=B6m?= Date: Sat, 17 Jul 2021 20:33:31 +0200 Subject: xterm: Add patch-scroll-{bottom,lock-{altscreen,scrollkey}} --- .../external/mit/xterm/dist/patch-scroll-bottom | 49 ++++++++++++++++++++++ .../mit/xterm/dist/patch-scroll-lock-altscreen | 17 ++++++++ .../mit/xterm/dist/patch-scroll-lock-scrollkey | 14 +++++++ 3 files changed, 80 insertions(+) create mode 100644 usr/xsrc/external/mit/xterm/dist/patch-scroll-bottom create mode 100644 usr/xsrc/external/mit/xterm/dist/patch-scroll-lock-altscreen create mode 100644 usr/xsrc/external/mit/xterm/dist/patch-scroll-lock-scrollkey diff --git a/usr/xsrc/external/mit/xterm/dist/patch-scroll-bottom b/usr/xsrc/external/mit/xterm/dist/patch-scroll-bottom new file mode 100644 index 0000000..865bac8 --- /dev/null +++ b/usr/xsrc/external/mit/xterm/dist/patch-scroll-bottom @@ -0,0 +1,49 @@ +$NetBSD$ + +Add scroll-bottom action. + +--- charproc.c.orig 2018-03-14 06:04:22.000000000 +0000 ++++ charproc.c +@@ -259,6 +259,7 @@ static XtActionsRec actionsList[] = { + { "quit", HandleQuit }, + { "redraw", HandleRedraw }, + { "scroll-back", HandleScrollBack }, ++ { "scroll-bottom", HandleScrollBottom }, + { "scroll-forw", HandleScrollForward }, + { "secure", HandleSecure }, + { "select-cursor-end", HandleKeyboardSelectEnd }, + +--- scrollbar.c.orig 2021-07-16 07:44:23.160211555 +0000 ++++ scrollbar.c +@@ -757,6 +757,20 @@ HandleScrollBack( + } + } + ++/*ARGSUSED*/ ++void ++HandleScrollBottom( ++ Widget xw, ++ XEvent *event GCC_UNUSED, ++ String *params, ++ Cardinal *nparams) ++{ ++ XtermWidget xtw; ++ ++ if ((xtw = getXtermWidget(xw)) != 0) ++ WindowScroll(xtw, 0, True); ++} ++ + #if OPT_SCROLL_LOCK + #define SCROLL_LOCK_LED 3 + + +--- xterm.h.orig 2019-07-11 08:08:47.000000000 +0000 ++++ xterm.h +@@ -1346,6 +1346,7 @@ extern void deleteScrollback (TScreen * + /* scrollbar.c */ + extern void DoResizeScreen (XtermWidget /* xw */); + extern void HandleScrollBack PROTO_XT_ACTIONS_ARGS; ++extern void HandleScrollBottom PROTO_XT_ACTIONS_ARGS; + extern void HandleScrollForward PROTO_XT_ACTIONS_ARGS; + extern void ResizeScrollBar (XtermWidget /* xw */); + extern void ScrollBarDrawThumb (Widget /* scrollWidget */); diff --git a/usr/xsrc/external/mit/xterm/dist/patch-scroll-lock-altscreen b/usr/xsrc/external/mit/xterm/dist/patch-scroll-lock-altscreen new file mode 100644 index 0000000..2091460 --- /dev/null +++ b/usr/xsrc/external/mit/xterm/dist/patch-scroll-lock-altscreen @@ -0,0 +1,17 @@ +$NetBSD$ + +Disable Scroll Lock-specific behavior in the alternate screen. +This makes visual programs like vi (that make use of the alternate +screen) behave normally even if Scroll Lock is active. + +--- util.c.orig 2018-03-14 06:04:22.000000000 +0000 ++++ util.c +@@ -570,7 +570,7 @@ xtermScroll(XtermWidget xw, int amount) + amount = i; + + #if OPT_SCROLL_LOCK +- if (screen->allowScrollLock && screen->scroll_lock) { ++ if (screen->allowScrollLock && screen->scroll_lock && !screen->whichBuf) { + refreshheight = 0; + screen->scroll_amt = 0; + screen->refresh_amt = 0; diff --git a/usr/xsrc/external/mit/xterm/dist/patch-scroll-lock-scrollkey b/usr/xsrc/external/mit/xterm/dist/patch-scroll-lock-scrollkey new file mode 100644 index 0000000..56c6e1c --- /dev/null +++ b/usr/xsrc/external/mit/xterm/dist/patch-scroll-lock-scrollkey @@ -0,0 +1,14 @@ +$NetBSD$ + +--- input.c.orig 2021-07-17 15:01:03.290490780 +0000 ++++ input.c +@@ -1376,6 +1376,9 @@ Input(XtermWidget xw, + } + unparse_end(xw); + ++ if (screen->scrollkey && kd.keysym != XK_Return) ++ SetScrollLock(screen, False); ++ + if (key && !TEK4014_ACTIVE(xw)) + AdjustAfterInput(xw); + -- cgit v1.2.3