Variable: initial-frame-alist
initial-frame-alist is a customizable variable defined in frame.el.gz.
Value
nil
Documentation
Alist of parameters for the initial window-system (a.k.a. "GUI") frame.
You can set this in your init file; for example,
(setq initial-frame-alist
'((top . 1) (left . 1) (width . 80) (height . 55)))
Parameters specified here supersede the values given in
default-frame-alist.
If the value calls for a frame without a minibuffer, and you have
not created a minibuffer frame on your own, a minibuffer frame is
created according to minibuffer-frame-alist.
Emacs reads your main init file after creating the initial frame,
so setting it there won't have the expected effect. Instead, you
can set it in early-init-file.
If you're using X, and you want (for instance) to have different geometries on different displays, you need to use this three-step process:
* Specify X resources to give the geometry you want.
* Set default-frame-alist to override these options so that they
don't affect subsequent frames.
* Set initial-frame-alist in your normal init file in a way
that matches the X resources, to override what you put in
default-frame-alist.
Probably introduced at or before Emacs version 24.1.
Source Code
;; Defined in /usr/src/emacs/lisp/frame.el.gz
;; The initial value given here used to ask for a minibuffer.
;; But that's not necessary, because the default is to have one.
;; By not specifying it here, we let an X resource specify it.
(defcustom initial-frame-alist nil
"Alist of parameters for the initial window-system (a.k.a. \"GUI\") frame.
You can set this in your init file; for example,
(setq initial-frame-alist
\\='((top . 1) (left . 1) (width . 80) (height . 55)))
Parameters specified here supersede the values given in
`default-frame-alist'.
If the value calls for a frame without a minibuffer, and you have
not created a minibuffer frame on your own, a minibuffer frame is
created according to `minibuffer-frame-alist'.
Emacs reads your main init file after creating the initial frame,
so setting it there won't have the expected effect. Instead, you
can set it in `early-init-file'.
If you're using X, and you want (for instance) to have different
geometries on different displays, you need to use this three-step
process:
* Specify X resources to give the geometry you want.
* Set `default-frame-alist' to override these options so that they
don't affect subsequent frames.
* Set `initial-frame-alist' in your normal init file in a way
that matches the X resources, to override what you put in
`default-frame-alist'."
:type '(repeat (cons :format "%v"
(symbol :tag "Parameter")
(sexp :tag "Value")))
:group 'frames)