diff --git a/server-client.c b/server-client.c index 3f908eca..a45b1e0a 100644 --- a/server-client.c +++ b/server-client.c @@ -1024,16 +1024,6 @@ server_client_key_callback(struct cmdq_item *item, void *data) fatal("gettimeofday failed"); session_update_activity(s, &c->activity_time); - /* Handle status line. */ - if (~c->flags & CLIENT_READONLY) - status_message_clear(c); - if (c->prompt_string != NULL) { - if (c->flags & CLIENT_READONLY) - goto out; - if (status_prompt_key(c, key) == 0) - goto out; - } - /* Check for mouse keys. */ m->valid = 0; if (key == KEYC_MOUSE) { @@ -1214,16 +1204,24 @@ server_client_handle_key(struct client *c, struct key_event *event) return (0); /* - * Key presses in overlay mode are a special case. The queue might be - * blocked so they need to be processed immediately rather than queued. + * Key presses in overlay mode and the command prompt are a special + * case. The queue might be blocked so they need to be processed + * immediately rather than queued. */ - if ((~c->flags & CLIENT_READONLY) && c->overlay_key != NULL) { - switch (c->overlay_key(c, event)) { - case 0: - return (0); - case 1: - server_client_clear_overlay(c); - return (0); + if (~c->flags & CLIENT_READONLY) { + status_message_clear(c); + if (c->prompt_string != NULL) { + if (status_prompt_key(c, event->key) == 0) + return (0); + } + if (c->overlay_key != NULL) { + switch (c->overlay_key(c, event)) { + case 0: + return (0); + case 1: + server_client_clear_overlay(c); + return (0); + } } } diff --git a/tmux.1 b/tmux.1 index 08d43761..20edd876 100644 --- a/tmux.1 +++ b/tmux.1 @@ -4344,8 +4344,7 @@ to unset. .Ic align=right .Xc Align text to the left, centre or right of the available space if appropriate. -.It Xo Ic fill=colour -.Xc +.It Ic fill=colour Fill the available space with a background colour if appropriate. .It Xo Ic list=on , .Ic list=focus ,