]> git.armaanb.net Git - chorizo.git/commitdiff
Port to GTK+ 3 first
authorPeter Hofmann <scm@uninformativ.de>
Sat, 8 Nov 2014 09:14:48 +0000 (10:14 +0100)
committerPeter Hofmann <scm@uninformativ.de>
Sat, 8 Nov 2014 09:18:35 +0000 (10:18 +0100)
Makefile
README
browser.c

index 185820f3b9b8f095586e2679b134e1c768fab44c..a85eb59e7dfa699b11ae8851d2e6095e4e54f3b0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@ $(__NAME__): browser.c
                -D__NAME_UPPERCASE__=\"$(__NAME_UPPERCASE__)\" \
                -D__NAME_CAPITALIZED__=\"$(__NAME_CAPITALIZED__)\" \
                -o $@ $< \
-               `pkg-config --cflags --libs gtk+-2.0 glib-2.0 webkit-1.0`
+               `pkg-config --cflags --libs gtk+-3.0 glib-2.0 webkitgtk-3.0`
 
 clean:
        rm -f $(__NAME__)
diff --git a/README b/README
index 4fdc530f5727399365e2ed187cdc057d39c7c5a0..8f02a5e754bf013aac18a00700f378665f5e778e 100644 (file)
--- a/README
+++ b/README
@@ -311,8 +311,8 @@ Dependencies
 
 lariza needs the following Arch Linux packages:
 
-    - gtk2
-    - webkitgtk2
+    - gtk3
+    - webkitgtk (WebKit1 API for GTK+ 3)
 
 
 ==========
@@ -322,7 +322,7 @@ Literature
 API references:
 
     - http://webkitgtk.org/reference/webkitgtk/stable/index.html
-    - https://developer.gnome.org/gtk2/stable/index.html
+    - https://developer.gnome.org/gtk3/stable/index.html
     - https://developer.gnome.org/glib/stable/index.html
 
 Regular expressions supported by GRegex, you can use these in your
index fe1be0544c11b50762907a2b02c9aa0c8f6a646d..44b8b71950c139fcd300be78abc376feaa5a51ad 100644 (file)
--- a/browser.c
+++ b/browser.c
@@ -6,7 +6,7 @@
 #include <string.h>
 
 #include <gtk/gtk.h>
-#include <gdk/gdkx.h>
+#include <gtk/gtkx.h>
 #include <gdk/gdkkeysyms.h>
 #include <gio/gio.h>
 #include <webkit/webkit.h>
@@ -216,11 +216,6 @@ client_new(const gchar *uri)
                gtk_window_set_wmclass(GTK_WINDOW(c->win), __NAME__, __NAME_CAPITALIZED__);
        }
 
-       /* When using Gtk2, it only shows a white area when run in suckless'
-        * tabbed. It appears we need to set a default window size for this
-        * to work. This is not needed when using Gtk3. */
-       gtk_window_set_default_size(GTK_WINDOW(c->win), 1024, 768);
-
        g_signal_connect(G_OBJECT(c->win), "destroy", G_CALLBACK(client_destroy), c);
        gtk_window_set_title(GTK_WINDOW(c->win), __NAME__);
 
@@ -278,21 +273,24 @@ client_new(const gchar *uri)
        g_signal_connect(G_OBJECT(c->location), "key-press-event",
                         G_CALLBACK(key_location), c);
 
-       c->progress = gtk_progress_bar_new();
-       gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(c->progress), 0);
+       /* XXX Progress bars don't work/look as intended anymore. Level bars
+        * are a dirty workaround (kind of). */
+       c->progress = gtk_level_bar_new();
+       gtk_level_bar_set_value(GTK_LEVEL_BAR(c->progress), 0);
+       gtk_widget_set_size_request(c->progress, 100, -1);
 
-       c->status = gtk_progress_bar_new();
-       gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(c->status), 0);
+       c->status = gtk_level_bar_new();
+       gtk_level_bar_set_value(GTK_LEVEL_BAR(c->status), 0);
        gtk_widget_set_size_request(c->status, 20, -1);
 
-       c->top_box = gtk_hbox_new(FALSE, 0);
+       c->top_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 0);
        gtk_box_pack_start(GTK_BOX(c->top_box), c->status, FALSE, FALSE, 2);
        gtk_box_pack_start(GTK_BOX(c->top_box), c->location, TRUE, TRUE, 0);
-       gtk_box_pack_end(GTK_BOX(c->top_box), c->progress, FALSE, TRUE, 2);
+       gtk_box_pack_start(GTK_BOX(c->top_box), c->progress, FALSE, FALSE, 2);
 
-       c->vbox = gtk_vbox_new(FALSE, 0);
+       c->vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
        gtk_box_pack_start(GTK_BOX(c->vbox), c->top_box, FALSE, FALSE, 2);
-       gtk_container_add(GTK_CONTAINER(c->vbox), c->scroll);
+       gtk_box_pack_start(GTK_BOX(c->vbox), c->scroll, TRUE, TRUE, 2);
 
        gtk_container_add(GTK_CONTAINER(c->win), c->vbox);
 
@@ -394,7 +392,7 @@ changed_load_progress(GObject *obj, GParamSpec *pspec, gpointer data)
        gdouble p;
 
        p = webkit_web_view_get_progress(WEBKIT_WEB_VIEW(c->web_view));
-       gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(c->progress), p);
+       gtk_level_bar_set_value(GTK_LEVEL_BAR(c->progress), p);
 }
 
 void
@@ -450,7 +448,7 @@ download_handle(WebKitWebView *web_view, WebKitDownload *download, gpointer data
                ret = TRUE;
                g_free(uri);
 
-               gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(c->status), 1);
+               gtk_level_bar_set_value(GTK_LEVEL_BAR(c->status), 1);
                downloads_indicated++;
                g_timeout_add(500, download_reset_indicator, c);
 
@@ -481,7 +479,7 @@ download_reset_indicator(gpointer data)
 
        downloads_indicated--;
        if (downloads_indicated == 0)
-               gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(c->status), 0);
+               gtk_level_bar_set_value(GTK_LEVEL_BAR(c->status), 0);
 
        return FALSE;
 }
@@ -752,7 +750,7 @@ key_web_view(GtkWidget *widget, GdkEvent *event, gpointer data)
                else if (((GdkEventKey *)event)->keyval == GDK_KEY_Escape)
                {
                        webkit_web_view_stop_loading(WEBKIT_WEB_VIEW(c->web_view));
-                       gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(c->progress), 0);
+                       gtk_level_bar_set_value(GTK_LEVEL_BAR(c->progress), 0);
                }
        }
        else if (event->type == GDK_BUTTON_PRESS)