summary refs log tree commit diff
path: root/xevents.c
diff options
context:
space:
mode:
authoroga <oga>2008-09-22 14:15:03 +0000
committeroga <oga>2008-09-22 14:15:03 +0000
commit61601991b5151be7500cf7581b303b7f12ddb905 (patch)
treee5947cccefbe32d49130a7a8c80c7d808853988b /xevents.c
parenta0082c58a4a95d05f452cfa3da7eaf4e1eb17dba (diff)
downloadcwm-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 'xevents.c')
-rw-r--r--xevents.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/xevents.c b/xevents.c
index 274af43..dd8de77 100644
--- a/xevents.c
+++ b/xevents.c
@@ -375,6 +375,22 @@ xev_handle_shape(struct xevent *xev, XEvent *ee)
 		client_do_shape(cc);
 }
 
+void
+xev_handle_randr(struct xevent *xev, XEvent *ee)
+{
+	XRRScreenChangeNotifyEvent	*rev = (XRRScreenChangeNotifyEvent *)ee;
+	struct client_ctx		*cc;
+	struct screen_ctx		*sc;
+
+	if ((cc = client_find(rev->window)) != NULL) {
+		XRRUpdateConfiguration(ee);
+		sc = CCTOSC(cc);
+		sc->xmax = rev->width;
+		sc->ymax = rev->height;
+		screen_init_xinerama(sc);
+	}
+}
+
 /* 
  * Called when the keymap has changed.
  * Ungrab all keys, reload keymap and then regrab
@@ -525,6 +541,8 @@ xev_loop(void)
 		default:
 			if (e.type == Shape_ev)
 				xev_handle_shape(xev, &e);
+			else if (e.type == Randr_ev)
+				xev_handle_randr(xev, &e);
 			break;
 		}