]> git.wh0rd.org Git - nano.git/commitdiff
Work around gnome-terminal, I'm tired of this
authorChris Allegretta <chrisa@asty.org>
Thu, 4 Jan 2001 16:56:15 +0000 (16:56 +0000)
committerChris Allegretta <chrisa@asty.org>
Thu, 4 Jan 2001 16:56:15 +0000 (16:56 +0000)
git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@445 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

ChangeLog
nano.c

index 5bed21dbbefe710f1902a4825615d7bc94967b14..9cbc263acf3c4bbffdf85271f97650c3355cfe2e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,8 @@ General -
          FINALLY!  No more keypad_on(), no more individual calls in
          main(), do_help(), do_browser(), etc etc etc.  Removed call to
          timeout(0) in main() (which caused the whole mess), fixes BUG #49.
+         Added workarounds for gnome-terminal in main() (Alt-O-key and
+         348-352).
 - faq.html:
        - Fix typos and small mistakes (Jordi).
 - files.c:
diff --git a/nano.c b/nano.c
index 0dd177260e1d36be0be7f6eef6e14816baec0427..80bb951c37a7eb4d82b8e18859cb0089b611c9ec 100644 (file)
--- a/nano.c
+++ b/nano.c
@@ -2265,6 +2265,8 @@ int main(int argc, char *argv[])
                kbinput = wgetch(edit);
                if (kbinput <= 'S' && kbinput >= 'P')
                    kbinput = KEY_F(kbinput - 79);
+               else if (kbinput >= 'j' && kbinput <= 'y')
+                   kbinput = kbinput - 64;
 #ifdef DEBUG
                else {
                    fprintf(stderr, _("I got Alt-O-%c! (%d)\n"),
@@ -2458,6 +2460,24 @@ int main(int argc, char *argv[])
            case 0:             /* Erg */
                do_next_word();
                break;
+
+           /* Stupid gnome-terminal keypad */
+           case 349:
+               ungetch('5');
+               break;
+           case 348:
+               ungetch('7');
+               break;
+           case 350:
+               ungetch('9');
+               break;
+           case 351:
+               ungetch('1');
+               break;
+           case 352:
+               ungetch('3');
+               break;
+
            case 331:           /* Stuff that we don't want to do squat */
            case -1:
            case 410:           /* Must ignore this, it gets sent when we resize */