如何让menu-bar 显示的时候不改变frame的大小

系统环境 :win10 emacs

问题:我的一个frame在启动的时候用了 set-frame-parameter 设置成全屏显示

(set-frame-parameter (selected-frame) 'fullscreen  'maximized)

两个函数hide-all-bar 和 show-all-bar 用来显示各种bar

(defun hide-all-bar ()
  (interactive)
  (menu-bar-mode -1)
  (tool-bar-mode -1)
  (scroll-bar-mode -1))

(defun show-all-bar ()
  (interactive)
  (menu-bar-mode 1)
  (tool-bar-mode 1)
  (scroll-bar-mode 1))

但是我发现在调用show bar的时候或者单独显示menubar的时候总是会把我的frame还原成原来的大小,有没有什么函数能够让其显示bar的同时不改变frame的大小?

搜索了一下谷歌和gpt没有好的解决方法,来论坛里问问。

试试这个:

(setq frame-inibit-implied-resize t)

没有效果 很奇怪的是我用emacs -q的方式打开后hide和show这些bar却不会导致这个问题。暂时确定是我其它配置引起的应该是。