#puregotk — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #puregotk, aggregated by home.social.
-
#puregotk ’s new WIP GStreamer bindings now work on macOS too!
-
#puregotk’s new WIP GStreamer bindings now work on macOS too!
-
#puregotk’s new WIP GStreamer bindings now work on macOS too!
-
Some neat #puregotk & #GStreamer hacks I've been exploring: #Multiplex , which allows you to do torrent watchparties with your friends & share the positions, playback etc. P2P, now has an initial version that uses GStreamer to play back the video in the app itself! No more need for MPV :)
-
Some neat #puregotk & #GStreamer hacks I've been exploring: #Multiplex, which allows you to do torrent watchparties with your friends & share the positions, playback etc. P2P, now has an initial version that uses GStreamer to play back the video in the app itself! No more need for MPV :)
Bonus: Subtitles work better now, too!
-
Some neat #puregotk & #GStreamer hacks I've been exploring: #Multiplex, which allows you to do torrent watchparties with your friends & share the positions, playback etc. P2P, now has an initial version that uses GStreamer to play back the video in the app itself! No more need for MPV :)
Bonus: Subtitles work better now, too!
-
@p2panda @d1 @cblgh Oh I'd love to take a look at that some time as well! Go APIs can be quite peculiar sometimes, esp. with CGo. For now the GObject API actually works quite well - we don't need it here but I added support for e.g. subclassing to #puregotk as well so the sky is the limit with GObject in Go :)
-
@p2panda @d1 @cblgh Oh I'd love to take a look at that some time as well! Go APIs can be quite peculiar sometimes, esp. with CGo. For now the GObject API actually works quite well - we don't need it here but I added support for e.g. subclassing to #puregotk as well so the sky is the limit with GObject in Go :)
-
New thing: Initial support for GStreamer in #puregotk , completely CGo-free!
-
New thing: Initial support for #GStreamer in #puregotk, completely CGo-free!
-
New thing: Initial support for #GStreamer in #puregotk, completely CGo-free!
-
Finally managed to push those two big #puregotk PRs I've been working on! 1) fixes a bug with `throws` generation: https://codeberg.org/puregotk/puregotk/pulls/46 2) makes the generation 15x faster: https://codeberg.org/puregotk/puregotk/pulls/47
Generate `throws` parameter co... -
Finally managed to push those two big #puregotk PRs I've been working on!
1) fixes a bug with `throws` generation: https://codeberg.org/puregotk/puregotk/pulls/46
2) makes the generation 15x faster: https://codeberg.org/puregotk/puregotk/pulls/47That should make it that much easier to generate new bindings or even generate them during the build, e.g. for something like #p2panda
-
Finally managed to push those two big #puregotk PRs I've been working on!
1) fixes a bug with `throws` generation: https://codeberg.org/puregotk/puregotk/pulls/46
2) makes the generation 15x faster: https://codeberg.org/puregotk/puregotk/pulls/47That should make it that much easier to generate new bindings or even generate them during the build, e.g. for something like #p2panda
-
In some more fun #puregotk #GNOME news - I managed to get Meson to work on macOS. You can even write a GObject library in Go now, compile it to a dylib and typelib, and then another puregotk-based app (or GJS, Python etc.) can load the custom widget and display it with no issues!
Even cooler - you can cross-compile this for macOS from Linux, no CGo/macOS C compiler required :)
-
In some more fun #puregotk #GNOME news - I managed to get Meson to work on macOS. You can even write a GObject library in Go now, compile it to a dylib and typelib, and then another puregotk-based app (or GJS, Python etc.) can load the custom widget and display it with no issues!
Even cooler - you can cross-compile this for macOS from Linux, no CGo/macOS C compiler required :)
-
#puregotk now supports #GNOME 50! Sessions is already updated to use it too :) Having a speedy bindings generator and simple pipeline really makes all the difference here, took just under an hour for updating, verification, using it in a different app, tagging a release, using it in Flatpak, looking for regressions etc.
-
#puregotk now supports #GNOME 50! Sessions is already updated to use it too :) Having a speedy bindings generator and simple pipeline really makes all the difference here, took just under an hour for updating, verification, using it in a different app, tagging a release, using it in Flatpak, looking for regressions etc.
-
Kind of neat how well #GNOME apps fit in on macOS :) Since @nila added support for macOS to #puregotk in https://codeberg.org/puregotk/puregotk/pulls/43 this week I thought I’d give it a shot on my new MacBook Neo - and it works really well. Cross-compilation from Linux to macOS was super easy thanks to purego, no cross-compiler needed, just `GOOS=darwin GOARCH=arm64`. Plus, discovered that macOS’s arm64 library paths are different!
-
Kind of neat how well #GNOME apps fit in on macOS :) Since @nila added support for macOS to #puregotk in https://codeberg.org/puregotk/puregotk/pulls/43 this week I thought I’d give it a shot on my new MacBook Neo - and it works really well. Cross-compilation from Linux to macOS was super easy thanks to purego, no cross-compiler needed, just `GOOS=darwin GOARCH=arm64`. Plus, discovered that macOS’s arm64 library paths are different!
-
#puregotk has moved to #Codeberg ! I've just opened the first PR to it: https://codeberg.org/puregotk/puregotk/pulls/42 Gosh it is nice to have a usable signal/noise ratio on a forge again ...
Fix examples after move to Cod... -
#puregotk has moved to #Codeberg ! I've just opened the first PR to it: https://codeberg.org/puregotk/puregotk/pulls/42 Gosh it is nice to have a usable signal/noise ratio on a forge again ...
Fix examples after move to Cod... -
#puregotk has moved to #Codeberg! I've just opened the first PR to it: https://codeberg.org/puregotk/puregotk/pulls/42
Gosh it is nice to have a usable signal/noise ratio on a forge again ...
-
#puregotk has moved to #Codeberg! I've just opened the first PR to it: https://codeberg.org/puregotk/puregotk/pulls/42
Gosh it is nice to have a usable signal/noise ratio on a forge again ...
-
#puregotk (or, as it turns out, purego actually) now supports passing C strings to Go, which makes the #GTK dialog responses work! https://github.com/jwijenbergh/purego/pull/3#issuecomment-3808732476
Fix string conversion when cal... -
#puregotk (or, as it turns out, purego actually) now supports passing C strings to Go, which makes the #GTK dialog responses work!
https://github.com/jwijenbergh/purego/pull/3#issuecomment-3808732476
-
#puregotk (or, as it turns out, purego actually) now supports passing C strings to Go, which makes the #GTK dialog responses work!
https://github.com/jwijenbergh/purego/pull/3#issuecomment-3808732476
-
Another #puregotk #Go #GTK bindings fix: Callbacks that contain strings (think `Settings.ConnectChanged`, `AdwDialog.ConnectResponse`) now correctly convert them from C strings to Go strings: https://github.com/pojntfx/puregotk/tree/fix-c-to-go-calls Will cherry-pick & PR tomorrow.
GitHub - pojntfx/puregotk at f... -
Managed to get #WebKitGTK to work with #puregotk . Just needed to add a small tweak since it was mixing up `gio.Byte` with `[]byte`. I think that makes it one of the first full-featured, CGo-free WebView libraries for Go?
-
Another #puregotk #Go #GTK bindings fix: Callbacks that contain strings (think `Settings.ConnectChanged`, `AdwDialog.ConnectResponse`) now correctly convert them from C strings to Go strings: https://github.com/pojntfx/puregotk/tree/fix-c-to-go-calls
Will cherry-pick & PR tomorrow.
-
Another #puregotk #Go #GTK bindings fix: Callbacks that contain strings (think `Settings.ConnectChanged`, `AdwDialog.ConnectResponse`) now correctly convert them from C strings to Go strings: https://github.com/pojntfx/puregotk/tree/fix-c-to-go-calls
Will cherry-pick & PR tomorrow.
-
Managed to get #WebKitGTK to work with #puregotk. Just needed to add a small tweak since it was mixing up `gio.Byte` with `[]byte`. I think that makes it one of the first full-featured, CGo-free WebView libraries for Go?
-
Ha, ran into a #WebKitGTK quirk today while extending the #puregotk generator to work with it: https://bugs.webkit.org/show_bug.cgi?id=175937 Workaround for now: https://github.com/pojntfx/ledger/commit/5a1608f4501f39500f0faf004d362b7b6cbd26ae
GIR: Manually register types f... -
Ha, ran into a #WebKitGTK quirk today while extending the #puregotk generator to work with it: https://bugs.webkit.org/show_bug.cgi?id=175937
Workaround for now: https://github.com/pojntfx/ledger/commit/5a1608f4501f39500f0faf004d362b7b6cbd26ae
Funnily enough I ran into this exact problem with my own Go-based GObject library. Initialising them in `main` (yes, in a library!) fixed it there!
-
https://github.com/jwijenbergh/puregotk/pull/34
Aaaand here we go! #puregotk #Go #GNOME binding examples, including subclassing and how to create a GObject library with Go (so you can distribute custom GTK widgets written in Go to C, JS, Vala, Python etc. apps)!
-
One or two days left until the next #puregotk #Go #GNOME upstreaming PR. I've imported my examples for how to do subclassing with Golang, creating a custom GObject introspection-compatible library and so on into the upstream repo, and I've started writing documentation. Since it is getting late I will probably finish it tomorrow, but it's getting easier and easier for people to try now I think :)
https://github.com/pojntfx/puregotk/tree/add-examples/examples/mylib-gtk-meson
-
New, soon-to-be upstreamed #puregotk #GNOME work today: A Meson-free/pure Go & Flatpak environment for building GNOME apps in Go as an alternative to the Meson one! Now I just have to rename them, git-subtree-split them out of the repo, and upstream it to the bindings and then these can become Foundry/Builder templates :)
https://github.com/pojntfx/senbara/commit/965d5857ce40490ace4a1432b86c7c13c3a7812b
-
New #gogettext (my #puregotk -based gettext bindings for Go) release! v0.2.0 now supports `BindI18n` and `dgettext` to allow scoping gettext translation domains in a more fine-grained way. This allows using two different translation domains in more complex scenarios, such as a Go GObject library and a Go #GNOME app where both vendor their own translations.
New library docs: https://github.com/pojntfx/go-gettext?tab=readme-ov-file#for-libraries
How you can use it for GObject libs and GNOME apps written in Go: https://github.com/pojntfx/senbara/commit/2688a3c88d26872d38a69a8f0501631b395de0d7
-
New #puregotk #GNOME hacking milestone: A GObject library built with Go can now be installed as a simple Meson module in Flatpak (fully offline/with tracked dependencies, so this should work for Flathub too), and then be used by any GIR-compatible language (Go, JS, Python etc.). Even i18n with `gettext` (with translations vendored via the library) works!
-
https://github.com/pojntfx/multiplex/commit/942c6c513ad4f6620cb5ac967496e1a0a10b825f
And another Go GTK app is ported to #puregotk! Not with subclassing yet, but it will get there eventually. Build time is down from ~25 minutes to 20s 🤯
-
New progress on the #puregotk #GObject introspection things I'm working on in #Go. It's super early, but I added preliminary support for generated getters/setters for properties. No more manual value setup & `SetProperty` calls required, just a simple `SetPropertyX` call. We're getting closer and closer to more readable code here with this IMHO, GJS on the right for comparison!