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) when you can just open up a dialog box to display the options, like every other windows program in the world. cgf