I just realized I'd been ranting about CMake in other forums but I've
not replied here in a long time.

Sorry for the delay -- too many other irons in the fire.

At Mon, 23 May 2016 19:40:11 -0500, "Matthew D. Fuller" 
<[email protected]> wrote:
Subject: Re: menus stay where first activated (on XQuartz)
> 
> It's possible a little bisecting might narrow the scope, but I suspect
> not.  My guess is that it's related to the various *Root bits, and
> that's part of the ~8000 line change in the single rev right after the
> 3.6 release ("This constitutes all the changes Claude had done since
> version 3.6."), which predates our proper VCS history.

Yikes.

> So, the problem is, that somehow the window isn't being moved right
> the second time.  A few other things that might be tryable:
> 
> - Maybe XQuartz doesn't react well in general to moving windows that
>   aren't mapped?  Try moving the XMoveWindow() down to after the
>   XMapRaised() call a few lines lower (and leaving it unconditionally
>   called, of course).

That can't be the problem -- twm works fine, old ctwm works fine.

> - Or possibly the whole dealing with roots is wrong there; try just
>   deleting the block with the XReparentWindow() calls, leaving just
>   the (unconditional) XMoveWindow().

Yup, my bet is this CaptiveRoot stuff -- it's the only difference I see
in how the menu window is moved between old ctwm, twm, and new ctwm.

As soon as I can rebuild it.......


> That's a little discouraging.  Can I ask the source of your antipathy?

Well, there's a lot that's been written by many people about what they
don't like about CMake, and I pretty much agree with all those
complaints.

It's as bad or worse than systemd.  (the c++ part makes it worse by
default, for now, I think)

My recent rants were triggered when I found that the tiny little YAJL
library was being built with it -- that library is pure Standard C and
can be compiled anywhere without any configuration or even a makefile.
Using a monstrosity like CMake for it was a major insult to my sanity.

I don't like GNU Autotools so much, but it's a billion times better than
CMake, and it seems to still be the standard for X11 packages, so it's
well supported for X11 add-ons.

I think for X11 apps Imake is still better, but that's just because I've
got sufficient experience with making it work.  It was a stupid
unnecessary idea to mix CPP and Makefiles even back in the day, but
worse things have been done, like CMake.

Something simple with few external dependencies outside of what's
standard in every X11 environment can certainly work with either Imake
or Autoconf with little trouble, and probably little effort, especially
if the configure.ac and makefile.am files for X.org's new twm package
are any indication.  Far all together it's fewer lines total than your
CMakeLists.txt, and no need for the 45kb of additional *.cmake files.

In NetBSD it was all thrown out and a set of Makefiles were written to
build the whole xsrc tree with the native BSD Make.  That made all of
X11 instantly cross-compilable with just a wee bit of tweaking to use
the right drivers and such in the Xserver.  And parallel builds work
too.

For my own use, and as soon as I get a chance, I'll just take the NetBSD
Makefile for twm and tweak it for ctwm (it's only 43 lines long,
including some comments and blank lines), stuff a ctwm release into the
external sources directory in my tree and be done.  I think I can
probably modify the same Makefile for pkgsrc.  So for me I don't have
much incentive to help replace Imakefiles or write a configure.ac, etc.

-- 
                                                Greg A. Woods
                                                Planix, Inc.

<[email protected]>       +1 250 762-7675        http://www.planix.com/

Attachment: pgp2G5afQabak.pgp
Description: PGP signature

Reply via email to