2021年3月30日火曜日

WnckとPythonを使用してアクティブなワークスペースが変わるまで待機する

WnckとPythonを使用してアクティブなワークスペースが変わるまで待機するには、以下のサンプルコードのようにデフォルトスクリーンを取得後、force_updateを実行して、active-workspace-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_workspace_changed(screen, window):
  print("active-workspace-changed:{}".format(screen.get_active_workspace().get_name()))
  Gtk.main_quit()

screen.connect("active-workspace-changed", active_workspace_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 件のコメント:

コメントを投稿