> I don't know enough about low level X details but could it be
> that InputHint is set by default for new windows?  If I change
> the above line to:
> 
>       hints->flags |= IconPixmapHint;
> 
> It works as expected, so I assume that the InputHint bit is
> set in the hints returned by XGetWMHints().

Indeed, it would appear so.  If I

  fprintf(stderr,"%x\n",hints->flags);
  fprintf(stderr,"%x\n",hints->input);

right after XGetWMHints, it returns

  3  <-- = InputHint|StateHint
  1

Thus your solution

>       hints->flags |= IconPixmapHint;

of leaving the other bits untouched is of course the much
better approach.

Btw, ctwm apears to want both "InputHint" as well as "input"
to be set: resetting any of the two to zero results in the
behavior you originally described.

Reply via email to