8 votes

Quelle est la fenêtre sur laquelle porte l'attention ?

J'aimerais savoir (par programme) quelle fenêtre a le focus actuel. Existe-t-il un moyen indépendant du gestionnaire de fenêtres pour le découvrir ?

Sinon, comment déterminer quelle fenêtre a le focus dans Compiz ou Metacity ?

6voto

Jeff Atwood Points 8468

Ce que vous voulez, c'est libwnck (si vous n'êtes intéressé que par Windows) ou libbamf (si vous vous intéressez à Windows et aux applications qui en font partie).

4voto

frabjous Points 5842

Vous pouvez également utiliser xdotool :

xdotool getwindowfocus

renverrait l'ID de la fenêtre focalisée, et :

xdotool getwindowfocus getwindowname

vous donnerait son nom.

4voto

akazuko Points 205

Essayez d'utiliser la librairie wnck et utilisez ensuite ce code :

import wnck
import gtk

while True:
if __name__ == '__main__':
    screen = wnck.screen_get_default()
    screen.force_update()
    while True:
        while gtk.events_pending():
            gtk.main_iteration()
        #time.sleep(0.5)
        print screen.get_active_window().get_name()

3voto

Matthew Schinckel Points 15596

Si vous êtes heureux de faire un peu de programmation X11, alors l'application EWMH spec est ce que vous recherchez - en particulier FENÊTRE ACTIVE DU RÉSEAU .

2voto

Mufaka Points 54

Si vous pouvez envoyer un message au Shell :

xdpyinfo | grep focus

Il devrait fonctionner.

Edit : Pour un résultat un peu plus propre, essayez ceci :

xdpyinfo | grep -Eo 'window 0x[^,]+' | cut -d" " -f2

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X