commit 55d360f653add52055c39d7989745bf72d6df27a from: rsc date: Wed Jul 13 03:53:17 2005 UTC lets try hold mode in raw mode commit - 17cfc1dd5f1cf4a6f6752d4e94e76ccee020006c commit + 55d360f653add52055c39d7989745bf72d6df27a blob - a620410ab07ad16afe4d9fb76625da17d8fe5b6a blob + 78d52ab11088990a797dcbf3bbd2cd391a9d2daf --- src/cmd/9term/9term.c +++ 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) { blob - 1aa46dce549c0ca409d04c617e82ce6f045d9a54 blob + a598f42079cbd12f0071bad506cf71dc7c68063c --- src/cmd/9term/rcstart.c +++ 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: