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

Diff for /src/usr.bin/tmux/screen-redraw.c between version 1.9 and 1.10

version 1.9, 2009/08/10 19:42:03 version 1.10, 2009/08/31 20:46:19
Line 24 
Line 24 
   
 int     screen_redraw_cell_border(struct client *, u_int, u_int);  int     screen_redraw_cell_border(struct client *, u_int, u_int);
 int     screen_redraw_check_cell(struct client *, u_int, u_int);  int     screen_redraw_check_cell(struct client *, u_int, u_int);
   void    screen_redraw_draw_number(struct client *, struct window_pane *);
   
 #define CELL_INSIDE 0  #define CELL_INSIDE 0
 #define CELL_LEFTRIGHT 1  #define CELL_LEFTRIGHT 1
Line 210 
Line 211 
                                 continue;                                  continue;
                         tty_draw_line(tty, wp->screen, i, wp->xoff, wp->yoff);                          tty_draw_line(tty, wp->screen, i, wp->xoff, wp->yoff);
                 }                  }
                   if (c->flags & CLIENT_IDENTIFY)
                           screen_redraw_draw_number(c, wp);
         }          }
   
         /* Draw the status line. */          /* Draw the status line. */
Line 227 
Line 230 
         for (i = 0; i < wp->sy; i++)          for (i = 0; i < wp->sy; i++)
                 tty_draw_line(&c->tty, wp->screen, i, wp->xoff, wp->yoff);                  tty_draw_line(&c->tty, wp->screen, i, wp->xoff, wp->yoff);
         tty_reset(&c->tty);          tty_reset(&c->tty);
   }
   
   /* Draw number on a pane. */
   void
   screen_redraw_draw_number(struct client *c, struct window_pane *wp)
   {
           struct tty              *tty = &c->tty;
           struct session          *s = c->session;
           struct grid_cell         gc;
           u_int                    idx, px, py, i, j;
           u_char                   colour;
           char                     buf[16], *ptr;
           size_t                   len;
   
           idx = window_pane_index(wp->window, wp);
           len = xsnprintf(buf, sizeof buf, "%u", idx);
   
           if (wp->sx < len)
                   return;
           colour = options_get_number(&s->options, "display-panes-colour");
   
           px = wp->sx / 2;
           py = wp->sy / 2;
           if (wp->sx < len * 6 || wp->sy < 5) {
                   tty_cursor(tty, px - len / 2, py, wp->xoff, wp->yoff);
                   memcpy(&gc, &grid_default_cell, sizeof gc);
                   gc.fg = colour;
                   tty_attributes(tty, &gc);
                   tty_puts(tty, buf);
                   return;
           }
   
           px -= len * 3;
           py -= 2;
   
           memcpy(&gc, &grid_default_cell, sizeof gc);
           gc.bg = colour;
           tty_attributes(tty, &gc);
           for (ptr = buf; *ptr != '\0'; ptr++) {
                   if (*ptr < '0' || *ptr > '9')
                           continue;
                   idx = *ptr - '0';
   
                   for (j = 0; j < 5; j++) {
                           for (i = px; i < px + 5; i++) {
                                   tty_cursor(tty, i, py + j, wp->xoff, wp->yoff);
                                   if (!clock_table[idx][j][i - px])
                                           continue;
                                   tty_putc(tty, ' ');
                           }
                   }
                   px += 6;
           }
 }  }

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