X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=surf.c;h=d43535dad78bc9b1177d37fc67db31644777d2a3;hb=890ab510ea2a547926e6814fdcd596910c87d614;hp=610aff267b388b4ac5213a35be9ff2c3bfee1376;hpb=fef80cd56ccca7e0816d39e85cf6c0f3f09b8c3c;p=surf.git diff --git a/surf.c b/surf.c index 610aff2..d43535d 100644 --- a/surf.c +++ b/surf.c @@ -130,7 +130,7 @@ static void cleanup(void); static WebKitWebView *newview(Client *c, WebKitWebView *rv); static GtkWidget *createview(WebKitWebView *v, WebKitNavigationAction *a, Client *c); -static gboolean buttonreleased(GtkWidget *w, GdkEventKey *e, Client *c); +static gboolean buttonreleased(GtkWidget *w, GdkEvent *e, Client *c); static gboolean keypress(GtkAccelGroup *group, GObject *obj, guint key, GdkModifierType mods, Client *c); static GdkFilterReturn processx(GdkXEvent *xevent, GdkEvent *event, @@ -211,7 +211,7 @@ die(const char *errstr, ...) va_start(ap, errstr); vfprintf(stderr, errstr, ap); va_end(ap); - exit(EXIT_FAILURE); + exit(1); } void @@ -394,9 +394,9 @@ loaduri(Client *c, const Arg *a) const char * geturi(Client *c) { - char *uri; + const char *uri; - if (!(uri = (char *)webkit_web_view_get_uri(c->view))) + if (!(uri = webkit_web_view_get_uri(c->view))) uri = "about:blank"; return uri; } @@ -406,8 +406,8 @@ setatom(Client *c, int a, const char *v) { XSync(dpy, False); XChangeProperty(dpy, c->xid, - atoms[a], XA_STRING, 8, PropModeReplace, - (unsigned char *)v, strlen(v) + 1); + atoms[a], XA_STRING, 8, PropModeReplace, + (unsigned char *)v, strlen(v) + 1); } const char * @@ -813,18 +813,17 @@ createview(WebKitWebView *v, WebKitNavigationAction *a, Client *c) } gboolean -buttonreleased(GtkWidget *w, GdkEventKey *e, Client *c) +buttonreleased(GtkWidget *w, GdkEvent *e, Client *c) { WebKitHitTestResultContext element; - GdkEventButton *eb = (GdkEventButton*)e; int i; element = webkit_hit_test_result_get_context(c->mousepos); for (i = 0; i < LENGTH(buttons); ++i) { if (element & buttons[i].target && - eb->button == buttons[i].button && - CLEANMASK(eb->state) == CLEANMASK(buttons[i].mask) && + e->button.button == buttons[i].button && + CLEANMASK(e->button.state) == CLEANMASK(buttons[i].mask) && buttons[i].func) { buttons[i].func(c, &buttons[i].arg, c->mousepos); return buttons[i].stopevent; @@ -906,7 +905,6 @@ winevent(GtkWidget *w, GdkEvent *e, Client *c) void showview(WebKitWebView *v, Client *c) { - GdkGeometry hints = { 1, 1 }; GdkRGBA bgcolor = { 0 }; GdkWindow *gwin; @@ -917,8 +915,6 @@ showview(WebKitWebView *v, Client *c) c->win = createwindow(c); gtk_container_add(GTK_CONTAINER(c->win), GTK_WIDGET(c->view)); - gtk_window_set_geometry_hints(GTK_WINDOW(c->win), NULL, &hints, - GDK_HINT_MIN_SIZE); gtk_widget_show_all(c->win); gtk_widget_grab_focus(GTK_WIDGET(c->view)); @@ -952,6 +948,7 @@ showview(WebKitWebView *v, Client *c) GtkWidget * createwindow(Client *c) { + char *wmstr; GtkWidget *w; if (embed) { @@ -959,19 +956,14 @@ createwindow(Client *c) } else { w = gtk_window_new(GTK_WINDOW_TOPLEVEL); - /* TA: 20091214: Despite what the GNOME docs say, the ICCCM - * is always correct, so we should still call this function. - * But when doing so, we *must* differentiate between a - * WM_CLASS and a resource on the window. By convention, the - * window class (WM_CLASS) is capped, while the resource is in - * lowercase. Both these values come as a pair. - */ - gtk_window_set_wmclass(GTK_WINDOW(w), "surf", "Surf"); + wmstr = g_path_get_basename(argv0); + gtk_window_set_wmclass(GTK_WINDOW(w), wmstr, "Surf"); + g_free(wmstr); - /* TA: 20091214: And set the role here as well -- so that - * sessions can pick this up. - */ - gtk_window_set_role(GTK_WINDOW(w), "Surf"); + wmstr = g_strdup_printf("%s[%lu]", "Surf", + webkit_web_view_get_page_id(c->view)); + gtk_window_set_role(GTK_WINDOW(w), wmstr); + g_free(wmstr); gtk_window_set_default_size(GTK_WINDOW(w), 800, 600); } @@ -1563,5 +1555,5 @@ main(int argc, char *argv[]) gtk_main(); cleanup(); - return EXIT_SUCCESS; + return 0; }