/* modifier 0 means no modifier */ static gchar *progress = "dodgerblue2"; static gchar *progress_trust = "#00FF00"; static void spawn(Client *c, const Arg *arg); #define MODKEY GDK_CONTROL_MASK static Key keys[] = { /* modifier keyval function arg Focus */ { MODKEY|GDK_SHIFT_MASK,GDK_r, reload, { .b = TRUE }, Any }, { MODKEY, GDK_r, reload, { .b = FALSE }, Any }, { MODKEY|GDK_SHIFT_MASK,GDK_g, showurl, { 0 }, Any }, { MODKEY, GDK_slash, showsearch, { 0 }, Any }, { 0, GDK_Escape, hidesearch, { 0 }, Any }, { 0, GDK_Escape, hideurl, { 0 }, Any }, { MODKEY|GDK_SHIFT_MASK,GDK_p, print, { 0 }, Any }, { MODKEY, GDK_p, clipboard, { .b = TRUE }, Browser }, { MODKEY, GDK_y, clipboard, { .b = FALSE }, Browser }, { MODKEY|GDK_SHIFT_MASK,GDK_j, zoom, { .i = -1 }, Browser }, { MODKEY|GDK_SHIFT_MASK,GDK_k, zoom, { .i = +1 }, Browser }, { MODKEY|GDK_SHIFT_MASK,GDK_i, zoom, { .i = 0 }, Browser }, { MODKEY, GDK_l, navigate, { .i = +1 }, Browser }, { MODKEY, GDK_h, navigate, { .i = -1 }, Browser }, { MODKEY, GDK_j, scroll, { .i = +1 }, Browser }, { MODKEY, GDK_k, scroll, { .i = -1 }, Browser }, { 0, GDK_Escape, stop, { 0 }, Browser }, { MODKEY, GDK_o, source, { 0 }, Browser }, { MODKEY, GDK_n, searchtext, { .b = TRUE }, Browser|SearchBar }, { MODKEY|GDK_SHIFT_MASK,GDK_n, searchtext, { .b = FALSE }, Browser|SearchBar }, { 0, GDK_Return, searchtext, { .b = TRUE }, SearchBar }, { GDK_SHIFT_MASK, GDK_Return, searchtext, { .b = FALSE }, SearchBar }, { 0, GDK_Return, loaduri, { .v = NULL }, UrlBar }, { 0, GDK_Return, hideurl, { 0 }, UrlBar }, { MODKEY, GDK_g, spawn, { .v = "go" }, Any }, { MODKEY, GDK_b, spawn, { .v = "add" }, Any }, }; void spawn(Client *c, const Arg *arg) { const gchar *filename; const gchar *scriptname; scriptname = "surf-script.sh"; filename = g_build_filename(workdir, scriptname, NULL); const gchar *command = (gchar *)arg->v; const gchar *xid = g_strdup_printf("%u", (guint)GDK_WINDOW_XID(GTK_WIDGET(c->win)->window)); gdk_display_sync(gtk_widget_get_display(c->win)); if (fork() ==0) execlp(filename, scriptname, command, xid, webkit_web_view_get_uri(c->view), NULL); }