A configuração é específica do quadro: cada quadro tem um parâmetro menu-bar-lines
. Na verdade, menu-bar-mode
faz um loop em todos os quadros para definir esse parâmetro. Para definir o parâmetro para o quadro atual:
(set-frame-parameter (selected-frame) 'menu-bar-lines 1) ; or 0 for off
O próximo passo é definir o parâmetro toda vez que um quadro é criado:
(defun set-frame-menu-bar-lines (frame)
(let ((want-menu (memq (framep frame) '(x w32 ns))))
(set-frame-parameter frame 'menu-bar-lines (if want-menu 1 0))))
(add-hook 'after-make-frame-functions 'set-frame-menu-bar-lines)