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

Diff for /src/usr.bin/tmux/format.c between version 1.132 and 1.133

version 1.132, 2017/05/03 05:53:34 version 1.133, 2017/05/05 11:59:47
Line 42 
Line 42 
 static char     *format_job_get(struct format_tree *, const char *);  static char     *format_job_get(struct format_tree *, const char *);
 static void      format_job_timer(int, short, void *);  static void      format_job_timer(int, short, void *);
   
 static void      format_cb_host(struct format_tree *, struct format_entry *);  
 static void      format_cb_host_short(struct format_tree *,  
                      struct format_entry *);  
 static void      format_cb_pid(struct format_tree *, struct format_entry *);  
 static void      format_cb_session_alerts(struct format_tree *,  
                      struct format_entry *);  
 static void      format_cb_window_layout(struct format_tree *,  
                      struct format_entry *);  
 static void      format_cb_window_visible_layout(struct format_tree *,  
                      struct format_entry *);  
 static void      format_cb_start_command(struct format_tree *,  
                      struct format_entry *);  
 static void      format_cb_current_command(struct format_tree *,  
                      struct format_entry *);  
 static void      format_cb_history_bytes(struct format_tree *,  
                      struct format_entry *);  
 static void      format_cb_pane_tabs(struct format_tree *,  
                      struct format_entry *);  
   
 static char     *format_find(struct format_tree *, const char *, int);  static char     *format_find(struct format_tree *, const char *, int);
 static void      format_add_cb(struct format_tree *, const char *, format_cb);  static void      format_add_cb(struct format_tree *, const char *, format_cb);
 static void      format_add_tv(struct format_tree *, const char *,  static void      format_add_tv(struct format_tree *, const char *,
Line 126 
Line 107 
 /* Format entry tree. */  /* Format entry tree. */
 struct format_tree {  struct format_tree {
         struct window           *w;          struct window           *w;
           struct winlink          *wl;
         struct session          *s;          struct session          *s;
         struct window_pane      *wp;          struct window_pane      *wp;
   
Line 416 
Line 398 
 {  {
         struct session  *s = ft->s;          struct session  *s = ft->s;
         struct winlink  *wl;          struct winlink  *wl;
         char             alerts[256], tmp[16];          char             alerts[1024], tmp[16];
   
         if (s == NULL)          if (s == NULL)
                 return;                  return;
Line 440 
Line 422 
         fe->value = xstrdup(alerts);          fe->value = xstrdup(alerts);
 }  }
   
   /* Callback for session_stack. */
   static void
   format_cb_session_stack(struct format_tree *ft, struct format_entry *fe)
   {
           struct session  *s = ft->s;
           struct winlink  *wl;
           char             result[1024], tmp[16];
   
           if (s == NULL)
                   return;
   
           xsnprintf(result, sizeof result, "%u", s->curw->idx);
           TAILQ_FOREACH(wl, &s->lastw, sentry) {
                   xsnprintf(tmp, sizeof tmp, "%u", wl->idx);
   
                   if (*result != '\0')
                           strlcat(result, ",", sizeof result);
                   strlcat(result, tmp, sizeof result);
           }
           fe->value = xstrdup(result);
   }
   
   /* Callback for window_stack_index. */
   static void
   format_cb_window_stack_index(struct format_tree *ft, struct format_entry *fe)
   {
           struct session  *s = ft->wl->session;
           struct winlink  *wl;
           u_int            idx;
   
           idx = 0;
           TAILQ_FOREACH(wl, &s->lastw, sentry) {
                   idx++;
                   if (wl == ft->wl)
                           break;
           }
           if (wl != NULL)
                   xasprintf(&fe->value, "%u", idx);
           else
                   fe->value = xstrdup("0");
   }
   
 /* Callback for window_layout. */  /* Callback for window_layout. */
 static void  static void
 format_cb_window_layout(struct format_tree *ft, struct format_entry *fe)  format_cb_window_layout(struct format_tree *ft, struct format_entry *fe)
Line 1200 
Line 1224 
         format_add(ft, "session_many_attached", "%d", s->attached > 1);          format_add(ft, "session_many_attached", "%d", s->attached > 1);
   
         format_add_cb(ft, "session_alerts", format_cb_session_alerts);          format_add_cb(ft, "session_alerts", format_cb_session_alerts);
           format_add_cb(ft, "session_stack", format_cb_session_stack);
 }  }
   
 /* Set default format keys for a client. */  /* Set default format keys for a client. */
Line 1286 
Line 1311 
   
         if (ft->w == NULL)          if (ft->w == NULL)
                 ft->w = wl->window;                  ft->w = wl->window;
           ft->wl = wl;
   
         format_defaults_window(ft, w);          format_defaults_window(ft, w);
   
         format_add(ft, "window_index", "%d", wl->idx);          format_add(ft, "window_index", "%d", wl->idx);
           format_add_cb(ft, "window_stack_index", format_cb_window_stack_index);
         format_add(ft, "window_flags", "%s", window_printable_flags(wl));          format_add(ft, "window_flags", "%s", window_printable_flags(wl));
         format_add(ft, "window_active", "%d", wl == s->curw);          format_add(ft, "window_active", "%d", wl == s->curw);
   

Legend:
Removed from v.1.132  
changed lines
  Added in v.1.133