diff -ru galeon-1.3.21/galeon.schemas.in galeon-1.3.20_tab/galeon.schemas.in --- galeon-1.3.21/galeon.schemas.in 2004-11-07 20:49:36.000000000 +0200 +++ galeon-1.3.20_tab/galeon.schemas.in 2005-05-28 15:34:13.000000000 +0300 @@ -349,6 +349,17 @@ + /schemas/apps/galeon/UI/Tabs/tabbed_width_chars + /apps/galeon/UI/Tabs/tabbed_width_chars + galeon + int + 15 + + Tab width in characters + Tab width in characters. + + + /schemas/apps/galeon/UI/Tabs/favicons_in_tabs /apps/galeon/UI/Tabs/favicons_in_tabs galeon diff -ru galeon-1.3.21/src/galeon-window.c galeon-1.3.20_tab/src/galeon-window.c --- galeon-1.3.21/src/galeon-window.c 2005-01-30 19:26:18.000000000 +0200 +++ galeon-1.3.20_tab/src/galeon-window.c 2005-05-28 15:33:27.000000000 +0300 @@ -933,6 +933,16 @@ static void +tabbed_tab_size_gconf_changed_cb (GConfClient *client, + guint cnxn_id, + GConfEntry *entry, + GtkNotebook *notebook) +{ + gtk_widget_queue_resize (GTK_WIDGET (notebook)); +} + + +static void tabbed_always_show_gconf_changed_cb(GConfClient *client, guint cnxn_id, GConfEntry *entry, @@ -1011,6 +1021,10 @@ galeon_notification_add(CONF_TABS_TABBED_ALWAYS_SHOW, (GConfClientNotifyFunc)tabbed_always_show_gconf_changed_cb, notebook, &window->priv->notifiers); + + galeon_notification_add(CONF_TABS_TABBED_WIDTH_CHARS, + (GConfClientNotifyFunc)tabbed_tab_size_gconf_changed_cb, + notebook, &window->priv->notifiers); gtk_widget_show (GTK_WIDGET (notebook)); diff -ru galeon-1.3.21/ui/prefs-dialog.glade galeon-1.3.20_tab/ui/prefs-dialog.glade --- galeon-1.3.21/ui/prefs-dialog.glade 2004-11-07 20:49:36.000000000 +0200 +++ galeon-1.3.20_tab/ui/prefs-dialog.glade 2005-05-28 14:14:20.000000000 +0300 @@ -1884,6 +1884,105 @@ False + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + False + 6 + + + + True + _Tab width: + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + tabs_width_chars + + + 0 + False + False + + + + + + True + True + 1 + 0 + False + GTK_UPDATE_ALWAYS + False + False + 15 2 50 1 10 10 + + Tab size in characters + + + + 0 + False + True + + + + + + True + characters + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + 0 + True + True + + 0 diff -ru galeon-1.3.21/utils/gul-notebook.c galeon-1.3.20_tab/utils/gul-notebook.c --- galeon-1.3.21/utils/gul-notebook.c 2005-04-11 00:45:06.000000000 +0300 +++ galeon-1.3.20_tab/utils/gul-notebook.c 2005-05-28 14:26:34.000000000 +0300 @@ -26,6 +26,8 @@ #include "config.h" #endif +#include "eel-gconf-extensions.h" +#include "prefs-strings.h" #include "gul-notebook.h" #include "gul-gui.h" #include "gul-string.h" @@ -737,6 +738,7 @@ PangoContext *context; gint char_width; gint n_pixels; + gint width_chars; notebook = GUL_NOTEBOOK (gtk_widget_get_ancestor (hbox, GUL_TYPE_NOTEBOOK)); @@ -748,7 +750,8 @@ char_width = pango_font_metrics_get_approximate_char_width (metrics); pango_font_metrics_unref (metrics); - n_pixels = notebook->priv->tab_width_chars * PANGO_PIXELS(char_width); + width_chars = eel_gconf_get_integer (CONF_TABS_TABBED_WIDTH_CHARS); + n_pixels = width_chars * PANGO_PIXELS(char_width); /* We need to set the width of the widget that contains not only the * label, but also the favicon as otherwise tabs with icon would be diff -ru galeon-1.3.21/utils/prefs-strings.h galeon-1.3.20_tab/utils/prefs-strings.h --- galeon-1.3.21/utils/prefs-strings.h 2004-07-26 17:53:38.000000000 +0300 +++ galeon-1.3.20_tab/utils/prefs-strings.h 2005-05-28 14:03:34.000000000 +0300 @@ -23,6 +23,7 @@ #define CONF_TABS_TABBED_LOADING_COLOR "/apps/galeon/UI/Tabs/tabbed_loading_color" #define CONF_TABS_TABBED_NEW_COLOR "/apps/galeon/UI/Tabs/tabbed_new_color" #define CONF_TABS_TABBED_ALWAYS_SHOW "/apps/galeon/UI/Tabs/tabbed_always_show" +#define CONF_TABS_TABBED_WIDTH_CHARS "/apps/galeon/UI/Tabs/tabbed_width_chars" #define CONF_TABS_TABBED_EDGE "/apps/galeon/UI/Tabs/tabbed_position" #define CONF_TABS_FAVICON "/apps/galeon/UI/Tabs/favicons_in_tabs"