2

When I run emacs, everything is ok, my init.el is read. However, after starting a daemon (emacs --daemon), an emacsclient GUI frame (emacsclient -c) is not configured for the following setting:

  • font size
(set-face-attribute 'default nil :font "Inconsolata-12.5")
  • icons in the mode line (doom mode line)
(use-package doom-modeline
  :init (doom-modeline-mode 1))
  • ivy package (until I use it)
(use-package ivy
  :diminish
  :bind (("C-s" . swiper)
     :map ivy-minibuffer-map
     ("TAB" . ivy-alt-done)
     ("C-l" . ivy-alt-done)
     ("C-j" . ivy-next-line)
     ("C-k" . ivy-previous-line)
     :map ivy-switch-buffer-map
     ("C-k" . ivy-previous-line)
     ("C-l" . ivy-done)
     ("C-d" . ivy-switch-buffer-kill)
     :map ivy-reverse-i-search-map
     ("C-k" . ivy-previous-line)
     ("C-d" . ivy-reverse-i-search-kill))
  :config
  (ivy-mode 1))

Here and here, it is mentioned that Emacs daemon doesn't know about the graphical frame, so every/some option that is needed for GUI is sort of neglected. In my init.el I commented out every line that has that option, but it didn't help.

I couldn't find anything helpful in the Emacs or Emacsclient manuals. Are there any arguments that I should add when starting Emacs daemon (other than --daemon) or emacsclient (other than -c)? or do I have to edit init.el file?

Debian Buster/Sid -- Emacs version: 27.1

NickD
  • 27,023
  • 3
  • 23
  • 42
ali b
  • 163
  • 6
  • 2
    Have you tried calling `set-face-attribute` from `after-make-frame-functions`? The Emacs daemon reads your `user-init-file` with a dummy initial frame that is never shown, so settings against that frame don't usually affect normal frames created thereafter with `emacsclient -t` or `emacsclient -c`. – Basil Nov 05 '20 at 13:41
  • I couldn't figure out how to do that call. could you give me hint? – ali b Nov 06 '20 at 05:57
  • 2
    `(add-hook 'after-make-frame-functions (lambda (f) (set-face-attribute 'default f :font "Inconsolata-12.5")))` – Basil Nov 06 '20 at 07:23
  • 1
    BTW, see [`(info "(emacs) Fonts")`](https://www.gnu.org/software/emacs/manual/html_node/emacs/Fonts.html) for preferred ways of changing the font. – Basil Nov 06 '20 at 07:25
  • It works. Thanks Basil!! – ali b Nov 06 '20 at 07:26

0 Answers0