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
This commit is contained in:
Michael Vetter
2020-03-24 22:13:14 +01:00
parent fd090d384d
commit f131680055
9 changed files with 65 additions and 63 deletions

View File

@@ -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

View File

@@ -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;