[Terminal] Add Integer properties
authorIra W. Snyder <devel@irasnyder.com>
Wed, 9 Jan 2008 07:04:31 +0000 (23:04 -0800)
committerIra W. Snyder <devel@irasnyder.com>
Wed, 9 Jan 2008 07:04:31 +0000 (23:04 -0800)
Add the normal integer properties.

tilda-terminal.c

index cda6399..8c0ba0c 100644 (file)
@@ -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;