Emacs daemonでウィンドウサイズや透過設定を有効にする方法

以前Emacs daemonでemacsclientとして起動することで、Emacsの起動を速くする方法を書きました。
ゆたりんブログ: emacs23.1がリリース daemon機能を試用してみる
もう何年も前の記事なので、いま使ってる設定とは少し違います。そのへんはまた機会があれば記事を書こうと思います。

さて、この方法で起動するとEmacsでウィンドウサイズや透過設定をしていてもそれが無効になってしまうようです。daemonではなく通常のEmacsの起動ではちゃんと機能しました。
どうやらdaemonでそれらを指定するときは別の設定が必要なようです。
検索してみると以下のサイトが見つかりました。
elisp - Emacs: Get new-frame and emacsclient -c to use set frame size? - Stack Overflow
読んでみると、とりあえず以下の設定を加えることでウィンドウサイズや透過設定が有効に出来るようです。
(以下は個人的な設定で必要ないところはコメントアウトしてます)

(add-hook 'before-make-frame-hook
          #'(lambda ()
;             (add-to-list 'default-frame-alist '(left   . 0))
;             (add-to-list 'default-frame-alist '(top    . 0))
;             (add-to-list 'default-frame-alist '(height . 70))
              (add-to-list 'default-frame-alist '(width  . 100))
              (add-to-list 'default-frame-alist '(alpha . 85))))

コメント