Crate i3ipc

Source
Expand description

A library for controlling i3-wm through its ipc interface.

Using I3Connection you could send a command or get the hierarchy of containers. With I3EventListener you could listen for when the focused window changes. One of the goals is is to make this process as fool-proof as possible: usage should follow from the type signatures.

The types in the event and reply modules are near direct translations from the JSON used to talk to i3. The relevant documentation (meaning of each json object and field) is shamelessly stolen from the site and put into those modules.

This library should cover all of i3’s documented ipc features. If it’s missing something please open an issue on github.

Modules§

event
Abstractions for the events passed back from i3.
reply
Abstractions for the replies passed back from i3.

Structs§

EventIterator
Iterates over events from i3.
I3Connection
Abstraction over an ipc socket to i3. Handles messages/replies.
I3EventListener
Abstraction over an ipc socket to i3. Handles events.

Enums§

EstablishError
An error initializing a connection.
MessageError
An error sending or receiving a message.
Subscription
A subscription for I3EventListener