From e59d2032566214a418a3f3f545b4d26c7de270b9 Mon Sep 17 00:00:00 2001 From: Nikos Tsipinakis Date: Thu, 20 Aug 2020 13:48:32 +0300 Subject: [PATCH] Fix monitor setting overriding follow_mode Ignore the monitor setting if it's set to a non-zero value and the follow mode isn't none. Fixes #755 --- src/x11/screen.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/x11/screen.c b/src/x11/screen.c index ac7123b..25b7384 100644 --- a/src/x11/screen.c +++ b/src/x11/screen.c @@ -304,21 +304,22 @@ struct screen_info *get_active_screen(void) { int ret = 0; bool force_follow_mouse = false; - if (settings.monitor > 0 && settings.monitor < screens_len) { - ret = settings.monitor; - goto sc_cleanup; - } - - x_follow_setup_error_handler(); if (settings.f_mode == FOLLOW_NONE) { - ret = XDefaultScreen(xctx.dpy); - goto sc_cleanup; + if (settings.monitor >= 0 && settings.monitor < screens_len) { + ret = settings.monitor; + } else { + ret = XDefaultScreen(xctx.dpy); + } + goto sc_cleanup; } else { int x, y; assert(settings.f_mode == FOLLOW_MOUSE || settings.f_mode == FOLLOW_KEYBOARD); + + x_follow_setup_error_handler(); + Window root = RootWindow(xctx.dpy, DefaultScreen(xctx.dpy));