|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: May 2011
Città: Reggio Emilia
Messaggi: 17
|
[C Xlib] Portare in primo piano una finestra X
Ciao a tutti,
Sto facendo un porting da windows a linux senza avere troppa esperienza con quest'ultimo OS. Devo prendere uno screenshot di una finestra che può essere in parte coperta da altre finestre. Con Windows e le WinAPI ho risolto facilmente in backgroud, mentre su linux pare che se la finestra è coperta i pixel letteralmente non esistono, e quindi è impossibile farne una copia. La soluzione, anche se meno elegante, è quella di portare prima la finestra in primo piano per poi farne lo screenshot. Per prima cosa ottengo l'ID della finestra usando Xquerytree(), dopodichè provo a portarla in primo piano usando Xraisewindow(pointer,id); e XSetInputFocus()... Il pointer è ottenuto da: pointer = XOpenDisplay(NULL); mentre l'ID della finestra è sicuramente corretto. L'effetto sulla finestra incriminata è però nullo, e quindi il successivo sceenshot è nero quando la finestra è nascosta. Utilizzo Ubuntu. Avete qualche idea su cosa possa andare storto? Altre vie percorribili? grazie! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:42.



















