about summary refs log tree commit diff stats
path: root/src/ui
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2016-01-21 00:50:55 +0000
committerJames Booth <boothj5@gmail.com>2016-01-21 00:50:55 +0000
commitadb470c454338fd6e52528c22d44a26eb246732d (patch)
treeb64c8b82726188c43de574b509aea5788291be6e /src/ui
parent5bccee93cc0c8c2426d5f5acc462dca15467cb08 (diff)
downloadprofani-tty-adb470c454338fd6e52528c22d44a26eb246732d.tar.gz
WIP: Add /theme properties command
Diffstat (limited to 'src/ui')
-rw-r--r--src/ui/console.c100
-rw-r--r--src/ui/ui.h1
-rw-r--r--src/ui/window.c4
3 files changed, 105 insertions, 0 deletions
diff --git a/src/ui/console.c b/src/ui/console.c
index 39de1ae7..f4cf3d44 100644
--- a/src/ui/console.c
+++ b/src/ui/console.c
@@ -2004,6 +2004,106 @@ cons_get_string(ProfConsoleWin *conswin)
 }
 
 void
+cons_theme_properties(void)
+{
+    ProfWin *console = wins_get_console();
+    cons_show("Title bar:");
+    win_print(console, '-', 0, NULL, NO_EOL, THEME_TITLE_TEXT, "",                  "titlebar.text ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_TITLE_BRACKET, "",     "titlebar.brackets");
+    win_print(console, '-', 0, NULL, NO_DATE, THEME_TEXT, "",              "");
+
+    win_print(console, '-', 0, NULL, NO_EOL, THEME_TITLE_UNENCRYPTED, "",           "titlebar.unencrypted ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_TITLE_ENCRYPTED, "",   "titlebar.encrypted ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_TITLE_UNTRUSTED, "",   "titlebar.untrusted ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_TITLE_TRUSTED, "",     "titlebar.trusted");
+    win_print(console, '-', 0, NULL, NO_DATE, THEME_TEXT, "",              "");
+
+    win_print(console, '-', 0, NULL, NO_EOL, THEME_TITLE_CHAT, "",                  "titlebar.chat ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_TITLE_ONLINE, "",      "titlebar.online ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_TITLE_AWAY, "",        "titlebar.away ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_TITLE_XA, "",          "titlebar.xa ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_TITLE_DND, "",         "titlebar.dnd ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_TITLE_OFFLINE, "",     "titlebar.offline");
+    win_print(console, '-', 0, NULL, NO_DATE, THEME_TEXT, "",              "");
+
+    cons_show("");
+    cons_show("Status bar:");
+    win_print(console, '-', 0, NULL, NO_EOL, THEME_STATUS_TEXT, "",                 "statusbar.text ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_STATUS_BRACKET, "",    "statusbar.brackets ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_STATUS_ACTIVE, "",     "statusbar.active ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_STATUS_NEW, "",        "statusbar.new");
+    win_print(console, '-', 0, NULL, NO_DATE, THEME_TEXT, "",              "");
+
+    cons_show("");
+    cons_show("Main text:");
+    win_print(console, '-', 0, NULL, NO_EOL, THEME_TIME, "",                                "main.time ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_TEXT, "",                      "main.text ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_SPLASH, "",                    "main.splash ");
+    win_print(console, '-', 0, NULL, NO_DATE, THEME_ERROR, "",                              "error");
+    win_print(console, '-', 0, NULL, NO_EOL, THEME_OTR_STARTED_TRUSTED, "",       "otr.started.trusted ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_OTR_STARTED_UNTRUSTED, "",     "otr.started.untrusted ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_OTR_ENDED, "",                 "otr.ended ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_OTR_TRUSTED, "",               "otr.trusted ");
+    win_print(console, '-', 0, NULL, NO_DATE, THEME_OTR_UNTRUSTED, "",                      "otr.untrusted");
+
+    cons_show("");
+    cons_show("Messages:");
+    win_print(console, '-', 0, NULL, NO_EOL, THEME_ME, "",                                  "me ");
+    win_print(console, '-', 0, NULL, NO_DATE, THEME_TEXT_ME, "",                            "main.text.me");
+    win_print(console, '-', 0, NULL, NO_EOL, THEME_THEM, "",                                "them ");
+    win_print(console, '-', 0, NULL, NO_DATE, THEME_TEXT_THEM, "",                          "main.text.them");
+
+    cons_show("");
+    cons_show("Presence:");
+    win_print(console, '-', 0, NULL, NO_EOL, THEME_CHAT, "",                                "chat ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_ONLINE, "",                    "online ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_AWAY, "",                      "away ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_XA, "",                        "xa ");
+    win_print(console, '-', 0, NULL, NO_DATE | NO_EOL, THEME_DND, "",                       "dnd ");
+    win_print(console, '-', 0, NULL, NO_DATE, THEME_OFFLINE, "",                            "offline");
+    win_print(console, '-', 0, NULL, NO_EOL, THEME_SUBSCRIBED, "",                          "subscribed ");
+    win_print(console, '-', 0, NULL, NO_DATE, THEME_UNSUBSCRIBED, "",                       "unsubscribed");
+
+    cons_show("");
+    win_print(console, '-', 0, NULL, 0, THEME_INCOMING, "",                 "incoming");
+    win_print(console, '-', 0, NULL, 0, THEME_TYPING, "",                   "typing");
+    win_print(console, '-', 0, NULL, 0, THEME_GONE, "",                     "gone");
+
+    win_print(console, '-', 0, NULL, 0, THEME_ROOMINFO, "",                 "roominfo");
+    win_print(console, '-', 0, NULL, 0, THEME_ROOMMENTION, "",              "roommention");
+
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_HEADER, "",            "roster.header");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_CHAT, "",              "roster.chat");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_ONLINE, "",            "roster.online");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_AWAY, "",              "roster.away");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_XA, "",                "roster.xa");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_DND, "",               "roster.dnd");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_OFFLINE, "",           "roster.offline");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_CHAT_ACTIVE, "",       "roster.chat.active");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_ONLINE_ACTIVE, "",     "roster.online.active");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_AWAY_ACTIVE, "",       "roster.away.active");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_XA_ACTIVE, "",         "roster.xa.active");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_DND_ACTIVE, "",        "roster.dnd.active");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_OFFLINE_ACTIVE, "",    "roster.offline.active");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_CHAT_UNREAD, "",       "roster.chat.unread");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_ONLINE_UNREAD, "",     "roster.online.unread");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_AWAY_UNREAD, "",       "roster.away.unread");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_XA_UNREAD, "",         "roster.xa.unread");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_DND_UNREAD, "",        "roster.dnd.unread");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_OFFLINE_UNREAD, "",    "roster.offline.unread");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_ROOM, "",              "roster.room");
+    win_print(console, '-', 0, NULL, 0, THEME_ROSTER_ROOM_UNREAD, "",       "roster.room.unread");
+
+    win_print(console, '-', 0, NULL, 0, THEME_OCCUPANTS_HEADER, "",         "occupants.header");
+
+    win_print(console, '-', 0, NULL, 0, THEME_RECEIPT_SENT, "",             "receipt.sent");
+
+    win_print(console, '-', 0, NULL, 0, THEME_INPUT_TEXT, "",               "input.text");
+
+    cons_show("");
+}
+
+void
 cons_theme_colours(void)
 {
     /*
diff --git a/src/ui/ui.h b/src/ui/ui.h
index 6398381d..8fea6eb1 100644
--- a/src/ui/ui.h
+++ b/src/ui/ui.h
@@ -301,6 +301,7 @@ void cons_autoconnect_setting(void);
 void cons_inpblock_setting(void);
 void cons_show_contact_online(PContact contact, Resource *resource, GDateTime *last_activity);
 void cons_show_contact_offline(PContact contact, char *resource, char *status);
+void cons_theme_properties(void);
 void cons_theme_colours(void);
 void cons_show_tlscert(TLSCertificate *cert);
 void cons_show_tlscert_summary(TLSCertificate *cert);
diff --git a/src/ui/window.c b/src/ui/window.c
index 33db89c6..d749ac84 100644
--- a/src/ui/window.c
+++ b/src/ui/window.c
@@ -1086,6 +1086,7 @@ _win_print(ProfWin *window, const char show_char, int pad_indent, GDateTime *tim
     if ((flags & NO_DATE) == 0) {
         if (date_fmt && strlen(date_fmt)) {
             if ((flags & NO_COLOUR_DATE) == 0) {
+                wbkgdset(window->layout->win, theme_attrs(THEME_TIME));
                 wattron(window->layout->win, theme_attrs(THEME_TIME));
             }
             wprintw(window->layout->win, "%s %c ", date_fmt, show_char);
@@ -1108,6 +1109,7 @@ _win_print(ProfWin *window, const char show_char, int pad_indent, GDateTime *tim
             colour = theme_attrs(THEME_RECEIPT_SENT);
         }
 
+        wbkgdset(window->layout->win, colour);
         wattron(window->layout->win, colour);
         if (strncmp(message, "/me ", 4) == 0) {
             wprintw(window->layout->win, "*%s ", from);
@@ -1121,8 +1123,10 @@ _win_print(ProfWin *window, const char show_char, int pad_indent, GDateTime *tim
 
     if (!me_message) {
         if (receipt && !receipt->received) {
+            wbkgdset(window->layout->win, theme_attrs(THEME_RECEIPT_SENT));
             wattron(window->layout->win, theme_attrs(THEME_RECEIPT_SENT));
         } else {
+            wbkgdset(window->layout->win, theme_attrs(theme_item));
             wattron(window->layout->win, theme_attrs(theme_item));
         }
     }