8cc87415c4346a4fed8c06ee80a3f0741aebf973
[tilda-gobject.git] / tilda-terminal.h
1 #ifndef TILDA_TERMINAL_H
2 #define TILDA_TERMINAL_H
3
4 #include <glib.h>
5 #include <gtk/gtk.h>
6 #include <vte/vte.h>
7
8
9 #define TILDA_TYPE_TERMINAL                             (tilda_terminal_get_type())
10 #define TILDA_TERMINAL(obj)                             (G_TYPE_CHECK_INSTANCE_CAST ((obj), TILDA_TYPE_TERMINAL))
11 #define TILDA_TERMINAL_CLASS(klass)             (G_TYPE_CHECK_CLASS_CAST ((klass), TILDA_TYPE_TERMINAL, TildaTerminalClass))
12 #define TILDA_IS_TERMINAL(obj)                  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TILDA_TYPE_TERMINAL))
13 #define TILDA_IS_TERMINAL_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE ((klass), TILDA_TYPE_TERMINAL))
14 #define TILDA_TERMINAL_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS ((obj), TILDA_TYPE_TERMINAL, TildaTerminalClass))
15
16 typedef struct _TildaTerminal TildaTerminal;
17 typedef struct _TildaTerminalClass TildaTerminalClass;
18
19 struct _TildaTerminal {
20         GObject parent;
21         gboolean dispose_has_run;
22
23         /* Instance Members */
24         // FIXME: ADD THESE BACK
25         // TildaWindow *tw;
26         GtkWidget *vte_term;
27         gint number;
28
29         gchar *background_image;
30         gchar *shell;
31         gchar *font;
32         gchar *title;
33         gchar *working_directory;
34
35         gint scrollback_lines;
36         gint transparency_percent;
37         // TODO: opacity, tint, etc
38
39         // TODO: these really are enums. Maybe the config system
40         // TODO: can be made to handle top, bottom, left, right.
41         // TODO: (similar to the true/false handling)
42         // TODO:
43         // TODO: or, maybe ints would just be better
44         // TODO: REMEMBER THOUGH: make the computer do what it's good at ;)
45         gint backspace_binding;
46         gint delete_binding;
47         gint dynamic_title;
48         gint exit_action;
49         // TODO: gint colorscheme; the code can work around the need for
50         // TODO: this value. Just check if the back and fore colors match
51         // TODO: any pre-defined colorschemes exactly in the GUI.
52         GdkColor background_color;
53         GdkColor foreground_color;
54         // TODO: all other colors supported by VTE
55
56         gboolean scroll_background;
57         gboolean scroll_on_output;
58         gboolean scroll_on_keystroke;
59         gboolean antialiased;
60         gboolean allow_bold_text;
61         gboolean cursor_blinks;
62         gboolean audible_bell;
63         gboolean visible_bell;
64         gboolean double_buffered;
65 };
66
67 struct _TildaTerminalClass {
68         GObjectClass parent;
69
70         /* Class Members */
71 };
72
73 /* Used by TILDA_TYPE_TERMINAL */
74 GType tilda_terminal_get_type (void);
75
76 /* API */
77
78 #endif /* TILDA_TERMINAL_H */
79
80 /* vim: set ts=4 sts=4 sw=4 noet tw=112: */
81