From cb11a6373cc816707176e7e9b11b5b273e4173f8 Mon Sep 17 00:00:00 2001 From: "Ira W. Snyder" Date: Tue, 8 Jan 2008 23:04:31 -0800 Subject: [PATCH] [Terminal] Add Integer properties Add the normal integer properties. --- tilda-terminal.c | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/tilda-terminal.c b/tilda-terminal.c index cda6399..8c0ba0c 100644 --- a/tilda-terminal.c +++ b/tilda-terminal.c @@ -17,6 +17,9 @@ enum tilda_terminal_properties { TILDA_TERMINAL_FONT, TILDA_TERMINAL_TITLE, TILDA_TERMINAL_WORKING_DIRECTORY, + + TILDA_TERMINAL_SCROLLBACK_LINES, + TILDA_TERMINAL_TRANSPARENCY_PERCENT, }; static void @@ -77,6 +80,16 @@ tilda_terminal_set_property (GObject *object, g_print ("terminal wrk dir: %s\n", self->working_directory); break; + case TILDA_TERMINAL_SCROLLBACK_LINES: + self->scrollback_lines = g_value_get_int (value); + g_print ("terminal scrollback lines: %d\n", self->scrollback_lines); + break; + + case TILDA_TERMINAL_TRANSPARENCY_PERCENT: + self->transparency_percent = g_value_get_int (value); + g_print ("terminal transp percent: %d\n", self->transparency_percent); + break; + default: /* We don't have this property... */ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -118,6 +131,14 @@ tilda_terminal_get_property (GObject *object, g_value_set_string (value, self->working_directory); break; + case TILDA_TERMINAL_SCROLLBACK_LINES: + g_value_set_int (value, self->scrollback_lines); + break; + + case TILDA_TERMINAL_TRANSPARENCY_PERCENT: + g_value_set_int (value, self->transparency_percent); + break; + default: /* We don't have this property... */ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -271,6 +292,30 @@ tilda_terminal_class_init (gpointer g_class, g_object_class_install_property (gobject_class, TILDA_TERMINAL_WORKING_DIRECTORY, pspec); + + pspec = g_param_spec_int ("scrollback-lines", + "Terminal's scrollback amount (lines)", + "Get/Set terminal's scrollback amount", + 0, + INT_MAX, // TODO: artificially limit this? + 1000, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_SCROLLBACK_LINES, + pspec); + + pspec = g_param_spec_int ("transparency-percent", + "Terminal's transparency (percent)", + "Get/Set terminal's transparency", + 0, + 100, + 0, + G_PARAM_READWRITE); + + g_object_class_install_property (gobject_class, + TILDA_TERMINAL_TRANSPARENCY_PERCENT, + pspec); } GType @@ -328,6 +373,8 @@ int main (int argc, char *argv[]) // NOTE: you MUST free the string!!!! g_free (test_string); + g_object_set (G_OBJECT (tt), "transparency-percent", 50); + g_object_unref (G_OBJECT (tt)); return 0; -- 2.34.1