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

Diff for /src/usr.bin/tmux/status.c between version 1.16 and 1.17

version 1.16, 2009/07/21 18:40:30 version 1.17, 2009/07/26 21:13:47
Line 645 
Line 645 
         struct screen_write_ctx ctx;          struct screen_write_ctx ctx;
         struct session                 *s = c->session;          struct session                 *s = c->session;
         struct screen                   old_status;          struct screen                   old_status;
         size_t                          i, size, left, len, offset, n;          size_t                          i, size, left, len, off, n;
         char                            ch;          char                            ch;
         struct grid_cell                gc;          struct grid_cell                gc;
   
Line 653 
Line 653 
                 return (0);                  return (0);
         memcpy(&old_status, &c->status, sizeof old_status);          memcpy(&old_status, &c->status, sizeof old_status);
         screen_init(&c->status, c->tty.sx, 1, 0);          screen_init(&c->status, c->tty.sx, 1, 0);
         offset = 0;          off = 0;
   
         len = strlen(c->prompt_string);          len = strlen(c->prompt_string);
         if (len > c->tty.sx)          if (len > c->tty.sx)
Line 674 
Line 674 
                 if (c->prompt_index < left)                  if (c->prompt_index < left)
                         size = strlen(c->prompt_buffer);                          size = strlen(c->prompt_buffer);
                 else {                  else {
                         offset = c->prompt_index - left - 1;                          off = c->prompt_index - left + 1;
                         if (c->prompt_index == strlen(c->prompt_buffer))                          if (c->prompt_index == strlen(c->prompt_buffer))
                                 left--;                                  left--;
                         size = left;                          size = left;
Line 687 
Line 687 
                                 screen_write_putc(&ctx, &gc, '*');                                  screen_write_putc(&ctx, &gc, '*');
                 } else {                  } else {
                         screen_write_puts(&ctx, &gc,                          screen_write_puts(&ctx, &gc,
                             "%.*s", (int) left, c->prompt_buffer + offset);                              "%.*s", (int) left, c->prompt_buffer + off);
                 }                  }
   
                 for (i = len + size; i < c->tty.sx; i++)                  for (i = len + size; i < c->tty.sx; i++)
                         screen_write_putc(&ctx, &gc, ' ');                          screen_write_putc(&ctx, &gc, ' ');
         }  
   
         /* Draw a fake cursor. */                  /* Draw a fake cursor. */
         screen_write_cursormove(&ctx, len + c->prompt_index - offset, 0);                  screen_write_cursormove(&ctx, len + c->prompt_index - off, 0);
         if (c->prompt_index == strlen(c->prompt_buffer))                  if (c->prompt_index == strlen(c->prompt_buffer))
                 ch = ' ';                          ch = ' ';
         else {                  else {
                 if (c->prompt_flags & PROMPT_HIDDEN)                          if (c->prompt_flags & PROMPT_HIDDEN)
                         ch = '*';                                  ch = '*';
                 else                          else
                         ch = c->prompt_buffer[c->prompt_index];                                  ch = c->prompt_buffer[c->prompt_index];
                   }
                   if (ch == '\0')
                           ch = ' ';
                   gc.attr ^= GRID_ATTR_REVERSE;
                   screen_write_putc(&ctx, &gc, ch);
         }          }
         if (ch == '\0')  
                 ch = ' ';  
         gc.attr ^= GRID_ATTR_REVERSE;  
         screen_write_putc(&ctx, &gc, ch);  
   
         screen_write_stop(&ctx);          screen_write_stop(&ctx);
   

Legend:
Removed from v.1.16  
changed lines
  Added in v.1.17