applied history
[surf.git] / surf.c
diff --git a/surf.c b/surf.c
index 4520daa..a4465d4 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -181,6 +181,7 @@ static void spawn(Client *c, const Arg *a);
 static void msgext(Client *c, char type, const Arg *a);
 static void destroyclient(Client *c);
 static void cleanup(void);
+static void updatehistory(const char *u, const char *t);
 
 /* GTK/WebKit */
 static WebKitWebView *newview(Client *c, WebKitWebView *rv);
@@ -344,10 +345,11 @@ setup(void)
        curconfig = defconfig;
 
        /* dirs and files */
-       cookiefile = buildfile(cookiefile);
-       scriptfile = buildfile(scriptfile);
-       cachedir   = buildpath(cachedir);
-       certdir    = buildpath(certdir);
+       cookiefile  = buildfile(cookiefile);
+       historyfile = buildfile(historyfile);
+       scriptfile  = buildfile(scriptfile);
+       cachedir    = buildpath(cachedir);
+       certdir     = buildpath(certdir);
 
        gdkkb = gdk_seat_get_keyboard(gdk_display_get_default_seat(gdpy));
 
@@ -1084,12 +1086,28 @@ cleanup(void)
        close(pipein[0]);
        close(pipeout[1]);
        g_free(cookiefile);
+       g_free(historyfile);
        g_free(scriptfile);
        g_free(stylefile);
        g_free(cachedir);
        XCloseDisplay(dpy);
 }
 
+void
+updatehistory(const char *u, const char *t)
+{
+       FILE *f;
+       f = fopen(historyfile, "a+");
+
+       char b[20];
+       time_t now = time (0);
+       strftime (b, 20, "%Y-%m-%d %H:%M:%S", localtime (&now));
+       fputs(b, f);
+
+       fprintf(f, " %s %s\n", u, t);
+       fclose(f);
+}
+
 WebKitWebView *
 newview(Client *c, WebKitWebView *rv)
 {
@@ -1499,6 +1517,7 @@ loadfailedtls(WebKitWebView *v, gchar *uri, GTlsCertificate *cert,
        return TRUE;
 }
 
+
 void
 loadchanged(WebKitWebView *v, WebKitLoadEvent e, Client *c)
 {
@@ -1527,6 +1546,7 @@ loadchanged(WebKitWebView *v, WebKitLoadEvent e, Client *c)
                break;
        case WEBKIT_LOAD_FINISHED:
                seturiparameters(c, uri, loadfinished);
+               updatehistory(uri, c->title);
                /* Disabled until we write some WebKitWebExtension for
                 * manipulating the DOM directly.
                evalscript(c, "document.documentElement.style.overflow = '%s'",