! $NHDT-Date: 1750598195 2025/06/22 05:16:35 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.27 $
! Copyright (c) 2017 by Pasi Kallinen
! NetHack may be freely redistributed.  See license for details.

#define NETHACK_FONT       -*-fixed-medium-*-*-*-15-*-*-*-*-*-*-*
#define NETHACK_CLR_FG     grey
#define NETHACK_CLR_BG     black
#define NETHACK_CLR_QUIT   red
#define NETHACK_CLR_RANDOM yellow
#define NETHACK_CLR_PLAY   green
#define NETHACK_CLR_HELP   green
#define NETHACK_BTN_SHAPE  roundedRectangle
#define NETHACK_BTN_ROUND  20
#define NETHACK_CMD_BORDER 0

! The display_file, tombstone, and menu windows are all formatted assuming
! a fixed width font.  Text windows may or may not be formatted as above.
! The rip window applies if the GRAPHIC_TOMBSTONE option is turned on, and
! requires a 12 pixel font for correct appearance.
!
NetHack*font:              NETHACK_FONT
NetHack*display_file*font: NETHACK_FONT
NetHack*map*font:          NETHACK_FONT
NetHack*text*font:         NETHACK_FONT
NetHack*menu*font:         NETHACK_FONT
NetHack*tombstone*font:    NETHACK_FONT
NetHack*text*rip*font:     -*-times-medium-r-*-*-12-*-*-*-*-*-*-*
NetHack*text*borderWidth:  0

! tile_file names a file containing full-color tiles for the map.
! If you use a 100dpi (or greater) monitor you may wish to double the
! tile size so you can see the figures.  If NetHack was compiled to
! use XPM (via #define USE_XPM in config.h or via -DUSE_XPM in src/Makefile,
! which happens when using WANT_WIN_X11=1 or WANT_WIN_ALL=1 with setup.sh
! 'hints' that support such), the tile_file is a standard XPM file.
! Otherwise, it is a custom format.  double_tile_size only applies to
! the custom format - to enlarge an XPM file, use processing tools
! such as XV or preferably PBMplus.
!
NetHack.tile_file: x11tiles
!NetHack.double_tile_size: True

! The annotation of pets.
!NetHack.pet_mark_bitmap: pet_mark.xbm
!NetHack.pet_mark_color: Red
! The annotation of item piles.
!NetHack.pilemark_bitmap: pilemark.xbm
!NetHack.pilemark_color: Green

! Tombstone
! The image file
!NetHack.tombstone: rip.xpm
! Text starts at (tombtext_x, tombtext_y) and subsequent lines
! are displaced by (tombtext_dx, tombtext_dy) pixels.
!NetHack.tombtext_x: 155
!NetHack.tombtext_y: 78
!NetHack.tombtext_dx: 0
!NetHack.tombtext_dy: 13
! The color to use for the text on the tombstone of the hero (end of game).
NetHack*rip*foreground: black

! The icon to use; supported values are nh72, nh56, and nh32; nh72 is the
! default.  Some window managers may not support the larger icon sizes.
! It is not guaranteed that the window manager will honor the icon selection.
!NetHack*icon: nh56

! If True, the default, a popup for single character prompts such as y/n
! questions is _not_ used.  Single-character prompts appear in a fixed
! position between the top of the map and the bottom of the messages.
! If False, popups appear near where the pointer is positioned so tend to
! meander around the screen depending upon where the last click occurred.
! (The name 'slow' is misleading; this feature was originally necessitated
! by window managers which were slow putting up popup windows, but the
! fixed-position prompting can be just as useful for quick popups.)
!NetHack*slow: False

! If True, force keyboard to attach to popup windows.  Some window managers
! enforce a click-to-focus-keyboard policy (e.g. the DECwindows wm).  NetHack
! has a lot of popups and is almost unplayable without some kind of autofocus.
!NetHack*autofocus: True

! If 'slow' is True, setting 'highlight_prompt' to True will cause the line
! between map and message display that is used for prompting to be "hidden"
! as part of the map when no prompt is active, then invert foreground and
! background to stand out when a prompt is issued and waiting for a response.
! If 'slow' is False, 'highlight_prompt' will have no effect.
NetHack*highlight_prompt: False

! The number of lines the message window will show without scrolling.
!NetHack*message_lines: 12

! If True, the message window has a line that separates old and new messages.
!NetHack*message_line: True

! If True, the default, use a "fancy" style status area below the map.
! Fancy status has some highlighting but does not honor HILITE_STATUS.
! If False, use TTY-style status lines (two text lines below the map).
! TTY status honors HILITE_STATUS thresholds and colors, but for
! attributes only supports inverse (not bold, dim, blink, or underline).
! (As of this writing, fancy status looks better with a tiles map and
! tty-style status looks good with a text map but not with a tiles one.)
!NetHack*fancy_status: False

! Translation tables.  There are currently several actions in nethack, but
! the only one you should be using is "input()", which, with no parameters,
! uses XLookupString to translate your keypress into a command.  You can
! optionally give it parameters to change the behavior, see the example below.
! Note that you have to specify the translations in every appropriate window.
NetHack*message*translations:	<KeyPress>: input()
!
! Example extra translations for the map window.
!NetHack*map*translations:	#override \
!				!<Key>Left: input(h) \n\
!				!<Key>Right: input(l) \n\
!				!<Key>Up: input(k) \n\
!				!<Key>Down: input(j)

! Specify the number of rows and columns of the map window.  The default
! is the standard 80x21 window.  Note: this _does_not_ change the size of
! level maps, only what you see of them.
!NetHack*map*rows:	21
!NetHack*map*columns:	80

NetHack*background: NETHACK_CLR_BG
NetHack*foreground: NETHACK_CLR_FG

NetHack*yn_prompt*borderWidth: 0

NetHack*Scrollbar*foreground: gray40
NetHack*Scrollbar*background: gray10

NetHack*fancy_status*background: NETHACK_CLR_BG
NetHack*fancy_status*foreground: NETHACK_CLR_FG
NetHack*fancy_status.skipAdjust: True

NetHack*showGrip: False

! text input prompt window
NetHack*response*textSink*background: red
NetHack*textSink*background: red

NetHack*response*foreground:  NETHACK_CLR_FG
NetHack*response*background:  NETHACK_CLR_BG
NetHack*response*borderColor: NETHACK_CLR_FG
NetHack*response*borderWidth: 1

! player selection dialog (OPTIONS=player_selection:dialog)
!NetHack*player_selection_dialog.height:   420
!NetHack*player_selection_dialog.width:   403

!NetHack*player_selection_dialog*foreground:   black
!NetHack*player_selection_dialog*background:   white
NetHack*player_selection_dialog*name_label.borderWidth:   0
NetHack*player_selection_dialog*race_label.borderWidth:   0
NetHack*player_selection_dialog*role_label.borderWidth:   0
NetHack*player_selection_dialog*gender_label.borderWidth: 0
NetHack*player_selection_dialog*align_label.borderWidth:  0
NetHack*player_selection_dialog*button_vp.borderWidth:    0

NetHack*player_selection_dialog*name_input.borderWidth:   1
NetHack*player_selection_dialog*name_input.borderColor:   NETHACK_CLR_FG

NetHack*player_selection_dialog*role_vp.borderColor:   NETHACK_CLR_FG
NetHack*player_selection_dialog*race_vp.borderColor:   NETHACK_CLR_FG
NetHack*player_selection_dialog*gender_vp.borderColor: NETHACK_CLR_FG
NetHack*player_selection_dialog*align_vp.borderColor:  NETHACK_CLR_FG

NetHack*player_selection_dialog*random.foreground:   NETHACK_CLR_RANDOM
NetHack*player_selection_dialog*random.borderColor:  NETHACK_CLR_RANDOM
NetHack*player_selection_dialog*random.borderWidth:  1
NetHack*player_selection_dialog*random.shapeStyle:   NETHACK_BTN_SHAPE
NetHack*player_selection_dialog*random.cornerRoundPercent: NETHACK_BTN_ROUND

NetHack*player_selection_dialog*quit.foreground:     NETHACK_CLR_QUIT
NetHack*player_selection_dialog*quit.borderColor:    NETHACK_CLR_QUIT
NetHack*player_selection_dialog*quit.borderWidth:    1
NetHack*player_selection_dialog*quit.shapeStyle:     NETHACK_BTN_SHAPE
NetHack*player_selection_dialog*quit.cornerRoundPercent: NETHACK_BTN_ROUND

NetHack*player_selection_dialog*play.foreground:     NETHACK_CLR_PLAY
NetHack*player_selection_dialog*play.borderColor:    NETHACK_CLR_PLAY
NetHack*player_selection_dialog*play.borderWidth:    1
NetHack*player_selection_dialog*play.shapeStyle:     NETHACK_BTN_SHAPE
NetHack*player_selection_dialog*play.cornerRoundPercent: NETHACK_BTN_ROUND


! role selection window  (OPTIONS=player_selection:prompts)
NetHack*player_selection*btn_random.foreground:   NETHACK_CLR_RANDOM
NetHack*player_selection*btn_random.background:   black
NetHack*player_selection*btn_random.borderColor:  NETHACK_CLR_RANDOM
NetHack*player_selection*btn_random.borderWidth:  1
NetHack*player_selection*btn_random.shapeStyle: NETHACK_BTN_SHAPE
NetHack*player_selection*btn_random.cornerRoundPercent: NETHACK_BTN_ROUND
NetHack*player_selection*btn_quit.foreground:     NETHACK_CLR_QUIT
NetHack*player_selection*btn_quit.borderColor:    NETHACK_CLR_QUIT
NetHack*player_selection*btn_quit.borderWidth:    1
NetHack*player_selection*btn_quit.shapeStyle: NETHACK_BTN_SHAPE
NetHack*player_selection*btn_quit.cornerRoundPercent: NETHACK_BTN_ROUND
NetHack*player_selection*Command.foreground:  NETHACK_CLR_FG
NetHack*player_selection*Command.borderColor: NETHACK_CLR_FG
NetHack*player_selection*Command.borderWidth: NETHACK_CMD_BORDER

! race selection window
NetHack*race_selection*btn_random.foreground:   NETHACK_CLR_RANDOM
NetHack*race_selection*btn_random.background:   black
NetHack*race_selection*btn_random.borderColor:  NETHACK_CLR_RANDOM
NetHack*race_selection*btn_random.borderWidth:  1
NetHack*race_selection*btn_random.shapeStyle:   NETHACK_BTN_SHAPE
NetHack*race_selection*btn_random.cornerRoundPercent: NETHACK_BTN_ROUND
NetHack*race_selection*btn_quit.foreground:     NETHACK_CLR_QUIT
NetHack*race_selection*btn_quit.borderColor:    NETHACK_CLR_QUIT
NetHack*race_selection*btn_quit.borderWidth:    1
NetHack*race_selection*btn_quit.shapeStyle:     NETHACK_BTN_SHAPE
NetHack*race_selection*btn_quit.cornerRoundPercent: NETHACK_BTN_ROUND
NetHack*race_selection*Command.foreground:  NETHACK_CLR_FG
NetHack*race_selection*Command.borderColor: NETHACK_CLR_FG
NetHack*race_selection*Command.borderWidth: NETHACK_CMD_BORDER

! gender selection window
NetHack*gender_selection*btn_random.foreground:   NETHACK_CLR_RANDOM
NetHack*gender_selection*btn_random.background:   black
NetHack*gender_selection*btn_random.borderColor:  NETHACK_CLR_RANDOM
NetHack*gender_selection*btn_random.borderWidth:  1
NetHack*gender_selection*btn_random.shapeStyle:   NETHACK_BTN_SHAPE
NetHack*gender_selection*btn_random.cornerRoundPercent: NETHACK_BTN_ROUND
NetHack*gender_selection*btn_quit.foreground:     NETHACK_CLR_QUIT
NetHack*gender_selection*btn_quit.borderColor:    NETHACK_CLR_QUIT
NetHack*gender_selection*btn_quit.borderWidth:    1
NetHack*gender_selection*btn_quit.shapeStyle:     NETHACK_BTN_SHAPE
NetHack*gender_selection*btn_quit.cornerRoundPercent: NETHACK_BTN_ROUND
NetHack*gender_selection*Command.foreground:  NETHACK_CLR_FG
NetHack*gender_selection*Command.borderColor: NETHACK_CLR_FG
NetHack*gender_selection*Command.borderWidth: NETHACK_CMD_BORDER

! alignment selection window
NetHack*alignment_selection*btn_random.foreground:   NETHACK_CLR_RANDOM
NetHack*alignment_selection*btn_random.background:   black
NetHack*alignment_selection*btn_random.borderColor:  NETHACK_CLR_RANDOM
NetHack*alignment_selection*btn_random.borderWidth:  1
NetHack*alignment_selection*btn_random.shapeStyle:   NETHACK_BTN_SHAPE
NetHack*alignment_selection*btn_random.cornerRoundPercent: NETHACK_BTN_ROUND
NetHack*alignment_selection*btn_quit.foreground:     NETHACK_CLR_QUIT
NetHack*alignment_selection*btn_quit.borderColor:    NETHACK_CLR_QUIT
NetHack*alignment_selection*btn_quit.borderWidth:    1
NetHack*alignment_selection*btn_quit.shapeStyle:     NETHACK_BTN_SHAPE
NetHack*alignment_selection*btn_quit.cornerRoundPercent: NETHACK_BTN_ROUND
NetHack*alignment_selection*Command.foreground:  NETHACK_CLR_FG
NetHack*alignment_selection*Command.borderColor: NETHACK_CLR_FG
NetHack*alignment_selection*Command.borderWidth: NETHACK_CMD_BORDER

! extended commands window
NetHack*extended_commands*btn_dismiss.foreground:  NETHACK_CLR_QUIT
NetHack*extended_commands*btn_dismiss.borderColor: NETHACK_CLR_QUIT
NetHack*extended_commands*btn_dismiss.borderWidth: 1
NetHack*extended_commands*btn_dismiss.shapeStyle:  NETHACK_BTN_SHAPE
NetHack*extended_commands*btn_dismiss.cornerRoundPercent: NETHACK_BTN_ROUND
NetHack*extended_commands*btn_help.foreground:     NETHACK_CLR_HELP
NetHack*extended_commands*btn_help.borderColor:    NETHACK_CLR_HELP
NetHack*extended_commands*btn_help.borderWidth:    1
NetHack*extended_commands*btn_help.shapeStyle:     NETHACK_BTN_SHAPE
NetHack*extended_commands*btn_help.cornerRoundPercent: NETHACK_BTN_ROUND
NetHack*extended_commands*Command.foreground:  NETHACK_CLR_FG
NetHack*extended_commands*Command.borderColor: NETHACK_CLR_FG
NetHack*extended_commands*Command.borderWidth: NETHACK_CMD_BORDER
! The extended command menu may be too big to fit on the screen so need
! a vertical scroll bar.  When truncated, its height will be as tall as
! possible unless height_delta is non-zero, in which case there will be
! that many pixels of margin left unused.  On OSX, this can be used to
! avoid overlapping with the desktop docking tray to prevent that from
! obscuring the bottom of the menu.
NetHack*extcmd_height_delta: 75

! menu buttons
NetHack*OK.foreground:  green
NetHack*OK.borderColor: green
NetHack*OK.shapeStyle: NETHACK_BTN_SHAPE
NetHack*OK.cornerRoundPercent: NETHACK_BTN_ROUND

NetHack*okay.foreground:  green
NetHack*okay.borderColor: green
NetHack*okay.shapeStyle: NETHACK_BTN_SHAPE
NetHack*okay.cornerRoundPercent: NETHACK_BTN_ROUND

NetHack*cancel.foreground:  red
NetHack*cancel.borderColor: red
NetHack*cancel.shapeStyle: NETHACK_BTN_SHAPE
NetHack*cancel.cornerRoundPercent: NETHACK_BTN_ROUND

NetHack*all.foreground:  green
NetHack*all.borderColor: green
NetHack*all.shapeStyle: NETHACK_BTN_SHAPE
NetHack*all.cornerRoundPercent: NETHACK_BTN_ROUND

NetHack*none.foreground:  green
NetHack*none.borderColor: green
NetHack*none.shapeStyle: NETHACK_BTN_SHAPE
NetHack*none.cornerRoundPercent: NETHACK_BTN_ROUND

NetHack*invert.foreground:  green
NetHack*invert.borderColor: green
NetHack*invert.shapeStyle: NETHACK_BTN_SHAPE
NetHack*invert.cornerRoundPercent: NETHACK_BTN_ROUND

NetHack*search.foreground:  green
NetHack*search.borderColor: green
NetHack*search.shapeStyle: NETHACK_BTN_SHAPE
NetHack*search.cornerRoundPercent: NETHACK_BTN_ROUND

! map colors
! The foreground color is used as "no color".
NetHack*map*foreground: NETHACK_CLR_FG
NetHack*map*background: NETHACK_CLR_BG

NetHack*map*black:          grey15
NetHack*map*red:            red3
NetHack*map*green:          green3
NetHack*map*brown:          DarkOrange3
NetHack*map*blue:           blue3
NetHack*map*magenta:        magenta3
NetHack*map*cyan:           Dark cyan
NetHack*map*gray:           gray50
NetHack*map*orange:         orange
NetHack*map*bright_green:   green
NetHack*map*yellow:         yellow
NetHack*map*bright_blue:    Royal blue
NetHack*map*bright_magenta: magenta
NetHack*map*bright_cyan:    cyan
NetHack*map*white:          white
!
! The following are the default 15 colors that the nethack map uses.
!NetHack*map*black:		black
!NetHack*map*red:		red
!NetHack*map*green:		pale green
!NetHack*map*brown:		brown
!NetHack*map*blue:		blue
!NetHack*map*magenta:		magenta
!NetHack*map*cyan:		light cyan
!NetHack*map*gray:		gray
!NetHack*map*orange:		orange
!NetHack*map*bright_green:	green
!NetHack*map*yellow:		yellow
!NetHack*map*bright_blue:	royal blue
!NetHack*map*bright_magenta:	violet
!NetHack*map*bright_cyan:	cyan
!NetHack*map*white:		white
