North Carolina
Freelance engineer working to make portable GUIs easy and pleasant.
I'm one of Gio's two maintainers, and I focus on making the text and widget APIs great.
Some other fun projects:
If you get value out of my work, please consider sponsoring me on Liberapay or GitHub.
I am also available for hire.
From Chris Waldon to ~eliasnaur/gio-patches
Thanks Alec for the effort to submit an example! In the future, give https://git-send-email.io/ a look for some guidance on how to set up the email patching. It can be a pain to do the first time, but it's easy after that. Could you reply stating that you agree to the DCO (see https://gioui.org/doc/contribute#style) and that your example is licensed under the dual Unlicense/MIT like the rest of the examples? I can merge your patch if we have that. Cheers, Chris
From Chris Waldon to ~eliasnaur/gio
On Tue, Sep 17, 2024 at 8:42 AM Kevin Ingwersen <Kevin.Ingwersen@senpro.it> wrote: > > Hello there! Hi! > I have been tasked with creating an installer for our monitoring solution. Unfortunately, WiX Toolset is one hell of a burden to work with, so I want to attempt to do so with Go/Gio instead and see if that is any better. > > However, due to my visual impairment, my sense of layout and distance is very bad – so there are a few things that I am looking for: > > * Is there a grid/layout system? I did see the widgets and a link to layout - but so far have not found exactly what I am after. Basically, in webdev, we have grid layouts with flexbox and friends. Is there something similar with Gio that I could use to worry less about placement of widgets? There's not a CSS-style grid, but we have a layout primitive similar
From Chris Waldon to ~eliasnaur/gio
On Mon, Sep 16, 2024 at 12:29 AM zhang zj <zhangzj33@gmail.com> wrote: > > Hi, > > I used a modified version of Gio editor to view code, and realized > that it does not handle control > characters such as tab(U+0009) as most fonts out there do not provide > tab glyph. I tried fonts with > tab character such as Ubuntu Mono. But I am not satisfied with the > result, because the tab width is > the same as space in a monospace font. So I am looking for other ways > to solve this issue. > > I know that the shaper queries fontMap to find a glyph for the target
From Chris Waldon to ~eliasnaur/gio
Hi Jeff, This is a great resource. We can link to this post from the website unless you'd prefer to put up a proper webpage for people to reference. Cheers, Chris
From Chris Waldon to ~eliasnaur/gio
On Fri, Aug 9, 2024 at 12:53 AM zi nan <kainan20021110@gmail.com> wrote: > > '''func main() { > go func() { > w := new(app.Window) > w.Option(app.Size(unit.Dp(800), unit.Dp(600)), > app.Decorated(false)) > if err := loop(w); err != nil { > panic(err) > } > os.Exit(0) > }() > app.Main() > }
From Chris Waldon to ~eliasnaur/gio
Hey all, The latest newsletter detailing Gio v0.7.1 is available here: https://gioui.org/news/2024-07 Cheers, Chris
From Chris Waldon to ~eliasnaur/gio-patches
This commit zeroes the accumulated scroll distance on the window before invoking the event delivery code, since the event delivery code is able to call back into the scroll processing. Prior to this change, the callback could re-processing the scroll delta while magnifying it by a factor of 10. Fixes: https://todo.sr.ht/~eliasnaur/gio/599 Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com> --- app/os_wayland.go | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/app/os_wayland.go b/app/os_wayland.go index 393f4c7f..24d1d874 100644 --- a/app/os_wayland.go [message trimmed]
From Chris Waldon to ~eliasnaur/gio-patches
> `w.driver` would race with the `w.driver = nil` below. I've pushed > an alternative change that resets `mayInvalidate` instead. Thank you!
From Chris Waldon to ~eliasnaur/gio-patches
This commit ensures that it is safe to invoke Invalidate() from another goroutine while a Gio window may be in the process of closing. It can be difficult to prevent this from happening, as window handles can easily be managed by a type that doesn't know the exact moment of window close (it might be waiting on the window event loop to return, but that hasn't happened yet). Without this change, the nil window driver results in a panic in this situation. Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com> --- app/window.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/window.go b/app/window.go index bf85099a..db1a9706 100644 [message trimmed]
From Chris Waldon to ~eliasnaur/gio-patches
Custom rendering applications need to be prepared to handle empty view events, as an empty view event is sent during window shutdown. However, the current implementation requires applications to write a platform-specific helper function for each supported platform in order to check whether a received view event is empty. This commit provides a safe, convenient, cross-platform method that applications can use to detect this special view event and respond to it. Signed-off-by: Chris Waldon <christopher.waldon.dev@gmail.com> --- app/app.go | 4 ++++ app/os_android.go | 3 +++ app/os_ios.go | 3 +++ app/os_js.go | 3 +++ [message trimmed]