[clfswm-devel] grab-pointer problem in main mode

Philippe Brochard pbrochard at common-lisp.net
Sat Aug 23 21:09:52 UTC 2008


balleen plonstic writes:

> Hi,
>
Hi, sorry for the lag.

> First of all I'd like to apology for my English level.
>
Not a problem for me too as my english is far from perfect :)
But maybe there is really a need for a french mailing list.

> Secondly, I'm a newbie to common lisp scripting so please be tolerant
> of my responses and my remarques.
>
> My problem is that clfswm crashes when I want to move a frame in main
> mode with mouse-1 & mod-1 shortcut. Whereas there is no problem in
> second mode. 
>
> I have clisp 2.42 (2007-10-16). I suppose that i had new-clx module
> support. Its the clisp given by the package of ubuntu 8.04, and i can
> run new-clx demos. 
> I downloaded the cvs version of clfswm but my problem persists.
>
> CLFSWM returns "*** -XLIB:GRAB-POINTER: NIL is not of type XLIB:CURSOR"
> and nothing else. Is there a way to get more error messages ?
>
You can get more error messages with the backtrace: type ':bt' at the
error prompt.

Can you put a debugging output in the xgrab-pointer in the
xlib-util.lisp file:

----------------------------------------------------------------------
(defun xgrab-pointer (root cursor-char cursor-mask-char
		      &optional (pointer-mask '(:enter-window :pointer-motion
						:button-press :button-release)) owner-p)

					       :background white))
     ..............
	(setf cursor nil))
    (dbg cursor-char cursor-mask-char cursor)   ;; <- here
    (xlib:grab-pointer root pointer-mask
		       :owner-p owner-p  :sync-keyboard-p nil :sync-pointer-p nil :cursor cursor)))
----------------------------------------------------------------------

What are the values of cursor-char cursor-mask-char cursor just before
the error?

Another test you can do is to stay with the default cursor. In the
same function, remove the ':cursor cursor' in xlib:grab-pointer.
Something like this:

----------------------------------------------------------------------
....
(xlib:grab-pointer root pointer-mask
                   :owner-p owner-p  :sync-keyboard-p nil :sync-pointer-p nil)
----------------------------------------------------------------------


And as always with this type of error you can try to repoduce the bug
with clisp/MIT-CLX, sbcl and cmucl.
You can also test clfswm with a newer version of clisp (we are near
from the 2.47 version) and new-clx.
Here are some explanations on how to build clisp:
  http://trac.common-lisp.net/clfswm/wiki/BuildClisp

> Concerning multi frames for the gimp, I'll see in detail clfswm code,
> keeping in mind your remarques. 
>
> Thanks, 
> Alain
>
Philippe


>> Salut, bienvenu à bord :)
>> 
>> Pour ton problème de grab-pointer, quelle version de CLFSWM
>> utilises-tu ? (Il vaut mieux utiliser le version SVN/GIT). Quelle est
>> ta version de clisp et quelle version de CLX utilises-tu (MIT ou New
>> clx) ? Sinon, peux-tu donner le message complet ?
>> 
>> Pour le GIMP, je suis en train de travailler dessus avec un layout
>> dédier à ses fenêtres. Sinon, j'ai fais une petite vidéo pour le
>> layout du Gimp : live-hack.ogv. On peut definir un hook à la creation
>> de la fenêtre et repérer si c'est une fenêtre du Gimp avec les
>> fonctions xlib:window-name et xlib:get-wm-class et ensuite arranger
>> les frames comme on veut.
>> 
>> Philippe
>> 
>> PS: Cette discution a tout à fait sa place sur la mailing list. Elle
>> est en anglais mais tu peux parler en français et on traduira si le
>> besoin s'en fait sentir. 
>>
>>
>> > bonjour,
>> > 
>> > j'utilise depuis quelques temps clfswm et je le trouve fort
>> > pratique. Je suis d'abord passé par des wm "classiques" comme
>> > métacity puis par ceux un peu moins commun comme wmii sur lequel je
>> > travaille majoritairement encore. Je reste cependant sur clfswm à
>> > la maison. Je n'ai pas encore exploité toutes ses propriétés mais
>> > pour ce que j'y ai déjà découvert c'est tip top. Je n'ai pas encore
>> > tous saisi du fonctionnement et je suis nouveau dans le monde de
>> > common lisp. Donc veuillez excusez mes remarques si elles ne semble
>> > pas fondées.
>> > 
>> > Je me trouve confronter à un problème lorsque je souhaite utiliser
>> > le déplacement de fenêtre en utilisant le raccourci sourie-1 &
>> > mod-1 dans le mode principale. clfswm s'arrête et retourne "*** -
>> > XLIB:GRAB-POINTER: NIL is not of type XLIB:CURSOR". Il arrive la
>> > même chose lorsque je clic sur le fond d'une frame qui n'a pas de
>> > fenêtre et qui n'est pas mise en premier plan.
>> > 
>> > Autrement, existerait-il une méthode permettant de définir une
>> > organisation de frames au lancement d'une application particulière,
>> > par exemple GIMP ? Peut-être en créant un "hook" ?
>> > 
>> > Pour informations, j'utilise une distribution GNU/Linux Ubuntu. Je
>> > lance clfswm avec un script .xsession par GDM. CLFSWM est lancé par
>> > "clisp -K full "$XDG_DATA_HOME/clfswm/load.lisp" & wmpid=$!"
> _______________________________________________
> clfswm-devel mailing list
> clfswm-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel
>
>

-- 
Philippe Brochard    <pbrochard at common-lisp.net>
                      http://hocwp.free.fr




More information about the clfswm-devel mailing list