Skip to content

Additional gtk4 update#347

Open
KonstantIMP wants to merge 16 commits intogtkd-developers:gtk4from
KonstantIMP:gtk4
Open

Additional gtk4 update#347
KonstantIMP wants to merge 16 commits intogtkd-developers:gtk4from
KonstantIMP:gtk4

Conversation

@KonstantIMP
Copy link
Contributor

With this commit I have made some changes which should improve GtkD usage experience.

First of all I want to say that compiletime link of gtk and other G-type libraries is useless. On unix based machines we always have dynamic libraries(or can download it via our packet manager) and so don't need static linkage in general. If we talk about Windows computers - it is a bit more easier to download .dll files from MSYS or like this than compile it yourself. GTK applications becomes more popular, it means that using of dynamic libraries is better because this way uses less memory: (some shared libraries)*1 < (some apps with staticly linked libraries)*n. I made some changes because think that it is truth.

  1. The libraries are separated now. You can connect only one of them and forget about other. For example, you can import just GLib without GUI support(gtk widgets, gsk renderer and etc.).
  2. Linker class is in linker package now. It is not a part of Gtk, Glib or like this, so it should have different module path. Now it is gtk-d:linker
  3. Update examples. Gtk api was changed from 3 version. Some examples was fixed
  4. Work with libraries: add gtk4 wrap for gtksourceview5, connect libsoup, libshumate and libadwaita(thank @WebFreak001), temporary remove gstreamer - it has not been ported to gtk4 yet
  5. Also update scripts for docs generation
  6. Remove all build methods except dub. build everything you want with: dub build gtk-d:[module name]

Additional info: because gtkd.Loader was replaced by linker.Loader there are some changes in gir-to-d. I forked it and replaced wrap/ link with my repo

Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants