Commit Graph

29 Commits

Author SHA1 Message Date
349445219b Android: reliable build script; GUI: fix list not drawn until first tap.
scripts/build.sh (documented in README) builds, manifest-patches
( MANAGE_EXTERNAL_STORAGE ), signs and installs the APK in one go.
Without the permission the system 'All files access' toggle is grayed
out on Android 11+.

GUI fix: the event loop only checks the 'updated' channel when it is
not blocked in w.Event(), and gioui only emits frames on invalidation
or user input, so the initial list load was never drawn until a tap.
The updater now signals non-blocking and invalidates the window itself;
the animation ticker gets the same wake-up treatment.
2026-08-24 09:23:41 -04:00
4b74367a55 GUI: fix invisible text on Linux, tiny button hit-areas, missing labels.
Found by running and debugging the Linux build on a virtual display:

- impl_linux.go: set fontSize (16, like Darwin). It was only defined
  for the Android and Darwin builds, so on Linux every label and
  button was rendered at size zero (all text invisible).
- ui.go: extend the Button click area to the full button width, not
  just the label width. Short labels (e.g. a few characters in a
  full-width list row) had a tiny tap target that was easy to miss.
- main.go: set Color: black on the insert-page buttons (<, >, generate,
  @, #). A zero-value NRGBA has A=0 (transparent), so their labels
  were invisible even though the buttons worked.
- main.go: gofmt (modern operator spacing).
2026-08-21 13:48:14 -04:00
e7218b1efd Complete the Gio v0.10.2 GUI migration (working on Android).
- Event loop: call w.Event() and FrameEvent.Frame() on the same
  goroutine; no channel bridge (the bridge broke frame rendering).
- clip: use clip.UniformRRect(...).Push(gtx.Ops) / Pop() for real
  clipping in layoutRRect (old .Add(ops) painted unclipped).
- Window clear color is white in v0.10.2.
- Fonts: always provide gofont; on Android use
  WithCollection(gofont.Collection()).
- Button labels: explicitly set Color (zero-value NRGBA has A=0,
  i.e. transparent, so labels were invisible).
- Filter: detect changes by comparing the editor text, since
  material.Editor.Layout consumes the editor's input events
  internally and a later FilterEd.Update(gtx) never sees them.
- idPage: persist the manually entered ID with store.SetID (on
  Android nativeIdentities is unimplemented, so there are no id
  buttons to click).
- Use U+2026 (gofont) instead of U+22EE (not in gofont) for the
  menu button.
- Split getConfDir/noidLabelText out into impl_linux.go for the
  Linux build.
2026-08-21 13:00:35 -04:00
54c2c00455 Add 'X' button to password filter. 2020-09-17 20:18:20 -04:00
db1c958073 Add filter to password list view. 2020-09-08 13:14:09 -04:00
ec0b64f5f5 Migrating to new Gio version (non-working version). 2020-08-31 17:03:07 -04:00
3163a75b93 Update to latest Gio release. Install a system font on Darwin to
get access to Unicode glyphs.
2019-12-18 14:01:05 -05:00
94cfbbeb41 Update Gio version. Working Android implementation. 2019-11-26 13:24:03 -05:00
4fc504b89a Restructure for automatic Fragment registration by Gio. 2019-11-21 18:18:47 -05:00
a1d9ffa6c6 Improve handling of missing user-IDs. 2019-11-20 15:48:56 -05:00
ea9b4b3861 Add cmd/passgo-gui files updated for Android implementation. 2019-11-20 14:30:43 -05:00
b0abb36e64 Improve handling of SelButtons. Reset password insertion page as
appropriate.
2019-10-03 17:34:04 -04:00
e275ad6607 Add functionality to randomly generate passwords on the insert
page.
2019-10-01 18:22:38 -04:00
c3d32f79a7 Use app.DataDir() to get config directory on Android. Use an
Inset to stay inside the OS window insets.
2019-09-19 17:28:15 -04:00
12b57d263f go fmt 2019-09-10 11:36:03 -04:00
2c4c708b3a Re-arrange platform-dependent code. 2019-09-10 11:31:57 -04:00
09859ca0a9 Compatibility with gpg 2.0 -- call out to gpg commands (on Darwin)
if go openpgp is not compatibile with the local gpg installation.
2019-09-10 08:45:59 -04:00
44cab96fff Add a window title and run go fmt. 2019-09-06 21:14:06 -04:00
dd18765a80 Fine grained animation delays. 2019-09-06 16:55:14 -04:00
a6dc5cbe18 More efficient animation. 2019-09-06 15:14:37 -04:00
b9e9373b04 Fix animation code. Retry GPG agent password prompt and clear
cache if the passphrase does not work.
2019-09-06 13:46:13 -04:00
666d127584 Don't forget to close the config file. Put the custom UI widgets
in a separate source file.
2019-09-06 12:16:08 -04:00
9ead860d17 Add a back button to the passphrase entry page. Clear the clipboard
after 45 seconds.
2019-09-06 11:55:31 -04:00
59a15849f3 Add password prompt code to GUI. 2019-09-06 11:43:14 -04:00
94c1d57933 Fix bug due to rewriten layout.List() (updated Gio version). 2019-09-06 10:59:18 -04:00
7b3d59a581 Add back button to configuration page. 2019-09-06 10:52:27 -04:00
e40e98aa25 Run go fmt. 2019-09-06 10:46:23 -04:00
e108a9b7a7 Add configuration file and UI, and animated overlay when passwords
are copied to the clipboard.
2019-09-06 10:45:18 -04:00
28ccd6d107 Rename to passgo and run go fmt. 2019-09-05 06:41:39 -04:00