Risposte:
wmctrl -l
potrebbe essere quello che stai cercando. Il programma wmctrl può anche eseguire alcune semplici azioni sulle finestre come spostarle e impostarne le proprietà.
xlsclients
mostra i client in esecuzione e xwininfo -root -children
mostra tutti i figli della finestra principale. Ciò include anche alcune cose renderizzate dal tuo gestore di finestre o dal desktop.
Ecco il modo di mostrare solo i nomi:
wmctrl -l|awk '{$3=""; $2=""; $1=""; print $0}'
perché wmctrl -l
mostra alcune informazioni extra anziché solo i nomi richiesti nella domanda:
come questo:
0x020002c6 0 ruslan-Latitude-E6410 fromscratch
0x04600007 0 ruslan-Latitude-E6410 Psensor - Temperature Monitor
0x01600007 0 ruslan-Latitude-E6410 Top Expanded Edge Panel
0x01600017 0 ruslan-Latitude-E6410 Bottom Expanded Edge Panel
0x0200000a -1 ruslan-Latitude-E6410 Desktop
0x05a0000c 0 ruslan-Latitude-E6410 ruslan@ruslan-Latitude-E6410: /var/lib/apt
0x05600085 0 ruslan-Latitude-E6410 index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit
e filtrandolo per awk
otteniamo solo nomi di finestre aperte:
fromscratch
Psensor - Temperature Monitor
Top Expanded Edge Panel
Bottom Expanded Edge Panel
Desktop
ruslan@ruslan-Latitude-E6410: /var/lib/apt
index.html (~/Dropbox/cpucraft.com/fromscratch) - gedit
ubuntu - Get a list of open windows in Linux - Super User - Mozilla Firefox
cpucraft@cpucraft.com - FileZilla
Se vuoi semplicemente i titoli e nessuna altra informazione (nemmeno gli spazi bianchi), puoi usare questo:
wmctrl -l | grep -o "$HOSTNAME.*" | sed "s/$HOSTNAME //g"
Risultato:
Linux - Come grep e sostituire - StackTranslate.it - Pale Moon Come posso usare una variabile in sed? | Forum Unix Linux | Shell Programming and Scripting - Pale Moon Elimina tutto dopo i caratteri * o # o & nel file di testo con GREP - StackTranslate.it - Pale Moon Video.mp4 - VLC Media Player