go-i3/doc.go

23 lines
1.1 KiB
Go
Raw Permalink Normal View History

2023-10-22 16:19:10 +02:00
// Package i3 provides a convenient interface to the i3 window manager.
//
// Its function and type names dont stutter, and all functions and methods are
// safe for concurrent use (except where otherwise noted). The package does not
// import "unsafe" and hence should be widely applicable.
//
// UNIX socket connections to i3 are transparently managed by the package. Upon
// any read/write errors on a UNIX socket, the package transparently retries for
// up to 10 seconds, but only as long as the i3 process keeps running.
//
// The package is published in versioned releases, where the major and minor
// version are identical to the i3 release the package is compatible with
// (e.g. 4.14 implements the entire documented IPC interface of i3 4.14).
//
// This package will only ever receive additions, so versioning should only be
// relevant to you if you are interested in a recently-introduced IPC feature.
//
// Message type functions and event types are annotated with the i3 version in
// which they were introduced. Under the covers, they use AtLeast, so they
// return a helpful error message at runtime if the running i3 version is too
// old.
package i3