hey marcov, thank you for the answer.
From the top of your head (since I've not had a chance to look into the code myself yet), do you know if colors are fully read from .ini file?
optionally, a user could just fill the .ini manually and it works (no need to change colors in run-time).
if yes, what how to populate the colors "array" in .ini file?
It's definitely not the key/value reading .
(fpini.pas)
{ Colors }
S:=AppPalette;
PS:=StrToPalette(INIFile^.GetEntry(secColors,iePalette+'_1_40',PaletteToStr(copy(S,1,40))));
PS:=PS+StrToPalette(INIFile^.GetEntry(secColors,iePalette+'_41_80',PaletteToStr(copy(S,41,40))));
PS:=PS+StrToPalette(INIFile^.GetEntry(secColors,iePalette+'_81_120',PaletteToStr(copy(S,81,40))));
PS:=PS+StrToPalette(INIFile^.GetEntry(secColors,iePalette+'_121_160',PaletteToStr(copy(S,121,40))));
PS:=PS+StrToPalette(INIFile^.GetEntry(secColors,iePalette+'_161_200',PaletteToStr(copy(S,161,40))));
PS:=PS+StrToPalette(INIFile^.GetEntry(secColors,iePalette+'_201_240',PaletteToStr(copy(S,201,40))));
if length(PS)<length(CIDEAppColor) then
PS:=PS+copy(CIDEAppColor,length(PS)+1,255);
AppPalette:=PS;