break;
case MotionNotify:
e->xmotion.state = modkeys_only_modifier_masks(e->xmotion.state);
+ /* compress events */
+ {
+ XEvent ce;
+ while (XCheckTypedWindowEvent(ob_display, e->xmotion.window,
+ e->type, &ce)) {
+ e->xmotion.x_root = ce.xmotion.x_root;
+ e->xmotion.y_root = ce.xmotion.y_root;
+ }
+ }
break;
}
}
}
} else if (msgtype == prop_atoms.net_number_of_desktops) {
guint d = e->xclient.data.l[0];
- if (d > 0)
+ if (d > 0 && d <= 1000)
screen_set_num_desktops(d);
} else if (msgtype == prop_atoms.net_showing_desktop) {
screen_show_desktop(e->xclient.data.l[0] != 0, NULL);