github Zhaith-Izaliel/iio-niri v2.0.0

8 hours ago

This release deeply changes IIO-Niri, adding a way to communicate with a running instance using its own IPC. It introduces a breaking change to >1.3.0 interface.

Breaking Changes

  • The old command line interface is now behind the listen sub-command. You now need to run iio-niri listen <args> for the same behavior pre-1.3.0

IPC

It is now possible to modify the state of a running instance of IIO-Niri using its own IPC.

You can send an action to the IPC using iio-niri msg <action> [arguments].

Each action is documented with its own --help argument.

When a request is received and processed, IIO-Niri returns a response as a JSON formatted string, in the form:

{
  "status": <either "ok" or "error">,
  "response": <a string if the status is "error" or the value returned by the action, usually the old value after a state change>
}

To know what is the response field when a request succeeds (i.e. status = "ok"), please refer to the iio-niri msg --help and its sub-commands.

Changes

  • feat!(cli): add a listen sub-command that has the same behavior as pre-1.3.0's CLI
  • feat(cli): add an msg sub-command to communicate with IIO-Niri's socket
  • feat(cli): add a completions sub-command to generate shell completions (fixes #8)
  • perf: Now runs IIO-Niri on 4 threads, a main thread creating and joining the others, a thread to manage stopping signals, a thread to handle IPC requests and a thread to handle the Accelerometer's orientation
  • feat(state): add a way to lock the monitor rotation (fixes #6)

Full Changelog: v1.3.0...v2.0.0

Don't miss a new iio-niri release

NewReleases is sending notifications on new releases.