Comment 44 for bug 885989

Revision history for this message
Alberts Muktupāvels (muktupavels) wrote :

I have nvidia card with connected 3 monitors configurated as separate x screens.

Without patched nautilus:
1) I have white background on second and third screen.
2) All nautilus windows opens on primary/first screen

With patched nautilus:
1) Background is ok on all screens. (this patch is included in merge proposal)
2) I can open nautilus window on any screen. (this patch is NOT included in merge proposal)

Patch to allow open nautilus window on any screen is simple. It works by creating new instance of nautilus when opening on other screen. Patch is available here - https://bugzilla.gnome.org/show_bug.cgi?id=705317

Added these lines to nautilus_desktop_background_constructor function in libnautilus-private/nautilus-desktop-background.c
-----
GdkScreen *screen = gtk_widget_get_screen(singleton->details->widget);
g_printerr("Desktop background constructed for screen: %i\n", gdk_screen_get_number(screen));
----
and these lines to nautilus_application_new function in src/nautilus-application.c
----
g_printerr("Application id: %s\n", application_id);
----

* Builded new packages and installed them. Opened terminal on all screens.
* Killed nautilus running - killall nautilus. Opened System Monitor to see that nautilus is not running anymore.
* Opened nautilus on first screen from terminal. Now there is one running instance for first screen with application id 'org.gnome.Nautilus.Display_0_0'. Background object is contructed only once for each screen.
--
Application id: org.gnome.Nautilus.Display_0_0
Desktop background constructed for screen: 0
Desktop background constructed for screen: 1
Desktop background constructed for screen: 2
--
* Opened nautilus on next screen from terminal. Now there is two instances of nautilus. In terminal is printed only line with application id. Lines from background constructor is NOT printed, so even running new instance nautilus is NOT creating new objects for background.
--
Application id: org.gnome.Nautilus.Display_0_2
--
* Opened on tird screen. Some thing as in previus point.
--
Application id: org.gnome.Nautilus.Display_0_1
--
* Killed all nautilus instances and opened first nautilus from other screen.
--
Application id: org.gnome.Nautilus.Display_0_1
Desktop background constructed for screen: 0
Desktop background constructed for screen: 1
Desktop background constructed for screen: 2
--

So what tests are needed to approve patch?

It works! There is no problems, no regressions or anything like that. This bug is almost two years old and is not fixed because of stupid reason - 'seems a bit simple to me'.