about summary refs log tree commit diff stats
path: root/src/ui
diff options
context:
space:
mode:
authorMichael Vetter <jubalh@iodoru.org>2021-10-22 17:08:14 +0200
committerGitHub <noreply@github.com>2021-10-22 17:08:14 +0200
commit56846a5b777628cf355b70fcc4738bfe95bd264a (patch)
tree75226b3fef45708bab22e3a27c80b7ba5b5f34a8 /src/ui
parentab5ee11c669d62ab8db75db338daab44a93563f0 (diff)
parentcc206ee8cc2cf8458325337f2e68b0dd11b95afd (diff)
downloadprofani-tty-56846a5b777628cf355b70fcc4738bfe95bd264a.tar.gz
Merge pull request #1607 from profanity-im/utf8indicatorchar
Allow more UI indicator signs to be utf8 "characters"
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/console.c80
-rw-r--r--src/ui/occupantswin.c10
-rw-r--r--src/ui/rosterwin.c53
3 files changed, 86 insertions, 57 deletions
diff --git a/src/ui/console.c b/src/ui/console.c
index bdb8f24d..61c1f1c2 100644
--- a/src/ui/console.c
+++ b/src/ui/console.c
@@ -1340,11 +1340,13 @@ cons_occupants_setting(void)
     else
         cons_show("Occupants wrap (/occupants)         : OFF");
 
-    char occupants_ch = prefs_get_occupants_char();
-    if (occupants_ch)
-        cons_show("Occupants char (/occupants)         : %c", occupants_ch);
-    else
+    char* occupants_ch = prefs_get_occupants_char();
+    if (occupants_ch) {
+        cons_show("Occupants char (/occupants)         : %s", occupants_ch);
+        free(occupants_ch);
+    } else {
         cons_show("Occupants char (/occupants)         : none");
+    }
 
     gint occupant_indent = prefs_get_occupants_indent();
     cons_show("Occupant indent (/occupants)        : %d", occupant_indent);
@@ -1352,11 +1354,13 @@ cons_occupants_setting(void)
     int size = prefs_get_occupants_size();
     cons_show("Occupants size (/occupants)         : %d", size);
 
-    char header_ch = prefs_get_occupants_header_char();
-    if (header_ch)
-        cons_show("Occupants header char (/occupants)  : %c", header_ch);
-    else
+    char* header_ch = prefs_get_occupants_header_char();
+    if (header_ch) {
+        cons_show("Occupants header char (/occupants)  : %s", header_ch);
+        free(header_ch);
+    } else {
         cons_show("Occupants header char (/occupants)  : none");
+    }
 }
 
 void
@@ -1475,41 +1479,53 @@ cons_roster_setting(void)
     else
         cons_show("Roster offline (/roster)            : hide");
 
-    char header_ch = prefs_get_roster_header_char();
-    if (header_ch)
-        cons_show("Roster header char (/roster)        : %c", header_ch);
-    else
+    char* header_ch = prefs_get_roster_header_char();
+    if (header_ch) {
+        cons_show("Roster header char (/roster)        : %s", header_ch);
+        free(header_ch);
+    } else {
         cons_show("Roster header char (/roster)        : none");
+    }
 
-    char contact_ch = prefs_get_roster_contact_char();
-    if (contact_ch)
-        cons_show("Roster contact char (/roster)       : %c", contact_ch);
-    else
+    char* contact_ch = prefs_get_roster_contact_char();
+    if (contact_ch) {
+        cons_show("Roster contact char (/roster)       : %s", contact_ch);
+        free(contact_ch);
+    } else {
         cons_show("Roster contact char (/roster)       : none");
+    }
 
-    char resource_ch = prefs_get_roster_resource_char();
-    if (resource_ch)
-        cons_show("Roster resource char (/roster)      : %c", resource_ch);
-    else
+    char* resource_ch = prefs_get_roster_resource_char();
+    if (resource_ch) {
+        cons_show("Roster resource char (/roster)      : %s", resource_ch);
+        free(resource_ch);
+    } else {
         cons_show("Roster resource char (/roster)      : none");
+    }
 
-    char room_ch = prefs_get_roster_room_char();
-    if (room_ch)
-        cons_show("Roster room char (/roster)          : %c", room_ch);
-    else
+    char* room_ch = prefs_get_roster_room_char();
+    if (room_ch) {
+        cons_show("Roster room char (/roster)          : %s", room_ch);
+        free(room_ch);
+    } else {
         cons_show("Roster room char (/roster)          : none");
+    }
 
-    char room_priv_ch = prefs_get_roster_room_private_char();
-    if (room_priv_ch)
-        cons_show("Roster room private char (/roster)  : %c", room_priv_ch);
-    else
+    char* room_priv_ch = prefs_get_roster_room_private_char();
+    if (room_priv_ch) {
+        cons_show("Roster room private char (/roster)  : %s", room_priv_ch);
+        free(room_priv_ch);
+    } else {
         cons_show("Roster room private char (/roster)  : none");
+    }
 
-    char private_ch = prefs_get_roster_private_char();
-    if (private_ch)
-        cons_show("Roster private char (/roster)       : %c", private_ch);
-    else
+    char* private_ch = prefs_get_roster_private_char();
+    if (private_ch) {
+        cons_show("Roster private char (/roster)       : %s", private_ch);
+        free(private_ch);
+    } else {
         cons_show("Roster private char (/roster)       : none");
+    }
 
     gint contact_indent = prefs_get_roster_contact_indent();
     cons_show("Roster contact indent (/roster)     : %d", contact_indent);
diff --git a/src/ui/occupantswin.c b/src/ui/occupantswin.c
index 4ceb5575..1524de3f 100644
--- a/src/ui/occupantswin.c
+++ b/src/ui/occupantswin.c
@@ -77,9 +77,10 @@ _occuptantswin_occupant(ProfLayoutSplit* layout, GList* item, gboolean showjid,
 
     GString* msg = g_string_new(spaces->str);
 
-    char ch = prefs_get_occupants_char();
+    char* ch = prefs_get_occupants_char();
     if (ch) {
-        g_string_append_printf(msg, "%c", ch);
+        g_string_append_printf(msg, "%s", ch);
+        free(ch);
     }
 
     gboolean wrap = prefs_get_boolean(PREF_OCCUPANTS_WRAP);
@@ -130,9 +131,10 @@ occupantswin_occupants(const char* const roomjid)
 
             GString* prefix = g_string_new(" ");
 
-            char ch = prefs_get_occupants_header_char();
+            char* ch = prefs_get_occupants_header_char();
             if (ch) {
-                g_string_append_printf(prefix, "%c", ch);
+                g_string_append_printf(prefix, "%s", ch);
+                free(ch);
             }
 
             if (prefs_get_boolean(PREF_MUC_PRIVILEGES)) {
diff --git a/src/ui/rosterwin.c b/src/ui/rosterwin.c
index 5c41fc82..5d368253 100644
--- a/src/ui/rosterwin.c
+++ b/src/ui/rosterwin.c
@@ -314,9 +314,10 @@ _rosterwin_unsubscribed_item(ProfLayoutSplit* layout, ProfChatWin* chatwin)
             indent--;
         }
     }
-    char ch = prefs_get_roster_contact_char();
+    char *ch = prefs_get_roster_contact_char();
     if (ch) {
-        g_string_append_printf(msg, "%c", ch);
+        g_string_append_printf(msg, "%s", ch);
+        free(ch);
     }
 
     char* unreadpos = prefs_get_string(PREF_ROSTER_UNREAD);
@@ -376,9 +377,10 @@ _rosterwin_contact(ProfLayoutSplit* layout, PContact contact)
             indent--;
         }
     }
-    char ch = prefs_get_roster_contact_char();
+    char *ch = prefs_get_roster_contact_char();
     if (ch) {
-        g_string_append_printf(msg, "%c", ch);
+        g_string_append_printf(msg, "%s", ch);
+        free(ch);
     }
 
     char* unreadpos = prefs_get_string(PREF_ROSTER_UNREAD);
@@ -527,9 +529,10 @@ _rosterwin_resources(ProfLayoutSplit* layout, PContact contact, int current_inde
 
             wattron(layout->subwin, theme_attrs(resource_presence_colour));
             GString* msg = g_string_new("");
-            char ch = prefs_get_roster_resource_char();
+            char* ch = prefs_get_roster_resource_char();
             if (ch) {
-                g_string_append_printf(msg, "%c", ch);
+                g_string_append_printf(msg, "%s", ch);
+                free(ch);
             } else {
                 g_string_append(msg, " ");
             }
@@ -590,9 +593,10 @@ _rosterwin_resources(ProfLayoutSplit* layout, PContact contact, int current_inde
                     g_string_append(msg, " ");
                     this_indent--;
                 }
-                char ch = prefs_get_roster_resource_char();
+                char* ch = prefs_get_roster_resource_char();
                 if (ch) {
-                    g_string_append_printf(msg, "%c", ch);
+                    g_string_append_printf(msg, "%s", ch);
+                    free(ch);
                 }
                 g_string_append(msg, resource->name);
                 if (prefs_get_boolean(PREF_ROSTER_PRIORITY)) {
@@ -752,9 +756,10 @@ _rosterwin_room(ProfLayoutSplit* layout, ProfMucWin* mucwin)
             indent--;
         }
     }
-    char ch = prefs_get_roster_room_char();
+    char* ch = prefs_get_roster_room_char();
     if (ch) {
-        g_string_append_printf(msg, "%c", ch);
+        g_string_append_printf(msg, "%s", ch);
+        free(ch);
     }
 
     char* unreadpos = prefs_get_string(PREF_ROSTER_ROOMS_UNREAD);
@@ -854,7 +859,8 @@ _rosterwin_room(ProfLayoutSplit* layout, ProfMucWin* mucwin)
 
             ch = prefs_get_roster_room_private_char();
             if (ch) {
-                g_string_append_printf(privmsg, "%c", ch);
+                g_string_append_printf(privmsg, "%s", ch);
+                free(ch);
             }
 
             char* nick = privwin->fulljid + strlen(mucwin->roomjid) + 1;
@@ -947,9 +953,10 @@ _rosterwin_private_chats(ProfLayoutSplit* layout, GList* orphaned_privchats)
                 g_string_append_printf(privmsg, "(%d) ", privwin->unread);
             }
 
-            char ch = prefs_get_roster_private_char();
+            char* ch = prefs_get_roster_private_char();
             if (ch) {
-                g_string_append_printf(privmsg, "%c", ch);
+                g_string_append_printf(privmsg, "%s", ch);
+                free(ch);
             }
 
             g_string_append(privmsg, privwin->fulljid);
@@ -1028,9 +1035,10 @@ _rosterwin_unsubscribed_header(ProfLayoutSplit* layout, GList* wins)
     win_sub_newline_lazy(layout->subwin);
 
     GString* header = g_string_new(" ");
-    char ch = prefs_get_roster_header_char();
+    char* ch = prefs_get_roster_header_char();
     if (ch) {
-        g_string_append_printf(header, "%c", ch);
+        g_string_append_printf(header, "%s", ch);
+        free(ch);
     }
 
     g_string_append(header, "Unsubscribed");
@@ -1074,9 +1082,10 @@ _rosterwin_contacts_header(ProfLayoutSplit* layout, const char* const title, GSL
     win_sub_newline_lazy(layout->subwin);
 
     GString* header = g_string_new(" ");
-    char ch = prefs_get_roster_header_char();
+    char* ch = prefs_get_roster_header_char();
     if (ch) {
-        g_string_append_printf(header, "%c", ch);
+        g_string_append_printf(header, "%s", ch);
+        free(ch);
     }
 
     g_string_append(header, title);
@@ -1125,9 +1134,10 @@ _rosterwin_rooms_header(ProfLayoutSplit* layout, GList* rooms, char* title)
 {
     win_sub_newline_lazy(layout->subwin);
     GString* header = g_string_new(" ");
-    char ch = prefs_get_roster_header_char();
+    char* ch = prefs_get_roster_header_char();
     if (ch) {
-        g_string_append_printf(header, "%c", ch);
+        g_string_append_printf(header, "%s", ch);
+        free(ch);
     }
     g_string_append(header, title);
 
@@ -1188,9 +1198,10 @@ _rosterwin_private_header(ProfLayoutSplit* layout, GList* privs)
     win_sub_newline_lazy(layout->subwin);
 
     GString* title_str = g_string_new(" ");
-    char ch = prefs_get_roster_header_char();
+    char* ch = prefs_get_roster_header_char();
     if (ch) {
-        g_string_append_printf(title_str, "%c", ch);
+        g_string_append_printf(title_str, "%s", ch);
+        free(ch);
     }
     g_string_append(title_str, "Private chats");