aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--uzbl.c75
-rw-r--r--uzbl.h106
2 files changed, 127 insertions, 54 deletions
diff --git a/uzbl.c b/uzbl.c
index ca6c6ae..ed4859a 100644
--- a/uzbl.c
+++ b/uzbl.c
@@ -35,37 +35,38 @@
#include <gtk/gtk.h>
#include <gdk/gdkx.h>
#include <gdk/gdkkeysyms.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <sys/un.h>
#include <webkit/webkit.h>
#include <pthread.h>
#include <stdio.h>
#include <string.h>
-#include <sys/stat.h>
-#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
-#include <sys/types.h>
#include <fcntl.h>
-#include <sys/socket.h>
-#include <sys/un.h>
+
+#include "uzbl.h"
/* housekeeping / internal variables */
-static GtkWidget* main_window;
-static GtkWidget* mainbar;
-static GtkWidget* mainbar_label;
-static GtkScrollbar* scbar_v; // Horizontal and Vertical Scrollbar
-static GtkScrollbar* scbar_h; // (These are still hidden)
+static GtkWidget* main_window;
+static GtkWidget* mainbar;
+static GtkWidget* mainbar_label;
+static GtkScrollbar* scbar_v; // Horizontal and Vertical Scrollbar
+static GtkScrollbar* scbar_h; // (These are still hidden)
static GtkAdjustment* bar_v; // Information about document length
static GtkAdjustment* bar_h; // and scrolling position
static WebKitWebView* web_view;
-static gchar* main_title;
-static gchar selected_url[500] = "\0";
-static gint load_progress;
-static Window xwin = 0;
-static char fifo_path[64];
-static char socket_path[108];
-static GString *keycmd;
+static gchar* main_title;
+static gchar selected_url[500] = "\0";
+static gint load_progress;
+static Window xwin = 0;
+static char fifo_path[64];
+static char socket_path[108];
+static GString* keycmd;
/* state variables (initial values coming from command line arguments but may be changed later) */
static gchar* uri = NULL;
@@ -88,15 +89,10 @@ static gdouble hscroll = 20;
static gdouble vscroll = 20;
/* settings from config: group bindings, key -> action */
-static GHashTable *bindings;
+static GHashTable* bindings;
/* command list: name -> Command */
-static GHashTable *commands;
-
-typedef struct {
- char *name;
- char *param;
-} Action;
+static GHashTable* commands;
/* commandline arguments (set initial values for the state variables) */
static GOptionEntry entries[] =
@@ -113,35 +109,6 @@ typedef void (*Command)(WebKitWebView*, const char *);
static char *XDG_CONFIG_HOME_default[256];
static char *XDG_CONFIG_DIRS_default = "/etc/xdg";
-static void
-update_title(void);
-
-static void
-load_uri ( WebKitWebView * web_view, const gchar * uri);
-
-static void
-new_window_load_uri (const gchar * uri);
-
-static void
-close_uzbl (WebKitWebView *page, const char *param);
-
-static gboolean
-run_command(const char *command, const char *args);
-
-static void
-spawn(WebKitWebView *web_view, const char *param);
-
-static void
-free_action(gpointer action);
-
-static Action*
-new_action(const gchar *name, const gchar *param);
-
-static void
-set_insert_mode(WebKitWebView *page, const gchar *param);
-
-
-
/* --- CALLBACKS --- */
static gboolean
@@ -774,7 +741,7 @@ settings_init () {
modkey = g_key_file_get_value (config, "behavior", "modkey", NULL);
status_top = g_key_file_get_boolean (config, "behavior", "status_top", NULL);
if (! fifo_dir)
- fifo_dir = g_key_file_get_value (config, "behavior", "fifodir", NULL);
+ fifo_dir = g_key_file_get_value (config, "behavior", "fifo_dir", NULL);
if (! socket_dir)
socket_dir = g_key_file_get_value (config, "behavior", "socket_dir", NULL);
keys = g_key_file_get_keys (config, "bindings", NULL, NULL);
diff --git a/uzbl.h b/uzbl.h
new file mode 100644
index 0000000..7cd35c8
--- /dev/null
+++ b/uzbl.h
@@ -0,0 +1,106 @@
+typedef struct {
+ char* name;
+ char* param;
+} Action;
+
+
+static gboolean
+new_window_cb (WebKitWebView *web_view, WebKitWebFrame *frame, WebKitNetworkRequest *request, WebKitWebNavigationAction *navigation_action, WebKitWebPolicyDecision *policy_decision, gpointer user_data);
+
+WebKitWebView*
+create_web_view_cb (WebKitWebView *web_view, WebKitWebFrame *frame, gpointer user_data);
+
+static gboolean
+download_cb (WebKitWebView *web_view, GObject *download, gpointer user_data);
+
+static void
+toggle_status_cb (WebKitWebView* page, const char *param);
+
+static void
+link_hover_cb (WebKitWebView* page, const gchar* title, const gchar* link, gpointer data);
+
+static void
+title_change_cb (WebKitWebView* web_view, WebKitWebFrame* web_frame, const gchar* title, gpointer data);
+
+static void
+progress_change_cb (WebKitWebView* page, gint progress, gpointer data);
+
+static void
+load_commit_cb (WebKitWebView* page, WebKitWebFrame* frame, gpointer data);
+
+static void
+destroy_cb (GtkWidget* widget, gpointer data);
+
+static void
+log_history_cb ();
+
+static void
+commands_hash(void);
+
+void
+free_action(gpointer act);
+
+Action*
+new_action(const gchar *name, const gchar *param);
+
+static bool
+file_exists (const char * filename);
+
+void
+set_insert_mode(WebKitWebView *page, const gchar *param);
+
+static void
+load_uri (WebKitWebView * web_view, const gchar *param);
+
+static void
+new_window_load_uri (const gchar * uri);
+
+static void
+close_uzbl (WebKitWebView *page, const char *param);
+
+static gboolean
+run_command(const char *command, const char *args);
+
+static void
+spawn(WebKitWebView *web_view, const char *param);
+
+static void
+parse_command(const char *cmd, const char *param);
+
+static void
+parse_line(char *line);
+
+static void
+control_fifo(GIOChannel *fd);
+
+static void
+create_fifo();
+
+static void
+*control_socket();
+
+static void
+setup_threading ();
+
+static void
+update_title (void);
+
+static gboolean
+key_press_cb (WebKitWebView* page, GdkEventKey* event);
+
+static GtkWidget*
+create_browser ();
+
+static GtkWidget*
+create_mainbar ();
+
+static
+GtkWidget* create_window ();
+
+static void
+add_binding (const gchar *key, const gchar *act);
+
+static void
+settings_init ();
+
+/* vi: set et ts=4: */