{"id":13579797,"url":"https://github.com/altdesktop/i3ipc-glib","last_synced_at":"2025-04-14T06:53:49.180Z","repository":{"id":13506164,"uuid":"16197043","full_name":"altdesktop/i3ipc-glib","owner":"altdesktop","description":"A C interface library to i3wm","archived":false,"fork":false,"pushed_at":"2023-07-13T08:08:30.000Z","size":223,"stargazers_count":104,"open_issues_count":11,"forks_count":18,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-27T20:41:11.909Z","etag":null,"topics":["c","glib","gobject","i3","i3ipc","i3wm"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/altdesktop.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-01-24T06:36:44.000Z","updated_at":"2024-11-17T23:11:29.000Z","dependencies_parsed_at":"2024-08-01T15:41:16.336Z","dependency_job_id":null,"html_url":"https://github.com/altdesktop/i3ipc-glib","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/altdesktop%2Fi3ipc-glib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/altdesktop%2Fi3ipc-glib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/altdesktop%2Fi3ipc-glib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/altdesktop%2Fi3ipc-glib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/altdesktop","download_url":"https://codeload.github.com/altdesktop/i3ipc-glib/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248837281,"owners_count":21169374,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","glib","gobject","i3","i3ipc","i3wm"],"created_at":"2024-08-01T15:01:43.324Z","updated_at":"2025-04-14T06:53:49.150Z","avatar_url":"https://github.com/altdesktop.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# i3ipc-GLib\n\nA C interface library to [i3wm](http://i3wm.org).\n\n## About\n\ni3's interprocess communication (or [ipc](http://i3wm.org/docs/ipc.html)) is the interface i3wm uses to receive [commands](http://i3wm.org/docs/userguide.html#_list_of_commands) from client applications such as `i3-msg`. It also features a publish/subscribe mechanism for notifying interested parties of window manager events.\n\ni3ipc-GLib is a C library for controlling the window manager. This project is intended to be useful in applications such as status line generators, pagers, notification daemons, scripting wrappers, external controllers, dock windows, compositors, config templaters, and for debugging or testing the window manager itself.\n\nThe latest documentation can be found online [here](http://dubstepdish.com/i3ipc-glib).\n\n[Chat](https://discord.gg/UdbXHVX)\n\n### Projects using i3ipc-GLib\n\n* [j4status](https://github.com/sardemff7/j4status) - shows the focused window in the status line.\n* [xfce4-i3-workspaces-plugin](https://github.com/denesb/xfce4-i3-workspaces-plugin) - workspaces plugin for using xfce4 with i3wm\n* [i3-easyfocus](https://github.com/cornerman/i3-easyfocus) - focus and select windows in i3\n\n## Installation\n\nCheck the [releases](https://github.com/acrisci/i3ipc-glib/releases) page or your package manager for a package for your distro. Additional packages are available upon request.\n\nBuilding the library requires [autotools](https://en.wikipedia.org/wiki/GNU_build_system). Install the project with:\n\n```shell\n./autogen.sh # --prefix=/usr might be required\nmake\nsudo make install\n```\n\nThe following packages are required for building i3-ipc:\n\n* libxcb and xcb-proto\n* glib \u003e= 2.32\n* gobject-introspection (optional for bindings)\n* json-glib \u003e= 0.14\n* gtk-doc-tools\n\n## Example\n\nThe i3ipc connection class extends from [GObject](https://developer.gnome.org/gobject/stable/).\n\n```C\n#include \u003cglib/gprintf.h\u003e\n#include \u003ci3ipc-glib/i3ipc-glib.h\u003e\n\ngint main() {\n  i3ipcConnection *conn;\n  gchar *reply;\n\n  conn = i3ipc_connection_new(NULL, NULL);\n\n  reply = i3ipc_connection_message(conn, I3IPC_MESSAGE_TYPE_COMMAND, \"focus left\", NULL);\n\n  g_printf(\"Reply: %s\\n\", reply);\n\n  g_free(reply);\n  g_object_unref(conn);\n\n  return 0;\n}\n```\n\nCompile with `gcc -o example example.c $(pkg-config --libs --cflags i3ipc-glib-1.0)`.\n\n## Contributing\n\nPatches are welcome by pull request to fix bugs and add features.\n\n### Task List\n\nHere is a list of tasks that could be done.\n\n- [ ] Async commands\n\n## License\n\nThis work is available under the GNU General Public License (See COPYING).\n\nCopyright © 2014, Tony Crisci\n\nAll rights reserved.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faltdesktop%2Fi3ipc-glib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faltdesktop%2Fi3ipc-glib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faltdesktop%2Fi3ipc-glib/lists"}