Если вы посоветуете функцию kill-emacs, вы сможете получить желаемую функциональность. У меня есть код, который делает мой фрейм emacs невидимым (скрытым), но вы можете вместо этого сделать иконку с помощью кода, подобного следующему.
(defvar bnb/really-kill-emacs nil)
(defadvice kill-emacs (around bnb/really-exit activate)
"Only kill emacs if a prefix is set"
(if bnb/really-kill-emacs
ad-do-it)
(iconify-frame))
(defun bnb/really-kill-emacs ()
(interactive)
(setq bnb/really-kill-emacs t)
(kill-emacs))
Функция bnb / действительно-kill-emacs определена так, что вы можете при необходимости уничтожить emacs.