]> git.armaanb.net Git - chorizo.git/blob - chorizo.h
draft 8
[chorizo.git] / chorizo.h
1 typedef struct MainWindow MainWindow;
2 struct MainWindow {
3         GtkWidget *notebook;
4         GtkWidget *win;
5 };
6 extern struct MainWindow mw;
7 typedef struct Configuration Configuration;
8 struct Configuration {
9         gboolean cooperative_alone;
10         gboolean noncooperative_instances;
11         gboolean private;
12         gboolean verbose;
13 };
14 extern struct Configuration cfg;
15 extern gboolean switch_tab;
16 extern gboolean switch_tab;
17 extern gint clients;
18 extern int cooperative_pipe_fp;
19 extern gchar *fifopath;
20 extern char **closed_tabs;
21 extern size_t num_closed;
22 gboolean isearch_counted_matches(GtkWidget *widget, guint matches,
23                                  gpointer data);
24 gboolean quit_if_nothing_active(void);
25 gboolean remote_msg(GIOChannel *channel, GIOCondition condition, gpointer data);
26 void allocfail(void);
27 void client_destroy(GtkWidget *widget, gpointer data);
28 typedef struct Client Client;
29 void set_uri(const char *uri, struct Client *c);
30 WebKitWebView *client_new(const gchar *uri, WebKitWebView *related_wv);
31 WebKitWebView *client_new_request(WebKitWebView *web_view,
32                                   WebKitNavigationAction *navigation_action,
33                                   gpointer data);
34 void mkdirp(const char *dir, mode_t mode);
35 void cooperation_setup(void);
36 void changed_load_progress(GObject *obj, GParamSpec *pspec, gpointer data);
37 void changed_favicon(GObject *obj, GParamSpec *pspec, gpointer data);
38 void changed_title(GObject *obj, GParamSpec *pspec, gpointer data);
39 void changed_uri(GObject *obj, GParamSpec *pspec, gpointer data);
40 gboolean crashed_web_view(WebKitWebView *web_view, gpointer data);
41 gboolean decide_policy(WebKitWebView *web_view, WebKitPolicyDecision *decision,
42                        WebKitPolicyDecisionType type, gpointer data);
43 gchar *ensure_uri_scheme(const gchar *t);
44 void grab_feeds_finished(GObject *object, GAsyncResult *result, gpointer data);
45 void hover_web_view(WebKitWebView *web_view, WebKitHitTestResult *ht,
46                     guint modifiers, gpointer data);
47 void icon_location(GtkEntry *entry, GtkEntryIconPosition icon_pos,
48                    GdkEvent *event, gpointer data);
49 void init_default_web_context(void);
50 void isearch(gpointer data, gint direction);
51 void isearch_init(struct Client *c, int direction);
52 void reopen_tab(void);
53 void mainwindow_setup(void);
54 void mainwindow_title(gint idx);
55 void notebook_switch_page(GtkNotebook *nb, GtkWidget *p, guint idx,
56                           gpointer data);
57 void show_web_view(WebKitWebView *web_view, gpointer data);
58 void trust_user_certs(WebKitWebContext *wc);
59 void version(void);
60 gboolean download_handle(WebKitDownload *, gchar *, gpointer);
61 gboolean download_handle(WebKitDownload *download, gchar *suggested_filename,
62                          gpointer data);
63 void download_click(GtkToolButton *, gpointer);
64 void download_click(GtkToolButton *tb, gpointer data);
65 void download_cancel(GtkMenuItem *, gpointer);
66 void download_cancel(GtkMenuItem *tb, gpointer data);
67 gboolean downloadmanager_delete(GtkWidget *, gpointer);
68 gboolean downloadmanager_delete(GtkWidget *obj, gpointer data);
69 extern gint downloads;
70 gboolean key_downloadmanager(GtkWidget *widget, GdkEvent *event, gpointer data);
71 void changed_download_progress(GObject *obj, GParamSpec *pspec, gpointer data);
72 void download_finished(WebKitDownload *download, gpointer data);
73 void download_start(WebKitWebView *web_view, WebKitDownload *download,
74                     gpointer data);
75 typedef struct DownloadItem DownloadItem;
76 const char *download_get_path(struct DownloadItem *payload);
77 void download_hide(GtkMenuItem *tb, gpointer data);
78 void download_delete(GtkMenuItem *tb, gpointer data);
79 void download_copy_url(GtkMenuItem *tb, gpointer data);
80 void download_copy_path(GtkMenuItem *tb, gpointer data);
81 void download_xdg_open(GtkMenuItem *tb, gpointer data);
82 void downloadmanager_setup(void);
83 void downloadmanager_show(void);
84 struct Client {
85         GtkWidget *location;
86         GtkWidget *wsearch;
87         GtkWidget *isearch;
88         GtkWidget *isearch_box;
89         GtkWidget *isearch_matches;
90         GtkWidget *tabicon;
91         GtkWidget *tablabel;
92         GtkWidget *vbox;
93         GtkWidget *web_view;
94         WebKitSettings *settings;
95         gchar *external_handler_uri;
96         gchar *feed_html;
97         gchar *hover_uri;
98 };
99 struct DownloadItem {
100         GtkToolButton *tb;
101         WebKitDownload *download;
102 };
103 gboolean key_common(GtkWidget *widget, GdkEvent *event, gpointer data);
104 void change_tab(int idx, struct Client *c);
105 void reorder_current_tab(int target);
106 gboolean key_isearch(GtkWidget *widget, GdkEvent *event, gpointer data);
107 gboolean key_wsearch(GtkWidget *widget, GdkEvent *event, gpointer data);
108 gboolean key_location(GtkWidget *widget, GdkEvent *event, gpointer data);
109 gboolean key_tablabel(GtkWidget *widget, GdkEvent *event, gpointer data);
110 gboolean key_web_view(GtkWidget *widget, GdkEvent *event, gpointer data);
111 #define INTERFACE 0
112 #define EXPORT_INTERFACE 0
113 #define LOCAL_INTERFACE 0
114 #define EXPORT
115 #define LOCAL static
116 #define PUBLIC
117 #define PRIVATE
118 #define PROTECTED