1 /*- 2 * Copyright (c) 2004 os-cillation e.K. 3 * 4 * Written by Benedikt Meurer <benny@xfce.org>. 5 * 6 * This program is free software; you can redistribute it and/or modify it 7 * under the terms of the GNU General Public License as published by the Free 8 * Software Foundation; either version 2 of the License, or (at your option) 9 * any later version. 10 * 11 * This program is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 14 * more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * along with this program. If not, see <http://www.gnu.org/licenses/>. 18 */ 19 20 #ifndef TERMINAL_PREFERENCES_H 21 #define TERMINAL_PREFERENCES_H 22 23 #include <libxfce4ui/libxfce4ui.h> 24 25 G_BEGIN_DECLS 26 27 #define TERMINAL_TYPE_PREFERENCES (terminal_preferences_get_type ()) 28 #define TERMINAL_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TERMINAL_TYPE_PREFERENCES, TerminalPreferences)) 29 #define TERMINAL_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TERMINAL_TYPE_PREFERENCES, TerminalPreferencesClass)) 30 #define TERMINAL_IS_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TERMINAL_TYPE_PREFERENCES)) 31 #define TERMINAL_IS_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TERMINAL_TYPE_PREFERENCES)) 32 #define TERMINAL_PREFERENCES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TERMINAL_TYPE_PREFERENCES, TerminalPreferencesClass)) 33 34 typedef struct _TerminalPreferencesClass TerminalPreferencesClass; 35 typedef struct _TerminalPreferences TerminalPreferences; 36 37 typedef enum /*< enum,prefix=TERMINAL_SCROLLBAR >*/ 38 { 39 TERMINAL_SCROLLBAR_NONE, 40 TERMINAL_SCROLLBAR_LEFT, 41 TERMINAL_SCROLLBAR_RIGHT 42 } TerminalScrollbar; 43 44 typedef enum /*< enum,prefix=TERMINAL_TITLE >*/ 45 { 46 TERMINAL_TITLE_REPLACE, 47 TERMINAL_TITLE_PREPEND, 48 TERMINAL_TITLE_APPEND, 49 TERMINAL_TITLE_HIDE, 50 TERMINAL_TITLE_DEFAULT 51 } TerminalTitle; 52 53 typedef enum /*< enum,prefix=TERMINAL_BACKGROUND >*/ 54 { 55 TERMINAL_BACKGROUND_SOLID, 56 TERMINAL_BACKGROUND_IMAGE, 57 TERMINAL_BACKGROUND_TRANSPARENT 58 } TerminalBackground; 59 60 typedef enum /*< enum,prefix=TERMINAL_BACKGROUND_STYLE >*/ 61 { 62 TERMINAL_BACKGROUND_STYLE_TILED, 63 TERMINAL_BACKGROUND_STYLE_CENTERED, 64 TERMINAL_BACKGROUND_STYLE_SCALED, 65 TERMINAL_BACKGROUND_STYLE_STRETCHED 66 } TerminalBackgroundStyle; 67 68 typedef enum /*< enum,prefix=TERMINAL_ERASE_BINDING >*/ 69 { 70 TERMINAL_ERASE_BINDING_AUTO, 71 TERMINAL_ERASE_BINDING_ASCII_DELETE, /* ASCII DEL */ 72 TERMINAL_ERASE_BINDING_DELETE_SEQUENCE, /* Escape Sequence */ 73 TERMINAL_ERASE_BINDING_ASCII_BACKSPACE, /* Control-H */ 74 TERMINAL_ERASE_BINDING_ERASE_TTY /* TTY Erase */ 75 } TerminalEraseBinding; 76 77 typedef enum /*< enum,prefix=TERMINAL_AMBIGUOUS_WIDTH_BINDING >*/ 78 { 79 TERMINAL_AMBIGUOUS_WIDTH_BINDING_NARROW, 80 TERMINAL_AMBIGUOUS_WIDTH_BINDING_WIDE 81 } TerminalAmbiguousWidthBinding; 82 83 typedef enum /*< enum,prefix=TERMINAL_CURSOR_SHAPE >*/ 84 { 85 TERMINAL_CURSOR_SHAPE_BLOCK, 86 TERMINAL_CURSOR_SHAPE_IBEAM, 87 TERMINAL_CURSOR_SHAPE_UNDERLINE 88 } TerminalCursorShape; 89 90 typedef enum /*< enum,prefix=TERMINAL_TEXT_BLINK_MODE >*/ 91 { 92 TERMINAL_TEXT_BLINK_MODE_NEVER, 93 TERMINAL_TEXT_BLINK_MODE_FOCUSED, 94 TERMINAL_TEXT_BLINK_MODE_UNFOCUSED, 95 TERMINAL_TEXT_BLINK_MODE_ALWAYS 96 } TerminalTextBlinkMode; 97 98 GType terminal_preferences_get_type (void) G_GNUC_CONST; 99 100 TerminalPreferences *terminal_preferences_get (void); 101 102 gboolean terminal_preferences_get_color (TerminalPreferences *preferences, 103 const gchar *property, 104 GdkRGBA *color_return); 105 106 107 G_END_DECLS 108 109 #endif /* !TERMINAL_PREFERENCES_H */ 110