about summary refs log tree commit diff stats
path: root/src/ui
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/console.c5
-rw-r--r--src/ui/rosterwin.c12
2 files changed, 13 insertions, 4 deletions
diff --git a/src/ui/console.c b/src/ui/console.c
index 8bf873a5..ceb02e08 100644
--- a/src/ui/console.c
+++ b/src/ui/console.c
@@ -1039,6 +1039,11 @@ cons_roster_setting(void)
     else
         cons_show("Roster resource (/roster)     : hide");
 
+    if (prefs_get_boolean(PREF_ROSTER_EMPTY))
+        cons_show("Roster empty (/roster)        : show");
+    else
+        cons_show("Roster empty (/roster)        : hide");
+
     char *by = prefs_get_string(PREF_ROSTER_BY);
     cons_show("Roster by (/roster)           : %s", by);
     prefs_free_string(by);
diff --git a/src/ui/rosterwin.c b/src/ui/rosterwin.c
index db9a4af6..e48be866 100644
--- a/src/ui/rosterwin.c
+++ b/src/ui/rosterwin.c
@@ -84,11 +84,15 @@ _rosterwin_contact(ProfLayoutSplit *layout, PContact contact)
 static void
 _rosterwin_contacts_by_presence(ProfLayoutSplit *layout, const char * const presence, char *title)
 {
-    wattron(layout->subwin, theme_attrs(THEME_ROSTER_HEADER));
-    win_printline_nowrap(layout->subwin, title);
-    wattroff(layout->subwin, theme_attrs(THEME_ROSTER_HEADER));
-
     GSList *contacts = roster_get_contacts_by_presence(presence);
+
+    // if this group has contacts, or if we want to show empty groups
+    if (contacts || prefs_get_boolean(PREF_ROSTER_EMPTY)) {
+        wattron(layout->subwin, theme_attrs(THEME_ROSTER_HEADER));
+        win_printline_nowrap(layout->subwin, title);
+        wattroff(layout->subwin, theme_attrs(THEME_ROSTER_HEADER));
+    }
+
     if (contacts) {
         GSList *curr_contact = contacts;
         while (curr_contact) {