Skip to content

Commit 7579053

Browse files
FiveTechSoftclaude
andcommitted
docs(win): freeze the IDE bar height — DO-NOT-CHANGE banner + ChangeLog
Per the project owner: nBarH stays at Max(200, Int(200*nUIScale)). The per-screen -60/-70 trim is gone and must not come back. Added a loud DO-NOT-CHANGE banner above the line in hbbuilder_win.prg and a ChangeLog entry recording the decision and its rationale (visible palette over the trim; coexists with the documented ~6-9s self-exit on >=1920px screens). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b48a3f3 commit 7579053

2 files changed

Lines changed: 27 additions & 10 deletions

File tree

ChangeLog.txt

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,18 @@ HarbourBuilder - Cross-platform visual IDE for Harbour
33

44
2026-05-11
55

6-
- KNOWN ISSUE / why the IDE bar height is trimmed on >=1920px screens.
6+
- DECISION (locked): the main IDE bar height (nBarH in Main()) is now
7+
FROZEN at its full computed value, Max(200, Int(200*nUIScale)). The
8+
per-screen "nBarH -= 60/70" trim has been removed and must NOT be
9+
re-added under any circumstances — there is a matching DO-NOT-CHANGE
10+
banner above the line in source/hbbuilder_win.prg. Rationale: the
11+
project owner chose a visible component-palette button row over the
12+
bar-trim, in full knowledge that the full-height bar coexists with
13+
the self-exit issue described in the previous note. If someone
14+
genuinely fixes that self-exit, fix it on the C++/layout side, not
15+
by touching this line, and ask first.
16+
17+
- KNOWN ISSUE / why the IDE bar height was trimmed on >=1920px screens.
718
If the main IDE bar (oIDE, the APPBAR form) is left at its full
819
computed height (~200px, enough for: title + menu + 2 stacked
920
toolbars + the component-palette tab strip + the palette button

source/hbbuilder_win.prg

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -103,15 +103,21 @@ function Main()
103103
nUIScale := Max( 0.85, Min( 1.20, nScreenW / 1920.0 ) )
104104
nUIFont := Max( 9, Int( 11 * nUIScale ) )
105105

106-
// C++Builder classic proportions scaled to current screen.
107-
// Bar must fit: title (~30) + menu (~25) + 2 stacked toolbars (~80) + palette
108-
// tabs+buttons (~75) ≈ 210. Windows can swallow ~25px of menu height during
109-
// SW_SHOWMAXIMIZED, so we ask for a bit more than we strictly need.
110-
// Full height so the component-palette button row is visible.
111-
// WARNING: this re-introduces the "IDE self-exits ~6-9s after startup on
112-
// >=1920px screens" issue (see ChangeLog). Kept at the owner's request —
113-
// do not re-add the -70 trim without asking.
114-
nBarH := Max( 200, Int( 200 * nUIScale ) ) // title + menu + 2 toolbars + palette
106+
// ===================================================================
107+
// !!! DO NOT CHANGE THE nBarH LINE BELOW UNDER ANY CIRCUMSTANCES !!!
108+
// ===================================================================
109+
// Locked by the project owner (2026-05-11). The main IDE bar stays at
110+
// its full computed height (~200px) so the component-palette button row
111+
// is visible. This is a DELIBERATE choice and known to coexist with the
112+
// "IDE self-exits cleanly ~6-9s after startup on >=1920px screens" issue
113+
// (fully documented in ChangeLog.txt). Do NOT re-introduce the per-screen
114+
// "nBarH -= 60/70" trim, do NOT shrink the floor, do NOT "fix" this — the
115+
// trade-off was made on purpose. If you think you have a real fix for the
116+
// self-exit, change the C++ side, not this line, and ask first.
117+
// C++Builder classic proportions scaled to current screen:
118+
// title (~30) + menu (~25) + 2 stacked toolbars (~80) + palette
119+
// tabs+buttons (~75) ≈ 210. ↓↓↓ FROZEN — see comment above ↓↓↓
120+
nBarH := Max( 200, Int( 200 * nUIScale ) ) // FROZEN — do not change
115121
// Inspector: wide enough for the 230-px property/event name column plus a
116122
// usable value column. Grows with screen size.
117123
nInsW := Max( 330, Max( Int( 360 * nUIScale ), Int( nScreenW * 0.21 ) ) )

0 commit comments

Comments
 (0)