Merge commit 'robm/master' into experimental
authorDequis <dx@dxzone.com.ar>
Wed, 24 Jun 2009 17:14:39 +0000 (14:14 -0300)
committerDequis <dx@dxzone.com.ar>
Wed, 24 Jun 2009 17:14:39 +0000 (14:14 -0300)
AUTHORS
Makefile
Makefile-new-test [new file with mode: 0644]
uzbl.c
uzbl.h

diff --git a/AUTHORS b/AUTHORS
index 938bfa2..05271cb 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -28,6 +28,7 @@ Contributors:
     (israellevin) - toggle_zoom_type
     (kmeaw) - fix for multibyte utf8 characters segfault
     (evocallaghan) - tiny patches
+    Aaron Griffin (phrakture) - Makefile patches to build on OSX
 
 Originaly based on http://trac.webkit.org/browser/trunk/WebKitTools/GtkLauncher/main.c
 Which is  copyrighted:
index b4a1298..4e9d282 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,51 +1,37 @@
-LIBS      := gtk+-2.0 webkit-1.0 gthread-2.0 libsoup-2.4
-ARCH      := $(shell uname -m)
-COMMIT    := $(shell git log | head -n1 | sed "s/.* //")
-DEBUG     := -ggdb -Wall -W -DG_ERRORCHECK_MUTEXES
-
-CFLAGS    := $(shell pkg-config --cflags $(LIBS)) $(DEBUG) -DARCH="\"$(ARCH)\"" -DCOMMIT="\"$(COMMIT)\"" -std=c99
-LDFLAGS   := $(shell pkg-config --libs $(LIBS)) $(LDFLAGS)
-
-PREFIX    ?= $(DESTDIR)/usr
-BINDIR    ?= $(PREFIX)/bin
-UZBLDATA  ?= $(PREFIX)/share/uzbl
-DOCSDIR   ?= $(PREFIX)/share/uzbl/docs
-EXMPLSDIR ?= $(PREFIX)/share/uzbl/examples
-
+CFLAGS:=-std=c99 $(shell pkg-config --cflags gtk+-2.0 webkit-1.0 libsoup-2.4 gthread-2.0) -ggdb -Wall -W -DARCH="\"$(shell uname -m)\"" -lgthread-2.0 -DG_ERRORCHECK_MUTEXES -DCOMMIT="\"$(shell git log | head -n1 | sed "s/.* //")\"" $(CPPFLAGS)
+LDFLAGS:=$(shell pkg-config --libs gtk+-2.0 webkit-1.0 libsoup-2.4 gthread-2.0) -pthread $(LDFLAGS)
 all: uzbl uzblctrl
 
-uzbl: uzbl.c uzbl.h config.h
-
-%: %.c
-       $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $@ $<
+PREFIX?=$(DESTDIR)/usr
 
 test: uzbl
-       ./uzbl --uri http://www.uzbl.org
+       ./uzbl --uri http://www.uzbl.org --verbose
+
+test-dev: uzbl
+       XDG_DATA_HOME=./examples/data               XDG_CONFIG_HOME=./examples/config               ./uzbl --uri http://www.uzbl.org --verbose
 
-test-config: uzbl
-       ./uzbl --uri http://www.uzbl.org < examples/configs/sampleconfig-dev
+test-share: uzbl
+       XDG_DATA_HOME=/usr/share/uzbl/examples/data XDG_CONFIG_HOME=/usr/share/uzbl/examples/config ./uzbl --uri http://www.uzbl.org --verbose
 
-test-config-real: uzbl
-       ./uzbl --uri http://www.uzbl.org < $(EXMPLSDIR)/configs/sampleconfig
        
 clean:
        rm -f uzbl
        rm -f uzblctrl
 
 install:
-       install -d $(BINDIR)
-       install -d $(DOCSDIR)
-       install -d $(EXMPLSDIR)
-       install -D -m755 uzbl $(BINDIR)/uzbl
-       install -D -m755 uzblctrl $(BINDIR)/uzblctrl
-       cp -ax docs/*   $(DOCSDIR)
-       cp -ax config.h $(DOCSDIR)
-       cp -ax examples/* $(EXMPLSDIR)
-       install -D -m644 AUTHORS $(DOCSDIR)
-       install -D -m644 README $(DOCSDIR)
+       install -d $(PREFIX)/bin
+       install -d $(PREFIX)/share/uzbl/docs
+       install -d $(PREFIX)/share/uzbl/examples
+       install -m755 uzbl $(PREFIX)/bin/uzbl
+       install -m755 uzblctrl $(PREFIX)/bin/uzblctrl
+       cp -rp docs     $(PREFIX)/share/uzbl/
+       cp -rp config.h $(PREFIX)/share/uzbl/docs/
+       cp -rp examples $(PREFIX)/share/uzbl/
+       install -m644 AUTHORS $(PREFIX)/share/uzbl/docs
+       install -m644 README  $(PREFIX)/share/uzbl/docs
 
 
 uninstall:
-       rm -rf $(BINDIR)/uzbl
-       rm -rf $(BINDIR)/uzblctrl
-       rm -rf $(UZBLDATA)
+       rm -rf $(PREFIX)/bin/uzbl
+       rm -rf $(PREFIX)/bin/uzblctrl
+       rm -rf $(PREFIX)/share/uzbl
diff --git a/Makefile-new-test b/Makefile-new-test
new file mode 100644 (file)
index 0000000..5985c90
--- /dev/null
@@ -0,0 +1,51 @@
+LIBS      := gtk+-2.0 webkit-1.0
+ARCH      := $(shell uname -m)
+COMMIT    := $(shell git log | head -n1 | sed "s/.* //")
+DEBUG     := -ggdb -Wall -W -DG_ERRORCHECK_MUTEXES
+
+CFLAGS    := $(shell --cflags $(LIBS)) $(DEBUG) -DARCH="$(ARCH)" -DCOMMIT="\"$(COMMIT)\""
+LDFLAGS   := $(shell --libs $(LIBS)) $(LDFLAGS)
+
+PREFIX    ?= $(DESTDIR)/usr
+BINDIR    ?= $(PREFIX)/bin
+UZBLDATA  ?= $(PREFIX)/share/uzbl
+DOCSDIR   ?= $(PREFIX)/share/uzbl/docs
+EXMPLSDIR ?= $(PREFIX)/share/uzbl/examples
+
+all: uzbl uzblctrl
+
+uzbl: uzbl.c uzbl.h config.h
+
+%: %.c
+       $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(LIBS) -o $@ $<
+
+test: uzbl
+       ./uzbl --uri http://www.uzbl.org
+
+test-config: uzbl
+       ./uzbl --uri http://www.uzbl.org < examples/configs/sampleconfig-dev
+
+test-config-real: uzbl
+       ./uzbl --uri http://www.uzbl.org < $(EXMPLSDIR)/configs/sampleconfig
+       
+clean:
+       rm -f uzbl
+       rm -f uzblctrl
+
+install:
+       install -d $(BINDIR)
+       install -d $(DOCSDIR)
+       install -d $(EXMPLSDIR)
+       install -D -m755 uzbl $(BINDIR)/uzbl
+       install -D -m755 uzblctrl $(BINDIR)/uzblctrl
+       cp -ax docs/*   $(DOCSDIR)
+       cp -ax config.h $(DOCSDIR)
+       cp -ax examples/* $(EXMPLSDIR)
+       install -D -m644 AUTHORS $(DOCSDIR)
+       install -D -m644 README $(DOCSDIR)
+
+
+uninstall:
+       rm -rf $(BINDIR)/uzbl
+       rm -rf $(BINDIR)/uzblctrl
+       rm -rf $(UZBLDATA)
diff --git a/uzbl.c b/uzbl.c
index 8eb8fda..c0cd77f 100644 (file)
--- a/uzbl.c
+++ b/uzbl.c
@@ -542,12 +542,24 @@ download_cb (WebKitWebView *web_view, GObject *download, gpointer user_data) {
 /* scroll a bar in a given direction */
 static void
 scroll (GtkAdjustment* bar, GArray *argv) {
-    gdouble amount;
     gchar *end;
+    gdouble max_value;
 
-    amount = g_ascii_strtod(g_array_index(argv, gchar*, 0), &end);
-    if (*end == '%') amount = gtk_adjustment_get_page_size(bar) * amount * 0.01;
-    gtk_adjustment_set_value (bar, gtk_adjustment_get_value(bar)+amount);
+    gdouble page_size = gtk_adjustment_get_page_size(bar);
+    gdouble value = gtk_adjustment_get_value(bar);
+    gdouble amount = g_ascii_strtod(g_array_index(argv, gchar*, 0), &end);
+
+    if (*end == '%')
+        value += page_size * amount * 0.01;
+    else
+        value += amount;
+
+    max_value = gtk_adjustment_get_upper(bar) - page_size;
+
+    if (value > max_value)
+        value = max_value; /* don't scroll past the end of the page */
+
+    gtk_adjustment_set_value (bar, value);
 }
 
 static void
@@ -2480,11 +2492,6 @@ settings_init () {
         parse_cmd_line(default_config[i].command, NULL);
     }
 
-    if (g_strcmp0(s->config_file, "-") == 0) {
-        s->config_file = NULL;
-        create_stdin();
-    }
-
     if (!s->config_file) {
         s->config_file = find_xdg_file (0, "/uzbl/config");
     }
@@ -2770,7 +2777,9 @@ main (int argc, char* argv[]) {
 
     /* WebInspector */
     set_up_inspector();
-    
+
+    create_stdin();
+
     if (verbose_override > uzbl.state.verbose)
         uzbl.state.verbose = verbose_override;
     
diff --git a/uzbl.h b/uzbl.h
index 2cf0346..37b76fa 100644 (file)
--- a/uzbl.h
+++ b/uzbl.h
@@ -223,7 +223,6 @@ XDG_Var XDG[] =
     { "XDG_DATA_DIRS",   "/usr/local/share/:/usr/share/" },
 };
 
-
 /* Functions */
 static void
 setup_scanner();
@@ -252,6 +251,9 @@ setup_signal(int signe, sigfunc *shandler);
 static gboolean
 set_var_value(gchar *name, gchar *val);
 
+static void
+print(WebKitWebView *page, GArray *argv, GString *result);
+
 static gboolean
 new_window_cb (WebKitWebView *web_view, WebKitWebFrame *frame, WebKitNetworkRequest *request, WebKitWebNavigationAction *navigation_action, WebKitWebPolicyDecision *policy_decision, gpointer user_data);
 
@@ -265,6 +267,12 @@ static gboolean
 download_cb (WebKitWebView *web_view, GObject *download, gpointer user_data);
 
 static void
+toggle_zoom_type (WebKitWebView* page, GArray *argv, GString *result);
+
+static void
+toggle_status_cb (WebKitWebView* page, GArray *argv, GString *result);
+
+static void
 link_hover_cb (WebKitWebView* page, const gchar* title, const gchar* link, gpointer data);
 
 static void
@@ -301,13 +309,46 @@ static bool
 file_exists (const char * filename);
 
 static void
+toggle_insert_mode(WebKitWebView *page, GArray *argv, GString *result);
+
+static void
+load_uri (WebKitWebView * web_view, GArray *argv, GString *result);
+
+static void
 new_window_load_uri (const gchar * uri);
 
+static void
+chain (WebKitWebView *page, GArray *argv, GString *result);
+
+static void
+keycmd (WebKitWebView *page, GArray *argv, GString *result);
+
+static void
+keycmd_nl (WebKitWebView *page, GArray *argv, GString *result);
+
+static void
+keycmd_bs (WebKitWebView *page, GArray *argv, GString *result);
+
+static void
+close_uzbl (WebKitWebView *page, GArray *argv, GString *result);
+
 static gboolean
 run_command(const gchar *command, const guint npre,
             const gchar **args, const gboolean sync, char **output_stdout);
 
 static void
+spawn(WebKitWebView *web_view, GArray *argv, GString *result);
+
+static void
+spawn_sh(WebKitWebView *web_view, GArray *argv, GString *result);
+
+static void
+spawn_sync(WebKitWebView *web_view, GArray *argv, GString *result);
+
+static void
+spawn_sh_sync(WebKitWebView *web_view, GArray *argv, GString *result);
+
+static void
 parse_command(const char *cmd, const char *param, GString *result);
 
 static void
@@ -379,106 +420,61 @@ settings_init ();
 static void
 search_text (WebKitWebView *page, GArray *argv, const gboolean forward);
 
-static void handle_cookies (SoupSession *session,
-                            SoupMessage *msg,
-                            gpointer     user_data);
-static void
-save_cookies (SoupMessage *msg,
-                gpointer     user_data);
-
-static void
-act_dump_config();
-
-static void
-render_html();
-
 static void
-set_timeout(int seconds);
-
-static void
-dump_var_hash(gpointer k, gpointer v, gpointer ud);
-
-static void
-dump_key_hash(gpointer k, gpointer v, gpointer ud);
-
-static void
-dump_config();
-
-
-/* Commands */
-
-typedef void (*Command)(WebKitWebView*, GArray *argv, GString *result);
-typedef struct {
-    Command function;
-    gboolean no_split;
-} CommandInfo;
-
-static void
-print(WebKitWebView *page, GArray *argv, GString *result);
-
-static void
-toggle_zoom_type (WebKitWebView* page, GArray *argv, GString *result);
-
-static void
-toggle_status_cb (WebKitWebView* page, GArray *argv, GString *result);
-
-static void
-toggle_insert_mode(WebKitWebView *page, GArray *argv, GString *result);
-
-static void
-load_uri (WebKitWebView * web_view, GArray *argv, GString *result);
-
-static void
-chain (WebKitWebView *page, GArray *argv, GString *result);
-
-static void
-keycmd (WebKitWebView *page, GArray *argv, GString *result);
+search_forward_text (WebKitWebView *page, GArray *argv, GString *result);
 
 static void
-keycmd_nl (WebKitWebView *page, GArray *argv, GString *result);
+search_reverse_text (WebKitWebView *page, GArray *argv, GString *result);
 
 static void
-keycmd_bs (WebKitWebView *page, GArray *argv, GString *result);
+dehilight (WebKitWebView *page, GArray *argv, GString *result);
 
 static void
-close_uzbl (WebKitWebView *page, GArray *argv, GString *result);
+run_js (WebKitWebView * web_view, GArray *argv, GString *result);
 
 static void
-spawn(WebKitWebView *web_view, GArray *argv, GString *result);
+run_external_js (WebKitWebView * web_view, GArray *argv, GString *result);
 
 static void
-spawn_sh(WebKitWebView *web_view, GArray *argv, GString *result);
+eval_js(WebKitWebView * web_view, gchar *script, GString *result);
 
+static void handle_cookies (SoupSession *session,
+                            SoupMessage *msg,
+                            gpointer     user_data);
 static void
-spawn_sync(WebKitWebView *web_view, GArray *argv, GString *result);
+save_cookies (SoupMessage *msg,
+                gpointer     user_data);
 
 static void
-spawn_sh_sync(WebKitWebView *web_view, GArray *argv, GString *result);
+set_var(WebKitWebView *page, GArray *argv, GString *result);
 
 static void
-search_forward_text (WebKitWebView *page, GArray *argv, GString *result);
+act_bind(WebKitWebView *page, GArray *argv, GString *result);
 
 static void
-search_reverse_text (WebKitWebView *page, GArray *argv, GString *result);
+act_dump_config();
 
 static void
-dehilight (WebKitWebView *page, GArray *argv, GString *result);
+render_html();
 
 static void
-eval_js(WebKitWebView * web_view, gchar *script, GString *result);
+set_timeout(int seconds);
 
 static void
-run_js (WebKitWebView * web_view, GArray *argv, GString *result);
+dump_var_hash(gpointer k, gpointer v, gpointer ud);
 
 static void
-run_external_js (WebKitWebView * web_view, GArray *argv, GString *result);
+dump_key_hash(gpointer k, gpointer v, gpointer ud);
 
 static void
-set_var(WebKitWebView *page, GArray *argv, GString *result);
+dump_config();
 
-static void
-act_bind(WebKitWebView *page, GArray *argv, GString *result);
 
+typedef void (*Command)(WebKitWebView*, GArray *argv, GString *result);
+typedef struct {
+    Command function;
+    gboolean no_split;
+} CommandInfo;
 
 /* Command callbacks */
 static void