[英]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.