On Thu, Jul 09, 2020 at 06:33:05PM +0200 I heard the voice of
Maxime Soulé, and lo! it spake thus:
> 
> The fix: 
> https://github.com/maxatome/ctwm-mirror/commit/6f0f08ca4aea429424a3b3abf455a84c4022a778

Yep, looks right.  Committed.


> It is weird (but probably historic?) that frame_bw and frame_bw3D
> fields have the same meaning for the user (the border width, but one
> for flat design and the other for 3D), but are not used equally in
> the code.

This is trickier than it seems like it should be because of how the
borders work.  The 2d border is an X border (setup in the
XCreateWindow() for the frame, add_window.c:1524), which is on the
outside of our frame window.  The 3d border is a drawing we do
_inside_ the frame.  So, with 2d borders, the left side of the
internal window is at X coordinate 0 relative to the frame, whereas
with 3d it's a ->frame_bw3D.

See also the comment in win_decorations.c:1527.  That's why we're
often doing things like -frame_bw (because it's "outside" of our
stuff), but +frame_bw3D (because it's "inside").


-- 
Matthew Fuller     (MF4839)   |  [email protected]
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/
           On the Internet, nobody can hear you scream.

Reply via email to