/****************************************************************************** Copyright 1991 McGill University Permission to use, copy, modify, and distribute this software and its documentation for any purpose without fee is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of McGill not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission. McGill makes no representations about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty. MCGILL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. Author: Lee Iverson , McGill Research Centre for Intelligent Machines (McRCIM) ******************************************************************************/ Notifier is just a small application which creates a popup shell which pops up and highlights it's most recent input whenever it gets anything on stdin. This would be unexciting (but possibly useful) without the addition of stderrNotifier(), a subroutine which should be called from your main(). It spawns a notifier process and then pipes stderr output from the current process to the notifier. Anything subsequently written to stderr will cause the notifier to pop up and scroll to the most recent message. The notifier keeps a scrolling list of all the input it has received and even stays around after the program has exited (only if it is already up, thus catching the bomb message if there was one). Small, simple and immensely useful (in my estimation). I'm surprised nobody thought of this before. Arguments: -[no]bell Enable or disable bell on popup (default on). -[no]center Enable or disable automatic placement under mouse. (on) If the label of the title widget is not specified then it defaults to the name of the application. So '-name foo' has the immediate consequence of changing the title label to 'foo' unless this is overridden in the app-defaults. Placement of the window (when -nocenter) is used is via the geometry of the "shell" widget. So a regular -geometry spec doesn't buy you anything. Use -xrm "*shell.geometry: ..." instead. -- Lee Iverson McGill Research Centre for Intelligent Machines leei@mcrcim.mcgill.edu Computer Vision and Robotics Lab McGill University, Montreal