X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=uzbl.h;h=b99a89c71ef17a7c0c296a219d3dadfec75daee7;hb=67d29a8f08730e7e633315ab36ce82130ec5b026;hp=78d9fdaff6b3a5fe0366974fee69881d774dfd06;hpb=7965bdf8eaa53e0cd7472f042847341e401d0eaa;p=uzbl-mobile diff --git a/uzbl.h b/uzbl.h index 78d9fda..b99a89c 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,62 +11,22 @@ * */ -#define NOSPLIT ((void*)1) - -enum { - /* statusbar symbols */ - SYM_TITLE, SYM_URI, SYM_NAME, - SYM_LOADPRGS, SYM_LOADPRGSBAR, - SYM_KEYCMD, SYM_MODE, SYM_MSG, - SYM_SELECTED_URI, - /* useragent symbols */ - SYM_WK_MAJ, SYM_WK_MIN, SYM_WK_MIC, - SYM_SYSNAME, SYM_NODENAME, - SYM_KERNREL, SYM_KERNVER, - SYM_ARCHSYS, SYM_ARCHUZBL, - SYM_DOMAINNAME, SYM_COMMIT -}; - -const struct { - gchar *symbol_name; - guint symbol_token; -} symbols[] = { - {"NAME", SYM_NAME}, - {"URI", SYM_URI}, - {"TITLE", SYM_TITLE}, - {"SELECTED_URI", SYM_SELECTED_URI}, - {"KEYCMD", SYM_KEYCMD}, - {"MODE", SYM_MODE}, - {"MSG", SYM_MSG}, - {"LOAD_PROGRESS", SYM_LOADPRGS}, - {"LOAD_PROGRESSBAR", SYM_LOADPRGSBAR}, - - {"WEBKIT_MAJOR", SYM_WK_MAJ}, - {"WEBKIT_MINOR", SYM_WK_MIN}, - {"WEBKIT_MICRO", SYM_WK_MIC}, - {"SYSNAME", SYM_SYSNAME}, - {"NODENAME", SYM_NODENAME}, - {"KERNREL", SYM_KERNREL}, - {"KERNVER", SYM_KERNVER}, - {"ARCH_SYSTEM", SYM_ARCHSYS}, - {"ARCH_UZBL", SYM_ARCHUZBL}, - {"DOMAINNAME", SYM_DOMAINNAME}, - {"COMMIT", SYM_COMMIT}, - {NULL, 0} -}, *symp = symbols; - /* status bar elements */ typedef struct { gint load_progress; gchar *msg; gchar *progress_s, *progress_u; int progress_w; + gchar *progress_bar; + gchar *mode_indicator; } StatusBar; /* gui elements */ typedef struct { GtkWidget* main_window; + gchar* geometry; + GtkPlug* plug; GtkWidget* scrolled_win; GtkWidget* vbox; GtkWidget* mainbar; @@ -94,6 +54,7 @@ typedef struct { gchar *socket_path; /* stores (key)"variable name" -> (value)"pointer to this var*/ GHashTable *proto_var; + gchar *sync_stdout; } Communication; @@ -102,12 +63,12 @@ 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; + gchar* keycmd; gchar* searchtx; - struct utsname unameinfo; /* system info */ gboolean verbose; } State; @@ -137,6 +98,13 @@ typedef struct { gchar* socket_dir; gchar* download_handler; gchar* cookie_handler; + gchar* new_window; + gchar* default_font_family; + gchar* monospace_font_family; + gchar* sans_serif_font_family; + gchar* serif_font_family; + gchar* fantasy_font_family; + gchar* cursive_font_family; gboolean always_insert_mode; gboolean show_status; gboolean insert_mode; @@ -153,29 +121,45 @@ typedef struct { gfloat zoom_level; guint disable_plugins; guint disable_scripts; - guint autoload_img; - guint autoshrink_img; + 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; + 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; + guint caret_browsing; + guint mode; gchar* base_url; gchar* html_endmarker; gchar* insert_indicator; gchar* cmd_indicator; GString* html_buffer; - guint html_timeout; + guint html_timeout; + gboolean print_version; /* command list: name -> Command */ GHashTable* commands; } Behaviour; +/* javascript */ +typedef struct { + gboolean initialized; + JSClassDefinition classdef; + JSClassRef classref; +} Javascript; + +/* static information */ +typedef struct { + int webkit_major; + int webkit_minor; + int webkit_micro; + gchar *arch; + gchar *commit; +} Info; /* main uzbl data structure */ typedef struct { @@ -184,9 +168,10 @@ typedef struct { Network net; Behaviour behave; Communication comm; + Javascript js; + Info info; Window xwin; - GScanner *scan; /* group bindings: key -> action */ GHashTable* bindings; @@ -207,7 +192,7 @@ typedef struct { gchar* default_value; } XDG_Var; -XDG_Var XDG[] = +XDG_Var XDG[] = { { "XDG_CONFIG_HOME", "~/.config" }, { "XDG_DATA_HOME", "~/.local/share" }, @@ -217,9 +202,6 @@ XDG_Var XDG[] = }; /* Functions */ -void -setup_scanner(); - char * itos(int val); @@ -227,10 +209,10 @@ char * str_replace (const char* search, const char* replace, const char* string); GArray* -read_file_by_line (gchar *path); +read_file_by_line (const gchar *path); -static -gchar* parseenv (char* string); +gchar* +parseenv (char* string); void clean_up(void); @@ -242,10 +224,10 @@ sigfunc * setup_signal(int signe, sigfunc *shandler); gboolean -set_var_value(gchar *name, gchar *val); +set_var_value(const gchar *name, gchar *val); void -print(WebKitWebView *page, GArray *argv); +print(WebKitWebView *page, GArray *argv, GString *result); gboolean new_window_cb (WebKitWebView *web_view, WebKitWebFrame *frame, WebKitNetworkRequest *request, WebKitWebNavigationAction *navigation_action, WebKitWebPolicyDecision *policy_decision, gpointer user_data); @@ -253,20 +235,23 @@ new_window_cb (WebKitWebView *web_view, WebKitWebFrame *frame, WebKitNetworkRequ gboolean mime_policy_cb(WebKitWebView *web_view, WebKitWebFrame *frame, WebKitNetworkRequest *request, gchar *mime_type, WebKitWebPolicyDecision *policy_decision, gpointer user_data); -WebKitWebView* +/*@null@*/ WebKitWebView* create_web_view_cb (WebKitWebView *web_view, WebKitWebFrame *frame, gpointer user_data); gboolean download_cb (WebKitWebView *web_view, GObject *download, gpointer user_data); void -toggle_status_cb (WebKitWebView* page, GArray *argv); +toggle_zoom_type (WebKitWebView* page, GArray *argv, GString *result); + +void +toggle_status_cb (WebKitWebView* page, GArray *argv, GString *result); void link_hover_cb (WebKitWebView* page, const gchar* title, const gchar* link, gpointer data); void -title_change_cb (WebKitWebView* web_view, WebKitWebFrame* web_frame, const gchar* title, gpointer data); +title_change_cb (WebKitWebView* web_view, GParamSpec param_spec); void progress_change_cb (WebKitWebView* page, gint progress, gpointer data); @@ -299,58 +284,76 @@ bool file_exists (const char * filename); void -toggle_insert_mode(WebKitWebView *page, GArray *argv); +set_keycmd(); + +void +set_mode_indicator(); + +void +update_indicator(); void -load_uri (WebKitWebView * web_view, GArray *argv); +set_insert_mode(gboolean mode); + +void +toggle_insert_mode(WebKitWebView *page, GArray *argv, GString *result); + +void +load_uri (WebKitWebView * web_view, GArray *argv, GString *result); void new_window_load_uri (const gchar * uri); void -chain (WebKitWebView *page, GArray *argv); +chain (WebKitWebView *page, GArray *argv, GString *result); void -keycmd (WebKitWebView *page, GArray *argv); +keycmd (WebKitWebView *page, GArray *argv, GString *result); void -keycmd_nl (WebKitWebView *page, GArray *argv); +keycmd_nl (WebKitWebView *page, GArray *argv, GString *result); void -keycmd_bs (WebKitWebView *page, GArray *argv); +keycmd_bs (WebKitWebView *page, GArray *argv, GString *result); void -close_uzbl (WebKitWebView *page, GArray *argv); +close_uzbl (WebKitWebView *page, GArray *argv, GString *result); gboolean run_command(const gchar *command, const guint npre, const gchar **args, const gboolean sync, char **output_stdout); +char* +build_progressbar_ascii(int percent); + void -spawn(WebKitWebView *web_view, GArray *argv); +talk_to_socket(WebKitWebView *web_view, GArray *argv, GString *result); void -spawn_sh(WebKitWebView *web_view, GArray *argv); +spawn(WebKitWebView *web_view, GArray *argv, GString *result); void -spawn_sync(WebKitWebView *web_view, GArray *argv); +spawn_sh(WebKitWebView *web_view, GArray *argv, GString *result); void -spawn_sh_sync(WebKitWebView *web_view, GArray *argv); +spawn_sync(WebKitWebView *web_view, GArray *argv, GString *result); void -parse_command(const char *cmd, const char *param); +spawn_sh_sync(WebKitWebView *web_view, GArray *argv, GString *result); void -parse_cmd_line(const char *ctl_line); +parse_command(const char *cmd, const char *param, GString *result); -gchar* +void +parse_cmd_line(const char *ctl_line, GString *result); + +/*@null@*/ gchar* build_stream_name(int type, const gchar *dir); gboolean control_fifo(GIOChannel *gio, GIOCondition condition); -gchar* +/*@null@*/ gchar* init_fifo(gchar *dir); gboolean @@ -359,12 +362,15 @@ control_stdin(GIOChannel *gio, GIOCondition condition); void create_stdin(); -gchar* +/*@null@*/ gchar* init_socket(gchar *dir); gboolean control_socket(GIOChannel *chan); +gboolean +control_client_socket(GIOChannel *chan); + void update_title (void); @@ -377,14 +383,20 @@ run_keycmd(const gboolean key_ret); void exec_paramcmd(const Action* act, const guint i); -GtkWidget* +void +initialize (int argc, char *argv[]); + +void create_browser (); GtkWidget* create_mainbar (); -static -GtkWidget* create_window (); +GtkWidget* +create_window (); + +GtkPlug* +create_plug (); void run_handler (const gchar *act, const gchar *args); @@ -392,11 +404,11 @@ run_handler (const gchar *act, const gchar *args); void add_binding (const gchar *key, const gchar *act); -gchar* +/*@null@*/ gchar* get_xdg_var (XDG_Var xdg); -gchar* -find_xdg_file (int xdg_type, char* filename); +/*@null@*/ gchar* +find_xdg_file (int xdg_type, const char* filename); void settings_init (); @@ -405,19 +417,22 @@ void search_text (WebKitWebView *page, GArray *argv, const gboolean forward); void -search_forward_text (WebKitWebView *page, GArray *argv); +search_forward_text (WebKitWebView *page, GArray *argv, GString *result); + +void +search_reverse_text (WebKitWebView *page, GArray *argv, GString *result); void -search_reverse_text (WebKitWebView *page, GArray *argv); +dehilight (WebKitWebView *page, GArray *argv, GString *result); void -dehilight (WebKitWebView *page, GArray *argv); +run_js (WebKitWebView * web_view, GArray *argv, GString *result); void -run_js (WebKitWebView * web_view, GArray *argv); +run_external_js (WebKitWebView * web_view, GArray *argv, GString *result); void -run_external_js (WebKitWebView * web_view, GArray *argv); +eval_js(WebKitWebView * web_view, gchar *script, GString *result); void handle_cookies (SoupSession *session, SoupMessage *msg, @@ -427,10 +442,10 @@ save_cookies (SoupMessage *msg, gpointer user_data); void -set_var(WebKitWebView *page, GArray *argv); +set_var(WebKitWebView *page, GArray *argv, GString *result); void -act_bind(WebKitWebView *page, GArray *argv); +act_bind(WebKitWebView *page, GArray *argv, GString *result); void act_dump_config(); @@ -450,6 +465,20 @@ dump_key_hash(gpointer k, gpointer v, gpointer ud); void dump_config(); +void +retrieve_geometry(); + +void +update_gui(WebKitWebView *page, GArray *argv, GString *result); + +gboolean +configure_event_cb(GtkWidget* window, GdkEventConfigure* event); + +typedef void (*Command)(WebKitWebView*, GArray *argv, GString *result); +typedef struct { + Command function; + gboolean no_split; +} CommandInfo; /* Command callbacks */ void @@ -468,6 +497,9 @@ void cmd_cookie_handler(); void +cmd_new_window(); + +void move_statusbar(); void @@ -488,6 +520,24 @@ void cmd_font_size(); void +cmd_default_font_family(); + +void +cmd_monospace_font_family(); + +void +cmd_sans_serif_font_family(); + +void +cmd_serif_font_family(); + +void +cmd_cursive_font_family(); + +void +cmd_fantasy_font_family(); + +void cmd_zoom_level(); void @@ -526,22 +576,25 @@ cmd_enable_private(); void cmd_print_bg(); -void +void cmd_style_uri(); -void +void cmd_resizable_txt(); -void +void cmd_default_encoding(); -void +void cmd_enforce_96dpi(); void cmd_inject_html(); -void +void cmd_caret_browsing(); +void +cmd_set_geometry(); + /* vi: set et ts=4: */