summaryrefslogtreecommitdiffstats
path: root/client/x11/platform.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'client/x11/platform.cpp')
-rw-r--r--client/x11/platform.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/client/x11/platform.cpp b/client/x11/platform.cpp
index 8292d44f..cc1502bd 100644
--- a/client/x11/platform.cpp
+++ b/client/x11/platform.cpp
@@ -778,6 +778,11 @@ DynamicScreen::DynamicScreen(Display* display, int screen, int& next_mon_id)
platform_win = XCreateSimpleWindow(display, RootWindow(display, screen), 0, 0, 1, 1, 0, 0, 0);
XSelectInput(display, platform_win, StructureNotifyMask);
XRRSelectInput(display, platform_win, RRScreenChangeNotifyMask);
+
+ Monitor::self_monitors_change++;
+ process_monitor_configure_events(platform_win);
+ Monitor::self_monitors_change--;
+
XPlatform::set_win_proc(platform_win, root_win_proc);
intern_clipboard_atoms();
X_DEBUG_SYNC(display);
@@ -1046,6 +1051,11 @@ MultyMonScreen::MultyMonScreen(Display* display, int screen, int& next_mon_id)
X_DEBUG_SYNC(get_display());
intern_clipboard_atoms();
XPlatform::set_win_proc(root_window, root_win_proc);
+
+ XMonitor::inc_change_ref();
+ process_monitor_configure_events(root_window);
+ XMonitor::dec_change_ref();
+
X_DEBUG_SYNC(get_display());
//
//platform_win = XCreateSimpleWindow(display, RootWindow(display, screen), 0, 0, 1, 1, 0, 0, 0);