Sync OpenBSD patchset 813:

Add a function to create window flags rather than doing the same thing
in two places. From Thomas Adam.
This commit is contained in:
Tiago Cunha
2011-01-07 16:55:40 +00:00
parent 1cb579d0fd
commit 30f6d9b167
4 changed files with 40 additions and 36 deletions

View File

@ -1,4 +1,4 @@
/* $Id: window.c,v 1.142 2010-12-06 22:52:21 nicm Exp $ */
/* $Id: window.c,v 1.143 2011-01-07 16:55:40 tcunha Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@ -460,6 +460,32 @@ window_destroy_panes(struct window *w)
}
}
/* Return list of printable window flag symbols. No flags is just a space. */
char *
window_printable_flags(struct session *s, struct winlink *wl)
{
char flags[BUFSIZ];
int pos;
pos = 0;
if (wl->flags & WINLINK_ACTIVITY)
flags[pos++] = '#';
if (wl->flags & WINLINK_BELL)
flags[pos++] = '!';
if (wl->flags & WINLINK_CONTENT)
flags[pos++] = '+';
if (wl->flags & WINLINK_SILENCE)
flags[pos++] = '~';
if (wl == s->curw)
flags[pos++] = '*';
if (wl == TAILQ_FIRST(&s->lastw))
flags[pos++] = '-';
if (pos == 0)
flags[pos++] = ' ';
flags[pos] = '\0';
return (xstrdup(flags));
}
struct window_pane *
window_pane_create(struct window *w, u_int sx, u_int sy, u_int hlimit)
{