-/* $OpenBSD: style.c,v 1.31 2022/06/30 09:55:53 nicm Exp $ */
+/* $OpenBSD: style.c,v 1.32 2023/06/26 07:17:40 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
if (strcasecmp(tmp, "default") == 0) {
sy->gc.fg = base->fg;
sy->gc.bg = base->bg;
+ sy->gc.us = base->us;
sy->gc.attr = base->attr;
sy->gc.flags = base->flags;
} else if (strcasecmp(tmp, "ignore") == 0)
sy->gc.bg = base->bg;
} else
goto error;
+ } else if (end > 3 && strncasecmp(tmp, "us=", 3) == 0) {
+ if ((value = colour_fromstring(tmp + 3)) == -1)
+ goto error;
+ if (value != 8)
+ sy->gc.us = value;
+ else
+ sy->gc.us = base->us;
} else if (strcasecmp(tmp, "none") == 0)
sy->gc.attr = 0;
else if (end > 2 && strncasecmp(tmp, "no", 2) == 0) {
colour_tostring(gc->bg));
comma = ",";
}
+ if (gc->us != 8) {
+ off += xsnprintf(s + off, sizeof s - off, "%sus=%s", comma,
+ colour_tostring(gc->us));
+ comma = ",";
+ }
if (gc->attr != 0) {
xsnprintf(s + off, sizeof s - off, "%s%s", comma,
attributes_tostring(gc->attr));
gc->fg = sy->gc.fg;
if (sy->gc.bg != 8)
gc->bg = sy->gc.bg;
+ if (sy->gc.us != 8)
+ gc->us = sy->gc.us;
gc->attr |= sy->gc.attr;
if (ft0 != NULL)
-.\" $OpenBSD: tmux.1,v 1.920 2023/05/19 07:46:34 nicm Exp $
+.\" $OpenBSD: tmux.1,v 1.921 2023/06/26 07:17:40 nicm Exp $
.\"
.\" Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
.\"
.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
.\"
-.Dd $Mdocdate: May 19 2023 $
+.Dd $Mdocdate: June 26 2023 $
.Dt TMUX 1
.Os
.Sh NAME
.Ql #ffffff .
.It Ic bg=colour
Set the background colour.
+.It Ic us=colour
+Set the underscore colour.
.It Ic none
Set no attributes (turn off any active attributes).
.It Xo Ic acs ,
-/* $OpenBSD: tty.c,v 1.430 2023/04/25 09:31:50 nicm Exp $ */
+/* $OpenBSD: tty.c,v 1.431 2023/06/26 07:17:40 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
if (tty->term->flags & TERM_VT100LIKE)
tty_puts(tty, "\033[?7727h");
+ /*
+ * Features might have changed since the first draw during attach. For
+ * example, this happens when DA responses are received.
+ */
+ server_redraw_client(c);
+
tty_invalidate(tty);
}
gc->us = c;
}
- /* Underscore colour is set as RGB so convert a 256 colour to RGB. */
- if (gc->us & COLOUR_FLAG_256)
- gc->us = colour_256toRGB (gc->us);
+ /* Underscore colour is set as RGB so convert. */
+ gc->us = colour_force_rgb (gc->us);
+ if (gc->us == -1)
+ gc->us = 8;
}
static void