Skip to content

fix: keep bottom sheets at the bottom and across the screen - #89

Open
Alaraajavamma wants to merge 1 commit into
forkyfrom
feature/forky/fix-sheets-stay-sheets
Open

fix: keep bottom sheets at the bottom and across the screen#89
Alaraajavamma wants to merge 1 commit into
forkyfrom
feature/forky/fix-sheets-stay-sheets

Conversation

@Alaraajavamma

@Alaraajavamma Alaraajavamma commented Aug 13, 2026

Copy link
Copy Markdown
Collaborator

Adwaita chooses between a bottom sheet and a floating dialog from window width, and window width is display scale. The same phone is 360 points across at 300% and 540 at 200%. After this we will keep the bottom sheets as bottom sheet as log as the scale is reasonable to use in phone (FLX1 200% and FLX1s/s+ 150%)

@Alaraajavamma Alaraajavamma changed the title Queue: fix-sheets-stay-sheets fix: keep bottom sheets at the bottom and across the screen Aug 13, 2026
@Alaraajavamma
Alaraajavamma marked this pull request as ready for review August 13, 2026 18:32
@Alaraajavamma
Alaraajavamma force-pushed the feature/forky/fix-sheets-stay-sheets branch from fae5c15 to 993f4f9 Compare August 14, 2026 21:15
Adwaita chooses between a bottom sheet and a floating dialog from how
wide the window is, and window width is display scale: the same phone
is 360 points across at 300 per cent and 540 at 200, so lowering the
scale turned every sheet in the app into a box floating in the middle
of the screen.

Saying which one is wanted settles that much, and the alerts and the
about page keep it: they stack over whatever is showing and answer with
a response, which is what a dialog is for.

The flows are sheets in their own right, and a sheet made out of a
dialog cannot be asked how wide to be. Its content width is ignored,
measured the same on 1.5 and on 1.9, and the sheet Adwaita builds
inside the dialog starts out not spanning the window with nothing to
say otherwise from the outside.

Adwaita has the sheet as a widget that lives in a window instead, and
that one spans the window by itself. A window keeps one and shows
whatever is asked for in it. One is the design rather than a limit: a
flow opened from inside another goes on as a page and back walks out
of it, which is what a sheet on top of a sheet was standing in for.

So the flows stop being dialogs. Settings, the contact editor and
picker, the blocklist editor, the capture sheets, the scanner, the
pickers and the import and export flow are pages now, shown in the
window's sheet. What answered by closing answers by being hidden, and
what a flow wants to undo afterwards is registered against the sheet
going down rather than against a dialog that no longer exists.

Entry rows that used to open with the keyboard already up now wait to
be tapped. Taking the focus back once it had been taken was worse than
never taking it: the keyboard came up and went down and the view moved
twice.

The alerts come too. A question asked in a page rather than in a dialog
carries a back arrow, and back on a question is the answer no, which is
what every one of these already did with a question left untouched. So
they read the same and look like the rest of the app, and the dialog
that was kept only to ask them is gone with the machinery that tracked
which one was showing.

The about page stays a dialog. It is a page Adwaita draws, not a
question.
@Alaraajavamma
Alaraajavamma force-pushed the feature/forky/fix-sheets-stay-sheets branch from 993f4f9 to 48d0789 Compare August 15, 2026 21:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant