about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2014-04-03 21:46:43 +0100
committerJames Booth <boothj5@gmail.com>2014-04-03 21:46:43 +0100
commit561d96c7119e2b68dd59cd9df3e520be89ec58ee (patch)
tree30a00bf0006401fa4ee611b9f42f31c76f024084
parent95c081666adc44734f1fa5e1c50d52534325f522 (diff)
downloadprofani-tty-561d96c7119e2b68dd59cd9df3e520be89ec58ee.tar.gz
Removed titlebar version property and allow disabling of titlebar display
-rw-r--r--src/command/command.c33
-rw-r--r--src/command/commands.c9
-rw-r--r--src/config/preferences.c11
-rw-r--r--src/config/preferences.h2
-rw-r--r--src/ui/console.c6
-rw-r--r--src/ui/core.c34
6 files changed, 28 insertions, 67 deletions
diff --git a/src/command/command.c b/src/command/command.c
index 49f84ad0..9be99743 100644
--- a/src/command/command.c
+++ b/src/command/command.c
@@ -56,7 +56,6 @@ static void _cmd_complete_parameters(char *input, int *size);
 
 static char * _sub_autocomplete(char *input, int *size);
 static char * _notify_autocomplete(char *input, int *size);
-static char * _titlebar_autocomplete(char *input, int *size);
 static char * _theme_autocomplete(char *input, int *size);
 static char * _autoaway_autocomplete(char *input, int *size);
 static char * _autoconnect_autocomplete(char *input, int *size);
@@ -528,12 +527,11 @@ static struct cmd_t command_defs[] =
           NULL  } } },
 
     { "/titlebar",
-        cmd_titlebar, parse_args, 2, 2, &cons_titlebar_setting,
-        { "/titlebar property on|off", "Show various properties in the window title bar.",
-        { "/titlebar property on|off",
-          "-------------------------",
-          "Show various properties in the window title bar.",
-          "Currently The only supported property is 'version'.",
+        cmd_titlebar, parse_args, 1, 1, &cons_titlebar_setting,
+        { "/titlebar on|off", "Show information in the window title bar.",
+        { "/titlebar on|off",
+          "----------------",
+          "Show information in the window title bar.",
           NULL  } } },
 
     { "/mouse",
@@ -1406,7 +1404,7 @@ _cmd_complete_parameters(char *input, int *size)
 
     // autocomplete boolean settings
     gchar *boolean_choices[] = { "/beep", "/intype", "/states", "/outtype",
-        "/flash", "/splash", "/chlog", "/grlog", "/mouse", "/history",
+        "/flash", "/splash", "/chlog", "/grlog", "/mouse", "/history", "/titlebar",
         "/vercheck" };
 
     for (i = 0; i < ARRAY_SIZE(boolean_choices); i++) {
@@ -1493,7 +1491,7 @@ _cmd_complete_parameters(char *input, int *size)
     }
 
     autocompleter acs[] = { _who_autocomplete, _sub_autocomplete, _notify_autocomplete,
-        _autoaway_autocomplete, _titlebar_autocomplete, _theme_autocomplete,
+        _autoaway_autocomplete, _theme_autocomplete,
         _account_autocomplete, _roster_autocomplete, _group_autocomplete,
         _bookmark_autocomplete, _autoconnect_autocomplete, _otr_autocomplete,
         _connect_autocomplete, _statuses_autocomplete, _alias_autocomplete,
@@ -1665,23 +1663,6 @@ _notify_autocomplete(char *input, int *size)
 }
 
 static char *
-_titlebar_autocomplete(char *input, int *size)
-{
-    char *result = NULL;
-    result = autocomplete_param_with_func(input, size, "/titlebar version",
-        prefs_autocomplete_boolean_choice);
-    if (result != NULL) {
-        return result;
-    }
-    result = autocomplete_param_with_ac(input, size, "/titlebar", titlebar_ac);
-    if (result != NULL) {
-        return result;
-    }
-
-    return NULL;
-}
-
-static char *
 _autoaway_autocomplete(char *input, int *size)
 {
     char *result = NULL;
diff --git a/src/command/commands.c b/src/command/commands.c
index 0ed51795..929bf671 100644
--- a/src/command/commands.c
+++ b/src/command/commands.c
@@ -2162,13 +2162,10 @@ cmd_states(gchar **args, struct cmd_help_t help)
 gboolean
 cmd_titlebar(gchar **args, struct cmd_help_t help)
 {
-    if (strcmp(args[0], "version") != 0) {
-        cons_show("Usage: %s", help.usage);
-        return TRUE;
-    } else {
-        return _cmd_set_boolean_preference(args[1], help,
-        "Show version in window title", PREF_TITLEBARVERSION);
+    if (g_strcmp0(args[0], "off") == 0) {
+        ui_clear_win_title();
     }
+    return _cmd_set_boolean_preference(args[0], help, "Titlebar", PREF_TITLEBAR);
 }
 
 gboolean
diff --git a/src/config/preferences.c b/src/config/preferences.c
index 02bb0833..6f085ba3 100644
--- a/src/config/preferences.c
+++ b/src/config/preferences.c
@@ -371,7 +371,7 @@ _get_group(preference_t pref)
         case PREF_BEEP:
         case PREF_THEME:
         case PREF_VERCHECK:
-        case PREF_TITLEBARVERSION:
+        case PREF_TITLEBAR:
         case PREF_FLASH:
         case PREF_INTYPE:
         case PREF_HISTORY:
@@ -418,8 +418,8 @@ _get_key(preference_t pref)
             return "theme";
         case PREF_VERCHECK:
             return "vercheck";
-        case PREF_TITLEBARVERSION:
-            return "titlebar.version";
+        case PREF_TITLEBAR:
+            return "titlebar";
         case PREF_FLASH:
             return "flash";
         case PREF_INTYPE:
@@ -474,9 +474,10 @@ _get_default_boolean(preference_t pref)
 {
     switch (pref)
     {
-        case PREF_STATUSES:
-        case PREF_AUTOAWAY_CHECK:
+        case PREF_TITLEBAR:
         case PREF_OTR_WARN:
+        case PREF_AUTOAWAY_CHECK:
+            return TRUE;
         default:
             return FALSE;
     }
diff --git a/src/config/preferences.h b/src/config/preferences.h
index 3b4d01d4..2c783f4d 100644
--- a/src/config/preferences.h
+++ b/src/config/preferences.h
@@ -40,7 +40,7 @@ typedef enum {
     PREF_BEEP,
     PREF_VERCHECK,
     PREF_THEME,
-    PREF_TITLEBARVERSION,
+    PREF_TITLEBAR,
     PREF_FLASH,
     PREF_INTYPE,
     PREF_HISTORY,
diff --git a/src/ui/console.c b/src/ui/console.c
index a7e2a193..073f7791 100644
--- a/src/ui/console.c
+++ b/src/ui/console.c
@@ -1002,10 +1002,10 @@ _cons_statuses_setting(void)
 static void
 _cons_titlebar_setting(void)
 {
-    if (prefs_get_boolean(PREF_TITLEBARVERSION)) {
-        cons_show("Titlebar display (/titlebar)  : version");
+    if (prefs_get_boolean(PREF_TITLEBAR)) {
+        cons_show("Titlebar display (/titlebar)  : ON");
     } else {
-        cons_show("Titlebar display (/titlebar)  : NONE");
+        cons_show("Titlebar display (/titlebar)  : OFF");
     }
 }
 
diff --git a/src/ui/core.c b/src/ui/core.c
index 8ee83b90..2c78c6fa 100644
--- a/src/ui/core.c
+++ b/src/ui/core.c
@@ -100,7 +100,9 @@ _ui_init(void)
 static void
 _ui_update_screen(void)
 {
-    _ui_draw_win_title();
+    if (prefs_get_boolean(PREF_TITLEBAR)) {
+        _ui_draw_win_title();
+    }
     title_bar_update_virtual();
     status_bar_update_virtual();
     inp_put_back();
@@ -1500,31 +1502,13 @@ _ui_chat_win_contact_offline(PContact contact, char *resource, char *status)
 static void
 _ui_clear_win_title(void)
 {
-    printf("\033]0;\007");
+    printf("%c]0;%c", '\033', '\007');
 }
 
 static void
 _ui_draw_win_title(void)
 {
     char new_win_title[100];
-
-    GString *version_str = g_string_new("");
-
-    if (prefs_get_boolean(PREF_TITLEBARVERSION)) {
-        g_string_append(version_str, " ");
-        g_string_append(version_str, PACKAGE_VERSION);
-        if (strcmp(PACKAGE_STATUS, "development") == 0) {
-#ifdef HAVE_GIT_VERSION
-            g_string_append(version_str, "dev.");
-            g_string_append(version_str, PROF_GIT_BRANCH);
-            g_string_append(version_str, ".");
-            g_string_append(version_str, PROF_GIT_REVISION);
-#else
-            g_string_append(version_str, "dev");
-#endif
-        }
-    }
-
     jabber_conn_status_t status = jabber_get_connection_status();
 
     if (status == JABBER_CONNECTED) {
@@ -1533,20 +1517,18 @@ _ui_draw_win_title(void)
 
         if (unread != 0) {
             snprintf(new_win_title, sizeof(new_win_title),
-                "%c]0;%s%s (%d) - %s%c", '\033', "Profanity", version_str->str,
+                "%c]0;%s (%d) - %s%c", '\033', "Profanity",
                 unread, jid, '\007');
         } else {
             snprintf(new_win_title, sizeof(new_win_title),
-                "%c]0;%s%s - %s%c", '\033', "Profanity", version_str->str, jid,
+                "%c]0;%s - %s%c", '\033', "Profanity", jid,
                 '\007');
         }
     } else {
-        snprintf(new_win_title, sizeof(new_win_title), "%c]0;%s%s%c", '\033',
-            "Profanity", version_str->str, '\007');
+        snprintf(new_win_title, sizeof(new_win_title), "%c]0;%s%c", '\033',
+            "Profanity", '\007');
     }
 
-    g_string_free(version_str, TRUE);
-
     if (g_strcmp0(win_title, new_win_title) != 0) {
         // print to x-window title bar
         printf("%s", new_win_title);