girara
 
Loading...
Searching...
No Matches
session.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: Zlib */
2
3#ifndef GIRARA_SESSION_H
4#define GIRARA_SESSION_H
5
6#include "types.h"
7#include "macros.h"
8#include "callbacks.h"
9
10#include <gtk/gtk.h>
11
12#ifdef GDK_WINDOWING_X11
13#include <gtk/gtkx.h>
14#else
15typedef int Window;
16#endif
17
19 girara_session_private_t* private_data;
20 GiraraInputHistory* command_history;
21
22 struct {
23 GtkWidget* window;
24 GtkBox* box;
25 GtkWidget* view;
26 GtkWidget* viewport;
27 GtkWidget* statusbar;
29 GtkWidget* notification_area;
30 GtkWidget* notification_text;
31 GtkBox* inputbar_box;
32 GtkWidget* inputbar;
33 GtkLabel* inputbar_dialog;
34 GtkEntry* inputbar_entry;
35 GtkBox* results;
37 } gtk;
38
39 struct {
46
47 struct {
48 void (*buffer_changed)(girara_session_t* session);
49 bool (*unknown_command)(girara_session_t* session, const char* input);
51
52 struct {
53 GString* buffer;
54 void* data;
58
59 struct {
72
73 struct {
79};
80
87girara_session_t* girara_session_create(void) GIRARA_VISIBLE;
88
97bool girara_session_init(girara_session_t* session, const char* appname) GIRARA_VISIBLE;
98
106bool girara_session_destroy(girara_session_t* session) GIRARA_VISIBLE;
107
116bool girara_set_view(girara_session_t* session, GtkWidget* widget) GIRARA_VISIBLE;
117
124char* girara_buffer_get(girara_session_t* session) GIRARA_VISIBLE;
125
135void girara_notify(girara_session_t* session, int level, const char* format, ...) GIRARA_PRINTF(3, 4) GIRARA_VISIBLE;
136
147void girara_dialog(girara_session_t* session, const char* dialog, bool invisible,
149 girara_callback_inputbar_activate_t activate_event, void* data) GIRARA_VISIBLE;
150
158girara_mode_t girara_mode_add(girara_session_t* session, const char* name) GIRARA_VISIBLE;
159
166void girara_mode_set(girara_session_t* session, girara_mode_t mode) GIRARA_VISIBLE;
167
175
184bool girara_set_window_title(girara_session_t* session, const char* name) GIRARA_VISIBLE;
185
194bool girara_set_window_icon(girara_session_t* session, const char* name) GIRARA_VISIBLE;
195
203
210GiraraTemplate* girara_session_get_template(girara_session_t* session) GIRARA_VISIBLE;
211
223void girara_session_set_template(girara_session_t* session, GiraraTemplate* template,
224 bool init_variables) GIRARA_VISIBLE;
225
226#endif
gboolean(* girara_callback_inputbar_key_press_event_t)(GtkWidget *widget, GdkEventKey *event, void *data)
Definition callbacks.h:18
gboolean(* girara_callback_inputbar_activate_t)(GtkEntry *entry, void *data)
Definition callbacks.h:27
#define GIRARA_PRINTF(format_idx, arg_idx)
Definition macros.h:24
#define GIRARA_VISIBLE
Definition macros.h:52
GiraraTemplate * girara_session_get_template(girara_session_t *session) GIRARA_VISIBLE
bool girara_session_destroy(girara_session_t *session) GIRARA_VISIBLE
bool girara_set_window_title(girara_session_t *session, const char *name) GIRARA_VISIBLE
void girara_notify(girara_session_t *session, int level, const char *format,...) GIRARA_PRINTF(3
bool girara_session_init(girara_session_t *session, const char *appname) GIRARA_VISIBLE
girara_mode_t girara_mode_get(girara_session_t *session) GIRARA_VISIBLE
char * girara_buffer_get(girara_session_t *session) GIRARA_VISIBLE
void girara_mode_set(girara_session_t *session, girara_mode_t mode) GIRARA_VISIBLE
girara_list_t * girara_get_command_history(girara_session_t *session) GIRARA_VISIBLE
void girara_dialog(girara_session_t *session, const char *dialog, bool invisible, girara_callback_inputbar_key_press_event_t key_press_event, girara_callback_inputbar_activate_t activate_event, void *data) GIRARA_VISIBLE
girara_mode_t girara_mode_add(girara_session_t *session, const char *name) GIRARA_VISIBLE
void girara_session_set_template(girara_session_t *session, GiraraTemplate *template, bool init_variables) GIRARA_VISIBLE
girara_session_t * girara_session_create(void) GIRARA_VISIBLE
int Window
Definition session.h:15
bool girara_set_view(girara_session_t *session, GtkWidget *widget) GIRARA_VISIBLE
bool girara_set_window_icon(girara_session_t *session, const char *name) GIRARA_VISIBLE
girara_list_t * commands
Definition session.h:41
girara_callback_inputbar_activate_t inputbar_custom_activate
Definition session.h:60
girara_list_t * shortcuts
Definition session.h:42
int inputbar_key_pressed
Definition session.h:64
int inputbar_activate
Definition session.h:63
GtkBox * statusbar_entries
Definition session.h:28
void * inputbar_custom_data
Definition session.h:62
GtkEntry * inputbar_entry
Definition session.h:34
girara_mode_t current_mode
Definition session.h:75
struct girara_session_s::@047140267232076241363114371314143160126115125240 events
int view_key_pressed
Definition session.h:66
struct girara_session_s::@037175046350024210066022320277255074030026054321 signals
girara_list_t * mouse_events
Definition session.h:40
void(* buffer_changed)(girara_session_t *session)
Definition session.h:48
int inputbar_changed
Definition session.h:65
struct girara_session_s::@000067221220331165043165324302326161171354366110 gtk
girara_list_t * special_commands
Definition session.h:43
GtkBox * box
Definition session.h:24
girara_mode_t normal
Definition session.h:76
int view_motion_notify_event
Definition session.h:69
girara_list_t * inputbar_shortcuts
Definition session.h:44
struct girara_session_s::@351314203370362364263116040115076362255330270141 bindings
GtkWidget * notification_area
Definition session.h:29
GtkLabel * inputbar_dialog
Definition session.h:33
GString * buffer
Definition session.h:53
GiraraInputHistory * command_history
Definition session.h:20
GtkWidget * window
Definition session.h:23
GtkWidget * viewport
Definition session.h:26
struct girara_session_s::@051202366246167147323222322267274371133064025030 modes
int view_scroll_event
Definition session.h:70
struct girara_session_s::@162075143140361270075000347270076246005134157067 global
GtkWidget * inputbar
Definition session.h:32
GtkBox * inputbar_box
Definition session.h:31
girara_callback_inputbar_key_press_event_t inputbar_custom_key_press_event
Definition session.h:61
int view_button_press_event
Definition session.h:67
bool autohide_inputbar
Definition session.h:55
int view_button_release_event
Definition session.h:68
GtkWidget * statusbar
Definition session.h:27
girara_session_private_t * private_data
Definition session.h:19
bool(* unknown_command)(girara_session_t *session, const char *input)
Definition session.h:49
GtkWidget * notification_text
Definition session.h:30
GtkBox * results
Definition session.h:35
girara_list_t * identifiers
Definition session.h:74
bool hide_statusbar
Definition session.h:56
GtkWidget * view
Definition session.h:25
int girara_mode_t
Definition types.h:57
struct girara_list_s girara_list_t
Definition types.h:10