I've played around with the g_set_print_handler and the
g_log_set_handler functions and they certainly stop the console window
from coming up when I use my custom handler to redirect the message to
somewhere else. So it may well be a good way to give the user an
option of redirecting these stdout and/or stderr messages to somewhere
On Sat, 11 Sep 2004 06:48:28 +0000, Tor Lillqvist <[EMAIL PROTECTED]> wrote:
> Sven Neumann writes:
> > Almost all of the messages that cause this problem don't come from the
> > GIMP application. They are created by libraries that we are using and
> > these libaries aren't necessarily using g_print() and g_printerr().
> Nope, you have it backwards. 3rd-party libraries who write to stdout
> directly don't cause them.
> > Also I don't see why we should be redirecting stdout and stderr.
> > Everything that shows up there is strictly just for the eyes of
> > developers.
> Some clarification here: The GIMP executable is linked as a "GUI"
> application. This means that it doesn't have any console window when
> it starts. stdout and stderr are not connected to anything. Writing to
> them doesn't go anywhere, and certainly doesn't open a console window
> for the application.
> It's the g_print() etc functions that explicitly open a new console
> window if stdout (or stderr) isn't connected to a valid file handle.
> It would be possible to make it impossible to close the console window
> that GLib opens, by removing the close button from it. Then users
> would know just to minimize it if they aren't interested in the
> messages. See my last comment in bug #141102.
> > We use g_message() for all messages that are meant to be
> > seen by users. Such messages then are processed by the following logic:
> > If GIMP was started with the --console-messages command-line
> > option, the messages go the console (stdout iirc).
> Hmm, if most GIMP users on X11 start GIMP through some window manager
> whose stdout isn't visible, is that option then really supposed to
> mean "don't show messages"?
> I guess there is a mismatch in the ways of thinking here: GIMP thinks
> that writing to stdout means the output will mostly go somewhere where
> the user doens't see it, unless he explicitly does something unusual
> (starts GIMP from the command line).
> The Win32 code in GLib again thinks that g_print() etc messages are
> *important*, and supposed to be shown to the user in some way, even
> opening a new console window if there isn't one already. If the user
> wants to redirect stdout and stderr (to NUL: or a file), he can do it
> from the command line.
"Heaven is the peaceful place on earth...New Zealand."
-- Alif Wahid.
Gimp-developer mailing list