2021年4月2日金曜日

WnckとPythonを使用してウインドウの位置が変わるまで待機する

WnckとPythonを使用してウインドウの位置が変わるまで待機するには、以下のサンプルコードのようにデフォルトスクリーンを取得後、force_updateを実行して、geometry-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 geometry_changed(window):
  print("geometry-changed:{}".format(window.get_name()))
  Gtk.main_quit()

screen.get_active_window().connect("geometry-changed", geometry_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 件のコメント:

コメントを投稿