7 /* for storage of /menu entries */
10 gint32 pos
; /* position */
11 gint16 modifier
; /* keybinding */
12 gint16 root_offset
; /* bytes to offset ->path */
14 char is_main
; /* is part of the Main menu? (not a popup) */
15 char state
; /* state of toggle items */
16 char markup
; /* use pango markup? */
17 char enable
; /* enabled? sensitivity */
23 char *ucmd
; /* unselect command (toggles) */
24 char *group
; /* for radio items or NULL */
25 char *icon
; /* filename */
28 int fe_args (int argc
, char *argv
[]);
31 void fe_cleanup (void);
33 int fe_timeout_add (int interval
, void *callback
, void *userdata
);
34 void fe_timeout_remove (int tag
);
35 void fe_new_window (struct session
*sess
, int focus
);
36 void fe_new_server (struct server
*serv
);
37 void fe_add_rawlog (struct server
*serv
, char *text
, int len
, int outbound
);
41 #define FE_MSG_ERROR 8
42 #define FE_MSG_MARKUP 16
43 void fe_message (char *msg
, int flags
);
48 int fe_input_add (int sok
, int flags
, void *func
, void *data
);
49 void fe_input_remove (int tag
);
50 void fe_idle_add (void *func
, void *data
);
51 void fe_set_topic (struct session
*sess
, char *topic
, char *stripped_topic
);
52 void fe_set_hilight (struct session
*sess
);
53 void fe_set_tab_color (struct session
*sess
, int col
);
54 void fe_flash_window (struct session
*sess
);
55 void fe_update_mode_buttons (struct session
*sess
, char mode
, char sign
);
56 void fe_update_channel_key (struct session
*sess
);
57 void fe_update_channel_limit (struct session
*sess
);
58 int fe_is_chanwindow (struct server
*serv
);
59 void fe_add_chan_list (struct server
*serv
, char *chan
, char *users
,
61 void fe_chan_list_end (struct server
*serv
);
62 int fe_is_banwindow (struct session
*sess
);
63 void fe_add_ban_list (struct session
*sess
, char *mask
, char *who
, char *when
, int is_exemption
);
64 void fe_ban_list_end (struct session
*sess
, int is_exemption
);
65 void fe_notify_update (char *name
);
66 void fe_notify_ask (char *name
, char *networks
);
67 void fe_text_clear (struct session
*sess
, int lines
);
68 void fe_close_window (struct session
*sess
);
69 void fe_progressbar_start (struct session
*sess
);
70 void fe_progressbar_end (struct server
*serv
);
71 void fe_print_text (struct session
*sess
, char *text
, time_t stamp
);
72 void fe_userlist_insert (struct session
*sess
, struct User
*newuser
, int row
, int sel
);
73 int fe_userlist_remove (struct session
*sess
, struct User
*user
);
74 void fe_userlist_rehash (struct session
*sess
, struct User
*user
);
75 void fe_userlist_update (struct session
*sess
, struct User
*user
);
76 void fe_userlist_move (struct session
*sess
, struct User
*user
, int new_row
);
77 void fe_userlist_numbers (struct session
*sess
);
78 void fe_userlist_clear (struct session
*sess
);
79 void fe_userlist_set_selected (struct session
*sess
);
80 void fe_uselect (session
*sess
, char *word
[], int do_clear
, int scroll_to
);
81 void fe_dcc_add (struct DCC
*dcc
);
82 void fe_dcc_update (struct DCC
*dcc
);
83 void fe_dcc_remove (struct DCC
*dcc
);
84 int fe_dcc_open_recv_win (int passive
);
85 int fe_dcc_open_send_win (int passive
);
86 int fe_dcc_open_chat_win (int passive
);
87 void fe_clear_channel (struct session
*sess
);
88 void fe_session_callback (struct session
*sess
);
89 void fe_server_callback (struct server
*serv
);
90 void fe_url_add (const char *text
);
91 void fe_pluginlist_update (void);
92 void fe_buttons_update (struct session
*sess
);
93 void fe_dlgbuttons_update (struct session
*sess
);
94 void fe_dcc_send_filereq (struct session
*sess
, char *nick
, int maxcps
, int passive
);
95 void fe_set_channel (struct session
*sess
);
96 void fe_set_title (struct session
*sess
);
97 void fe_set_nonchannel (struct session
*sess
, int state
);
98 void fe_set_nick (struct server
*serv
, char *newnick
);
99 void fe_ignore_update (int level
);
101 void fe_lastlog (session
*sess
, session
*lastlog_sess
, char *sstr
, gboolean regexp
);
102 void fe_set_lag (server
*serv
, int lag
);
103 void fe_set_throttle (server
*serv
);
104 void fe_set_away (server
*serv
);
105 void fe_serverlist_open (session
*sess
);
106 void fe_get_str (char *prompt
, char *def
, void *callback
, void *ud
);
107 void fe_get_int (char *prompt
, int def
, void *callback
, void *ud
);
108 #define FRF_WRITE 1 /* save file */
109 #define FRF_MULTIPLE 2 /* multi-select */
110 #define FRF_ADDFOLDER 4 /* add ~/.xchat2 to favourites */
111 #define FRF_CHOOSEFOLDER 8 /* choosing a folder only */
112 #define FRF_FILTERISINITIAL 16 /* unused */
113 #define FRF_NOASKOVERWRITE 32 /* don't ask to overwrite existing files */
114 void fe_get_file (const char *title
, char *initial
,
115 void (*callback
) (void *userdata
, char *file
), void *userdata
,
128 void fe_ctrl_gui (session
*sess
, fe_gui_action action
, int arg
);
129 int fe_gui_info (session
*sess
, int info_type
);
130 void *fe_gui_info_ptr (session
*sess
, int info_type
);
131 void fe_confirm (const char *message
, void (*yesproc
)(void *), void (*noproc
)(void *), void *ud
);
132 char *fe_get_inputbox_contents (struct session
*sess
);
133 int fe_get_inputbox_cursor (struct session
*sess
);
134 void fe_set_inputbox_contents (struct session
*sess
, char *text
);
135 void fe_set_inputbox_cursor (struct session
*sess
, int delta
, int pos
);
136 void fe_open_url (const char *url
);
137 void fe_menu_del (menu_entry
*);
138 char *fe_menu_add (menu_entry
*);
139 void fe_menu_update (menu_entry
*);
140 #define FE_SE_CONNECT 0
141 #define FE_SE_LOGGEDIN 1
142 #define FE_SE_DISCONNECT 2
143 #define FE_SE_RECONDELAY 3
144 #define FE_SE_CONNECTING 4
145 void fe_server_event (server
*serv
, int type
, int arg
);
146 /* pass NULL filename2 for default xchat icon */
147 void fe_tray_set_flash (const char *filename1
, const char *filename2
, int timeout
);
148 /* pass NULL filename for default xchat icon */
149 void fe_tray_set_file (const char *filename
);
154 FE_ICON_HIGHLIGHT
= 5,
156 FE_ICON_FILEOFFER
= 11
158 void fe_tray_set_icon (feicon icon
);
159 void fe_tray_set_tooltip (const char *text
);
160 void fe_tray_set_balloon (const char *title
, const char *text
);