簡體   English   中英

從Python發現Gnome / Linux / Ubuntu上哪些窗口處於活動狀態?

[英]Discover what window is active on Gnome/Linux/Ubuntu from Python?

有沒有辦法獲得目前打開的所有窗口的列表,看看哪個窗口在頂部(即活動?)來自Python?

這是在Ubuntu Linux上使用Gnome。

wnck看起來可能會這樣做,但它在文檔中非常缺乏。

以下是使用現代GObject Introspection庫的相同代碼,而不是現在棄用的PyGTK方法Josh Lee發布的:

from gi.repository import Gtk, Wnck

Gtk.init([])  # necessary if not using a Gtk.main() loop
screen = Wnck.Screen.get_default()
screen.force_update()  # recommended per Wnck documentation

window_list = screen.get_windows()
active_window = screen.get_active_window()

至於文檔,請查看Libwnck參考手冊 它不是特定於python,但是使用GObject Introspection的重點是在所有語言中使用相同的API,這要歸功於gir綁定。

此外,Ubuntu附帶了wnck及其相應的gir綁定開箱即用,但如果你需要安裝它們:

sudo apt-get install libwnck-3-* gir1.2-wnck-3.0

這也將安裝libwnck-3-dev ,這不是必需的,但會安裝你可以使用DevHelp讀取的有用文檔

import wnck
screen = wnck.screen_get_default()
window_list = screen.get_windows()
active_window = screen.get_active_window()

另請參閱X中的獲取活動窗口標題和文檔中的WnckScreen。 包含wnck的其他問題包含有用的代碼示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM