Repository navigation
settings: in-app glass has a material of its own - #687
Merged
Merged
Conversation
On Linux the Window material setting offered Frost, Blur and Liquid Glass and then drew them
as a clear window ("shown as Clear"). A material the platform cannot draw is now listed,
greyed and not selectable, with a tooltip saying why. One place answers which materials a
platform draws and why not the others (backend/src/materials.zig); the backend's
materialKinds and the setting both read it, so the coming Linux blur only flips that answer.
A saved kind that cannot be drawn here falls back to the richest glass below it, else to an
opaque window, never to a clear one; the saved value is left as it is.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A new In-app material setting says what the glass fizzy draws itself is made of (dialogs, menus, floats, toasts), apart from the OS window material. Same as window by default; a kind of its own is drawn wherever fizzy's renderer can draw it, so on Linux a clear or opaque window can still have frosted or Liquid Glass menus. Kinds the renderer cannot draw are listed but disabled, saying why (core.material.inAppMissing). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
foxnne
force-pushed
the
settings/in-app-material
branch
from
October 20, 2026 02:01
cc50146 to
8bf5222
Compare
foxnne
marked this pull request as ready for review
October 20, 2026 02:12
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stacked on #685. Follow-up to #621, #664.
What changes
A new In-app material setting (Window settings, below Window material) says what the glass fizzy draws itself is made of — dialogs, menus, floats, toasts — apart from what the OS windows are made of.
in_app_material = null): as today, the window material as drawn, so the look stays one.core.material.inAppMissing: Liquid Glass needs the glass program; every fizzy backend has it, so today nothing is disabled outside a backend without programs). A saved kind it cannot draw falls back by settings: materials the platform can't draw are listed but disabled #685's rule and stays saved.core.materialpublishes two values each frame:get(the window material: the backend and the OS windows) andinApp(the dialog style,LiquidField.publishEnabled, and whether the OS draws the app's glass for it on macOS 26,Popout.nativeGlass).inAppreads the window material until the app publishes.FIZZY_GLASS, and a demo holding the window material, make the in-app glass follow the window again, so the tour's Materials chapter shows one look.materialDropdown).Settings.fieldEqualcompares optionals, so an untouchedin_app_materialisn't written tosettings.zon(integration test).Left as it is: Apple's lens look (
glass_look.inApp) is still macOS-only, so Liquid Glass in-app elsewhere is the glass program's frost with its bend, not the macOS lens.SDK impact
test-sdk-versionpasses;core.materialgains functions, the boundary's shape doesn't move)Verified
Unit test in
core/material.zig, andtests/integration.zigfor the serialized default, (which kinds the in-app renderer draws, and the fallback without the glass program). Gates, locally on macOS:scripts/check-fmt.sh,zig build,zig build test,zig build test-integration(81/81 steps),zig build check-web,zig build test-sdk-version.check-webonlyFollow-ups
No
fizzy.inAppMaterialcommand yet; tapes and agents reach only the window material.The in-app availability is comptime (
program_apion the backend), true on every fizzy backend, so nothing is disabled in shipped builds; a glass program that fails to compile still offers Liquid Glass.The macOS lens look for in-app Liquid Glass on other OSes, if wanted.
🤖 Generated with Claude Code