On Mon 08 Mar 2021 at 17:10:58 +0100, Rhialto wrote:
> So it seems that ctwm does something to prevent the default way that focus
> moves, and didn't always move it itself.

Another candidate, close to the place of the previous example:
(tmp_win->w is the actual client window)

>     /*
>      * Setup various events we want to hear about related to this window.
>      */
>     {
>         unsigned long valuemask;
>         XSetWindowAttributes attributes;
> 
>         valuemask = (CWEventMask | CWDontPropagate);
>         attributes.event_mask = (StructureNotifyMask | PropertyChangeMask
>                                  | ColormapChangeMask | VisibilityChangeMask
>                                  | FocusChangeMask
>                                  | EnterWindowMask | LeaveWindowMask);
>         attributes.do_not_propagate_mask = ButtonPressMask | ButtonReleaseMask
>                                            | PointerMotionMask;
>         XChangeWindowAttributes(dpy, tmp_win->w, valuemask, &attributes);
>     }

The do_not_propagate_mask now includes PointerMotionMask where it
doesn't in twm.

This also makes no difference. Which makes me wonder why it's needed.

The PointerMotionMask has been there for a long time: since bzr revision
11, i.e. ctwm-3.2p1. This was still by Claude Lecommandeur. It was
checked in into the monotone repository on 2003-02-02. Too bad there are
no detailed change logs from the changes back then...

https://bazaar.launchpad.net/~ctwm/ctwm/trunk/revision/11/add_window.c

-Olaf.
-- 
___ Q: "What's an anagram of Banach-Tarski?"  -- Olaf "Rhialto" Seibert
\X/ A: "Banach-Tarski Banach-Tarski."         -- rhialto at falu dot nl

Attachment: signature.asc
Description: PGP signature

Reply via email to