gotk4-examples

module
v0.0.0-...-30755b4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2024 License: ISC

README

gotk4 Examples

This repository provides examples on using GTK4 and GTK3 using the gotk4 bindings.

Examples

GTK4 examples are in ./gtk4. A simple Hello World example is in ./gtk4/simple.

Getting Started

Before running any of these examples, you must grab the dependencies in your operating system or distribution.

Installing GTK

Below are instructions for getting the needed dependencies for GTK on certain distros. Most distros and operating systems will be missing from this list, so PRs are welcomed.

Linux/macOS - Nix
# Nix channels:
nix-shell -p gtk4 gtk3 gobject-introspection pkg-config

# Nix flakes (very slow):
nix shell nixpkgs#gtk4 nixpkgs#gtk3 nixpkgs#gobject-introspection nixpkgs#pkg-config
Linux - Arch
sudo pacman -S gtk4 gobject-introspection
Linux - Ubuntu
sudo apt install libgtk-3-dev # 18.04 (bionic) or later
sudo apt install libgtk-4-dev # 21.04 (hirsuit) or later
Linux - Fedora
sudo dnf install gtk4-devel gobject-introspection-devel
Linux - openSUSE
sudo zypper install gtk4-devel gobject-introspection-devel
macOS
brew install gtk4 gtk+3 gobject-introspection pkg-config
Windows - Msys2
pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-gtk4 mingw-w64-x86_64-gobject-introspection
Installing Go

The minimum Go version required to run gotk4 is 1.21. If your distribution or operating system does not have 1.21, follow the steps under the "Other OS/distros" section.

Linux/macOS - Nix
# Installing just Go:
nix-env -iA nixpkgs.go

# Dropping into a shell with Go:
nix-shell -p go

# Using gotk4-nix's shell, which will also grab GTK dependencies:
nix-shell
Linux - Ubuntu

Snippet taken from the Go wiki:

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go # or golang-1.17
Linux - Fedora
sudo dnf install golang

The packaged version of Go on Fedora is usually a few versions behind upstream on non-rawhide branches, so you might want to manually install Go using the installation instructions mentioned below.

Linux - openSUSE
sudo zypper install go
Other OS/distros

Follow doc/install for more information.

Running Examples

This snippet assumes that you've already cloned this repository down and are currently inside the repository.

go run -v ./gtk4/simple

Important: if you don't run with -v, you might start wondering if go run is hung or not. Always keep in mind that building gotk4 will be very slow at first, and the slow building is normal.

Directories

Path Synopsis
gtk3
gtk4
hackernews Module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL