XWindows - how capture window ?
Valery Reznic
valery_reznic at yahoo.com
Sun Feb 21 22:39:40 IST 2010
--- On Sun, 2/21/10, ik <idokan at gmail.com> wrote:
> From: ik <idokan at gmail.com>
> Subject: Re: XWindows - how capture window ?
> To: "Valery Reznic" <valery_reznic at yahoo.com>
> Cc: "linux-il." <linux-il at cs.huji.ac.il>
> Date: Sunday, February 21, 2010, 10:25 PM
> If you know the exact
> position and dimension of the window, it's really easy
> to capture it.
Yes, I know it window's geometry is 640x480+0+0
>
> There are two ways to capture a window:
> 1. access it's canvas
> 2. capture a rectangle in the exact position of the
> window
>
>
>
> It takes about 5 minutes to write such progem when I use
> Lazarus, you do not even need to create a visual application
> for it.
There is a ready program to capture any windows - grabsc.
The trouble is Xserver don't render window unless it appears on screen,
and I don't want this window visible.
Valery
>
> Ido
>
> On Sat, Feb 20, 2010 at 22:13,
> Valery Reznic <valery_reznic at yahoo.com>
> wrote:
>
>
> Hi all.
>
>
>
> I faced following problem:
>
> I have X-Windows application. It has a lot of different
> functions and buttons.
>
>
>
> When one of those buttons is pressed applications open a
> window
>
> This window has a lot of different widgets inside (labels,
> pixmaps, buttons, etc)
>
>
>
> I need to capture this windows and save it content to the
> file.
>
> It's not that hard - xgrabsc program do all the work.
>
>
>
> But what is hard (at least hard for me :) is to capture
> content of this window, without it appearing on the screen.
>
>
>
> I have source of this application, and can change it as I
> like.
>
> The trouble is unless windows actually appears on the
> screen, xserver don't bother to draw it.
>
>
>
> My screen is 640x480 I tried to create window with offset
> 641 and 481 - i.e off screen. It doesn't work. I.e
> window created and grabbed by xgrabsc, but it's content
> is garbage.
>
> When offse is 400and 400 then part of the window appears on
> the screen and part not.
>
> After grabbing this window I saw, that part that appears on
> screen looks OK, but other part is garbage.
>
>
>
> I also tried to use XComoposite extension - without any
> success.
>
>
>
> Application is very, very ancient. It was written withusing
> Xlib functions and Xt toolkit - hardly more.
>
>
>
> Also application uses XSHM extension, i.e solution
> don't have be "network-aware" - anyway this
> application doomed to work only locally by this extension.
>
>
>
> I by no mean X expert, may be I missed something obvious
> with XComposite
>
> or just missed something
>
>
>
> Do you have any ideas, how can I render this window off
> screen and capture it's content ?
>
>
>
> Valery.
>
>
>
>
>
>
>
>
>
> _______________________________________________
>
> Linux-il mailing list
>
> Linux-il at cs.huji.ac.il
>
> http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il
>
>
>
>
More information about the Linux-il
mailing list