Variable: ediff-window-setup-function
ediff-window-setup-function is a customizable variable defined in
ediff-wind.el.gz.
Value
ediff-setup-windows-default
Documentation
Function called to set up windows.
Ediff provides a choice of three functions:
(1) ediff-setup-windows-multiframe, which sets the control panel
in a separate frame.
(2) ediff-setup-windows-plain, which does everything in one frame
(3) ediff-setup-windows-default (the default), which does (1)
on a graphical display and (2) on a text terminal.
The command M-x ediff-toggle-multiframe (ediff-toggle-multiframe) can be used to toggle
between the multiframe display and the single frame display. If
the multiframe function detects that one of the buffers A/B is
seen in some other frame, it will try to keep that buffer in that
frame.
If you don't like any of the two provided functions, write your own one.
The basic guidelines:
1. It should leave the control buffer current and, if showing,
the control window selected if showing these windows.
2. It should set ediff-window-A, ediff-window-B, ediff-window-C,
and ediff-control-window to contain window objects that display
the corresponding buffers or nil if the corresponding window
is not shown.
3. It should accept the following arguments:
buffer-A, buffer-B, buffer-C, control-buffer
Buffer C may not be used in jobs that compare only two buffers.
If you plan to do something fancy, take a close look at how the two
provided functions are written.
Set ediff-select-control-window-on-setup to nil to prevent the window
ediff-control-window being selected by ediff after this
function returns.
This variable was added, or its default value changed, in Emacs 24.3.
Probably introduced at or before Emacs version 31.1.
Source Code
;; Defined in /usr/src/emacs/lisp/vc/ediff-wind.el.gz
(defcustom ediff-window-setup-function #'ediff-setup-windows-default
"Function called to set up windows.
Ediff provides a choice of three functions:
(1) `ediff-setup-windows-multiframe', which sets the control panel
in a separate frame.
(2) `ediff-setup-windows-plain', which does everything in one frame
(3) `ediff-setup-windows-default' (the default), which does (1)
on a graphical display and (2) on a text terminal.
The command \\[ediff-toggle-multiframe] can be used to toggle
between the multiframe display and the single frame display. If
the multiframe function detects that one of the buffers A/B is
seen in some other frame, it will try to keep that buffer in that
frame.
If you don't like any of the two provided functions, write your own one.
The basic guidelines:
1. It should leave the control buffer current and, if showing,
the control window selected if showing these windows.
2. It should set `ediff-window-A', `ediff-window-B', `ediff-window-C',
and `ediff-control-window' to contain window objects that display
the corresponding buffers or `nil' if the corresponding window
is not shown.
3. It should accept the following arguments:
buffer-A, buffer-B, buffer-C, control-buffer
Buffer C may not be used in jobs that compare only two buffers.
If you plan to do something fancy, take a close look at how the two
provided functions are written.
Set `ediff-select-control-window-on-setup' to nil to prevent the window
`ediff-control-window' being selected by ediff after this
function returns. "
:type '(choice (const :tag "Choose Automatically" ediff-setup-windows-default)
(const :tag "Multi Frame" ediff-setup-windows-multiframe)
(const :tag "Single Frame" ediff-setup-windows-plain)
(function :tag "Other function"))
:version "24.3")