package oxbow

  1. Overview
  2. Docs
Dynamic window manager for the river Wayland compositor

Install

dune-project
 Dependency

Authors

Maintainers

Sources

v0.1.1.tar.gz
md5=a182e6d368a65e6752771e41e651713f
sha512=020d2c7f9f4e06966ca56695e24eb0b41dd12500aa65d2cd9b56e03068bbb6ea7770de0a33c04f0d054bd474bee8c2b36bb46af86266c9823490e1bd0810c027

doc/oxbow.layout/Oxbow_layout/Strip/index.html

Module Oxbow_layout.StripSource

Sourcemodule Item : sig ... end
Sourceval split : total:int -> count:int -> int list

split ~total ~count is an int list of length count, where each element is equal to total / count. If total mod count <> 0 then total mod count elements are eqaul to (total / count) + 1.

Sourceval columns : consumes:('a -> bool) -> 'a list -> 'a list list

columns ~consumes items groups items into columns. A new column starts at each item whose predecessor does not consume. The concatenation of the result is items.

Sourceval layout : usable:int Oxbow_core.Rect.canonical -> offset:int -> ('a * Item.t) list -> ('a * int Oxbow_core.Rect.canonical) list

layout ~usable ~offset items is the canonical-space geometry of items arranged as full-height columns on a horizontal strip, in order. Column width is the head item's width_fac * usable width (min 1); windows within a column split the height evenly. Strip x offset is subtracted, so rects may lie outside usable. Callers apply Gaps.post.

Sourceval scroll : align:Oxbow_core.Align.t -> viewport_w:int -> max_offset:int -> offset:int -> col:(int * int) -> int

scroll ~align ~viewport_w ~max_offset ~offset ~col:(x, w) is the strip offset after applying align to the focused column col, where x is its strip-relative position (offset-0 placement minus the usable origin), w its width. max_offset is the strip-relative x of the last column. For Left and Visible the result is clamped to 0, max 0 max_offset, so stale offsets self-heal and the tail column can anchor at the left edge.