fix(settings): lower page-masonry threshold so it engages under display scaling

The 1000-logical-px threshold never engaged at 125% OS scaling: the panel's
real-px width (~1190) was below 1000×dpiScale (~1250), so the page stayed
single-column even though the internal NODE & SECURITY two-column (760×dpiScale)
did engage. Drop to 780 logical px — still requires usable (~390 logical) columns
but engages at the widths real windows actually have under display scaling.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-21 20:50:19 -05:00
parent fdf2502ca8
commit f0c681b0b5

View File

@@ -654,7 +654,10 @@ void RenderSettingsPage(App* app) {
// ====================================================================
const float msFullWidth = availWidth;
const float msColGap = Layout::spacingXl();
const bool msTwoCol = availWidth > 1000.0f * Layout::dpiScale();
// Threshold is in logical px (× dpiScale): two columns once each is usable
// (~390 logical wide). Kept low enough to engage under OS display scaling,
// where the panel's real-px width is smaller in logical terms.
const bool msTwoCol = availWidth > 780.0f * Layout::dpiScale();
const float msColW = msTwoCol ? (msFullWidth - msColGap) * 0.5f : msFullWidth;
const ImVec2 msColTop = ImGui::GetCursorPos();
float msLeftBottomY = 0.0f;