Add a define for flags meaning a client is not attached, and fix

unattached counter, reported by Thomas Sattler.
This commit is contained in:
nicm 2020-01-28 08:06:11 +00:00
parent 2c38e01b54
commit 24350879cd
4 changed files with 10 additions and 5 deletions

View File

@ -363,14 +363,15 @@ recalculate_sizes(void)
* client.
*/
TAILQ_FOREACH(c, &clients, entry) {
s = c->session;
if (s != NULL && !(c->flags & CLIENT_UNATTACHEDFLAGS))
s->attached++;
if (ignore_client_size(c))
continue;
s = c->session;
if (c->tty.sy <= s->statuslines || (c->flags & CLIENT_CONTROL))
c->flags |= CLIENT_STATUSOFF;
else
c->flags &= ~CLIENT_STATUSOFF;
s->attached++;
}
/* Walk each window and adjust the size. */

View File

@ -1034,7 +1034,7 @@ server_client_key_callback(struct cmdq_item *item, void *data)
key_code key0;
/* Check the client is good to accept input. */
if (s == NULL || (c->flags & (CLIENT_DEAD|CLIENT_SUSPENDED)) != 0)
if (s == NULL || (c->flags & CLIENT_UNATTACHEDFLAGS))
goto out;
wl = s->curw;
@ -1221,7 +1221,7 @@ server_client_handle_key(struct client *c, struct key_event *event)
struct cmdq_item *item;
/* Check the client is good to accept input. */
if (s == NULL || (c->flags & (CLIENT_DEAD|CLIENT_SUSPENDED)) != 0)
if (s == NULL || (c->flags & CLIENT_UNATTACHEDFLAGS))
return (0);
/*

4
tmux.h
View File

@ -1582,6 +1582,10 @@ struct client {
CLIENT_REDRAWSTATUSALWAYS| \
CLIENT_REDRAWBORDERS| \
CLIENT_REDRAWOVERLAY)
#define CLIENT_UNATTACHEDFLAGS \
(CLIENT_DEAD| \
CLIENT_SUSPENDED| \
CLIENT_DETACHING)
#define CLIENT_NOSIZEFLAGS \
(CLIENT_DEAD| \
CLIENT_SUSPENDED| \

View File

@ -210,7 +210,7 @@ window_client_draw(__unused void *modedata, void *itemdata,
struct window_pane *wp;
u_int cx = s->cx, cy = s->cy, lines, at;
if (c->session == NULL || (c->flags & (CLIENT_DEAD|CLIENT_DETACHING)))
if (c->session == NULL || (c->flags & CLIENT_UNATTACHEDFLAGS))
return;
wp = c->session->curw->window->active;