Context: I run emacs as a daemon.
Problem: I have an emacs module (gmail-notifier) loading on emacs-startup in my .emacs which makes reference to a private file stored as a .gpg. Since this tries to load on start-up, it asks for the encryption password on startup. The problem with this is (1) it doesn't actually work: for some reason I get a "wrong number of arguments error" and (2) even if it did work, it would be inconvenient, since I have the emacs daemon autoload on boot-up.
What would seem ideal is to only have the .gpg loaded once an emacsclient frame is opened. This page (http://splash-of-open-sauce.blogspot.com/2011/02/securing-your-private-email-credentials_7309.html ) discusses a similar situation, and suggests doing something like this:
(defun load-secure-config(frame)
(require 'my-config "my-config.gpg"))
(add-hook 'after-make-frame-functions 'load-secure-config)
Essentially putting the reference to the .gpg file in a function which is only called once the "make-frame-functions" have run.
This seems like a good solution but didn't work for me. Using it resulted in emacs completely freezing as soon as I opened an emacsclient frame.
Is there another way of delaying the calling of a function until after an emacsclient is opened?