DHEXRC(5) BSD File Formats Manual DHEXRC(5)NAMEdhexrc — Configuration File for dhex
DESCRIPTIONdhexrc is the configuration file that specifies the colorscheme and the
key translation tab for dhex(1), Upon starting the program, it is being
read and parsed. It is being written and/or created after invoking the
keyboard setup.
EXAMPLE
A typical .dhexrc file looks like this:
‘#DHEXCOLORSCHEME’
‘#VERSION 0’
‘#possible colors are: BLACK,RED,GREEN,YELLOW,BLUE,MAGENTA,CYAN,WHITE’
‘#possible extra flags are: UNDERLINE,REVERSE,BLINK,DIM,BOLD’
‘BRACKETS: FG=BLACK,BG=BLACK,BOLD’
‘HEXFIELD: FG=WHITE,BG=BLACK’
‘INPUT: FG=BLACK,BG=WHITE’
‘CURSOR: FG=WHITE,BG=BLACK’
‘TEXT: FG=WHITE,BG=BLACK,BOLD’
‘MENU_NORMAL: FG=CYAN,BG=BLACK’
‘MENU_HIGHLIGHT: FG=BLACK,BG=CYAN’
‘MENU_HOTKEY: FG=YELLOW,BG=BLACK,BOLD’
‘MENU_HOTKEY_HI: FG=YELLOW,BG=CYAN,BOLD’
‘FRAME: FG=BLUE,BG=BLACK,BOLD’
‘NORMAL_DIFF: FG=YELLOW,BG=BLACK’
‘CURSOR_DIFF: FG=YELLOW,BG=WHITE,BOLD’
‘HEADLINE: FG=BLUE,BG=BLACK,BOLD’
‘HEADER: FG=BLACK,BG=CYAN’
‘KEYF1:1b 5b 31 31 7e’
‘KEYF2:1b 5b 31 32 7e’
‘KEYF3:1b 5b 31 33 7e’
‘KEYF4:1b 5b 31 34 7e’
‘KEYF5:1b 5b 31 35 7e’
‘KEYF6:1b 5b 31 37 7e’
‘KEYF7:1b 5b 31 38 7e’
‘KEYF8:1b 5b 31 39 7e’
‘KEYF9:1b 5b 32 30 7e’
‘KEYF10:1b 5b 32 31 7e’
‘KEYESC:1b’
‘KEYBACKSPACE:08’
‘KEYDEL:7f’
‘KEYENTER:0a’
‘KEYTAB:09’
‘KEYUP:1b 5b 41’
‘KEYDOWN:1b 5b 42’
‘KEYRIGHT:1b 5b 43’
‘KEYLEFT:1b 5b 44’
‘KEYPGUP:1b 5b 35 7e’
‘KEYPGDOWN:1b 5b 36 7e’
‘KEYHOME:1b 5b 37 7e’
‘KEYEND:1b 5b 38 7e’
OPTIONS
In the example above, the dhexrc file has three distinct sections: A com‐
ment section, a color section and a key conversion tab section.
Comments
Comments are indicated with a '#' character. Everything afterwards in a
line is being ignored when parsing the file
Color section
There are 14 color groups. Each of the color group has a foreground
color, a background color and some extra flags, coming from ncurses. The
foreground color is being defined by FG= while the background color is
being defined by BG=. They and the extra flags are being separated by
','. Possible colors are BLACK, GREEN, RED, YELLOW, BROWN, BLUE, MAGENTA,
WHITE, and exclusively as foreground colors LIGHTBLACK, LIGHTGREEN,
LIGHTRED, LIGHTYELLOW, LIGHTBROWN, LIGHTBLUE, LIGHTMAGENTA and
LIGHTWHITE. Valid extra flags are UNDERLINE, REVERSE, BLINK, DIM and
BOLD.
The color pairs are as followed:
BRACKETS:
This specifies the color for the brackets around text fields.
HEXFIELD:
This specifies the color in which the file's content is being shown.
INPUT:
When entering text, it is in this color.
CURSOR:
The cursor in the hex field has this color.
TEXT:
This color is for informative text as well as for text fields which
are not taking input yet.
MENU_NORMAL:
Menu items which are not selected belong into this color group.
MENU_HIGHLIGHT:
The selected menu item gets this special color.
MENU_HOTKEY:
Hotkeys for menu items are visually distinct from the rest of the
text because they have this color.
MENU_HOTKEY_HI:
If the actual menu item has a hotkey, it is shown in this color.
FRAME:
Some screens have frames. Those frames have this color.
NORMAL_DIFF:
Differences in the file's content (either because of changes or
because dhex is running in diff mode) are indicated by this color.
CURSOR_DIFF:
If the cursor is on one of those differences, it will have this
color.
HEADLINE:
On top of the screen, there is a headline. Which is shown in this
color.
HEADER:
In the headline, there are brackets. Within those brackets is the
header. It tells you what the window is all about.
Key conversion tab section
When pressing a "standard" key, something which can be mapped directly to
an ascii character, only this character will end up in ncurses' buffer.
However, pressing special keys like (for example) F1 or ALT+6 will pro‐
duce longer sequences. Mapping those sequences back to a specific key is
the job of the key conversion tab. (I was dissatisfied how ncurses han‐
dled this on its own). The sequences are called (in order) KEYF1, KEYF2,
KEYF3, KEYF4, KEYF5, KEYF6, KEYF7, KEYF8, KEYF9, KEYF10, KEYESC,
KEYBACKSPACE, KEYDEL, KEYENTER, KEYTAB, KEYUP, KEYDOWN, KEYRIGHT,
KEYLEFT, KEYPGUP, KEYPGDOWN, KEYHOME and KEYEND.
Sequences itself are a string of lower case hex-values, each two nibbles
long. Currently, there is no way of adding an alternative sequence to the
same key.
It is possible that the sequence made up of hex values does not REALLY
belong to the key. (For example if F2 was pressed in the setup program
when F1 was prompted). However, when this sequence ends up in the
ncurses buffer, it is being interpreted as if that key was pressed.
BUGS
Report bugs to ⟨dettus@dettus.net⟩. Make sure to include DHEX somewhere
in the subject.
AUTHOR
Written by Thomas Dettbarn
SEE ALSOdhex(1), dhex_markers(5), dhex_searchlog(5)BSD May 12, 2012 BSD