emacs-devel
[Top][All Lists]
Advanced

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

Re: Emacs's set-frame-size can not work well with gnome-shell?


From: martin rudalics
Subject: Re: Emacs's set-frame-size can not work well with gnome-shell?
Date: Wed, 22 Jan 2020 18:35:50 +0100

> All I'm saying, the users are not really helpful so far, so you might
> be the best person to try debugging the perf problems with Lucid. I'd
> try, but I don't have any.

That was a misunderstanding.  All my debug builds here are too slow for
normal editing.  I keep them all for testing purposes only.  Optimized
builds have certain performance problems but these are not related to
the use of child frames.

> Aaand none of this helped either. Not all 3 hunks together, nor
> combinations (2, 3), (3) or (1).

(1) was a NOOP anyway.  I have to think of something better - the
height specifications for GTK and other X builds are not compatible and
break the behavior even on my build.  I should come up with something
better.

Till then please do the following.  With emacs -Q put this modified
version of tumashu's code into *scratch*


(defun open-test (buffer)
  (display-buffer-in-child-frame
   buffer '((child-frame-parameters
             . ((width . 40)
                (height . 10)
                (top . 50)
                (left . 50)
                )))))

(defun resize-test (frame)
  (set-frame-height frame 20))

(setq-local test-buffer (get-buffer-create "test child-frame"))
(setq-local test-frame (window-frame (open-test test-buffer)))

;; (eval-buffer)
;; (setq frame-size-history '(100))
;; (resize-test test-frame)
;; (frame--size-history test-frame)
;; (display-buffer "*frame-size-history*")


and evaluate from top to bottom each of the commented out forms.  At the
end this gets me a buffer like

Frame size history of #<frame test child-frame 0x5636a0abf9a0>
adjust-frame-size-1      (360 180 360 360) (height 1)
adjust-frame-size-2      (360 180 360 360) (nil nil)
xg-frame-set-char-size-3 (360 180 360 360) (390 360)
xg-frame-resized         (360 180 360 360) nil
adjust-frame-size-1      (360 180 360 360) (change-frame-size 5)
adjust-frame-size-3      (360 180 360 360) (390 180 390 360)

Please do this for the GTK and Lucid build.  And, replace the body of
'resize-test' with your invisible, resize, visible trick and post the
history for that case as well.

Thanks, martin



reply via email to

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