package oxbow

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

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

let command_term dir =
  let open Cmdliner in
  let open Cmdliner.Term.Syntax in
  let+ until_release =
    Arg.(
      value
      & opt (some string) None
      & info
          [ "until-release" ]
          ~docv:"MODS"
          ~doc:"Close the overview when $(docv) modifiers are released")
  in
  Command.Output (Cycle_overview { dir; until_release })
;;

let mk_leaf mk_term (name, dir) =
  Ctl_cli.cmd
    ~name
    ~doc:(Printf.sprintf "Move the overview selection to the %s window" name)
  @@ mk_term
  @@ command_term dir
;;

let name = "cycle"
let doc = "Cycle the overview selection through the focus stack"

let cmd, bind_cmd =
  Ctl_cli.group_pair ~name ~doc
  @@ List.map
       (fun leaf -> Ctl_cli.(mk_leaf command_term leaf, mk_leaf bind_term leaf))
       Ctl_cli.logical_targets
;;