unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: martin rudalics <rudalics@gmx.at>
To: Kaushal Modi <kaushal.modi@gmail.com>,
	 Emacs developers <emacs-devel@gnu.org>
Subject: Re: Help using the right hook for loading theme on emacs daemon GUI
Date: Thu, 17 Jan 2019 19:33:14 +0100	[thread overview]
Message-ID: <5C40CA6A.30000@gmx.at> (raw)
In-Reply-To: <CAFyQvY1pMFqpxV15V7s4ckxzEyru2CMOTDjBkWDvqeGG4ky8Kg@mail.gmail.com>

 > I noticed that the windows hooks have been revamped recently in
 > https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=0aece3e1181e66f2a1a067ae876e55bdaa45edd5
 > .
 >
 > But that breaks the theme loading in my config, and I'd like to know the
 > correct way to do the same after this change.
 >
 > 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?

Window change functions are neither related to 'window-setup-hook' nor
to 'after-make-frame-functions'.  Historically, window change
functions can be run for a frame only "after that frame has been made"
and nothing has changed in this regard (hopefully).

I suppose that what you see is Bug#34114.

martin



  parent reply	other threads:[~2019-01-17 18:33 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 [this message]
2019-01-17 20:02   ` Kaushal Modi
2019-01-17 21:50 ` Eli Zaretskii
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=5C40CA6A.30000@gmx.at \
    --to=rudalics@gmx.at \
    --cc=emacs-devel@gnu.org \
    --cc=kaushal.modi@gmail.com \
    /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).