X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=uzbl.h;h=d67a84eb67a722c9c6369e5c25426bc3c0b6e9d6;hb=830fe604bc141064ca09120f92cd4f496c918f5f;hp=530ca31cbd06465b68939a03f3feec65e657d062;hpb=0dfaf9c394190f0894c047e63502f534151a7346;p=uzbl-mobile diff --git a/uzbl.h b/uzbl.h index 530ca31..d67a84e 100644 --- a/uzbl.h +++ b/uzbl.h @@ -1,4 +1,4 @@ -/* -*- c-basic-offset: 4; -*- +/* -*- c-basic-offset: 4; -*- * See LICENSE for license details * @@ -11,8 +11,6 @@ * */ -#define NOSPLIT ((void*)1) - enum { /* statusbar symbols */ SYM_TITLE, SYM_URI, SYM_NAME, @@ -67,6 +65,7 @@ typedef struct { /* gui elements */ typedef struct { GtkWidget* main_window; + GtkPlug* plug; GtkWidget* scrolled_win; GtkWidget* vbox; GtkWidget* mainbar; @@ -77,6 +76,11 @@ typedef struct { GtkAdjustment* bar_h; // and scrolling position WebKitWebView* web_view; gchar* main_title; + gchar* icon; + + /* WebInspector */ + GtkWidget *inspector_window; + WebKitWebInspector *inspector; StatusBar sbar; } GUI; @@ -89,13 +93,7 @@ typedef struct { gchar *socket_path; /* stores (key)"variable name" -> (value)"pointer to this var*/ GHashTable *proto_var; - /* command parsing regexes */ - GRegex *set_regex; - GRegex *act_regex; - GRegex *keycmd_regex; - GRegex *get_regex; - GRegex *bind_regex; - gchar **sync_stdout; + gchar *sync_stdout; } Communication; @@ -103,7 +101,8 @@ typedef struct { typedef struct { gchar *uri; gchar *config_file; - char *instance_name; + int socket_id; + char *instance_name; gchar *selected_url; gchar *executable_path; GString* keycmd; @@ -138,6 +137,7 @@ typedef struct { gchar* socket_dir; gchar* download_handler; gchar* cookie_handler; + gchar* new_window; gboolean always_insert_mode; gboolean show_status; gboolean insert_mode; @@ -146,16 +146,44 @@ typedef struct { gchar* modkey; guint modmask; guint http_debug; - guint default_font_size; - guint default_monospace_size; + gchar* shell_cmd; + /* WebKitWebSettings exports */ + guint font_size; + guint monospace_size; guint minimum_font_size; + gfloat zoom_level; guint disable_plugins; - gchar* shell_cmd; + guint disable_scripts; + guint autoload_img; + guint autoshrink_img; + guint enable_spellcheck; + guint enable_private; + guint print_bg; + gchar* style_uri; + guint resizable_txt; + gchar* default_encoding; + guint enforce_96dpi; + gchar *inject_html; + guint caret_browsing; + guint mode; + gchar* base_url; + gchar* html_endmarker; + gchar* insert_indicator; + gchar* cmd_indicator; + GString* html_buffer; + guint html_timeout; + gboolean print_version; /* command list: name -> Command */ GHashTable* commands; } Behaviour; +/* javascript */ +typedef struct { + gboolean initialized; + JSClassDefinition classdef; + JSClassRef classref; +} Javascript; /* main uzbl data structure */ typedef struct { @@ -164,6 +192,7 @@ typedef struct { Network net; Behaviour behave; Communication comm; + Javascript js; Window xwin; GScanner *scan; @@ -187,7 +216,7 @@ typedef struct { gchar* default_value; } XDG_Var; -XDG_Var XDG[] = +XDG_Var XDG[] = { { "XDG_CONFIG_HOME", "~/.config" }, { "XDG_DATA_HOME", "~/.local/share" }, @@ -222,8 +251,17 @@ static sigfunc * 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); +static gboolean +mime_policy_cb(WebKitWebView *web_view, WebKitWebFrame *frame, WebKitNetworkRequest *request, gchar *mime_type, WebKitWebPolicyDecision *policy_decision, gpointer user_data); + WebKitWebView* create_web_view_cb (WebKitWebView *web_view, WebKitWebFrame *frame, gpointer user_data); @@ -231,13 +269,16 @@ static gboolean download_cb (WebKitWebView *web_view, GObject *download, gpointer user_data); static void -toggle_status_cb (WebKitWebView* page, GArray *argv); +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 -title_change_cb (WebKitWebView* web_view, WebKitWebFrame* web_frame, const gchar* title, gpointer data); +title_change_cb (WebKitWebView* web_view, GParamSpec param_spec); static void progress_change_cb (WebKitWebView* page, gint progress, gpointer data); @@ -270,35 +311,50 @@ static bool file_exists (const char * filename); static void -toggle_insert_mode(WebKitWebView *page, GArray *argv); +toggle_insert_mode(WebKitWebView *page, GArray *argv, GString *result); static void -load_uri (WebKitWebView * web_view, GArray *argv); +load_uri (WebKitWebView * web_view, GArray *argv, GString *result); static void new_window_load_uri (const gchar * uri); static void -close_uzbl (WebKitWebView *page, GArray *argv); +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 **stdout); + const gchar **args, const gboolean sync, char **output_stdout); static void -spawn(WebKitWebView *web_view, GArray *argv); +spawn(WebKitWebView *web_view, GArray *argv, GString *result); static void -spawn_sh(WebKitWebView *web_view, GArray *argv); +spawn_sh(WebKitWebView *web_view, GArray *argv, GString *result); static void -parse_command(const char *cmd, const char *param); +spawn_sync(WebKitWebView *web_view, GArray *argv, GString *result); static void -runcmd(WebKitWebView *page, GArray *argv); +spawn_sh_sync(WebKitWebView *web_view, GArray *argv, GString *result); static void -parse_cmd_line(const char *ctl_line); +parse_command(const char *cmd, const char *param, GString *result); + +static void +parse_cmd_line(const char *ctl_line, GString *result); static gchar* build_stream_name(int type, const gchar *dir); @@ -321,6 +377,9 @@ init_socket(gchar *dir); static gboolean control_socket(GIOChannel *chan); +static gboolean +control_client_socket(GIOChannel *chan); + static void update_title (void); @@ -330,6 +389,9 @@ key_press_cb (GtkWidget* window, GdkEventKey* event); static void run_keycmd(const gboolean key_ret); +static void +exec_paramcmd(const Action* act, const guint i); + static GtkWidget* create_browser (); @@ -339,6 +401,9 @@ create_mainbar (); static GtkWidget* create_window (); +static +GtkPlug* create_plug (); + static void run_handler (const gchar *act, const gchar *args); @@ -358,23 +423,60 @@ static void search_text (WebKitWebView *page, GArray *argv, const gboolean forward); static void -search_forward_text (WebKitWebView *page, GArray *argv); +search_forward_text (WebKitWebView *page, GArray *argv, GString *result); + +static void +search_reverse_text (WebKitWebView *page, GArray *argv, GString *result); static void -search_reverse_text (WebKitWebView *page, GArray *argv); +dehilight (WebKitWebView *page, GArray *argv, GString *result); static void -run_js (WebKitWebView * web_view, GArray *argv); +run_js (WebKitWebView * web_view, GArray *argv, GString *result); static void -run_external_js (WebKitWebView * web_view, GArray *argv); +run_external_js (WebKitWebView * web_view, GArray *argv, GString *result); + +static void +eval_js(WebKitWebView * web_view, gchar *script, GString *result); static void handle_cookies (SoupSession *session, - SoupMessage *msg, - gpointer user_data); + SoupMessage *msg, + gpointer user_data); static void save_cookies (SoupMessage *msg, - gpointer user_data); + gpointer user_data); + +static void +set_var(WebKitWebView *page, GArray *argv, GString *result); + +static void +act_bind(WebKitWebView *page, GArray *argv, GString *result); + +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(); + + +typedef void (*Command)(WebKitWebView*, GArray *argv, GString *result); +typedef struct { + Command function; + gboolean no_split; +} CommandInfo; /* Command callbacks */ static void @@ -387,6 +489,15 @@ static void set_proxy_url(); static void +set_icon(); + +static void +cmd_cookie_handler(); + +static void +cmd_new_window(); + +static void move_statusbar(); static void @@ -401,13 +512,21 @@ cmd_max_conns(); static void cmd_max_conns_host(); +/* exported WebKitWebSettings properties */ + +static void +cmd_font_size(); + static void -cmd_default_font_size(); +cmd_zoom_level(); static void cmd_disable_plugins(); static void +cmd_disable_scripts(); + +static void cmd_minimum_font_size(); static void @@ -422,8 +541,37 @@ cmd_modkey(); static void cmd_useragent() ; +static void +cmd_autoload_img(); + +static void +cmd_autoshrink_img(); + +static void +cmd_enable_spellcheck(); + +static void +cmd_enable_private(); + +static void +cmd_print_bg(); + +static void +cmd_style_uri(); + +static void +cmd_resizable_txt(); +static void +cmd_default_encoding(); +static void +cmd_enforce_96dpi(); +static void +cmd_inject_html(); + +static void +cmd_caret_browsing(); /* vi: set et ts=4: */