X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;ds=sidebyside;f=surf.c;h=3a421284af5af434f84af6ff370e3f95282811ee;hb=1d019cf8af6ffa2cd0f6d0bd9b6344e4924bb510;hp=50c3be02ce16f673439372d114f86e3ebfa63aa5;hpb=9557e7b7697f26ca9ddcce6c2ad07913269b6525;p=surf.git diff --git a/surf.c b/surf.c index 50c3be0..3a42128 100644 --- a/surf.c +++ b/surf.c @@ -79,6 +79,7 @@ static void die(char *str); static void download(WebKitDownload *o, GParamSpec *pspec, Client *c); static void drawindicator(Client *c); static gboolean exposeindicator(GtkWidget *w, GdkEventExpose *e, Client *c); +static char *geturi(Client *c); static const char *getatom(Client *c, Atom a); static gboolean initdownload(WebKitWebView *v, WebKitDownload *o, Client *c); static void itemclick(GtkMenuItem *mi, Client *c); @@ -175,7 +176,7 @@ clipboard(Client *c, const Arg *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), webkit_web_view_get_uri(c->view), -1); + gtk_clipboard_set_text(gtk_clipboard_get(GDK_SELECTION_PRIMARY), c->linkhover ? c->linkhover : geturi(c), -1); } void @@ -388,14 +389,14 @@ linkhover(WebKitWebView *v, const char* t, const char* l, Client *c) { void loadcommit(WebKitWebView *view, WebKitWebFrame *f, Client *c) { - setatom(c, uriprop, webkit_web_view_get_uri(c->view)); - reloadcookies(); + setatom(c, uriprop, geturi(c)); } void loadstart(WebKitWebView *view, WebKitWebFrame *f, Client *c) { c->progress = 0; update(c); + reloadcookies(); } void @@ -423,6 +424,7 @@ newclient(void) { int i; Client *c; WebKitWebSettings *settings; + GdkGeometry hints = { 1, 1 }; char *uri; if(!(c = calloc(1, sizeof(Client)))) @@ -492,6 +494,7 @@ newclient(void) { gtk_widget_show(c->scroll); gtk_widget_show(GTK_WIDGET(c->view)); gtk_widget_show(c->win); + gtk_window_set_geometry_hints(GTK_WINDOW(c->win), NULL, &hints, GDK_HINT_MIN_SIZE); gdk_window_set_events(GTK_WIDGET(c->win)->window, GDK_ALL_EVENTS_MASK); gdk_window_add_filter(GTK_WIDGET(c->win)->window, processx, c); webkit_web_view_set_full_content_zoom(c->view, TRUE);