summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.def.h4
-rw-r--r--surf.c18
2 files changed, 19 insertions, 3 deletions
diff --git a/config.def.h b/config.def.h
index 152300f..c51ae98 100644
--- a/config.def.h
+++ b/config.def.h
@@ -4,8 +4,10 @@ static char *progress = "#FF0000";
static char *progress_trust = "#00FF00";
static char *stylefile = ".surf/style.css";
static char *scriptfile = ".surf/script.js";
-static char *cookiefile = ".surf/cookie.txt";
+static char *cookiefile = ".surf/cookies.txt";
static char *dldir = ".surf/dl";
+static time_t sessiontime = 3600;
+
#define MODKEY GDK_CONTROL_MASK
static Key keys[] = {
/* modifier keyval function arg Focus */
diff --git a/surf.c b/surf.c
index 37d457e..3a2e820 100644
--- a/surf.c
+++ b/surf.c
@@ -630,8 +630,22 @@ reload(Client *c, const Arg *arg) {
void
reloadcookie(void) {
+ GSList *p, *l;
+ SoupCookie *c;
SoupSession *s;
-
+ SoupDate *e;
+
+ e = soup_date_new_from_time_t(time(NULL) + sessiontime);
+ for(l = p = soup_cookie_jar_all_cookies(cookiejar); p; p = p->next) {
+ c = (SoupCookie *)l->data;
+ if(c->expires == NULL) {
+ soup_cookie_set_expires(c, e);
+ soup_cookie_jar_add_cookie(cookiejar,
+ soup_cookie_copy(c));
+ }
+ }
+ soup_cookies_free(l);
+ soup_date_free(e);
/* This forces the cookie to be written to hdd */
s = webkit_get_default_session();
soup_session_remove_feature(s, SOUP_SESSION_FEATURE(cookiejar));
@@ -670,7 +684,7 @@ setup(void) {
dpy = GDK_DISPLAY();
session = webkit_get_default_session();
- uriprop = XInternAtom(dpy, "_SURF_uri", False);
+ uriprop = XInternAtom(dpy, "_SURF_URI", False);
/* create dirs and files */
cookiefile = buildpath(cookiefile);