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'.
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 get_screen( singleton- >details- >widget) ; get_number( screen) ); application_ new function in src/nautilus- application. c "Application id: %s\n", application_id);
-----
GdkScreen *screen = gtk_widget_
g_printerr("Desktop background constructed for screen: %i\n", gdk_screen_
----
and these lines to nautilus_
----
g_printerr(
----
* Builded new packages and installed them. Opened terminal on all screens. Nautilus. Display_ 0_0'. Background object is contructed only once for each screen. Nautilus. Display_ 0_0 Nautilus. Display_ 0_2 Nautilus. Display_ 0_1 Nautilus. Display_ 0_1
* 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.
--
Application id: org.gnome.
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.
--
* Opened on tird screen. Some thing as in previus point.
--
Application id: org.gnome.
--
* Killed all nautilus instances and opened first nautilus from other screen.
--
Application id: org.gnome.
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'.