diff options
author | Michael Vetter <jubalh@iodoru.org> | 2020-03-24 22:13:14 +0100 |
---|---|---|
committer | Michael Vetter <jubalh@iodoru.org> | 2020-03-24 22:22:16 +0100 |
commit | f13168005512fe4219741d9daf83681dd9ed3d63 (patch) | |
tree | a6a9697bc8f9580fb4689d3a423e9a29e5308ef9 /src/ui | |
parent | fd090d384da14a6fe65cfb4ecb23f02c29d10eba (diff) | |
download | profani-tty-f13168005512fe4219741d9daf83681dd9ed3d63.tar.gz |
titlebar: allow displaying MUC name and MUC jid
`/titlebar use name|jid` -> `/titlebar show|hide name|jid` Fix https://github.com/profanity-im/profanity/issues/1284
Diffstat (limited to 'src/ui')
-rw-r--r-- | src/ui/console.c | 14 | ||||
-rw-r--r-- | src/ui/window.c | 21 |
2 files changed, 25 insertions, 10 deletions
diff --git a/src/ui/console.c b/src/ui/console.c index 8d2fb26d..360950a1 100644 --- a/src/ui/console.c +++ b/src/ui/console.c @@ -1159,9 +1159,17 @@ cons_titlebar_setting(void) cons_show("Titlebar presence (/titlebar) : OFF"); } - char *muctitle = prefs_get_string(PREF_TITLEBAR_MUC_TITLE); - cons_show("MUC window title (/titlebar) : %s", muctitle); - prefs_free_string(muctitle); + if (prefs_get_boolean(PREF_TITLEBAR_MUC_TITLE_NAME)) { + cons_show("Titlebar show MUC name (/titlebar) : ON"); + } else { + cons_show("Titlebar show MUC name (/titlebar) : OFF"); + } + + if (prefs_get_boolean(PREF_TITLEBAR_MUC_TITLE_JID)) { + cons_show("Titlebar show MUC JID (/titlebar) : ON"); + } else { + cons_show("Titlebar show MUC JID (/titlebar) : OFF"); + } } void diff --git a/src/ui/window.c b/src/ui/window.c index 9ccc19ee..7dc2f62d 100644 --- a/src/ui/window.c +++ b/src/ui/window.c @@ -300,14 +300,21 @@ win_get_title(ProfWin *window) ProfMucWin *mucwin = (ProfMucWin*) window; assert(mucwin->memcheck == PROFMUCWIN_MEMCHECK); - char *use_as_name = prefs_get_string(PREF_TITLEBAR_MUC_TITLE); - if ((g_strcmp0(use_as_name, "name") == 0) && mucwin->room_name) { - prefs_free_string(use_as_name); - return strdup(mucwin->room_name); - } else { - prefs_free_string(use_as_name); - return strdup(mucwin->roomjid); + gboolean show_titlebar_jid = prefs_get_boolean(PREF_TITLEBAR_MUC_TITLE_JID); + gboolean show_titlebar_name = prefs_get_boolean(PREF_TITLEBAR_MUC_TITLE_NAME); + GString *title = g_string_new(""); + + if (show_titlebar_name) { + g_string_append(title, mucwin->room_name); + g_string_append(title, " "); + } + if (show_titlebar_jid) { + g_string_append(title, mucwin->roomjid); } + + char *title_str = title->str; + g_string_free(title, FALSE); + return title_str; } if (window->type == WIN_CONFIG) { ProfConfWin *confwin = (ProfConfWin*) window; |