2009-04-17 10 views
3

Comment trouver le nom du gestionnaire de fenêtres X Window en cours d'exécution à partir d'un programme?Trouver le nom du gestionnaire de fenêtres X

Si je démarre un autre gestionnaire de fenêtres alors que celui-ci est déjà en cours d'exécution, une erreur se produit. L'autre gestionnaire de fenêtres doit donc pouvoir détecter le premier.

Comment ça marche?

+1

pourquoi auriez-vous besoin que l'information de toute façon? Un programme X ne devrait pas avoir à se soucier de savoir quel gestionnaire de fenêtres est affiché. – lothar

Répondre

1

Vous pouvez trouver un "atome" qui a l'information, mais je ne pense pas qu'il y ait une garantie à 100% que tous les gestionnaires de fenêtres utilisent le même atome. Faites un "xlsatoms" pour lister les atomes sur votre serveur, ou "xprop" (et cliquez) pour voir les propriétés (y compris les atomes et leurs valeurs) d'une fenêtre particulière.

8

Par le EWMH spec, un gestionnaire de fenêtres conforme définira la propriété _NET_SUPPORTING_WM_CHECK sur la fenêtre racine à un ID de fenêtre.

Si la propriété _NET_SUPPORTING_WM_CHECK existe et contient l'ID d'une fenêtre existante, un gestionnaire de fenêtres compatible ICCCM2.0 est en cours d'exécution. Si la propriété existe mais ne contient pas l'ID d'une fenêtre existante, un gestionnaire de fenêtres compatible ICCCM2.0 a été supprimé sans nettoyage approprié. Si la propriété n'existe pas, aucun gestionnaire de fenêtres compatible ICCCM2.0 n'est en cours d'exécution.

Cette fenêtre (pas la fenêtre racine, mais celle qui est décrite par une propriété sur la fenêtre racine) doit avoir une propriété sur _NET_WM_NAME, ce qui est ce que vous recherchez.

3

La commande wmctrl peut afficher des informations sur de nombreux EWMH/NetWM compatibles avec les gestionnaires de fenêtres X, y compris leurs noms:

$ wmctrl -m 
Name: Compiz 
... 

Accroding à its Wikipedia page, il travaille avec les gestionnaires de fenêtres suivantes à l'heure actuelle (août 2012) :

  • blackbox> = 0,70
  • icewm
  • kwin (WM par défaut pour K DE)
  • metacity (le WM par défaut pour GNOME)
  • openbox> = 3 (le WM par défaut pour Lubuntu)
  • sawfish
  • fvwm> = 2,5
  • waimea
  • pekwm
  • illumination > = 0.16.6
  • xfce> = 4
  • fluxbox> = 0.9.6
  • fabricant de fenêtre Matchbox
  • > = 0,91
  • compiz
  • impressionnant
  • wmfs