Crate i3ipc [] [src]

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