2021年3月25日木曜日

WnckとPythonを使用して最小化しているウインドウを最小化解除する

WnckとPythonを使用して最小化しているウインドウを最小化解除するには、以下のサンプルコードのようにデフォルトスクリーンを取得後、force_updateを実行してget_windows()メソッドで全ウインドウを取得します。
その後、各ウインドウのis_minimized()メソッドで最初化判定を行い、unminimize()で最小化解除します。また、Raspberry PiのOpenboxでは、現在のデスクトップ画面(ワークスペース)でないと最小化解除できないようです。

サンプルコード

以下のサンプルコードを保存・実行します。
import time
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()
windows = screen.get_windows()
for window in windows:
  if window.is_minimized():
    window.unminimize(int(time.time()))

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

Wnckのインストール方法

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

関連項目

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

0 件のコメント:

コメントを投稿