sowm: resize optimization

This commit is contained in:
Dylan Araps 2019-10-15 23:44:04 +03:00
parent d271e266e6
commit f19fd045a8
No known key found for this signature in database
GPG Key ID: 46D62DD9F1DE636E

16
sowm.c
View File

@ -164,13 +164,11 @@ void notify_enter(XEvent *e) {
There's no use in computing each and every event as we
only really care about the newest one.
The window is then moved or resized and finally its
fullscreen value is reset to '0' (False).
The window is then moved or resized.
*/
void notify_motion(XEvent *e) {
client *c;
if (mouse.subwindow == None) return;
if (mouse.subwindow != None) {
int xd = e->xbutton.x_root - mouse.x_root;
int yd = e->xbutton.y_root - mouse.y_root;
@ -181,9 +179,6 @@ void notify_motion(XEvent *e) {
attr.y + (mouse.button == 1 ? yd : 0),
attr.width + (mouse.button == 3 ? xd : 0),
attr.height + (mouse.button == 3 ? yd : 0));
for WIN if (c->w == mouse.subwindow) c->f = 0;
}
}
/*
@ -240,8 +235,15 @@ void button_press(XEvent *e) {
/*
On a mouse button release we simply unset the 'mouse' global
as all of this mouse pointer nonsense is done.
We also reset the current window's fullscreen state as it is
no longer at 0,0+[screen_width]X[screen_height].
*/
void button_release() {
client *c;
for WIN if (c->w == mouse.subwindow) c->f = 0;
mouse.subwindow = None;
}