Module Ecaml.Window
A "window" in Emacs is the physical area of the screen in which a buffer is displayed.
Each window has its own value of point, independent of the value of point in other windows displaying the same buffer. This makes it useful to have multiple windows showing one buffer.
A window is "live" as long as it displays a buffer. All functions other than is_live
raise if supplied a t
such that not (is_live t)
.
(Info-goto-node "(elisp)Windows")
.
type t
= Ecaml__.Window0.t
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
include Ecaml__.Import.Value.Subtype with type t := t
type value
type t
= private value
We expose
private value
for free identity conversions when the value is nested in some covariant type, e.g.(symbols : Symbol.t list :> Value.t list)
rather thanList.map symbols ~f:Symbol.to_value
.
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val eq : t -> t -> bool
eq t1 t2 = Value.eq (to_value t1) (to_value t2)
, i.e.eq
checks whether the Emacs values underlyingt1
andt2
are physically equal. This is different thanphys_equal t1 t2
, because we don't always wrapeq
Emacs values inphys_equal
OCaml values. I.e.phys_equal t1 t2
implieseq t1 t2
, but not the converse.
val is_in_subtype : value -> bool
include Ecaml_value__.Valueable0.S with type t := t
val of_value_exn : Ecaml_value__.Value0.t -> t
val to_value : t -> Ecaml_value__.Value0.t
val type_ : t type_
val t : t type_
module Include_minibuffer : sig ... end
val all_in_selected_frame : ?include_minibuffer:Include_minibuffer.t -> unit -> t list
(describe-function 'window-list)
val is_live : t -> bool
(describe-function 'window-live-p)
.
val body_height_exn : t -> int
(describe-function 'window-body-height)
val buffer_exn : t -> Ecaml__.Import.Buffer.t
(describe-function 'window-buffer)
val get_buffer_window : Ecaml__.Import.Buffer.t -> t
(describe-function 'get-buffer-window)
val height_exn : t -> int
(describe-function 'window-height)
val point_exn : t -> Position.t
(describe-function 'window-point)
val width_exn : t -> int
(describe-function 'window-width)
val set_buffer_exn : ?keep_margins:bool -> t -> Ecaml__.Import.Buffer.t -> unit
(describe-function 'set-window-buffer)
val set_point_exn : t -> Position.t -> unit
(describe-function 'set-window-point)
val set_window_margins : ?left_margin:int -> ?right_margin:int -> t -> unit
(Info-goto-node "(elisp)Display Margins")
(describe-function 'set-window-margins)
val delete_exn : t -> unit
(describe-function 'delete-window)
val delete_other_windows : t option -> unit
(describe-function 'delete-other-windows)
val start : t -> Position.t
(describe-function 'window-start)
val set_start : t -> Position.t -> unit
(describe-function 'set-window-start)
val end_ : ?update:bool -> t -> Position.t
(describe-function 'window-end)
val fit_to_buffer : ?max_columns:int -> ?max_lines:int -> ?min_columns:int -> ?min_lines:int -> ?preserve_size:bool -> t -> unit
(describe-function 'fit-window-to-buffer)
module Tree = Ecaml__.Window0.Tree