L'outil de ligne de commande linux wmctrl
vous permet de lister toutes les fenêtres, ou tous les bureaux, entre autres. En mode de liste de postes de travail, le bureau actuel est marqué d'un astérisque.
J'ai besoin d'un outil capable de déterminer le titre de la fenêtre actuellement active. Malheureusement, wmctrl
aucun assistant ne le fait, même s'il sait quelle fenêtre est actuellement active (voir :ACTIVE:
marqueur).
Existe-t-il un autre outil en ligne de commande pouvant me donner l’identifiant et / ou le titre de la fenêtre de la fenêtre en cours?
linux
command-line
xorg
Dave Vogt
la source
la source
wmctrl
, vous pouvez faire :,wmctrl -i -r `xdotool getwindowfocus` -e 0,10,10,-1,-1
où-i
indique à wmctrl d'attendre l'id de la fenêtre plutôt que le titre de la fenêtre.Ceci est plus direct et utilise seulement
xprop
etcut
:Ces commandes sont simplement une extraction de propriétés de la fenêtre racine et de la fenêtre de l'application, mais selon la demande de Lorenzo von Matterhorn:
Première,
Extrait la
_NET_ACTIVE_WINDOW
propriété de la racine, ce qui vous donne le XID de la fenêtre active. Le32x '\t$0'
ditxprop
de formater la sortie d'une manière quicut
peut facilement analyser plus tard.Ensuite, extrayez seulement le XID de la sortie avec
cut -f 2
Ensuite, transmettez le XID en tant que paramètre à
Qui affiche le nom de cette fenêtre.
la source
Il y en a, mais pas de réponse courte ni de solution.
résultat:
Utilisé:
la source
C'est ce qui a fonctionné pour moi:
xprop -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d ' ' -f 5) WM_NAME
Donne:
WM_NAME(STRING) = "~"
Alors peut-être que vous feriez un peu la laideur pour obtenir le nom tout seul:
xprop -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d ' ' -f 5) WM_NAME | sed -e 's/.*"\(.*\)".*/\1/'
Donne:
~
Quel est mon nom de fenêtre actuellement ciblé, tout seul.
Ou, évitez sed avec le légèrement moins laid:
xprop -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d ' ' -f 5) WM_NAME | awk -F '"' '{print $2}'
la source
xprop -id $(xprop -root _NET_ACTIVE_WINDOW | cut -d ' ' -f 5) WM_NAME | cut -d '"' -f 2
Relativement court, il gère correctement les noms de fenêtre contenant des guillemets:
la source