From: Ira W. Snyder Date: Sat, 12 Jan 2008 21:20:00 +0000 (-0800) Subject: [Terminal] Add all properties X-Git-Url: https://www.irasnyder.com/gitweb/?a=commitdiff_plain;h=6481162f098e1acc9d577681161c35c3f347d3ac;hp=718b4ee5b6c1cea266b8ff468b7906e7f5a90c0e;p=tilda-gobject.git [Terminal] Add all properties Add all of the definitions for all of the properties. Only some of them are currently fully functional, however. --- diff --git a/tilda-terminal.c b/tilda-terminal.c index 4238274..92e73b6 100644 --- a/tilda-terminal.c +++ b/tilda-terminal.c @@ -41,6 +41,16 @@ enum tilda_terminal_properties { TILDA_TERMINAL_DELETE_BINDING, TILDA_TERMINAL_DYNAMIC_TITLE, TILDA_TERMINAL_EXIT_ACTION, + + TILDA_TERMINAL_SCROLL_BACKGROUND, + TILDA_TERMINAL_SCROLL_ON_OUTPUT, + TILDA_TERMINAL_SCROLL_ON_KEYSTROKE, + TILDA_TERMINAL_ANTIALIASED, + TILDA_TERMINAL_ALLOW_BOLD_TEXT, + TILDA_TERMINAL_CURSOR_BLINKS, + TILDA_TERMINAL_AUDIBLE_BELL, + TILDA_TERMINAL_VISIBLE_BELL, + TILDA_TERMINAL_DOUBLE_BUFFERED, }; static void @@ -88,7 +98,7 @@ tilda_terminal_set_property (GObject *object, case TILDA_TERMINAL_BACKGROUND_IMAGE: g_free (self->background_image); self->background_image = g_value_dup_string (value); - // TODO: Actually set it in self->vte_term + vte_terminal_set_background_image_file (VTE_TERMINAL(self->vte_term), self->background_image); g_print ("terminal back img: %s\n", self->background_image); break; @@ -101,7 +111,9 @@ tilda_terminal_set_property (GObject *object, case TILDA_TERMINAL_FONT: g_free (self->font); self->font = g_value_dup_string (value); - vte_terminal_set_font_from_string (VTE_TERMINAL(self->vte_term), self->font); + vte_terminal_set_font_from_string_full (VTE_TERMINAL(self->vte_term), + self->font, + self->antialiased); g_print ("terminal font: %s\n", self->font); break; @@ -119,6 +131,7 @@ tilda_terminal_set_property (GObject *object, case TILDA_TERMINAL_SCROLLBACK_LINES: self->scrollback_lines = g_value_get_int (value); + vte_terminal_set_scrollback_lines (VTE_TERMINAL(self->vte_term), self->scrollback_lines); g_print ("terminal scrollback lines: %d\n", self->scrollback_lines); break; @@ -129,13 +142,13 @@ tilda_terminal_set_property (GObject *object, case TILDA_TERMINAL_BACKSPACE_BINDING: self->backspace_binding = g_value_get_int (value); - //vte_terminal_set_backspace_binding (VTE_TERMINAL(self->vte_term), self->backspace_binding); + vte_terminal_set_backspace_binding (VTE_TERMINAL(self->vte_term), self->backspace_binding); g_print ("terminal backspace key: %d\n", self->backspace_binding); break; case TILDA_TERMINAL_DELETE_BINDING: self->delete_binding = g_value_get_int (value); - //vte_terminal_set_delete_binding (VTE_TERMINAL(self->vte_term), self->delete_binding); + vte_terminal_set_delete_binding (VTE_TERMINAL(self->vte_term), self->delete_binding); g_print ("terminal delete key: %d\n", self->delete_binding); break; @@ -149,6 +162,62 @@ tilda_terminal_set_property (GObject *object, g_print ("terminal exit action: %d\n", self->exit_action); break; + case TILDA_TERMINAL_SCROLL_BACKGROUND: + self->scroll_background = g_value_get_boolean (value); + vte_terminal_set_scroll_background (VTE_TERMINAL(self->vte_term), self->scroll_background); + g_print ("terminal scroll background: %d\n", self->scroll_background); + break; + + case TILDA_TERMINAL_SCROLL_ON_OUTPUT: + self->scroll_on_output = g_value_get_boolean (value); + vte_terminal_set_scroll_on_output (VTE_TERMINAL(self->vte_term), self->scroll_on_output); + g_print ("terminal scroll on output: %d\n", self->scroll_on_output); + break; + + case TILDA_TERMINAL_SCROLL_ON_KEYSTROKE: + self->scroll_on_keystroke = g_value_get_boolean (value); + vte_terminal_set_scroll_on_keystroke (VTE_TERMINAL(self->vte_term), self->scroll_on_keystroke); + g_print ("terminal scroll on keystroke: %d\n", self->scroll_on_keystroke); + break; + + case TILDA_TERMINAL_ANTIALIASED: + self->antialiased = g_value_get_boolean (value); + vte_terminal_set_font_from_string_full (VTE_TERMINAL(self->vte_term), + self->font, + self->antialiased); + g_print ("terminal antialiased: %d\n", self->antialiased); + break; + + case TILDA_TERMINAL_ALLOW_BOLD_TEXT: + self->allow_bold_text = g_value_get_boolean (value); + vte_terminal_set_allow_bold (VTE_TERMINAL(self->vte_term), self->allow_bold_text); + g_print ("terminal allow bold text: %d\n", self->allow_bold_text); + break; + + case TILDA_TERMINAL_CURSOR_BLINKS: + self->cursor_blinks = g_value_get_boolean (value); + vte_terminal_set_cursor_blinks (VTE_TERMINAL(self->vte_term), self->cursor_blinks); + g_print ("terminal cursor blinks: %d\n", self->cursor_blinks); + break; + + case TILDA_TERMINAL_AUDIBLE_BELL: + self->audible_bell = g_value_get_boolean (value); + vte_terminal_set_audible_bell (VTE_TERMINAL(self->vte_term), self->audible_bell); + g_print ("terminal audible bell: %d\n", self->audible_bell); + break; + + case TILDA_TERMINAL_VISIBLE_BELL: + self->visible_bell = g_value_get_boolean (value); + vte_terminal_set_visible_bell (VTE_TERMINAL(self->vte_term), self->visible_bell); + g_print ("terminal visible bell: %d\n", self->visible_bell); + break; + + case TILDA_TERMINAL_DOUBLE_BUFFERED: + self->double_buffered = g_value_get_boolean (value); + gtk_widget_set_double_buffered (GTK_WIDGET(self->vte_term), self->double_buffered); + g_print ("terminal double buffered: %d\n", self->double_buffered); + break; + default: /* We don't have this property... */ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -206,6 +275,58 @@ tilda_terminal_get_property (GObject *object, g_value_set_int (value, self->transparency_percent); break; + case TILDA_TERMINAL_BACKSPACE_BINDING: + g_value_set_int (value, self->backspace_binding); + break; + + case TILDA_TERMINAL_DELETE_BINDING: + g_value_set_int (value, self->delete_binding); + break; + + case TILDA_TERMINAL_DYNAMIC_TITLE: + g_value_set_int (value, self->dynamic_title); + break; + + case TILDA_TERMINAL_EXIT_ACTION: + g_value_set_int (value, self->exit_action); + break; + + case TILDA_TERMINAL_SCROLL_BACKGROUND: + g_value_set_boolean (value, self->scroll_background); + break; + + case TILDA_TERMINAL_SCROLL_ON_OUTPUT: + g_value_set_boolean (value, self->scroll_on_output); + break; + + case TILDA_TERMINAL_SCROLL_ON_KEYSTROKE: + g_value_set_boolean (value, self->scroll_on_keystroke); + break; + + case TILDA_TERMINAL_ANTIALIASED: + g_value_set_boolean (value, self->antialiased); + break; + + case TILDA_TERMINAL_ALLOW_BOLD_TEXT: + g_value_set_boolean (value, self->allow_bold_text); + break; + + case TILDA_TERMINAL_CURSOR_BLINKS: + g_value_set_boolean (value, self->cursor_blinks); + break; + + case TILDA_TERMINAL_AUDIBLE_BELL: + g_value_set_boolean (value, self->audible_bell); + break; + + case TILDA_TERMINAL_VISIBLE_BELL: + g_value_set_boolean (value, self->visible_bell); + break; + + case TILDA_TERMINAL_DOUBLE_BUFFERED: + g_value_set_boolean (value, self->double_buffered); + break; + default: /* We don't have this property... */ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -421,6 +542,126 @@ tilda_terminal_class_init (gpointer g_class, g_object_class_install_property (gobject_class, TILDA_TERMINAL_TRANSPARENCY_PERCENT, pspec); + + pspec = g_param_spec_int ("backspace-binding", + "Terminal's backspace binding", + "Get/Set terminal's backspace key binding", + VTE_ERASE_AUTO, + VTE_ERASE_DELETE_SEQUENCE, + VTE_ERASE_AUTO, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_BACKSPACE_BINDING, + pspec); + + pspec = g_param_spec_int ("delete-binding", + "Terminal's delete binding", + "Get/Set terminal's delete key binding", + VTE_ERASE_AUTO, + VTE_ERASE_DELETE_SEQUENCE, + VTE_ERASE_AUTO, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_DELETE_BINDING, + pspec); + + pspec = g_param_spec_int ("dynamic-title", + "Terminal's dynamic title generation method", + "Get/Set terminal's dynamic title generation method", + 0, + INT_MAX, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_DYNAMIC_TITLE, + pspec); + + pspec = g_param_spec_int ("exit-action", + "Terminal's action upon child exit", + "Get/Set terminal's action upon child exit", + 0, + INT_MAX, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_EXIT_ACTION, + pspec); + + pspec = g_param_spec_boolean ("scroll-background", + "Controls terminal's scrolling behavior", + "Get/Set terminal's scrolling behavior", + FALSE, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_SCROLL_BACKGROUND, + pspec); + + pspec = g_param_spec_boolean ("scroll-on-output", + "Controls terminal's scrolling behavior on output", + "Get/Set terminal's scrolling behavior on output", + FALSE, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_SCROLL_ON_OUTPUT, + pspec); + + pspec = g_param_spec_boolean ("scroll-on-keystroke", + "Controls the terminal's scrolling behavior on keystroke", + NULL, FALSE, G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_SCROLL_ON_KEYSTROKE, + pspec); + + pspec = g_param_spec_boolean ("antialiased", + "Attempt to antialias fonts", + NULL, FALSE, G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_ANTIALIASED, + pspec); + + pspec = g_param_spec_boolean ("allow-bold-text", + "Allow bold text", + NULL, FALSE, G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_ALLOW_BOLD_TEXT, + pspec); + + pspec = g_param_spec_boolean ("cursor-blinks", + NULL, NULL, FALSE, G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_CURSOR_BLINKS, + pspec); + + pspec = g_param_spec_boolean ("audible-bell", + NULL, NULL, FALSE, G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_AUDIBLE_BELL, + pspec); + + pspec = g_param_spec_boolean ("visible-bell", + NULL, NULL, FALSE, G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_VISIBLE_BELL, + pspec); + + pspec = g_param_spec_boolean ("double-buffered", + NULL, NULL, FALSE, G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_DOUBLE_BUFFERED, + pspec); } GType