我正在運行gnome,並生成一個程序,它產生了大量獨立的進程,每個進程都有自己的gui窗口。我希望能夠選擇性地抓住標題與特定模式相匹配的打開的窗口來關閉它們。任何人都知道如何輕鬆做到這一點?我怎樣才能在他們的標題中抓住所有帶有特定單詞的窗口?
2
A
回答
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特有的。它適用於任何桌面環境。)
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)
相關問題
- 1. 我怎樣才能抓住括號內的特定字符串
- 2. 我怎樣才能發現所有具有特定標籤
- 3. 我怎樣才能抓住404?
- 4. X11:我怎樣才能真正抓住鼠標指針?
- 5. 我怎樣才能抓住背景的來源一個div
- 6. 困惑。我怎樣才能抓住返回的InputStream?
- 7. 我怎樣才能獲得特定列的所有單元格值
- 8. 我們怎樣才能劫持DLL鎖定窗口中的所有目錄來驗證
- 9. 我怎樣才能console.log父窗口?
- 10. 我怎樣才能刷新窗口
- 11. 我怎樣才能找到所有ydl_opts
- 12. 我怎樣才能使所有東西,但索引停止詞
- 13. 我怎樣才能綁定Enter鍵到我的Tkinter窗口
- 14. 我怎樣才能在標題高圖
- 15. WordPress的 - 我怎樣才能抓住在add_rewrite_rule中使用的帖子ID
- 16. 我們怎樣才能在Android 1.6的
- 17. 我們究竟怎樣才能到**所有碎片**
- 18. 我怎樣才能用RegEx抓住這個?
- 19. 我怎樣才能抓住字符|與正則表達式?
- 20. 我怎樣才能讓八度不抓住sigsegv?
- 21. IE10/Javascript +觸摸設備 - 我怎樣才能抓住雙擊?
- 22. 我怎樣才能抓住內部元素字符串
- 23. 我們怎樣才能在MongoDB中
- 24. 我怎樣才能得到用戶的所有記錄在特定類型
- 25. 我怎樣才能讓搜索引擎抓住我的數據,但沒有其他人?
- 26. 我怎樣才能讓一個DIV和隱藏所有其他
- 27. 我們怎樣才能引用文件的特定行?
- 28. 我怎樣才能在AS3中所有可用的打印機
- 29. 我怎樣才能看到在phpmyadimn表中的所有關係
- 30. 我怎樣才能UNION ALL在Access表中的所有列
我測試了這個,它工作,+1 – 2009-11-13 19:34:55