From 55d360f653add52055c39d7989745bf72d6df27a Mon Sep 17 00:00:00 2001 From: rsc Date: Wed, 13 Jul 2005 03:53:17 +0000 Subject: lets try hold mode in raw mode --- src/cmd/9term/9term.c | 26 +++++++++++++++++--------- src/cmd/9term/rcstart.c | 8 +++++++- 2 files changed, 24 insertions(+), 10 deletions(-) (limited to 'src/cmd') diff --git a/src/cmd/9term/9term.c b/src/cmd/9term/9term.c index a620410a..78d52ab1 100644 --- a/src/cmd/9term/9term.c +++ b/src/cmd/9term/9term.c @@ -922,6 +922,23 @@ key(Rune r) return; } + /* + * This if used to be below the if(rawon() && t.q0==t.nr), + * but let's try putting it here. This will allow ESC-processing + * to toggle hold mode even in remote SSH connections. + * The drawback is that vi-style processing gets harder. + * If you find yourself in some weird readline mode, good + * luck getting out without ESC. Let's see who complains. + */ + if(r==ESC){ /* toggle hold */ + holdon = !holdon; + drawhold(holdon); + /* replaceintegerproperty("_9WM_HOLD_MODE", 1, 32, holdon); */ + if(!holdon) + consread(); + return; + } + if(rawon() && t.q0 == t.nr){ addraw(&r, 1); consread(); @@ -939,15 +956,6 @@ key(Rune r) return; } - if(r==ESC){ /* toggle hold */ - holdon = !holdon; - drawhold(holdon); - /* replaceintegerproperty("_9WM_HOLD_MODE", 1, 32, holdon); */ - if(!holdon) - consread(); - return; - } - snarf(); switch(r) { diff --git a/src/cmd/9term/rcstart.c b/src/cmd/9term/rcstart.c index 1aa46dce..a598f420 100644 --- a/src/cmd/9term/rcstart.c +++ b/src/cmd/9term/rcstart.c @@ -52,7 +52,13 @@ rcstart(int argc, char **argv, int *pfd, int *tfd) exit(3); sysfatal("getpts: %r\n"); } - notedisable("sys: window size change"); + /* + * notedisable("sys: window size change"); + * + * Can't disable because will be inherited by other programs + * like if you run an xterm from the prompt, and then xterm's + * resizes won't get handled right. Sigh. + */ pid = fork(); switch(pid){ case 0: -- cgit v1.2.3