0

Python で X 秒ごとにウィンドウ タイトルをチェックしたい - 今のところ大きな問題はなく、xprop のようなものがたくさん見つかりました。
ここでトリッキーな部分があります: ポインターの代わりに xprop -id [id] を使用すると、次のような2行または3行しか表示されません

_KDE_NET_WM_USER_CREATION_TIME(CARDINAL) = 24625202
SM_CLIENT_ID(STRING) = "1028c1d320b210000136266856800000015460035"
WM_CLIENT_LEADER(WINDOW): window id # 0x3a00004

それは私が他の場所で見たものではなく、私が必要としているものでもありません - どうすればそのタイトルを手に入れることができますか? これは設定ミスですか、それとも私がすべてにおいてひどく間違っているのでしょうか?

PS: 私は Fedora 18 を使用しています。

4

2 に答える 2

0

どちらの場合も同じウィンドウを選択すれば-id、マウス クリックとマウス クリックで同じプロパティ セットを取得できます。ウィンドウ ID を取得するには、 を使用してウィンドウをクリックします。xwininfo

取得しているプロパティのセットが小さいのは、単にリストが大きく、多くの空白行が含まれているためかもしれません。端末を上にスクロールしてみてください。

于 2013-03-08T09:27:10.537 に答える
0

使用xprop -name somewindowname ...すると、すべての情報が得られます。ただし、somewindownameを調べようとしている場合、その形式は役に立たない可能性があります。

ウィンドウ ID が 16 進数 (例: 0x04a27cf6) であると想定する別の方法は、数値を使用wmctrl -lして grep することです。たとえば、「xprop man page」というタイトルのウィンドウ 0x04a27cf6 を備えた私のマシン (tini) では、

wmctrl  -l | grep 0x04a27cf6

生産する

0x04a27cf6  4 tini xprop man page

tomas.styblo.nameおよびwikipediaで説明されているように、「wmctrl は、EWMH/NetWM 互換の X Window Manager と対話するための UNIX/Linux コマンド ライン ツールです」ことに注意してください。いくつかの Linux ディストリビューションのパッケージ マネージャーでインストールできます。

編集:xprop nmの回答を読んだ後、さらにテストを実行しました。昨日のテストでは、xprop -id 0x4a27cf71 行だけを出力し_NET_WM_USER_TIME(CARDINAL) = 440569797ました。「端末を上にスクロールする」という問題ではありませんでした。残念ながら、ウィンドウ 0x4a27cf7 はもう利用できません。nm の回答に示されているように、そのようなすべてのテストは正常に機能しているようです。たとえば、コマンドの後に

for i in $(wmctrl -l |tee w-wmctrl | cut -c-10); do xprop -id $i | grep ^WM_NAME; done > w-xprop

ファイルw-wmctrlw-xpropそれぞれに39行あり、並べて比較すると、diff -y w-*|less例外なく両方のファイルで同じ名前が表示されます。

于 2013-03-07T18:46:32.213 に答える