package oxbow
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Dynamic window manager for the river Wayland compositor
Install
dune-project
Dependency
Authors
Maintainers
Sources
v0.1.0.tar.gz
md5=a637acaa0e19046cd65fff733874eb97
sha512=76230cbecd7510de7a05b5d1f335915ef7b6c4aa557d8dbfd23591606618d2cfa25082d17b93f2f4b53a118d1cbf6a80e4ad51cf0f099b4921fb83d6df0c9801
doc/src/oxbow.state/wm.ml.html
Source file wm.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 72include Types.Wm module Lifecycle = struct include Types.Wm.Lifecycle let to_string = function | Running -> "running" | Pending_exit `Local -> "pending_exit(local)" | Pending_exit `Compositor -> "pending_exit(compositor)" | Exited -> "exited" | Close_requested -> "close_requested" ;; end let focused_output (wm : t) = Option.bind wm.primary_seat @@ fun s -> s.output let default_output (wm : t) = match focused_output wm with | Some _ as o -> o | None -> List.nth_opt wm.outputs 0 ;; let ensure_seat_output (wm : t) (seat : Types.Seat.t) = match seat.output with | Some _ -> () | None -> default_output wm |> Seat.focus_output seat ;; let set_primary_seat (wm : t) seat = wm.primary_seat <- seat let set_outputs (wm : t) outputs = wm.outputs <- outputs let set_windows (wm : t) windows = wm.windows <- windows let set_seats (wm : t) seats = wm.seats <- seats let set_lifecycle (wm : t) lifecycle = wm.lifecycle <- lifecycle let set_keymap (wm : t) keymap = wm.keymap <- keymap let set_desired_keymap_path (wm : t) path = wm.desired_keymap_path <- path let set_init_handle (wm : t) script = wm.init_handle <- script let set_input_devices (wm : t) devices = wm.input_devices <- devices let add_xkb_stash (wm : t) device xkb = if not @@ List.mem_assoc device wm.xkb_stash then wm.xkb_stash <- (device, xkb) :: wm.xkb_stash ;; let remove_xkb_stash (wm : t) device = wm.xkb_stash <- List.filter (fun (d, _) -> not @@ Int32.equal d device) wm.xkb_stash ;; let find_xkb_stash_opt (wm : t) device = List.assoc_opt device wm.xkb_stash let add_input_device (wm : t) device = set_input_devices wm @@ (device :: wm.input_devices); remove_xkb_stash wm @@ Input_device.id device.obj ;; let remove_input_device (wm : t) device = set_input_devices wm @@ List.filter (fun e -> e != device) wm.input_devices; Input_device.remove_device device ;; let find_input_device_opt (wm : t) id = List.find_opt (fun (d : Types.Input_device.t) -> Input_device.id d.obj = id) wm.input_devices ;; let add_subscriber (wm : t) sub = wm.ipc.subscribers <- sub :: wm.ipc.subscribers let remove_subscriber (wm : t) sub = wm.ipc.subscribers <- List.filter (( != ) sub) wm.ipc.subscribers ;; let set_session_locked (wm : t) b = wm.session_locked <- b
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>