Hi Peter, 2008/8/20 Peter Hartlich <[EMAIL PROTECTED]>: > In resize(), dwm tries to check, with the condition c->mina > (float) h/w, > if a window's aspect is less than its stated minimum aspect. Since mina > and h/w are not actually aspects but their reciprocals, the > sign needs > to be a <. (Try it with mplayer.)
Yes this is a bug. I will apply your portions regarding this. > Is there a reason though for mina being y/x ratio instead of x/y, maybe > some tricky floating point accuracy business? If not, I'd suggest changing > the aspect code along the lines of the patch attached. The only reason I can imagine is, that y < x usually, so I'd rather keep this for the mina. > Another problem is that in case of a window with a min size and no base > size, basew/baseh is set to the value of minw/minh. Unfortunately, the > ICCCM (4.1.2.3*, last two sentences) forbids subtracting the min size > before aspect ratio calculation. This skews calculating the aspect for > mplayer windows (4x4 min size) a little. I'm not sure how to fix it though > without turning the code into a mess... > > * http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.3 Hmm, I might have overlooked this, however I'm rather confident that most other WMs do it similiarly. I will add a check if minw == basew && minh == baseh to prevent the subtraction in this corner case. Kind regards, --Anselm
