Sorry - The last post is a manual technique, but the OP appears to want an unattended scriptable solution.
|
Quote:
|
The problem is that when window is in another workspace, it's not displayed so its pixels are not in current display memory. At this point no screenshot can be made until you switch to the workspace when window resides and the pixel are drawn to the screen
|
Quote:
|
Data content yes but to get a graphical view you have to draw lines, colors, points etc on screen
I mean screenshot programs don't draw from evaluated data, they copy screen pixels in a file |
Screen capture programs assume that they need to access the active buffer.
So in my dual monitor setup I can access the active buffer on the alternate display. With a single screen, the only method that I can conceive that could create an alternative active buffer would be to use Xnest to create a second Xserver. I have played with Xnest, but cannot offer any advice for this use case. |
Another idea would be to put the window temporarly in the same workspace but under a background image which would give the illusion of a non visible window
|
Just got this to work on my little netbook.
I started a nested session running Windowmaker with Code:
exec xinit /usr/bin/wmaker -- /usr/bin/Xephyr :1 -screen 1000x500 Code:
import -display ':1.0' -window 0x1000013 ~/Desktop/wsnapshot.png |
Quote:
|
1 Attachment(s)
From my quick testing, it does not work the opposite way unless the window to be captured is in the same workspace.
I can do Code:
import -display :1 -window 0xe00013 ~/Desktop/test1.png but Code:
import -display :0 -window 0x2200058 ~/Desktop/test2.png The attached screenshot may clarify. |
@FlinchX, just curious did you try the commands in post #2 ?
|
Quote:
|
No problem, I was wondering if it could work (not having the possibility to test it myself)
|
Quote:
Code:
$ wmctrl -i -r 0x01800003 -b add,sticky |
Ok, it's seems dwm doesn't support sticky feature. I was worth a try though
And what about (say window is on workspace 2 and you work on workspace 1 Code:
wmctrl -i -r <window id> -t 1 |
All times are GMT -5. The time now is 09:18 AM. |