Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
1 files changed, 18 insertions, 0 deletions
-rw-r--r--badwolf.c18
diff --git a/badwolf.c b/badwolf.c
index 82e7acc..bec900a 100644
--- a/badwolf.c
+++ b/badwolf.c
@@ -52,6 +52,23 @@ static gboolean WebViewCb_notify__uri(WebKitWebView *webView, GParamSpec *pspec,
return TRUE;
}
+static gboolean WebViewCb_notify__title(WebKitWebView *webView, GParamSpec *pspec, gpointer user_data) {
+ const gchar *title;
+ struct Client *browser = (struct Client *)user_data;
+
+ title = webkit_web_view_get_title(browser->webView);
+
+ if (title == NULL)
+ title = webkit_web_view_get_uri(browser->webView);
+
+ if (title == NULL)
+ title = "BadWolf";
+
+ gtk_window_set_title(GTK_WINDOW(browser->main_window), title);
+
+ return TRUE;
+}
+
int main(int argc, char *argv[])
{
struct Client *browser = calloc(1, sizeof(struct Client));
@@ -76,6 +93,7 @@ int main(int argc, char *argv[])
g_signal_connect(browser->webView, "close", G_CALLBACK(WebViewCb_close), browser->main_window);
g_signal_connect(browser->webView, "web-process-terminated", G_CALLBACK(WebViewCb_web_process_terminated), NULL);
g_signal_connect(browser->webView, "notify::uri", G_CALLBACK(WebViewCb_notify__uri), browser);
+ g_signal_connect(browser->webView, "notify::title", G_CALLBACK(WebViewCb_notify__title), browser);
WebKitSettings *settings = webkit_web_view_get_settings(browser->webView);