package oxbow

  1. Overview
  2. Docs
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.core/window_rule.ml.html

Source file window_rule.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
open! Ppx_yojson_conv_lib.Yojson_conv

module Effects = struct
  module Output = struct
    type t =
      { name : string
      ; policy : Tag.Policy.t
      }
    [@@deriving yojson]
  end

  module Presentation = struct
    type t =
      | Float [@name "float"]
      | Tile [@name "tile"]
      | Fullscreen [@name "fullscreen"]
      | Windowed [@name "windowed"]
      | Maximize [@name "maximize"]
      | Fake_fullscreen [@name "fake_fullscreen"]
    [@@deriving yojson]
  end

  module Resize_to = struct
    type t =
      { w : Extent.t
      ; h : Extent.t
      }
    [@@deriving yojson]
  end

  module Move_to = struct
    type t =
      { x : Extent.t
      ; y : Extent.t
      }
    [@@deriving yojson]
  end

  type t =
    { output : Output.t option [@yojson.option]
    ; tags : Tag.Arg.t option [@yojson.option]
    ; presentation : Presentation.t option [@yojson.option]
    ; resize_to : Resize_to.t option [@yojson.option]
    ; move_to : Move_to.t option [@yojson.option]
    ; sticky : Sticky.t option [@yojson.option]
    ; scratchpad : string option [@yojson.option]
    ; swallow : Swallow_role.t option [@yojson.option]
    ; label_as : string option [@yojson.option]
    ; spawn_position : Spawn_position.t option [@yojson.option]
    ; spawn_focus : bool option [@yojson.option]
    }
  [@@deriving yojson]

  let merge = Json_slots.merge yojson_of_t t_of_yojson
  let is_empty = Json_slots.is_empty yojson_of_t
end

type t =
  { pattern : Window_pattern.t
  ; effects : Effects.t
  }
[@@deriving yojson]