Skip to content

Commit a7ba42d

Browse files
committed
Merge pull request #16 from mtwebster/monitors-changed
Added a listener for monitor configuration changes
2 parents fd6dd5d + a8ce4bc commit a7ba42d

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

src/nemo-application.c

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,6 @@ static void
562562
desktop_changed_callback (gpointer user_data)
563563
{
564564
NemoApplication *application;
565-
566565
application = NEMO_APPLICATION (user_data);
567566
if (g_settings_get_boolean (gnome_background_preferences, NEMO_PREFERENCES_SHOW_DESKTOP)) {
568567
nemo_application_open_desktop (application);
@@ -571,6 +570,17 @@ desktop_changed_callback (gpointer user_data)
571570
}
572571
}
573572

573+
static void
574+
monitors_changed_callback (GdkScreen *screen, NemoApplication *application)
575+
{
576+
if (g_settings_get_boolean (gnome_background_preferences, NEMO_PREFERENCES_SHOW_DESKTOP)) {
577+
nemo_application_close_desktop ();
578+
nemo_application_open_desktop (application);
579+
} else {
580+
nemo_application_close_desktop ();
581+
}
582+
}
583+
574584
static gboolean
575585
window_can_be_closed (NemoWindow *window)
576586
{
@@ -1046,6 +1056,8 @@ init_icons_and_styles (void)
10461056
static void
10471057
init_desktop (NemoApplication *self)
10481058
{
1059+
GdkScreen *screen;
1060+
screen = gdk_display_get_screen (gdk_display_get_default (), 0);
10491061
/* Initialize the desktop link monitor singleton */
10501062
nemo_desktop_link_monitor_get ();
10511063

@@ -1063,6 +1075,10 @@ init_desktop (NemoApplication *self)
10631075
g_signal_connect_swapped (gnome_background_preferences, "changed::" NEMO_PREFERENCES_SHOW_DESKTOP,
10641076
G_CALLBACK (desktop_changed_callback),
10651077
self);
1078+
1079+
g_signal_connect (screen, "monitors-changed",
1080+
G_CALLBACK (monitors_changed_callback),
1081+
self);
10661082
}
10671083

10681084
static gboolean

0 commit comments

Comments
 (0)