[GRASS-dev] discussion: replacing ps.map

Glynn Clements glynn at gclements.plus.com
Fri Mar 30 01:03:28 EDT 2007


Hamish wrote:

> long standing annoyance:
> 
> if you resize an xmon by dragging the window edge (yes, this was bad for
> some reason, use GRASS_WIDTH,...) and you change it by more than 2
> pixels, it redraws everything in the monitor twice. ie in the fraction
> of a second it was changed by 1 pixel it started to redraw, then waits
> until it finishes rendering all layers before figuring out the window
> size has changed again and it needs to rescale and start again. This
> ends up taking a long time if you have a big complicated display.
> 
> Is there a way for it to check if the window size (ie scaling value) has
> changed between mapping commands, or perhaps after rendering each 100
> rows of a raster map or (100) features in a vector map?

Not easily.

The redraw is performed by a child process. The child can't read X
events (because that would interfere with the main process), and the
parent doesn't know what the child is up to.

The parent could just kill any existing child process rather than wait
for it to finish, but that probably won't interrupt the active d.*
command, and may have undesirable side effects.

The easiest solution is to configure your WM to disable continuous
resize for XDRIVER windows.

-- 
Glynn Clements <glynn at gclements.plus.com>




More information about the grass-dev mailing list