From 1cbac1d7fb292adc0e3e07d206370aeb5ac8e7e0 Mon Sep 17 00:00:00 2001 From: Brendan Taylor Date: Thu, 15 Sep 2011 23:25:41 +0000 Subject: don't repeat yourself: settings X properties --- src/variables.c | 36 ++++++++++++++++-------------------- 1 file changed, 16 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/variables.c b/src/variables.c index 5d770e6..cb9523e 100644 --- a/src/variables.c +++ b/src/variables.c @@ -161,25 +161,30 @@ view_settings() { } void -uri_change_cb (WebKitWebView *web_view, GParamSpec param_spec) { - (void) param_spec; - - g_free (uzbl.state.uri); - g_object_get (web_view, "uri", &uzbl.state.uri, NULL); - g_setenv("UZBL_URI", uzbl.state.uri, TRUE); - +set_window_property(const gchar* prop, const gchar* value) { if(GTK_IS_WIDGET(uzbl.gui.main_window)) { gdk_property_change( gtk_widget_get_window (GTK_WIDGET (uzbl.gui.main_window)), - gdk_atom_intern_static_string("UZBL_URI"), + gdk_atom_intern_static_string(prop), gdk_atom_intern_static_string("STRING"), 8, GDK_PROP_MODE_REPLACE, - (unsigned char *)uzbl.state.uri, - strlen(uzbl.state.uri)); + (const guchar*)value, + strlen(value)); } } +void +uri_change_cb (WebKitWebView *web_view, GParamSpec param_spec) { + (void) param_spec; + + g_free (uzbl.state.uri); + g_object_get (web_view, "uri", &uzbl.state.uri, NULL); + + g_setenv("UZBL_URI", uzbl.state.uri, TRUE); + set_window_property("UZBL_URI", uzbl.state.uri); +} + void cmd_load_uri() { const gchar *uri = uzbl.state.uri; @@ -226,16 +231,7 @@ cmd_load_uri() { soup_uri_free(soup_uri); } - if(GTK_IS_WIDGET(uzbl.gui.main_window)) { - gdk_property_change( - gtk_widget_get_window (GTK_WIDGET (uzbl.gui.main_window)), - gdk_atom_intern_static_string("UZBL_URI"), - gdk_atom_intern_static_string("STRING"), - 8, - GDK_PROP_MODE_REPLACE, - (unsigned char *)newuri, - strlen(newuri)); - } + set_window_property("UZBL_URI", newuri); webkit_web_view_load_uri (uzbl.gui.web_view, newuri); g_free (newuri); -- cgit v1.2.3