現在開いているすべてのウィンドウのリストを取得し、Pythonから上部にある(つまりアクティブな)ウィンドウを確認する方法はありますか?
これはUbuntuLinuxでGnomeを使用しています。
wnckはこれを行う可能性があるように見えますが、ドキュメントが非常に不足しています。
現在開いているすべてのウィンドウのリストを取得し、Pythonから上部にある(つまりアクティブな)ウィンドウを確認する方法はありますか?
これはUbuntuLinuxでGnomeを使用しています。
wnckはこれを行う可能性があるように見えますが、ドキュメントが非常に不足しています。
これは、現在廃止されているPyGTKメソッドの代わりに最新のGObjectIntrospectionライブラリを使用した同じコードです。JoshLeeが投稿しました。
from gi.repository import Gtk, Wnck
Gtk.init([]) # necessary if not using a Gtk.main() loop
screen = Wnck.Screen.get_default()
screen.force_update() # recommended per Wnck documentation
window_list = screen.get_windows()
active_window = screen.get_active_window()
ドキュメントについては、Libwnckリファレンスマニュアルを確認してください。gir
これはPythonに固有のものではありませんが、GObject Introspectionを使用することの全体的なポイントは、バインディングのおかげで、すべての言語で同じAPIを使用することです。
wnck
また、Ubuntuには両方とそれに対応するバインディングが付属してgir
いますが、それらをインストールする必要がある場合は次のようになります。
sudo apt-get install libwnck-3-* gir1.2-wnck-3.0
これもインストールされます。これは必須ではありませんが、 DevHelplibwnck-3-dev
を使用して読むことができる便利なドキュメントをインストールします。
import wnck
screen = wnck.screen_get_default()
window_list = screen.get_windows()
active_window = screen.get_active_window()
ドキュメントの「 Xでアクティブなウィンドウタイトルを取得する」および「WnckScreen 」も参照してください。wnckを含む他の質問には、有用なコードサンプルがあります。