GNOME Bugzilla – Bug 746217
Nautilus Sidebar doesn't show/hide correctly
Last modified: 2015-06-05 07:20:46 UTC
Reproduce: Always 1. Open two Nautilus Windows 2. Press F9 to hide sidebar 2.1 Sidebar will be hidden from both 3. Open a new Nautilus Window 3.1 Sidebar will be visible on this window (not expected, since F9 and appMenu is global) 4. Press F9 to hide the sidebar in the new window Expected: Hide Sidebar Outcome: It shows the sidebar on the previous two instances.
Another reproduce: 1. Open a Nautilus Window 2. Hide sidebar (F9, or appMenu) 3. Create a new Nautilus Tab 4. Drag any of the two Tabs and create a new window Expected: The new window should have sidebar hidden Outcome: The new window has a visible sidebar
On Nautilus 3.14, sidebar visibility was per window, and not global.
Created attachment 299475 [details] [review] window: don't always make sidebar visible on new windows We are setting the sidebar as visible in the ui definition and binding this visibility to the disabled-chrome property (inversely) to prevent the sidebar from being visible in the desktop. But this also makes the sidebar visible in all new windows, ignoring both the state of the "Sidebar" toggle in the app menu and the start-with-sidebar setting. Fix this by setting the sidebar as not visible in the ui definition and removing the binding. The sidebar will be made visible if appropriate in the nautilus-window-initialize-actions function.
I'm not sure about the purpose of the binding. Is ok to simply remove it? Also, please feel free to correct errors in the commit message (either technical or textual).
*** Bug 748910 has been marked as a duplicate of this bug. ***
Review of attachment 299475 [details] [review]: The current nautilus code to deal with this is not the most clear one... Would you mind making it better instead of this patch? I can imagine a update_sidebar_visibility (sidebar) { get_action_state(); if (state == show && !disable chrome) gtk_widget_show() else gtk_widget_hide() } then connect to the action state change signal and update accordingly. If you feel like "meh" just commit this patch then.
pushed in 3.16 and master https://git.gnome.org/browse/nautilus/commit/?id=467c2eff5a227ab50223b93937e29835e06801c2
great!
this apparently landed in today's update of my distribution. Rocks! Many thanks!