-static gboolean contextmenu(WebKitWebView *view, GtkWidget *menu,
- WebKitHitTestResult *target, gboolean keyboard,
- Client *c);
-static void menuactivate(GtkMenuItem *item, Client *c);
-static void print(Client *c, const Arg *arg);
-static GdkFilterReturn processx(GdkXEvent *xevent, GdkEvent *event,
- gpointer d);
-static void progresschange(WebKitWebView *view, GParamSpec *pspec, Client *c);
-static void linkopen(Client *c, const Arg *arg);
-static void linkopenembed(Client *c, const Arg *arg);
-static void reload(Client *c, const Arg *arg);
-static void scroll_h(Client *c, const Arg *arg);
-static void scroll_v(Client *c, const Arg *arg);
-static void scroll(GtkAdjustment *a, const Arg *arg);
-static void setatom(Client *c, int a, const char *v);
-static void setup(void);
-static void sigchld(int unused);
-static void spawn(Client *c, const Arg *arg);
-static void stop(Client *c, const Arg *arg);
-static void titlechanged(WebKitWebView *view, GParamSpec *ps, Client *c);
-static void titlechangeleave(void *a, void *b, Client *c);
-static void toggle(Client *c, const Arg *arg);
-static void togglecookiepolicy(Client *c, const Arg *arg);
-static void togglegeolocation(Client *c, const Arg *arg);
-static void togglescrollbars(Client *c, const Arg *arg);
-static void togglestyle(Client *c, const Arg *arg);
-static void updatetitle(Client *c);
-static void updatewinid(Client *c);
-static void usage(void);
-static void windowobjectcleared(GtkWidget *w, WebKitWebFrame *frame,
- JSContextRef js, JSObjectRef win, Client *c);
-static void zoom(Client *c, const Arg *arg);
+static void reload(Client *c, const Arg *a);
+static void print(Client *c, const Arg *a);
+static void clipboard(Client *c, const Arg *a);
+static void zoom(Client *c, const Arg *a);
+static void scroll(Client *c, const Arg *a);
+static void navigate(Client *c, const Arg *a);
+static void stop(Client *c, const Arg *a);
+static void toggle(Client *c, const Arg *a);
+static void togglefullscreen(Client *c, const Arg *a);
+static void togglecookiepolicy(Client *c, const Arg *a);
+static void toggleinspector(Client *c, const Arg *a);
+static void find(Client *c, const Arg *a);
+
+/* Buttons */
+static void clicknavigate(Client *c, const Arg *a, WebKitHitTestResult *h);
+static void clicknewwindow(Client *c, const Arg *a, WebKitHitTestResult *h);
+static void clickexternplayer(Client *c, const Arg *a, WebKitHitTestResult *h);
+
+static char winid[64];
+static char togglestats[10];
+static char pagestats[2];
+static Atom atoms[AtomLast];
+static Window embed;
+static int showxid;
+static int cookiepolicy;
+static Display *dpy;
+static Client *clients;
+static GdkDevice *gdkkb;
+static char *stylefile;
+static const char *useragent;
+static Parameter *curconfig;
+char *argv0;