Commit 001ba877 authored by Birte Kristina Friesel's avatar Birte Kristina Friesel
Browse files

Work around Xinerama Fuckups: Read screen number from XINERAMA_SCREEN env var

parent ceef46e7
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -5,6 +5,8 @@ git HEAD
    * Short option -Y for --hide-pointer
    * Panning via keys: Make it behave like scrolling (inverted directions)
    * Patch by Live Smith: Add --action-hold-slide option
    * Workaround for Xinerama fuckups: Set XINERAMA_SCREEN to the correct
      xinerama screen number

Tue, 24 Aug 2010 19:23:36 +0200  Daniel Friesel <derf@chaosdorf.de>

+4 −1
Original line number Diff line number Diff line
@@ -55,6 +55,9 @@ void init_xinerama(void)
{
	if (opt.xinerama && XineramaIsActive(disp)) {
		int major, minor;
		if (getenv("XINERAMA_SCREEN"))
			xinerama_screen = atoi(getenv("XINERAMA_SCREEN"));
		else
			xinerama_screen = 0;
		XineramaQueryVersion(disp, &major, &minor);
		xinerama_screens = XineramaQueryScreens(disp, &num_xinerama_screens);
+3 −0
Original line number Diff line number Diff line
@@ -419,6 +419,9 @@ void feh_event_handle_keypress(XEvent * ev)
					break;
				}
			}
			if (getenv("XINERAMA_SCREEN"))
				curr_screen = xinerama_screen =
					atoi(getenv("XINERAMA_SCREEN"));
		}
#endif				/* HAVE_LIBXINERAMA */
		winwid->full_screen = !winwid->full_screen;
+3 −0
Original line number Diff line number Diff line
@@ -1258,6 +1258,9 @@ void feh_menu_cb_opt_fullscreen(feh_menu * m, feh_menu_item * i)
			}

		}
		if (getenv("XINERAMA_SCREEN"))
			curr_screen = xinerama_screen =
				atoi(getenv("XINERAMA_SCREEN"));
	}
#endif				/* HAVE_LIBXINERAMA */

+4 −0
Original line number Diff line number Diff line
@@ -158,6 +158,8 @@ void winwidget_create_window(winwidget ret, int w, int h)
		if (opt.xinerama && xinerama_screens) {
			w = xinerama_screens[xinerama_screen].width;
			h = xinerama_screens[xinerama_screen].height;
			x = xinerama_screens[xinerama_screen].x_org;
			y = xinerama_screens[xinerama_screen].y_org;
		}
#endif				/* HAVE_LIBXINERAMA */
	} else if (opt.geom_flags) {
@@ -779,6 +781,8 @@ void winwidget_resize(winwidget winwid, int w, int h)
				}

			}
			if (getenv("XINERAMA_SCREEN"))
				xinerama_screen = atoi(getenv("XINERAMA_SCREEN"));
		}
#endif				/* HAVE_LIBXINERAMA */