Gtk4DotNet 5.0.0
See the version list below for details.
dotnet add package Gtk4DotNet --version 5.0.0
NuGet\Install-Package Gtk4DotNet -Version 5.0.0
<PackageReference Include="Gtk4DotNet" Version="5.0.0" />
<PackageVersion Include="Gtk4DotNet" Version="5.0.0" />
<PackageReference Include="Gtk4DotNet" />
paket add Gtk4DotNet --version 5.0.0
#r "nuget: Gtk4DotNet, 5.0.0"
#addin nuget:?package=Gtk4DotNet&version=5.0.0
#tool nuget:?package=Gtk4DotNet&version=5.0.0
Gtk4DotNet
.Net 8 bindings for GTK 4
Gtk4DotNet uses a functional declarative approach to GTK4 similar to REACT or Kotlin Compose:
return Application
.New("org.gtk.example")
.OnActivate(app =>
app
.NewWindow()
.Title("Hello Gtk👍")
.SideEffect(win => win
.Child(
Grid
.New()
.Attach(
Button
.NewWithLabel("Button 1")
.OnClicked(() => WriteLine("Button1 clicked")), 0, 0, 1, 1)
.Attach(
Button
.NewWithLabel("Button 2")
.OnClicked(() => WriteLine("Button2 clicked")), 1, 0, 1, 1)
.Attach(
Button
.NewWithLabel("Quit")
.OnClicked(() => win.CloseWindow()), 0, 1, 2, 1)))
.Show())
.Run(0, IntPtr.Zero);
}
You don't have to use window.ui XML files for describing the UI, instead declare the UI declarative with C#.
Contained in this Repo are samples how to use Gtk4DotNet. All examples of the official GTK4 are transformed to C# with Gtk4DotNet.
Prerequisites
Ubuntu
- sudo apt install libgtk-4-dev
if you want to use WebView (WebKitGTK):
- sudo apt install libwebkitgtk-6.0-dev
Installation of GTK Schema
sudo install -D ./Test/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/tree/Main/Test)
Checking if memory is being freed
To check if GObjects are being freed, just run
Widget.AddWeakRef(() => 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 | net8.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- CsTools (>= 7.0.1)
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 |
---|---|---|
7.0.65-beta-65 | 104 | 5/17/2025 |
7.0.64-beta-64 | 106 | 5/17/2025 |
7.0.63-beta-63 | 139 | 5/16/2025 |
7.0.62-beta-62 | 182 | 5/16/2025 |
7.0.61-beta-61 | 210 | 5/14/2025 |
7.0.60-beta-60 | 213 | 5/12/2025 |
7.0.59-beta-59 | 178 | 5/12/2025 |
7.0.58-beta-58 | 143 | 4/18/2025 |
7.0.57-beta-57 | 181 | 4/14/2025 |
7.0.56-beta-56 | 123 | 4/13/2025 |
7.0.55-beta-55 | 121 | 4/13/2025 |
7.0.54-beta-54 | 120 | 4/12/2025 |
7.0.53-beta-53 | 123 | 4/12/2025 |
7.0.52-beta-52 | 82 | 4/12/2025 |
7.0.51-beta-51 | 118 | 4/11/2025 |
7.0.50-beta-50 | 156 | 4/10/2025 |
7.0.49-beta-49 | 156 | 4/10/2025 |
7.0.48-beta-48 | 148 | 4/10/2025 |
7.0.47-beta-47 | 154 | 4/10/2025 |
7.0.46-beta-46 | 153 | 4/10/2025 |
7.0.45-beta-45 | 142 | 4/9/2025 |
7.0.44-beta-44 | 150 | 4/8/2025 |
7.0.43-beta-43 | 147 | 4/8/2025 |
7.0.42-beta-42 | 154 | 4/7/2025 |
7.0.41-beta-41 | 148 | 4/6/2025 |
7.0.40-beta-40 | 123 | 4/6/2025 |
7.0.39-beta-39 | 94 | 4/5/2025 |
7.0.38-beta-38 | 82 | 4/5/2025 |
7.0.37-beta-37 | 75 | 4/5/2025 |
7.0.36-beta-36 | 147 | 4/3/2025 |
7.0.35-beta-35 | 150 | 4/3/2025 |
7.0.34-beta-34 | 146 | 4/3/2025 |
7.0.33-beta-33 | 152 | 4/2/2025 |
7.0.32-beta-32 | 151 | 4/1/2025 |
7.0.31-beta-31 | 148 | 4/1/2025 |
7.0.30-beta-30 | 146 | 3/31/2025 |
7.0.29-beta-29 | 148 | 3/31/2025 |
7.0.28-beta-28 | 139 | 3/30/2025 |
7.0.27-beta-27 | 464 | 3/24/2025 |
7.0.26-beta-26 | 450 | 3/24/2025 |
7.0.25-beta-25 | 394 | 3/24/2025 |
7.0.24-beta-24 | 394 | 3/24/2025 |
7.0.23-beta-23 | 258 | 3/23/2025 |
7.0.22-beta-22 | 68 | 3/22/2025 |
7.0.21-beta-21 | 64 | 3/22/2025 |
7.0.20-beta-20 | 83 | 3/21/2025 |
7.0.19-beta-19 | 117 | 3/21/2025 |
7.0.18-beta-18 | 135 | 3/20/2025 |
7.0.17-beta-17 | 135 | 3/20/2025 |
7.0.16-beta-16 | 136 | 3/19/2025 |
7.0.15-beta-15 | 134 | 3/18/2025 |
7.0.14-beta-14 | 130 | 3/18/2025 |
7.0.13-beta-13 | 131 | 3/18/2025 |
7.0.12-beta-12 | 135 | 3/17/2025 |
7.0.11-beta-11 | 134 | 3/16/2025 |
7.0.10-beta-10 | 77 | 3/14/2025 |
7.0.9-beta-9 | 78 | 3/14/2025 |
7.0.8-beta-8 | 107 | 3/14/2025 |
7.0.7-beta-7 | 83 | 3/2/2025 |
7.0.6-beta-6 | 109 | 2/26/2025 |
7.0.5-beta-5 | 95 | 2/25/2025 |
7.0.4-beta-4 | 89 | 2/24/2025 |
7.0.3-beta-3 | 100 | 2/24/2025 |
7.0.2-beta-2 | 93 | 2/24/2025 |
7.0.1-beta-1 | 84 | 2/24/2025 |
7.0.0-beta-0 | 96 | 2/23/2025 |
6.8.1 | 206 | 2/15/2025 |
6.8.0 | 106 | 2/15/2025 |
6.7.1 | 190 | 2/8/2025 |
6.7.0 | 112 | 2/8/2025 |
6.6.1 | 105 | 2/8/2025 |
6.6.0 | 181 | 2/3/2025 |
6.5.6 | 121 | 2/2/2025 |
6.5.5 | 194 | 9/7/2024 |
6.5.4 | 249 | 8/31/2024 |
6.5.4-beta6 | 103 | 8/31/2024 |
6.5.4-beta5 | 104 | 8/31/2024 |
6.5.4-beta4 | 99 | 8/31/2024 |
6.5.4-beta3 | 105 | 8/31/2024 |
6.5.3 | 306 | 8/23/2024 |
6.5.3-beta3 | 102 | 8/31/2024 |
6.5.3-beta2 | 105 | 8/31/2024 |
6.5.3-beta1 | 99 | 8/31/2024 |
6.5.2 | 160 | 8/19/2024 |
6.5.1 | 140 | 8/19/2024 |
6.5.0 | 155 | 8/18/2024 |
6.4.0 | 159 | 8/13/2024 |
6.3.0 | 149 | 8/12/2024 |
6.2.1 | 161 | 8/11/2024 |
6.2.0 | 141 | 8/11/2024 |
6.1.3 | 153 | 8/10/2024 |
6.1.2 | 148 | 8/9/2024 |
6.1.1 | 136 | 8/9/2024 |
6.1.0 | 327 | 4/29/2024 |
6.0.0 | 147 | 4/27/2024 |
5.4.0 | 170 | 4/20/2024 |
5.3.11 | 144 | 4/20/2024 |
5.3.10 | 136 | 4/20/2024 |
5.3.9 | 146 | 4/19/2024 |
5.3.8 | 157 | 3/26/2024 |
5.3.7 | 156 | 3/13/2024 |
5.3.6 | 219 | 1/20/2024 |
5.3.5 | 145 | 1/20/2024 |
5.3.4 | 199 | 1/7/2024 |
5.3.3 | 173 | 1/3/2024 |
5.3.2 | 170 | 1/2/2024 |
5.3.1 | 154 | 1/2/2024 |
5.3.0 | 160 | 1/2/2024 |
5.2.0 | 173 | 12/22/2023 |
5.1.0 | 151 | 12/22/2023 |
5.0.0 | 228 | 12/14/2023 |
4.0.0 | 148 | 12/13/2023 |
3.4.0 | 151 | 12/10/2023 |
3.3.1 | 157 | 12/10/2023 |
3.3.0 | 139 | 12/10/2023 |
3.2.0 | 148 | 12/9/2023 |
3.1.1 | 146 | 12/9/2023 |
3.1.0 | 142 | 12/9/2023 |
3.0.0 | 162 | 12/9/2023 |
2.0.0 | 151 | 11/28/2023 |
1.4.0 | 212 | 11/17/2023 |
1.3.3 | 120 | 11/16/2023 |
1.3.2 | 145 | 11/16/2023 |
1.3.1 | 129 | 11/16/2023 |
1.3.0 | 153 | 11/16/2023 |
1.2.1 | 158 | 10/29/2023 |
1.2.0 | 154 | 10/22/2023 |
1.1.0 | 222 | 4/24/2023 |
1.0.0 | 192 | 4/23/2023 |
Now .NET 8 is target platform, using Railway oriented programming with Result instead of exceptions (GFile)