Free Pascal Compiler console IDE colors
The Free Pascal console IDE has not had a color preferences dialogue for a long time. You can still change the colors by editing the active fp.ini file. This is probably the one in your working directory, but you can check by going to Options > Save fp.ini, and checking which fp.ini file on your system has the most recent timestamp.
In fp.ini, there is a section under [Colors] with a series of console palette values, each expressed in the form #$BF, where B and F are the background and foreground colors respectively, expressed as single hex digits corresponding to your console's 16-color palette. For example, assuming you use the default old-school palette, #$F4 results in dark red text on a bright white background.
These are some of the more interesting palette indexes (and there are way too many of these, no console interface needs this many customisable colors). Code editor syntax highlighting indexes are in bold.
Index | Element |
---|---|
1 | Desktop color, if all windows are closed and fp.ans is not available |
2 | Menu bar, normal menu elements |
3 | Menu unavailable greyed-out elements |
4 | Menu normal shortcut highlights |
5 | Menu selected item highlight |
6 | Menu item (selected disabled) |
7 | Menu selected item shortcut highlight |
8 | Debug > Output/User Screen borders, inactive |
9 | Debug > Output/User Screen borders |
10 | Debug > Output/User Screen border buttons |
11 | Debug > Output/User Screen scroll bar trough |
12 | Debug > Output/User Screen scroll bar arrows and thumb |
13 | Debug > Output User Screen body text |
24 | Tools > Ascii table characters |
25 | Tools > Ascii table borders |
26 | Tools > Ascii table border button |
32 | Dialog tabs body |
33 | Dialog main body |
34 | Dialog border buttons |
35 | Dialog scroll bar trough |
36 | Dialog scroll bar arrows and thumb |
37 | Pop-up message text color |
38 | Dialog inactive group title |
39 | Dialog active group title |
40 | Dialog element shortcut highlight |
41 | Dialog inactive button |
42 | Dialog highlighted button, cursor is not on it |
43 | Dialog active button, cursor is on it |
45 | Dialog button shortcut highlight |
46 | Dialog button drop shadow |
47 | Dialog checkbox/radio button list |
48 | Dialog checkbox/radio button list selected item |
49 | Dialog checkbox/radio button list shortcut highlight |
50 | Dialog editable text field |
51 | Dialog editable text field selected text |
53 | Dialog dropdown list arrow |
54 | Dialog dropdown list arrow brackets? |
167 | Editing window borders, inactive |
168 | Editing window borders, active |
169 | Editing window border buttons |
170 | Editing window scroll bar trough |
171 | Editing window scroll bar arrows and thumb |
199 | Code editor whitespace, offline |
200 | Code editor whitespace, inline |
201 | Code comments |
202 | Code reserved words (if, then, begin, end, function...) |
203 | Code identifiers (variable names, function names...) |
204 | Code string literals |
205 | Code numbers (decimal, &octal, %binary) |
206 | Assembly code |
207 | Code symbols (brackets, plus, minus, semicolon...) |
208 | Code editor selected text |
211 | Compiler directives |
212 | Code numbers ($hexadecimal) |
214 | Code breakpoint line, compilation error message when going to error line |
216 | Compilation messages window border |
217 | Compilation messages window border buttons |
218 | Compilation messages window scroll bar trough |
219 | Compilation messages window scroll bar arrows and thumb |
223 | Compilation messages window normal text |
224 | Compilation messages window highlighted row |
An even more complete list now exists here.
My CGA-inspired theme:
[Colors]
Palette_1_40=#$71#$70#$78#$74#$20#$28#$24#$17#$1F#$1A#$31#$31#$1E#$71#$1F#$37#$3F#$3A#$13#$13#$3E#$21#$3F#$70#$7F#$7A#$13#$13#$70#$7F#$7E#$70#$7F#$7A#$13#$13#$70#$70#$7F#$7E
Palette_41_80=#$20#$2B#$2F#$78#$2E#$70#$30#$3F#$3E#$3F#$2F#$1A#$20#$72#$31#$31#$30#$2F#$3E#$31#$13#$38#$00#$17#$1F#$1A#$71#$71#$1E#$17#$1F#$1E#$20#$2B#$2F#$78#$2E#$10#$30#$3F
Palette_81_120=#$3E#$70#$2F#$7A#$20#$12#$31#$31#$30#$2F#$3E#$31#$13#$38#$00#$37#$3F#$3A#$13#$13#$3E#$30#$3F#$3E#$20#$2B#$2F#$78#$2E#$30#$70#$7F#$7E#$1F#$2F#$1A#$20#$32#$31#$71
Palette_121_160=#$70#$2F#$7E#$71#$13#$38#$00#$70#$7F#$7A#$13#$13#$70#$70#$7F#$7E#$20#$2B#$2F#$78#$2E#$70#$30#$3F#$3E#$1F#$2F#$1A#$20#$72#$31#$31#$30#$2F#$3E#$31#$13#$38#$00#$30
Palette_161_200=#$3E#$1E#$70#$30#$3F#$3A#$18#$17#$1F#$03#$31#$1E#$71#$1F#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$00#$1F#$1F
Palette_201_240=#$3F#$1B#$1F#$1E#$1D#$17#$17#$70#$3F#$30#$1E#$1D#$1F#$4E#$31#$3F#$3A#$31#$31#$31#$31#$3F#$31#$2F#$3E#$3F#$70#$20#$FF#$3A#$37#$FF#$FF#$FF
This information was correct with FPC 3.2.2 / IDE 1.0.12 around July 2021.