about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/command.c207
-rw-r--r--src/command.h2
-rw-r--r--src/input_win.c61
-rw-r--r--src/jabber.c2
-rw-r--r--src/preferences.c55
-rw-r--r--src/preferences.h15
-rw-r--r--src/profanity.c2
-rw-r--r--src/windows.c89
8 files changed, 284 insertions, 149 deletions
diff --git a/src/command.c b/src/command.c
index 361f53b4..3252fdda 100644
--- a/src/command.c
+++ b/src/command.c
@@ -71,12 +71,11 @@ static gboolean _cmd_tiny(const char * const inp, struct cmd_help_t help);
 static gboolean _cmd_close(const char * const inp, struct cmd_help_t help);
 static gboolean _cmd_set_beep(const char * const inp, struct cmd_help_t help);
 static gboolean _cmd_set_notify(const char * const inp, struct cmd_help_t help);
-static gboolean _cmd_set_typing(const char * const inp, struct cmd_help_t help);
+static gboolean _cmd_set_intype(const char * const inp, struct cmd_help_t help);
 static gboolean _cmd_set_flash(const char * const inp, struct cmd_help_t help);
 static gboolean _cmd_set_showsplash(const char * const inp, struct cmd_help_t help);
 static gboolean _cmd_set_chlog(const char * const inp, struct cmd_help_t help);
 static gboolean _cmd_set_history(const char * const inp, struct cmd_help_t help);
-static gboolean _cmd_set_remind(const char * const inp, struct cmd_help_t help);
 static gboolean _cmd_vercheck(const char * const inp, struct cmd_help_t help);
 static gboolean _cmd_away(const char * const inp, struct cmd_help_t help);
 static gboolean _cmd_online(const char * const inp, struct cmd_help_t help);
@@ -207,7 +206,7 @@ static struct cmd_t setting_commands[] =
 {
     { "/beep",
         _cmd_set_beep,
-        { "/beep on|off", "Enable/disable sound notifications.",
+        { "/beep on|off", "Terminal beep on new messages.",
         { "/beep on|off",
           "------------",
           "Switch the terminal bell on or off.",
@@ -221,46 +220,32 @@ static struct cmd_t setting_commands[] =
 
     { "/notify",
         _cmd_set_notify,
-        { "/notify on|off", "Enable/disable message notifications.",
-        { "/notify on|off",
-          "--------------",
-          "Switch the message notifications on or off.",
-          "The notification will appear for all incoming messages.",
-          "The desktop environment must support desktop notifications.",
+        { "/notify type value", "Control various desktop noficiations.",
+        { "/notify type value",
+          "------------------",
+          "Settings for various desktop notifications where type is one of:",
+          "message : Notificaitons for messages.",
+          "        : on|off",
+          "remind  : Notification reminders of unread messages.",
+          "        : where value is the reminder period in seconds,",
+          "        : use 0 to disable.",
+          "typing  : Notifications when contacts are typing.",
+          "        : on|off",
           "",
-          "Config file section : [ui]",
-          "Config file value :   notify=true|false",
-          NULL } } },
-
-    { "/typing",
-        _cmd_set_typing,
-        { "/typing on|off", "Enable/disable typing notifications.",
-        { "/typing on|off",
-          "--------------",
-          "Switch typing notifications on or off for incoming messages",
-          "If desktop notifications are also enabled you will receive them",
-          "for when users are typing a message to you.",
+          "Example : /notify message on (enable message notifications)",
+          "Example : /notify remind 10  (remind every 10 seconds)",
+          "Example : /notify remind 0   (switch off reminders)",
+          "Example : /notify typing on  (enable typing notifications)",
           "",
-          "Config file section : [ui]",
-          "Config file value :   typing=true|false",
-          NULL } } },
-
-    { "/remind",
-        _cmd_set_remind,
-        { "/remind seconds", "Set message reminder period in seconds.",
-        { "/remind seconds",
-          "--------------",
-          "Set the period for new message reminders as desktop notifications.",
-          "The value is in seconds, a setting of 0 will disable the feature.",
-          "The desktop environment must support desktop notifications.",
-          "",
-          "Config file section : [ui]",
+          "Config file section : [notifications]",
+          "Config file value :   message=on|off",
+          "Config file value :   typing=on|off",
           "Config file value :   remind=seconds",
           NULL } } },
 
     { "/flash",
         _cmd_set_flash,
-        { "/flash on|off", "Enable/disable screen flash notifications.",
+        { "/flash on|off", "Terminal flash on new messages.",
         { "/flash on|off",
           "-------------",
           "Make the terminal flash when incoming messages are recieved.",
@@ -272,9 +257,20 @@ static struct cmd_t setting_commands[] =
           "Config file value :   flash=true|false",
           NULL } } },
 
+    { "/intype",
+        _cmd_set_intype,
+        { "/intype on|off", "Show when contact is typing.",
+        { "/intype on|off",
+          "--------------",
+          "Show when a contact is typing in the console, and in active message window.",
+          "",
+          "Config file section : [ui]",
+          "Config file value :   intype=true|false",
+          NULL } } },
+
     { "/showsplash",
         _cmd_set_showsplash,
-        { "/showsplash on|off", "Enable/disable splash logo on startup.",
+        { "/showsplash on|off", "Splash logo on startup.",
         { "/showsplash on|off",
           "------------------",
           "Switch on or off the ascii logo on start up.",
@@ -295,7 +291,7 @@ static struct cmd_t setting_commands[] =
 
     { "/chlog",
         _cmd_set_chlog,
-        { "/chlog on|off", "Enable/disable chat logging.",
+        { "/chlog on|off", "Chat logging to file",
         { "/chlog on|off",
           "-------------",
           "Switch chat logging on or off.",
@@ -311,7 +307,7 @@ static struct cmd_t setting_commands[] =
 
     { "/history",
         _cmd_set_history,
-        { "/history on|off", "Enable/disable chat history.",
+        { "/history on|off", "Chat history in message windows.",
         { "/history on|off",
           "-------------",
           "Switch chat history on or off, requires chlog to be enabled.",
@@ -385,6 +381,7 @@ static struct cmd_t status_commands[] =
 
 static PAutocomplete commands_ac;
 static PAutocomplete help_ac;
+static PAutocomplete notify_ac;
 
 /*
  * Initialise command autocompleter and history
@@ -399,6 +396,10 @@ cmd_init(void)
     p_autocomplete_add(help_ac, strdup("status"));
     p_autocomplete_add(help_ac, strdup("settings"));
     p_autocomplete_add(help_ac, strdup("navigation"));
+    notify_ac = p_autocomplete_new();
+    p_autocomplete_add(notify_ac, strdup("message"));
+    p_autocomplete_add(notify_ac, strdup("typing"));
+    p_autocomplete_add(notify_ac, strdup("remind"));
 
     unsigned int i;
     for (i = 0; i < ARRAY_SIZE(main_commands); i++) {
@@ -427,6 +428,7 @@ cmd_close(void)
 {
     p_autocomplete_clear(commands_ac);
     p_autocomplete_clear(help_ac);
+    p_autocomplete_clear(notify_ac);
 }
 
 // Command autocompletion functions
@@ -443,7 +445,7 @@ cmd_reset_completer(void)
     p_autocomplete_reset(commands_ac);
 }
 
-// Command help
+// Command help autocomplete
 char *
 cmd_help_complete(char *inp)
 {
@@ -456,6 +458,19 @@ cmd_help_reset_completer(void)
     p_autocomplete_reset(help_ac);
 }
 
+// Command notify autcomplete
+char *
+cmd_notify_complete(char *inp)
+{
+    return p_autocomplete_complete(notify_ac, inp);
+}
+
+void
+cmd_notify_reset_completer(void)
+{
+    p_autocomplete_reset(notify_ac);
+}
+
 GSList *
 cmd_get_basic_help(void)
 {
@@ -847,15 +862,76 @@ _cmd_set_beep(const char * const inp, struct cmd_help_t help)
 static gboolean
 _cmd_set_notify(const char * const inp, struct cmd_help_t help)
 {
-    return _cmd_set_boolean_preference(inp, help, "/notify",
-        "Desktop notifications", prefs_set_notify);
-}
+    char *kind = NULL;
+    char *value = NULL;
+
+    // copy input
+    char inp_cpy[strlen(inp) + 1];
+    strcpy(inp_cpy, inp);
+
+    // get kind
+    strtok(inp_cpy, " ");
+    kind = strtok(NULL, " ");
+    if ((kind != NULL) && (strlen(inp) > (8 + strlen(kind) + 1))) {
+        if ((strcmp(kind, "message") != 0) &&
+                (strcmp(kind, "typing") != 0) &&
+                (strcmp(kind, "remind") != 0)) {
+            cons_show("Usage: %s", help.usage);
 
-static gboolean
-_cmd_set_typing(const char * const inp, struct cmd_help_t help)
-{
-    return _cmd_set_boolean_preference(inp, help, "/typing",
-        "Incoming typing notifications", prefs_set_typing);
+            return TRUE;
+        } else {
+            // get value
+            value = strndup(inp+8+strlen(kind)+1, strlen(inp)-(8+strlen(kind)+1));
+
+            if (value != NULL) {
+
+                // set message setting
+                if (strcmp(kind, "message") == 0) {
+                    if (strcmp(inp, "/notify message on") == 0) {
+                        cons_show("Message notifications enabled.");
+                        prefs_set_notify_message(TRUE);
+                    } else if (strcmp(inp, "/notify message off") == 0) {
+                        cons_show("Message notifications disabled.");
+                        prefs_set_notify_message(FALSE);
+                    } else {
+                        cons_show("Usage: /notify message on|off");
+                    }
+
+                // set typing setting
+                } else if (strcmp(kind, "typing") == 0) {
+                    if (strcmp(inp, "/notify typing on") == 0) {
+                        cons_show("Typing notifications enabled.");
+                        prefs_set_notify_typing(TRUE);
+                    } else if (strcmp(inp, "/notify typing off") == 0) {
+                        cons_show("Typing notifications disabled.");
+                        prefs_set_notify_typing(FALSE);
+                    } else {
+                        cons_show("Usage: /notify typing on|off");
+                    }
+
+                } else { // remind
+                    gint period = atoi(value);
+
+                    prefs_set_notify_remind(period);
+                    if (period == 0) {
+                        cons_show("Message reminders disabled.");
+                    } else if (period == 1) {
+                        cons_show("Message reminder period set to 1 second.");
+                    } else {
+                        cons_show("Message reminder period set to %d seconds.", period);
+                    }
+
+                }
+                return TRUE;
+            } else {
+                cons_show("Usage: %s", help.usage);
+                return TRUE;
+            }
+        }
+    } else {
+        cons_show("Usage: %s", help.usage);
+        return TRUE;
+    }
 }
 
 static gboolean
@@ -878,6 +954,13 @@ _cmd_set_flash(const char * const inp, struct cmd_help_t help)
 }
 
 static gboolean
+_cmd_set_intype(const char * const inp, struct cmd_help_t help)
+{
+    return _cmd_set_boolean_preference(inp, help, "/intype",
+        "Show contact typing", prefs_set_intype);
+}
+
+static gboolean
 _cmd_set_showsplash(const char * const inp, struct cmd_help_t help)
 {
     return _cmd_set_boolean_preference(inp, help, "/showsplash",
@@ -899,34 +982,6 @@ _cmd_set_history(const char * const inp, struct cmd_help_t help)
 }
 
 static gboolean
-_cmd_set_remind(const char * const inp, struct cmd_help_t help)
-{
-    if ((strncmp(inp, "/remind ", 8) != 0) || (strlen(inp) < 9)) {
-        cons_show("Usage: %s", help.usage);
-    } else {
-        // copy input
-        char inp_cpy[strlen(inp) + 1];
-        strcpy(inp_cpy, inp);
-
-        // get period
-        strtok(inp_cpy, " ");
-        char *period_str = strtok(NULL, " ");
-        gint period = atoi(period_str);
-
-        prefs_set_remind(period);
-        if (period == 0) {
-            cons_show("Message reminders disabled.");
-        } else if (period == 1) {
-            cons_show("Message reminder period set to 1 second.");
-        } else {
-            cons_show("Message reminder period set to %d seconds.", period);
-        }
-    }
-
-    return TRUE;
-}
-
-static gboolean
 _cmd_away(const char * const inp, struct cmd_help_t help)
 {
     _update_presence(PRESENCE_AWAY, "away", inp);
diff --git a/src/command.h b/src/command.h
index c15b6bd5..a7c37fcf 100644
--- a/src/command.h
+++ b/src/command.h
@@ -41,7 +41,9 @@ gboolean cmd_execute_default(const char * const inp);
 
 // command help
 char * cmd_help_complete(char *inp);
+char * cmd_notify_complete(char *inp);
 void cmd_help_reset_completer(void);
+void cmd_notify_reset_completer(void);
 GSList * cmd_get_basic_help(void);
 GSList * cmd_get_settings_help(void);
 GSList * cmd_get_status_help(void);
diff --git a/src/input_win.c b/src/input_win.c
index 3cb903e1..724b3a25 100644
--- a/src/input_win.c
+++ b/src/input_win.c
@@ -68,6 +68,7 @@ static int _printable(const int ch);
 static void _replace_input(char *input, const char * const new_input, int *size);
 static void _parameter_autocomplete(char *input, int *size, char *command,
     autocomplete_func func);
+static void _notify_autocomplete(char *input, int *size);
 
 void
 create_input_window(void)
@@ -174,6 +175,7 @@ inp_get_char(int *ch, char *input, int *size)
             prefs_reset_login_search();
             prefs_reset_boolean_choice();
             cmd_help_reset_completer();
+            cmd_notify_reset_completer();
             cmd_reset_completer();
         }
     }
@@ -360,9 +362,7 @@ _handle_edit(const int ch, char *input, int *size)
             cmd_help_complete);
         _parameter_autocomplete(input, size, "/beep",
             prefs_autocomplete_boolean_choice);
-        _parameter_autocomplete(input, size, "/notify",
-            prefs_autocomplete_boolean_choice);
-        _parameter_autocomplete(input, size, "/typing",
+        _parameter_autocomplete(input, size, "/intype",
             prefs_autocomplete_boolean_choice);
         _parameter_autocomplete(input, size, "/flash",
             prefs_autocomplete_boolean_choice);
@@ -375,6 +375,8 @@ _handle_edit(const int ch, char *input, int *size)
         _parameter_autocomplete(input, size, "/vercheck",
             prefs_autocomplete_boolean_choice);
 
+        _notify_autocomplete(input, size);
+
         return 1;
 
     default:
@@ -434,3 +436,56 @@ _parameter_autocomplete(char *input, int *size, char *command,
     }
     free(command_cpy);
 }
+
+static void
+_notify_autocomplete(char *input, int *size)
+{
+    char *found = NULL;
+    char *auto_msg = NULL;
+    char inp_cpy[*size];
+    int i;
+
+    if ((strncmp(input, "/notify message ", 16) == 0) && (*size > 16)) {
+        for(i = 16; i < *size; i++) {
+            inp_cpy[i-16] = input[i];
+        }
+        inp_cpy[(*size) - 16] = '\0';
+        found = prefs_autocomplete_boolean_choice(inp_cpy);
+        if (found != NULL) {
+            auto_msg = (char *) malloc((16 + (strlen(found) + 1)) * sizeof(char));
+            strcpy(auto_msg, "/notify message ");
+            strcat(auto_msg, found);
+            _replace_input(input, auto_msg, size);
+            free(auto_msg);
+            free(found);
+        }
+    } else if ((strncmp(input, "/notify typing ", 15) == 0) && (*size > 15)) {
+        for(i = 15; i < *size; i++) {
+            inp_cpy[i-15] = input[i];
+        }
+        inp_cpy[(*size) - 15] = '\0';
+        found = prefs_autocomplete_boolean_choice(inp_cpy);
+        if (found != NULL) {
+            auto_msg = (char *) malloc((15 + (strlen(found) + 1)) * sizeof(char));
+            strcpy(auto_msg, "/notify typing ");
+            strcat(auto_msg, found);
+            _replace_input(input, auto_msg, size);
+            free(auto_msg);
+            free(found);
+        }
+    } else if ((strncmp(input, "/notify ", 8) == 0) && (*size > 8)) {
+        for(i = 8; i < *size; i++) {
+            inp_cpy[i-8] = input[i];
+        }
+        inp_cpy[(*size) - 8] = '\0';
+        found = cmd_notify_complete(inp_cpy);
+        if (found != NULL) {
+            auto_msg = (char *) malloc((8 + (strlen(found) + 1)) * sizeof(char));
+            strcpy(auto_msg, "/notify ");
+            strcat(auto_msg, found);
+            _replace_input(input, auto_msg, size);
+            free(auto_msg);
+            free(found);
+        }
+    }
+}
diff --git a/src/jabber.c b/src/jabber.c
index e6436f91..4913618e 100644
--- a/src/jabber.c
+++ b/src/jabber.c
@@ -290,7 +290,7 @@ _message_handler(xmpp_conn_t * const conn,
     // if no message, check for chatstates
     if (body == NULL) {
 
-        if (prefs_get_typing()) {
+        if (prefs_get_notify_typing() || prefs_get_intype()) {
             if (xmpp_stanza_get_child_by_name(stanza, "active") != NULL) {
                 // active
             } else if (xmpp_stanza_get_child_by_name(stanza, "composing") != NULL) {
diff --git a/src/preferences.c b/src/preferences.c
index 706ad4d3..78044fcc 100644
--- a/src/preferences.c
+++ b/src/preferences.c
@@ -236,28 +236,41 @@ prefs_set_beep(gboolean value)
 }
 
 gboolean
-prefs_get_notify(void)
+prefs_get_notify_typing(void)
 {
-    return g_key_file_get_boolean(prefs, "ui", "notify", NULL);
+    return g_key_file_get_boolean(prefs, "notifications", "typing", NULL);
 }
 
 void
-prefs_set_notify(gboolean value)
+prefs_set_notify_typing(gboolean value)
 {
-    g_key_file_set_boolean(prefs, "ui", "notify", value);
+    g_key_file_set_boolean(prefs, "notifications", "typing", value);
     _save_prefs();
 }
 
 gboolean
-prefs_get_typing(void)
+prefs_get_notify_message(void)
 {
-    return g_key_file_get_boolean(prefs, "ui", "typing", NULL);
+    return g_key_file_get_boolean(prefs, "notifications", "message", NULL);
 }
 
 void
-prefs_set_typing(gboolean value)
+prefs_set_notify_message(gboolean value)
 {
-    g_key_file_set_boolean(prefs, "ui", "typing", value);
+    g_key_file_set_boolean(prefs, "notifications", "message", value);
+    _save_prefs();
+}
+
+gint
+prefs_get_notify_remind(void)
+{
+    return g_key_file_get_integer(prefs, "notifications", "remind", NULL);
+}
+
+void
+prefs_set_notify_remind(gint value)
+{
+    g_key_file_set_integer(prefs, "notifications", "remind", value);
     _save_prefs();
 }
 
@@ -288,41 +301,41 @@ prefs_set_flash(gboolean value)
 }
 
 gboolean
-prefs_get_chlog(void)
+prefs_get_intype(void)
 {
-    return g_key_file_get_boolean(prefs, "ui", "chlog", NULL);
+    return g_key_file_get_boolean(prefs, "ui", "intype", NULL);
 }
 
 void
-prefs_set_chlog(gboolean value)
+prefs_set_intype(gboolean value)
 {
-    g_key_file_set_boolean(prefs, "ui", "chlog", value);
+    g_key_file_set_boolean(prefs, "ui", "intype", value);
     _save_prefs();
 }
 
 gboolean
-prefs_get_history(void)
+prefs_get_chlog(void)
 {
-    return g_key_file_get_boolean(prefs, "ui", "history", NULL);
+    return g_key_file_get_boolean(prefs, "ui", "chlog", NULL);
 }
 
 void
-prefs_set_history(gboolean value)
+prefs_set_chlog(gboolean value)
 {
-    g_key_file_set_boolean(prefs, "ui", "history", value);
+    g_key_file_set_boolean(prefs, "ui", "chlog", value);
     _save_prefs();
 }
 
-gint
-prefs_get_remind(void)
+gboolean
+prefs_get_history(void)
 {
-    return g_key_file_get_integer(prefs, "ui", "remind", NULL);
+    return g_key_file_get_boolean(prefs, "ui", "history", NULL);
 }
 
 void
-prefs_set_remind(gint value)
+prefs_set_history(gboolean value)
 {
-    g_key_file_set_integer(prefs, "ui", "remind", value);
+    g_key_file_set_boolean(prefs, "ui", "history", value);
     _save_prefs();
 }
 
diff --git a/src/preferences.h b/src/preferences.h
index 885b895d..6ccdf461 100644
--- a/src/preferences.h
+++ b/src/preferences.h
@@ -44,10 +44,6 @@ void prefs_reset_boolean_choice(void);
 
 gboolean prefs_get_beep(void);
 void prefs_set_beep(gboolean value);
-gboolean prefs_get_notify(void);
-void prefs_set_notify(gboolean value);
-gboolean prefs_get_typing(void);
-void prefs_set_typing(gboolean value);
 gboolean prefs_get_flash(void);
 void prefs_set_flash(gboolean value);
 gboolean prefs_get_chlog(void);
@@ -56,10 +52,17 @@ gboolean prefs_get_history(void);
 void prefs_set_history(gboolean value);
 gboolean prefs_get_showsplash(void);
 void prefs_set_showsplash(gboolean value);
-gint prefs_get_remind(void);
-void prefs_set_remind(gint value);
 gboolean prefs_get_vercheck(void);
 void prefs_set_vercheck(gboolean value);
+gboolean prefs_get_intype(void);
+void prefs_set_intype(gboolean value);
+
+void prefs_set_notify_message(gboolean value);
+gboolean prefs_get_notify_message(void);
+void prefs_set_notify_typing(gboolean value);
+gboolean prefs_get_notify_typing(void);
+void prefs_set_notify_remind(gint period);
+gint prefs_get_notify_remind(void);
 
 void prefs_add_login(const char *jid);
 
diff --git a/src/profanity.c b/src/profanity.c
index 3d8235a0..4dd618cb 100644
--- a/src/profanity.c
+++ b/src/profanity.c
@@ -65,7 +65,7 @@ prof_run(const int disable_tls, char *log_level)
 
             gdouble elapsed = g_timer_elapsed(timer, NULL);
 
-            gint remind_period = prefs_get_remind();
+            gint remind_period = prefs_get_notify_remind();
 
             // 0 means to not remind
             if (remind_period > 0 && elapsed >= remind_period) {
diff --git a/src/windows.c b/src/windows.c
index 957e90f5..b7486c92 100644
--- a/src/windows.c
+++ b/src/windows.c
@@ -222,26 +222,28 @@ win_show_typing(const char * const from)
 
     int win_index = _find_prof_win_index(short_from);
 
-    // no chat window for user
-    if (win_index == NUM_WINS) {
-        _cons_show_typing(short_from);
-
-    // have chat window but not currently in it
-    } else if (win_index != _curr_prof_win) {
-        _cons_show_typing(short_from);
-        dirty = TRUE;
+    if (prefs_get_intype()) {
+        // no chat window for user
+        if (win_index == NUM_WINS) {
+            _cons_show_typing(short_from);
+
+        // have chat window but not currently in it
+        } else if (win_index != _curr_prof_win) {
+            _cons_show_typing(short_from);
+            dirty = TRUE;
 
-    // in chat window with user
-    } else {
-        title_bar_set_typing(TRUE);
-        title_bar_draw();
+        // in chat window with user
+        } else {
+            title_bar_set_typing(TRUE);
+            title_bar_draw();
 
-        status_bar_active(win_index);
-        dirty = TRUE;
-   }
+            status_bar_active(win_index);
+            dirty = TRUE;
+       }
+    }
 
 #ifdef HAVE_LIBNOTIFY
-    if (prefs_get_notify())
+    if (prefs_get_notify_typing())
         _win_notify_typing(short_from);
 #endif
 }
@@ -300,7 +302,7 @@ win_show_incomming_msg(const char * const from, const char * const message)
     if (prefs_get_beep())
         beep();
 #ifdef HAVE_LIBNOTIFY
-    if (prefs_get_notify())
+    if (prefs_get_notify_message())
         _win_notify_message(short_from);
 #endif
 }
@@ -509,52 +511,57 @@ cons_prefs(void)
     cons_show("");
 
     if (prefs_get_beep())
-        cons_show("Terminal beep           : ON");
+        cons_show("Terminal beep                : ON");
     else
-        cons_show("Terminal beep           : OFF");
+        cons_show("Terminal beep                : OFF");
 
     if (prefs_get_flash())
-        cons_show("Terminal flash          : ON");
-    else
-        cons_show("Terminal flash          : OFF");
-
-    if (prefs_get_notify())
-        cons_show("Message notifications   : ON");
+        cons_show("Terminal flash               : ON");
     else
-        cons_show("Message notifications   : OFF");
+        cons_show("Terminal flash               : OFF");
 
-    if (prefs_get_typing())
-        cons_show("Typing notifications    : ON");
+    if (prefs_get_intype())
+        cons_show("Show typing                  : ON");
     else
-        cons_show("Typing notifications    : OFF");
+        cons_show("Show typing                  : OFF");
 
     if (prefs_get_showsplash())
-        cons_show("Splash screen           : ON");
+        cons_show("Splash screen                : ON");
     else
-        cons_show("Splash screen           : OFF");
+        cons_show("Splash screen                : OFF");
 
     if (prefs_get_chlog())
-        cons_show("Chat logging            : ON");
+        cons_show("Chat logging                 : ON");
     else
-        cons_show("Chat logging            : OFF");
+        cons_show("Chat logging                 : OFF");
 
     if (prefs_get_history())
-        cons_show("Chat history            : ON");
+        cons_show("Chat history                 : ON");
     else
-        cons_show("Chat history            : OFF");
+        cons_show("Chat history                 : OFF");
 
     if (prefs_get_vercheck())
-        cons_show("Version checking        : ON");
+        cons_show("Version checking             : ON");
+    else
+        cons_show("Version checking             : OFF");
+
+    if (prefs_get_notify_message())
+        cons_show("Message notifications        : ON");
+    else
+        cons_show("Message notifications        : OFF");
+
+    if (prefs_get_notify_typing())
+        cons_show("Typing notifications         : ON");
     else
-        cons_show("Version checking        : OFF");
+        cons_show("Typing notifications         : OFF");
 
-    gint remind_period = prefs_get_remind();
+    gint remind_period = prefs_get_notify_remind();
     if (remind_period == 0) {
-        cons_show("Message reminder period : OFF");
+        cons_show("Reminder notification period : OFF");
     } else if (remind_period == 1) {
-        cons_show("Message reminder period : 1 second");
+        cons_show("Reminder notification period : 1 second");
     } else {
-        cons_show("Message reminder period : %d seconds", remind_period);
+        cons_show("Reminder notification period : %d seconds", remind_period);
     }
 
     cons_show("");