You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ui: {"env": "widthClass"} is never set, so no screen can reach a compact layout #1046
{"env": "widthClass"} is documented as the window's width class (compact < 600, medium < 1200, expanded), but nothing ever sets it, so a document cannot reach a compact layout through it.
Session::setEnvironment holds the value (include/morph/ui/interpreter.hpp:962), but nothing calls it: grep -rn setEnvironment include src finds only that definition.
The Qt Quick frontend computes the class and hands it to FrontendConfig::onWidthClass, whose documentation says "The shell sets it as {"env": "widthClass"}" (include/morph/qt_quick/frontend.hpp:50-52, docs/spec/qt_quick/backend.md:44-45).
morph::client::ShellOptions (include/morph/client/shell.hpp:131-157) has no way to reach the mounted session's environment, and the generic client passes .onWidthClass = {} (examples/client/main.cpp:234).
The testkit's ScreenHarness and render smoke can't set it either.
Verification status
Read in the code at master 842701f0d, by grep. That the value reads null at run time is inferred, not observed.
Not checked: the terminal frontend, which has no width class at all.
What would change the verdict
Close when a screen mounted by morph::client under Qt Quick reads env.widthClass as compact in a window narrower than 600 px, and follows a resize across the boundary. A test that resizes the window should show it. Reopen if the terminal frontend is expected to report a class and doesn't.
Activity
Set env.widthClass from the view backend, in units