tScrolling is now handled through WebKit - surf - customized build of surf, the suckless webkit browser
 (HTM) git clone git://src.adamsgaard.dk/surf
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 42829cdad04c6191c6571d571cde051b16834e43
 (DIR) parent 94f2f2eacef96aa3f34124352232aac3a17c995f
 (HTM) Author: Quentin Rameau <quinq@fifth.space>
       Date:   Wed, 18 Nov 2015 15:23:42 +0100
       
       Scrolling is now handled through WebKit
       
       We don't have access anymore to the scrolling process and have to rely
       entirely on WebKit.
       We could be able to manage scrolling and bars directly by manipulating
       tthe DOM via a WebKitExtension. To be continued…
       
       Diffstat:
         M surf.c                              |      36 ++-----------------------------
       
       1 file changed, 2 insertions(+), 34 deletions(-)
       ---
 (DIR) diff --git a/surf.c b/surf.c
       t@@ -53,7 +53,7 @@ union Arg {
        };
        
        typedef struct Client {
       -        GtkWidget *win, *scroll, *vbox, *pane;
       +        GtkWidget *win;
                Window xid;
                WebKitWebView *view;
                WebKitWebInspector *inspector;
       t@@ -778,7 +778,6 @@ newclient(void)
        {
                Client *c;
                WebKitWebSettings *settings;
       -        WebKitWebFrame *frame;
                GdkGeometry hints = { 1, 1 };
                GdkScreen *screen;
                GdkWindow *gwin;
       t@@ -822,13 +821,6 @@ newclient(void)
                if (!kioskmode)
                        addaccelgroup(c);
        
       -        /* Pane */
       -        c->pane = gtk_paned_new(GTK_ORIENTATION_VERTICAL);
       -
       -        /* VBox */
       -        c->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
       -        gtk_paned_pack1(GTK_PANED(c->pane), c->vbox, TRUE, TRUE);
       -
                /* Webview */
                c->view = WEBKIT_WEB_VIEW(webkit_web_view_new());
        
       t@@ -875,35 +867,11 @@ newclient(void)
                                 "should-show-delete-interface-for-element",
                                 G_CALLBACK(deletion_interface), c);
        
       -        /* Scrolled Window */
       -        c->scroll = gtk_scrolled_window_new(NULL, NULL);
       -
       -        frame = webkit_web_view_get_main_frame(WEBKIT_WEB_VIEW(c->view));
       -        g_signal_connect(G_OBJECT(frame), "scrollbars-policy-changed",
       -                         G_CALLBACK(gtk_true), NULL);
       -
       -        if (!enablescrollbars) {
       -                gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(c->scroll),
       -                                               GTK_POLICY_NEVER,
       -                                               GTK_POLICY_NEVER);
       -        } else {
       -                gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(c->scroll),
       -                                               GTK_POLICY_AUTOMATIC,
       -                                               GTK_POLICY_AUTOMATIC);
       -        }
       -
                /* Arranging */
       -        gtk_container_add(GTK_CONTAINER(c->scroll), GTK_WIDGET(c->view));
       -        gtk_container_add(GTK_CONTAINER(c->win), c->pane);
       -        gtk_container_add(GTK_CONTAINER(c->vbox), c->scroll);
       +        gtk_container_add(GTK_CONTAINER(c->win), GTK_WIDGET(c->view));
        
                /* Setup */
       -        gtk_box_set_child_packing(GTK_BOX(c->vbox), c->scroll, TRUE, TRUE, 0,
       -                                  GTK_PACK_START);
                gtk_widget_grab_focus(GTK_WIDGET(c->view));
       -        gtk_widget_show(c->pane);
       -        gtk_widget_show(c->vbox);
       -        gtk_widget_show(c->scroll);
                gtk_widget_show(GTK_WIDGET(c->view));
                gtk_widget_show(c->win);
                gwin = gtk_widget_get_window(GTK_WIDGET(c->win));