diff options
-rw-r--r-- | uzbl.c | 75 | ||||
-rw-r--r-- | uzbl.h | 106 |
2 files changed, 127 insertions, 54 deletions
@@ -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); @@ -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: */ |