One last question :) Is this the right way to initialize desktop-mode after frames are made then? (defun desktop-init (_frame) (desktop-save-mode) (desktop-read) 0) (add-hook 'after-make-frame-functions 'desktop-init) It seems that those functions are expected to return a number, hence the 0.