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
include sig ... end
val sexp_of_t : t ‑> Base.Sexp.t
include Core_kernel.Equal.S with type t := t
type t
include 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 than List.map symbols ~f:Symbol.to_value.

include sig ... end
val sexp_of_t : t ‑> Base.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 underlying t1 and t2 are physically equal. This is different than phys_equal t1 t2, because we don't always wrap eq Emacs values in phys_equal OCaml values. I.e. phys_equal t1 t2 implies eq t1 t2, but not the converse.

include Ecaml__.Valueable0.S with type t := t
type t
type 'a type_
val of_value_exn : Ecaml__.Value0.t ‑> t
val to_value : t ‑> Ecaml__.Value0.t
val type_ : t type_
val all_in_selected_frame : unit ‑> t list

(describe-function 'window-list)

val is_live : t ‑> bool

(describe-function 'window-live-p).

val body_height_exn : t ‑> int

Accessors

(describe-function 'window-body-height)

val buffer_exn : t ‑> Buffer.t

(describe-function 'window-body-height)

(describe-function 'window-buffer)

val height_exn : t ‑> int

(describe-function 'window-buffer)

(describe-function 'window-height)

val point_exn : t ‑> Position.t

(describe-function 'window-height)

(describe-function 'window-point)

val width_exn : t ‑> int

(describe-function 'window-point)

(describe-function 'window-width)

val set_buffer_exn : ?⁠keep_margins:bool ‑> t ‑> Buffer.t ‑> unit

(describe-function 'set-window-buffer)

val set_point_exn : t ‑> Position.t ‑> unit

(describe-function 'set-window-point)

val delete_exn : t ‑> unit

(describe-function 'delete-window)