On 2004-02-28 21:07, Harold L Hunt II wrote:
> In multiwindow mode, XWin doesn't reset when the last client exists. It isn't supposed to. Run 'twm' as your window manager and you will see that the X Server does not reset when the last non-window manager client exits; this is because the window manager itself is a client.
ACK. I think this should be noted in the documentation -- I didn't expect the "magical" window manager to count as a client.
Well, it is a general sort of thing for all X Server based on the so called Sample Implementation that was made by X.Org years ago. It isn't really specific to Cygwin/X.
Granted, it sometimes makes sense to describe general things in our documentation that get asked about a lot. However, it may not be worth documenting since I am thinking about possibly disabling the automatic resets in most cases.
As for preventing multiple instances of XWin, a kludgy way to do it is by checking if anyone is listening on the X server port, using NETSTAT. Example:
Well, that is certainly one way to do it, but we need a more general fix within XWin.exe itself that makes it automatically select an unused display number, verify that nothing is listening on that port already (some other application perhaps), then launch using that display number.
Of course, this also means that we need an option that says tells XWin.exe not to spawn another instance if if finds one is already running for the current user. That way we can modify the XFree86-bin-icons package to automagically launch the X Server. Hmm... but that will get tricky if we allow for multiple user machines and multiple instances of XWin.exe per user... that would mean that we would have to have a way to find out which of the current user's instances was a non-Xdmcp instance and what its display number was.
Yikes, this is starting to get complex.
BTW, -nounixkill seems to to be broken (Ctrl-Alt-Backspace still terminates XWin).
Better report that in another thread so that interested parties will see it.
Harold