commit ab9caa789e9b2ec8d13cc0a808b4c5370679b293
parent a3a6dd6c9f9a6aedb40095098cc197c54c078bf2
Author: Kris Maglione <jg@suckless.org>
Date: Fri, 2 Oct 2009 13:35:18 -0400
Ammend revision 4f25c2d56107. Fixes issue #124.
Diffstat:
1 file changed, 5 insertions(+), 14 deletions(-)
diff --git a/cmd/wmii/xext.c b/cmd/wmii/xext.c
@@ -47,27 +47,15 @@ xext_event(XEvent *e) {
}
static void
-randr_applyrotation(int rotation, int width, int height) {
- if(rotation+90 % 180)
- scr.rect = Rect(0, 0, width, height);
- else
- scr.rect = Rect(0, 0, height, width);
-}
-
-static void
randr_init(void) {
int errorbase, major, minor;
- Rotation rotation;
have_RandR = XRRQueryExtension(display, &randr_eventbase, &errorbase);
if(have_RandR)
if(XRRQueryVersion(display, &major, &minor) && major < 1)
have_RandR = false;
- if(have_RandR) {
+ if(have_RandR)
XRRSelectInput(display, scr.root.xid, RRScreenChangeNotifyMask);
- XRRRotations(display, scr.screen, &rotation);
- randr_applyrotation(rotation, Dx(scr.rect), Dy(scr.rect));
- }
}
static bool
@@ -80,7 +68,10 @@ static void
randr_screenchange(XRRScreenChangeNotifyEvent *ev) {
XRRUpdateConfiguration((XEvent*)ev);
- randr_applyrotation(ev->rotation, ev->width, ev->height);
+ if(ev->rotation*90 % 180)
+ scr.rect = Rect(0, 0, ev->width, ev->height);
+ else
+ scr.rect = Rect(0, 0, ev->height, ev->width);
init_screens();
}