emacs-devel
[Top][All Lists]
Advanced

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

Re: Display-local settings


From: Lőrentey Károly
Subject: Re: Display-local settings
Date: Tue, 20 Apr 2004 06:48:22 +0200
User-agent: Gnus/5.110002 (No Gnus v0.2) Emacs/21.3.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:
>> I think I should mention that the behaviour of make-frame has changed
>> a bit in the multi-tty branch: `frame-creation-function' has been
>> replaced by a window system-dependent `frame-creation-function-alist'.
>> (I know it's an ugly incompatible change--providing an equivalent
>> compatible solution is on my todo list.)
>
> I'm not sure how important is compatibility here: I always thought of this
> variable as an internal one used to communicate between the C and Elisp
> part of the frame management code.

I see; that's good news. :-)

>> But changing the frame creation method is perhaps not the best way to
>> approach this particular problem: if a Lisp package really does need
>> to do window-system specific frame initialization, then I think it
>> should simply hook into after-make-frame-functions, like this:
>
> Sounds right.  As long as this is used early enough that modifying the
> size/position/etc... does not cause any user-visible
> resizing/repositioning/...

Good point; that does not seem to be true for after-make-frame-functions:

(defun my-flicker-test (frame)
  (let ((i 0))
    (while (< (setq i (1+ i)) 20)
      (modify-frame-parameters frame `((top . ,(* 10 i)) (left . ,(* 10 i))))
      (sleep-for 0.01))))

(add-hook 'after-make-frame-functions 'my-flicker-test)
(make-frame-command)

The new window-system-default-frame-alist
support could be easily fixed to prevent flickering, but if packages
need dynamic window-system dependent frame parameter initialization,
then I guess that needs a new hook.

-- 
Károly




reply via email to

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