Jeff Newmiller wrote:
I detest programs designed to behave this way... from "helpful" cpu status
displays to "Did you really want to quit this program?" dialog boxes to
"Your Windows resources are running low" to "We are backing up your
data... please wait" dialog boxes... they all suffer from either hubris or
programmers who couldn't handle multitasking. Please stop trying to take
control away from the users ... there has to be a way to avoid this
unfriendly behavior in your software ... be creative and find it.
I appreciate your comments. Let me explain a little bit more about my
problem. I am helping with a 3D visualization add-on (octaviz, built on
VTK) for a numerical math package (octave). Octave typically runs as a
command-line interpreter in a shell window. Graphing commands (and now
visualization commands) generate new windows that contain
graphs/graphics. 2D plots can be exported in some vectorized format, of
course. The 3D visualizations, however, are complex, opengl rendered
objects with mouse interaction to rotate, zoom, etc. Image "snapshots"
of the windows are often the only way to get a desired export of the
visualization. There are functions in VTK to do just this, but the
rendered window MUST be on top to work; otherwise, it exports whatever
screen image is over the top of the VTK window. And yes, I do consider
this to be a feature problem in VTK, but I do not have the technical
expertise nor time to make changes to VTK.
So... a quick and easy fix for me is to force the window on top before
my export command saves the window as an image. I did spend all weekend
looking through Xlib programming docs to see if I could get around this
some way, for example by keeping the window data in memory when it is
covered up. Another option is off-screen rendering, but that path isn't
If anyone has further suggestions, I would be happy to hear them. For
now I /try/ to bring the window to the top and have a warning in the
user docs about this.
vox-tech mailing list