adding fixes from thomas_adam. Thanks :)
authorEnno Boland (tox) <tox@s01.de>
Tue, 15 Dec 2009 16:16:01 +0000 (17:16 +0100)
committerEnno Boland (tox) <tox@s01.de>
Tue, 15 Dec 2009 16:16:01 +0000 (17:16 +0100)
surf.1
surf.c

diff --git a/surf.1 b/surf.1
index 97a56d2..6d2a8e3 100644 (file)
--- a/surf.1
+++ b/surf.1
@@ -26,6 +26,8 @@ Prints version information to standard output, then exits.
 Prints xid to standard output. This can be used to script the browser by using
 .BR xprop(1).
 .SH USAGE
 Prints xid to standard output. This can be used to script the browser by using
 .BR xprop(1).
 .SH USAGE
+.B Escape
+Stops loading current page or stops download.
 .TP
 .B Ctrl\-h
 Walks back the history.
 .TP
 .B Ctrl\-h
 Walks back the history.
@@ -51,6 +53,12 @@ Resets Zoom
 .B Ctrl\-/
 Opens the search-bar.
 .TP
 .B Ctrl\-/
 Opens the search-bar.
 .TP
+.B Ctrl\-n
+Go to next search result.
+.TP
+.B Ctrl\-Shift\-n
+Go to previous search result.
+.TP
 .B Ctrl\-g
 Opens the URL-bar.
 .TP
 .B Ctrl\-g
 Opens the URL-bar.
 .TP
diff --git a/surf.c b/surf.c
index 478c07e..796ee96 100644 (file)
--- a/surf.c
+++ b/surf.c
@@ -467,7 +467,19 @@ newclient(void) {
        }
        else {
                c->win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        }
        else {
                c->win = 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(c->win), "surf", "surf");
                gtk_window_set_wmclass(GTK_WINDOW(c->win), "surf", "surf");
+
+               /* TA:  20091214:  And set the role here as well -- so that
+                * sessions can pick this up.
+                */
+               gtk_window_set_role(GTK_WINDOW(c->win), "Surf");
        }
        gtk_window_set_default_size(GTK_WINDOW(c->win), 800, 600);
        g_signal_connect(G_OBJECT(c->win), "destroy", G_CALLBACK(destroywin), c);
        }
        gtk_window_set_default_size(GTK_WINDOW(c->win), 800, 600);
        g_signal_connect(G_OBJECT(c->win), "destroy", G_CALLBACK(destroywin), c);
@@ -684,6 +696,7 @@ void
 setup(void) {
        SoupSession *s;
        char *proxy;
 setup(void) {
        SoupSession *s;
        char *proxy;
+       char *new_proxy;
        SoupURI *puri;
 
        /* clean up any zombies immediately */
        SoupURI *puri;
 
        /* clean up any zombies immediately */
@@ -709,9 +722,13 @@ setup(void) {
        soup_session_add_feature(s, SOUP_SESSION_FEATURE(cookies));
        g_signal_connect(cookies, "changed", G_CALLBACK(changecookie), NULL);
        if((proxy = getenv("http_proxy")) && strcmp(proxy, "")) {
        soup_session_add_feature(s, SOUP_SESSION_FEATURE(cookies));
        g_signal_connect(cookies, "changed", G_CALLBACK(changecookie), NULL);
        if((proxy = getenv("http_proxy")) && strcmp(proxy, "")) {
-               puri = soup_uri_new(proxy);
+               new_proxy = g_strrstr(proxy, "http://") ? g_strdup(proxy) :
+                           g_strdup_printf("http://%s", proxy);
+
+               puri = soup_uri_new(new_proxy);
                g_object_set(G_OBJECT(s), "proxy-uri", puri, NULL);
                soup_uri_free(puri);
                g_object_set(G_OBJECT(s), "proxy-uri", puri, NULL);
                soup_uri_free(puri);
+               g_free(new_proxy);
        }
        reloadcookies();
 }
        }
        reloadcookies();
 }