stumpwm-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[STUMP] gnome-panel doesn't/didn't work; telent-clx denies equality axio


From: Magnus Henoch
Subject: [STUMP] gnome-panel doesn't/didn't work; telent-clx denies equality axiom
Date: Fri, 03 Oct 2008 23:58:35 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (berkeley-unix)

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]