{"id":13463120,"url":"https://github.com/ruby-gnome/ruby-gnome","last_synced_at":"2026-02-06T04:12:04.093Z","repository":{"id":38239466,"uuid":"2051452","full_name":"ruby-gnome/ruby-gnome","owner":"ruby-gnome","description":"A set of bindings for the GNOME libraries to use from Ruby.","archived":false,"fork":false,"pushed_at":"2024-10-24T21:25:15.000Z","size":43179,"stargazers_count":386,"open_issues_count":10,"forks_count":97,"subscribers_count":34,"default_branch":"main","last_synced_at":"2024-10-29T13:50:29.383Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ruby-gnome.github.io/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gfdl-1.3","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ruby-gnome.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":null,"funding":null,"license":"COPYING.GFDL","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-07-15T04:49:13.000Z","updated_at":"2024-10-26T20:44:16.000Z","dependencies_parsed_at":"2024-01-17T09:08:24.901Z","dependency_job_id":"5d0a056d-b481-4c8c-8a96-8a83f9ab7cfa","html_url":"https://github.com/ruby-gnome/ruby-gnome","commit_stats":{"total_commits":12013,"total_committers":95,"mean_commits":"126.45263157894736","dds":0.5906934154665779,"last_synced_commit":"961fe08b068eb526583f944054555bcdaa3401b9"},"previous_names":["ruby-gnome2/ruby-gnome2"],"tags_count":148,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-gnome%2Fruby-gnome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-gnome%2Fruby-gnome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-gnome%2Fruby-gnome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ruby-gnome%2Fruby-gnome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ruby-gnome","download_url":"https://codeload.github.com/ruby-gnome/ruby-gnome/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245413911,"owners_count":20611353,"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-07-31T13:00:46.376Z","updated_at":"2026-02-06T04:12:04.051Z","avatar_url":"https://github.com/ruby-gnome.png","language":"Ruby","funding_links":[],"categories":["Developer Tools","GUI","👓 Alternatives to the [Electron.js](https://electronjs.org) ⚛"],"sub_categories":["GUI Frameworks","Ruby"],"readme":"# Ruby-GNOME\n[![Gem Version](https://badge.fury.io/rb/gtk4.svg)](https://badge.fury.io/rb/gtk4)\n\n![Ruby-GNOME Logo](https://avatars1.githubusercontent.com/u/416159?v=3\u0026s=200)\nRuby bindings for GNOME\n\nThis is a set of bindings for the GNOME 3.x and 4.x libraries to use\nfrom Ruby that allows you to write graphical user interfaces in Ruby.\n\n## Installation Instructions for gtk3 and gtk4\n\n### Debian/Ubuntu\n\nRuby can be run from the system directories, or from your home\ndirectory, or both.  Most people won't have the correct permissions\nfor a system install, so the vast majority of people to run Ruby from\ntheir local, `/home/...` directory.\n\nTo test if your copy of Ruby is running locally enter this on the\ncommand line:\n\n```bash\nwhich ruby\n```\n\nIf it outputs something like this:\n\n```bash\n/home/ralph/.rbenv/shims/ruby\n```\n\nthat starts with `/home/`, that's local (good!)\n\nBut if outputs something like this:\n\n```bash\n/usr/bin/ruby\n```\n\nThat is a system directory, and the gtk4 gem will fail to install.\nActually, a system administrator with super-user permissions could\ninstall everything in the system folders (see advanced install), but\nits much better for everyone else to run Ruby locally.\n\nIf you're already running a copy of Ruby under your home directory,\nyou can install gtk4 (or gtk3):\n\n```bash\ngem install gtk4\n```\n\nBut if you're running ruby from the system folders, you can install a\nRuby version manager like [RVM](https://rvm.io/) or\n[rbenv](https://github.com/rbenv/rbenv).  These programs allow you to\nrun multiple versions of Ruby from your home directory.\n\nrbenv has a\n[rbenv-installer](https://github.com/rbenv/rbenv-installer) that\ninstalls everything and adds a line to your `.bashrc` file so you're\nrunning local copies of Ruby.\n\nTo get rbenv:\n1. Run the installer\n2. Restart your command prompt\n3. Run `rbenv install --list` (find recent Ruby version)\n4. Run `rbenv install 3.3.5` (example version.  choose one from list)\n5. Run `which ruby` (check that its running from home directory)\n\nIf that works, then you're ready to install gtk4 (or gtk3):\n\n```bash\ngem install gtk4\n```\n\n### macOS\n\nInput needed...\n\n### Windows\n\nIn Windows, the gem should be installed without issue. If you install\nRuby using the [Ruby Installer](https://rubyinstaller.org/), make sure\nthat MSYS2 gets installed too.  GTK needs MSYS2 to make the binary\nfiles. Then, at the Ruby command prompt:\n\n```bash\ngem install gtk4\n```\n\n## Advanced Installation instructions\n\n### Debian/Ubuntu\n\n```bash\nsudo apt install -y gcc make ruby-dev\nsudo gem install rubygems-requirements-system\nsudo gem install gtk4\n```\n\n## Install from GitHub master branch\n\nYou can also install these gems from GitHub master branch.\n\nCreate `Gemfile` like the following:\n\n```ruby\nsource \"https://rubygems.org/\"\n\nplugin \"rubygems-requirements-system\"\n\ngit \"https://github.com/ruby-gnome/ruby-gnome.git\" do\n  gem \"gtk4\"\nend\n```\n\nInstall these gems by Bundler:\n\n```bash\nbundle install\n```\n\n## Build From Source Code\n\n```bash\nruby extconf.rb\nmake\n```\n\nTo compile and install a particular sub-binding, you can add arguments:\n\n```bash\nruby extconf.rb [subdir]...\n# e.g.) ruby extconf.rb glib2 pango atk gdk_pixbuf2 gtk4\n```\n\nOr you can compile each sub-binding:\n\n```bash\ncd \u003ceach sub-directory\u003e\nruby extconf.rb\nmake\n```\n\n### extconf.rb options\n\n* `--ruby`\n  * ruby directory\n\n* `--topsrcdir`\n  * top source directory\n\n* `--topdir`\n  * top directory\n\n* `--strict`\n  * if some libraries fail to compile/install, `make`\n    command returns 1(exit 1)\n\n## Bugs\n\nPlease report bugs in our bug tracker:\n\n* [https://github.com/ruby-gnome/ruby-gnome/issues](https://github.com/ruby-gnome/ruby-gnome/issues)\n\n## Copying\n\nCopyright (c) 2002-2025 Ruby-GNOME Project Team\n\nThis program is free software.\nYou can distribute/modify this program under the terms of\nthe GNU LESSER GENERAL PUBLIC LICENSE Version 2.1.\n\n### Exceptions\n\nSome GTK+ 3 examples are licensed under GNU Free Documentation License\n1.3 or any later version later; with no Invariant Sections, no\nFront-Cover Texts, and no Back-Cover Texts.\n\nBecause they are based on scripts in\n[PyGObject-Tutorial](https://github.com/sebp/PyGObject-Tutorial).\n[PyGObject-Tutorial is licensed under GFDL 1.3](https://github.com/sebp/PyGObject-Tutorial/blob/master/COPYING).\n\nSee [gtk3/sample/](/gtk3/sample) directory for details.\n\n## Project Website\n\n[https://ruby-gnome.github.io/](https://ruby-gnome.github.io/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruby-gnome%2Fruby-gnome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fruby-gnome%2Fruby-gnome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fruby-gnome%2Fruby-gnome/lists"}