From b1d16a2300c99fd6bf847b6b3374280f9aafa87d Mon Sep 17 00:00:00 2001 From: wm4 Date: Mon, 25 May 2020 20:37:37 +0200 Subject: player: add --term-title option This simply printf()s a concatenation of the provided string and the relevant escape sequences. No idea what exactly defines this escape sequence (is it just a xterm thing that is now supported relatively widely?), and this simply uses information provided on the linked github issue. Not much of an advantage over --term-status-msg, though at least this can have a lower update frequency. Also I may consider setting a default value, and then it shouldn't conflict with the status message. Fixes: #1725 --- common/msg.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'common/msg.c') diff --git a/common/msg.c b/common/msg.c index 0d1c165222..7f8754b308 100644 --- a/common/msg.c +++ b/common/msg.c @@ -230,6 +230,16 @@ void mp_msg_flush_status_line(struct mp_log *log) } } +void mp_msg_set_term_title(struct mp_log *log, const char *title) +{ + if (log->root && title) { + // Lock because printf to terminal is not necessarily atomic. + pthread_mutex_lock(&log->root->lock); + fprintf(stderr, "\e]0;%s\007", title); + pthread_mutex_unlock(&log->root->lock); + } +} + bool mp_msg_has_status_line(struct mpv_global *global) { struct mp_log_root *root = global->log->root; -- cgit v1.2.3