desktop.findwindow non ti piace?
Molto interessante. Stavo indagando su di lui stamane, ma non avevo capito come funzionava. Bene !
Mi stavo piegando su una soluzione molto...
extreme di questo genere:
e quindi, dopo aver individuato l' ID esadecimale (nella prima colonna dei dati), inserivo
manualmente l' ID, con conversione da esadecimale in decimale, nel comando finale di:
Embedder1.embed(numero_PID_decimale)
Comunque, ho provato il tuo codice senza modificare alcunché, e vorrei porre due questioni:
- al posto della dicitura "FMain.title" è possibile ottenere risultato utile inserendo proprio il titolo della finestra ? (A me è parso di no);
- PROBLEMONE: ho notato una cosa strana che avevo constatato sostanzialmente anche con le mie prove mortali mediante il bash wmctrl: sperimentando appunto wmctrl ed inserendo il numero del ID della finestra - preventivamente aperta - del programma "Gedit", ho casualmente scoperto che l'embed funzionava, sì, ma solo se minimizzavo in basso (senza chiuderla ovviamente) preventivamente la finestra di Gedit. Se invece tentavo di inglobare Gedit tenendo aperta ed evidente la sua finestra sul desktop, l'embedding non avveniva !
Facendo le prove con il tuo codice - lasciando inalterata la dicitura: ...(FMain.title) - e verificando con il comando bash "wmctrl" i valori in Label1 restituiti, ho notato, coerentemente con quanto già notato nelle mie precedenti prove col bash, che mi viene restituito il PID decimale dell'ultima finestra minimizzata !!!
Insomma, pare che solo l' ID delle finestre minimizzate (più precisamente l'ultima in ordine temporale se ve ne sono più di una) venga intercettato da embed; e quindi solo una finestra minimizzata potrà essere inglobata nel form mediante il comando embed.
Sarebbe interessante sapere se questo medesimo comportamento è riscontrabile anche in altri utenti; però è chiaro che per inglobare una finestra in un form - stando così le cose - io devo procedere alla sua preventiva minimizzazione in basso.
...e dovrò così trovare la strategia, la soluzione (ma mi pare che wmctrl non offra questa possibilità) pure per fare questo.
......ma non è strana 'sta cosa ?
Possono anche gli altri verificare questo fatto ? E' un problema mio, o più generale ?