{"id":18801501,"url":"https://github.com/pekim/gobbi","last_synced_at":"2025-04-13T17:32:05.477Z","repository":{"id":57497928,"uuid":"157007620","full_name":"pekim/gobbi","owner":"pekim","description":"gobbi is a set of generated Go bindings for gtk et al.","archived":false,"fork":false,"pushed_at":"2023-02-25T04:27:43.000Z","size":62977,"stargazers_count":28,"open_issues_count":9,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T08:58:14.377Z","etag":null,"topics":["gdk","gdkpixbuf","glib","go","gobject","golang","gtk","gui"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pekim.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":"2018-11-10T18:05:31.000Z","updated_at":"2023-08-20T09:14:27.000Z","dependencies_parsed_at":"2024-06-20T11:59:55.668Z","dependency_job_id":"6ca8140c-d950-4ac8-b5c8-7904ebf6a0d1","html_url":"https://github.com/pekim/gobbi","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pekim%2Fgobbi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pekim%2Fgobbi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pekim%2Fgobbi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pekim%2Fgobbi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pekim","download_url":"https://codeload.github.com/pekim/gobbi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248752484,"owners_count":21156102,"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":["gdk","gdkpixbuf","glib","go","gobject","golang","gtk","gui"],"created_at":"2024-11-07T22:24:12.986Z","updated_at":"2025-04-13T17:32:00.463Z","avatar_url":"https://github.com/pekim.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"**This project is no longer actively developed.**\nFor a promising set of generated gtk bindings,\ntake a look at https://github.com/diamondburned/gotk4.\n\n# gobbi\n\n**gob**ject **bi**ndings\n\n[![Build Status](https://dev.azure.com/mikepilsbury/gobbi/_apis/build/status/pekim.gobbi?branchName=master)](https://dev.azure.com/mikepilsbury/gobbi/_build/latest?definitionId=1\u0026branchName=master)\n[![builds.sr.ht status](https://builds.sr.ht/~pekim/gobbi.svg)](https://builds.sr.ht/~pekim/gobbi?)\n\ngobbi is a set of generated Go bindings for gobject based libraries.\nThere are bindings, with varying degrees of completeness,\nfor gtk, gdk, gdkpixbuf, gio, gobject, and glib.\n\nThe intention is to provide the bindings required\nfor writing gtk applications.\nSo the focus is on supporting functions in the higher level\nlibraries such as gtk, gdk, gdkpixbuf and gio.\nMuch of the functionality provided by the lower level\nlibraries, such as glib and gobject, is adequately supported\nin Go core packages.     \n\n## example use\n```go\npackage main\n\nimport (\n\t\"github.com/pekim/gobbi/lib/gtk\"\n\t\"os\"\n\t\"runtime\"\n)\n\nfunc init() {\n\truntime.LockOSThread()\n}\n\nfunc main() {\n\tgtk.Init(os.Args)\n\n\twindow := gtk.WindowNew(gtk.GTK_WINDOW_TOPLEVEL)\n\twindow.SetTitle(\"A window title\")\n\twindow.SetDefaultSize(300, 300)\n\n\twindow.Widget().ConnectDestroy(func(_ *gtk.Widget) {\n\t\tgtk.MainQuit()\n\t})\n\twindow.Widget().ShowAll()\n\n\tgtk.Main()\n}\n```\n\n```bash\ngo get github.com/pekim/gobbi\ngo run -tags \"glib_2.48 gdk_3.4 gdkpixbuf_2.32 gio_2.32 gtk_3.18\" gobbi-simple.go\n```\n\n## documentation\nhttps://pekim.github.io/gobbi/\n\nAt a minimum it's probably a good idea to read at least the\n[Getting started](https://pekim.github.io/gobbi/getting-started.html)\nand\n[Application lifecycle](https://pekim.github.io/gobbi/application-lifecycle.html)\npages.\n\n## code generation\nThe code that implements most of the APIs is generated\nfrom the GObject Introspection (gir) XML files in the\n[internal/gir-files](internal/gir-files) directory.\nThe generation code is in the\n[internal/generate](internal/generate) package.\n\nAll of the generated API code,\nand a very small number of manually maintained files,\nis in the subdirectories of the\n[lib](lib) directory.\n \n## status\nThe library should be perfectly servicable and complete enough\nto build most applications.\n\nSome simple example applications have been created,\nand may be found in the [example](./example) directory.\nIt is possible that for more complex applications\nsome necessary apis may be missing. \n\nThe API is reasonably stable,\nalthough some changes are certainly possible. \n\nThe generation code is rather messy in some areas,\nand needs tidying up.\nThe generated code is simple, and fairly readable.\n\n## gotk3\n[gotk3](https://github.com/gotk3/gotk3)\nis a more mature library than gobbi.\nIt might be a safer choice than gobbi for those who\nare cautious.\nHowever gobbi should work just as\nwell in most cases.\n\ngobbi supports a larger number of apis than gotk3.\nHowever gotk3 supports some apis that gobbi does not,\nand vice versa.\n\ngobbi is more type safe in some areas,\nnotably the callbacks connected to signals.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpekim%2Fgobbi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpekim%2Fgobbi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpekim%2Fgobbi/lists"}