i3ipc

A pure OCaml implementation of the i3 IPC protocol
Legend:
Library
Module
Module type
Parameter
Class
Class type
Library i3ipc
Module I3ipc . Reply
type command_outcome = {
success : bool;
error : string option;
}
type rect = {
x : int;
y : int;
width : int;
height : int;
}
type workspace = {
num : int;
name : string;
visible : bool;
focused : bool;
urgent : bool;
rect : rect;
output : string;
}
type output = {
name : string;
active : bool;
current_workspace : string option;
rect : rect;
}
type node_type =
| Root
| Output
| Con
| Floating_con
| Workspace
| Dockarea
type node_border =
| Border_normal
| Border_none
| Border_pixel
type node_layout =
| SplitH
| SplitV
| Stacked
| Tabbed
| Dockarea
| Output
| Unknown of string
type node = {
nodes : node list;
id : int32;
name : string option;
nodetype : node_type;
border : node_border;
current_border_width : int;
layout : node_layout;
percent : float option;
rect : rect;
window_rect : rect;
deco_rect : rect;
geometry : rect;
window : int option;
urgent : bool;
focused : bool;
}
type mark = string
type bar_id = string
type colorable_bar_part =
| Background
| Statusline
| Separator
| FocusedBackground
| FocusedStatusline
| FocusedSeparator
| FocusedWorkspaceText
| FocusedWorkspaceBackground
| FocusedWorkspaceBorder
| ActiveWorkspaceText
| ActiveWorkspaceBackground
| ActiveWorkspaceBorder
| InactiveWorkspaceText
| InactiveWorkspaceBackground
| InactiveWorkspaceBorder
| UrgentWorkspaceText
| UrgentWorkspaceBackground
| UrgentWorkspaceBorder
| BindingModeText
| BindingModeBackground
| BindingModeBorder
| Undocumented of string
type bar_colors = string Bar_parts_map.t
type bar_config = {
id : string;
mode : string;
position : string;
status_command : string;
font : string;
workspace_buttons : bool;
binding_mode_indicator : bool;
verbose : bool;
colors : bar_colors;
}
type version = {
major : int;
minor : int;
patch : int;
human_readable : string;
loaded_config_file_name : string;
}

Pretty-printing

val pp_command_outcome : Format.formatter -> command_outcome -> unit
val pp_rect : Format.formatter -> rect -> unit
val pp_workspace : Format.formatter -> workspace -> unit
val pp_output : Format.formatter -> output -> unit
val pp_node_type : Format.formatter -> node_type -> unit
val pp_node_border : Format.formatter -> node_border -> unit
val pp_node_layout : Format.formatter -> node_layout -> unit
val pp_node : Format.formatter -> node -> unit
val pp_colorable_bar_part : Format.formatter -> colorable_bar_part -> unit
val pp_bar_colors : Format.formatter -> bar_colors -> unit
val pp_bar_config : Format.formatter -> bar_config -> unit
val pp_version : Format.formatter -> version -> unit