update mode indicator when @insert_mode is set
authorBrendan Taylor <whateley@gmail.com>
Sun, 12 Jul 2009 19:38:02 +0000 (13:38 -0600)
committerBrendan Taylor <whateley@gmail.com>
Sun, 12 Jul 2009 19:38:02 +0000 (13:38 -0600)
tests/test-expand.c
uzbl.c
uzbl.h

index 7cc558b..07e3fea 100644 (file)
@@ -79,10 +79,10 @@ test_NAME (void) {
 
 void
 test_MODE (void) {
-    set_insert_mode(FALSE);
+    set_var_value("insert_mode", "0");
     g_assert_cmpstr(expand("@MODE", 0), ==, "C");
 
-    set_insert_mode(TRUE);
+    set_var_value("insert_mode", "1");
     g_assert_cmpstr(expand("@MODE", 0), ==, "I");
 }
 
diff --git a/uzbl.c b/uzbl.c
index d1a1ca4..daf7e4d 100644 (file)
--- a/uzbl.c
+++ b/uzbl.c
@@ -122,7 +122,7 @@ const struct {
     { "title_format_long",   PTR_V(uzbl.behave.title_format_long,   STR,  1,   update_title)},
     { "title_format_short",  PTR_V(uzbl.behave.title_format_short,  STR,  1,   update_title)},
     { "icon",                PTR_V(uzbl.gui.icon,                   STR,  1,   set_icon)},
-    { "insert_mode",         PTR_V(uzbl.behave.insert_mode,         INT,  1,   NULL)}, /* XXX */
+    { "insert_mode",         PTR_V(uzbl.behave.insert_mode,         INT,  1,   set_mode_indicator)},
     { "always_insert_mode",  PTR_V(uzbl.behave.always_insert_mode,  INT,  1,   cmd_always_insert_mode)},
     { "reset_command_mode",  PTR_V(uzbl.behave.reset_command_mode,  INT,  1,   NULL)},
     { "modkey",              PTR_V(uzbl.behave.modkey,              STR,  1,   cmd_modkey)},
@@ -885,11 +885,14 @@ act_dump_config() {
     dump_config();
 }
 
-/* XXX set_var_value instead? */
+void set_mode_indicator() {
+    uzbl.gui.sbar.mode_indicator = (uzbl.behave.insert_mode ?
+        uzbl.behave.insert_indicator : uzbl.behave.cmd_indicator);
+}
+
 void set_insert_mode(gboolean mode) {
     uzbl.behave.insert_mode = mode;
-    uzbl.gui.sbar.mode_indicator = (mode ?
-        uzbl.behave.insert_indicator : uzbl.behave.cmd_indicator);
+    set_mode_indicator();
 }
 
 static void
diff --git a/uzbl.h b/uzbl.h
index 0343e88..6c292a0 100644 (file)
--- a/uzbl.h
+++ b/uzbl.h
@@ -297,7 +297,11 @@ new_action(const gchar *name, const gchar *param);
 static bool
 file_exists (const char * filename);
 
-void set_insert_mode(gboolean mode);
+void
+set_mode_indicator();
+
+void
+set_insert_mode(gboolean mode);
 
 static void
 toggle_insert_mode(WebKitWebView *page, GArray *argv, GString *result);