| Date: Sat, 17 Oct 2009 12:41:40 +0200
Sessioncookies made persistant.
Diffstat:
config.def.h | 4 +++-
surf.c | 18 ++++++++++++++++--
2 files changed, 19 insertions(+), 3 deletions(-)
--- |
| @@ -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 */ |
| @@ -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); |