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.

IndexElement
1Desktop color, if all windows are closed and fp.ans is not available
2Menu bar, normal menu elements
3Menu unavailable greyed-out elements
4Menu normal shortcut highlights
5Menu selected item highlight
6Menu item (selected disabled)
7Menu selected item shortcut highlight
8Debug > Output/User Screen borders, inactive
9Debug > Output/User Screen borders
10Debug > Output/User Screen border buttons
11Debug > Output/User Screen scroll bar trough
12Debug > Output/User Screen scroll bar arrows and thumb
13Debug > Output User Screen body text
24Tools > Ascii table characters
25Tools > Ascii table borders
26Tools > Ascii table border button
32Dialog tabs body
33Dialog main body
34Dialog border buttons
35Dialog scroll bar trough
36Dialog scroll bar arrows and thumb
37Pop-up message text color
38Dialog inactive group title
39Dialog active group title
40Dialog element shortcut highlight
41Dialog inactive button
42Dialog highlighted button, cursor is not on it
43Dialog active button, cursor is on it
45Dialog button shortcut highlight
46Dialog button drop shadow
47Dialog checkbox/radio button list
48Dialog checkbox/radio button list selected item
49Dialog checkbox/radio button list shortcut highlight
50Dialog editable text field
51Dialog editable text field selected text
53Dialog dropdown list arrow
54Dialog dropdown list arrow brackets?
167Editing window borders, inactive
168Editing window borders, active
169Editing window border buttons
170Editing window scroll bar trough
171Editing window scroll bar arrows and thumb
199Code editor whitespace, offline
200Code editor whitespace, inline
201Code comments
202Code reserved words (if, then, begin, end, function...)
203Code identifiers (variable names, function names...)
204Code string literals
205Code numbers (decimal, &octal, %binary)
206Assembly code
207Code symbols (brackets, plus, minus, semicolon...)
208Code editor selected text
211Compiler directives
212Code numbers ($hexadecimal)
214Code breakpoint line, compilation error message when going to error line
216Compilation messages window border
217Compilation messages window border buttons
218Compilation messages window scroll bar trough
219Compilation messages window scroll bar arrows and thumb
223Compilation messages window normal text
224Compilation 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.