Package: nautilus / 3.14.1-2

Metadata

Package Version Patches format
nautilus 3.14.1-2 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
01_fix new window manage desktop.patch | (download)

src/nautilus-application.c | 12 6 + 6 - 0 !
1 file changed, 6 insertions(+), 6 deletions(-)

 nautilus-application: don't trigger activate signal for -n option

Until now we were using --no-default-window in cases when we wanted to
manage the icons on the desktop, which is the most common use case of
this setting.

The problems were:
- When using --no-default-window for the first inscante, the user
couldn't open a new window of nautilus, since the only window allowed
was the desktop one in the first instance. The code was just early
returning in activate if the private setting of the instance is set.
- When using --no-default-window for the consecutive instances after
starting nautilus without --no-default-window it was creating a new
window anyway, since the first instance doesn't have the setting set in
its private and the second instance was just calling the activate of the
first instance. For instance that was happening when the user
activate/deactivate the show-desktop-icons gsetting, since the
nautilus-autostart desktop file was running nautilus
--no-default-window, but the first instance was a instance withouth the
--no-default-window.

So the solution for both cases is avoiding calling activate if the
--no-default-window is an arggument, instead of a private setting of the
instance.
To avoid calling activate we can return a value less than 0 to the
GApplication in the handle_local_options function. So if the
--no-default-window is passed as an argument, we just skip the activate
call.
Since when launching consecutive instances they take care of its own
handle_local_options they can skip as well the activate call redirected
to the first instance.

Big thanks to Ray Strode for discussion, debugging and base of this
patch, and Debarshy Ray for discussion and debugging.

https://bugzilla.gnome.org/show_bug.cgi?id=737515