diff --git a/status.c b/status.c index 17bc113b..82c87efb 100644 --- a/status.c +++ b/status.c @@ -284,7 +284,7 @@ status_get_window_at(struct client *c, u_int x) const char *sep; size_t seplen; - x += c->wlmouse; + x += c->status.window_list_offset; RB_FOREACH(wl, winlinks, &s->windows) { oo = wl->window->options; @@ -506,7 +506,7 @@ draw: wloffset++; /* Copy the window list. */ - c->wlmouse = -wloffset + wlstart; + c->status.window_list_offset = -wloffset + wlstart; screen_write_cursormove(&ctx, wloffset, 0); screen_write_fast_copy(&ctx, &window_list, wlstart, 0, wlwidth, 1); screen_free(&window_list); diff --git a/tmux.h b/tmux.h index 3eb4c174..f075215c 100644 --- a/tmux.h +++ b/tmux.h @@ -1304,8 +1304,11 @@ struct cmd_entry { /* Status line. */ struct status_line { struct event timer; + struct screen status; struct screen *old_status; + + int window_list_offset; }; /* Client connection. */