<div dir="ltr">sorry i can not give you a solution, but i can give you a pointer.<br><br>composite window managers (i.e. compiz, baryl) work by drawing the original window off screen, then read it as a 2D picture, and render it back to the screen with certain effects.<br>

<br>So i know it is possible to grab an off screen window. I do not know however how to make it off screen.<br><br>There is an X Extension called XDamage, which reports changes on the window so you do not have to poll it for changes. These window managers use it.<br>

<br><br>well, thats my 2c,<br>hopes it helps,<br>erez.<br><br><div class="gmail_quote">On Sat, Feb 20, 2010 at 10:13 PM, Valery Reznic <span dir="ltr">&lt;<a href="mailto:valery_reznic@yahoo.com">valery_reznic@yahoo.com</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Hi all.<br>
<br>
I faced following problem:<br>
I have X-Windows application. It has a lot of different functions and buttons.<br>
<br>
When one of those buttons is pressed applications open a window<br>
This window has a lot of different widgets inside (labels, pixmaps, buttons, etc)<br>
<br>
I need to capture this windows and save it content to the file.<br>
It&#39;s not that hard - xgrabsc program do all the work.<br>
<br>
But what is hard (at least hard for me :) is to capture content of this window, without it appearing on the screen.<br>
<br>
I have source of this application, and can change it as I like.<br>
The trouble is unless windows actually appears on the screen, xserver don&#39;t bother to draw it.<br>
<br>
My screen is 640x480 I tried to create window with offset 641 and 481 - i.e off screen. It doesn&#39;t work. I.e window created and grabbed by xgrabsc, but it&#39;s content is garbage.<br>
When offse is 400and 400 then part of the window appears on the screen and part not.<br>
After grabbing this window I saw, that part that appears on screen looks OK, but other part is garbage.<br>
<br>
I also tried to use XComoposite extension - without any success.<br>
<br>
Application is very, very ancient. It was written withusing Xlib functions and Xt toolkit - hardly more.<br>
<br>
Also application uses XSHM extension, i.e solution don&#39;t have be &quot;network-aware&quot; - anyway this application doomed to work only locally by this extension.<br>
<br>
I by no mean X expert, may be I missed something obvious with XComposite<br>
or just missed something<br>
<br>
Do you have any ideas, how can I render this window off screen and capture it&#39;s content ?<br>
<br>
Valery.<br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
Linux-il mailing list<br>
<a href="mailto:Linux-il@cs.huji.ac.il">Linux-il@cs.huji.ac.il</a><br>
<a href="http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il" target="_blank">http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il</a><br>
</blockquote></div><br></div>