docs: GUI layout review — findings for the composition pass
Carries out the "GUI review — custom layouts and composition" roadmap item and records the result in docs/GUI-LAYOUT-REVIEW.md. Composition only; no code was changed. Every number was measured with a throwaway headless Fyne probe at text size 14 and 20, not estimated. Headline finding: the Settings tab sets a minimum content width of 1165.5 px for a typical install — wider than the 1024x660 window run.go asks for — so Fyne silently widens the window on open and the user cannot drag it narrower. It also grows with the length of the config-file path (1501 px for a 75-character one). Two independent causes: the seven settingsControlWidth wrappers, which measure identically to bare controls at every reachable width and only inflate MinSize, and the Config JSON path label, the one value label in the tab without truncation. Fixing both takes the floor to 993.3. Also found: compactVBoxLayout is a byte-for-byte re-implementation of stock layout.NewCustomPaddedVBoxLayout (identical geometry at every spacing tested); minJobsSidebarWidth (400) never binds because the toolbar row already needs 448; the negative row spacings are theme.InnerPadding() written as a magic number; the History column widths truncate their own content on a scaled UI; and the History table re-sorts its whole event slice once per cell — 126 sorts of a 300-element copy for one redraw. Fifteen findings in all, each with a disposition (single fix or roadmap) and a suggested order. fixedHeightLayout, which the roadmap singled out, is kept: no stock layout forces an exact height, and the alternative depends on the parent staying a Border. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -83,6 +83,12 @@ Design notes / open questions:
|
||||
|
||||
### GUI review — custom layouts and composition
|
||||
|
||||
**The review has been carried out — its findings are in
|
||||
[GUI-LAYOUT-REVIEW.md](GUI-LAYOUT-REVIEW.md).** This item stays open until they
|
||||
are applied; F9, F13 and F15 there are larger than a single fix and come back
|
||||
here once the rest has landed. The agenda below is what the pass was asked to
|
||||
answer.
|
||||
|
||||
The `ui` package has accumulated hand-written layouts and tuned constants that
|
||||
work but have never been reviewed as a whole:
|
||||
[`layout.go`](../src/ui/layout.go) holds four custom `fyne.Layout`
|
||||
|
||||
Reference in New Issue
Block a user