From 8fab11200e300712484ac5f31bc610f9943029cc Mon Sep 17 00:00:00 2001 From: Brendan Taylor Date: Sun, 12 Jul 2009 13:38:02 -0600 Subject: update mode indicator when @insert_mode is set --- tests/test-expand.c | 4 ++-- uzbl.c | 11 +++++++---- uzbl.h | 6 +++++- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/tests/test-expand.c b/tests/test-expand.c index 7cc558b..07e3fea 100644 --- a/tests/test-expand.c +++ b/tests/test-expand.c @@ -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 --- 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 --- 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); -- cgit v1.2.3