2009-11-13 47 views

回答

4

您一定要使用python-wnck(對於文檔,您可能需要查找python-gnome-extras或Perl綁定,或只是簡單的C文檔)。寫WNCK是爲了方便查看屏幕,工作區和窗口。像這樣的東西:

import pygtk 
pygtk.require('2.0') 
import gtk 
import wnck 

screen = wnck.screen_get_default() 
while gtk.events_pending(): 
    gtk.main_iteration() 

windows = screen.get_windows() 
for w in windows: 
    if w.get_name() == 'foo': 
     w.close(0) 

...但我沒有測試過它。

(同樣,這將不會是GNOME特有的。它適用於任何桌面環境。)

+0

我測試了這個,它工作,+1 – 2009-11-13 19:34:55

4

偉大的東西jleedev,這裏有一個小調整,以scriptify它並使用模式匹配的窗口。

#!/usr/bin/python 

import pygtk 
pygtk.require('2.0') 
import gtk 
import wnck 
import re 
import sys 

if(len(sys.argv) < 2): 
    print 'A regex pattern is required to match window titles' 
    print 'Usage: wkill <regex>' 
    sys.exit(1) 

screen = wnck.screen_get_default() 
while gtk.events_pending(): 
    gtk.main_iteration() 

titlePattern = re.compile(sys.argv[1]) 

windows = screen.get_windows() 
for w in windows: 
    if titlePattern.match(w.get_name()): 
    print "Closing window - ", w.get_name() 
    w.close(0) 
相關問題