コード例 #1
0
ファイル: surf.c プロジェクト: theappleman/surf
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);
}
コード例 #2
0
ファイル: surf.c プロジェクト: sr/surf
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);
}
コード例 #3
0
ファイル: surf.c プロジェクト: sr/surf-mirror
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);
}
コード例 #4
0
ファイル: surf.c プロジェクト: bobrippling/bin
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;
	}
}
コード例 #5
0
ファイル: surf.c プロジェクト: theappleman/surf
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);
}
コード例 #6
0
ファイル: surf.c プロジェクト: bobrippling/bin
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);
}
コード例 #7
0
ファイル: surf.c プロジェクト: sr/surf-mirror
void
loadcommit(WebKitWebView *view, WebKitWebFrame *f, Client *c) {
	setatom(c, uriprop, geturi(c));
}
コード例 #8
0
ファイル: surf.c プロジェクト: sr/surf-mirror
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);
}