{"id":13895075,"url":"https://github.com/i3/go-i3","last_synced_at":"2025-04-10T02:18:59.408Z","repository":{"id":53144948,"uuid":"105239028","full_name":"i3/go-i3","owner":"i3","description":"Package i3 provides a convenient interface to the i3 window manager","archived":false,"fork":false,"pushed_at":"2025-03-22T10:00:23.000Z","size":87,"stargazers_count":130,"open_issues_count":0,"forks_count":16,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-10T02:18:53.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/i3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2017-09-29T06:43:56.000Z","updated_at":"2025-03-29T19:42:51.000Z","dependencies_parsed_at":"2024-04-22T07:47:13.325Z","dependency_job_id":"c4caa7a1-5841-4214-83d6-0952400ead01","html_url":"https://github.com/i3/go-i3","commit_stats":{"total_commits":63,"total_committers":8,"mean_commits":7.875,"dds":"0.17460317460317465","last_synced_commit":"b065b1500bc088dbaa653f50634aa169aea8f76f"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i3%2Fgo-i3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i3%2Fgo-i3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i3%2Fgo-i3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i3%2Fgo-i3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/i3","download_url":"https://codeload.github.com/i3/go-i3/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248142906,"owners_count":21054672,"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":[],"created_at":"2024-08-06T18:01:58.472Z","updated_at":"2025-04-10T02:18:59.368Z","avatar_url":"https://github.com/i3.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"![GitHub Actions CI](https://github.com/i3/go-i3/workflows/GitHub%20Actions%20CI/badge.svg)\n[![Go Report Card](https://goreportcard.com/badge/go.i3wm.org/i3)](https://goreportcard.com/report/go.i3wm.org/i3)\n[![GoDoc](https://godoc.org/go.i3wm.org/i3?status.svg)](https://godoc.org/go.i3wm.org/i3)\n\nPackage i3 provides a convenient interface to the i3 window manager via [its IPC\ninterface](https://i3wm.org/docs/ipc.html).\n\nSee [its documentation](https://godoc.org/go.i3wm.org/i3) for more details.\n\n## Start using it\n\nIn [module mode](https://github.com/golang/go/wiki/Modules), use import path\n`go.i3wm.org/i3/v4`.\n\nIn non-module mode, use import path `go.i3wm.org/i3`.\n\n## Advantages over other i3 IPC packages\n\nHere comes a grab bag of features to which we paid attention. At the time of\nwriting, most other i3 IPC packages lack at least a good number of these\nfeatures:\n\n* Retries are transparently handled: programs using this package will recover\n  automatically from in-place i3 restarts. Additionally, programs can be started\n  from xsession or user sessions before i3 is even running.\n\n* Version checks are transparently handled: if your program uses features which\n  are not supported by the running i3 version, helpful error messages will be\n  returned at run time.\n\n* Comprehensive: the entire documented IPC interface of the latest stable i3\n  version is covered by this package. Tagged releases match i3’s major and minor\n  version.\n\n* Consistent and familiar: once familiar with the i3 IPC protocol’s features,\n  you should have no trouble matching the documentation to API and vice-versa.\n\n* Good test coverage (hard to display in a badge, as our multi-process setup\n  breaks `go test`’s `-coverprofile` flag).\n\n* Implemented in pure Go, without resorting to the `unsafe` package.\n\n* Works on little and big endian architectures.\n\n## Scope\n\ni3’s entire documented IPC interface is available in this package.\n\nIn addition, helper functions which are useful for a broad range of programs\n(and only those!) are provided, e.g. Node’s FindChild and FindFocused.\n\nPackages which introduce higher-level abstractions should feel free to use this\npackage as a building block.\n\n## Assumptions\n\n* The `i3(1)` binary must be in `$PATH` so that the IPC socket path can be retrieved.\n* For transparent version checks to work, the running i3 version must be ≥ 4.3 (released 2012-09-19).\n\n## Testing\n\nBe sure to include the target i3 version (the most recent stable release) in\n`$PATH` and use `go test` as usual:\n\n```shell\nPATH=~/i3/build/i3:$PATH go test -v go.i3wm.org/i3\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi3%2Fgo-i3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fi3%2Fgo-i3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi3%2Fgo-i3/lists"}