+static void loaduri(const Client *c, const gchar *uri);
+static Client *newclient();
+static WebKitWebView *newwindow(WebKitWebView *v, WebKitWebFrame *f, gpointer d);
+static void progresschange(WebKitWebView *view, gint p, gpointer d);
+static GdkFilterReturn processx(GdkXEvent *xevent, GdkEvent *event, gpointer data);
+static void setup(void);
+static void showsearch(Client *c);
+static void showurl(Client *c);
+static void titlechange(WebKitWebView* view, WebKitWebFrame* frame, const gchar* title, gpointer d);
+static void updatetitle(Client *c);
+
+
+gchar *
+geturi(Client *c) {
+ gchar *uri;
+
+ if(!(uri = (gchar *)webkit_web_view_get_uri(c->view)))
+ uri = g_strdup("about:blank");
+ return uri;
+}
+
+void
+showurl(Client *c) {
+ gchar *uri;
+
+ hidesearch(c);
+ uri = geturi(c);
+ gtk_entry_set_text(GTK_ENTRY(c->urlbar), uri);
+ gtk_widget_show(c->urlbar);
+ gtk_widget_grab_focus(c->urlbar);
+}
+
+void
+hideurl(Client *c) {
+ gtk_widget_hide(c->urlbar);
+ gtk_widget_grab_focus(GTK_WIDGET(c->view));
+}
+
+void
+showsearch(Client *c) {
+ hideurl(c);
+ gtk_widget_show(c->searchbar);
+ gtk_widget_grab_focus(c->searchbar);
+}
+
+void
+hidesearch(Client *c) {
+ gtk_widget_hide(c->searchbar);
+ gtk_widget_grab_focus(GTK_WIDGET(c->view));
+}