* Mark Williams <[email protected]> [2011-02-24 17:22:03 -0800]:
> Definitely an edge case, but it's happened to me enough times that
> three possible fixes came to mind (listed in ascending preference):
> 
> 1) Put a note in the BUGS section of the man page that mentions that
i think this can be fixed

> 2) The bar gets cut off because configurenotify() expects updategeom()
> to return true only if the ConfigureEvent reports a change to the root
> window's dimensions.  While updategeom() does this correctly when
i don't quite understand why the reported width is not the
full display width there

> 3) Interestingly, the current code and the previous solution create a
> dc.drawable pixmap that's as wide as the aggregate horizontal
> resolution across all monitors.  That makes sense for the non-Xinerama
> code, where the bar stretches from monitor to monitor, but it doesn't
> when each has its own bar.  In the latter case the pixmap only has to
> be as wide as the largest monitor's horizontal resolution.  The second
this seems reasonable

i'd use a max-monitor-width global instead of dc.dw
(like sw and sh it's a display geometry related var,
not a dc internal)
imho updategeom shouldn't modify dc or if it does
then do all the work there (createpixmap, updatebars)

> Even though this happens because of other people's weak code, I think
> 3 (or 2) is the best solution since dwm itself seems to be making some
> incorrect assumptions; however, if the BUGS entry is the right
> solution I'll be happy to write the explanation.
thanks for looking into this


Reply via email to