Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/federicoceratto/nim-i3ipc

i3 IPC client library for Nim
https://github.com/federicoceratto/nim-i3ipc

client-library i3wm ipc library nim nim-lang sway

Last synced: 1 day ago
JSON representation

i3 IPC client library for Nim

Awesome Lists containing this project

README

        

== i3ipc

image:https://img.shields.io/badge/status-alpha-orange.svg[badge]
image:https://img.shields.io/badge/version-0.1.0-orange.svg[badge]
image:https://img.shields.io/badge/License-LGPL%20v3-blue.svg[badge]

A Nim client library for the https://i3wm.org[i3] https://i3wm.org/docs/ipc.html[IPC] interface

Can be used in sync or async applications.

=== Installation

[source,bash]
----
nimble install i3ipc
----

=== Usage

Refer to the i3 documentation on how to use the interface.

Run "nim doc2" to generate docs for the library.

Usage example:

[source,nim]
----
import i3ipc

let i3 = newI3Conn()
echo "version:", i3.get_version()
echo "focused window: ", i3.get_tree().get_focused_window()
echo "outputs: ", i3.get_outputs()
echo "workspaces: ", i3.get_workspaces()

# Subscribe to window notifications:
i3.subscribe(I3Event.window)

i3.close()
----

See the functional tests for more examples.