nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

commit fe0d366ce2976a596ca128885407cb6201484762
parent a16b27f10215f09a1f12e00dccc718122c705d7a
Author: David Lawrence Ramsey <pooka109@gmail.com>
Date:   Thu, 26 Aug 2004 01:43:16 +0000

in get_mouseinput(), make clicking on meta shortcuts work properly
again, and properly handle the case of whereis_list's being longer than
MAIN_VISIBLE as bottombars() does


git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@1913 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

Diffstat:
MChangeLog | 5+++++
Msrc/winio.c | 10++++++++--
2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog @@ -23,6 +23,11 @@ CVS code - - New function used as a wrapper for ungetch(). (DLR) get_mouseinput() - Consolidate two if statements to increase efficiency. (DLR) + - Check kbinput against metaval instead of (erroneously) ctrlval + when putting back a meta sequence. (DLR) + - If there are more than MAIN_VISIBLE shortcuts available, only + register clicks on the first MAIN_VISIBLE shortcuts, since + bottombars() only shows that many shortcuts. (DLR) do_yesno() - Don't bother assigning the value of get_mouseinput() to anything. Since allow_shortcuts is FALSE, its return value diff --git a/src/winio.c b/src/winio.c @@ -1287,9 +1287,15 @@ bool get_mouseinput(int *mouse_x, int *mouse_y, bool allow_shortcuts) /* Get the shortcut lists' length. */ if (currshortcut == main_list) currslen = MAIN_VISIBLE; - else + else { currslen = length_of_list(currshortcut); + /* We don't show any more shortcuts than the main list + * does. */ + if (currslen > MAIN_VISIBLE) + currslen = MAIN_VISIBLE; + } + /* Calculate the width of each shortcut in the list (it's the * same for all of them). */ if (currslen < 2) @@ -1319,7 +1325,7 @@ bool get_mouseinput(int *mouse_x, int *mouse_y, bool allow_shortcuts) * has an equivalent control key, meta key sequence, or both. */ if (s->ctrlval != NANO_NO_KEY) unget_kbinput(s->ctrlval, FALSE); - else if (s->ctrlval != NANO_NO_KEY) + else if (s->metaval != NANO_NO_KEY) unget_kbinput(s->metaval, TRUE); return TRUE;