diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/msg.c | 10 | ||||
-rw-r--r-- | common/msg_control.h | 1 |
2 files changed, 11 insertions, 0 deletions
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; diff --git a/common/msg_control.h b/common/msg_control.h index 8d9c9e33d2..2179881a04 100644 --- a/common/msg_control.h +++ b/common/msg_control.h @@ -14,6 +14,7 @@ bool mp_msg_has_log_file(struct mpv_global *global); void mp_msg_set_early_logging(struct mpv_global *global, bool enable); void mp_msg_flush_status_line(struct mp_log *log); +void mp_msg_set_term_title(struct mp_log *log, const char *title); struct mp_log_buffer_entry { char *prefix; |