Je cours gnome et ai un programme qui engendre un grand nombre de processus séparés chacun avec sa propre fenêtre de GUI. J'aimerais pouvoir sélectionner de manière sélective les fenêtres ouvertes dont les titres correspondent à un certain modèle pour les fermer. Quelqu'un sait-il un moyen de le faire facilement?Comment puis-je saisir toutes les fenêtres avec un certain mot dans leurs titres?
2
A
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.)
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
- 1. Suivi des fenêtres ouvertes et de leurs titres
- 2. Comment saisir toutes les variables dans un message (PHP)
- 3. comment remplacer toutes les occurrences d'un mot dans une chaîne avec un autre mot dans java?
- 4. Comment énumérer toutes les fenêtres d'un processus?
- 5. Enregistrer toutes les fenêtres/onglets dans GVim
- 6. Comment obtenir la liste de toutes les procédures stockées et leurs paramètres en commençant par un certain préfixe?
- 7. Méthode plus efficace pour saisir toutes les unités enfants
- 8. Comment puis-je saisir toutes les valeurs d'un menu JQuery?
- 9. Comment fermer toutes les fenêtres d'outils Dans VS2008 avec un seul raccourci clavier?
- 10. Minimisation toutes les fenêtres ouvertes en C#
- 11. Obtenir toutes les valeurs lucene qui ont un certain fieldName
- 12. Comment puis-je tester avec un certain mot est un lien ou non avec le concombre?
- 13. Comment recharger toutes les fenêtres vim en même temps?
- 14. Comment fermer toutes les fenêtres ouvertes de mon programme C#?
- 15. JQuery sélectionner toutes les lignes contenant un certain texte dans un td dans la ligne
- 16. Option dans diff pour afficher les différences dans les lignes qui incluent un certain mot
- 17. comment fermer toutes les fenêtres que Selenium ouvre?
- 18. Comment entrer les chiffres à un certain nombre
- 19. Saisir récursivement toutes les données en fonction d'un ID parent
- 20. Bouton "Afficher le mot de passe". Comment cloner un objet avec toutes les propriétés
- 21. Drupal: affiche les titres
- 22. Silverlight - Saisir toutes les informations de liaison des éléments dans un stree visuel donné?
- 23. comment rechercher un certain mot dans un fichier texte en java
- 24. Win API: Accrocher toutes les fenêtres ou l'exécution de processus
- 25. Comment supprimer des éléments de tableau avec des clés égales à un certain mot en PHP?
- 26. Comment saisir les tags correctement?
- 27. Comment saisir un caractère spécial dans cmd?
- 28. Comment extraire le texte d'ancrage de lien avec un certain mot-clé d'une chaîne
- 29. Comment afficher automatiquement toutes les propriétés d'une classe et leurs valeurs dans une chaîne?
- 30. Boîte de message devant toutes les fenêtres de l'application console?
J'ai testé cela et cela fonctionne, +1 –