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/
pgp2G5afQabak.pgp
Description: PGP signature
