[BACK]Return to server-client.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Diff for /src/usr.bin/tmux/server-client.c between version 1.9 and 1.10

version 1.9, 2009/10/27 13:03:33 version 1.10, 2009/11/03 20:29:47
Line 61 
Line 61 
         c->references = 0;          c->references = 0;
         imsg_init(&c->ibuf, fd);          imsg_init(&c->ibuf, fd);
   
         if (gettimeofday(&c->tv, NULL) != 0)          if (gettimeofday(&c->creation_time, NULL) != 0)
                 fatal("gettimeofday failed");                  fatal("gettimeofday failed");
   
         ARRAY_INIT(&c->prompt_hdata);          ARRAY_INIT(&c->prompt_hdata);
Line 261 
Line 261 
         struct window_pane      *wp;          struct window_pane      *wp;
         struct screen           *s;          struct screen           *s;
         struct options          *oo;          struct options          *oo;
         struct timeval           tv;          struct timeval           tv_add, tv_now;
         struct key_binding      *bd;          struct key_binding      *bd;
         struct keylist          *keylist;          struct keylist          *keylist;
         struct mouse_event       mouse;          struct mouse_event       mouse;
         int                      key, status, xtimeout, mode, isprefix;          int                      key, status, xtimeout, mode, isprefix;
         u_int                    i;          u_int                    i;
   
           /* Check and update repeat flag. */
           if (gettimeofday(&tv_now, NULL) != 0)
                   fatal("gettimeofday failed");
         xtimeout = options_get_number(&c->session->options, "repeat-time");          xtimeout = options_get_number(&c->session->options, "repeat-time");
         if (xtimeout != 0 && c->flags & CLIENT_REPEAT) {          if (xtimeout != 0 && c->flags & CLIENT_REPEAT) {
                 if (gettimeofday(&tv, NULL) != 0)                  if (timercmp(&tv_now, &c->repeat_timer, >))
                         fatal("gettimeofday failed");  
                 if (timercmp(&tv, &c->repeat_timer, >))  
                         c->flags &= ~(CLIENT_PREFIX|CLIENT_REPEAT);                          c->flags &= ~(CLIENT_PREFIX|CLIENT_REPEAT);
         }          }
   
Line 281 
Line 282 
         while (tty_keys_next(&c->tty, &key, &mouse) == 0) {          while (tty_keys_next(&c->tty, &key, &mouse) == 0) {
                 if (c->session == NULL)                  if (c->session == NULL)
                         return;                          return;
   
                 c->session->activity = time(NULL);  
                 w = c->session->curw->window;                  w = c->session->curw->window;
                 wp = w->active; /* could die */                  wp = w->active; /* could die */
                 oo = &c->session->options;                  oo = &c->session->options;
   
                   /* Update activity timer. */
                   memcpy(&c->session->activity_time,
                       &tv_now, sizeof c->session->activity_time);
   
                 /* Special case: number keys jump to pane in identify mode. */                  /* Special case: number keys jump to pane in identify mode. */
                 if (c->flags & CLIENT_IDENTIFY && key >= '0' && key <= '9') {                  if (c->flags & CLIENT_IDENTIFY && key >= '0' && key <= '9') {
                         wp = window_pane_at_index(w, key - '0');                          wp = window_pane_at_index(w, key - '0');
Line 364 
Line 367 
                 if (xtimeout != 0 && bd->can_repeat) {                  if (xtimeout != 0 && bd->can_repeat) {
                         c->flags |= CLIENT_PREFIX|CLIENT_REPEAT;                          c->flags |= CLIENT_PREFIX|CLIENT_REPEAT;
   
                         tv.tv_sec = xtimeout / 1000;                          tv_add.tv_sec = xtimeout / 1000;
                         tv.tv_usec = (xtimeout % 1000) * 1000L;                          tv_add.tv_usec = (xtimeout % 1000) * 1000L;
                         if (gettimeofday(&c->repeat_timer, NULL) != 0)                          timeradd(&tv_now, &tv_add, &c->repeat_timer);
                                 fatal("gettimeofday failed");  
                         timeradd(&c->repeat_timer, &tv, &c->repeat_timer);  
                 }                  }
   
                 /* Dispatch the command. */                  /* Dispatch the command. */
Line 581 
Line 582 
                         if (!(c->flags & CLIENT_SUSPENDED))                          if (!(c->flags & CLIENT_SUSPENDED))
                                 break;                                  break;
                         c->flags &= ~CLIENT_SUSPENDED;                          c->flags &= ~CLIENT_SUSPENDED;
   
                           if (c->session != NULL &&
                               gettimeofday(&c->session->activity_time, NULL) != 0)
                                   fatal("gettimeofday failed");
   
                         tty_start_tty(&c->tty);                          tty_start_tty(&c->tty);
                         server_redraw_client(c);                          server_redraw_client(c);
                         recalculate_sizes();                          recalculate_sizes();
                         if (c->session != NULL)  
                                 c->session->activity = time(NULL);  
                         break;                          break;
                 case MSG_ENVIRON:                  case MSG_ENVIRON:
                         if (datalen != sizeof environdata)                          if (datalen != sizeof environdata)
Line 664 
Line 668 
         struct cmd      *cmd;          struct cmd      *cmd;
         int              argc;          int              argc;
         char           **argv, *cause;          char           **argv, *cause;
   
         if (c->session != NULL)  
                 c->session->activity = time(NULL);  
   
         ctx.error = server_client_msg_error;          ctx.error = server_client_msg_error;
         ctx.print = server_client_msg_print;          ctx.print = server_client_msg_print;

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10