Gtk4DotNet 1.2.0
See the version list below for details.
dotnet add package Gtk4DotNet --version 1.2.0
NuGet\Install-Package Gtk4DotNet -Version 1.2.0
<PackageReference Include="Gtk4DotNet" Version="1.2.0" />
paket add Gtk4DotNet --version 1.2.0
#r "nuget: Gtk4DotNet, 1.2.0"
// Install Gtk4DotNet as a Cake Addin #addin nuget:?package=Gtk4DotNet&version=1.2.0 // Install Gtk4DotNet as a Cake Tool #tool nuget:?package=Gtk4DotNet&version=1.2.0
Gtk4DotNet
.Net 6 bindings for GTK 4
Mostly functional approach like this:
using GtkDotNet;
using LinqTools;
return Application.Run("org.gtk.example", app =>
Application
.NewWindow(app)
.SideEffect(win => win.SetTitle("Hello Gtk👍"))
.SideEffect(win => win.SetChild(
Grid
.New()
.SideEffect(g => g.Attach(
Button
.NewWithLabel("Button 1")
.SideEffect(btn => btn.SignalConnect("clicked", clicked))
, 0, 0, 1, 1))
.SideEffect(g => g.Attach(
Button
.NewWithLabel("Button 2")
.SideEffect(btn => btn.SignalConnect("clicked", clicked))
, 1, 0, 1, 1))
.SideEffect(g => g.Attach(
Button
.NewWithLabel("Quit")
.SideEffect(btn => btn.SignalConnect("clicked", () => win.Close()))
, 0, 1, 2, 1))
))
.Show());
void clicked() => Console.WriteLine("Clicked button");
Prerequisites
Ubuntu
- sudo apt install libgtk-4-dev
for use with WebView only:
- sudo apt install libwebkitgtk-6.0-dev
Installation of GTK Schema
sudo install -D org.gtk.example.gschema.xml /usr/share/glib-2.0/schemas/
sudo glib-compile-schemas /usr/share/glib-2.0/schemas/
Usage
Look at the sample programs (https://github.com/uriegel/Gtk4DotNet)
Checking if memory is being freed
To check if GObjects are being freed, just run
GObject.AddWeakRef(obj, (_, obj) => Console.WriteLine("... is being freed));
If this object is finalized, then the callback will be called.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net6.0
- LinqTools (>= 4.1.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Gtk4DotNet:
Package | Downloads |
---|---|
WebWindowNetCore
A C# Webview Application for Windows and Linux similar to Electron based on WebView2 (Windows) and GTK WebKit (Linux) |
|
WebWindowNetCore.Linux
A C# Webview Application for Linux similar to Electron based on GTK WebKit |
|
Gtk4DotNet.FSharp
.NET 8 F# Bindings for GTK 4, functional declarative similar to REACT or Kotlin Compose |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
6.5.5 | 136 | 9/7/2024 |
6.5.4 | 177 | 8/31/2024 |
6.5.4-beta6 | 88 | 8/31/2024 |
6.5.4-beta5 | 84 | 8/31/2024 |
6.5.4-beta4 | 86 | 8/31/2024 |
6.5.4-beta3 | 89 | 8/31/2024 |
6.5.3 | 277 | 8/23/2024 |
6.5.3-beta3 | 90 | 8/31/2024 |
6.5.3-beta2 | 93 | 8/31/2024 |
6.5.3-beta1 | 86 | 8/31/2024 |
6.5.2 | 131 | 8/19/2024 |
6.5.1 | 111 | 8/19/2024 |
6.5.0 | 126 | 8/18/2024 |
6.4.0 | 135 | 8/13/2024 |
6.3.0 | 119 | 8/12/2024 |
6.2.1 | 132 | 8/11/2024 |
6.2.0 | 114 | 8/11/2024 |
6.1.3 | 126 | 8/10/2024 |
6.1.2 | 123 | 8/9/2024 |
6.1.1 | 109 | 8/9/2024 |
6.1.0 | 281 | 4/29/2024 |
6.0.0 | 124 | 4/27/2024 |
5.4.0 | 146 | 4/20/2024 |
5.3.11 | 121 | 4/20/2024 |
5.3.10 | 114 | 4/20/2024 |
5.3.9 | 125 | 4/19/2024 |
5.3.8 | 134 | 3/26/2024 |
5.3.7 | 134 | 3/13/2024 |
5.3.6 | 198 | 1/20/2024 |
5.3.5 | 124 | 1/20/2024 |
5.3.4 | 172 | 1/7/2024 |
5.3.3 | 148 | 1/3/2024 |
5.3.2 | 142 | 1/2/2024 |
5.3.1 | 127 | 1/2/2024 |
5.3.0 | 135 | 1/2/2024 |
5.2.0 | 152 | 12/22/2023 |
5.1.0 | 129 | 12/22/2023 |
5.0.0 | 203 | 12/14/2023 |
4.0.0 | 123 | 12/13/2023 |
3.4.0 | 124 | 12/10/2023 |
3.3.1 | 133 | 12/10/2023 |
3.3.0 | 117 | 12/10/2023 |
3.2.0 | 120 | 12/9/2023 |
3.1.1 | 121 | 12/9/2023 |
3.1.0 | 118 | 12/9/2023 |
3.0.0 | 137 | 12/9/2023 |
2.0.0 | 137 | 11/28/2023 |
1.4.0 | 197 | 11/17/2023 |
1.3.3 | 107 | 11/16/2023 |
1.3.2 | 130 | 11/16/2023 |
1.3.1 | 117 | 11/16/2023 |
1.3.0 | 137 | 11/16/2023 |
1.2.1 | 143 | 10/29/2023 |
1.2.0 | 142 | 10/22/2023 |
1.1.0 | 194 | 4/24/2023 |
1.0.0 | 168 | 4/23/2023 |
Beginning...