X-Git-Url: https://git.danieliu.xyz/?p=surf.git;a=blobdiff_plain;f=surf.c;h=32c19204c4b643a89e06442fed663e30a45d340e;hp=d43535dad78bc9b1177d37fc67db31644777d2a3;hb=cdc80731fba6ce33bf6803009bf2b838b3be8192;hpb=890ab510ea2a547926e6814fdcd596910c87d614 diff --git a/surf.c b/surf.c index d43535d..32c1920 100644 --- a/surf.c +++ b/surf.c @@ -259,7 +259,8 @@ sigchld(int unused) { if (signal(SIGCHLD, sigchld) == SIG_ERR) die("Can't install SIGCHLD handler"); - while (0 < waitpid(-1, NULL, WNOHANG)); + while (waitpid(-1, NULL, WNOHANG) > 0) + ; } char * @@ -332,14 +333,12 @@ newclient(Client *rc) if (!(c = calloc(1, sizeof(Client)))) die("Cannot malloc!\n"); - c->title = NULL; - c->progress = 100; - c->next = clients; clients = c; - c->view = newview(c, rc ? rc->view : NULL); + c->progress = 100; c->tlsflags = G_TLS_CERTIFICATE_VALIDATE_ALL + 1; + c->view = newview(c, rc ? rc->view : NULL); return c; } @@ -434,26 +433,24 @@ void updatetitle(Client *c) { char *title; + const char *name = c->targeturi ? c->targeturi : + c->title ? c->title : ""; if (showindicators) { gettogglestats(c); getpagestats(c); - if (c->progress != 100) { + if (c->progress != 100) title = g_strdup_printf("[%i%%] %s:%s | %s", - c->progress, togglestats, pagestats, - c->targeturi ? c->targeturi : c->title); - } else { + c->progress, togglestats, pagestats, name); + else title = g_strdup_printf("%s:%s | %s", - togglestats, pagestats, - c->targeturi ? c->targeturi : c->title); - } + togglestats, pagestats, name); gtk_window_set_title(GTK_WINDOW(c->win), title); g_free(title); } else { - gtk_window_set_title(GTK_WINDOW(c->win), c->title ? - c->title : ""); + gtk_window_set_title(GTK_WINDOW(c->win), name); } } @@ -488,12 +485,11 @@ cookiepolicy_get(void) return WEBKIT_COOKIE_POLICY_ACCEPT_NEVER; case '@': return WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY; + default: /* fallthrough */ case 'A': - default: - break; + return WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS; } - return WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS; } char @@ -504,12 +500,11 @@ cookiepolicy_set(const WebKitCookieAcceptPolicy p) return 'a'; case WEBKIT_COOKIE_POLICY_ACCEPT_NO_THIRD_PARTY: return '@'; + default: /* fallthrough */ case WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS: - default: - break; + return 'A'; } - return 'A'; } const char * @@ -648,9 +643,9 @@ spawn(Client *c, const Arg *a) close(ConnectionNumber(dpy)); setsid(); execvp(((char **)a->v)[0], (char **)a->v); - fprintf(stderr, "surf: execvp %s", ((char **)a->v)[0]); + fprintf(stderr, "%s: execvp %s", argv0, ((char **)a->v)[0]); perror(" failed"); - exit(0); + exit(1); } } @@ -1219,7 +1214,7 @@ void pasteuri(GtkClipboard *clipboard, const char *text, gpointer d) { Arg a = {.v = text }; - if (!text) + if (text) loaduri((Client *) d, &a); } @@ -1542,15 +1537,15 @@ main(int argc, char *argv[]) } ARGEND; if (argc > 0) arg.v = argv[0]; + else + arg.v = "about:blank"; setup(); c = newclient(NULL); showview(NULL, c); - if (arg.v) - loaduri(clients, &arg); - else - updatetitle(c); + loaduri(c, &arg); + updatetitle(c); gtk_main(); cleanup();