version 1.3.0
[vimprobable/e.git] / main.h
blob3f30225f51b0e11f00549a21566a718edbf2b3c3
1 /*
2 (c) 2009 by Leon Winter
3 (c) 2009, 2010 by Hannes Schueller
4 (c) 2009, 2010 by Matto Fransen
5 (c) 2010 by Hans-Peter Deifel
6 (c) 2010 by Thomas Adam
7 (c) 2013 Daniel Carl
8 see LICENSE file
9 */
11 typedef struct {
12 GtkWindow *window;
13 GtkWidget *viewport;
14 GtkBox *box;
15 GtkScrollbar *scroll_h;
16 GtkScrollbar *scroll_v;
17 GtkAdjustment *adjust_h;
18 GtkAdjustment *adjust_v;
19 GtkWidget *inputbox;
20 GtkWidget *eventbox;
21 GtkWidget *pane;
22 GtkBox *statusbar;
23 GtkWidget *status_url;
24 GtkWidget *status_state;
25 WebKitWebView *webview;
26 WebKitWebInspector *inspector;
27 } Gui;
29 typedef struct {
30 unsigned int mode;
31 unsigned int count;
32 char current_modkey;
33 char *search_handle;
34 gboolean search_direction;
35 GdkNativeWindow embed; /* TODO seems to be redundant to winid */
36 char *error_msg;
37 GList *activeDownloads;
38 GList *commandhistory;
39 int commandpointer;
40 char rememberedURI[BUF_SIZE];
41 GtkClipboard *clipboards[2];
42 gboolean manual_focus;
43 gboolean is_inspecting;
44 GdkKeymap *keymap;
45 } State;
47 typedef struct {
48 float zoomstep;
49 char *modkeys;
50 char *config_base;
51 char *configfile;
52 KeyList *keylistroot;
53 GList *colon_aliases;
54 time_t cookie_timeout;
55 } Config;
57 typedef struct {
58 SoupSession *session;
59 SoupCookieJar *session_cookie_jar;
60 SoupCookieJar *file_cookie_jar;
61 char *cookie_store;
62 } Network;
64 typedef struct {
65 Gui gui;
66 State state;
67 Config config;
68 Network net;
69 } Client;
72 /* functions */
73 void update_state(void);
74 gboolean process_line(char *line);
75 gboolean echo(const Arg *arg);
76 char * search_word(int whichword);