applied history
[surf.git] / config.def.h
index 8a3c924..e8e1c50 100644 (file)
@@ -6,6 +6,14 @@ static char *styledir       = "~/.surf/styles/";
 static char *certdir        = "~/.surf/certificates/";
 static char *cachedir       = "~/.surf/cache/";
 static char *cookiefile     = "~/.surf/cookies.txt";
+static char *historyfile    = "~/.surf/history.txt";
+
+static SearchEngine searchengines[] = {
+    { "g",    "https://www.google.com/search?q=%s"             },
+    { "ji",   "https://jisho.org/search/%s"                    },
+    { "aw",   "https://wiki.archlinux.org/index.php?search=%s" },
+    { "s",    "https://searx.danieliu.xyz/?q=%s"               }
+};
 
 /* Webkit default features */
 /* Highest priority value will be used.
@@ -99,7 +107,7 @@ static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE |
 /* VIDEOPLAY(URI) */
 #define VIDEOPLAY(u) {\
         .v = (const char *[]){ "/bin/sh", "-c", \
-             "mpv --really-quiet \"$0\"", u, NULL \
+             "notify-send 'Opening video in mpv...' & mpv --really-quiet \"$0\"", u, NULL \
         } \
 }
 
@@ -114,6 +122,11 @@ static WebKitFindOptions findopts = WEBKIT_FIND_OPTIONS_CASE_INSENSITIVE |
         } \
 }
 
+#define SETURI(p)       { .v = (char *[]){ "/bin/sh", "-c", \
+"prop=\"`surf_history_dmenu.sh`\" &&" \
+"xprop -id $1 -f $0 8s -set $0 \"$prop\"", \
+p, winid, NULL } }
+
 /* styles */
 /*
  * The iteration will stop at the first match, beginning at the beginning of
@@ -147,6 +160,8 @@ static Key keys[] = {
        { MODKEY,                GDK_KEY_slash,  spawn,      SETPROP("_SURF_FIND", "_SURF_FIND", PROMPT_FIND) },
        { MODKEY,                GDK_KEY_m,      spawn,      BM_ADD("_SURF_URI") },
 
+       { MODKEY,                GDK_KEY_w,      playexternal, { 0 } },
+
        { 0,                     GDK_KEY_Escape, stop,       { 0 } },
        { MODKEY,                GDK_KEY_c,      stop,       { 0 } },
 
@@ -193,6 +208,7 @@ static Key keys[] = {
        { MODKEY|GDK_SHIFT_MASK, GDK_KEY_b,      toggle,     { .i = ScrollBars } },
        { MODKEY|GDK_SHIFT_MASK, GDK_KEY_t,      toggle,     { .i = StrictTLS } },
        { MODKEY|GDK_SHIFT_MASK, GDK_KEY_m,      toggle,     { .i = Style } },
+    { MODKEY               , GDK_KEY_Return, spawn,      SETURI("_SURF_GO") },
 };
 
 /* button definitions */
@@ -207,4 +223,4 @@ static Button buttons[] = {
        { OnMedia,      MODKEY,         1,      clickexternplayer, { 0 },       1 },
 };
 
-#define HOMEPAGE "https://duckduckgo.com/"
+#define HOMEPAGE "https://danieliu.xyz/"