=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/window.c,v retrieving revision 1.278 retrieving revision 1.279 diff -u -r1.278 -r1.279 --- src/usr.bin/tmux/window.c 2022/02/03 07:38:17 1.278 +++ src/usr.bin/tmux/window.c 2022/03/16 17:00:17 1.279 @@ -1,4 +1,4 @@ -/* $OpenBSD: window.c,v 1.278 2022/02/03 07:38:17 nicm Exp $ */ +/* $OpenBSD: window.c,v 1.279 2022/03/16 17:00:17 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -331,6 +331,7 @@ w->id = next_window_id++; RB_INSERT(windows, &windows, w); + window_set_fill_character(w); window_update_activity(w); log_debug("%s: @%u create %ux%u (%ux%u)", __func__, w->id, sx, sy, @@ -362,6 +363,7 @@ event_del(&w->offset_timer); options_free(w->options); + free(w->fill_character); free(w->name); free(w); @@ -1588,4 +1590,21 @@ if (size > EVBUFFER_LENGTH(wp->event->input) - used) size = EVBUFFER_LENGTH(wp->event->input) - used; wpo->used += size; +} + +void +window_set_fill_character(struct window *w) +{ + const char *value; + struct utf8_data *ud; + + free(w->fill_character); + w->fill_character = NULL; + + value = options_get_string(w->options, "fill-character"); + if (*value != '\0' && utf8_isvalid(value)) { + ud = utf8_fromcstr(value); + if (ud != NULL && ud[0].width == 1) + w->fill_character = ud; + } }