WM_DELETE_WINDOW does not send ClientMessage

Lucien Gentis lucien.gentis at univ-lorraine.fr
Sun Jan 19 13:43:13 UTC 2020


Hello Roland,

While defining delAtom and calling XSetWMProtocls, you specifiy 
"display", and in your loop, you specify "pDisplay" ; is it the same 
display ?

Le 19/01/2020 à 13:33, Roland Plüss a écrit :
> I'm finishing up my software for releasing but run into a big issue. If
> I use window mode instead of full-screen mode the user should be able to
> close the window using the X button. I can prevent this from happening
> using this code:
>
> Atom delAtom = XInternAtom( display, "WM_DELETE_WINDOW", False );
> XSetWMProtocols( display, pWindow, &delAtom, 1 );
>
> The window will not be destroyed when X is pressed so I think this
> worked. The problem is though that I do not received ClientMessage and
> thus I am unable to close the window. This is the event loop:
>
> XEvent event;
> while( XPending( pDisplay ) ){
>     XNextEvent( pDisplay, &event );
>     log("Event %d", event.type);
>     switch( event.type ){
>     ...
>     case ClientMessage:
>        log("Quit Request Received");
>        break;
>     }
> }
>
> Window is created like this:
>
> #define BASIC_EVENT_MASK     ( StructureNotifyMask | ExposureMask |
> PropertyChangeMask \
>                               | EnterWindowMask | LeaveWindowMask |
> KeyPressMask \
>                               | KeyReleaseMask | KeymapStateMask |
> FocusChangeMask )
>
> #define NOT_PROPAGATE_MASK   ( KeyPressMask | KeyReleaseMask |
> ButtonPressMask \
>                               | ButtonReleaseMask | PointerMotionMask |
> ButtonMotionMask )
>
> XSetWindowAttributes swa;
> swa.colormap = colMap;
> swa.backing_store = NotUseful;
> swa.border_pixel = 0;
> swa.event_mask = BASIC_EVENT_MASK;
> swa.do_not_propagate_mask = NOT_PROPAGATE_MASK;
> swa.override_redirect = False;
> swa.save_under = False;
> swa.cursor = 0;
> swa.bit_gravity = ForgetGravity;
> swa.win_gravity = NorthWestGravity;
>
> Any idea what else I need to do to get this working?
>
>
> _______________________________________________
> xorg at lists.x.org: X.Org support
> Archives: http://lists.freedesktop.org/archives/xorg
> Info: https://lists.x.org/mailman/listinfo/xorg
> Your subscription address: %(user_address)s
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.x.org/archives/xorg/attachments/20200119/9534a7cf/attachment.htm>


More information about the xorg mailing list