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.ctl/cmd_output_focus.ml.html

Source file cmd_output_focus.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
open! Oxbow_core
open! Oxbow_ipc

let dir_command dir =
  let open Cmdliner.Term.Syntax in
  let+ warp = Ctl_cli.warp_flag in
  let open Direction in
  match dir with
  | Logical dir -> Command.Output (Focus_logical { dir; warp })
  | Spatial dir -> Command.Output (Focus_spatial { dir; warp })
;;

let dir_leaf (name, dir) =
  Ctl_cli.cmd_pair ~name ~doc:(Printf.sprintf "Focus the %s output" name)
  @@ dir_command dir
;;

let name = "focus"
let doc = "Focus an output by direction or match pattern"

let cmd, bind_cmd =
  Ctl_cli.group_pair ~name ~doc
  @@ [ Cmd_output_focus_match.(cmd, bind_cmd) ]
  @ List.map dir_leaf Ctl_cli.direction_targets
;;