diff options
author | oga <oga> | 2008-09-22 14:15:03 +0000 |
---|---|---|
committer | oga <oga> | 2008-09-22 14:15:03 +0000 |
commit | 61601991b5151be7500cf7581b303b7f12ddb905 (patch) | |
tree | e5947cccefbe32d49130a7a8c80c7d808853988b /calmwm.c | |
parent | a0082c58a4a95d05f452cfa3da7eaf4e1eb17dba (diff) | |
download | cwm-61601991b5151be7500cf7581b303b7f12ddb905.tar.gz cwm-61601991b5151be7500cf7581b303b7f12ddb905.tar.xz cwm-61601991b5151be7500cf7581b303b7f12ddb905.zip |
Display the current window title not a previous one in the case of
``show all'' in the window search dialogue. Noticed and diff from Tim van der Molen, thanks!
Diffstat (limited to 'calmwm.c')
-rw-r--r-- | calmwm.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/calmwm.c b/calmwm.c index c64035d..446ed17 100644 --- a/calmwm.c +++ b/calmwm.c @@ -36,6 +36,7 @@ u_int Nscreens; struct client_ctx_q Clientq; int Doshape, Shape_ev; +int HasXinerama, HasRandr, Randr_ev; int Starting; struct conf Conf; @@ -121,6 +122,8 @@ dpy_init(const char *dpyname) Doshape = XShapeQueryExtension(X_Dpy, &Shape_ev, &i); + HasRandr = XRRQueryExtension(X_Dpy, &Randr_ev, &i); + TAILQ_INIT(&Screenq); } @@ -133,7 +136,7 @@ x_setup(void) Nscreens = ScreenCount(X_Dpy); for (i = 0; i < (int)Nscreens; i++) { - XMALLOC(sc, struct screen_ctx); + XCALLOC(sc, struct screen_ctx); x_setupscreen(sc, i); TAILQ_INSERT_TAIL(&Screenq, sc, entry); } @@ -161,6 +164,7 @@ x_setupscreen(struct screen_ctx *sc, u_int which) Window *wins, w0, w1; XWindowAttributes winattr; XSetWindowAttributes rootattr; + int fake; u_int nwins, i; Curscreen = sc; @@ -246,6 +250,18 @@ x_setupscreen(struct screen_ctx *sc, u_int which) XChangeWindowAttributes(X_Dpy, sc->rootwin, CWEventMask, &rootattr); + 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); return; |