この質問 に関して以前に尋ねたGnome-DoポップアップウィンドウのXプロパティを確認する必要があります。問題は、Gnome-Doウィンドウがフォーカスを失うとすぐに閉じるため、ターミナルにフォーカスを変更してxprop
を実行できないことです。私がインターネットで見続ける答えは次のとおりです。
sleep 5; xprop
次に、Gnome-Doウィンドウを開き、xprop
が開始するのを待ちます。それは賢いようですが、単に機能しません:
$睡眠5; xprop xprop:エラー:マウスをつかめません。
xwininfo
についても同じことが言えます:
$睡眠5; xwininfo xwininfo:そのウィンドウで マウスをクリックして、情報が必要なウィンドウを選択してください。 xwininfo:エラー:マウスをつかむことができません。
また、Awesome WMでMod+R
ショートカットを使用してxprop
を実行しようとしましたが、Gnome-Doウィンドウが開いている間はショートカットが機能しません。検索ボックスにrを入力するだけです。
これ以上のアイデアはありません。どうすればいいですか?
以下のスクリプトを実行すると、最前面のウィンドウでxprop
コマンドの出力(xprop -root
コマンドの実行)が10秒間(または設定した他の時間)記録されます。その後、時間が経過した後、出力をファイルに書き込みます:outfile.txt
スクリプトが終了するまでGnome-Do
ウィンドウをアクティブにしておくと、最後のレコードがGnome-Do
ウィンドウに対応していることを確認できます。
outfile =
、absolute pathを使用します)。 record_xprop.py
として保存します次のコマンドでスクリプトを開始します。
python3 /path/to/record_xprop.py
Gnome-Do
ウィンドウ(またはデータが必要な他のアプリケーション)を呼び出します。
xprop -root
コマンドの5倍の出力が点線で区切られて表示されます。さらに時間が必要な場合は、行の「5」を変更します。
while t < 5:
必要な他の値に
#!/usr/bin/env python3
import subprocess
import time
outfile = "/home/jacob/Bureaublad/outfile.txt"
data = []; t = 0
while t < 5:
data.append(subprocess.check_output(["/bin/bash", "-c", "xprop -root"]).decode("utf-8"))
time.sleep(2)
t = t + 1
with open(outfile, "wt") as out:
for rec in data:
out.write(rec+"\n"+"-"*20+"\n\n")
何らかの理由でこれが機能しない場合(xprop
で認識されるように、ウィンドウは最前面ではないようです)、wmctrl -l
コマンドで同じトリックを行うことができます(xprop -root
をwmctrl -l
(スクリプト内)、最初に名前でウィンドウを識別するため。
完了したら、-name
オプションを指定してxprop
を再度実行し、必要な情報を取得します:xprop -name <windowname>
両方のコマンドについて、sleep
コマンドを実行するか、さらに時間が必要な場合はスクリプトを再度実行します。
ジェイコブはコメントでそれを得ました!
sleep 1; wmctrl -l
コマンド、Gnome-Doを開くと、次の出力が得られました。
0x00e000b9 0 bonus-debian Do
Gnome-Doウィンドウの名前が表示されます。次に、名前を使用してxpropのウィンドウを識別できます。
sleep 1; xprop -name "Do"
それは私が後になっていた出力を私に与えました:
$スリープ1; xprop -name "Do" WM_STATE(WM_STATE): ウィンドウ状態:撤回 アイコンウィンドウ:0x0 GDK_TIMESTAMP_PROP(GDK_TIMESTAMP_PROP)= 0x61 _NET_WM_SYNC_REQUEST_COUNTER(CARDINAL)= 14680093 _ XEMBED_INFO(_XEMBED_INFO)= 0x1、0x1 _ NET_WM_USER_TIME_WINDOW(WINDOW):ウィンドウID#0xe00004 DER_WIND 。] _ NET_WM_PID(CARDINAL)= 6708 WM_LOCALE_NAME(STRING)= "en_US.UTF-8" WM_CLIENT_MACHINE(STRING)= "bonus-debian" WM_NORMAL_HINTS(WM_SIZE_HINTS): プログラムが指定した最小サイズ:19 x 19 ウィンドウの重力:NorthWest WM_PROTOCOLS(ATOM):プロトコルWM_DELETE_WINDOW、WM_TAKE_FOCUS、_NET_WM_PING、_NET_WM_SYNC_REQUEST WM_CLASS(STRING)= "Do"、 "Do" WM_ICON_NAME(STRING)= "Do" _ NET_WM_ICON_NAME(UTF8_STRING)= "Do" WM_NAME(STRING)= "Do" _NET_WM_NAME(UTF8_STRING)=「する」