]> source.dussan.org Git - tigervnc.git/commitdiff
Explicitly choose current monitor
authorHugo Lundin <hugo@lundin.dev>
Thu, 15 Jul 2021 11:32:19 +0000 (13:32 +0200)
committerHugo Lundin <hugo@lundin.dev>
Fri, 16 Jul 2021 14:09:46 +0000 (16:09 +0200)
There are no guarantees from the WM that calling `fullscreen_screens`
with all monitor indices set to `-1` results in the window's current
monitor being used. Because FullScreenMode uses the word "current"
we want to explicitly ask the WM to use that monitor.

vncviewer/DesktopWindow.cxx

index 0b957d39502bf37374607e1e7d4916298e6b02bf..0fe08707d3424422f5a05dbd18f3396a9b84f7d1 100644 (file)
@@ -885,9 +885,10 @@ void DesktopWindow::fullscreen_on()
   bool all_monitors = !strcasecmp(fullScreenMode, "all");
   bool selected_monitors = !strcasecmp(fullScreenMode, "selected");
 
-  if (not selected_monitors and not all_monitors)
-    fullscreen_screens(-1, -1, -1, -1);
-  else {
+  if (not selected_monitors and not all_monitors) {
+    int n = Fl::screen_num(x(), y(), w(), h());
+    fullscreen_screens(n, n, n, n);
+  } else {
     int top, bottom, left, right;
     int top_y, bottom_y, left_x, right_x;