~4Dgifts/toolbox/src/exampleCode/X/XtAppInitwIcon README /*******************************************************************/ /* XtAppInitializeWithIcon DESCRIPTION */ /* Date: Mon Jul 12 11:56:51 1993 */ /* Author: Chris Carlson */ /*******************************************************************/ This directory contains the source code to a function that is the same as XtAppInitialize except that it allows the application an opportunity to generate an icon window for the top-level shell that is a visual other than the default 2-color visual. According to the documentation for creating icon windows, it must have the same visual type as the root window. REQUIREMENTS ------------ Currently, this has only been tested to work under IRIX 4.0.5. MAKE ---- To make everything, including the testicon program, enter the following command: make testicon To make just the XtAppInitializeWithIcon function, enter the following command: make USAGE ----- Prototype: Widget XtAppInitializeWithIcon (XtAppContext *context, String class, XrmOptionDescRec *options, Cardinal num_options, Cardinal *argc, String *argv, String *fallback, ArgList args, Cardinal num_args, makeIcon func_name); Window (*makeIcon) (Display *dpy, Cardinal *argc, String *argv); Parameters: XtAppInitializeWithIcon: All of the parameters are identical to the XtAppInitialize function except 'func_name'. This is a pointer to a function which will be called at the appropriate time in the initialization process to create the icon window. makeIcon: This is a function provided by the application to create the icon window. dpy Display returned by XtOpenDisplay. argc The same argc value provided by the application to XtAppInitializeWithIcon. argv The same argv value provided by the application to XtAppInitializeWithIcon. Return value: Window ID of window created to be the icon. DEMO PROGRAM ------------ The testicon program that is also provided demonstrates how to use this new function. When compiled, the program can be made to print various debug information by setting bit patterns in the DEBUG symbol. These bits can be OR'd together to enable multiple debug output. VALUE DEBUG OUTPUT ----- ------------ 0x0001 Print window IDs that are created. 0x0002 Print events that are sent to the icon window. 0x0004 Print information about colors allocated. 0x0008 Print information about the sizes of icons that are available from the window manager. Basically, all the testicon program does is create a simple window with a label widget in it. It serves no purpose except to create an icon window that is using the same visual as the root window. When this simple window is lowered to an icon, the icon should appear as a blue background with a yellow box in it. This proves that the icon window is using a color visual. If the program was compiled with (DEBUG & 2) != 0, then all events that are sent to the icon will be printed to stdout. This can be useful in finding out what events need to be processed and which are actually available to the icon window for the application to process. MORE WORK REQUIRED ------------------ 1. One thought would be to make the function actually create the window for the application. The problem with this is that there are a number of variables that need to be considered when creating the icon window that the application needs to decide on. For example, the icon size, window attributes, events to process and background color. This might be resolved with suggestion #2 below. 2. Have the icon window be a widget and have XtAppInitializeWithIcon return a widget through one of the passed parameters. Then the specifics can be set through resources.
Source
Documentation
Reference