diff --git a/grid.c b/grid.c index 36cde074..579eb966 100644 --- a/grid.c +++ b/grid.c @@ -368,11 +368,8 @@ grid_clear_lines(struct grid *gd, u_int py, u_int ny) for (yy = py; yy < py + ny; yy++) { gl = &gd->linedata[yy]; free(gl->celldata); - memset(gl, 0, sizeof *gl); - free(gl->extddata); - gl->extddata = NULL; - gl->extdsize = 0; + memset(gl, 0, sizeof *gl); } } diff --git a/options-table.c b/options-table.c index bd49a9c8..054b2700 100644 --- a/options-table.c +++ b/options-table.c @@ -197,7 +197,7 @@ const struct options_table_entry options_table[] = { { .name = "display-time", .type = OPTIONS_TABLE_NUMBER, .scope = OPTIONS_TABLE_SESSION, - .minimum = 1, + .minimum = 0, .maximum = INT_MAX, .default_num = 750 }, diff --git a/server.c b/server.c index 052ca4d9..ddc59c0d 100644 --- a/server.c +++ b/server.c @@ -176,8 +176,8 @@ server_start(struct event_base *base, int lockfd, char *lockfile) tty_create_log(); #ifdef __OpenBSD__ - if (pledge("stdio rpath wpath cpath fattr unix recvfd proc exec tty " - "ps", NULL) != 0) + if (pledge("stdio rpath wpath cpath fattr unix getpw recvfd proc exec " + "tty ps", NULL) != 0) fatal("pledge failed"); #endif diff --git a/status.c b/status.c index cbba2ead..d05376c0 100644 --- a/status.c +++ b/status.c @@ -574,13 +574,15 @@ status_message_set(struct client *c, const char *fmt, ...) } delay = options_get_number(c->session->options, "display-time"); - tv.tv_sec = delay / 1000; - tv.tv_usec = (delay % 1000) * 1000L; + if (delay > 0) { + tv.tv_sec = delay / 1000; + tv.tv_usec = (delay % 1000) * 1000L; - if (event_initialized(&c->message_timer)) - evtimer_del(&c->message_timer); - evtimer_set(&c->message_timer, status_message_callback, c); - evtimer_add(&c->message_timer, &tv); + if (event_initialized(&c->message_timer)) + evtimer_del(&c->message_timer); + evtimer_set(&c->message_timer, status_message_callback, c); + evtimer_add(&c->message_timer, &tv); + } c->tty.flags |= (TTY_NOCURSOR|TTY_FREEZE); c->flags |= CLIENT_STATUS; diff --git a/tmux.1 b/tmux.1 index 0a193bfb..118839e0 100644 --- a/tmux.1 +++ b/tmux.1 @@ -2561,6 +2561,7 @@ command appear. .It Ic display-time Ar time Set the amount of time for which status line messages and other on-screen indicators are displayed. +If set to 0, messages and indicators are displayed until a key is pressed. .Ar time is in milliseconds. .It Ic history-limit Ar lines diff --git a/tmux.c b/tmux.c index 15faadf8..cd0595dd 100644 --- a/tmux.c +++ b/tmux.c @@ -261,8 +261,8 @@ main(int argc, char **argv) usage(); #ifdef __OpenBSD__ - if (pledge("stdio rpath wpath cpath flock fattr unix sendfd recvfd " - "proc exec tty ps", NULL) != 0) + if (pledge("stdio rpath wpath cpath flock fattr unix getpw sendfd " + "recvfd proc exec tty ps", NULL) != 0) err(1, "pledge"); #endif