Function: frame-parameters

frame-parameters is a function defined in frame.c.

Signature

(frame-parameters &optional FRAME)

Documentation

Return the parameters-alist of frame FRAME.

It is a list of elements of the form (PARM . VALUE), where PARM is a symbol. The meaningful PARMs depend on the kind of frame. If FRAME is nil or omitted, it defaults to the selected frame.

View in manual

Source Code

// Defined in /usr/src/emacs/src/frame.c
{
  struct frame *f = decode_any_frame (frame);

  XSETFRAME (frame, f);

  Lisp_Object alist = Fcopy_alist (f->param_alist);

  if (FRAME_LIVE_P (f))
    for (int i = 0; i < countof (frame_parms); i++)
      {
	int sym = frame_parms[i].sym;

	eassert (sym >= 0 && sym < countof (lispsym));

	Lisp_Object parameter = builtin_lisp_symbol (sym);
	Lisp_Object value = frame_get_param_value (f, parameter);

	/* Update alist for parameters whose value is not already in
	   FRAME->param_alist.  Other parameters are already in alist
	   copied from FRAME->param_alist.  */
	if (!EQ (value, Qunbound))
	  store_in_alist (&alist, parameter, value);
      }

  return alist;
}