.NET wrapper for Gtk and other related libraries
Go to file
2019-05-21 19:48:23 +02:00
.vscode Setup Samples base 2018-01-20 20:09:27 +01:00
CakeScripts Fix file permissions, how did this happen? 2018-02-26 23:03:31 +01:00
Source Free all internal signals, else the garbage collector is not able to free the object. 2019-01-08 11:39:25 +01:00
tools Pin Cake version 2018-02-26 22:58:51 +01:00
.gitattributes WIP CAKE + .Net Core 2017-10-23 01:25:13 +02:00
.gitignore Finish up MonoDevelop addin 2018-03-01 14:41:53 +01:00
.travis.yml Hopefully multiple deploy works now 2018-01-18 21:18:41 +01:00
AUTHORS Fix file permissions, how did this happen? 2018-02-26 23:03:31 +01:00
build.cake Respect configuration parameter 2019-05-21 19:21:51 +02:00
build.ps1 Fix file permissions, how did this happen? 2018-02-26 23:03:31 +01:00
build.sh WIP CAKE + .Net Core 2017-10-23 01:25:13 +02:00
LICENSE Fix file permissions, how did this happen? 2018-02-26 23:03:31 +01:00
pushnuget.sh Use cake nuget.exe for pushing 2018-01-18 20:52:19 +01:00
README.md Clarify status (closes #43) 2018-07-30 21:39:01 +02:00

GtkSharp

GtkSharp is a C# wrapper for Gtk and its related components. The component list includes the following libraries: glib, gio, cairo, pango, atk, gdk. This is a fork of https://github.com/mono/gtk-sharp and is maintained completly separatly from that project.

Differences can be seen with the following table:

Target framework Target Gtk Version Extra notes
GtkSharp .NET Standard 2.0 Gtk 3.22 Does not need glue libraries.
mono/gtksharp .NET Framework 4.5 Gtk 2 (also Gtk 3.0 but never officially released)

Build status

Building from source

Pre requirements for building from source are that you have .Net Core and msbuild installed on the system.

To build the repository, first clone it:

git clone https://github.com/GtkSharp/GtkSharp.git
cd GtkSharp

and then simply run either .\build.ps1 or ./build.sh depending your operating system.

If you wish to generate the nuget packages simply add the --BuildTarget=PackageNuGet as an argument when calling the build script.

A breakdown on how the source is structured:

  • Tools that are needed to generate wrapper code are found in Tools folder
  • The actual wrappers code is found in Libs folder
  • Templates are located in Templates folder
  • Build script is separated between build.cake and CakeScripts folder

Using the library

On both Windows and Linux the library assumes that you have Gtk installed on your system. See Installing Gtk on Windows wiki page for more details on how to do it on Windows.

Available NuGet packages:

To create a new gtk app project, simply use dotnet new templating engine:

  • install: dotnet new --install GtkSharp.Template.CSharp
  • uninstall: dotnet new --uninstall GtkSharp.Template.CSharp
  • generate project: dotnet new gtkapp

Visual Studio and MonoDevelop addins will be available in the coming weeks.

License

GtkSharp and its related components are licensed under LGPL v2.0 license, while Samples are licenced under The Unlicense.