state-changedに関連付けられた関数では、Wnck.WindowState.MAXIMIZED_HORIZONTALLYフラグまたはMAXIMIZED_VERTICALLYフラグが立っているかをチェックします。
サンプルコード
以下のサンプルコードを保存・実行します。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 state_changed(window, mask, state):
if state & Wnck.WindowState.MAXIMIZED_HORIZONTALLY or state & Wnck.WindowState.MAXIMIZED_VERTICALLY:
print("state-changed:maximized:{}".format(window.get_name()))
Gtk.main_quit()
screen.get_active_window().connect("state-changed", state_changed)
Gtk.main()
・動作確認環境
Ubuntu 20.04/Raspberry Pi OS(Raspbian Buster)
Wnckのインストール方法
以下のコマンドを実行します。sudo apt-get -y install python3-gi gir1.2-wnck-3.0
0 件のコメント:
コメントを投稿