Skip to content

Commit ad83349

Browse files
FiveTechSoftclaude
andcommitted
tweak(win): re-introduce the >=1920px IDE bar-height trim (owner-approved)
Lifts the "freeze nBarH" lock added in 7579053. The main IDE bar is trimmed by 70px on screens >= 1920px wide (nBarH -= 70); smaller resolutions keep the full Max(200, Int(200*nUIScale)) height. The DO-NOT-CHANGE banner above the nBarH line is replaced with a short history note; ChangeLog's "DECISION (locked)" entry is updated to "DECISION (reversed)". Trade-off (slightly clipped palette button row on big screens vs. avoiding the documented ~6-9s self-exit) acknowledged and accepted by the owner. bin/hbbuilder_win.exe rebuilt (MSVC x64). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b727219 commit ad83349

3 files changed

Lines changed: 22 additions & 23 deletions

File tree

ChangeLog.txt

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,15 @@ HarbourBuilder - Cross-platform visual IDE for Harbour
33

44
2026-05-11
55

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.
6+
- DECISION (reversed): the earlier "freeze nBarH at full height" lock
7+
has been lifted at the project owner's request. The per-screen trim
8+
is back: nBarH -= 70 when nScreenW >= 1920 (smaller screens keep the
9+
full Max(200, Int(200*nUIScale)) height). The DO-NOT-CHANGE banner in
10+
source/hbbuilder_win.prg has been replaced with a short history note.
11+
Trade-off acknowledged: on >=1920px screens the trimmed bar drops the
12+
bottom of the component-palette button row slightly, but it also
13+
avoids the self-exit described in the note below; the owner judged
14+
that the better deal.
1615

1716
- KNOWN ISSUE / why the IDE bar height was trimmed on >=1920px screens.
1817
If the main IDE bar (oIDE, the APPBAR form) is left at its full

bin/hbbuilder_win.exe

0 Bytes
Binary file not shown.

source/hbbuilder_win.prg

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

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.
117106
// C++Builder classic proportions scaled to current screen:
118107
// 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
108+
// tabs+buttons (~75) ≈ 210.
109+
//
110+
// History: this line was briefly "frozen" at the full computed height
111+
// because the per-screen trim coexisted oddly with the "IDE self-exits
112+
// cleanly ~6-9s after startup on >=1920px screens" issue (see
113+
// ChangeLog.txt). The owner has since decided the shorter bar is worth
114+
// it on big screens, so the trim is back — deliberately.
115+
nBarH := Max( 200, Int( 200 * nUIScale ) )
116+
// >= 1920 px wide: trim 70 px (spare vertical room). Smaller screens
117+
// keep the full height (they need every pixel).
118+
if nScreenW >= 1920
119+
nBarH -= 70
120+
endif
121121
// Inspector: wide enough for the 230-px property/event name column plus a
122122
// usable value column. Grows with screen size.
123123
nInsW := Max( 330, Max( Int( 360 * nUIScale ), Int( nScreenW * 0.21 ) ) )

0 commit comments

Comments
 (0)