package ecaml
Library for writing Emacs plugin in OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
v0.17.0.tar.gz
sha256=87e76473915e12d718096100a5c4d15d98aba6f99ecbf21814b7389e8c28bb25
doc/src/ecaml/frame.ml.html
Source file frame.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
open! Core open! Import0 module Q = struct include Q let name = "name" |> Symbol.intern let never = "never" |> Symbol.intern end include Frame0 let other_frame = Funcall.Wrap.("other-frame" <: int @-> return nil) let create = let make_frame = Funcall.Wrap.("make-frame" <: list (tuple Symbol.t value) @-> return t) in fun ?name () -> let parameters = match name with | None -> [] | Some name -> [ Q.name, name |> Value.of_utf8_bytes ] in make_frame parameters ;; let num_cols = Funcall.Wrap.("frame-width" <: t @-> return int) let num_rows = Funcall.Wrap.("frame-height" <: t @-> return int) let pixel_height = Funcall.Wrap.("frame-pixel-height" <: t @-> return int) let pixel_width = Funcall.Wrap.("frame-pixel-width" <: t @-> return int) let frame_parameters = Funcall.Wrap.("frame-parameters" <: t @-> return (list value)) let parameters t = frame_parameters t |> List.map ~f:(fun pair -> if not (Value.is_cons pair) then raise_s [%message "[Frame.parameters] got strange value" ~_:(pair : Value.t)]; Value.car_exn pair |> Symbol.of_value_exn, Value.cdr_exn pair) ;; let is_visible = Funcall.Wrap.("frame-visible-p" <: t @-> return bool) let all_visible = Funcall.Wrap.("visible-frame-list" <: nullary @-> return (list t)) let all_live = Funcall.Wrap.("frame-list" <: nullary @-> return (list t)) module Include_minibuffer = struct module T = struct type t = | Yes | No | Only_if_active [@@deriving enumerate, sexp_of] end include T let never = Q.never |> Symbol.to_value let type_ = Value.Type.enum [%sexp "include-minibuffer"] (module T) (function | Yes -> Value.t | No -> never | Only_if_active -> Value.nil) ;; let t = type_ end let window_list = Funcall.Wrap.( "window-list" <: nil_or t @-> nil_or Include_minibuffer.t @-> nil_or Window0.t @-> return (list Window0.t)) ;; let window_list ?include_minibuffer ?frame () = window_list frame include_minibuffer None let set_selected = Funcall.Wrap.("select-frame" <: t @-> return nil) let set_selected_temporarily sync_or_async t ~f = Save_wrappers.with_selected_frame sync_or_async (to_value t) f ;; let is_live = Funcall.Wrap.("frame-live-p" <: t @-> return bool) let terminal = Funcall.Wrap.("frame-terminal" <: t @-> return Terminal.t) let inherited_parameters = Var.Wrap.("frame-inherited-parameters" <: list Symbol.t) let window_tree = let f = Funcall.Wrap.("window-tree" <: nil_or t @-> return (tuple Window0.Tree.t ignored)) in fun t -> fst (f (Some t)) ;; let modify_all_frames_parameters = Funcall.Wrap.( "modify-all-frames-parameters" <: list (tuple Symbol.t value) @-> return nil) ;;
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>