girara
internal.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Zlib */
2 
3 #ifndef GIRARA_INTERNAL_H
4 #define GIRARA_INTERNAL_H
5 
6 #include <glib.h>
7 #include <gtk/gtk.h>
8 
9 #include "types.h"
10 #include "macros.h"
11 
12 #define FORMAT_COMMAND "<b>%s</b>"
13 #define FORMAT_DESCRIPTION "<i>%s</i>"
14 
15 #define UNUSED(x) GIRARA_UNUSED(x)
16 #define HIDDEN GIRARA_HIDDEN
17 
18 #define LENGTH(x) (sizeof(x)/sizeof((x)[0]))
19 
26 
27 HIDDEN void girara_config_handle_free(girara_config_handle_t* handle);
28 
29 HIDDEN void girara_shortcut_mapping_free(girara_shortcut_mapping_t* mapping);
30 
31 HIDDEN void girara_shortcut_free(girara_shortcut_t* shortcut);
32 
33 HIDDEN void girara_inputbar_shortcut_free(girara_inputbar_shortcut_t* shortcut);
34 
35 HIDDEN void girara_mode_string_free(girara_mode_string_t* mode);
36 
37 HIDDEN void girara_statusbar_item_free(girara_statusbar_item_t* statusbaritem);
38 
40  girara_argument_mapping_t* argument_mapping);
41 
43  girara_special_command_t* special_command);
44 
45 HIDDEN void girara_command_free(girara_command_t* command);
46 
47 HIDDEN void girara_mouse_event_free(girara_mouse_event_t* mouse_event);
48 
49 HIDDEN void girara_config_load_default(girara_session_t* session);
50 
51 HIDDEN void widget_add_class(GtkWidget* widget, const char* styleclass);
52 
53 HIDDEN void widget_remove_class(GtkWidget* widget, const char* styleclass);
54 
55 HIDDEN void scrolled_window_set_scrollbar_visibility(GtkScrolledWindow* window,
56  bool show_horizontal,
57  bool show_vertical);
58 
65 HIDDEN girara_completion_t* girara_cc_set(girara_session_t* session,
66  const char* input);
67 
76 HIDDEN bool girara_cmd_map(girara_session_t* session,
77  girara_list_t* argument_list);
78 
87 HIDDEN bool girara_cmd_unmap(girara_session_t* session,
88  girara_list_t* argument_list);
89 
98 HIDDEN bool girara_cmd_quit(girara_session_t* session,
99  girara_list_t* argument_list);
100 
109 HIDDEN bool girara_cmd_set(girara_session_t* session,
110  girara_list_t* argument_list);
111 
120 HIDDEN bool girara_cmd_exec(girara_session_t* session,
121  girara_list_t* argument_list);
122 
123 #ifdef WITH_JSON
124 
132 HIDDEN bool girara_cmd_dump_config(girara_session_t* session,
133  girara_list_t* argument_list);
134 #endif
135 
146 HIDDEN bool girara_sc_feedkeys(girara_session_t* session, girara_argument_t* argument,
147  girara_event_t* event, unsigned int t);
148 
149 HIDDEN void css_template_fill_font(GiraraTemplate* csstemplate, const char* font);
150 
151 HIDDEN int list_strcmp(const void* data1, const void* data2);
152 
157 {
158  char* command;
159  char* abbr;
162  char* description;
163 };
164 
166 {
168  char* name;
169 };
170 
175 {
176  char* identifier;
178 };
179 
184 {
185  char* identifier;
186  int value;
187 };
188 
193 {
194  guint mask;
195  guint key;
199  girara_argument_t argument;
200 };
201 
206 {
207  guint mask;
208  guint key;
210  girara_argument_t argument;
211 };
212 
217 {
218  char identifier;
220  bool always;
221  girara_argument_t argument;
222 };
223 
228 {
229  guint mask;
230  guint button;
234  girara_argument_t argument;
235 };
236 
241 {
242  char* identifier;
244 };
245 
250 {
251  GtkWidget* box;
252  GtkLabel* text;
253 };
254 
259 {
264 
269 
273  GiraraTemplate* csstemplate;
274 
275  struct
276  {
277  GtkWidget* overlay;
278  GtkBox* bottom_box;
279  GtkCssProvider* cssprovider;
280  } gtk;
281 
282  struct
283  {
286 
287  struct
288  {
289  int n;
290  GString *command;
292 
293  struct
294  {
299 
301 };
302 
303 #endif
girara_session_private_s::buffer
struct girara_session_private_s::@2 buffer
girara_session_private_s::settings
girara_list_t * settings
Definition: internal.h:268
girara_mode_t
int girara_mode_t
Definition: types.h:58
girara_sc_feedkeys
HIDDEN bool girara_sc_feedkeys(girara_session_t *session, girara_argument_t *argument, girara_event_t *event, unsigned int t)
girara_session_private_s::bottom_box
GtkBox * bottom_box
Definition: internal.h:278
girara_command_function_t
bool(* girara_command_function_t)(girara_session_t *session, girara_list_t *argument_list)
Definition: types.h:89
widget_add_class
HIDDEN void widget_add_class(GtkWidget *widget, const char *styleclass)
girara_session_private_s::csstemplate
GiraraTemplate * csstemplate
Definition: internal.h:273
girara_session_private_s::n
int n
Definition: internal.h:289
girara_mouse_event_s::button
guint button
Definition: internal.h:230
girara_command_s::command
char * command
Definition: internal.h:158
girara_cmd_unmap
HIDDEN bool girara_cmd_unmap(girara_session_t *session, girara_list_t *argument_list)
types.h
girara_session_private_s::argument_mappings
girara_list_t * argument_mappings
Definition: internal.h:297
girara_command_free
HIDDEN void girara_command_free(girara_command_t *command)
girara_setting_free
HIDDEN void girara_setting_free(girara_setting_t *setting)
girara_session_private_s::handles
girara_list_t * handles
Definition: internal.h:295
girara_argument_mapping_s::value
int value
Definition: internal.h:186
girara_completion_t
struct girara_completion_s girara_completion_t
Definition: types.h:25
girara_mode_string_s::index
girara_mode_t index
Definition: internal.h:167
girara_mouse_event_free
HIDDEN void girara_mouse_event_free(girara_mouse_event_t *mouse_event)
girara_shortcut_s::buffered_command
char * buffered_command
Definition: internal.h:196
girara_inputbar_shortcut_free
HIDDEN void girara_inputbar_shortcut_free(girara_inputbar_shortcut_t *shortcut)
girara_config_handle_s::identifier
char * identifier
Definition: internal.h:242
girara_session_private_s::overlay
GtkWidget * overlay
Definition: internal.h:277
macros.h
girara_shortcut_s::mask
guint mask
Definition: internal.h:194
girara_special_command_s::always
bool always
Definition: internal.h:220
girara_config_handle_s
Definition: internal.h:241
girara_shortcut_mapping_s::identifier
char * identifier
Definition: internal.h:176
widget_remove_class
HIDDEN void widget_remove_class(GtkWidget *widget, const char *styleclass)
girara_mouse_event_s::argument
girara_argument_t argument
Definition: internal.h:234
girara_mouse_event_s::mask
guint mask
Definition: internal.h:229
girara_mode_string_s
Definition: internal.h:166
girara_command_s::abbr
char * abbr
Definition: internal.h:159
girara_session_private_s::shortcut_mappings
girara_list_t * shortcut_mappings
Definition: internal.h:296
girara_shortcut_function_t
bool(* girara_shortcut_function_t)(girara_session_t *, girara_argument_t *, girara_event_t *, unsigned int)
Definition: types.h:99
girara_config_handle_free
HIDDEN void girara_config_handle_free(girara_config_handle_t *handle)
girara_shortcut_mapping_free
HIDDEN void girara_shortcut_mapping_free(girara_shortcut_mapping_t *mapping)
girara_shortcut_mapping_s
Definition: internal.h:175
girara_cc_set
HIDDEN girara_completion_t * girara_cc_set(girara_session_t *session, const char *input)
girara_inputbar_shortcut_s
Definition: internal.h:206
girara_session_private_s
Definition: internal.h:259
girara_event_type_t
girara_event_type_t
Definition: types.h:178
girara_session_private_s::gtk
struct girara_session_private_s::@0 gtk
girara_special_command_free
HIDDEN void girara_special_command_free(girara_special_command_t *special_command)
girara_inputbar_shortcut_s::key
guint key
Definition: internal.h:208
girara_inputbar_shortcut_s::argument
girara_argument_t argument
Definition: internal.h:210
girara_session_private_s::cssprovider
GtkCssProvider * cssprovider
Definition: internal.h:279
girara_setting_t
struct girara_setting_s girara_setting_t
Definition: types.h:12
girara_session_private_s::elements
struct girara_session_private_s::@1 elements
girara_session_private_s::command
GString * command
Definition: internal.h:290
girara_command_s
Definition: internal.h:157
girara_argument_mapping_s
Definition: internal.h:184
girara_session_private_s::feedkeys_mutex
GMutex feedkeys_mutex
Definition: internal.h:300
girara_shortcut_free
HIDDEN void girara_shortcut_free(girara_shortcut_t *shortcut)
girara_cmd_exec
HIDDEN bool girara_cmd_exec(girara_session_t *session, girara_list_t *argument_list)
girara_statusbar_item_s::text
GtkLabel * text
Definition: internal.h:252
girara_mode_string_s::name
char * name
Definition: internal.h:168
girara_argument_mapping_s::identifier
char * identifier
Definition: internal.h:185
girara_inputbar_special_function_t
bool(* girara_inputbar_special_function_t)(girara_session_t *session, const char *input, girara_argument_t *argument)
Definition: types.h:79
girara_shortcut_s::mode
girara_mode_t mode
Definition: internal.h:198
girara_command_s::completion
girara_completion_function_t completion
Definition: internal.h:161
girara_command_s::description
char * description
Definition: internal.h:162
girara_mode_string_free
HIDDEN void girara_mode_string_free(girara_mode_string_t *mode)
girara_mouse_event_s
Definition: internal.h:228
HIDDEN
#define HIDDEN
Definition: internal.h:16
girara_shortcut_s
Definition: internal.h:193
girara_mouse_event_s::event_type
girara_event_type_t event_type
Definition: internal.h:233
girara_completion_function_t
girara_completion_t *(* girara_completion_function_t)(girara_session_t *session, const char *input)
Definition: types.h:67
girara_list_t
struct girara_list_s girara_list_t
Definition: types.h:10
girara_config_handle_s::handle
girara_command_function_t handle
Definition: internal.h:243
girara_special_command_s::argument
girara_argument_t argument
Definition: internal.h:221
girara_shortcut_s::key
guint key
Definition: internal.h:195
girara_statusbar_item_free
HIDDEN void girara_statusbar_item_free(girara_statusbar_item_t *statusbaritem)
girara_config_load_default
HIDDEN void girara_config_load_default(girara_session_t *session)
css_template_fill_font
HIDDEN void css_template_fill_font(GiraraTemplate *csstemplate, const char *font)
girara_statusbar_item_s::box
GtkWidget * box
Definition: internal.h:251
girara_argument_mapping_free
HIDDEN void girara_argument_mapping_free(girara_argument_mapping_t *argument_mapping)
girara_cmd_set
HIDDEN bool girara_cmd_set(girara_session_t *session, girara_list_t *argument_list)
girara_mouse_event_s::mode
girara_mode_t mode
Definition: internal.h:232
girara_shortcut_s::argument
girara_argument_t argument
Definition: internal.h:199
scrolled_window_set_scrollbar_visibility
HIDDEN void scrolled_window_set_scrollbar_visibility(GtkScrolledWindow *window, bool show_horizontal, bool show_vertical)
girara_session_private_s::config
struct girara_session_private_s::@3 config
girara_special_command_s::identifier
char identifier
Definition: internal.h:218
girara_statusbar_item_s
Definition: internal.h:250
girara_cmd_map
HIDDEN bool girara_cmd_map(girara_session_t *session, girara_list_t *argument_list)
girara_session_private_s::statusbar_items
girara_list_t * statusbar_items
Definition: internal.h:284
girara_special_command_s
Definition: internal.h:217
girara_inputbar_shortcut_s::mask
guint mask
Definition: internal.h:207
list_strcmp
HIDDEN int list_strcmp(const void *data1, const void *data2)
girara_cmd_quit
HIDDEN bool girara_cmd_quit(girara_session_t *session, girara_list_t *argument_list)
girara_session_private_s::session_name
char * session_name
Definition: internal.h:263