On Thu, Nov 18, 2004 at 10:32:29AM +0100, Reini Urban wrote: >Christopher Faylor schrieb: >>On Wed, Nov 17, 2004 at 08:53:41PM +0100, Reini Urban wrote: >> >>>Christopher Faylor schrieb: >>> >>>>On Wed, Nov 17, 2004 at 10:10:58AM +0100, Reini Urban wrote: >>>> >>>> >>>>>Dave schrieb: >>>>> >>>>> >>>>>>Here's a simple and useful patch for setup. Might reduce queries about >>>>>>unattended installs, and save people having to resort to source. >>>>>> >>>>>>Patch is against CVS (as of yesterday). >>>>>>Modify the leader text as you see fit :) >>>>>> >>>>>>------------------------------------------------------------------------ >>>>>> >>>>>>--- main.cc~ 2004-10-25 19:34:32.000000000 +0100 >>>>>>+++ main.cc 2004-11-16 19:21:14.000000000 +0000 >>>>>>@@ -471,7 +471,11 @@ >>>>>> >>>>>> if (HelpOption) >>>>>> { >>>>>>- >>>>>>GetOption::GetInstance().ParameterUsage(log(LOG_PLAIN)<<"\nCommand >>>>>>Line Options:\n"); >>>>>>+ log(LOG_PLAIN)<<"\nOutput command line options\n"; >>>>>>+ std::cout << "setup [options]\n\n" >>>>>>+ << "Cygwin setup installs and maintains cygwin packages\n\n" >>>>>>+ << "Command Line options:\n"; >>>>>>+ GetOption::GetInstance().ParameterUsage(std::cout); >>>>>> theLog->exit(0); >>>>>> } >>>>> >>>>>you should really check if the parent isatty. >>>>>nevertheless I consider this hack useful. >>>> >>>> >>>>Actually, there was a thread about this on the cygwin list not too long >>>>ago. >>> >>>Yep. This suggested a complicated trick. I found an easier one. >>>I just detect if the console title ends with "setup.exe" >>>(case-insensitive). If so it's new and can be hidden. >>> >>> >>>>Applications linked with -mwindows (i.e., GUI apps) can't print to >>>>stdout. How does this actually work, in that case? Is this expecting >>>>to display something on the console? >>> >>>I added a patch to switch to the console subsystem and hide this concole >>>if it was a fresh new console. Otherwise, if called from a console or if >>>called with -h leave the console. >>> >>>Patch see http://sourceware.org/bugzilla/show_bug.cgi?id=556 >> >>I really don't understand why we should stand on our heads to make >>setup.exe a console subsystem program (you don't need to both specify >>-mwindows and -Wl,--subsystem=console, btw) > >Unfortunately we need -mwindows.
No. We don't. What do you think -mwindows implies? From the gcc spec file: *link: %{mwindows:--subsystem windows} %{mconsole:--subsystem console} A program can only be subsystm windows or console. It can't be both. It is a bug in ld and in gcc that you are able to supply both. >>... when you can just open up a dialog box to display the options, >>like every other windows program in the world. > >Like our beloved debug log messages in about 200 messageboxes? This is >imho the wrong way. Implying that someone made an incredibly stupid point when there was no hint of any intent in that regard is a particularly odious "usenet" discussion technique. I did not say that all log messages should show up in message boxes. I said that you should use dialog boxes to display option help and that is it. cgf