unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Kaushal Modi <kaushal.modi@gmail.com>
Cc: rudalics@gmx.at, emacs-devel@gnu.org
Subject: Re: Help using the right hook for loading theme on emacs daemon GUI
Date: Thu, 17 Jan 2019 23:50:16 +0200	[thread overview]
Message-ID: <83a7jzc5t3.fsf@gnu.org> (raw)
In-Reply-To: <CAFyQvY1pMFqpxV15V7s4ckxzEyru2CMOTDjBkWDvqeGG4ky8Kg@mail.gmail.com> (message from Kaushal Modi on Thu, 17 Jan 2019 10:44:05 -0500)

> From: Kaushal Modi <kaushal.modi@gmail.com>
> Date: Thu, 17 Jan 2019 10:44:05 -0500
> 
> At present, I have this in my config:
> 
> =====
> 
> ;; Load the theme ONLY after the frame has finished loading (needed especially
> ;; when running emacs in daemon mode)
> ;; https://github.com/Malabarba/smart-mode-line/issues/84#issuecomment-46429893
> ;; ;; `after-make-frame-functions' hook is not run in no-window mode
> ;; (add-hook 'after-make-frame-functions (lambda (&rest frame)
> ;;                                         (funcall default-theme-fn)))
> (add-hook 'window-setup-hook (lambda () (funcall default-theme-fn)))
> =====
> 
> The `default-theme-fn' is just a wrapper function that `load-theme's my theme.
> 
> Earlier, on launching emacsclient, that function would get called after the frame loading finished.
> 
> But with the recent change, that function probably gets called before the frame loading has finished, and so
> the function is ineffective.
> 
> If I manually load my theme after the frame launches, I get my old theme back.
> 
> So, what should I replace `window-setup-hook' with that runs in both -nw mode and GUI mode emacsclient?

Emacs 27 has server-after-make-frame-function which you could use.



  parent reply	other threads:[~2019-01-17 21:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-17 15:44 Help using the right hook for loading theme on emacs daemon GUI Kaushal Modi
2019-01-17 15:49 ` Kaushal Modi
2019-01-17 15:55   ` Eli Zaretskii
2019-01-17 16:04     ` Kaushal Modi
2019-01-17 19:28       ` Daniel Colascione
2019-01-17 18:33 ` martin rudalics
2019-01-17 20:02   ` Kaushal Modi
2019-01-17 21:50 ` Eli Zaretskii [this message]
2019-01-22 20:25   ` Kaushal Modi
2019-01-18  3:47 ` Phil Sainty
2019-01-22 20:27   ` Kaushal Modi
2019-01-23 22:00     ` Phil Sainty
2019-01-24  3:47     ` Phil Sainty
2019-01-24 14:11       ` Eli Zaretskii
2019-01-24 19:17         ` Phil Sainty
2019-01-24 19:44           ` Eli Zaretskii
2019-01-24 21:16             ` Phil Sainty
2019-01-25  1:42               ` Phil Sainty
2019-01-25  7:20                 ` Eli Zaretskii
2019-01-25  7:13               ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=83a7jzc5t3.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=kaushal.modi@gmail.com \
    --cc=rudalics@gmx.at \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).