2021年3月29日月曜日

WnckとPythonを使用してアクティブなウインドウが変わるまで待機する

WnckとPythonを使用してアクティブなウインドウが変わるまで待機するには、以下のサンプルコードのようにデフォルトスクリーンを取得後、force_updateを実行して、active-window-changedシグナルに対応する関数に関連付けます。

サンプルコード

以下のサンプルコードを保存・実行します。
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('Wnck', '3.0')
from gi.repository import Gtk, Wnck

screen = Wnck.Screen.get_default()
screen.force_update()

def active_window_changed(screen, window):
  print("active-window-changed:{}".format(window.get_name()))
  Gtk.main_quit()

screen.connect("active-window-changed", active_window_changed)
Gtk.main()

・動作確認環境
Ubuntu 20.04/Raspberry Pi OS(Raspbian Buster)

Wnckのインストール方法

以下のコマンドを実行します。
sudo apt-get -y install python3-gi gir1.2-wnck-3.0

関連項目

WnckとPythonでのワークスペース・ウインドウの情報取得・操作まとめ

0 件のコメント:

コメントを投稿