Fix font-resizing in child frames #1500
This commit is contained in:
parent
0a7221798b
commit
d27c148e14
1 changed files with 12 additions and 3 deletions
|
@ -32,6 +32,14 @@ acceptable values for this variable.")
|
||||||
(or (x-decompose-font-name fontname)
|
(or (x-decompose-font-name fontname)
|
||||||
(error "Cannot decompose font name")))
|
(error "Cannot decompose font name")))
|
||||||
|
|
||||||
|
(defun doom--frame-list (&optional frame)
|
||||||
|
"Return a list consisting of FRAME and all of FRAME's child frames."
|
||||||
|
(let ((frame (or frame (selected-frame))))
|
||||||
|
(cons (selected-frame)
|
||||||
|
(cl-loop for fr in (frame-list)
|
||||||
|
if (eq (frame-parameter fr 'parent-frame) frame)
|
||||||
|
collect fr))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun doom-adjust-font-size (increment &optional frame)
|
(defun doom-adjust-font-size (increment &optional frame)
|
||||||
"Increase size of font in FRAME by INCREMENT.
|
"Increase size of font in FRAME by INCREMENT.
|
||||||
|
@ -52,7 +60,8 @@ Optional FRAME parameter defaults to current frame."
|
||||||
(setq font (x-compose-font-name font))
|
(setq font (x-compose-font-name font))
|
||||||
(unless (x-list-fonts font)
|
(unless (x-list-fonts font)
|
||||||
(error "Cannot change font size"))
|
(error "Cannot change font size"))
|
||||||
(modify-frame-parameters frame `((font . ,font)))))
|
(dolist (fr (doom--frame-list frame))
|
||||||
|
(modify-frame-parameters fr `((font . ,font))))))
|
||||||
|
|
||||||
|
|
||||||
;;
|
;;
|
||||||
|
@ -87,7 +96,7 @@ Assuming it has been adjusted via `doom/increase-font-size' and
|
||||||
(let ((zoom-factor (frame-parameter nil 'font-scale)))
|
(let ((zoom-factor (frame-parameter nil 'font-scale)))
|
||||||
(if (not zoom-factor)
|
(if (not zoom-factor)
|
||||||
(user-error "Font size hasn't been changed")
|
(user-error "Font size hasn't been changed")
|
||||||
(set-frame-font doom-font t)
|
(set-frame-font doom-font t (doom--frame-list))
|
||||||
(modify-frame-parameters nil '((font-scale)))
|
(modify-frame-parameters nil '((font-scale)))
|
||||||
(run-hooks 'doom-change-font-size-hook))))
|
(run-hooks 'doom-change-font-size-hook))))
|
||||||
|
|
||||||
|
@ -109,6 +118,6 @@ This uses `doom/increase-font-size' under the hood, and enlargens the font by
|
||||||
(set-frame-font (if doom-big-font-mode doom-big-font doom-font)
|
(set-frame-font (if doom-big-font-mode doom-big-font doom-font)
|
||||||
t (list frame))
|
t (list frame))
|
||||||
(run-hooks 'doom-change-font-size-hook))
|
(run-hooks 'doom-change-font-size-hook))
|
||||||
(set-frame-font doom-font t (list frame))
|
(set-frame-font doom-font t (doom--frame-list frame))
|
||||||
(when doom-big-font-mode
|
(when doom-big-font-mode
|
||||||
(doom-adjust-font-size doom-big-font-increment frame)))))
|
(doom-adjust-font-size doom-big-font-increment frame)))))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue