self->full_width_tabs, TRUE, GTK_PACK_START);
gtk_notebook_set_current_page (GTK_NOTEBOOK(self->notebook), notebook_index);
+ /* Always show tabs if we have > 1 tab open */
if (gtk_notebook_get_n_pages (GTK_NOTEBOOK(self->notebook)) > 1)
gtk_notebook_set_show_tabs (GTK_NOTEBOOK(self->notebook), TRUE);
gtk_notebook_remove_page (GTK_NOTEBOOK (self->notebook), notebook_index);
/* We should hide the tabs if there is only one tab left */
- if (gtk_notebook_get_n_pages (GTK_NOTEBOOK (self->notebook)) == 1)
- gtk_notebook_set_show_tabs (GTK_NOTEBOOK (self->notebook), FALSE);
+ if (gtk_notebook_get_n_pages (GTK_NOTEBOOK (self->notebook)) <= 1)
+ {
+ if (!self->always_show_tabs)
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (self->notebook), FALSE);
+ }
/* Remove the term from our lists, then free it */
g_ptr_array_remove_fast (self->terms, tt);
TILDA_WINDOW_CENTERED_HORIZONTALLY,
TILDA_WINDOW_CENTERED_VERTICALLY,
TILDA_WINDOW_FULL_WIDTH_TABS,
+ TILDA_WINDOW_ALWAYS_SHOW_TABS,
TILDA_WINDOW_HAVE_REAL_TRANSPARENCY,
};
debug_printf ("window full width tabs: %d\n", self->full_width_tabs);
break;
+ case TILDA_WINDOW_ALWAYS_SHOW_TABS:
+ self->always_show_tabs = g_value_get_boolean (value);
+ if (gtk_notebook_get_n_pages (GTK_NOTEBOOK(self->notebook)) <= 1)
+ {
+ if (self->always_show_tabs)
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK(self->notebook), TRUE);
+ else
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK(self->notebook), FALSE);
+ }
+ debug_printf ("window always show tabs: %d\n", self->always_show_tabs);
+ break;
+
case TILDA_WINDOW_HAVE_REAL_TRANSPARENCY:
self->have_real_transparency = g_value_get_boolean (value);
debug_printf ("window have real transp: %d\n", self->have_real_transparency);
g_value_set_boolean (value, self->full_width_tabs);
break;
+ case TILDA_WINDOW_ALWAYS_SHOW_TABS:
+ g_value_set_boolean (value, self->always_show_tabs);
+ break;
+
case TILDA_WINDOW_HAVE_REAL_TRANSPARENCY:
g_value_set_boolean (value, self->have_real_transparency);
break;
tilda_window_set_property_from_config (self, "centered-horizontally");
tilda_window_set_property_from_config (self, "centered-vertically");
tilda_window_set_property_from_config (self, "full-width-tabs");
+ tilda_window_set_property_from_config (self, "always-show-tabs");
/* Add the initial terminal(s) */
for (i=0; i<self->initial_terminals; ++i)
TILDA_WINDOW_FULL_WIDTH_TABS,
pspec);
+ pspec = g_param_spec_boolean ("always-show-tabs",
+ _("Always show the tab bar, regardless of the number of open tabs"),
+ NULL,
+ TRUE,
+ G_PARAM_READWRITE);
+
+ g_object_class_install_property (gobject_class,
+ TILDA_WINDOW_ALWAYS_SHOW_TABS,
+ pspec);
+
pspec = g_param_spec_boolean ("have-real-transparency",
NULL, NULL, FALSE, G_PARAM_READABLE);