Module I3ipc.Event

Type definitions for the events that can be subscribed to.

type workspace_change =
| Focus
| Init
| Empty
| Urgent
type workspace_event_info = {
change : workspace_change;
current : Reply.node option;
old : Reply.node option;
}
type output_change =
| Unspecified
type output_event_info = {
change : output_change;
}
type mode_event_info = {
change : string;
pango_markup : bool;
}
type window_change =
| New
| Close
| Focus
| Title
| FullscreenMode
| Move
| Floating
| Urgent
| Mark
type window_event_info = {
change : window_change;
container : Reply.node;
}
type bar_config_event_info = {
bar_config : Reply.bar_config;
}
type binding_change =
| Run
type input_type =
| Keyboard
| Mouse
type binding = {
command : string;
event_state_mask : string list;
input_code : int;
mods : string list option;
symbol : string option;
input_type : input_type;
}
type binding_event_info = {
change : binding_change;
binding : binding;
}
type shutdown_reason =
| Restart

i3 is shutting down due to a restart requested by the user

| Exit

i3 is shutting down due to an exit requested by the user

type tick_event_info = {
first : bool;
payload : string;
}
type t =
| Workspace of workspace_event_info

Sent when the user switches to a different workspace, when a new workspace is initialized or when a workspace is removed (because the last client vanished).

| Output of output_event_info

Sent when RandR issues a change notification (of either screens, outputs, CRTCs or output properties).

| Mode of mode_event_info

Sent whenever i3 changes its binding mode.

| Window of window_event_info

Sent when a client’s window is successfully reparented (that is when i3 has finished fitting it into a container), when a window received input focus or when certain properties of the window have changed.

| BarConfig of bar_config_event_info

Sent when the hidden_state or mode field in the barconfig of any bar instance was updated and when the config is reloaded.

| Binding of binding_event_info

Sent when a configured command binding is triggered with the keyboard or mouse

| Shutdown of shutdown_reason

Sent when the ipc shuts down because of a restart or exit by user command.

Important note: immediately after the client program receives a Shutdown event i3 wil close the socket with the client and an exception Protocol_error will be raised by this library: if you want your program survive an i3 restart, you must subscribe to this event and handle the subsequent exception.

| Tick of tick_event_info

This event is triggered by a subscription to tick events or by a SEND_TICK message.

Pretty-printing

val pp_workspace_change : Stdlib.Format.formatter -> workspace_change -> unit
val pp_workspace_event_info : Stdlib.Format.formatter -> workspace_event_info -> unit
val pp_output_change : Stdlib.Format.formatter -> output_change -> unit
val pp_output_event_info : Stdlib.Format.formatter -> output_event_info -> unit
val pp_mode_event_info : Stdlib.Format.formatter -> mode_event_info -> unit
val pp_window_change : Stdlib.Format.formatter -> window_change -> unit
val pp_window_event_info : Stdlib.Format.formatter -> window_event_info -> unit
val pp_bar_config_event_info : Stdlib.Format.formatter -> bar_config_event_info -> unit
val pp_binding_change : Stdlib.Format.formatter -> binding_change -> unit
val pp_input_type : Stdlib.Format.formatter -> input_type -> unit
val pp_binding : Stdlib.Format.formatter -> binding -> unit
val pp_binding_event_info : Stdlib.Format.formatter -> binding_event_info -> unit
val pp_shutdown_reason : Stdlib.Format.formatter -> shutdown_reason -> unit
val pp_tick_event_info : Stdlib.Format.formatter -> tick_event_info -> unit
val pp : Stdlib.Format.formatter -> t -> unit