void loadcommit(WebKitWebView *view, WebKitWebFrame *f, Client *c) { gchar *uri; ignore_once = TRUE; uri = geturi(c); XChangeProperty(dpy, GDK_WINDOW_XID(GTK_WIDGET(c->win)->window), urlprop, XA_STRING, 8, PropModeReplace, (unsigned char *)uri, strlen(uri) + 1); }
void showurl(Client *c) { gchar *uri; hidesearch(c); uri = geturi(c); gtk_entry_set_text(GTK_ENTRY(c->urlbar), uri); gtk_widget_show(c->urlbar); gtk_widget_grab_focus(c->urlbar); }
void download(Client *c, const Arg *arg) { char *uri; WebKitNetworkRequest *r; WebKitDownload *dl; if(arg->v) uri = (char *)arg->v; else uri = c->linkhover ? c->linkhover : geturi(c); r = webkit_network_request_new(uri); dl = webkit_download_new(r); initdownload(c->view, dl, c); }
void loadstatuschange(WebKitWebView *view, GParamSpec *pspec, Client *c) { switch(webkit_web_view_get_load_status (c->view)) { case WEBKIT_LOAD_COMMITTED: setatom(c, AtomUri, geturi(c)); break; case WEBKIT_LOAD_FINISHED: c->progress = 0; update(c); break; default: break; } }
void drawindicator(Client *c) { gint width; gchar *uri; GtkWidget *w; GdkGC *gc; GdkColor fg; uri = geturi(c); w = c->indicator; width = c->progress * w->allocation.width / 100; gc = gdk_gc_new(w->window); gdk_color_parse(strstr(uri, "https://") == uri ? progress_trust : progress, &fg); gdk_gc_set_rgb_fg_color(gc, &fg); gdk_draw_rectangle(w->window, w->style->bg_gc[GTK_WIDGET_STATE(w)], TRUE, 0, 0, w->allocation.width, w->allocation.height); gdk_draw_rectangle(w->window, gc, TRUE, 0, 0, width, w->allocation.height); g_object_unref(gc); }
void loaduri(Client *c, const Arg *arg) { char *u; const char *cururi; const char *uri = (char *)arg->v; Arg a = { .b = FALSE }; if(strcmp(uri, "") == 0) return; u = g_strrstr(uri, "://") ? g_strdup(uri) : g_strdup_printf("http://%s", uri); /* prevents endless loop */ cururi=geturi(c); if(strcmp(u, cururi) == 0) { reload(c, &a); } else { webkit_web_view_load_uri(c->view, u); c->progress = 0; c->title = copystr(&c->title, u); update(c); } g_free(u); }
void loadcommit(WebKitWebView *view, WebKitWebFrame *f, Client *c) { setatom(c, uriprop, geturi(c)); }
void clipboard(Client *c, const Arg *arg) { gboolean paste = *(gboolean *)arg; if(paste) gtk_clipboard_request_text(gtk_clipboard_get(GDK_SELECTION_PRIMARY), pasteuri, c); else gtk_clipboard_set_text(gtk_clipboard_get(GDK_SELECTION_PRIMARY), c->linkhover ? c->linkhover : geturi(c), -1); }