So I was trying to find out why gnome-panel wouldn't start in stumpwm, but only give backtraces.
Of course I forgot to save the backtrace from the times of trouble... But, gnome-panel sent a :MAP-REQUEST event, which caused the event handler to call PLACE-MODE-LINE-WINDOW, which failed because SCREEN is NIL. The event handler gets SCREEN from (find-screen parent), so why is that NIL? FIND-SCREEN compares its argument to the root window of each screen (in my case only one screen). The PARENT that was passed to the event handler was #<WINDOW :0 54>. (mapcar #'screen-root *screen-list*) revealed that the root window was also #<WINDOW :0 54>. It turned out that XLIB:WINDOW-EQUAL considered those two windows to be different. The definition is in clx.lisp; search for "make-mumble-equal". A comment there says: ;; When cached, EQ works fine, otherwise test resource id's and displays and windows are among the cached types. Apparently EQ doesn't work fine. I augmented the check in FIND-SCREEN with a comparison of resource id and display, and - it worked. I have my panel. (StumpWM stubbornly believes that it is at the _top_ of the screen, regardless of its actual position. But that is another problem that I will fix some day...) So, where should this be fixed? I have the latest telent-clx, if that is defined as whatever is at http://common-lisp.net/~crhodes/clx . My SBCL is 1.0.19.35; it isn't _that_ old. My system is NetBSD/macppc. Magnus _______________________________________________ Stumpwm-devel mailing list Stumpwm-devel@nongnu.org http://lists.nongnu.org/mailman/listinfo/stumpwm-devel