2
* Copyright © 2001 Havoc Pennington
3
* Copyright © 2002 Mathias Hasselmann
4
* Copyright © 2008 Christian Persch
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU Library General Public
8
* License as published by the Free Software Foundation; either
9
* version 3 of the License, or (at your option) any later version.
11
* This library is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
* Library General Public License for more details.
16
* You should have received a copy of the GNU Library General Public
17
* License along with this library; if not, write to the
18
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19
* Boston, MA 02111-1307, USA.
22
#ifndef TERMINAL_PROFILE_H
23
#define TERMINAL_PROFILE_H
31
/* this has to be kept in sync with the option menu in the profile editor UI file */
32
TERMINAL_TITLE_REPLACE,
33
TERMINAL_TITLE_BEFORE,
40
TERMINAL_SCROLLBAR_LEFT,
41
TERMINAL_SCROLLBAR_RIGHT,
42
TERMINAL_SCROLLBAR_HIDDEN
43
} TerminalScrollbarPosition;
48
TERMINAL_EXIT_RESTART,
54
TERMINAL_BACKGROUND_SOLID,
55
TERMINAL_BACKGROUND_IMAGE,
56
TERMINAL_BACKGROUND_TRANSPARENT
57
} TerminalBackgroundType;
59
#define TERMINAL_PALETTE_SIZE 16
61
#define TERMINAL_PALETTE_TANGO 0
62
#define TERMINAL_PALETTE_LINUX 1
63
#define TERMINAL_PALETTE_XTERM 2
64
#define TERMINAL_PALETTE_RXVT 3
65
#define TERMINAL_PALETTE_N_BUILTINS 4
68
#define TERMINAL_PROFILE_ALLOW_BOLD "allow-bold"
69
#define TERMINAL_PROFILE_BACKGROUND_COLOR "background-color"
70
#define TERMINAL_PROFILE_BACKGROUND_DARKNESS "background-darkness"
71
#define TERMINAL_PROFILE_BACKGROUND_IMAGE "background-image"
72
#define TERMINAL_PROFILE_BACKGROUND_IMAGE_FILE "background-image-file"
73
#define TERMINAL_PROFILE_BACKGROUND_TYPE "background-type"
74
#define TERMINAL_PROFILE_BACKSPACE_BINDING "backspace-binding"
75
#define TERMINAL_PROFILE_BOLD_COLOR "bold-color"
76
#define TERMINAL_PROFILE_BOLD_COLOR_SAME_AS_FG "bold-color-same-as-fg"
77
#define TERMINAL_PROFILE_CURSOR_BLINK_MODE "cursor-blink-mode"
78
#define TERMINAL_PROFILE_CURSOR_SHAPE "cursor-shape"
79
#define TERMINAL_PROFILE_CUSTOM_COMMAND "custom-command"
80
#define TERMINAL_PROFILE_DEFAULT_SHOW_MENUBAR "default-show-menubar"
81
#define TERMINAL_PROFILE_DEFAULT_SIZE_COLUMNS "default-size-columns"
82
#define TERMINAL_PROFILE_DEFAULT_SIZE_ROWS "default-size-rows"
83
#define TERMINAL_PROFILE_DELETE_BINDING "delete-binding"
84
#define TERMINAL_PROFILE_ENCODING "encoding"
85
#define TERMINAL_PROFILE_EXIT_ACTION "exit-action"
86
#define TERMINAL_PROFILE_FONT "font"
87
#define TERMINAL_PROFILE_FOREGROUND_COLOR "foreground-color"
88
#define TERMINAL_PROFILE_LOGIN_SHELL "login-shell"
89
#define TERMINAL_PROFILE_NAME "name"
90
#define TERMINAL_PROFILE_PALETTE "palette"
91
#define TERMINAL_PROFILE_SCROLL_BACKGROUND "scroll-background"
92
#define TERMINAL_PROFILE_SCROLLBACK_LINES "scrollback-lines"
93
#define TERMINAL_PROFILE_SCROLLBACK_UNLIMITED "scrollback-unlimited"
94
#define TERMINAL_PROFILE_SCROLLBAR_POSITION "scrollbar-position"
95
#define TERMINAL_PROFILE_SCROLL_ON_KEYSTROKE "scroll-on-keystroke"
96
#define TERMINAL_PROFILE_SCROLL_ON_OUTPUT "scroll-on-output"
97
#define TERMINAL_PROFILE_SILENT_BELL "silent-bell"
98
#define TERMINAL_PROFILE_TITLE_MODE "title-mode"
99
#define TERMINAL_PROFILE_TITLE "title"
100
#define TERMINAL_PROFILE_UPDATE_RECORDS "update-records"
101
#define TERMINAL_PROFILE_USE_CUSTOM_COMMAND "use-custom-command"
102
#define TERMINAL_PROFILE_USE_CUSTOM_DEFAULT_SIZE "use-custom-default-size"
103
#define TERMINAL_PROFILE_USE_SYSTEM_FONT "use-system-font"
104
#define TERMINAL_PROFILE_USE_THEME_COLORS "use-theme-colors"
105
#define TERMINAL_PROFILE_VISIBLE_NAME "visible-name"
106
#define TERMINAL_PROFILE_WORD_CHARS "word-chars"
108
/* TerminalProfile object */
110
#define TERMINAL_TYPE_PROFILE (terminal_profile_get_type ())
111
#define TERMINAL_PROFILE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), TERMINAL_TYPE_PROFILE, TerminalProfile))
112
#define TERMINAL_PROFILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TERMINAL_TYPE_PROFILE, TerminalProfileClass))
113
#define TERMINAL_IS_PROFILE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), TERMINAL_TYPE_PROFILE))
114
#define TERMINAL_IS_PROFILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TERMINAL_TYPE_PROFILE))
115
#define TERMINAL_PROFILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TERMINAL_TYPE_PROFILE, TerminalProfileClass))
117
typedef struct _TerminalProfile TerminalProfile;
118
typedef struct _TerminalProfileClass TerminalProfileClass;
119
typedef struct _TerminalProfilePrivate TerminalProfilePrivate;
121
struct _TerminalProfile
123
GObject parent_instance;
125
TerminalProfilePrivate *priv;
128
struct _TerminalProfileClass
130
GObjectClass parent_class;
132
void (* forgotten) (TerminalProfile *profile);
134
GHashTable *gconf_keys;
137
GType terminal_profile_get_type (void);
139
TerminalProfile* _terminal_profile_new (const char *name);
141
void _terminal_profile_forget (TerminalProfile *profile);
143
gboolean _terminal_profile_get_forgotten (TerminalProfile *profile);
145
TerminalProfile* _terminal_profile_clone (TerminalProfile *base_profile,
146
const char *visible_name);
148
gboolean terminal_profile_property_locked (TerminalProfile *profile,
149
const char *prop_name);
151
void terminal_profile_reset_property (TerminalProfile *profile,
152
const char *prop_name);
154
gboolean terminal_profile_get_property_boolean (TerminalProfile *profile,
155
const char *prop_name);
157
gconstpointer terminal_profile_get_property_boxed (TerminalProfile *profile,
158
const char *prop_name);
160
double terminal_profile_get_property_double (TerminalProfile *profile,
161
const char *prop_name);
163
int terminal_profile_get_property_enum (TerminalProfile *profile,
164
const char *prop_name);
166
int terminal_profile_get_property_int (TerminalProfile *profile,
167
const char *prop_name);
169
gpointer terminal_profile_get_property_object (TerminalProfile *profile,
170
const char *prop_name);
172
const char* terminal_profile_get_property_string (TerminalProfile *profile,
173
const char *prop_name);
175
gboolean terminal_profile_get_palette (TerminalProfile *profile,
179
gboolean terminal_profile_get_palette_is_builtin (TerminalProfile *profile,
182
void terminal_profile_set_palette_builtin (TerminalProfile *profile,
185
gboolean terminal_profile_modify_palette_entry (TerminalProfile *profile,
187
const GdkColor *color);
191
#endif /* TERMINAL_PROFILE_H */