It seems the initial mouseread can be missed when starting a 'bandsize' thus we lose the initial state of the buttons/etc. It fixes the problem reported in the [9fans] rio buglet post atleast. Reference: /n/sources/patch/applied/rio-dontmiss-mouseevent Date: Tue Aug 15 17:10:12 CES 2006 --- /sys/src/cmd/rio/rio.c Tue Aug 15 17:04:41 2006 +++ /sys/src/cmd/rio/rio.c Tue Aug 15 17:04:35 2006 @@ -960,7 +960,7 @@ int which, but; p = mouse->xy; - + but = mouse->buttons; which = whichcorner(w, p); p = cornerpt(w->screenr, p, which); wmovemouse(w, p); @@ -969,7 +969,7 @@ drawborder(r, 1); or = r; startp = p; - but = mouse->buttons; + while(mouse->buttons == but){ p = onscreen(mouse->xy); r = whichrect(w->screenr, p, which);