Gnomeでアクティブなウィンドウプロセス/タイトルを検索できますか?

Gnomeでアクティブなウィンドウプロセス/タイトルを検索できますか?

Gnome 2デスクトップで現在アクティブな(選択された)ウィンドウ情報を取得するには、ソリューションが必要です。私が最も興味を持っているのは、ウィンドウを実行するプロセスとウィンドウのタイトルです。

可能ですか?

解決策:

ウィンドウタイトルのインポート:

xwininfo -root -children | grep $(printf '%x\n' $(xdotool getwindowfocus)) | grep -oEi '"[^"]+"' | head -1

プロセス名を入手してください。

ps -e | grep $(xdotool getwindowpid $(xdotool getwindowfocus)) | grep -v grep | awk '{print $4}'

または:

cat /proc/$(xdotool getwindowpid $(xdotool getwindowfocus))/comm

答え1

それは簡単です:

xdotool getactivewindow getwindowname

幸運を祈り、それがあなたに効果があることを願っています!

答え2

あなたはそれを使用することができますxdoツール、多機能Xウィンドウ自動化ツールです。

focused_window_id=$(xdotool getwindowfocus)
active_window_id=$(xdotool getactivewindow)
active_window_pid=$(xdotool getwindowpid "$active_window_id")

(集中することと積極的にすることの違いが何なのかわかりません。)

(私の考えではコントロールパネルこれは可能ですが、明らかにそうではありません。 )

答え3

OPのソリューション(つまりpsgrepおよびなしawk)よりも簡単に(IMO)プロセス名を取得します。

cat /proc/$(xdotool getwindowpid $(xdotool getwindowfocus))/comm

または行末が必要な場合:

echo $(cat /proc/$(xdotool getwindowpid $(xdotool getwindowfocus))/comm)

答え4

xwininfoコマンドを試してください。http://www.xfree86.org/4.2.0/xwininfo.1.html、プロセスに関する限り、ウィンドウのタイトルを確実に返します。

それだけhttp://mail.gnome.org/archives/gtk-devel-list/2001-October/msg00238.htmlそれからこの記事を見直してください。http://www.mail-archive.com/[Eメール保護]/msg05809.html、著者はウィンドウIDをPIDに変換する短いCプログラムを書いた。

関連情報