Path: utzoo!attcan!uunet!tektronix!orca!krish From: krish@orca.WV.TEK.COM (Shelley Gallaher) Newsgroups: comp.windows.x Subject: Icon bitmap for (X11) xterms Keywords: xterm, icon, bitmap Message-ID: <3311@orca.WV.TEK.COM> Date: 11 May 89 23:52:45 GMT Reply-To: krish@orca.WV.TEK.COM (Suresh Krishnamurthy) Organization: Tektronix, Inc., Wilsonville, OR. Lines: 86 I have modified (X11) xterm to display bitmap for icons. You have to change only main.c file. The syntax is similar to X10 xterm, except that instead of "-ib", I have used "-xb" (xterm bitmap). "xterm -iconic -xb bitmap_filename" would invoke xterm as an icon using specified file as icon bitmap. Note that bitmap_filename should include the path also. Good bye labels, hello bitmap icons. -- Suresh -------------------------------------------------------------------------------- Suresh Krishnamurthy Net: krish@gray.WV.TEK.COM Hinditron International Inc, ARPA: krish%gray.WV.TEK.COM@RELAY.CS.NET (Work) (503)-685-2973 UUCP: gray.WV.TEK.COM!krish@uunet.UU.NET -------------------------------------------------------------------------------- Here are the diffs for main.c in R3. ---------------------- beginning of main.c (R3) diff ------------------------- 246a247,248 #define MAKE_ICON /* I think this should be defined in Makefile */ 251a254,256 #ifdef MAKE_ICON char *iconfile; #endif MAKE_ICON 276a282,285 #ifdef MAKE_ICON {"iconFile", "IconFile", XtRString, sizeof(char *), offset(iconfile), XtRString, (caddr_t) NULL}, #endif MAKE_ICON 340a350,352 #ifdef MAKE_ICON {"-xb", "*iconFile", XrmoptionSepArg, (caddr_t) NULL}, #endif MAKE_ICON 1085a1098,1100 #ifdef MAKE_ICON Pixmap xtermPixmap; #endif MAKE_ICON 1245c1260,1262 --- #ifdef MAKE_ICON MakeCuteIcon( resource.iconfile ); /* Set icon pixmap */ #endif MAKE_ICON 2275a2293,2325 #ifdef MAKE_ICON MakeCuteIcon( icon_filename ) char *icon_filename; { int junk; Pixmap xtermPixmap; XWMHints wmhints, *hints; if (!strlen(icon_filename)) /* if no icon file specified */ return; XReadBitmapFile( XtDisplay(XtParent(term)), XtWindow(XtParent(term)), icon_filename, &junk, &junk, &xtermPixmap, &junk, &junk ); /* * Get WMHints and save initial_state and position, otherwise * iconic option and icon position may not work properly. */ hints = XGetWMHints( XtDisplay(XtParent(term)), XtWindow(XtParent(term)) ); wmhints.flags = InputHint | StateHint | IconPixmapHint | IconPositionHint; wmhints.initial_state = hints->initial_state; /* take care of iconic */ wmhints.input = hints->input; wmhints.icon_pixmap = xtermPixmap; wmhints.icon_x = hints->icon_x; /* restore icon position */ wmhints.icon_y = hints->icon_y; XSetWMHints( XtDisplay(XtParent(term)), XtWindow(XtParent(term)), &wmhints); } #endif MAKE_ICON ---------------------- end of main.c (R3) diff -------------------------