Post by b***@bcs.orgA quick question to Chris Johnson about !Snapper. Can it be made to
snap the entirety of a window that is partially off the current
screen?
For example, I used Martin Würthner's !DiscSpace to examine a
directory's use of space, and its output is a rather long window
only part of which is on screen at any moment. I wanted to snap
the whole window in one go, but I don't think Snapper can do it.
Is that just inevitable?
I am afraid it is. It uses a sprite op to grab the specified part of
the visible screen. If part of the window is off screen, then it
cannot be grabbed (the wimp will not be redrawing the offscreen part
anyway).
It is something that has been discussed in the distant past (user
postings and David and myself). It originally was raised as a way to
grab complete web pages (longer than the screen) in one go. What
would be required would be seriously hacky.
Possibilities:
1) Ask the task to redraw its whole window in to a buffer which could
then be copied or obtained by Snapper. Requires the task to be fully
cooperative - have its own code, and in any case Snapper would be
superfluous if the task could do it itself.
2) Automate the manual long way. If the window was on-screen but not
full size, Snapper could (in some currently unknown way) snap the
visible part, force a scroll of the window by passing open_window
messages to the task, and snap again, repeating until there were
grabs for the whole window, Then the individual parts would need to
be stitched together.
3) Do something similar to 2, but using one of the virtual screen
apps and forcing the virtual screens to change. Stitching still
required.
In the words of the old country gentleman, when asked for directions
to wherever, he thought it would be better to start somewhere
completely different (ie not Snapper).
If anyone has any bright ideas, let us know.
--
Chris Johnson