mirror of
https://git.sr.ht/~eliasnaur/gio
synced 2026-07-01 07:35:40 +00:00
669e4cc96a88ee5df5c95b8ea5f4485d8f721ddb
First, use wineboot instead of winecfg to set up the WINEPREFIX. It's the right tool for it. Second, when initialising WINEPREFIX, use output pipes instead of CombinedOutput. The latter will wait for *all* output to be copied to a buffer, including the output from grandchildren processes. Since wine starts wineserver automatically, and wineserver lingers for three seconds by default, this is bad. We would waste three seconds waiting for wineserver doing nothing, and then the next wine call (to start the app) would need to start wineserver all over. Instead, with pipes we can get cmd.Run to only wait for the parent process to finish. wineserver stays running but we don't care. And, when we start the gio app, we very likely reuse the same wineserver process. Third, disable wine-gecko and wine-mono. This ensures we don't get stuck if they're not installed, and speeds up wineboot by avoiding work we don't need. The time to set up WINEPREFIX goes down form ~6s to ~1s, and the overall subtest run-time goes down from ~10s to ~3s. Finally, copiously document all of the precious data I've gathered above after hours of debugging. Signed-off-by: Daniel Martí <mvdan@mvdan.cc>
Gio
Immediate mode GUI programs in Go for Android, iOS, macOS, Linux, FreeBSD, OpenBSD, Windows, and WebAssembly (experimental). See the project page gioui.org for documentation and more information.
Issues
File bugs and TODOs through the issue tracker or send an email to ~eliasnaur/gio@todo.sr.ht. For general discussion, use the mailing list: ~eliasnaur/gio@lists.sr.ht.
Contributing
Post discussion to the mailing list and patches to gio-patches. No Sourcehut account is required and you can post without being subscribed.
See the contribution guide for more details.
An unofficial GitHub mirror is kindly maintained by Larry Clapp.
Description
Languages
Go
89.6%
C
7%
Java
1.7%
Objective-C
1.6%