diff --git a/layers/+distributions/spacemacs-base/funcs.el b/layers/+distributions/spacemacs-base/funcs.el index 45864c426..1cc8fbbee 100644 --- a/layers/+distributions/spacemacs-base/funcs.el +++ b/layers/+distributions/spacemacs-base/funcs.el @@ -1034,6 +1034,15 @@ is nonempty." (when (or 'linum-mode global-linum-mode) (linum-mode 0))) +(defun linum-update-window-scale-fix (win) + "Fix linum for scaled text in the window WIN." + (set-window-margins win + (ceiling (* (if (boundp 'text-scale-mode-step) + (expt text-scale-mode-step + text-scale-mode-amount) 1) + (if (car (window-margins)) + (car (window-margins)) 1))))) + ;; Generalized next-error system ("gne") diff --git a/layers/+distributions/spacemacs-base/packages.el b/layers/+distributions/spacemacs-base/packages.el index 3a711adbd..c1d684e6b 100644 --- a/layers/+distributions/spacemacs-base/packages.el +++ b/layers/+distributions/spacemacs-base/packages.el @@ -239,7 +239,8 @@ (spacemacs|add-toggle line-numbers :mode linum-mode :documentation "Show the line numbers." - :evil-leader "tn")) + :evil-leader "tn") + (advice-add #'linum-update-window :after #'linum-update-window-scale-fix)) (defun spacemacs-base/init-occur-mode () (evilified-state-evilify-map occur-mode-map