360
331
guint smalldisplay_notify_id;
362
333
glong last_small_time; /* when we last changed small mode */
364
/* Cached copies of the gconf keys.
366
* To avoid race conditions, the only time the keys are actually read is at startup
371
gboolean window_maximised;
372
gboolean window_small;
373
gboolean queue_as_sidebar;
374
gboolean statusbar_hidden;
375
334
gboolean party_mode;
379
gint right_paned_position;
380
gint display_page_tree_height;
338
GSettings *plugin_settings;
339
PeasEngine *plugin_engine;
340
PeasExtensionSet *activatable;
383
#define RB_SHELL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), RB_TYPE_SHELL, RBShellPrivate))
385
344
static GtkActionEntry rb_shell_actions [] =
426
385
{ "ViewSidePane", NULL, N_("Side _Pane"), "F9",
427
386
N_("Change the visibility of the side pane"),
428
G_CALLBACK (rb_shell_view_sidepane_changed_cb), TRUE },
429
388
{ "ViewToolbar", NULL, N_("T_oolbar"), NULL,
430
389
N_("Change the visibility of the toolbar"),
431
G_CALLBACK (rb_shell_view_toolbar_changed_cb), TRUE },
432
391
{ "ViewSmallDisplay", NULL, N_("_Small Display"), "<control>D",
433
392
N_("Make the main window smaller"),
434
393
G_CALLBACK (rb_shell_view_smalldisplay_changed_cb), },
1522
1477
toolbar = gtk_ui_manager_get_widget (shell->priv->ui_manager, "/ToolBar");
1523
1478
gtk_style_context_add_class (gtk_widget_get_style_context (toolbar),
1524
1479
GTK_STYLE_CLASS_PRIMARY_TOOLBAR);
1480
g_settings_bind (shell->priv->settings, "toolbar-visible",
1482
G_SETTINGS_BIND_DEFAULT);
1525
1483
gtk_box_pack_start (GTK_BOX (shell->priv->main_vbox), toolbar, FALSE, FALSE, 0);
1526
1484
gtk_box_reorder_child (GTK_BOX (shell->priv->main_vbox), toolbar, 1);
1527
gtk_widget_show (toolbar);
1529
1486
shell->priv->volume_button = gtk_volume_button_new ();
1530
1487
g_signal_connect (shell->priv->volume_button, "value-changed",
1557
1514
rb_profile_end ("loading ui");
1518
extension_added_cb (PeasExtensionSet *set, PeasPluginInfo *info, PeasExtension *extension, RBShell *shell)
1520
rb_debug ("activating extension %s", peas_plugin_info_get_name (info));
1521
peas_extension_call (extension, "activate");
1525
extension_removed_cb (PeasExtensionSet *set, PeasPluginInfo *info, PeasExtension *extension, RBShell *shell)
1527
rb_debug ("deactivating extension %s", peas_plugin_info_get_name (info));
1528
peas_extension_call (extension, "deactivate");
1532
construct_plugins (RBShell *shell)
1536
char *plugindatadir;
1537
const GList *plugins;
1539
GError *error = NULL;
1541
if (shell->priv->disable_plugins) {
1545
rb_profile_start ("loading plugins");
1546
shell->priv->plugin_settings = g_settings_new ("org.gnome.rhythmbox.plugins");
1548
shell->priv->plugin_engine = peas_engine_new ();
1549
/* need an #ifdef for this? */
1550
peas_engine_enable_loader (shell->priv->plugin_engine, "python");
1552
typelib_dir = g_build_filename (LIBDIR,
1555
if (g_irepository_require_private (g_irepository_get_default (),
1556
typelib_dir, "MPID", "3.0", 0, &error) == FALSE) {
1557
g_clear_error (&error);
1558
if (g_irepository_require (g_irepository_get_default (), "MPID", "3.0", 0, &error) == FALSE) {
1559
g_warning ("Could not load MPID typelib: %s", error->message);
1560
g_clear_error (&error);
1564
if (g_irepository_require_private (g_irepository_get_default (),
1565
typelib_dir, "RB", "3.0", 0, &error) == FALSE) {
1566
g_clear_error (&error);
1567
if (g_irepository_require (g_irepository_get_default (), "RB", "3.0", 0, &error) == FALSE) {
1568
g_warning ("Could not load RB typelib: %s", error->message);
1569
g_clear_error (&error);
1572
g_free (typelib_dir);
1574
if (g_irepository_require (g_irepository_get_default (), "Peas", "1.0", 0, &error) == FALSE) {
1575
g_warning ("Could not load Peas typelib: %s", error->message);
1576
g_clear_error (&error);
1579
if (g_irepository_require (g_irepository_get_default (), "PeasGtk", "1.0", 0, &error) == FALSE) {
1580
g_warning ("Could not load PeasGtk typelib: %s", error->message);
1581
g_clear_error (&error);
1584
plugindir = g_build_filename (rb_user_data_dir (), "plugins", NULL);
1585
rb_debug ("plugin search path: %s", plugindir);
1586
peas_engine_add_search_path (shell->priv->plugin_engine,
1591
plugindir = g_build_filename (LIBDIR, "rhythmbox", "plugins", NULL);
1592
plugindatadir = g_build_filename (DATADIR, "rhythmbox", "plugins", NULL);
1593
rb_debug ("plugin search path: %s / %s", plugindir, plugindatadir);
1594
peas_engine_add_search_path (shell->priv->plugin_engine,
1598
g_free (plugindatadir);
1600
#ifdef USE_UNINSTALLED_DIRS
1601
plugindir = g_build_filename (SHARE_UNINSTALLED_BUILDDIR, "..", UNINSTALLED_PLUGINS_LOCATION, NULL);
1602
rb_debug ("plugin search path: %s", plugindir);
1603
peas_engine_add_search_path (shell->priv->plugin_engine,
1609
shell->priv->activatable = peas_extension_set_new (shell->priv->plugin_engine,
1610
PEAS_TYPE_ACTIVATABLE,
1613
g_signal_connect (shell->priv->activatable, "extension-added", G_CALLBACK (extension_added_cb), shell);
1614
g_signal_connect (shell->priv->activatable, "extension-removed", G_CALLBACK (extension_removed_cb), shell);
1616
g_settings_bind (shell->priv->plugin_settings,
1618
shell->priv->plugin_engine,
1620
G_SETTINGS_BIND_DEFAULT);
1622
/* load builtin plugins */
1623
plugins = peas_engine_get_plugin_list (shell->priv->plugin_engine);
1624
for (l = plugins; l != NULL; l = l->next) {
1625
PeasPluginInfo *info = PEAS_PLUGIN_INFO (l->data);
1626
if (peas_plugin_info_is_builtin (info) &&
1627
g_strcmp0 (peas_plugin_info_get_module_name (info), "rb") != 0) {
1628
peas_engine_load_plugin (shell->priv->plugin_engine, info);
1632
rb_profile_end ("loading plugins");
1560
1635
static gboolean
1561
1636
_scan_idle (RBShell *shell)
1595
1673
/* initialize shell services */
1596
1674
construct_widgets (shell);
1598
rb_debug ("shell: adding gconf notification");
1600
shell->priv->sidepane_visibility_notify_id =
1601
eel_gconf_notification_add (CONF_UI_SIDEPANE_HIDDEN,
1602
(GConfClientNotifyFunc) sidepane_visibility_changed_cb,
1604
shell->priv->toolbar_visibility_notify_id =
1605
eel_gconf_notification_add (CONF_UI_TOOLBAR_HIDDEN,
1606
(GConfClientNotifyFunc) toolbar_state_changed_cb,
1608
shell->priv->toolbar_style_notify_id =
1609
eel_gconf_notification_add (CONF_UI_TOOLBAR_STYLE,
1610
(GConfClientNotifyFunc) toolbar_state_changed_cb,
1612
shell->priv->smalldisplay_notify_id =
1613
eel_gconf_notification_add (CONF_UI_SMALL_DISPLAY,
1614
(GConfClientNotifyFunc) smalldisplay_changed_cb,
1617
/* read the cached copies of the gconf keys */
1618
shell->priv->window_width = eel_gconf_get_integer (CONF_STATE_WINDOW_WIDTH);
1619
shell->priv->window_height = eel_gconf_get_integer (CONF_STATE_WINDOW_HEIGHT);
1620
shell->priv->small_width = eel_gconf_get_integer (CONF_STATE_SMALL_WIDTH);
1621
shell->priv->window_maximised = eel_gconf_get_boolean (CONF_STATE_WINDOW_MAXIMIZED);
1622
shell->priv->window_small = eel_gconf_get_boolean (CONF_UI_SMALL_DISPLAY);
1623
shell->priv->queue_as_sidebar = eel_gconf_get_boolean (CONF_UI_QUEUE_AS_SIDEBAR);
1624
shell->priv->window_x = eel_gconf_get_integer (CONF_STATE_WINDOW_X_POSITION);
1625
shell->priv->window_y = eel_gconf_get_integer (CONF_STATE_WINDOW_Y_POSITION);
1626
shell->priv->paned_position = eel_gconf_get_integer (CONF_STATE_PANED_POSITION);
1627
shell->priv->right_paned_position = eel_gconf_get_integer (CONF_STATE_RIGHT_PANED_POSITION);
1628
shell->priv->display_page_tree_height = eel_gconf_get_integer (CONF_STATE_SOURCELIST_HEIGHT);
1629
shell->priv->statusbar_hidden = eel_gconf_get_boolean (CONF_UI_STATUSBAR_HIDDEN);
1631
rb_debug ("shell: syncing with gconf");
1632
rb_shell_sync_sidepane_visibility (shell);
1676
g_signal_connect_object (shell->priv->settings, "changed", G_CALLBACK (settings_changed_cb), shell, 0);
1678
action = gtk_action_group_get_action (shell->priv->actiongroup, "ViewSidePane");
1679
g_settings_bind (shell->priv->settings, "display-page-tree-visible",
1681
G_SETTINGS_BIND_DEFAULT);
1682
g_settings_bind (shell->priv->settings, "display-page-tree-visible",
1683
shell->priv->sidebar_container, "visible",
1684
G_SETTINGS_BIND_DEFAULT);
1686
action = gtk_action_group_get_action (shell->priv->actiongroup, "ViewToolbar");
1687
g_settings_bind (shell->priv->settings, "toolbar-visible",
1689
G_SETTINGS_BIND_DEFAULT);
1691
rb_debug ("shell: syncing with settings");
1633
1692
rb_shell_sync_pane_visibility (shell);
1635
1694
g_signal_connect_object (G_OBJECT (shell->priv->db), "save-error",
1666
1724
rb_debug ("shell: syncing window state");
1667
1725
rb_shell_sync_paned (shell);
1669
/* Do as if we ran the first time druid */
1670
if (!eel_gconf_get_boolean (CONF_FIRST_TIME))
1671
eel_gconf_set_boolean (CONF_FIRST_TIME, TRUE);
1673
1727
/* set initial visibility */
1674
1728
rb_shell_set_visibility (shell, TRUE, TRUE);
1676
1730
gdk_notify_startup_complete ();
1678
1732
/* focus play if small, the entry view if not */
1679
if (shell->priv->window_small) {
1733
if (g_settings_get_boolean (shell->priv->settings, "small-display")) {
1680
1734
GtkWidget *play_button;
1682
1736
play_button = gtk_ui_manager_get_widget (shell->priv->ui_manager, "/ToolBar/Play");
1788
1842
rb_profile_end ("changing shell visibility");
1846
sync_window_settings (GSettings *settings, RBShell *shell)
1853
gtk_window_get_size (GTK_WINDOW (shell->priv->window), &width, &height);
1854
if (g_settings_get_boolean (shell->priv->settings, "small-display")) {
1855
if (width != g_settings_get_int (shell->priv->settings, "small-width")) {
1856
rb_debug ("storing small window width of %d", width);
1857
g_settings_set_int (shell->priv->settings, "small-width", width);
1860
int oldwidth, oldheight;
1862
g_settings_get (shell->priv->settings, "size", "(ii)", &oldwidth, &oldheight);
1863
if ((width != oldwidth) || (height != oldheight)) {
1864
rb_debug ("storing window size of %d:%d", width, height);
1865
g_settings_set (shell->priv->settings, "size", "(ii)", width, height);
1869
gtk_window_get_position (GTK_WINDOW(shell->priv->window), &x, &y);
1870
g_settings_get (shell->priv->settings, "position", "(ii)", &oldx, &oldy);
1871
if ((x != oldx) || (y != oldy)) {
1872
rb_debug ("storing window position of %d:%d", x, y);
1873
g_settings_set (shell->priv->settings, "position", "(ii)", x, y);
1876
pos = gtk_paned_get_position (GTK_PANED (shell->priv->paned));
1877
rb_debug ("paned position %d", pos);
1879
if (pos != g_settings_get_int (shell->priv->settings, "paned-position")) {
1880
g_settings_set_int (shell->priv->settings, "paned-position", pos);
1883
pos = gtk_paned_get_position (GTK_PANED (shell->priv->right_paned));
1884
rb_debug ("right_paned position %d", pos);
1886
if (pos != g_settings_get_int (shell->priv->settings, "right-paned-position")) {
1887
g_settings_set_int (shell->priv->settings, "right-paned-position", pos);
1890
pos = gtk_paned_get_position (GTK_PANED (shell->priv->queue_paned));
1891
rb_debug ("sidebar paned position %d", pos);
1893
if (pos != g_settings_get_int (shell->priv->settings, "display-page-tree-height")) {
1894
g_settings_set_int (shell->priv->settings, "display-page-tree-height", pos);
1791
1898
static gboolean
1792
1899
rb_shell_window_configure_cb (GtkWidget *win,
1793
1900
GdkEventConfigure *event,
1794
1901
RBShell *shell)
1796
if (shell->priv->window_maximised || shell->priv->iconified)
1903
if (g_settings_get_boolean (shell->priv->settings, "maximized") || shell->priv->iconified)
1799
if (shell->priv->window_small) {
1800
rb_debug ("storing small window width of %d", event->width);
1801
shell->priv->small_width = event->width;
1802
eel_gconf_set_integer (CONF_STATE_SMALL_WIDTH, event->width);
1804
rb_debug ("storing window size of %d:%d", event->width, event->height);
1805
shell->priv->window_width = event->width;
1806
shell->priv->window_height = event->height;
1807
eel_gconf_set_integer (CONF_STATE_WINDOW_WIDTH, event->width);
1808
eel_gconf_set_integer (CONF_STATE_WINDOW_HEIGHT, event->height);
1811
gtk_window_get_position (GTK_WINDOW(shell->priv->window),
1812
&shell->priv->window_x,
1813
&shell->priv->window_y);
1814
rb_debug ("storing window position of %d:%d",
1815
shell->priv->window_x,
1816
shell->priv->window_y);
1818
eel_gconf_set_integer (CONF_STATE_WINDOW_X_POSITION, shell->priv->window_x);
1819
eel_gconf_set_integer (CONF_STATE_WINDOW_Y_POSITION, shell->priv->window_y);
1906
rb_settings_delayed_sync (shell->priv->settings,
1907
(RBDelayedSyncFunc) sync_window_settings,
1908
g_object_ref (shell),
1866
1955
gboolean dont_maximise)
1868
1957
GdkGeometry hints;
1870
1960
rb_profile_start ("syncing window state");
1872
if (shell->priv->window_small) {
1962
if (g_settings_get_boolean (shell->priv->settings, "small-display")) {
1965
width = g_settings_get_int (shell->priv->settings, "small-width");
1873
1966
hints.min_height = -1;
1874
1967
hints.min_width = -1;
1875
1968
hints.max_height = -1;
1876
1969
hints.max_width = 3000;
1877
gtk_window_set_default_size (GTK_WINDOW (shell->priv->window),
1878
shell->priv->small_width, 0);
1879
gtk_window_resize (GTK_WINDOW (shell->priv->window),
1880
shell->priv->small_width, 1);
1970
gtk_window_set_default_size (GTK_WINDOW (shell->priv->window), width, 0);
1971
gtk_window_resize (GTK_WINDOW (shell->priv->window), width, 1);
1881
1972
gtk_window_set_geometry_hints (GTK_WINDOW (shell->priv->window),
1884
1975
GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE);
1885
1976
gtk_window_unmaximize (GTK_WINDOW (shell->priv->window));
1886
rb_debug ("syncing small window width to %d", shell->priv->small_width);
1977
rb_debug ("syncing small window width to %d", width);
1888
1980
if (!dont_maximise) {
1889
if (shell->priv->window_maximised)
1981
if (g_settings_get_boolean (shell->priv->settings, "maximized"))
1890
1982
gtk_window_maximize (GTK_WINDOW (shell->priv->window));
1892
1984
gtk_window_unmaximize (GTK_WINDOW (shell->priv->window));
1895
gtk_window_set_default_size (GTK_WINDOW (shell->priv->window),
1896
shell->priv->window_width,
1897
shell->priv->window_height);
1898
gtk_window_resize (GTK_WINDOW (shell->priv->window),
1899
shell->priv->window_width,
1900
shell->priv->window_height);
1987
g_settings_get (shell->priv->settings, "size", "(ii)", &width, &height);
1989
gtk_window_set_default_size (GTK_WINDOW (shell->priv->window), width, height);
1990
gtk_window_resize (GTK_WINDOW (shell->priv->window), width, height);
1901
1991
gtk_window_set_geometry_hints (GTK_WINDOW (shell->priv->window),
1907
gtk_window_move (GTK_WINDOW (shell->priv->window),
1908
shell->priv->window_x,
1909
shell->priv->window_y);
1997
g_settings_get (shell->priv->settings, "position", "(ii)", &x, &y);
1998
gtk_window_move (GTK_WINDOW (shell->priv->window), x, y);
1910
1999
rb_profile_end ("syncing window state");
2305
2377
shell->priv->last_small_time = time.tv_sec;
2307
shell->priv->window_small = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
2308
eel_gconf_set_boolean (CONF_UI_SMALL_DISPLAY, shell->priv->window_small);
2379
g_settings_set_boolean (shell->priv->settings,
2381
gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)));
2312
2385
rb_shell_view_statusbar_changed_cb (GtkAction *action,
2313
2386
RBShell *shell)
2315
shell->priv->statusbar_hidden = !gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action));
2316
eel_gconf_set_boolean (CONF_UI_STATUSBAR_HIDDEN, shell->priv->statusbar_hidden);
2388
g_settings_set_boolean (shell->priv->settings,
2390
!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)));
2318
2392
rb_shell_sync_statusbar_visibility (shell);
2677
rb_shell_sync_sidepane_visibility (RBShell *shell)
2682
visible = !eel_gconf_get_boolean (CONF_UI_SIDEPANE_HIDDEN);
2685
gtk_widget_show (GTK_WIDGET (shell->priv->sidebar_container));
2687
gtk_widget_hide (GTK_WIDGET (shell->priv->sidebar_container));
2690
action = gtk_action_group_get_action (shell->priv->actiongroup,
2692
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action),
2697
2765
rb_shell_sync_pane_visibility (RBShell *shell)
2699
2767
GtkAction *action;
2768
gboolean queue_as_sidebar = g_settings_get_boolean (shell->priv->settings, "queue-as-sidebar");
2701
2770
if (shell->priv->queue_source != NULL) {
2702
g_object_set (shell->priv->queue_source, "visibility", !shell->priv->queue_as_sidebar, NULL);
2771
g_object_set (shell->priv->queue_source, "visibility", !queue_as_sidebar, NULL);
2705
if (shell->priv->queue_as_sidebar) {
2774
if (queue_as_sidebar) {
2706
2775
gtk_widget_show (shell->priv->queue_sidebar);
2708
2777
gtk_widget_hide (shell->priv->queue_sidebar);
2711
2780
action = gtk_action_group_get_action (shell->priv->actiongroup,
2712
2781
"ViewQueueAsSidebar");
2713
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action),
2714
shell->priv->queue_as_sidebar);
2782
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), queue_as_sidebar);
2718
2786
rb_shell_sync_toolbar_state (RBShell *shell)
2720
2788
GtkWidget *toolbar;
2723
2789
guint toolbar_style;
2725
visible = !eel_gconf_get_boolean (CONF_UI_TOOLBAR_HIDDEN);
2727
2791
toolbar = gtk_ui_manager_get_widget (shell->priv->ui_manager, "/ToolBar");
2729
gtk_widget_show (toolbar);
2731
gtk_widget_hide (toolbar);
2733
action = gtk_action_group_get_action (shell->priv->actiongroup,
2735
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action),
2738
2793
/* icons-only in small mode */
2739
if (shell->priv->window_small)
2794
if (g_settings_get_boolean (shell->priv->settings, "small-display"))
2740
2795
toolbar_style = 3;
2742
toolbar_style = eel_gconf_get_integer (CONF_UI_TOOLBAR_STYLE);
2797
toolbar_style = g_settings_get_int (shell->priv->settings, "toolbar-style");
2744
2799
switch (toolbar_style) {
2874
2929
gboolean visible;
2875
2930
GtkAction *action;
2877
visible = !shell->priv->statusbar_hidden;
2932
visible = !g_settings_get_boolean (shell->priv->settings, "statusbar-hidden");
2879
2934
action = gtk_action_group_get_action (shell->priv->actiongroup, "ViewStatusbar");
2880
2935
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), visible);
2882
2937
gtk_widget_set_visible (GTK_WIDGET (shell->priv->statusbar),
2883
visible && !shell->priv->window_small);
2887
sidepane_visibility_changed_cb (GConfClient *client,
2892
rb_debug ("sidepane visibility changed");
2893
rb_shell_sync_sidepane_visibility (shell);
2897
toolbar_state_changed_cb (GConfClient *client,
2902
rb_debug ("toolbar state changed");
2903
rb_shell_sync_toolbar_state (shell);
2907
smalldisplay_changed_cb (GConfClient *client,
2912
rb_debug ("small display mode changed");
2913
shell->priv->window_small = eel_gconf_get_boolean (CONF_UI_SMALL_DISPLAY);
2914
rb_shell_sync_smalldisplay (shell);
2938
visible && !g_settings_get_boolean (shell->priv->settings, "small-display"));
2942
settings_changed_cb (GSettings *settings, const char *key, RBShell *shell)
2944
if (g_strcmp0 (key, "toolbar-style") == 0) {
2945
rb_debug ("toolbar state changed");
2946
rb_shell_sync_toolbar_state (shell);
2947
} else if (g_strcmp0 (key, "small-display") == 0) {
2948
rb_debug ("small display mode changed");
2949
rb_shell_sync_smalldisplay (shell);
2918
2954
rb_shell_sync_paned (RBShell *shell)
2920
2956
gtk_paned_set_position (GTK_PANED (shell->priv->right_paned),
2921
shell->priv->right_paned_position);
2957
g_settings_get_int (shell->priv->settings, "right-paned-position"));
2922
2958
gtk_paned_set_position (GTK_PANED (shell->priv->paned),
2923
shell->priv->paned_position);
2959
g_settings_get_int (shell->priv->settings, "paned-position"));
2924
2960
gtk_paned_set_position (GTK_PANED (shell->priv->queue_paned),
2925
shell->priv->display_page_tree_height);
2961
g_settings_get_int (shell->priv->settings, "display-page-tree-height"));
2930
2966
GtkAllocation *allocation,
2931
2967
RBShell *shell)
2933
shell->priv->paned_position = gtk_paned_get_position (GTK_PANED (shell->priv->paned));
2934
shell->priv->right_paned_position = gtk_paned_get_position (GTK_PANED (shell->priv->right_paned));
2935
rb_debug ("paned position %d", shell->priv->paned_position);
2936
rb_debug ("right_paned position %d", shell->priv->right_paned_position);
2937
eel_gconf_set_integer (CONF_STATE_PANED_POSITION, shell->priv->paned_position);
2938
eel_gconf_set_integer (CONF_STATE_RIGHT_PANED_POSITION, shell->priv->right_paned_position);
2942
sidebar_paned_size_allocate_cb (GtkWidget *widget,
2943
GtkAllocation *allocation,
2946
shell->priv->display_page_tree_height = gtk_paned_get_position (GTK_PANED (shell->priv->queue_paned));
2947
rb_debug ("sidebar paned position %d", shell->priv->display_page_tree_height);
2948
eel_gconf_set_integer (CONF_STATE_SOURCELIST_HEIGHT, shell->priv->display_page_tree_height);
2969
rb_settings_delayed_sync (shell->priv->settings,
2970
(RBDelayedSyncFunc) sync_window_settings,
2971
g_object_ref (shell),