Problème de focus de fenêtre [Xlib] - C - Programmation
MarshPosté le 10-07-2008 à 11:56:43
Bonjour à tous !
Voilà, comme indiqué dans le titre, je me heurte à un léger problème de focus avec un projet en C utilisant la Xlib. Mon but est d'afficher l'image passée en argv[1] sur le bureau (via une fenêtre Override_redirect), la position de la fenêtre étant donnée par argv[2] et argv[3]. Hors, par défaut avec mon code, la fenêtre apparait systématiquement au dessus de toutes les autres fenêtres, et impossible de l'en faire décoincer. J'ai bien trouvé la fonction XLowerWindow, mais lorsque je l'utilise, cela fonctionne tellement bien que ma fenêtre n'apparait plus du tout, même une fois toutes les autres fenêtres réduites
Voilà toujours mon code :
Code :
#include <stdio.h>
#include <string.h>
#include <Imlib2.h>
#include <X11/Xlib.h>
int main( int argc, char **argv )
{
int pos_x = atoi( argv[2] );
int pos_y = atoi( argv[3] );
/* La base : on définit le server X à utiliser */
/* l'écran, etc., et on récupère la fenêtre root */
/* si on utilise ça, la fenêtre disparait ! O_o */
//XLowerWindow(display, fenetre);
XSelectInput( display, fenetre, ExposureMask );
for( ;; )
{
XNextEvent( display, &report );
Imlib_Image image = imlib_load_image( argv[1] );
imlib_context_set_image(image);
imlib_render_image_on_drawable(1,1);
}
imlib_free_image();
return 0;
}
Voilà, je voudrais simplement que ma fenêtre s'affiche sur le bureau, donc sous toutes les autres fenêtres je sais que c'est faisable puisque plusieurs soft et bout de code que j'ai croisé le font (et de la même manière que moi !), mais même après bien étudié les listings, impossible de faire fonctionner le miens
Marsh Posté le 10-07-2008 à 11:56:43
Bonjour à tous !
Voilà, comme indiqué dans le titre, je me heurte à un léger problème de focus avec un projet en C utilisant la Xlib. Mon but est d'afficher l'image passée en argv[1] sur le bureau (via une fenêtre Override_redirect), la position de la fenêtre étant donnée par argv[2] et argv[3].
Hors, par défaut avec mon code, la fenêtre apparait systématiquement au dessus de toutes les autres fenêtres, et impossible de l'en faire décoincer. J'ai bien trouvé la fonction XLowerWindow, mais lorsque je l'utilise, cela fonctionne tellement bien que ma fenêtre n'apparait plus du tout, même une fois toutes les autres fenêtres réduites
Voilà toujours mon code :
Voilà, je voudrais simplement que ma fenêtre s'affiche sur le bureau, donc sous toutes les autres fenêtres je sais que c'est faisable puisque plusieurs soft et bout de code que j'ai croisé le font (et de la même manière que moi !), mais même après bien étudié les listings, impossible de faire fonctionner le miens
Merci d'avance