tclark@honir.cs.cornell.edu (Timothy Clark) (10/19/90)
To those of you running under the olwm of OpenWindows and experiencing problems
with the Magic Lantern program (same problem as ISIS demo "spread" - keyboard
input not going to the application), the patch below should take care of the
problem (in win.c):
*** win.c Wed Jun 20 14:28:40 1990
--- /usr/u/isis/tcisis/DEVEL/win.c Thu Oct 18 11:37:51 1990
***************
*** 473,478 ****
--- 473,479 ----
char *window, *rec, buf[64], *descr;
int x, y, width, height;
struct window *w = &win_windows[win];
+ XWMHints wmhints;
/* Find the width and the height of the window.
*/
***************
*** 495,500 ****
--- 496,507 ----
db_retrieve(window, "descr", &descr);
sprintf(buf, "%s (%s)", mag_me, descr);
MAG_FREE(descr);
+
+ /* added so ML will work under olwm of OpenWindows */
+ wmhints.flags = InputHint;
+ wmhints.input = TRUE;
+ XSetWMHints(x_dpy, w->w_win, &wmhints);
+
XStoreName(x_dpy, w->w_win, buf);
xsh.flags = USPosition | USSize;
xsh.x = x;
If "patch" wouldn't work with the patch which was previously posted here, try this one:
(The change is identical, but the diff'ed line numbers may have been off).
*** spread.c Thu Oct 18 15:28:10 1990
--- /usr/u/isis/isisv2.1/demos/spread.c Mon Sep 17 11:23:44 1990
***************
*** 626,631 ****
--- 626,632 ----
char displayname[32], fontname[32];
int x, y;
{
+ XWMHints wmhints;
gethostname (name, 19);
for (namelen = 0; name[namelen] && name[namelen] != '.' && namelen < 18; namelen++)
***************
*** 651,656 ****
--- 652,661 ----
twidth = leftx + numbcols*colwidth + rtwidth + rtmargin;
win = XCreateSimpleWindow (dpy, RootWindow(dpy, screen),
x, y, twidth, theight, bdrwidth, black, white);
+ wmhints.flags = InputHint;
+ wmhints.input = TRUE;
+ XSetWMHints(dpy, win, &wmhints);
+
XStoreName(dpy, win, name);
XMapRaised (dpy, win);
if (x != 0 && y != 0) {
Thanks to David Forslund for coming up with this bug fix (I can claim no credit!)
--Tim