commit a69c41ccac3141784140852c9d3935049d188d0f
parent d02f73d9902b953e6d815856844c79e3755c26fd
Author: Christoph Lohmann <[email protected]>
Date: Thu, 14 Mar 2013 19:14:44 +0100
Support relative paths for surf.
Thanks Kurt Van Dijck <[email protected]>!
Diffstat:
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/surf.c b/surf.c
@@ -577,12 +577,13 @@ loaduri(Client *c, const Arg *arg) {
char *u, *rp;
const char *uri = (char *)arg->v;
Arg a = { .b = FALSE };
+ struct stat st;
if(strcmp(uri, "") == 0)
return;
/* In case it's a file path. */
- if(uri[0] == '/') {
+ if(stat(uri, &st) == 0) {
rp = realpath(uri, NULL);
u = g_strdup_printf("file://%s", rp);
free(rp);
@@ -889,11 +890,12 @@ processx(GdkXEvent *e, GdkEvent *event, gpointer d) {
if(ev->atom == atoms[AtomFind]) {
arg.b = TRUE;
find(c, &arg);
+
return GDK_FILTER_REMOVE;
- }
- else if(ev->atom == atoms[AtomGo]) {
+ } else if(ev->atom == atoms[AtomGo]) {
arg.v = getatom(c, AtomGo);
loaduri(c, &arg);
+
return GDK_FILTER_REMOVE;
}
}