version 1.62, 2017/08/23 09:29:15
|
version 1.63, 2017/08/23 20:29:29
|
Line 29
|
Line 29
|
# include <X11/extensions/Xinerama.h> |
# include <X11/extensions/Xinerama.h> |
#endif |
#endif |
|
|
|
static logical1 |
|
valeur_erreur(logical1 nouvelle_valeur) |
|
{ |
|
static logical1 erreur = d_faux; |
|
logical1 registre; |
|
|
|
registre = erreur; |
|
erreur = nouvelle_valeur; |
|
return(registre); |
|
} |
|
|
static int |
static int |
_XlibErrorHandler(Display *display, XErrorEvent *event) |
_XlibErrorHandler(Display *display, XErrorEvent *event) |
{ |
{ |
|
valeur_erreur(d_vrai); |
uprintf("An error occured detecting the mouse position\n"); |
uprintf("An error occured detecting the mouse position\n"); |
return True; |
return True; |
} |
} |
Line 154 encart(struct_processus *s_etat_processu
|
Line 166 encart(struct_processus *s_etat_processu
|
XmNbackground, &couleur_arriere_plan, |
XmNbackground, &couleur_arriere_plan, |
NULL); |
NULL); |
|
|
if ((erreur = XCreatePixmapFromData(XtDisplay(form), |
if ((erreur = XpmCreatePixmapFromData(XtDisplay(form), |
DefaultRootWindow(XtDisplay(form)), rpl_xpm, |
DefaultRootWindow(XtDisplay(form)), rpl_xpm, |
&pixmap_rpl, &pixmap_rpl_masque, NULL)) != 0) |
&pixmap_rpl, &pixmap_rpl_masque, NULL)) != 0) |
{ |
{ |
Line 190 encart(struct_processus *s_etat_processu
|
Line 202 encart(struct_processus *s_etat_processu
|
|
|
ts = XineramaQueryScreens(display, &ns); |
ts = XineramaQueryScreens(display, &ns); |
|
|
XSetErrorHandler(_XlibErrorHandler); |
//XSetErrorHandler(_XlibErrorHandler); |
nb_screens = XScreenCount(display); |
nb_screens = XScreenCount(display); |
|
|
root_windows = sys_malloc(((unsigned) nb_screens) * sizeof(Window)); |
root_windows = sys_malloc(((unsigned) nb_screens) * sizeof(Window)); |
Line 202 encart(struct_processus *s_etat_processu
|
Line 214 encart(struct_processus *s_etat_processu
|
|
|
for(i = 0; i < nb_screens; i++) |
for(i = 0; i < nb_screens; i++) |
{ |
{ |
if ((mouse_found = XQueryPointer(display, root_windows[i], |
valeur_erreur(d_faux); |
&window_returned, &window_returned, |
|
&root_x, &root_y, &win_x, &win_y, &mask_return)) |
do |
== True) |
{ |
|
mouse_found = XQueryPointer(display, root_windows[i], |
|
&window_returned, &window_returned, |
|
&root_x, &root_y, &win_x, &win_y, &mask_return); |
|
} while(valeur_erreur(d_faux) == d_vrai); |
|
|
|
if (mouse_found == True) |
{ |
{ |
break; |
break; |
} |
} |