diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2015-09-10 12:42:25 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2015-09-10 12:42:25 +0100 |
commit | eb1084754c2dd08bbf05d1c09f52abdbf5b373d6 (patch) | |
tree | dbc147b51ff57147a4a8ee4e5a8139904d8cb5ac | |
parent | 79e5b6290733567266a584d817fed48e1f2a52c0 (diff) | |
parent | 1fd756066cc0df12debb8f4e44dee46142c73348 (diff) | |
download | rtmux-eb1084754c2dd08bbf05d1c09f52abdbf5b373d6.tar.gz rtmux-eb1084754c2dd08bbf05d1c09f52abdbf5b373d6.tar.bz2 rtmux-eb1084754c2dd08bbf05d1c09f52abdbf5b373d6.zip |
Merge branch 'master' of github.com:tmux/tmux
-rw-r--r-- | cfg.c | 2 | ||||
-rw-r--r-- | client.c | 4 | ||||
-rw-r--r-- | cmd-attach-session.c | 2 | ||||
-rw-r--r-- | cmd-new-session.c | 1 | ||||
-rw-r--r-- | cmd-switch-client.c | 1 | ||||
-rw-r--r-- | format.c | 7 | ||||
-rw-r--r-- | server-fn.c | 1 | ||||
-rw-r--r-- | tmux.1 | 2 | ||||
-rw-r--r-- | tmux.h | 1 |
9 files changed, 20 insertions, 1 deletions
@@ -97,7 +97,7 @@ load_cfg(const char *path, struct cmd_q *cmdq, char **cause) } found = 0; - while ((buf = fparseln(f, NULL, &line, delim, 0))) { + while ((buf = fparseln(f, NULL, &line, delim, 0)) != NULL) { log_debug("%s: %s", path, buf); /* Skip empty lines. */ @@ -264,6 +264,10 @@ client_main(struct event_base *base, int argc, char **argv, int flags) } return (1); } + options_free(&global_options); + options_free(&global_s_options); + options_free(&global_w_options); + environ_free(&global_environ); /* Set process title, log and signals now this is the client. */ #ifdef HAVE_SETPROCTITLE diff --git a/cmd-attach-session.c b/cmd-attach-session.c index 356bd4aa..a2ae49cb 100644 --- a/cmd-attach-session.c +++ b/cmd-attach-session.c @@ -136,6 +136,7 @@ cmd_attach_session(struct cmd_q *cmdq, const char *tflag, int dflag, int rflag, status_timer_start(c); notify_attached_session_changed(c); session_update_activity(s, NULL); + gettimeofday(&s->last_attached_time, NULL); server_redraw_client(c); s->curw->flags &= ~WINLINK_ALERTFLAGS; } else { @@ -181,6 +182,7 @@ cmd_attach_session(struct cmd_q *cmdq, const char *tflag, int dflag, int rflag, status_timer_start(c); notify_attached_session_changed(c); session_update_activity(s, NULL); + gettimeofday(&s->last_attached_time, NULL); server_redraw_client(c); s->curw->flags &= ~WINLINK_ALERTFLAGS; diff --git a/cmd-new-session.c b/cmd-new-session.c index fa4f1553..7687398e 100644 --- a/cmd-new-session.c +++ b/cmd-new-session.c @@ -278,6 +278,7 @@ cmd_new_session_exec(struct cmd *self, struct cmd_q *cmdq) status_timer_start(c); notify_attached_session_changed(c); session_update_activity(s, NULL); + gettimeofday(&s->last_attached_time, NULL); server_redraw_client(c); } recalculate_sizes(); diff --git a/cmd-switch-client.c b/cmd-switch-client.c index 8bc8a3c5..10171018 100644 --- a/cmd-switch-client.c +++ b/cmd-switch-client.c @@ -129,6 +129,7 @@ cmd_switch_client_exec(struct cmd *self, struct cmd_q *cmdq) c->session = s; status_timer_start(c); session_update_activity(s, NULL); + gettimeofday(&s->last_attached_time, NULL); recalculate_sizes(); server_check_unattached(); @@ -889,6 +889,13 @@ format_defaults_session(struct format_tree *ft, struct session *s) format_add(ft, "session_created", "%lld", (long long) t); format_add(ft, "session_created_string", "%s", format_time_string(t)); + t = s->last_attached_time.tv_sec; + if (t != 0) { /* zero if never attached */ + format_add(ft, "session_last_attached", "%lld", (long long) t); + format_add(ft, "session_last_attached_string", "%s", + format_time_string(t)); + } + t = s->activity_time.tv_sec; format_add(ft, "session_activity", "%lld", (long long) t); format_add(ft, "session_activity_string", "%s", format_time_string(t)); diff --git a/server-fn.c b/server-fn.c index 076e4e72..bc2b7002 100644 --- a/server-fn.c +++ b/server-fn.c @@ -425,6 +425,7 @@ server_destroy_session(struct session *s) status_timer_start(c); notify_attached_session_changed(c); session_update_activity(s_new, NULL); + gettimeofday(&s_new->last_attached_time, NULL); server_redraw_client(c); } } @@ -3406,6 +3406,8 @@ The following variables are available, where appropriate: .It Li "session_activity_string" Ta "" Ta "String time of session last activity" .It Li "session_created" Ta "" Ta "Integer time session created" .It Li "session_created_string" Ta "" Ta "String time session created" +.It Li "session_last_attached" Ta "" Ta "Integer time session last attached" +.It Li "session_last_attached_string" Ta "" Ta "String time session last attached" .It Li "session_group" Ta "" Ta "Number of session group" .It Li "session_grouped" Ta "" Ta "1 if session in a group" .It Li "session_height" Ta "" Ta "Height of session" @@ -985,6 +985,7 @@ struct session { int cwd; struct timeval creation_time; + struct timeval last_attached_time; struct timeval activity_time; struct timeval last_activity_time; |