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

Listener sizing bug

   From: Ranson <ranson@lannion.cnet.fr>
   X400-Received: by /PRMD=inria/ADMD=atlas/C=FR/; Relayed; 28 May 91
   X400-Received: by /PRMD=CNET/ADMD=ATLAS/C=FR/; Relayed; 28 May 91
       09:28:00 GMT
   To: bug-mcl@cambridge.apple.com,  info-macl@cambridge.apple.com
   Cc: ranson@lannion.cnet.fr
   (Using 2.0b1p2)
   I like my windows full-screen, so I have changed the various global variables
   accordingly (including the *listener- ones). This works fine for Fred windows,
   but not for the Listener. It opens where I want is, then is automatically
   moved and resized! What is the purpose of having customization parameters if
   they are overridden?
        Daniel Ranson (ranson@lannion.cnet.fr)
Without a description of the size(s) & position(s) of your monitor(s) and
variables, I can only guess at what's going wrong. Sounds like the
WINDOW-ENSURE-ON-SCREEN mechanism is causing your window to be relocated
and resized. When a window is opened, the generic-function
WINDOW-ENSURE-ON-SCREEN is called to make sure that it is completely
visible. The system-supplied method (specialized on the WINDOW class) moves
the window to the default position (upper left hand cornder of the main
screen) if it is not completely visible, then resizes it to the default
size if it is still not completely visible. You need to provide your own
method for this generic-function if you want to prevent windows that are
not completely visible from being moved and resized.  Maybe you'd prefer:

; Keep the listener where I put it
(defmethod window-ensure-on-screen ((window listener) &optional
                                    default-position default-size)
  (declare (ignore default-position default-size)))