2009-11-13 3 views

Répondre

4

Vous voulez certainement utiliser python-wnck (pour la documentation, vous pourriez avoir besoin de chercher python-gnome-extras, ou les liaisons Perl, ou tout simplement la documentation C ordinaire). WNCK est écrit pour le rendre facile à regarder les écrans, les espaces de travail et les fenêtres. Quelque chose comme ceci:

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) 

... mais je ne l'ai pas testé.

(De plus, ce ne sera pas. GNOME spécifique Il fonctionne avec tout environnement de bureau.)

+0

J'ai testé cela et cela fonctionne, +1 –

4

Grande jleedev stuff, voici un tweak mineur à scriptify il et utiliser un modèle pour correspondre aux fenêtres.

#!/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) 
Questions connexes