mirror of
https://github.com/leahneukirchen/cwm.git
synced 2023-08-10 21:13:12 +03:00
querying for Xinerama should be done per display, not per screen, so
move chuck to display init; allows some shuffling to occur limiting screen_init_xinerama()'s scope while keeping order intact.
This commit is contained in:
15
calmwm.c
15
calmwm.c
@ -97,7 +97,7 @@ main(int argc, char **argv)
|
||||
static void
|
||||
dpy_init(const char *dpyname)
|
||||
{
|
||||
int i;
|
||||
int i, fake;
|
||||
|
||||
XSetErrorHandler(x_errorhandler);
|
||||
|
||||
@ -110,6 +110,9 @@ dpy_init(const char *dpyname)
|
||||
XSync(X_Dpy, False);
|
||||
XSetErrorHandler(x_errorhandler);
|
||||
|
||||
if (XineramaQueryExtension(X_Dpy, &fake, &fake) == 1 &&
|
||||
((HasXinerama = XineramaIsActive(X_Dpy)) == 1))
|
||||
HasXinerama = 1;
|
||||
HasRandr = XRRQueryExtension(X_Dpy, &Randr_ev, &i);
|
||||
}
|
||||
|
||||
@ -157,7 +160,6 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
|
||||
Window *wins, w0, w1;
|
||||
XWindowAttributes winattr;
|
||||
XSetWindowAttributes rootattr;
|
||||
int fake;
|
||||
u_int nwins, i;
|
||||
|
||||
sc->which = which;
|
||||
@ -201,17 +203,8 @@ x_setupscreen(struct screen_ctx *sc, u_int which)
|
||||
|
||||
screen_updatestackingorder(sc);
|
||||
|
||||
if (XineramaQueryExtension(X_Dpy, &fake, &fake) == 1 &&
|
||||
((HasXinerama = XineramaIsActive(X_Dpy)) == 1))
|
||||
HasXinerama = 1;
|
||||
if (HasRandr)
|
||||
XRRSelectInput(X_Dpy, sc->rootwin, RRScreenChangeNotifyMask);
|
||||
/*
|
||||
* initial setup of xinerama screens, if we're using RandR then we'll
|
||||
* redo this whenever the screen changes since a CTRC may have been
|
||||
* added or removed
|
||||
*/
|
||||
screen_init_xinerama(sc);
|
||||
|
||||
XSync(X_Dpy, False);
|
||||
}
|
||||
|
Reference in New Issue
Block a user