[Window] Add "hidden-at-start" support
authorIra W. Snyder <devel@irasnyder.com>
Fri, 18 Jan 2008 01:11:06 +0000 (17:11 -0800)
committerIra W. Snyder <devel@irasnyder.com>
Fri, 18 Jan 2008 01:11:06 +0000 (17:11 -0800)
Adding this feature required some fixes in TildaTerminal. Some widgets
weren't being shown at the right time. This was masked by the
gtk_widget_show_all() in the TildaWindow start-up code.

tilda-terminal.c
tilda-window.c

index c765eca..f31e797 100644 (file)
@@ -683,6 +683,8 @@ tilda_terminal_constructor (GType                  type,
        gtk_box_pack_end (GTK_BOX(self->hbox), self->scrollbar, FALSE, FALSE, 0);
        gtk_box_pack_end (GTK_BOX(self->hbox), self->vte_term, TRUE, TRUE, 0);
        gtk_widget_show (self->scrollbar);
+       gtk_widget_show (self->vte_term);
+       gtk_widget_show (self->hbox);
 
        /* Match URL's, etc */
        ret = vte_terminal_match_add (VTE_TERMINAL(self->vte_term), DINGUS1);
index 731739b..be5067d 100644 (file)
@@ -540,10 +540,19 @@ tilda_window_constructor (GType                  type,
 
        gtk_window_set_decorated (GTK_WINDOW(self->window), FALSE);
 
+       // FIXME: It should be configurable how many terms we add at startup
        tilda_window_add_term (self);
        tilda_window_add_term (self);
-       gtk_widget_show_all (self->window);
-       self->state = WINDOW_DOWN;
+
+       /* Show us if we're ready. If not, just remain hidden. All sub-widgets must
+        * be gtk_widget_show()n by this point. */
+       if (!self->hidden_at_start)
+       {
+               gtk_widget_show (self->window);
+               self->state = WINDOW_DOWN;
+       }
+       else
+               self->state = WINDOW_UP;
 
        return obj;
 }