非アクティブウィンドウのスクリーンショットを撮るには? 2つのウィンドウがある場合は、バックグラウンドで実行されているウィンドウのスクリーンショットをキャプチャしたいと思います。
答え1
以前の回答とコメントを詳しく説明すると、非アクティブウィンドウ(完全にまたは部分的に隠されているなど)のスクリーンショットをキャプチャする機能は、ウィンドウマネージャによって異なります。
次の(与えられた)コマンドを使用してください。
import -window <windowid> image.png
または
xwd -id <windowid> | convert xwd:- image.png
( -
of はconvert
パイプの標準入力を使用してxwd:
入力形式を通知するために使用されます)啓発(e17、Fedora 19でテスト)次のスクリーンショットをキャプチャしてください。
- 完全にまたは部分的に隠されたウィンドウ。
- ウィンドウを最小化します。
- 別のワークスペースのWindows。
確認しましたアンボクシング(同じ構成)とケード(以前のScientific Linux 4.8および最新バージョンの使用ImageMagick
(例:コンパイルは本当に素晴らしいです...))そして、どちらの場合も、スクリーンショットはディスプレイレイヤーの上にあるものだけを示しています。つまり、すでに画面に表示されているものだけが表示されます。表示されます。
要点は、import
コマンドが返されたフィールドを確認し、map_state
そうでない場合はエラーを返すことです。たとえば、次のコマンドを使用して確認できます。XGetWindowAttributes
IsViewable
map_state
xwininfo -id <windowid> | grep 'Map State'
IsViewable
常にe17の下にあるようで、IsUnMapped
ウィンドウが最小化されると、openboxとKDEの下にあります。
他のWMを使用してウィンドウが部分的に復元されたとき、なぜe17のスクリーンショットが常にきれいなのかはわかりませんが、他のウィンドウと混在しますが、明らかにWMが表示を処理する方法に関連しているようです。
とにかく、これは明らかにWMの問題です。 WMが隠されたウィンドウのスクリーンショットを撮ることができるものとないもののリストがあれば良いでしょう。私はそうしません。
答え2
「非アクティブ」とはどういう意味ですか? 「フォーカスなし」または「他のウィンドウに隠されている」?最初の場合、gimpは問題なくこれを行います(ファイル - >作成 - >スクリーンショット)。 2番目のケースでは(可能であれば)より困難です。
答え3
for i in `xprop -root|grep "_NET_CLIENT_LIST_STACKING(WINDOW): window id" |tr '#' ','|tr ',' '\n'| grep 0x`;do xwininfo -id $i|grep "Window ID" ;完了
上記の方法を使用してWindows IDを取得できました。そして使用
ウィチャット情報ウィンドウのラベルや名前、タイトルを検索する機能。
答え4
kdeのソリューション
システム設定 - >ディスプレイとモニター - >合成器 - >常にウィンドウサムネイルを維持する