void hover_web_view(WebKitWebView *web_view, WebKitHitTestResult *ht, guint modifiers, gpointer data) { struct Client *c = (struct Client *)data; if (!gtk_widget_is_focus(c->location)) { if (webkit_hit_test_result_context_is_link(ht)) { gtk_entry_set_text(GTK_ENTRY(c->location), webkit_hit_test_result_get_link_uri(ht)); if (c->hover_uri != NULL) g_free(c->hover_uri); c->hover_uri = g_strdup(webkit_hit_test_result_get_link_uri(ht)); } else { gtk_entry_set_text(GTK_ENTRY(c->location), webkit_web_view_get_uri(WEBKIT_WEB_VIEW(c->web_view))); if (c->hover_uri != NULL) g_free(c->hover_uri); c->hover_uri = NULL; } } }
static void webViewMouseTargetChanged(WebKitWebView *webView, WebKitHitTestResult *hitTestResult, guint mouseModifiers, BrowserWindow *window) { if (!webkit_hit_test_result_context_is_link(hitTestResult)) { browserWindowSetStatusText(window, NULL); return; } browserWindowSetStatusText(window, webkit_hit_test_result_get_link_uri(hitTestResult)); }
void onMouseTargetChange(WebKitWebView *webview, WebKitHitTestResult *hitTest, guint modifiers, RuskWindow *rusk) { if(webkit_hit_test_result_context_is_link(hitTest)) { gtk_window_set_title(rusk->window, webkit_hit_test_result_get_link_uri(hitTest)); }else { gtk_window_set_title(rusk->window, webkit_web_view_get_title(rusk->webview)); } }