mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 05:21:10 +00:00
Add a status-justify option to allow the window list in the status line to be
positioned at the left, centre, or right.
This commit is contained in:
17
status.c
17
status.c
@ -46,7 +46,7 @@ status_redraw(struct client *c)
|
||||
struct screen old_status;
|
||||
char *left, *right, *text, *ptr;
|
||||
size_t llen, llen2, rlen, rlen2, offset;
|
||||
size_t xx, yy, size, start, width;
|
||||
size_t ox, xx, yy, size, start, width;
|
||||
struct grid_cell stdgc, gc;
|
||||
int larrow, rarrow, utf8flag;
|
||||
|
||||
@ -175,6 +175,21 @@ draw:
|
||||
screen_write_cursormove(&ctx, 0, yy);
|
||||
}
|
||||
|
||||
ox = 0;
|
||||
if (width < xx) {
|
||||
switch (options_get_number(&s->options, "status-justify")) {
|
||||
case 1: /* centered */
|
||||
ox = 1 + (xx - width) / 2;
|
||||
break;
|
||||
case 2: /* right */
|
||||
ox = 1 + (xx - width);
|
||||
break;
|
||||
}
|
||||
xx -= ox;
|
||||
while (ox-- > 0)
|
||||
screen_write_putc(&ctx, &stdgc, ' ');
|
||||
}
|
||||
|
||||
/* Draw each character in succession. */
|
||||
offset = 0;
|
||||
RB_FOREACH(wl, winlinks, &s->windows) {
|
||||
|
Reference in New Issue
Block a user