~inkeliz

Recent activity

Re: Accessing files on Android 21 days ago

From Lucas Rodrigues to ~eliasnaur/gio

TLDR: See https://github.com/gioui/gio-x/pull/26, that allows to select a folder, but I don't 
have time to properly implement it. "It works on my machine", and it's very limited.

Hi,

I'm the original creator of `gio-x/explorer`. The purpose of this
package was to enable saving and downloading invoices and user data
(meet GDPR requirements). That’s why features like selecting
multiple files or folders weren’t supported. Currently, I keep sharing
some code on my Gio-Plugins repository.

Explorer uses `ACTION_GET_CONTENT` [0] instead of `ACTION_OPEN_DOCUMENT`
[1]. It behaves like JavaScript, returning a copy of the file to read, which is 
why directories don’t work. It's a simple read/write, similar to how JS works. The latter is more

Re: Android: read-only file systsem despite WRITE_EXTERNAL_STORAGE 5 months ago

From Lucas Rodrigues to ~eliasnaur/gio

Can you try use the `DataDir` (https://pkg.go.dev/gioui.org@v0.7.1/app#DataDir) folder, that is exclusive for your app and you can use it.

If you want to read/write outside of the app sandbox you need permission, but the permission need to be performed by the user explicitly, see https://git.sr.ht/~whereswaldon/gio-x/tree/v0.7.1/item/explorer/explorer_android.java#L149-159

-- 
  Lucas Rodrigues
  inkeliz@inkeliz.com

On Fri, Jan 10, 2025, at 12:34 AM, Otfried Geffert wrote:
> Dear Elias and all others,
>
> my attempt to create a directory with os.Mkdir("xxx", os.ModePerm) 
> failed with the message
> mkdir xxx: read-only file system

Re: Detecting whether a window is currently visible 1 year, 13 days ago

From Lucas Rodrigues to ~eliasnaur/gio

Hi,

I have currently migrated almost everything to the latest version, but 
ConfigEvent.Focused doesn't work.

I reported some issues about this on gio-todo. However, the issue affects multiple 
OSes (from WASM to iOS) on different levels.

I can summarize all issues:

1. Focused is not triggered when the page is not visible (WASM). It happens before,
using visibilitychange.

2. Focused is triggered incorrectly if another view in the same window has focus,

Re: unbounded slice growth in Router.Event()? 1 year, 18 days ago

From Lucas Rodrigues to ~eliasnaur/gio

I notice that yesterday, while woking on my year-long PR [0]. Seems that exists two 
`scratchFilters`, one of them is on the "root" and another inside "Key" sub-struct.

The "key sub-struct" only appends, but never resets or it's used. I silent remove it [1],
I'm not aware of any side-effect. Try to remove this append line and check if stuff
still running.


[0] https://github.com/gioui/gio/pull/117/commits/e6f6b3d76e61f314ece1755dd3ce6785dc9af9c1
[1] https://github.com/gioui/gio/pull/117/commits/e6f6b3d76e61f314ece1755dd3ce6785dc9af9c1#diff-c04c544d7677b4f40b53717995fb8f2e3d67212768e651e229ef2c020fc0d357L306-L308

-- 
  Lucas Rodrigues
  inkeliz@inkeliz.com

Re: gogio issues finding packages 1 year, 1 month ago

From Lucas Rodrigues to ~eliasnaur/gio

The "safe" maximum OpenJDK is 8 (with some luck: 11), IIRC. Gio uses D8 tool [0], 
which is stuck on Java 8. Gio also uses JDK8 on CI [1], so it's the recommended
version.

[0]: https://developer.android.com/tools/d8
[1]: https://github.com/gioui/gio/blob/main/.builds/linux.yml#L70-L72
-- 
  Lucas Rodrigues
  inkeliz@inkeliz.com

On Fri, May 10, 2024, at 5:23 PM, Sean E. Russell wrote:
> Well, for anyone else encountering issues and finding this thread: I downgraded
> to Java 17 and `-buildmode exe` works. Haven't tried running it yet, but the
> build works. So the maximum compatible Java version is [17,22)

Re: Screen orientation and webview plugin 1 year, 1 month ago

From Lucas Rodrigues to ~eliasnaur/gio

Hi,

The gioui-plugins are not officially supported by the Gio maintainers, it's not
part of Gio project "umbrella". The gioui-plguins is (poorly) maintained by me, 
independently, and it's just one open-sourced version of some components 
used in a closed-source app.

These plugins are used in a specific commercial application that is not 
open-source. So, all features have been developed and only exists to meet
the needs of this application. Our app uses a fixed-oriented
(which is also a feature that I introduced to Gio, see the commit at 
https://github.com/gioui/gio/commit/d51d8b4). I suggest to open one issue in 
the GitHub repository, then I can better track that issue. Note, that this 
project also current lacks tests (CI), which makes things harder to proper

Re: Detecting whether a window is currently visible 1 year, 2 months ago

From Lucas Rodrigues to ~eliasnaur/gio

I haven't upgraded to version 0.5 or 0.6 yet. I'm still on 0.1-ish. I'm hope to migrate 
to 0.6 by June.

In the meantime, I use system.StageEvent for:

- Turning off Gio animations and components (like webview) when not visible.
- Implementing workarounds for Safari, due to limitations with onClick.
- Automatically filling in the sign-up confirmation code. If the user minizes the app 
on "Enter Code" page and then returns, it will read the code from the clipboard 
and check it in automatically (if it's a valid format).

As I said, I didn't move to 0.6, so I'm not sure if any of my use-case is affected.

--

Re: Can't dismiss keyboard on mobile 1 year, 5 months ago

From Lucas Rodrigues to ~eliasnaur/gio

Typically, mobile keyboards close when you click 'outside', 
but Gio does not handle this automatically. You can create a 
new clip.Rect and listen for clicksqtouches. Then, use 
op.SoftKeyboardOp{Show: false}.Add(...) to close the keyboard.

-- 
  Lucas Rodrigues
  inkeliz@inkeliz.com

On Sun, Jan 14, 2024, at 6:30 AM, kennedy@dreacotgroup.com wrote:
> The editor doesn't seem to support disappearing keyboard on mobile, so 
> when we focus on the Editor, the keyboard shows and there is no way to 
> hide it

Re: [PROPOSAL] Event based IPC (inter-process communication) using WM_COPYDATA 1 year, 6 months ago

From Lucas Rodrigues to ~eliasnaur/gio

Not directly related, but one PR(https://github.com/gioui/gio/pull/117/files) uses 
WM_COPYDATA to handle "deeplinking" on Windows. (Previously, the original
PR used "named-mmap").

-- 
  Lucas Rodrigues
  inkeliz@inkeliz.com

On Thu, Nov 30, 2023, at 8:58 AM, Egon Elbre wrote:
> Btw. It's possible to pipes for IPC, which is also more cross-platform
> and doesn't require integrating with the windowing framework.
>
> Also, there are other approaches
> https://learn.microsoft.com/en-us/windows/win32/ipc/interprocess-communications

Re: File System Access API 2 years ago

From Lucas Rodrigues to ~eliasnaur/gio

Well... Safari doesn't support `showSaveFilePicker`, 
https://caniuse.com/?search=showSaveFilePicker.

Sounds like Safari only supports "Origin Private File System", which
is a subset of File System Access API. That API only allows the
website/origin to store contents, without user interaction

You can read more about that on https://developer.chrome.com/articles/origin-private-file-system/#the-user-visible-versus-the-origin-private-file-system. In general, that is a 
"file-based" version of Localstorage, you can access and
read files that is exclusive to the origin/website, and not
intended to be visible directly by the user. That is not
useful to explorer package.

_I'm assuming that "Can I Use" is correct, I didn't test that._