你可以在初始化文件中设置 initial-frame-alist,
以此指定启动时初始框架的参数(see 初始化文件)。
该变量的值是一个参数关联列表,用于创建初始框架。 你可以设置该变量来指定初始框架的外观,而不影响后续创建的框架。 每个元素的格式为:
(parameter . value)
Emacs 在读取初始化文件之前就会创建初始框架。
读取完该文件后,Emacs 会检查 initial-frame-alist,
并将修改后的参数设置应用到已经创建好的初始框架上。
如果这些设置影响框架的几何属性和外观,你会先看到框架以错误样式显示, 然后再切换为指定的样式。如果对此感到困扰,可以通过 X 资源指定相同的几何与外观设置; X 资源会在框架创建前就生效。See X Resources in The GNU Emacs Manual.
X 资源设置通常对所有框架生效。如果你只想为初始框架设置某些 X 资源,
而不希望它们作用于后续框架,可以按以下方式实现:
在 default-frame-alist 中设置参数,覆盖后续框架的 X 资源;
然后为了避免这些设置影响初始框架,在 initial-frame-alist
中传入与 X 资源一致的参数值。
如果这些参数中包含 (minibuffer . nil),
则表示初始框架不自带迷你缓冲区。
这种情况下,Emacs 会同时创建一个独立的 仅迷你缓冲区框架(minibuffer-only frame)。
该变量的值是一个参数关联列表,用于创建初始的仅迷你缓冲区框架
(即当 initial-frame-alist 指定框架无迷你缓冲区时,Emacs 自动创建的框架)。
这是一个关联列表,用于指定所有 Emacs 框架的默认参数值—— 包括第一个框架以及后续所有框架。 在 X 窗口系统下,很多情况下使用 X 资源也能达到相同效果。
设置该变量不会影响已经存在的框架。 此外,在独立框架中显示缓冲区的函数, 可能会传入自身参数以覆盖默认参数。
如果你通过命令行选项指定框架外观启动 Emacs,
这些选项会通过向 initial-frame-alist 或 default-frame-alist
添加元素来生效。只影响初始框架的选项(如 ‘--geometry’ 和 ‘--maximized’)
会添加到 initial-frame-alist;其他选项则添加到 default-frame-alist。
see Command Line Arguments for Emacs Invocation in The GNU Emacs Manual。