aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2021-04-13 08:01:22 +0100
committerThomas Adam <thomas@xteddy.org>2021-04-13 08:01:22 +0100
commit90614dfe05dc8bdf5c60ac812c3b37b895a54c72 (patch)
tree99c6259d7d43f546bb5dabd295f8496e329223a0
parentbedf2bd4372c60a525c22e6309f329cfd0bd07bc (diff)
parentff860e5fe41bdef7a4a0ba74f9be4a612c546656 (diff)
downloadrtmux-90614dfe05dc8bdf5c60ac812c3b37b895a54c72.tar.gz
rtmux-90614dfe05dc8bdf5c60ac812c3b37b895a54c72.tar.bz2
rtmux-90614dfe05dc8bdf5c60ac812c3b37b895a54c72.zip
Merge branch 'obsd-master' into master
-rw-r--r--screen-redraw.c4
-rw-r--r--tty-keys.c11
2 files changed, 9 insertions, 6 deletions
diff --git a/screen-redraw.c b/screen-redraw.c
index 6ddabc52..cf3e29f6 100644
--- a/screen-redraw.c
+++ b/screen-redraw.c
@@ -604,8 +604,8 @@ screen_redraw_screen(struct client *c)
return;
screen_redraw_set_context(c, &ctx);
- tty_update_mode(&c->tty, c->tty.mode, NULL);
tty_sync_start(&c->tty);
+ tty_update_mode(&c->tty, c->tty.mode, NULL);
if (flags & (CLIENT_REDRAWWINDOW|CLIENT_REDRAWBORDERS)) {
log_debug("%s: redrawing borders", c->name);
@@ -640,8 +640,8 @@ screen_redraw_pane(struct client *c, struct window_pane *wp)
return;
screen_redraw_set_context(c, &ctx);
- tty_update_mode(&c->tty, c->tty.mode, NULL);
tty_sync_start(&c->tty);
+ tty_update_mode(&c->tty, c->tty.mode, NULL);
screen_redraw_draw_pane(&ctx, wp);
diff --git a/tty-keys.c b/tty-keys.c
index e88ff227..c0aceb32 100644
--- a/tty-keys.c
+++ b/tty-keys.c
@@ -953,11 +953,14 @@ tty_keys_extended_key(struct tty *tty, const char *buf, size_t len,
* Don't allow both KEYC_CTRL and as an implied modifier. Also convert
* C-X into C-x and so on.
*/
- if (nkey & KEYC_CTRL){
+ if (nkey & KEYC_CTRL) {
onlykey = (nkey & KEYC_MASK_KEY);
- if (onlykey < 32)
- onlykey = (nkey & ~KEYC_CTRL);
- else {
+ if (onlykey < 32) {
+ if (onlykey != 9)
+ onlykey = (nkey & ~KEYC_CTRL);
+ else
+ onlykey = (9|KEYC_CTRL);
+ } else {
if (onlykey >= 97 && onlykey <= 122)
onlykey -= 96;
else if (onlykey >= 64 && onlykey <= 95)