Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gtksharp/gtksharp
.NET wrapper for Gtk and other related libraries
https://github.com/gtksharp/gtksharp
csharp gtk
Last synced: 13 days ago
JSON representation
.NET wrapper for Gtk and other related libraries
- Host: GitHub
- URL: https://github.com/gtksharp/gtksharp
- Owner: GtkSharp
- License: other
- Created: 2017-10-28T22:11:43.000Z (about 7 years ago)
- Default Branch: develop
- Last Pushed: 2024-05-27T16:27:03.000Z (6 months ago)
- Last Synced: 2024-05-29T20:00:31.555Z (6 months ago)
- Topics: csharp, gtk
- Language: C#
- Homepage:
- Size: 26.9 MB
- Stars: 862
- Watchers: 29
- Forks: 96
- Open Issues: 62
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Authors: AUTHORS
Awesome Lists containing this project
README
# 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 completely separately 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) | |* [Building from source](#building-from-source)
* [Using the library](#using-the-library)
* [License](#license)## Building from source
Pre requirements for building from source are that you have .Net 6 installed on the system.
To build the repository, simply do:
```sh
git clone https://github.com/GtkSharp/GtkSharp.git
cd GtkSharp
dotnet tool restore
dotnet cake build.cake
```A breakdown on how the source is structured:
* Tools that are needed to generate wrapper code are found in [Tools](Source/Tools) folder
* The actual wrappers code is found in [Libs](Source/Libs) folder
* Templates are located in [Templates](Source/Templates) folder
* Build script is separated between [build.cake](build.cake) and [CakeScripts](CakeScripts) folder## Using the library
On macOS, you'll need to manually install Gtk, see [Installing Gtk on Mac](https://github.com/GtkSharp/GtkSharp/wiki/Installing-Gtk-on-Mac) wiki page for more details on how to do it.
Available NuGet packages:
* [GtkSharp](https://www.nuget.org/packages/GtkSharp/)
* [GdkSharp](https://www.nuget.org/packages/GdkSharp/)
* [GioSharp](https://www.nuget.org/packages/GioSharp/)
* [GLibSharp](https://www.nuget.org/packages/GLibSharp/)
* [AtkSharp](https://www.nuget.org/packages/AtkSharp/)
* [PangoSharp](https://www.nuget.org/packages/PangoSharp/)
* [CairoSharp](https://www.nuget.org/packages/CairoSharp/)
* [GtkSourceSharp](https://www.nuget.org/packages/GtkSourceSharp/)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`## License
GtkSharp and its related components are licensed under [LGPL v2.0 license](LICENSE), while [Samples](Source/Samples) are licenced under [The Unlicense](Source/Samples/LICENSE).