Quoted Gene Selkov <selkovjr@gmail.com>:
I started a bare xterm as suggested and worked for a couple hours with the osx apps, occasionally using that xterm as well. Everything was cool. Literally. The CPU temperature remained in the lower forties (C), and the fan didn't come on even momentarily.
Then I started icewm and gimp, and spent about 10 minutes abusing the latter. I know how to break it simply by drawing lines with a stylus. But that's a different story, I just want to comment that breaking gimp under icewm appeared to be somewhat more difficult that under quartzwm. It tends to break when it draws a continuous line too quickly and for too long -- to the point that the undo operation doesn't completely erased the line; it only erases random rectangular panels, leaving other panels unerased.
Then, after 10 minutes, I noticed the 100% load by X11. Killing icewm brought it back to idle, and there it stayed for maybe another hour of gimp abuse, and everything was cool. I must also mention that without any wm, gimp worked even smoother.
That's odd, and of course shouldn't be happening. This may explain why I haven't seen it.
Then I started icewm again to rearrange the windows, and killed it again as soon as the windows were in the right pusitions. The load went up to 100% again and never came back to idle. Killing gimp didn't bring it back to idle either. So it remained at 100% with the sole xterm running. Killing X11 was enough to cool it down, but starting it again with a single xterm and no wm brought it back to 100%.
So this sort of confirms the report that it is possible to have the hot idle effect with a sole xterm and no wm. I havenr't obesrved it long enough to know if it would ever arise without more sophisticated, albeit transient, use of X11; and I don't know enough to say whether wm has anything to do with that (it is hard to use anything more complicated than xterm without a window manager). All I can see is that once the situation arises, it tends to persist.
I have just restarted the system, and it's again running with a single undecorated xterm, with X11 being essentially idle, wether or not I do anything in that xterm or in other apps.
Now, please pardon my ignorance -- I am years of reading away from understanding any of the X11, wm or osx GUI stuff, but is there such a thing as event queue? If there is such a thing, or perhaps several, given what a nice hack XQuartz is, can it (they) be clogged with something unexpected? I am imagining something that gets inserted into the queue, then gets "read", whatever that means, but not cleaned up? Or even not read? Or, can an empty queue look non-empty? Just a WAG trying to explain why the effect is intermittent, why it is so drastic, as well as why it tends to persist even after whatever "thing" responsible for it is gone, and even after X11 is restarted.
Every event caused by a key press/release, mouse motion, mouse button, window resize, window movement, etc. gets enqueued, and then written to a client when possible, so that the client may process it. quartz-wm is an X client for instance, so it reads events from the X server, and also sends requests. The special bit with quartz-wm is that it also has a SubstructureRedirectMask selected. This allows quartz-wm to get the events from the queue for XConfigureWindow requests, and other requests, that normally the X server handles, that are then redirected to the quartz-wm client, where quartz-wm may respond to the requests as it sees fit. I wonder if the queue could be full, and then some events get thrown away and cause havoc in applications or the X server. Your gimp example makes me wonder about that. I'm not as familiar with the input and event system as Jeremy, but if it's a bounded queue then you may be right. George -- http://people.freedesktop.org/~gstaplin/