! $Id: Ddd.in,v 1.108 1996/09/05 15:53:29 zeller Exp $
! DDD Resource File
! Generated automatically from Ddd.in by configure.
Ddd*appDefaultsVersion:	 2.0beta2

! Copyright (C) 1995, 1996 Technische Universitaet Braunschweig, Germany.
! Written by Andreas Zeller (zeller@ips.cs.tu-bs.de).
! 
! This file is part of the DDD Library.
! 
! The DDD Library is free software; you can redistribute it and/or
! modify it under the terms of the GNU Library General Public
! License as published by the Free Software Foundation; either
! version 2 of the License, or (at your option) any later version.
! 
! The DDD Library is distributed in the hope that it will be useful,
! but WITHOUT ANY WARRANTY; without even the implied warranty of
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
! See the GNU Library General Public License for more details.
! 
! You should have received a copy of the GNU Library General Public
! License along with the DDD Library -- see the file COPYING.LIB.
! If not, write to the Free Software Foundation, Inc.,
! 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
! 
! DDD is the data display debugger.
! For details, see the DDD World-Wide-Web page, 
! `http://www.cs.tu-bs.de/softech/ddd/',
! or send a mail to the DDD developers at `ddd@ips.cs.tu-bs.de'.

! =================================================================
! NOTE: If you're looking here for things to customize, look
! under the DDD `Options' menu first.  Many things are customizable
! from there.  Things which are settable via the Options dialog
! are stored in the ~/.dddinit file.
! =================================================================
!
! This file lists the default resources built into DDD.	 You can use the
! stuff in this file for examples of how to customize DDD for your
! environment; normally you will do this by copying the few lines you
! want to alter to your private resource database, which usually lives
! in a file called `.Xdefaults' in your home directory.	 You may also 
! place such lines in the DDD-specific `.dddinit' file in your home
! directory.
! 
! Site administrators **may** want to make changes here and install this
! file as the global app-defaults file for the site.  To do this, one
! would copy this file to `/usr/lib/X11/app-defaults/Ddd', or on SunOS,
! `/usr/openwin/lib/app-defaults/Ddd'.	(Actually this directory could
! be anywhere; only the person who installed X knows for sure.)
! 
! It is **STRONGLY RECOMMENDED** that you not install this file in the
! `app-defaults' directory unless you are really sure you know what you
! are doing.  There are a whole slew of version-skew problems associated
! with app-defaults files, which are best avoided by simply not using
! them.	 In particular, if the app-defaults file for a program is
! installed, and you get a new version of that program, you can't
! properly test out the new version without actually installing it,
! since it will pick up the resources for the previous version, and will
! quite likely malfunction.
! 
! In short, app-defaults files are bad.	 Don't use them.  Use this file
! for informational purposes as suggested above.

!-----------------------------------------------------------------------------
! User-settable resources
!-----------------------------------------------------------------------------

! The inferior debugger type (dbx, gdb, or xdb; defaults to gdb)
Ddd*debugger:


! The name under which the inferior debugger is to be invoked
! (default: debugger type)
Ddd*debuggerCommand:


! True if data and source are to be displayed in separate top-level
! windows.  If this is false, the data and source windows are attached
! to the DDD console window.
Ddd*Separate: true


! You may also attach the source window or data window alone.
! Ddd*separateDataWindow: true
! Ddd*separateSourceWindow: true


! True if programs are to be run in a separate top-level window.
! If this is false, input/output is sent to the DDD console window.
!
! Although a separate execution window has several advantages, it
! is less portable and more error-prone, which is why it is disabled 
! by default.
Ddd*separateExecWindow: false


! True if DDD windows are to be iconified/deiconified as a whole.
! If this is false, every DDD window can be iconified on its own.
Ddd*groupIconify: false


! True if the TAB key is to complete text in all DDD windows.
! If this is false, the TAB key completes in the DDD console window only.
Ddd*globalTabCompletion: true


! True if options are to be saved in ~/.dddinit across DDD invocations.
Ddd*saveOptionsOnExit: false


! The command to invoke a separate tty for showing I/O of the debugged
! program.  Bourne shell commands to run in the separate tty are appended
! to this string.
Ddd*termCommand: xterm \
-bg 'grey90' -fg 'black' \
-fn '-*-lucidatypewriter-medium-r-*-*-12-*-*-*-*-*-*-*' \
-title 'DDD: Execution Window' -e /bin/sh -c


! The terminal type provided by `termCommand' (that is, the value of
! the TERM environment variable to be passed to the debugged program)
Ddd*termType: xterm


! The `useTTYCommand' resource sets the redirection mode for separate TTYs.
! Basically, there are two ways to redirect process I/O.  Both have
! advantages and disadvantages.
!
! * GDB provides a `tty' command to redirect I/O to a separate tty.
!   This is portable, but on some systems, there is the nasty side-effect
!   that redirection can not be undone.
!   For DBX, this means using the `dbxenv run_io pty' and `dbxenv run_pty'
!   commands to redirect I/O to a separate tty.
!   Set `useTTYCommand' to `true' to enable this behaviour.
! 
! * As an alternative, DDD can redirect the process I/O explicitly,
!   without using the `tty' command.  This is done with XDB and 
!   with DBX versions that do not support tty redirection.
!   Explicit redirection may fail if you use a non-standard shell.
!   Set `useTTYCommand' to `false' to enable this behaviour.
!   
! The default setting is `false', since explicit redirection is easier
! to handle (and to debug :-).	Maybe one day GDB will provide a way
! to undo redirection.
Ddd*useTTYCommand: false


! The `rsh' command to invoke tty-based commands on other hosts.
! On some systems, this is called `remsh'; on others, `on'.
! You may want to consult your system documentation for details.
Ddd*rshCommand: /usr/bin/remsh


! If `rsh' is used without commands, using the `--rhost' option,
! the remote terminal must be set up for DDD.  Especially, echoing
! must be disabled; mapping of NL to CR/NL is harmful as well.
! The following commands are always issued first in the remote
! interactive shell.
Ddd*rHostInitCommands: stty -echo -onlcr


! The `print' command to print a postscript file.
! On some systems, this is called `lp'; on others, `lpr'.
! You may want to consult your system documentation for details.
Ddd*printCommand: lp -c


! Paper size, in format WIDTH x HEIGHT.	 (Default: A4).
Ddd*paperSize: 210mm x 297mm


! The `edit' command to invoke an editor on the specific file.
! `@LINE@' is replaced by the current line number,
! `@FILE@' by the file name.  Default is to invoke $XEDITOR first,
! then $EDITOR, then VI.
Ddd*editCommand: \
${XEDITOR=false} +@LINE@ @FILE@ \
|| xterm -e ${EDITOR=vi} +@LINE@ @FILE@


! Commands to list all executable/source/core/directory
! files matching @MASK@.
! These commands are executed on remote hosts only.
Ddd*listExecCommand:   \
	file @MASK@ | grep '.*:.*exec.*' | grep -v  '.*:.*script.*' \
	| cut -d: -f1 | grep -v '.*\\.o$'
Ddd*listSourceCommand: \
	file @MASK@ | grep '.*:.*text.*' | cut -d: -f1
Ddd*listCoreCommand:   \
	file @MASK@ | grep '.*:.*core.*' | cut -d: -f1
Ddd*listDirCommand:   \
	file @MASK@ | grep '.*:.*directory.*' | cut -d: -f1


! The DDD WWW page.
Ddd*wwwPage: http://www.cs.tu-bs.de/softech/ddd/

! Command to invoke the WWW page.  @URL@ stands for the URL to open.
! Default is to try a running Netscape first, then to invoke a new 
! Netscape process, then to let a running Emacs do the job, then to
! invoke Mosaic, then to invoke Lynx.
! Note that if you don't have WWW access, letting all these commands fail
! may take a lot of time...
Ddd*wwwCommand: \
   netscape -remote 'openURL(@URL@)' \
|| netscape '@URL@' \
|| gnudoit '(w3-fetch \042@URL@\042)' \
|| mosaic '@URL@' \
|| Mosaic '@URL@' \
|| xterm -e lynx '@URL@'

! The time (in seconds) to wait for synchronous GDB questions to complete
Ddd*questionTimeout: 10


! Colon-separated lists of GDB commands for which buttons are to be created.
!
! All buttons send the named command to GDB.
! Commands ending with '...' insert their name, followed by a space.
! Commands ending with a control character insert the given
! control character.  As of DDD 1.5, commands ending with `()' insert
! the current contents of the argument field `()'.
!
! The following button names have special meanings:
! - `Clear'    : Clear current command
! - `Prev'     : Show previous command
! - `Next'     : Show next command
! - `Apply'    : Send the given command to GDB
! - `Back'     : Lookup previously selected source position
! - `Forward'  : Lookup next selected source position
! - `Edit'     : Edit current source file
! - `Reload'   : Reload source file
! - `Complete' : Complete current command
! - `Yes'      : Answer current GDB prompt
! - `No'       : Answer current GDB prompt

! The console window buttons (none: no buttons)
Ddd*consoleButtons:
! The following setting was effective in DDD 1.4d and earlier:
! Ddd*consoleButtons: \
!	Yes:No:interrupt^C
! Here is a very extensive setting:
! Ddd*consoleButtons: \
!	Yes:No:run:Clear:Prev:Next:Apply:interrupt^C

! The source window buttons (none: no buttons)
Ddd*sourceButtons:
! The following setting was effective in DDD 1.x:
! Ddd*sourceButtons:	    \
! run:step:next:stepi:nexti:cont:finish:kill:\
! up:down:Back:Forward:Edit:interrupt^C

! The command tool buttons, as of DDD 2.0 and later.
Ddd*toolButtons: \
run:break^C:step:stepi:next:nexti:cont:finish:\
up:down:Back:Forward:Edit:kill

! The number of rows in the command tool.
Ddd*tool_buttons.fractionBase:			8

! The positions are set up according to the following scheme:
! 
!    0 4 8	Each line has its individual number.
!  0 +-+-+	`topPosition' refers to the line above the button;
!    | | |	`bottomPosition' is the line below.  Likewise,
!  1 +-+-+	`leftPosition' is the line at the left, and
!    | | |	`rightPosition' is the line to the right.  For instance,
!  2 +-+-+	the line above the `break' button
!    | | |	is line 1 (topPosition), the line below is line 2
!  3 +-+-+	(bottomPosition), the line to the left is line 0
!    | | |	(leftPosition), and the line to the right is line 8
!  4 +-+-+	(rightPosition).
!    | | |	
!  5 +-+-+	To replace a button by another command, change the
!    | | |	`toolButtons' resource, above, and insert appropriate
!  6 +-+-+	resource values for the new button, specifying its
!    | | |	location.
!  7 +-+-+	
!    | | |	
!  8 +-+-+	

Ddd*tool_buttons.run.topPosition:		0
Ddd*tool_buttons.run.bottomPosition:		1
Ddd*tool_buttons.run.leftPosition:		0
Ddd*tool_buttons.run.rightPosition:		8

Ddd*tool_buttons.break.topPosition:		1
Ddd*tool_buttons.break.bottomPosition:		2
Ddd*tool_buttons.break.leftPosition:		0
Ddd*tool_buttons.break.rightPosition:		8

Ddd*tool_buttons.step.topPosition:		2
Ddd*tool_buttons.step.bottomPosition:		3
Ddd*tool_buttons.step.leftPosition:		0
Ddd*tool_buttons.step.rightPosition:		4

Ddd*tool_buttons.stepi.topPosition:		2
Ddd*tool_buttons.stepi.bottomPosition:		3
Ddd*tool_buttons.stepi.leftPosition:		4
Ddd*tool_buttons.stepi.rightPosition:		8

Ddd*tool_buttons.next.topPosition:		3
Ddd*tool_buttons.next.bottomPosition:		4
Ddd*tool_buttons.next.leftPosition:		0
Ddd*tool_buttons.next.rightPosition:		4

Ddd*tool_buttons.nexti.topPosition:		3
Ddd*tool_buttons.nexti.bottomPosition:		4
Ddd*tool_buttons.nexti.leftPosition:		4
Ddd*tool_buttons.nexti.rightPosition:		8

Ddd*tool_buttons.cont.topPosition:		4
Ddd*tool_buttons.cont.bottomPosition:		5
Ddd*tool_buttons.cont.leftPosition:		0
Ddd*tool_buttons.cont.rightPosition:		4

Ddd*tool_buttons.finish.topPosition:		4
Ddd*tool_buttons.finish.bottomPosition:		5
Ddd*tool_buttons.finish.leftPosition:		4
Ddd*tool_buttons.finish.rightPosition:		8

Ddd*tool_buttons.up.topPosition:		5
Ddd*tool_buttons.up.bottomPosition:		6
Ddd*tool_buttons.up.leftPosition:		0
Ddd*tool_buttons.up.rightPosition:		4

Ddd*tool_buttons.down.topPosition:		5
Ddd*tool_buttons.down.bottomPosition:		6
Ddd*tool_buttons.down.leftPosition:		4
Ddd*tool_buttons.down.rightPosition:		8

Ddd*tool_buttons.Back.topPosition:		6
Ddd*tool_buttons.Back.bottomPosition:		7
Ddd*tool_buttons.Back.leftPosition:		0
Ddd*tool_buttons.Back.rightPosition:		4

Ddd*tool_buttons.Forward.topPosition:		6
Ddd*tool_buttons.Forward.bottomPosition:	7
Ddd*tool_buttons.Forward.leftPosition:		4
Ddd*tool_buttons.Forward.rightPosition:		8

Ddd*tool_buttons.Edit.topPosition:		7
Ddd*tool_buttons.Edit.bottomPosition:		8
Ddd*tool_buttons.Edit.leftPosition:		0
Ddd*tool_buttons.Edit.rightPosition:		4

Ddd*tool_buttons.kill.topPosition:		7
Ddd*tool_buttons.kill.bottomPosition:		8
Ddd*tool_buttons.kill.leftPosition:		4
Ddd*tool_buttons.kill.rightPosition:		8

! Command tool button placement.  Don't change this.
Ddd*tool_buttons*topAttachment:			XmATTACH_POSITION
Ddd*tool_buttons*bottomAttachment:		XmATTACH_POSITION
Ddd*tool_buttons*leftAttachment:		XmATTACH_POSITION
Ddd*tool_buttons*rightAttachment:		XmATTACH_POSITION


! Some special labels
Ddd*Forward.labelString:   Fwd

! The maximum number of characters allowed in a data display title.
! Components of longer names are replaced by `..', for instance
! `foo->bar->blue' becomes `foo->..->blue'
Ddd*maxNameLength:	20


! Number of columns used for the code line number display.
! Should be a multiple of 8, to avoid confusion with TAB characters.
Ddd*indentAmount:	8


! The GDB initialization commands.  DDD depends on these settings,
! so don't change them unless required by your GDB version.
! Use a personal `~/.gdbinit' file instead to customize GDB.
!
! Users of GDB 4.12 and earlier may wish to add a line `display /x $pc',
! as these GDB versions do not issue the current PC location when source
! code is not available.
!
! Technically, the two commands `set print repeats 0' and 
! `set print asm-demangle on' are not required by DDD, but 
! this is frequently demanded by DDD users...
Ddd*gdbInitCommands:	\
set height 0\n\
set width 0\n\
set print repeats 0\n\
set verbose off\n\
set print asm-demangle on\n\
set prompt (gdb) \n


! The DBX initialization commands.  Nothing special yet.  
! Use a personal `~/.dbxinit' or `~/.dbxrc' file to customize DBX.
Ddd*dbxInitCommands:


! The XDB initialization commands.  Nothing special yet.
! Use a personal `~/.xdbrc' file to customize XDB.
Ddd*xdbInitCommands:


! The VSL library for displaying graph nodes.  `builtin' means the VSL
! library compiled into DDD, named `ddd.vsl'.  If you wish to use
! another VSL library, put its name here and set `vslPath' to a
! colon-separated list of directories where the VSL file and its
! includes can be found.
!
! If you use the builtin library, you can use the `vslDefs' resource,
! to override (customize) certain settings.  See `colors', below.
Ddd*vslLibrary:			builtin
Ddd*vslPath:			.

! Graph Editor Defaults
! What shall we use if the graph gets too large to be displayed?
! If true, an Athena panner is used (a kind of two-directional scrollbar).
! If false, two Motif scrollbars are used.
!
! Although a panned graph editor is much more comfortable, we set-up Motif
! scrollbars as a default: Many OSF/Motif installations choke
! on intermixed Motif/Athena applications and we don't want to get bug
! reports that should be directed to OSF.
Ddd*pannedGraphEditor:		false

! Nodes are moved when dragged more than 4 pixels.
Ddd*graph_edit.moveDelta:	4

! The selection tile pixmap.  Usual choices are Motif built-in pixmaps.
! If this resource is left unspecified, nodes are simply inverted.
! *graph_edit.selectTile:	25_foreground

! Do we wish opaque movement? (doesn't work yet)
Ddd*graph_edit.opaqueMove:	false

! Do we wish a grid?
Ddd*graph_edit.showGrid:	true

! Do we wish to snap the position to the grid?
Ddd*graph_edit.snapToGrid:	false

! Do we wish to show edge hints?
Ddd*graph_edit.showEdgeHints:	true

! What kind of layout do we wish? (regular, compact)
Ddd*graph_edit.layoutMode:	regular

! Do we wish to re-layout the graph after each change?
Ddd*graph_edit.autoLayout:	false

! Width and height of the grid
Ddd*graph_edit.gridWidth:	16
Ddd*graph_edit.gridHeight:	16


! Source defaults
! Do we wish to find complete words only?
Ddd*findWordsOnly:		true

! Do we wish to show machine code? (Makes DDD run somewhat slower)
Ddd*disassemble: false

! Do we wish to display glyphs? (Makes DDD run somewhat slower)
Ddd*displayGlyphs: true

! Do we wish to cache source files in memory?
Ddd*cacheSourceFiles:		true

! Do we wish to cache machine code in memory?
Ddd*cacheMachineCode:		true


! Focus policy
! POINTER means point-and-type, EXPLICIT means click-and-type.
! Rather than accepting the user's default, we use POINTER here because:
! 1. Using EXPLICIT focus policy works bad with a panned graph editor,
!    since Motif has trouble with assigning focus to Athena Widgets.
! 2. Several users use DDD in a non-Motif environment, where the click-to-type
!    methaphor is inappropriate.
! 3. DDD users usually are wither novices or experienced programmers,
!    who are often confused and/or embarrassed by explicit focus.
! Users unsatisfied with this setting can change it at run-time.
Ddd*keyboardFocusPolicy:	POINTER

! X Warnings
! Do we wish to suppress X warnings?
Ddd*suppressWarnings:		false

! A little less highlighting
Ddd*highlightThickness:		1



!-----------------------------------------------------------------------------
! Fonts
!-----------------------------------------------------------------------------

! Font definitions.  @<font> is used to switch between fonts.
! @charset is the default font.
! @tt (teletype) is the fixed-width font used in texts.
! @key is the font used for keys.
! @rm (roman), @sl (slanted), @bf (bold face), @bs (bold slanted)
! are some fonts for usual highlighting.
! @Logo and @logo are used in the DDD logo.

Ddd*fontList: \
-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*=charset,\
-*-helvetica-bold-r-*-*-10-*-*-*-*-*-*-*=small,\
-*-lucidatypewriter-medium-r-*-*-12-*-*-*-*-*-*-*=tt,\
-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*=key,\
-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*=rm,\
-*-helvetica-medium-o-*-*-12-*-*-*-*-*-*-*=sl,\
-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*=bf,\
-*-helvetica-bold-o-*-*-12-*-*-*-*-*-*-*=bs,\
-*-helvetica-bold-r-*-*-14-*-*-*-*-*-*-*=Logo,\
-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*=logo,\
-*-symbol-*-*-*-12-*-*-*-*-*-*-*=symbol

! An alternate, resolution-independent setting.
! Ddd*fontList: \
! -*-helvetica-bold-r-*-*-*-90-*-*-*-*-*-*=charset,\
! -*-helvetica-bold-r-*-*-*-80-*-*-*-*-*-*=small,\
! -*-lucidatypewriter-medium-r-*-*-*-90-*-*-*-*-*-*=tt,\
! -*-helvetica-bold-r-*-*-*-90-*-*-*-*-*-*=key,\
! -*-helvetica-medium-r-*-*-*-90-*-*-*-*-*-*=rm,\
! -*-helvetica-medium-o-*-*-*-90-*-*-*-*-*-*=sl,\
! -*-helvetica-bold-r-*-*-*-90-*-*-*-*-*-*=bf,\
! -*-helvetica-bold-o-*-*-*-90-*-*-*-*-*-*=bs,\
! -*-helvetica-bold-r-*-*-*-120-*-*-*-*-*-*=Logo,\
! -*-helvetica-bold-r-*-*-*-90-*-*-*-*-*-*=logo,\
! -*-symbol-*-*-*-*-90-*-*-*-*-*-*=symbol

! Fixed-width fonts.  `lucidatypewriter' is the font the DDD developers
! prefer; another popular choice is `courier'.
Ddd*XmTextField.FontList: \
	-*-lucidatypewriter-medium-r-*-*-12-*-*-*-*-*-*-*=charset
Ddd*XmText.FontList:	  \
	-*-lucidatypewriter-medium-r-*-*-12-*-*-*-*-*-*-*=charset

! The resolution-independent alternative.
! Ddd*XmTextField.FontList: \
! 	-*-lucidatypewriter-medium-r-*-*-*-90-*-*-*-*-*-*=charset
! Ddd*XmText.FontList:	  \
! 	-*-lucidatypewriter-medium-r-*-*-*-90-*-*-*-*-*-*=charset



! Command tool fonts.  Slightly smaller.
Ddd*tool_buttons.run.fontList: \
	-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*=charset
Ddd*tool_buttons.break.fontList:  \
	-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*=charset
Ddd*tool_buttons*fontList:  \
	-*-helvetica-medium-r-*-*-10-*-*-*-*-*-*-*=charset

! The resolution-independent alternative.
! Ddd*tool_buttons.run.fontList: \
! 	-*-helvetica-bold-r-*-*-*-90-*-*-*-*-*-*=charset
! Ddd*tool_buttons.break.fontList:  \
! 	-*-helvetica-bold-r-*-*-*-90-*-*-*-*-*-*=charset
! Ddd*tool_buttons*fontList:  \
! 	-*-helvetica-medium-r-*-*-*-80-*-*-*-*-*-*=charset
	

! For fonts in the execution window, see the `termCommand' resource, above.
! For fonts in the data display, see the `vslDefs' resource, below.


!-----------------------------------------------------------------------------
! Colors
!-----------------------------------------------------------------------------

Ddd*foreground:			   black
Ddd*background:			   grey
Ddd*XmText.background:		   grey90
Ddd*XmTextField.background:	   grey90
Ddd*GraphEdit.background:	   grey90
Ddd*XmList.background:		   grey90
Ddd*graph_edit_panner.background:  grey
Ddd*graph_edit_panner.foreground:  grey
Ddd*graph_edit_panner.shadowColor: black

! Red, green and blue buttons.
Ddd*break.foreground:		   red4
Ddd*run.foreground:		   dark green
Ddd*run_again.foreground:	   dark green
Ddd*arg_cmd_area*break.foreground: black
Ddd*text_popup*break.foreground:   black
! Ddd*dereference.foreground:	   blue4

! Highlight special dialogs
Ddd*fatal_dialog*foreground:	   red4
Ddd*terminated_dialog*foreground:  red4

! Glyph colors
Ddd*source_form_w.XmPushButton.background: grey90
Ddd*source_form_w.plain_arrow.foreground:  dark green
Ddd*source_form_w.grey_arrow.foreground:   dark green
Ddd*source_form_w.plain_stop.foreground:   red4
Ddd*source_form_w.grey_stop.foreground:	   grey50

Ddd*code_form_w.XmPushButton.background:   grey90
Ddd*code_form_w.plain_arrow.foreground:	   dark green
Ddd*code_form_w.grey_arrow.foreground:	   dark green
Ddd*code_form_w.plain_stop.foreground:	   red4
Ddd*code_form_w.grey_stop.foreground:	   grey50

! Graph colors
Ddd*graph_edit.nodeColor:	   black
Ddd*graph_edit.edgeColor:	   blue4
Ddd*graph_edit.selectColor:	   black
Ddd*graph_edit.gridColor:	   black
Ddd*graph_edit.frameColor:	   grey50
Ddd*graph_edit.outlineColor:	   grey50

! For colors of nodes in the data display, see below.


!-----------------------------------------------------------------------------
! Data display fonts and colors
!-----------------------------------------------------------------------------

! The value of the `vslDefs' resource are appended to the builtin VSL library.
! The general pattern to replace a function definition FUNCTION with a new
! definition NEW_DEF is:
!
! #replace FUNCTION
! FUNCTION(ARGS...) = NEW_DEF;
!
! The following settings may be useful:
! 
! - color(BOX, FOREGROUND, BACKGROUND) sets the FOREGROUND and BACKGROUND
!   colors of BOX.
! - stdfontfamily() is the font family used: one of
!   family_times(), family_courier(), family_helvetica(), 
!   family_new_century(), family_typewriter().
! - stdfontsize() is the font size in pixels.
!   0 means to use stdfontpoints() instead.
! - stdfontpoints() is the font size in 1/10 points.
!   0 means to use stdfontsize() instead.
! - stdfontweight() is the weight used: one of
!   weight_medium(), weight_bold().
!
! Here is an example which you can copy to ~/.dddinit and customize:
!
! Ddd*vslDefs: \
! #replace display_color   \n\
! #replace title_color	   \n\
! #replace disabled_color  \n\
! #replace simple_color	   \n\
! #replace pointer_color   \n\
! #replace struct_color	   \n\
! #replace array_color	   \n\
! #replace reference_color \n\
! \n\
! display_color(box)   = color(box, "black", "grey95");	\n\
! title_color(box)     = color(box, "black");		\n\
! disabled_color(box)  = color(box, "white", "grey50");	\n\
! simple_color(box)    = color(box, "black");		\n\
! pointer_color(box)   = color(box, "blue4");		\n\
! struct_color(box)    = color(box, "black");		\n\
! array_color(box)     = color(box, "blue4");		\n\
! reference_color(box) = color(box, "blue4");		\n\
! \n\
! #replace stdfontfamily\n\
! #replace stdfontsize	\n\
! #replace stdfontpoints\n\
! #replace stdfontweight\n\
! stdfontfamily() = family_typewriter();\n\
! stdfontsize()   = 12;	\n\
! stdfontpoints() = 0;	\n\
! stdfontweight() = weight_medium();

! See the file `ddd.vsl' for further definitions to override here.


!-----------------------------------------------------------------------------
! Keyboard translations
!-----------------------------------------------------------------------------

! The GDB window uses an EMACS-like editing style.
! `R7' and `R13' are generated by the developer's SUNs for `Home' and `End'
Ddd*gdb_w*translations: #override \
Ctrl ~Shift<Key>A:	gdb-beginning-of-line()	    \n\
Ctrl<Key>B:		gdb-backward-character()    \n\
Ctrl<Key>C:		gdb-control(^C)		    \n\
Ctrl<Key>D:		gdb-delete-or-control(^D)   \n\
Ctrl ~Shift<Key>E:	gdb-end-of-line()	    \n\
Ctrl<Key>F:		gdb-forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-command()	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>N:		gdb-next-history()	    \n\
Ctrl<Key>P:		gdb-previous-history()	    \n\
Ctrl<Key>U:		gdb-set-line("")	    \n\
Ctrl<Key>V:		next-page()		    \n\
Meta<Key>V:		previous-page()		    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
Ctrl<Key>Y:		unkill()		    \n\
None<Key>osfUp:		gdb-previous-history()	    \n\
None<Key>osfDown:	gdb-next-history()	    \n\
None<Key>osfLeft:	gdb-backward-character()    \n\
None<Key>osfRight:	gdb-forward-character()	    \n\
None<Key>osfBeginLine:	gdb-beginning-of-line()	    \n\
None<Key>osfEndLine:	gdb-end-of-line()	    \n\
None<Key>osfBeginData:	gdb-beginning-of-line()	    \n\
None<Key>osfEndData:	gdb-end-of-line()	    \n\
None<Key>Home:		gdb-beginning-of-line()	    \n\
None<Key>End:		gdb-end-of-line()	    \n\
None<Key>R7:		gdb-beginning-of-line()	    \n\
None<Key>R13:		gdb-end-of-line()	    \n\
None<Key>Tab:		gdb-complete-command()	    \n\
None<Key>Escape:	gdb-complete-command()	    \n

! Have some of these in argument fields as well
Ddd*XmTextField*translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(print)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(print)	    \n\
None<Key>Escape:	gdb-complete-arg(print)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n


! Have some of these in breakpoint and display dialogs
! (with different completion)
Ddd*new_breakpoint_dialog*XmText.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(break)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
Ctrl<Key>Y:		unkill()		    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(break)	    \n\
None<Key>Escape:	gdb-complete-arg(break)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*new_breakpoint_dialog*XmTextField.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(break)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(break)	    \n\
None<Key>Escape:	gdb-complete-arg(break)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*edit_breakpoint_condition_dialog*XmText.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(print)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
Ctrl<Key>Y:		unkill()		    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(print)	    \n\
None<Key>Escape:	gdb-complete-arg(print)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*edit_breakpoint_condition_dialog*XmTextField.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(print)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(print)	    \n\
None<Key>Escape:	gdb-complete-arg(print)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*edit_breakpoint_ignore_count_dialog*XmText.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		beep()			    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
Ctrl<Key>Y:		unkill()		    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*edit_breakpoint_ignore_count_dialog*XmTextField.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		beep()			    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*new_display_dialog*XmText.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(print)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
Ctrl<Key>Y:		unkill()		    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(print)	    \n\
None<Key>Escape:	gdb-complete-arg(print)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*new_display_dialog*XmTextField.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(print)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(print)	    \n\
None<Key>Escape:	gdb-complete-arg(print)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*dependent_display_dialog*XmText.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(print)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
Ctrl<Key>Y:		unkill()		    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(print)	    \n\
None<Key>Escape:	gdb-complete-arg(print)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*dependent_display_dialog*XmTextField.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(print)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(print)	    \n\
None<Key>Escape:	gdb-complete-arg(print)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n


! Have some of these in file dialogs (with different completion)
Ddd*exec_files_popup*XmText.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(file)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
Ctrl<Key>Y:		unkill()		    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(file)	    \n\
None<Key>Escape:	gdb-complete-arg(file)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*exec_files_popup*XmTextField.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(file)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(file)	    \n\
None<Key>Escape:	gdb-complete-arg(file)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*core_files_popup*XmText.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(core-file) \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
Ctrl<Key>Y:		unkill()		    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(core-file) \n\
None<Key>Escape:	gdb-complete-arg(core-file) \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*core_files_popup*XmTextField.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(core-file) \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(core-file) \n\
None<Key>Escape:	gdb-complete-arg(core-file) \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*source_files_popup*XmText.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(file)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
Ctrl<Key>Y:		unkill()		    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(file)	    \n\
None<Key>Escape:	gdb-complete-arg(file)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*source_files_popup*XmTextField.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(file)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(file)	    \n\
None<Key>Escape:	gdb-complete-arg(file)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*print_popup*XmText.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(file)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(file)	    \n\
None<Key>Escape:	gdb-complete-arg(file)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*print_popup*XmTextField.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(file)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(file)	    \n\
None<Key>Escape:	gdb-complete-arg(file)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*run_dialog*XmText.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(print)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
Ctrl<Key>Y:		unkill()		    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(shell)	    \n\
None<Key>Escape:	gdb-complete-arg(shell)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*run_dialog*XmTextField.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(print)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(shell)	    \n\
None<Key>Escape:	gdb-complete-arg(shell)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*set_dialog*XmText.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(print)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
Ctrl<Key>Y:		unkill()		    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(print)	    \n\
None<Key>Escape:	gdb-complete-arg(print)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

Ddd*set_dialog*XmTextField.translations: #override \
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl<Key>D:		delete-next-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>H:		delete-previous-character() \n\
Ctrl<Key>I:		gdb-complete-arg(print)	    \n\
Ctrl<Key>K:		delete-to-end-of-line()	    \n\
Ctrl<Key>U:		beginning-of-line()	    \
			delete-to-end-of-line()	    \n\
Ctrl<Key>W:		delete-previous-word()	    \n\
Ctrl<Key>osfBackSpace:	delete-previous-word()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		gdb-complete-tab(print)	    \n\
None<Key>Escape:	gdb-complete-arg(print)	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

! The source window is especially tuned for word selection.
Ddd*source_text_w.translations: #override \
None<Btn3Down>:		source-popup-menu() \n\
None<Btn1Down>:		source-start-select-word()  \n\
None<Btn1Up>:		source-end-select-word()    \n\
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>V:		next-page()		    \
			source-update-glyphs()	    \n\
Meta<Key>V:		previous-page()		    \
			source-update-glyphs()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		PrimitiveNextTabGroup()	    \n\
None<Key>osfPageUp:	previous-page()		    \
			source-update-glyphs()	    \n\
None<Key>osfPageDown:	next-page()		    \
			source-update-glyphs()	    \n\
Shift<Key>osfPageUp:	previous-page(extend)	    \
			source-update-glyphs()	    \n\
Shift<Key>osfPageDown:	next-page(extend)	    \
			source-update-glyphs()	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n

! The machine code window is tuned as well.
Ddd*code_text_w.translations: #override \
None<Btn3Down>:		source-popup-menu() \n\
None<Btn1Down>:		source-start-select-word()  \n\
None<Btn1Up>:		source-end-select-word()    \n\
Ctrl ~Shift<Key>A:	beginning-of-line()	    \n\
Ctrl<Key>B:		backward-character()	    \n\
Ctrl ~Shift<Key>E:	end-of-line()		    \n\
Ctrl<Key>F:		forward-character()	    \n\
Ctrl<Key>V:		next-page()		    \
			source-update-glyphs()	    \n\
Meta<Key>V:		previous-page()		    \
			source-update-glyphs()	    \n\
None<Key>R7:		beginning-of-line()	    \n\
None<Key>R13:		end-of-line()		    \n\
None<Key>Tab:		PrimitiveNextTabGroup()	    \n\
None<Key>osfPageUp:	previous-page()		    \
			source-update-glyphs()	    \n\
None<Key>osfPageDown:	next-page()		    \
			source-update-glyphs()	    \n\
Shift<Key>osfPageUp:	previous-page(extend)	    \
			source-update-glyphs()	    \n\
Shift<Key>osfPageDown:	next-page(extend)	    \
			source-update-glyphs()	    \n\
None<Key>Home:		beginning-of-line()	    \n\
None<Key>End:		end-of-line()		    \n


! Make sure glyphs popup as well
Ddd*source_form_w.XmPushButton.translations: #override \
None<Btn1Down>:	ArmAndActivate() \n\
None<Btn3Down>:	source-popup-menu()

Ddd*code_form_w.XmPushButton.translations: #override \
None<Btn1Down>:	ArmAndActivate() \n\
None<Btn3Down>:	source-popup-menu()


! This defines the popup menus in the graph window.
Ddd*graph_edit.translations: #override \
None<Btn1Down>:		graph-select-or-move()\n\
None<Btn3Down>:		graph-select() graph-popup-menu()\n


!-----------------------------------------------------------------------------
! Titles
!-----------------------------------------------------------------------------

Ddd*title: DDD Window

Ddd*command_shell.title:		DDD: Debugger Console
Ddd*command_shell.iconName:		DDD: Debugger Console

Ddd*source_view_shell.title:		DDD: Program Source
Ddd*source_view_shell.iconName:		DDD: Program Source

Ddd*data_disp_shell.title:		DDD: Program Data
Ddd*data_disp_shell.iconName:		DDD: Program Data

! Ddd*tool_shell.title:			DDD: Command Tool
Ddd*tool_shell.title:			DDD
Ddd*tool_shell.iconName:		DDD: Command Tool



!-----------------------------------------------------------------------------
! MWM Decorations
!-----------------------------------------------------------------------------

! Don't place resize handles on dialogs
Ddd*XmDialogShell.mwmDecorations: 26

! Exception: the manual page and license page.
Ddd*manual_help_popup.mwmDecorations: 1
Ddd*text_help_popup.mwmDecorations:   1


!-----------------------------------------------------------------------------
! Help
!-----------------------------------------------------------------------------

! Set this to true to view widget names in help texts.
Ddd*contextHelpShowTitle: false

! Help is never acknowledged, always closed.
Ddd*help_popup*okLabelString: Close
Ddd*text_help_popup*okLabelString: Close
Ddd*manual_help_popup*okLabelString: Close

! Titles
Ddd*help_popup.title: DDD: Help
Ddd*manual_help_popup.title: DDD: Manual

! Help on help.
Ddd*help_popup.help*contextHelpString: \
@rm This is the @sl Help @rm window.\n\
\n\
By pressing @key F1 @rm and clicking on an item,\n\
the item's functions are explained here.\n\
\n\
Click on @bf Close @rm to close the help window.

! DDD manual.
Ddd*manual_help.area.orientation:	XmHORIZONTAL
Ddd*manual_help*index.selectionPolicy:	XmSINGLE_SELECT

Ddd*manual_help*text.columns:		72
Ddd*manual_help*text.rows:		25
Ddd*manual_help*text.wordWrap:		true
Ddd*manual_help*text.scrollHorizontal:	false
Ddd*manual_help*scrollBarDisplayPolicy: XmAS_NEEDED

Ddd*manual_help*contextHelpString: \
@rm This is the @sl DDD Manual@rm.\n\
\n\
Select titles from the index on the left\n\
to get help on a specific item.

! DDD license.
Ddd*text_help*text.columns:	      80
Ddd*text_help*text.rows:	      25
Ddd*text_help*text.wordWrap:	      true
Ddd*text_help*text.scrollHorizontal:  false
Ddd*text_help*scrollBarDisplayPolicy: XmAS_NEEDED

Ddd*text_help*contextHelpString: \
@rm This is the @sl DDD License@rm.\n\
\n\
It describes the terms and conditions\n\
for copying, distributing and modifying DDD.

! The official announcement.
! Build information (from `USERINFO') is appended to this text.
Ddd.contextHelpString:	\
@Logo DDD@logo, \
the @Logo D@logo ata @Logo D@logo isplay @Logo D@logo ebugger\n\
@rm by Dorothea L\374tkehaus and Andreas Zeller.\n\
\n\
DDD 2.0beta2 (i386-unknown-solaris2.5.1),\n\
Copyright \251 1995, 1996 Technische Universit\344t Braunschweig, Germany.\n

! The default Help Text.
Ddd*contextHelpString:	\
@rm This item has no function.

! Some trival help
Ddd*XmScrollBar.contextHelpString: \
@rm This is a @sl Scroll Bar @rm.\n\
\n\
Click or hold the @bf left mouse button @rm on an arrow button\n\
to scroll the window in the arrow direction.\n\
\n\
Drag the slider with the @bf left mouse button @rm to select the\n\
visible part of the window.

Ddd*XmSash.contextHelpString: \
@rm This is a @sl Paned Window Sash @rm.\n\
\n\
Drag the sash with the @bf left mouse button @rm to resize window parts.



!-----------------------------------------------------------------------------
! Menu Bar
!-----------------------------------------------------------------------------

Ddd*menubar.contextHelpString:		\
@rm This is the @sl Menu bar@rm.\n\
\n\
@tt \267 @bf File @rm - select files and exit DDD.\n\
@tt \267 @bf Edit @rm - cut, copy, and paste text.\n\
@tt \267 @bf Options @rm - change DDD settings.\n\
@tt \267 @bf Windows @rm - raise DDD windows.\n\
@tt \267 @bf Program @rm - run the debugged program.\n\
@tt \267 @bf Commands @rm - view command history.\n\
@tt \267 @bf Stack @rm - view backtrace and select the current stack frame.\n\
@tt \267 @bf Source @rm - edit breakpoints and go to previous positions.\n\
@tt \267 @bf Data @rm - edit displays.\n\
@tt \267 @bf Help @rm - on-line help and version information.


Ddd*menubar.file.labelString:		File
Ddd*menubar.file.mnemonic:			F
Ddd*menubar.file*contextHelpString:	\
\
@rm This is the @sl File menu@rm.\n\
\n\
@tt \267 @bf Open Program... @rm - open the program to be debugged.\n\
@tt \267 @bf Open Core... @rm - open a core dump.\n\
@tt \267 @bf Open Source... @rm - open a source file.\n\
\n\
@tt \267 @bf Print Graph... @rm - print the data display graph.\n\
@tt \267 @bf Print Again @rm - print using the previous settings.\n\
\n\
@tt \267 @bf Close @rm - close this window.\n\
@tt \267 @bf Exit @rm - exit DDD.

Ddd*menubar*fileMenu.open_file.labelString: Open Program...
Ddd*menubar*fileMenu.open_file.mnemonic:    O

Ddd*menubar*fileMenu.open_core.labelString: Open Core...
Ddd*menubar*fileMenu.open_core.mnemonic:    o

Ddd*menubar*fileMenu.open_source.labelString: Open Source...
Ddd*menubar*fileMenu.open_source.mnemonic:    S

Ddd*menubar*fileMenu.print.labelString:	 Print Graph...
Ddd*menubar*fileMenu.print.mnemonic:	 P

Ddd*menubar*fileMenu.quickPrint.labelString: Print Again
Ddd*menubar*fileMenu.quickPrint.mnemonic: A

Ddd*menubar*fileMenu.close.labelString:	 Close
Ddd*menubar*fileMenu.close.mnemonic:	 C

Ddd*menubar*fileMenu.restart.labelString: Restart
Ddd*menubar*fileMenu.restart.mnemonic:	 R
Ddd*menubar*fileMenu.restart.accelerator:      Shift Meta<Key>Q
Ddd*menubar*fileMenu.restart.acceleratorText:  Alt+Shift+Q

Ddd*menubar*fileMenu.quit.labelString:	 Exit
Ddd*menubar*fileMenu.quit.mnemonic:	 E
Ddd*menubar*fileMenu.quit.accelerator:	    ~Shift Meta<Key>Q
Ddd*menubar*fileMenu.quit.acceleratorText:  Alt+Q


Ddd*menubar.edit.labelString:		Edit
Ddd*menubar.edit.mnemonic:		E
Ddd*menubar.edit*contextHelpString:	\
\
@rm This is the @sl Edit menu@rm.\n\
\n\
@tt \267 @bf Cut @rm - remove the selected text to the clipboard.\n\
@tt \267 @bf Copy @rm - copy the selected text to the clipboard\n\
    without removing the original.\n\
@tt \267 @bf Paste @rm - paste the clipboard contents into the text.\n\
\n\
@tt \267 @bf Clear @rm - delete the current input.\n\
@tt \267 @bf Delete @rm - delete the selected text.

Ddd*editMenu.cut.labelString:		Cut
Ddd*editMenu.cut.mnemonic:		t
Ddd*editMenu.cut.accelerator:		Shift<Key>Delete
! *editMenu.cut.accelerator:		<Key>osfCut
Ddd*editMenu.cut.acceleratorText:	Shift+Del

Ddd*editMenu.copy.labelString:		Copy
Ddd*editMenu.copy.mnemonic:		C
Ddd*editMenu.copy.accelerator:		Ctrl<Key>Insert
! *editMenu.copy.accelerator:		<Key>osfPrimaryCopy
Ddd*editMenu.copy.acceleratorText:	Ctrl+Ins

Ddd*editMenu.paste.labelString:		Paste
Ddd*editMenu.paste.mnemonic:		P
Ddd*editMenu.paste.accelerator:		Shift<Key>Insert
! *editMenu.paste.accelerator:		<Key>osfPaste
Ddd*editMenu.paste.acceleratorText:	Shift+Ins

Ddd*editMenu.clear.labelString:		Clear
Ddd*editMenu.clear.mnemonic:		e
Ddd*editMenu.clear.accelerator:		~Shift Ctrl<Key>U
Ddd*editMenu.clear.acceleratorText:	Ctrl+U

Ddd*editMenu.delete.labelString:	Delete
Ddd*editMenu.delete.mnemonic:		D

Ddd*menubar.options.labelString:	Options
Ddd*menubar.options.mnemonic:		O


Ddd*menubar.options*contextHelpString:	\
@rm This is the @sl Options @rm menu.\n\
\n\
The @bf Preference @rm menus invoke panels for setting preferences.\n\
\n\
@tt \267 @rm If @bf Run in Execution Window @rm is set, \
the program is run in a separate\n\
    terminal window; useful for programs using terminal I/O.  Otherwise,\n\
    the program is run in the DDD console window.\n\
    This change takes effect the next time the program is run.\n\
@tt \267 @rm If @bf Find Words Only @rm is set, \
only complete words are found.\n\
    Otherwise, arbitrary occurrences are found.\n\
@tt \267 @rm If @bf Display Machine Code @rm is set, \
the current function is automatically disassembled.\n\
\n\
@bf Save Options @rm saves options and preferences for the next use of DDD.

Ddd*optionsMenu.separateExecWindow.labelString:		Run in Execution Window
Ddd*optionsMenu.separateExecWindow.mnemonic:		E
Ddd*optionsMenu*separateExecWindow.accelerator:		Ctrl<Key>Z
Ddd*optionsMenu*separateExecWindow.acceleratorText:	Ctrl+Z

Ddd*optionsMenu.findWordsOnly.labelString:		Find Words Only
Ddd*optionsMenu.findWordsOnly.mnemonic:			W
Ddd*optionsMenu*findWordsOnly.accelerator:		Ctrl<Key>W
Ddd*optionsMenu*findWordsOnly.acceleratorText:		Ctrl+W

Ddd*optionsMenu.disassemble.labelString:		Display Machine Code
Ddd*optionsMenu.disassemble.mnemonic:			M
Ddd*optionsMenu*disassemble.accelerator:		Ctrl<Key>M
Ddd*optionsMenu*disassemble.acceleratorText:		Ctrl+M

Ddd*optionsMenu.preferences.labelString:	Preferences...
Ddd*optionsMenu.preferences.mnemonic:		P

Ddd*optionsMenu.settings.labelString:		Settings...
Ddd*optionsMenu.settings.mnemonic:		S

Ddd*optionsMenu.saveOptions.labelString:	Save Options
Ddd*optionsMenu.saveOptions.mnemonic:		O


Ddd*menubar.view.labelString:		Windows
Ddd*menubar.view.mnemonic:		W
Ddd*menubar.view.contextHelpString:	\
\
@rm This is the @sl Windows menu@rm.\n\
\n\
@tt \267 @bf Command Tool... @rm - show the debugger command tool.\n\
@tt \267 @bf Debugger Console... @rm - show the debugger console.\n\
@tt \267 @bf Program Source... @rm - show the program source.\n\
@tt \267 @bf Program Data... @rm - show the program data.\n\
@tt \267 @bf Program Execution... @rm - show input/output of the program.

Ddd*viewMenu.tool.labelString:			Command Tool...
Ddd*viewMenu.tool.mnemonic:			T
Ddd*viewMenu.console.labelString:		Debugger Console...
Ddd*viewMenu.console.mnemonic:			C
Ddd*viewMenu.source.labelString:		Program Source...
Ddd*viewMenu.source.mnemonic:			S
Ddd*viewMenu.data.labelString:			Program Data...
Ddd*viewMenu.data.mnemonic:			D
Ddd*viewMenu.exec.labelString:			Program Execution...
Ddd*viewMenu.exec.mnemonic:			E


Ddd*menubar.program.labelString:		Program
Ddd*menubar.program.mnemonic:			P
Ddd*menubar.program*contextHelpString:	\
\
@rm This is the @sl Program menu@rm.\n\
\n\
@tt \267 @bf Run... @rm - start the debugged program.\n\
@tt \267 @bf Run Again @rm - run with current arguments.\n\
\n\
@tt \267 @bf Step @rm - step program until it reaches \
a different source line.\n\
@tt \267 @bf Step Instruction @rm - step exactly one machine instruction.\n\
@tt \267 @bf Next @rm - step program, but proceed through subroutine calls.\n\
@tt \267 @bf Next Instruction @rm - step instruction, \
but proceed through subroutine calls.\n\
\n\
@tt \267 @bf Continue @rm - continue program after signal or breakpoint.\n\
@tt \267 @bf Finish @rm - execute until function returns.\n\
\n\
@tt \267 @bf Kill @rm - Kill execution of program being debugged.\n\
@tt \267 @bf Break @rm - interrupt program (or current debugger command).

Ddd*menubar*programMenu.run.labelString:	   Run...
Ddd*menubar*programMenu.run.mnemonic:		   R
Ddd*menubar*programMenu.run.accelerator:	   Ctrl ~Shift<Key>R
Ddd*menubar*programMenu.run.acceleratorText:	   Ctrl+R

Ddd*menubar*programMenu.run_again.labelString:	   Run Again
Ddd*menubar*programMenu.run_again.mnemonic:	   A
Ddd*menubar*programMenu.run_again.accelerator:	   Ctrl Shift<Key>R
Ddd*menubar*programMenu.run_again.acceleratorText: Ctrl+Shift+R

Ddd*menubar*programMenu.step.labelString:	   Step
Ddd*menubar*programMenu.step.mnemonic:		   S
Ddd*menubar*programMenu.step.accelerator:	   Ctrl ~Shift<Key>S
Ddd*menubar*programMenu.step.acceleratorText:	   Ctrl+S

Ddd*menubar*programMenu.stepi.labelString:	   Step Instruction
Ddd*menubar*programMenu.stepi.mnemonic:		   I
Ddd*menubar*programMenu.stepi.accelerator:	   Ctrl Shift<Key>S
Ddd*menubar*programMenu.stepi.acceleratorText:	   Ctrl+Shift+S

Ddd*menubar*programMenu.next.labelString:	   Next
Ddd*menubar*programMenu.next.mnemonic:		   N
Ddd*menubar*programMenu.next.accelerator:	   Ctrl ~Shift<Key>X
Ddd*menubar*programMenu.next.acceleratorText:	   Ctrl+X

Ddd*menubar*programMenu.nexti.labelString:	   Next Instruction
Ddd*menubar*programMenu.nexti.mnemonic:		   e
Ddd*menubar*programMenu.nexti.accelerator:	   Ctrl Shift<Key>X
Ddd*menubar*programMenu.nexti.acceleratorText:	   Ctrl+Shift+X

Ddd*menubar*programMenu.cont.labelString:	   Continue
Ddd*menubar*programMenu.cont.mnemonic:		   C
Ddd*menubar*programMenu.cont.accelerator:	   Ctrl<Key>O
Ddd*menubar*programMenu.cont.acceleratorText:	   Ctrl+O

Ddd*menubar*programMenu.finish.labelString:	   Finish
Ddd*menubar*programMenu.finish.mnemonic:	   F
Ddd*menubar*programMenu.finish.accelerator:	   Ctrl<Key>Return
Ddd*menubar*programMenu.finish.acceleratorText:	   Ctrl+Return

Ddd*menubar*programMenu.kill.labelString:	   Kill
Ddd*menubar*programMenu.kill.mnemonic:		   K
Ddd*menubar*programMenu.kill.accelerator:	   Ctrl Shift<Key>K
Ddd*menubar*programMenu.kill.acceleratorText:	   Ctrl+Shift+K

Ddd*menubar*programMenu.break.labelString:	   Break
Ddd*menubar*programMenu.break.mnemonic:		   B
Ddd*menubar*programMenu.break.accelerator:	   Ctrl<Key>C	 I
Ddd*menubar*programMenu.break.acceleratorText:	   Ctrl+C


Ddd*menubar.commands.labelString:	Commands
Ddd*menubar.commands.mnemonic:		C
Ddd*menubar.commands*contextHelpString:	\
\
@rm This is the @sl Commands menu@rm.\n\
\n\
@tt \267 @bf Command History... @rm shows the previous commands.\n\
\n\
@tt \267 @bf Previous @rm - show the previous command.\n\
@tt \267 @bf Next @rm - show the next command.\n\
\n\
@tt \267 @bf Complete @rm - complete the current command.\n\
@tt \267 @bf Apply @rm - execute the current command.
\n\
@tt \267 @bf Clear Line @rm - clear current command line.
@tt \267 @bf Clear Window @rm - clear all before last debugger prompt.

Ddd*commandsMenu.history.labelString:	Command History...
Ddd*commandsMenu.history.mnemonic:	H

Ddd*commandsMenu.prev.labelString:	Previous
Ddd*commandsMenu.prev.mnemonic:		P
! *commandsMenu.prev.accelerator:	Ctrl<Key>P
Ddd*commandsMenu.prev.acceleratorText:	Ctrl+P

Ddd*commandsMenu.next.labelString:	Next
Ddd*commandsMenu.next.mnemonic:		N
! *commandsMenu.next.accelerator:	Ctrl<Key>N
Ddd*commandsMenu.next.acceleratorText:	Ctrl+N

Ddd*commandsMenu.complete.labelString:	Complete
Ddd*commandsMenu.complete.mnemonic:	C
! *commandsMenu.complete.accelerator:	None<Key>Tab
! *commandsMenu.complete.accelerator:	Ctrl<Key>I
Ddd*commandsMenu.complete.acceleratorText:	Tab

Ddd*commandsMenu.apply.labelString:	Apply
Ddd*commandsMenu.apply.mnemonic:	A
! *commandsMenu.apply.accelerator:	None<Key>Return
Ddd*commandsMenu.apply.acceleratorText: Return

Ddd*commandsMenu.clear_line.labelString: Clear Line
Ddd*commandsMenu.clear_line.mnemonic:	L
! *commandsMenu.clear_line.accelerator:	 Ctrl<Key>U
Ddd*commandsMenu.clear_line.acceleratorText: Ctrl+U

Ddd*commandsMenu.clear_window.labelString: Clear Window
Ddd*commandsMenu.clear_window.mnemonic:	W
Ddd*commandsMenu.clear_window.accelerator:	Shift Ctrl<Key>U
Ddd*commandsMenu.clear_window.acceleratorText: Ctrl+Shift+U

Ddd*menubar.stack.labelString:		Stack
Ddd*menubar.stack.mnemonic:		t
Ddd*menubar.stack.contextHelpString:	\
\
@rm This is the @sl Stack menu@rm.\n\
\n\
@tt \267 @bf Show Backtrace... @rm - give a summary of how your program got \
where it is.\n\
@tt \267 @bf Show Registers... @rm - show current processor registers.\n\
\n\
@tt \267 @bf Up @rm - show the function that called the current one.\n\
@tt \267 @bf Down @rm - show the function that was called by the current one.

Ddd*stackMenu.stack.labelString:	Show Backtrace...
Ddd*stackMenu.stack.mnemonic:		S

Ddd*stackMenu.registers.labelString:	Show Registers...
Ddd*stackMenu.registers.mnemonic:	R

Ddd*stackMenu.up.labelString:		Up
Ddd*stackMenu.up.mnemonic:		U
Ddd*stackMenu.up.accelerator:		Ctrl<Key>Up
Ddd*stackMenu.up.acceleratorText:	Ctrl+Up

Ddd*stackMenu.down.labelString:		Down
Ddd*stackMenu.down.mnemonic:		D
Ddd*stackMenu.down.accelerator:		Ctrl<Key>Down
Ddd*stackMenu.down.acceleratorText:	Ctrl+Down



Ddd*menubar.source.labelString:		Source
Ddd*menubar.source.mnemonic:		S
Ddd*menubar.source.contextHelpString:	\
\
@rm This is the @sl Source menu@rm.\n\
@tt \267 @bf Edit Breakpoints... @rm - set, view, and edit breakpoints.\n\
\n\
@tt \267 @bf Edit Source... @rm - invoke text editor for current source.\n\
@tt \267 @bf Reload Source  @rm - reload current source file.\n\
\n\
@tt \267 @bf Back @rm - show the previous source position.\n\
@tt \267 @bf Forward @rm - show the next source position.

Ddd*sourceMenu.breakpoints.labelString:	Edit Breakpoints...
Ddd*sourceMenu.breakpoints.mnemonic:	E

Ddd*sourceMenu.edit.labelString:	Edit Source...
Ddd*sourceMenu.edit.mnemonic:		S
Ddd*sourceMenu.edit.accelerator:	Ctrl Shift<Key>E
Ddd*sourceMenu.edit.acceleratorText:	Ctrl+Shift+E

Ddd*sourceMenu.reload.labelString:	Reload Source
Ddd*sourceMenu.reload.mnemonic:		R
Ddd*sourceMenu.reload.accelerator:	Ctrl Shift<Key>L
Ddd*sourceMenu.reload.acceleratorText:	Ctrl+Shift+L

Ddd*sourceMenu.back.labelString:	Back
Ddd*sourceMenu.back.mnemonic:		B
Ddd*sourceMenu.back.accelerator:	Ctrl<Key>Left
Ddd*sourceMenu.back.acceleratorText:	Ctrl+Left

Ddd*sourceMenu.forward.labelString:	Forward
Ddd*sourceMenu.forward.mnemonic:	F
Ddd*sourceMenu.forward.accelerator:	Ctrl<Key>Right
Ddd*sourceMenu.forward.acceleratorText:	Ctrl+Right



Ddd*menubar.data.labelString:		Data
Ddd*menubar.data.mnemonic:		D
Ddd*menubar.data*contextHelpString:	\
\
@rm This is the @sl Data menu@rm.\n\
\n\
@tt \267 @bf Edit Displays... @rm - select, enable and delete displays.\n\
\n\
@tt \267 @bf Align Displays @rm - align all displays on the next grid point.\n\
@tt \267 @bf Rotate Graph @rm - rotate the graph clockwise by 90 degrees.\n\
@tt \267 @bf Layout Graph @rm - layout the graph.\n\
\n\
@tt \267 @bf Select All @rm - select all displays.\n\
@tt \267 @bf Refresh @rm - update all displays.

Ddd*dataMenu.displays.labelString:	Edit Displays...
Ddd*dataMenu.displays.mnemonic:		E

Ddd*dataMenu.align.labelString:		Align Displays
Ddd*dataMenu.align.mnemonic:		A
Ddd*dataMenu.align.accelerator:		Meta<Key>A
Ddd*dataMenu.align.acceleratorText:	Alt+A

Ddd*dataMenu.rotate.labelString:	Rotate Graph
Ddd*dataMenu.rotate.mnemonic:		R
Ddd*dataMenu.rotate.accelerator:	Meta<Key>R
Ddd*dataMenu.rotate.acceleratorText:	Alt+R

Ddd*dataMenu.layout.labelString:	Layout Graph
Ddd*dataMenu.layout.mnemonic:		L
Ddd*dataMenu.layout.accelerator:	Meta<Key>L
Ddd*dataMenu.layout.acceleratorText:	Alt+L

Ddd*dataMenu.selectAll.labelString:	Select All
Ddd*dataMenu.selectAll.mnemonic:	S
Ddd*dataMenu.selectAll.accelerator:	Meta<Key>S
Ddd*dataMenu.selectAll.acceleratorText:	Alt+S

Ddd*dataMenu.refresh.labelString:	Refresh
Ddd*dataMenu.refresh.mnemonic:		R
Ddd*dataMenu.refresh.accelerator:	Ctrl ~Shift<Key>L
Ddd*dataMenu.refresh.acceleratorText:	Ctrl+L



Ddd*menubar.help.labelString:		Help
Ddd*menubar.help.mnemonic:		H
Ddd*menubar.help*contextHelpString: \
\
@rm This is the @sl Help menu@rm.\n\
\n\
@tt \267 @bf On Context... @rm - click on an item and get help on it.\n\
@tt \267 @bf On Window... @rm - help on the application itself.\n\
@tt \267 @bf On Help... @rm - help on how to use the help facility.\n\
@tt \267 @bf On Version... @rm - some general information about DDD.\n\
\n\
@tt \267 @bf DDD Manual... @rm - the DDD on-line manual.\n\
@tt \267 @bf DDD License... @rm - the DDD license.\n\
@tt \267 @bf DDD WWW Page... @rm - the DDD WWW page.

Ddd*helpMenu.onContext.labelString:	On Context...
Ddd*helpMenu.onContext.mnemonic:	C
Ddd*helpMenu.onContext.accelerator:	None<Key>F1
! *helpMenu.onContext.accelerator:	<Key>osfHelp
Ddd*helpMenu.onContext.acceleratorText:	F1

Ddd*helpMenu.onWindow.labelString:	On Window...
Ddd*helpMenu.onWindow.mnemonic:		W

Ddd*helpMenu.onHelp.labelString:	On Help...
Ddd*helpMenu.onHelp.mnemonic:		H

Ddd*helpMenu.onVersion.labelString:	On Version...
Ddd*helpMenu.onVersion.mnemonic:	V

Ddd*helpMenu.index.labelString:		DDD Manual...
Ddd*helpMenu.index.mnemonic:		M

Ddd*helpMenu.license.labelString:	DDD License...
Ddd*helpMenu.license.mnemonic:		L

Ddd*helpMenu.www.labelString:		DDD WWW Page...
Ddd*helpMenu.www.mnemonic:		P



!-----------------------------------------------------------------------------
! Preferences
!-----------------------------------------------------------------------------

Ddd*preferences_popup*okLabelString: Close
Ddd*preferences_popup.title: DDD: Preferences

Ddd*preferences*buttons.orientation: XmHORIZONTAL
Ddd*preferences*buttons.borderWidth:  0
Ddd*preferences*buttons.marginWidth:  0
Ddd*preferences*buttons.marginHeight: 0
Ddd*preferences*buttons.entryAlignment: XmALIGNMENT_CENTER
Ddd*preferences*buttons*indicatorOn:  False
Ddd*preferences*buttons*shadowThickness: 2
Ddd*preferences*buttons*alignment: XmALIGNMENT_CENTER
Ddd*preferences*buttons*general.labelString: General Preferences
Ddd*preferences*buttons*source.labelString:  Source Preferences
Ddd*preferences*buttons*data.labelString:    Data Preferences
Ddd*preferences*buttons*startup.labelString: Startup Preferences

Ddd*preferences*general*contextHelpString:	\
@rm These are the @sl General Preferences@rm.\n\
\n\
@tt \267 @rm If @bf Iconify all windows at once @rm is set, all DDD windows \
are iconified as a group.\n\
    Otherwise, windows are iconified separately.\n\
@tt \267 @rm If @bf Tab key completes in all windows @rm is set, \
the @key TAB @rm key completes\n\
    arguments in all DDD windows.\n\
    Otherwise, the  @key TAB @rm key completes \
in the DDD debugger console only.\n\
@tt \267 @rm If @bf Suppress X Warnings @rm is set, \
X warnings are silently ignored.\n\
@tt \267 @rm If @bf Save command history on exit @rm is set,\n\
    the command history is automatically saved when DDD exits.\n\
    Otherwise, the command history is discarded.\n\
\n\
Use the buttons above to view and change other preferences.

Ddd*preferences*groupIconify.labelString:	 \
Iconify all windows at once
Ddd*preferences*globalTabCompletion.labelString: \
Tab key completes in all windows
Ddd*preferences*suppressWarnings.labelString:	 \
Suppress X warnings
Ddd*preferences*saveHistoryOnExit.labelString:	 \
Save command history on exit


Ddd*preferences*source*contextHelpString:	\
@rm These are the @sl Source Preferences@rm.\n\
\n\
@tt \267 @rm If @bf Use glyphs @rm is set, \
positions and breakpoints are shown as glyphs.\n\
    Otherwise, positions and breakpoints are shown as text.\n\
@tt \267 @rm If @bf Cache source files @rm is set, \
source texts are cached in memory.\n\
    Otherwise, sources are re-read upon each source change.\n\
@tt \267 @rm If @bf Cache machine code @rm is set, \
disassembled code is cached in memory.\n\
    Otherwise, code is re-disassembled upon each function change.\n\
\n\
Use the buttons above to view and change other preferences.

Ddd*preferences*displayGlyphs.labelString:	 \
Use glyphs for showing execution position and breakpoints
Ddd*preferences*cacheSourceFiles.labelString:	 \
Cache source files
Ddd*preferences*cacheMachineCode.labelString:	 \
Cache machine code


Ddd*preferences*data*contextHelpString:	\
@rm These are the @sl Data Preferences@rm.\n\
\n\
@tt \267 @rm If @bf Show grid @rm is set, the grid is displayed.\n\
@tt \267 @rm If @bf Show edge hints @rm is set, edge hints are displayed.\n\
@tt \267 @rm If @bf Snap displays to grid @rm is set, \n\
    displays are always aligned on the grid.\n\
@tt \267 @rm If @bf Compact layout @rm is set, the graph is layouted\n\
    in a more compact fashion; suitable for homogenous structures only.\n\
    Otherwise, the standard layout algorithm is used.\n\
@tt \267 @rm If @bf Automatic layout @rm is set, the graph is layouted\n\
    after each change.\n\
    Otherwise, layout can be invoked manually.\n\
\n\
Use the buttons above to view and change other preferences.

Ddd*preferences*showGrid.labelString:	       Show grid
Ddd*preferences*showHints.labelString:	       Show edge hints
Ddd*preferences*snapToGrid.labelString:	       Snap displays to grid
Ddd*preferences*compactLayout.labelString:     Compact layout
Ddd*preferences*autoLayout.labelString:	       Automatic layout


Ddd*preferences*startup*contextHelpString:   \
@rm These are the @sl Startup Preferences@rm.\n\
\n\
@tt \267 @bf Windows @rm sets the window layout.\n\
    @bf Separate windows @rm means to use one source window,\n\
    one data window, and one debugger console window.\n\
    @bf One single window @rm means to use one single window\n\
    for source, data, and the debugger console.\n\
\n\
@tt \267 @bf Keyboard focus @rm sets the keyboard focus policy.\n\
    @bf Click to type @rm means that you must click on a window\n\
    to direct the keyboard focus to it.\n\
    @bf Point to type @rm means that pointing to the window suffices.\n\
\n\
@tt \267 @bf Data Scrolling @rm sets the data window scrolling mode.\n\
    @bf Panner @rm means to use a two-dimensional scrollbar\n\
    (not available in all configurations).\n\
    @bf Scrollbars @rm means to use two scrollbars.\n\
\n\
@tt \267 @bf Debugger Type @rm sets the type of inferior debugger to use.\n\
\n\
Note: these startup preferences take effect only after saving options\n\
and restarting DDD.\n\
\n\
Use the buttons above to view and change other preferences.

Ddd*preferences*startup*adjustMargin:		false

Ddd*preferences*windows.labelString:		Windows:
Ddd*preferences*windows.alignment:		XmALIGNMENT_END
Ddd*preferences*windows.width:			120
Ddd*preferences*windows.recomputeSize:		false
Ddd*windowsMenu*separate.labelString:		Separate windows
Ddd*windowsMenu*attached.labelString:		One single window

Ddd*preferences*keyboardFocus.labelString:	Keyboard focus:
Ddd*preferences*keyboardFocus.alignment:	XmALIGNMENT_END
Ddd*preferences*keyboardFocus.width:		120
Ddd*preferences*keyboardFocus.recomputeSize:	false
Ddd*keyboardFocusMenu*explicit.labelString:	Click to type
Ddd*keyboardFocusMenu*pointer.labelString:	Point to type

Ddd*preferences*dataScrolling.labelString:	Data scrolling:
Ddd*preferences*dataScrolling.alignment:	XmALIGNMENT_END
Ddd*preferences*dataScrolling.width:		120
Ddd*preferences*dataScrolling.recomputeSize:	false
Ddd*dataScrollingMenu*panner.labelString:	Panner
Ddd*dataScrollingMenu*scrollbars.labelString:	Scrollbars

Ddd*preferences*debugger.labelString:		Debugger type:
Ddd*preferences*debugger.alignment:		XmALIGNMENT_END
Ddd*preferences*debugger.width:			120
Ddd*preferences*debugger.recomputeSize:		false
Ddd*debuggerMenu*gdb.labelString:		GDB
Ddd*debuggerMenu*dbx.labelString:		DBX
Ddd*debuggerMenu*xdb.labelString:		XDB


!-----------------------------------------------------------------------------
! Settings
!-----------------------------------------------------------------------------

Ddd*settings_popup*okLabelString: Close
Ddd*settings_popup.title: DDD: Debugger Settings
Ddd*settings_popup.autoUnmanage: false

Ddd*settings*title.labelString:			Debugger Settings
Ddd*settings*scroll.scrollingPolicy:		XmAUTOMATIC
Ddd*settings*scroll.height:			293
Ddd*settings*scroll.width:			528
Ddd*settings*form.width:			500
Ddd*settings*help.labelString:			?
Ddd*settings*XmTextField.columns:		10
Ddd*settings*sep.bottomOffset:			10
Ddd*settings*leader.bottomOffset:		4
Ddd*settings*leader.separatorType:		XmSINGLE_DASHED_LINE

! An empty help string means that the help text for this command
! is to be requested from GDB (via the GDB `help' command).
Ddd*settings*scroll*contextHelpString:

! The panel itself has a help button, too.
Ddd*settings*contextHelpString: \
@rm These are the @sl Debugger Settings@rm.\n\
\n\
These settings affect the inferior debugger only.\n\
Click on @bf ? @rm near an item to get further information.\n\
\n\
Note: debugger settings are not saved with DDD options.\n\
Insert the resulting commands in your personal\n\
@tt ~/.gdbinit@rm, @tt~/.dbxinit@rm, @tt~/.dbxrc@rm, or @tt~/.xdbrc @rm file\n\
to customize the inferior debugger.

! Some settings are insensitive, because changing them may break DDD...
Ddd*height.sensitive:	  false
Ddd*set height.sensitive: false
Ddd*width.sensitive:	  false
Ddd*set width.sensitive:  false
Ddd*prompt.sensitive:	  false
Ddd*set prompt.sensitive: false

! ... or simply do not make sense.
Ddd*listsize.sensitive:	    false
Ddd*set listsize.sensitive: false
Ddd*editing.sensitive:	    false
Ddd*set editing.sensitive:  false


!-----------------------------------------------------------------------------
! Graph Editor
!-----------------------------------------------------------------------------

! Width and height for several Motif & Athena variants

! Motif 1.x, using ScrolledWindow
Ddd*graph_edit_swindow.width:		620
Ddd*graph_edit_swindow.height:		200

! Motif 2.0, using ScrolledWindow
Ddd*graph_editSW.width:			620
Ddd*graph_editSW.height:		200

! Motif 1.x, using Porthole
Ddd*graph_edit_porthole.width:		620
Ddd*graph_edit_porthole.height:		200

! Motif 2.0, using Porthole
Ddd*graph_edit_form.width:		620
Ddd*graph_edit_form.height:		200

Ddd*graph_edit_panner.backgroundPixmap:	25_foreground
Ddd*graph_edit_panner.defaultScale:	10
Ddd*graph_edit_panner.translations: \
#override \
<Btn1Down>:	   ddd-get-focus() start()\n\
<Btn2Down>:	   ddd-get-focus() abort()\n\
<Key>osfLeft:	   page(-.5p, +0)\n\
<Key>osfRight:	   page(+.5p, +0)\n\
<Key>osfUp:	   page(+0, -.5p)\n\
<Key>osfDown:	   page(+0, +.5p)\n\
<Key>osfBeginLine: page(0,0)\n\
<Key>osfBackSpace: page(-1p, -1p)\n\
<Key>osfDelete:	   page(-1p, -1p)\n\
Shift<Key>Tab:	   ddd-prev-tab-group()\n\
<Key>Tab:	   ddd-next-tab-group()\n

Ddd*graph_edit.highlightOnEnter:	True
Ddd*graph_edit.navigationType:		TAB_GROUP

Ddd*graph_edit.contextHelpString:	\
@rm This is the @sl Data Window @rm \n\
showing the data displays of the debugged program.\n\
\n\
@bf Left mouse button:@rm\n\
@tt \267 @sl Click @rm on a display @sl DISPLAY	 @rm to select @sl DISPLAY @rm.\n\
@tt \267 @sl Double-click @rm on a display to select all connected displays.\n\
@tt \267 @sl Double-click @rm on the background to select all displays.\n\
@tt \267 @sl Drag @rm on a display to move selected displays.\n\
@tt \267 @sl Drag @rm on the background to select framed displays.\n\
\n\
@bf Shift + Left mouse button:@rm\n\
@tt \267 @sl Click @rm on a display @sl DISPLAY	 @rm to add @sl DISPLAY	 @rm \
to the selection.\n\
@tt \267 @sl Drag @rm on a display to move selected displays.\n\
@tt \267 @sl Drag @rm on the background to add framed displays\n\
    to the selection.\n\
\n\
@bf Right mouse button:@rm\n\
@tt \267 @sl Click @rm on some display @sl DISPLAY @rm \
    to modify @sl DISPLAY @rm via a menu.\n\
@tt \267 @sl Click @rm on the background to create new displays via a menu.

Ddd*data_disp_shell.contextHelpString:	\
@rm This is the @sl Data Display @rm \n\
showing the data displays of the debugged program.\n\
\n\
@bf Left mouse button:@rm\n\
@tt \267 @sl Click @rm on a display @sl DISPLAY @rm to select @sl DISPLAY @rm.\n\
@tt \267 @sl Double-click @rm on a display to select all connected displays.\n\
@tt \267 @sl Double-click @rm on the background to select all displays.\n\
@tt \267 @sl Drag @rm on a display to move selected displays.\n\
@tt \267 @sl Drag @rm on the background to select framed displays.\n\
\n\
@bf Middle mouse button:@rm\n\
@tt \267 @sl Click @rm on a display @sl DISPLAY @rm to add @sl DISPLAY @rm \
to the selection.\n\
@tt \267 @sl Drag @rm on a display to move selected displays.\n\
@tt \267 @sl Drag @rm on the background to add framed displays\n\
    to the selection.\n\
\n\
@bf Right mouse button:@rm\n\
@tt \267 @sl Click @rm on some display @sl DISPLAY @rm to\
modify @sl DISPLAY @rm via a menu.\n\
@tt \267 @sl Click @rm on the background to create new displays via a menu.

Ddd*graph_edit_panner.contextHelpString:	\
@rm The data window is too small to hold all displays.\n\
Drag the slider with the @bf left mouse button @rm to select\n\
the visible part of the data window.


!-----------------------------------------------------------------------------
! Graph Popup Menus
!-----------------------------------------------------------------------------

Ddd*graph_popup.selectAll.labelString:	Select All
Ddd*graph_popup.refresh.labelString:	Refresh
Ddd*graph_popup.new.labelString:	New Display...

Ddd*node_popup.dereference.labelString:	Display *
Ddd*node_popup.detail.labelString:	Show Detail
Ddd*node_popup.rotate.labelString:	Rotate
Ddd*node_popup.dependent.labelString:	New Display...
Ddd*node_popup.set.labelString:		Set Value...
Ddd*node_popup.delete.labelString:	Delete Display
Ddd*node_popup.disable.labelString:	Disable Display


!-----------------------------------------------------------------------------
! Graph Buttons
!-----------------------------------------------------------------------------

Ddd*graph_cmd_w*contextHelpString: \
@rm Commands related to the data window.

Ddd*graph_cmd_w.marginWidth:	 0
Ddd*graph_cmd_w.marginHeight:	 0
Ddd*graph_cmd_area.marginWidth:	 0

Ddd*graph_cmd_w.graph_arg_label.labelString:	():
Ddd*graph_cmd_w.graph_arg_label.marginWidth:	0
Ddd*graph_cmd_w.graph_arg.columns:		20
Ddd*graph_cmd_w*graph_arg.editable:		false
Ddd*graph_cmd_w*graph_arg.contextHelpString:	\
@rm This is the argument @bf() @rm for the command buttons on the right.\n\
This is an output-only window which displays the selection\n\
in the data window above.



Ddd*graph_cmd_w.orientation:			XmHORIZONTAL
Ddd*graph_cmd_w.graph_cmd_area*orientation:	XmHORIZONTAL
Ddd*graph_cmd_w.graph_cmd_area*spacing:		0
Ddd*graph_cmd_w*spacing:			0
Ddd*graph_cmd_w.graph_cmd_area*packing:	  	XmPACK_TIGHT
Ddd*graph_cmd_w.graph_cmd_area*entryAlignment:	XmALIGNMENT_CENTER
Ddd*graph_cmd_w.graph_cmd_area*alignment:	XmALIGNMENT_CENTER

Ddd*graph_cmd_w.graph_cmd_area*dependent.labelString:	New Display
Ddd*graph_cmd_w.graph_cmd_area*dereference.labelString: Display *()
Ddd*graph_cmd_w.graph_cmd_area*detail.labelString:	Show ()
Ddd*graph_cmd_w.graph_cmd_area*rotate.labelString:	Rotate ()
Ddd*graph_cmd_w.graph_cmd_area*set.labelString:		Set ()
Ddd*graph_cmd_w.graph_cmd_area*delete.labelString:	Delete ()
Ddd*graph_cmd_w.graph_cmd_area*disable.labelString:	Disable ()
! Ddd*graph_cmd_w.graph_cmd_area*marginTop:	  1
! Ddd*graph_cmd_w.graph_cmd_area*marginBottom:	  1

Ddd*graph_cmd_w.graph_cmd_area*dependent.contextHelpString:\
@bf New Display@rm\n\
Create a new display dependent on the selected display part.

Ddd*graph_cmd_w.graph_cmd_area*dereference.contextHelpString:\
@bf Display *()@rm\n\
Dereference the selected display.

Ddd*graph_cmd_w.graph_cmd_area*detail.contextHelpString:	\
@bf Show ()@rm / @bf Hide ()@rm\n\
Show/Hide details of the selected displays.

Ddd*graph_cmd_w.graph_cmd_area*rotate.contextHelpString:	\
@bf Rotate ()@rm\n\
Rotate the selected displays.

Ddd*graph_cmd_w.graph_cmd_area*set.contextHelpString:	\
@bf Set ()@rm\n\
Change the selected display value.

Ddd*graph_cmd_w.graph_cmd_area*disable.contextHelpString:	\
@bf Disable ()@rm / @bf Enable ()@rm\n\
Disable/Enable the selected displays.

Ddd*graph_cmd_w.graph_cmd_area*delete.contextHelpString:	\
@bf Delete ()@rm\n\
Delete the selected displays.


!-----------------------------------------------------------------------------
! Source view
!-----------------------------------------------------------------------------

Ddd*status_w.alignment:			XmALIGNMENT_BEGINNING
Ddd*status_w.labelString:		Ready.
Ddd*status_w.contextHelpString:		\
@rm This @sl status line @rm shows the last message of the inferior debugger.

Ddd*source_text_w.columns:		88
Ddd*source_text_w.rows:			24
Ddd*source_view_shell*source_text_w.rows:	24

Ddd*code_text_w.columns:		88
Ddd*code_text_w.rows:			2
Ddd*source_view_shell*code_text_w.rows:	2

Ddd*source_form_w.width:		660
Ddd*source_form_w.height:		320
Ddd*source_view_shell*source_form_w.height: 320

Ddd*code_form_w.width:			660
Ddd*code_form_w.height:			50
Ddd*source_view_shell*code_form_w.height: 50


Ddd*source_text_w.editable:		false
Ddd*source_text_w.allowResize:		true
Ddd*source_text_w.editMode:		XmMULTI_LINE_EDIT
Ddd*source_text_w.autoShowCursorPosition: true
Ddd*source_text_w.cursorPositionVisible: true
Ddd*source_text_w.scrollHorizontal:	false
Ddd*source_text_w.wordWrap:		true

Ddd*code_text_w.editable:		false
Ddd*code_text_w.allowResize:		true
Ddd*code_text_w.editMode:		XmMULTI_LINE_EDIT
Ddd*code_text_w.autoShowCursorPosition:	true
Ddd*code_text_w.cursorPositionVisible:	true
Ddd*code_text_w.scrollHorizontal:	false
Ddd*code_text_w.wordWrap:		true

Ddd*source_text_w.contextHelpString:	\
@rm This is the @sl source text window @rm showing the source code\n\
of the debugged program.\n\
\n\
On the @sl left side@rm, line numbers and breakpoints are shown:\n\
A stop sign or `@tt #@sl n@tt #@rm' indicates an enabled breakpoint;\n\
A grey stop sign or `@tt _@sl n@tt _@rm' indicates a disabled breakpoint.\n\
The next executed line is indicated by an arrow or `@tt>@rm'.\n\
The @sl right side @rm contains the source code.\n\
\n\
Click the @bf left mouse button @rm to select words.\n\
Drag with the @bf left mouse button @rm to modify your selection.\n\
\n\
Click the @bf right mouse button @rm to get a popup menu:\n\
@tt \267 @rm On the left side: set and modify breakpoints;\n\
@tt \267 @rm On the right side: show values and lookup functions.\n\
\n\
Use the @bf Lookup () @rm button below to view specific functions.

Ddd*code_text_w.contextHelpString:	\
@rm This is the @sl machine code window @rm showing the machine code\n\
of the debugged program.\n\
\n\
On the @sl left side@rm, code addresses and breakpoints are shown:\n\
A stop sign or `@tt #@sl n@tt #@rm' indicates an enabled breakpoint;\n\
A grey stop sign or `@tt _@sl n@tt _@rm' indicates a disabled breakpoint.\n\
The next executed instruction is indicated by an arrow or `@tt>@rm'.\n\
The @sl right side @rm contains the machine instructions.\n\
\n\
Click the @bf left mouse button @rm to select words.\n\
Drag with the @bf left mouse button @rm to modify your selection.\n\
\n\
Click the @bf right mouse button @rm to get a popup menu:\n\
@tt \267 @rm On the left side: set and modify breakpoints;\n\
@tt \267 @rm On the right side: show values and lookup locations.\n\
\n\
Use the @bf Lookup () @rm button below to disassemble specific functions.

Ddd*source_view_shell.contextHelpString:	\
@rm This is the @sl source text window @rm in which the source\n\
and machine code of the debugged program are displayed.\n\
\n\
The upper area shows the source code.\n\
The lower area shows the machine code.


!-----------------------------------------------------------------------------
! Source Text Popup Menus
!-----------------------------------------------------------------------------

Ddd*line_popup.set.labelString:			Set Breakpoint
Ddd*line_popup.set_temp.labelString:		Set Temporary Breakpoint
Ddd*line_popup.temp_n_cont.labelString:		Continue Until Here

Ddd*address_popup.set.labelString:		Set Breakpoint
Ddd*address_popup.set_temp.labelString:		Set Temporary Breakpoint
Ddd*address_popup.temp_n_cont.labelString:	Continue Until Here

Ddd*bp_popup.disable.labelString:		Disable Breakpoint
Ddd*bp_popup.condition.labelString:		Set Condition
Ddd*bp_popup.ignore_count.labelString:		Set Ignore Count
Ddd*bp_popup.delete.labelString:		Delete Breakpoint


!-----------------------------------------------------------------------------
! Source Text Commands
!-----------------------------------------------------------------------------

Ddd*arg_cmd_w*contextHelpString: \
@rm Commands related to the source text.\n\
Enter arguments for @sl name @rm() commands\n\
in the @bf() @rm field.

Ddd*arg_cmd_w.marginWidth:  0
Ddd*arg_cmd_w.marginHeight: 0
Ddd*arg_cmd_area.marginWidth:  0

Ddd*arg_cmd_w.arg_label.labelString:		():
Ddd*arg_cmd_w.arg_label.marginWidth:		0
Ddd*arg_cmd_w.source_arg.contextHelpString:	\
@rm This is the argument @bf () @rm for the command buttons on the right.\n\
You can edit this field, or easily change its value\n\
by selecting something in the source text above.
Ddd*arg_cmd_w.source_arg.value:			 main
Ddd*arg_cmd_w.source_arg.columns:		 20

Ddd*arg_cmd_w.orientation:				XmHORIZONTAL
Ddd*arg_cmd_w.arg_cmd_area.orientation:			XmHORIZONTAL
Ddd*arg_cmd_w.arg_cmd_area.spacing:			0
Ddd*arg_cmd_w*spacing:					0
Ddd*arg_cmd_w.arg_cmd_area.packing:			XmPACK_TIGHT
Ddd*arg_cmd_w.arg_cmd_area.entryAlignment:		XmALIGNMENT_CENTER
Ddd*arg_cmd_w.arg_cmd_area*alignment:			XmALIGNMENT_CENTER

Ddd*arg_cmd_w.arg_cmd_area*lookup.labelString:		Lookup ()
Ddd*arg_cmd_w.arg_cmd_area*break.labelString:		Break at ()
Ddd*arg_cmd_w.arg_cmd_area*clear.labelString:		Clear at ()
Ddd*arg_cmd_w.arg_cmd_area*print.labelString:		Print ()
Ddd*arg_cmd_w.arg_cmd_area*display.labelString:		Display ()
Ddd*arg_cmd_w.arg_cmd_area*find_backward.labelString:	Find@small<< @bf()
Ddd*arg_cmd_w.arg_cmd_area*find_forward.labelString:	Find@small>> @bf()

Ddd*arg_cmd_w.arg_cmd_area*lookup.contextHelpString:	\
@bf Lookup ()@rm\n\
Lookup a line, file, function, variable, or breakpoint.\n\
@tt \267 @rm If the argument @bf () @rm is empty, \
show the current execution position.\n\
@tt \267 @rm If @bf () @rm contains a number, \
lookup that line number in the current source.\n\
@tt \267 @rm If @bf () @rm contains @sl FILENAME@tt:@sl LINE@rm, lookup\n\
    line number @sl LINE @rm in the source file @sl FILENAME@rm.\n\
@tt \267 @rm If @bf () @rm contains @tt #@sl NUMBER@rm, lookup\n\
    breakpoint number @sl NUMBER@rm.\n\
@tt \267 @rm If @bf () @rm contains an address, \
lookup that address.\n\
@tt \267 @rm If @bf () @rm contains a function or variable name, lookup\n\
    the definition of that function or variable.

Ddd*arg_cmd_w.arg_cmd_area*break.contextHelpString:	\
@bf Break at ()@rm\n\
Set a breakpoint at the argument @bf ()@rm.

Ddd*arg_cmd_w.arg_cmd_area*clear.contextHelpString:	\
@bf Clear at ()@rm\n\
Clear the breakpoint at the argument @bf ()@rm.

Ddd*arg_cmd_w.arg_cmd_area*print.contextHelpString:	\
@bf Print ()@rm\n\
Print the argument @bf () @rm in the debugger console.

Ddd*arg_cmd_w.arg_cmd_area*display.contextHelpString:	\
@bf Display ()@rm\n\
Display the argument @bf () @rm in the data display window.

Ddd*arg_cmd_w.arg_cmd_area*find_backward.contextHelpString:	\
@bf Find@small<< @bf()@rm\n\
Search the previous occurrence of @bf () @rm in the current source text.\n\
If the option @bf Find Words Only @rm is set, only complete words are found.

Ddd*arg_cmd_w.arg_cmd_area*find_forward.contextHelpString:	\
@bf Find@small>> @bf()@rm\n\
Search the next occurrence of @bf () @rm in the current source text.\n\
If the option @bf Find Words Only @rm is set, only complete words are found.



!-----------------------------------------------------------------------------
! Source and Code Glyphs
!-----------------------------------------------------------------------------

Ddd*source_form_w.XmPushButton.shadowThickness:	   0
Ddd*source_form_w.XmPushButton.highlightThickness: 0
Ddd*source_form_w.XmPushButton.marginHeight:	   0
Ddd*source_form_w.XmPushButton.marginWidth:	   0
Ddd*source_form_w.XmPushButton.borderWidth:	   0

Ddd*source_form_w.plain_arrow*contextHelpString: \
@bf Plain arrow\n\
@rm shows the current execution position in the lowest frame.

Ddd*source_form_w.grey_arrow*contextHelpString: \
@bf Grey arrow\n\
@rm shows the last execution position in the selected frame.

Ddd*source_form_w.plain_stop*contextHelpString: \
@bf Plain stop sign\n\
@rm A breakpoint (enabled).\n\
Press the @bf right mouse button @rm to change its properties.

Ddd*source_form_w.grey_stop*contextHelpString: \
@bf Grey stop sign\n\
@rm A breakpoint (disabled).\n\
Press the @bf right mouse button @rm to change its properties.


Ddd*code_form_w.XmPushButton.shadowThickness:	 0
Ddd*code_form_w.XmPushButton.highlightThickness: 0
Ddd*code_form_w.XmPushButton.marginHeight:	 0
Ddd*code_form_w.XmPushButton.marginWidth:	 0
Ddd*code_form_w.XmPushButton.borderWidth:	 0

Ddd*code_form_w.plain_arrow*contextHelpString: \
@bf Plain arrow\n\
@rm shows the current program counter in the lowest frame.

Ddd*code_form_w.grey_arrow*contextHelpString: \
@bf Grey arrow\n\
@rm shows the last program counter in the selected frame.

Ddd*code_form_w.plain_stop*contextHelpString: \
@bf Plain stop sign\n\
@rm A breakpoint (enabled).\n\
Press the @bf right mouse button @rm to change its properties.

Ddd*code_form_w.grey_stop*contextHelpString: \
@bf Grey stop sign\n\
@rm A breakpoint (disabled).\n\
Press the @bf right mouse button @rm to change its properties.


!-----------------------------------------------------------------------------
! Debugger Console
!-----------------------------------------------------------------------------

Ddd*gdb_w.value: \
DDD 2.0beta2 (i386-unknown-solaris2.5.1), by Dorothea L\374tkehaus and Andreas Zeller.\n\
Copyright \251 1995, 1996 Technische Universit\344t Braunschweig, Germany.\n

Ddd*gdb_w.rows:			10
Ddd*gdb_w.columns:		88

Ddd*gdb_wSW.width:		660
Ddd*gdb_wSW.height:		124

Ddd*gdb_w.editable:		true
Ddd*gdb_w.allowResize:		true
Ddd*gdb_w.editMode:		XmMULTI_LINE_EDIT
Ddd*gdb_w.scrollHorizontal:	false
Ddd*gdb_w.wordWrap:		true
Ddd*gdb_w.autoShowCursorPosition:	true
Ddd*gdb_w.cursorPositionVisible:	true

Ddd*gdb_w.contextHelpString:		\
\
@rm This is the @sl debugger console window.@rm\n\
\n\
You can enter debugging commands here.\n\
Enter ``@tt help@rm'' at the debugger prompt\n\
to get help on debugging commands.

Ddd*command_shell.contextHelpString:		\
\
@rm This is the @sl debugger console window.@rm\n\
\n\
You can enter debugging commands here.\n\
Enter ``@tt help@rm'' at the debugger prompt\n\
to get help on debugging commands.



!-----------------------------------------------------------------------------
! Command Tool
!-----------------------------------------------------------------------------

! The command tool is frequently moved around on top of other windows.
! Hence, avoid extra redisplays.
Ddd*tool_shell*saveUnder: true

Ddd*tool_shell.contextHelpString:		\
@rm This is the @sl command tool.@rm\n\
\n\
By clicking on one of the buttons,\n\
the corresponding command is sent to the inferior debugger.\n\
The context sensitive help for the buttons\n\
gives a short command description.\n

Ddd*tool_buttons.contextHelpString:\
@rm This is the @sl command tool @rm.\n\
\n\
By clicking on one of the buttons,\n\
the corresponding command is sent to the inferior debugger.\n\
The context sensitive help for the buttons\n\
gives a short command description.\n

!-----------------------------------------------------------------------------
! Debugger Buttons
!-----------------------------------------------------------------------------

Ddd*source_buttons.contextHelpString:\
@rm This is a @sl command area @rm.\n\
\n\
By clicking on one of the buttons,\n\
the corresponding command is sent to the inferior debugger.\n\
The context sensitive help for the buttons\n\
gives a short command description.\n

Ddd*command_buttons.contextHelpString:\
@rm This is a @sl command area @rm.\n\
\n\
By clicking on one of the buttons,\n\
the corresponding command is sent to the inferior debugger.\n\
The context sensitive help for the buttons\n\
gives a short command description.\n

! An empty help string means that the help text for this button
! is to be requested from GDB (via the GDB `help' command).
Ddd*source_buttons*contextHelpString:
Ddd*console_buttons*contextHelpString:
Ddd*tool_buttons*contextHelpString:

! Special spacing
Ddd*source_buttons.spacing:	    0
Ddd*console_buttons.spacing:	    0
Ddd*source_buttons.packing:	    XmPACK_TIGHT
Ddd*console_buttons.packing:	    XmPACK_TIGHT
Ddd*source_buttons.entryAlignment:  XmALIGNMENT_CENTER
Ddd*console_buttons.entryAlignment: XmALIGNMENT_CENTER
Ddd*source_buttons*alignment:	    XmALIGNMENT_CENTER
Ddd*console_buttons*alignment:	    XmALIGNMENT_CENTER
! Ddd*source_buttons*marginTop:	      1
! Ddd*source_buttons*marginBottom:    1
! Ddd*console_buttons*marginTop:      1
! Ddd*console_buttons*marginBottom:   1

! Some buttons have a special meaning; 
! so we must provide help on ourselves.
Ddd*?*break.contextHelpString: \
@bf Break\n\
@rm Interrupt the debugged process or current debugger command.\n\
(Equivalent to @key Ctrl+C@rm).

Ddd*?*Yes.contextHelpString:	\
@bf Yes\n\
@rm Confirm the question of the inferior debugger.

Ddd*?*No.contextHelpString:	\
@bf No\n\
@rm Do @sl not @rm confirm the question of the inferior debugger.

Ddd*?*Complete.contextHelpString:	\
@bf Complete@rm\n\
Complete the current debugging command.	 (Equivalent to @key TAB@rm).

Ddd*?*Clear.contextHelpString:	\
@bf Clear@rm\n\
Clear the current debugging command.  (Equivalent to @key Ctrl+U@rm).

Ddd*?*Prev.contextHelpString:	\
@bf Prev@rm\n\
Show the previous debugging command \
(Equivalent to @key Ctrl+P @rm or @key Up@rm).

Ddd*?*Next.contextHelpString:	\
@bf Prev@rm\n\
Show the next debugging command \
(Equivalent to @key Ctrl+N @rm or @key Down@rm).

Ddd*?*Apply.contextHelpString:	\
@bf Apply@rm\n\
Execute the current debugging command.	(Equivalent to @symbol \277@rm).

Ddd*?*Back.contextHelpString:	\
@bf Back@rm\n\
Go to the previous source position.

Ddd*?*Forward.contextHelpString:	\
@bf Forward@rm\n\
Go to the next source position.

Ddd*?*Edit.contextHelpString:	\
@bf Edit@rm\n\
Invoke an editor for the current source file.

Ddd*?*Reload.contextHelpString:	\
@bf Reload@rm\n\
Reload the source from file.




!-----------------------------------------------------------------------------
! Print Dialog
!-----------------------------------------------------------------------------

Ddd*print_popup.title: DDD: Print Graph

Ddd*print*options.orientation:		      XmVERTICAL
Ddd*print*options.marginWidth:		      0
Ddd*print*options.marginHeight:		      0
Ddd*print*options.spacing:		      0
Ddd*print*options.?.orientation:	      XmHORIZONTAL
Ddd*print*options.?.marginWidth:	      0
Ddd*print*options.?.marginHeight:	      0
Ddd*print*options.?.?.orientation:	      XmHORIZONTAL
Ddd*print*options*isAligned:		      false
Ddd*print*options*alignment:		      XmALIGNMENT_BEGINNING

Ddd*print*print_to.labelString:		      Print To:
Ddd*print*print_to.alignment:		      XmALIGNMENT_END
Ddd*print*print_to.width:		      120
Ddd*print*print_to.recomputeSize:	      false
Ddd*print*print_to_field*printer.labelString: Printer
Ddd*print*print_to_field*file.labelString:    File

Ddd*print*print_command.labelString:	      Print Command:
Ddd*print*print_command.alignment:	      XmALIGNMENT_END
Ddd*print*print_command.width:		      120
Ddd*print*print_command.recomputeSize:	      false
Ddd*print*print_command_field.columns:	      48

Ddd*print*file_name.labelString:	      File Name:
Ddd*print*file_name.alignment:		      XmALIGNMENT_END
Ddd*print*file_name.width:		      120
Ddd*print*file_name.recomputeSize:	      false
Ddd*print*file_name_field.columns:	      32
Ddd*print*postscript.labelString:	      PostScript
Ddd*print*xfig.labelString:		      XFIG

Ddd*print*print_what.labelString:	      Print:
Ddd*print*print_what.alignment:		      XmALIGNMENT_END
Ddd*print*print_what.width:		      120
Ddd*print*print_what.recomputeSize:	      false
Ddd*print*all.labelString:		      All Displays
Ddd*print*selected.labelString:		      Selected Displays

Ddd*print*print_orientation.labelString:      Orientation:
Ddd*print*print_orientation.alignment:	      XmALIGNMENT_END
Ddd*print*print_orientation.width:	      120
Ddd*print*print_orientation.recomputeSize:    false
Ddd*print*portrait.labelString:		      Portrait
Ddd*print*landscape.labelString:	      Landscape

Ddd*print*paper_size.labelString:	      Paper Size:
Ddd*print*paper_size.alignment:		      XmALIGNMENT_END
Ddd*print*paper_size.width:		      120
Ddd*print*paper_size.recomputeSize:	      false
Ddd*print*paper_size_field.orientation:	      XmVERTICAL
Ddd*print*paper_size_field.numColumns:	      3
Ddd*print*a4.labelString:		      A4 (210mm \327 297mm)
Ddd*print*a3.labelString:		      A3 (297mm \327 420mm)
Ddd*print*letter.labelString:		      Letter (8\275" \327 11")
Ddd*print*legal.labelString:		      Legal (8\275" \327 14")
Ddd*print*executive.labelString:	      Executive (7\275" \327 10")
Ddd*print*custom.labelString:		      Other...

Ddd*print.autoUnmanage:	 false
Ddd*print*okLabelString: Print

Ddd*print*contextHelpString: \
@rm You can print the graph on a PostScript@symbol \344 @rm printer \
or print the graph in a file.\n\
Enter the print command or the file name in the appropriate fields.\n\
\n\
Files can be created in the following formats:\n\
@tt \267 @bf PostScript @rm - PostScript@symbol \344 @rm format\n\
@tt \267 @bf XFIG @rm - XFIG format (from the @tt xfig(1) @rm program)\n\
\n\
If you wish to print all displays, select @bf All Displays@rm.\n\
If you wish to print selected displays only, select\
 @bf Selected Displays@rm.\n\
For PostScript@symbol \344 @rm format only, you can also specify \
orientation and paper size.\n\
\n\
To print, click on @bf Print@rm.

Ddd*paper_size_dialog_popup.title:  DDD: Paper Size
Ddd*paper_size_dialog.autoUnmanage:  false
Ddd*paper_size_dialog.selectionLabelString: \
@rm Enter paper size (@sl WIDTH @tt x @sl HEIGHT@rm):
Ddd*paper_size_dialog*contextHelpString: \
@rm Please enter the paper size in the format \n\
\n\
       @sl WIDTH @tt x @sl HEIGHT    @rm.\n\
\n\
Examples:\n\
@tt 42cm x 59.4cm @rm (A2 paper)\n\
@tt  7in x 10in	  @rm (Executive paper)\n\
\n\
Recognized units include:\n\
@tt pt @rm (points), @tt in @rm (inches), \n\
@tt mm @rm (millimeters), @tt cm @rm (centimeters).



!-----------------------------------------------------------------------------
! File Selection Dialog
!-----------------------------------------------------------------------------

Ddd*exec_files_popup.title:		   DDD: Open Program
Ddd*exec_files_popup*okLabelString:	   Open
Ddd*exec_files_popup*selectionLabelString: Program
Ddd*exec_files_popup*contextHelpString:	   \
@rm Enter the name of the program to be debugged in the argument field.\n\
The program is read for its symbols, for getting the contents\
 of pure memory,\n\
and it is the program executed when you use the ``@tt run@rm'' command.\n\
If the program file cannot be found as specified,\
 your execution directory path\n\
(@tt $PATH@rm) is searched for a command of that name.\n\
No argument means to have no executable file and no symbols.\n\
\n\
Click on @bf Open @rm to open the selected file.


Ddd*core_files_popup.title:		   DDD: Open Core
Ddd*core_files_popup*okLabelString:	   Open
Ddd*core_files_popup*selectionLabelString: Core Dump
Ddd*core_files_popup*contextHelpString:	   \
@rm  Enter the name of a core dump in the argument field.\n\
The core dump is used for examining memory and registers.\n\
No argument means to have no core file.\n\
\n\
Click on @bf Open @rm to open the selected core dump.


Ddd*source_files_popup.title:		   DDD: Open Source
Ddd*source_files_popup*okLabelString:	   Open
Ddd*source_files_popup*selectionLabelString: Source File
Ddd*source_files_popup*contextHelpString:    \
@rm  Enter the name of a source file in the argument field.\n\
The source file is shown in the source window and may be used\n\
for setting or clearing breakpoints.\n\
\n\
Click on @bf Open @rm to open the selected source file.



!-----------------------------------------------------------------------------
! Breakpoint Editor
!-----------------------------------------------------------------------------

Ddd*edit_breakpoints_dialog_popup.title: DDD: Breakpoint Editor
Ddd*edit_breakpoints_dialog*breakpoints.labelString: Breakpoints
Ddd*edit_breakpoints_dialog*form1.orientation:	 XmVERTICAL
Ddd*edit_breakpoints_dialog*form1.marginWidth:	 0
Ddd*edit_breakpoints_dialog*form1.marginHeight:	 0
Ddd*edit_breakpoints_dialog*form2.orientation:	 XmHORIZONTAL
Ddd*edit_breakpoints_dialog*form2.marginWidth:	 0
Ddd*edit_breakpoints_dialog*form2.marginHeight:	 0
Ddd*edit_breakpoints_dialog*buttons.orientation: XmVERTICAL
Ddd*edit_breakpoints_dialog*buttons.marginWidth:   0
Ddd*edit_breakpoints_dialog*buttons.marginHeight:  0
Ddd*edit_breakpoints_dialog.okLabelString:	 Close

Ddd*edit_breakpoints_dialog*contextHelpString:	     \
@rm This is the @sl Breakpoint editor@rm.\n\
\n\
Select breakpoints on the left; operations on the right.\n\
\n\
@tt \267 @bf New... @rm - create a new breakpoint.\n\
@tt \267 @bf Lookup @rm - look up the selected breakpoint.\n\
@tt \267 @bf Enable @rm - enable all selected breakpoints.\n\
@tt \267 @bf Disable @rm - disable all selected breakpoints.\n\
@tt \267 @bf Condition... @rm - set or modify a breakpoint condition.\n\
@tt \267 @bf Ignore Count... @rm - set or modify a breakpoint ignore count.\n\
@tt \267 @bf Delete @rm - delete all selected breakpoints.

Ddd*new_breakpoint_dialog_popup.title: DDD: New Breakpoint
Ddd*new_breakpoint_dialog.selectionLabelString:	\
@rm Enter new breakpoint:

Ddd*new_breakpoint_dialog*contextHelpString:	\
\
@rm Please enter a breakpoint you want to set.\n\
Enter its name in the argument field.\n\
\n\
The argument may be a @sl line number@rm, a @sl function name@rm,\
 or `@tt*@rm' and an address.\n\
If a @sl line number @rm is specified, break at start of code for that line.\n\
If a @sl function name @rm is specified, break at start of code\
 for that function.\n\
If an @sl address @rm is specified, break at that exact address.\n\
Without argument, use current execution address of selected stack frame.\n\
This is useful for breaking on return to a stack frame.\n\
\n\
Multiple breakpoints at one place are permitted, and useful if conditional.


Ddd*edit_breakpoint_condition_dialog_popup.title: DDD: Breakpoint Condition
Ddd*edit_breakpoint_condition_dialog.selectionLabelString:	  \
@rm Enter breakpoint condition:

Ddd*edit_breakpoint_condition_dialog*contextHelpString:	       \
@rm Specify a condition @sl COND @rm for the selected breakpoint(s).\n\
The selected breakpoint(s) break only if @sl COND @rm\n\
evaluates to a non-zero value.


Ddd*edit_breakpoint_ignore_count_dialog_popup.title: DDD: Ignore Count
Ddd*edit_breakpoint_ignore_count_dialog.selectionLabelString:	     \
@rm Enter breakpoint ignore count:

Ddd*edit_breakpoint_ignore_count_dialog*contextHelpString:	  \
@rm Set the ignore count @sl COUNT @rm for the selected breakpoint(s).\n\
Next @sl COUNT @rm hits of the selected breakpoint(s) will be ignored.


Ddd*edit_breakpoints_dialog*buttons*new.labelString:	       New...
Ddd*edit_breakpoints_dialog*buttons*new.contextHelpString:     \
@rm Set breakpoint at specified line or function.

Ddd*edit_breakpoints_dialog*buttons*lookup.labelString:	       Lookup
Ddd*edit_breakpoints_dialog*buttons*lookup.contextHelpString:  \
@rm Lookup the selected breakpoint.

Ddd*edit_breakpoints_dialog*buttons*enable.labelString:	       Enable
Ddd*edit_breakpoints_dialog*buttons*enable.contextHelpString:  \
@rm Enable the selected breakpoint(s).

Ddd*edit_breakpoints_dialog*buttons*disable.labelString:       Disable
Ddd*edit_breakpoints_dialog*buttons*disable.contextHelpString:	\
@rm Disable the selected breakpoint(s).

Ddd*edit_breakpoints_dialog*buttons*condition.labelString:     Condition...
Ddd*edit_breakpoints_dialog*buttons*condition*contextHelpString:  \
@rm Specify a condition @sl COND @rm for the selected breakpoint(s).\n\
Breakpoints break only if @sl COND @rm evaluates to a non-zero value.

Ddd*edit_breakpoints_dialog*buttons*ignore_count.labelString:  Ignore Count...
Ddd*edit_breakpoints_dialog*buttons*ignore_count*contextHelpString:  \
@rm Set the ignore count @sl COUNT @rm for the selected breakpoint(s).\n\
Next @sl COUNT @rm hits of the selected breakpoints will be ignored.

Ddd*edit_breakpoints_dialog*buttons*delete.labelString:	       Delete
Ddd*edit_breakpoints_dialog*buttons*delete.contextHelpString:  \
@rm Delete the selected breakpoint(s).


!-----------------------------------------------------------------------------
! Show Backtrace
!-----------------------------------------------------------------------------

Ddd*stack_dialog_popup.title:		  DDD: Backtrace
Ddd*stack_dialog.listLabelString:	  Backtrace
Ddd*stack_dialog.okLabelString:		  Close
Ddd*stack_dialog.applyLabelString:	  Up
Ddd*stack_dialog.cancelLabelString:	  Down
Ddd*stack_dialog*visibleItemCount:	  10

Ddd*stack_dialog*contextHelpString:	  \
@rm This window shows the current @sl backtrace@rm.\n\
\n\
The backtrace is a summary of how your program got where it is.\n\
It shows one line per stack frame, for many frames, starting with\n\
the initial calling function (usually @tt main()@rm), the function\n\
called by @tt main()@rm, the function called by this function and\n\
so on down the stack, down to the currently executing frame.\n\
\n\
You can make a specific frame the current one by selecting it\n\
in this window.	 You can also move around by pressing \
@bf Up @rm or @bf Down@rm.


!-----------------------------------------------------------------------------
! Registers
!-----------------------------------------------------------------------------

Ddd*register_dialog_popup.title:	     DDD: Registers
Ddd*register_dialog.listLabelString:	     Registers
Ddd*register_dialog.okLabelString:	     Close

Ddd*register_dialog*text.rows:	    12
Ddd*register_dialog*text.columns:   60
Ddd*register_dialog*text.resizable: true

Ddd*register_dialog*contextHelpString:	     \
@rm This window shows the @sl machine registers@rm.\n\
Select any register to have its name copied to the argument @bf()@rm.


!-----------------------------------------------------------------------------
! Command History
!-----------------------------------------------------------------------------

Ddd*history_dialog_popup.title:		    DDD: Command History
Ddd*history_dialog.listLabelString:	    Command History
Ddd*history_dialog.okLabelString:	    Close
Ddd*history_dialog.applyLabelString:	    Apply
Ddd*history_dialog*visibleItemCount:	    10

Ddd*history_dialog*contextHelpString:	    \
@rm This window shows the @sl command history@rm.\n\
\n\
DDD keeps track of the commands you type during your debugging\n\
sessions, so that you can be certain of precisely what happened.\n\
Use this window to manage the DDD command history facility.\n\
\n\
Select a specific command to have it copied at the command prompt.\n\
Click on @bf Apply @rm to execute the current command.


!-----------------------------------------------------------------------------
! Display Editor
!-----------------------------------------------------------------------------

Ddd*edit_displays_dialog_popup.title: DDD: Display Editor
Ddd*edit_displays_dialog*displays.labelString: Displays
Ddd*edit_displays_dialog*form1.orientation:   XmVERTICAL
Ddd*edit_displays_dialog*form1.marginWidth:   0
Ddd*edit_displays_dialog*form1.marginHeight:  0
Ddd*edit_displays_dialog*form2.orientation:   XmHORIZONTAL
Ddd*edit_displays_dialog*form2.marginWidth:   0
Ddd*edit_displays_dialog*form2.marginHeight:  0
Ddd*edit_displays_dialog*buttons.orientation: XmVERTICAL
Ddd*edit_displays_dialog*buttons.marginWidth:	0
Ddd*edit_displays_dialog*buttons.marginHeight:	0
Ddd*edit_displays_dialog.okLabelString:	      Close

Ddd*edit_displays_dialog*contextHelpString:	  \
@rm This is the @sl Display editor@rm.\n\
\n\
Select displays on the left; operations on the right.\n\
\n\
@tt \267 @bf New Display @rm - create a new display.\n\
@tt \267 @bf Display * @rm - dereference the selected display.\n\
@tt \267 @bf Show Detail @rm - show the details of all selected displays.\n\
@tt \267 @bf Hide Detail @rm - hide the details of all selected displays.\n\
@tt \267 @bf Set Value @rm - change a value in the selected display.\n\
@tt \267 @bf Enable @rm - enable all selected displays.\n\
@tt \267 @bf Disable @rm - disable all selected displays.\n\
@tt \267 @bf Delete @rm - delete all selected displays.


Ddd*new_display_dialog_popup.title: DDD: New Display
Ddd*new_display_dialog.selectionLabelString:	\
@rm Enter new display expression:

Ddd*new_display_dialog*contextHelpString:	\
\
@rm Please enter a display expression in the argument field.\n\
The current value of the expression is shown each time the program stops.\n\
\n\
Variables accessible are those of the lexical environment of the selected\n\
stack frame, plus all those whose scope is global or an entire file.\n\
\n\
@tt $@sl NUM @rm gets previous value number @sl NUM@rm.\
  @tt $ @rm and @tt$$ @rm are the last two values.\n\
@tt $$@sl NUM @rm refers to @sl NUM@rm'th value back from the last one.\n\
Names starting with @tt$ @rm refer to registers\
 (with the values they would have\n\
if the program were to return to the stack frame now selected, restoring\n\
all registers saved by frames farther in) or else to debugger\n\
``convenience'' variables (any such name not a known register).\n\
Use assignment expressions to give values to convenience variables.\n\
\n\
@tt{@sl TYPE@tt}@sl ADREXP @rm refers to a datum of data type\
 @sl TYPE@rm, located at address @sl ADREXP@rm.\n\
\n\
@tt @ \
 @rm is a binary operator for treating consecutive data objects\n\
anywhere in memory as an array. @sl FOO@tt@ @sl NUM @rm\
 gives an array whose first\n\
element is @sl FOO@rm, whose second element is stored in the space following\n\
where @sl FOO @rm is stored, etc. @sl FOO @rm must be an expression \
whose value\n\
resides in memory.\n\
\n\
As a special extension, you can display ranges of array elements\n\
by using the notation @tt[@sl FROM@tt ..@sl TO@tt]@rm,\n\
where @sl FROM @rm and @sl TO @rm are the positions of the first\n\
and last array element to display.\n\
Thus, @tt argv[0..9] @rm will create 10 new displays\
  @tt argv[0]@rm, @tt argv[1]@rm ... @tt argv[9]@rm.


Ddd*dependent_display_dialog_popup.title: DDD: Dependent Display
Ddd*dependent_display_dialog.selectionLabelString:	\
@rm Modify dependent display expression:

Ddd*dependent_display_dialog*contextHelpString:	\
@rm Please modify the display expression displayed in the argument field.\n\
The current value of the expression is shown each time the program stops.

Ddd*edit_displays_dialog*buttons*dependent.labelString:	    New Display
Ddd*edit_displays_dialog*buttons*dependent.contextHelpString:  \
@rm Create a data display dependent on the selected data display,\n\
or a new data display if none is selected.

Ddd*edit_displays_dialog*buttons*dereference.labelString:   Display *
Ddd*edit_displays_dialog*buttons*dereference.contextHelpString:	 \
@rm Dereference the selected data display.

Ddd*edit_displays_dialog*buttons*show_detail.labelString:   Show Detail
Ddd*edit_displays_dialog*buttons*show_detail.contextHelpString:	 \
@rm Show detail on the selected data display(s).

Ddd*edit_displays_dialog*buttons*hide_detail.labelString:   Hide Detail
Ddd*edit_displays_dialog*buttons*hide_detail.contextHelpString:	 \
@rm Hide detail on the selected data display(s).

Ddd*edit_displays_dialog*buttons*set.labelString:	    Set Value
Ddd*edit_displays_dialog*buttons*hide_detail.contextHelpString:	 \
@rm Change a value in the selected data display.

Ddd*edit_displays_dialog*buttons*disable.labelString:	    Disable
Ddd*edit_displays_dialog*buttons*disable.contextHelpString:  \
@rm Disable the selected data display(s).

Ddd*edit_displays_dialog*buttons*enable.labelString:	    Enable
Ddd*edit_displays_dialog*buttons*enable.contextHelpString:  \
@rm Enable the selected data display(s).

Ddd*edit_displays_dialog*buttons*delete.labelString:	    Delete
Ddd*edit_displays_dialog*buttons*delete.contextHelpString:  \
@rm Delete the selected data display(s).


Ddd*run_dialog_popup.title: DDD: Run Program
Ddd*run_dialog.listLabelString:		Arguments
Ddd*run_dialog.selectionLabelString:	Run with Arguments

Ddd*run_dialog*selectionPolicy:		XmSINGLE_SELECT

Ddd*run_dialog*contextHelpString:	\
@rm This window shows the @sl argument history@rm.\n\
\n\
DDD keeps track of the arguments you gave to the debugged program,\n\
such that you can re-use them at a later time.\n\
\n\
Select specific arguments to have them copied to the argument prompt.\n\
Click on @bf OK @rm or @bf Apply @rm to start the debugged program\n\
with the current arguments.



!-----------------------------------------------------------------------------
! Other Dialogs
!-----------------------------------------------------------------------------

Ddd*busy_display_dialog_popup.title: DDD: Debugger Busy
Ddd*busy_dialog.messageString:		\
@rm The debugger is busy!
Ddd*busy_dialog*contextHelpString:	\
@rm The inferior debugger is busy on some commands.\n\
Please try again when the `@tt (gdb)@rm' or `@tt (dbx)@rm' \
or `@tt >@rm' prompt appears.\n\
You may also interrupt the current debugging command by selecting\n\
@bf Break @rm from the @bf Program @rm menu.

Ddd*quit_dialog_popup.title: DDD: Debugger Still Busy
Ddd*quit_dialog.messageString:	 \
@rm The debugger is still busy.	 Exit anyway (and kill it)?
Ddd*quit_dialog*okLabelString:	     Yes
Ddd*quit_dialog*cancelLabelString:   No
Ddd*quit_dialog*defaultButtonType:   XmDIALOG_OK_BUTTON
Ddd*quit_dialog*contextHelpString:	\
@rm The inferior debugger is busy and does not react\n\
to the ``quit'' command.\n\
The debugged process is probably still running.\n\
\n\
Before killing a running debugger, you should try to interrupt it\n\
(by selecting @bf Break @rm from the @bf Program @rm menu).

Ddd*terminated_dialog_popup.title: DDD: Hasta la Vista
Ddd*terminated_dialog.messageString:   \
@rm The debugger terminated abnormally.
Ddd*terminated_dialog*okLabelString:	   Restart
Ddd*terminated_dialog*cancelLabelString:   Exit
Ddd*terminated_dialog*contextHelpString:	\
@rm The inferior debugger terminated abnormally.\n\
You may wish to examine its final output before exiting DDD.

Ddd*fatal_dialog.title: DDD: Oops!
Ddd*fatal_dialog.messageString:	  \
@rm Internal error
Ddd*fatal_dialog*okLabelString:	      Restart
Ddd*fatal_dialog*cancelLabelString:   Exit
Ddd*fatal_dialog*contextHelpString: \
@rm Oops!  You have found a bug in DDD.\n\
You should better save your work immediately; DDD may fail again soon.\n\
\n\
If you can reproduce this bug, please send a bug report\n\
to `@tt ddd-bugs@ ips.cs.tu-bs.de@rm', giving a subject like\n\
\n\
    DDD 2.0beta2 (i386-unknown-solaris2.5.1) gets fatal signal\n\
\n\
To enable us to fix the bug, you should include the following information:\n\
@tt \267 @rm What you were doing to get this message.  Report all the facts.\n\
@tt \267 @rm The DDD configuration.  \
Run `@tt ddd --configuration@rm' to get it.\n\
@tt \267 @rm Invoke DDD with the `@tt --trace@rm' option, and if you can\n\
    reproduce the bug, include the trace output in your bug report.\n\
Please read also the section ``Reporting Bugs'' in the DDD manual.\n\
\n\
We thank you for your support.

Ddd*yn_dialog_popup.title: DDD: Debugger Question
Ddd*yn_dialog*okLabelString:	   Yes
Ddd*yn_dialog*cancelLabelString:   No
Ddd*yn_dialog*defaultButtonType:   XmDIALOG_OK_BUTTON
Ddd*yn_dialog*contextHelpString:	\
@rm This is a question of the inferior debugger.\n\
For more details, consult the debugger documentation.

Ddd*gdb_message_dialog_popup.title: DDD: Debugger Message
Ddd*gdb_message_dialog*contextHelpString:	\
@rm This is a message of the inferior debugger.\n\
For more details, consult the debugger documentation.

Ddd*gdb_selection_dialog_popup.title: DDD: Selection
Ddd*gdb_selection_dialog*okLabelString:	   Select
Ddd*gdb_selection_dialog*listLabelString:  Choices
Ddd*gdb_selection_dialog*contextHelpString:	\
@rm This is a selection menu of the inferior debugger.\n\
For more details, consult the debugger documentation.

Ddd*confirm_overwrite_dialog_popup.title: DDD: File Exists
Ddd*confirm_overwrite_dialog*messageString:	  \
@rm Overwrite existing file?
Ddd*confirm_overwrite_dialog*okLabelString:	  Yes
Ddd*confirm_overwrite_dialog*cancelLabelString:	  No
Ddd*confirm_overwrite_dialog*defaultButtonType:	  XmDIALOG_CANCEL_BUTTON
Ddd*confirm_overwrite_dialog*contextHelpString:	\
@rm The file already exists.\n\
Click on @bf Yes @rm to overwrite the existing file.

Ddd*save_options_dialog_popup.title: DDD: Save Options
Ddd*save_options_dialog.messageString:	 \
@rm DDD startup preferences were modified.\n\
Save them for the next DDD invocation?
Ddd*save_options_dialog*okLabelString:	     Yes
Ddd*save_options_dialog*cancelLabelString:   No
Ddd*save_options_dialog*defaultButtonType:   XmDIALOG_OK_BUTTON
Ddd*save_options_dialog*contextHelpString:	\
@rm You have changed some DDD startup preferences\n\
(using the @bf Options @rm menu).\n\
To save them for the next DDD invocation, click on @bf Yes@rm.\n\
To discard the changes, click on @bf No@rm.

Ddd*set_dialog_popup.title: DDD: Set Value
Ddd*set_dialog*contextHelpString:	\
@rm You can now change a value in the selected display.\n\
If you want to keep it unchanged, press @bf Cancel @rm.


!-----------------------------------------------------------------------------
! Messages
!-----------------------------------------------------------------------------

Ddd*source_file_error_popup.title: DDD: No Source
Ddd*source_file_error*contextHelpString:	\
@rm The given source file could not be loaded.

Ddd*remote_file_error_popup.title: DDD: No Remote Source
Ddd*remote_file_error*contextHelpString:	\
@rm The given source file could not be loaded from the remote host.\n\
This message is also caused by attempting to load an empty source file.

Ddd*source_file_from_gdb_warning_popup.title: DDD: Source From Debugger
Ddd*source_file_from_gdb_warning*contextHelpString:	\
@rm The given source file could not be loaded directly.\n\
Instead, the source was obtained from the inferior debugger,\n\
via the ``list'' command.

Ddd*source_trunc_error_popup.title: DDD: Source Truncated
Ddd*source_trunc_error*contextHelpString:	\
@rm The current source file was not be loaded entirely.

Ddd*source_empty_warning.title: DDD: Source Empty
Ddd*source_empty_warning*contextHelpString:	\
@rm The current source file is empty. \n\
This is very unusual for source files. \n\
Please verify your file name and try again.

Ddd*source_binary_warning.title: DDD: Source Binary
Ddd*source_binary_warning*contextHelpString:	\
@rm The current source file contains NULL characters. \n\
This is very unusual for source files. \n\
You probably gave the name of a binary file. \n\
Please verify the file name and try again.

Ddd*source_position_error_popup.title: DDD: No Current Position
Ddd*source_position_error*contextHelpString:	\
@rm The current execution position is not in the displayed source file.\n\
This may be true for two reasons:\n\
- The debugged process is not running, or\n\
- The debugged process has stopped in a location without source file.\n\
In the latter case, try the `directory' command to specify\n\
a directory where source files can be found.

Ddd*source_find_error_popup.title: DDD: Not Found
Ddd*source_find_error*contextHelpString:	\
@rm The given argument @bf () @rm can not be found in the source text.

Ddd*no_source_error_popup.title: DDD: No Source
Ddd*no_source_error*contextHelpString:	\
@rm There is no current source text in which to search.

Ddd*no_source_edit_error_popup.title: DDD: No Source
Ddd*no_source_edit_error*contextHelpString:	\
@rm There is no current source text to edit.

Ddd*no_such_line_error_popup.title: DDD: No Such Line
Ddd*no_such_line_error*contextHelpString:	\
@rm There is no such line in the current source text.

Ddd*no_such_breakpoint_error_popup.title: DDD: No Such Breakpoint
Ddd*no_such_breakpoint_error*contextHelpString:	\
@rm There is no such breakpoint in the current program.

Ddd*no_completion_error_popup.title: DDD: No Completion
Ddd*no_completion_error*contextHelpString:	\
@rm The inferior debugger does not support command and argument completion.\n\
\n\
Command completion relies on the GDB `@tt complete@rm' command,\n\
which is present in GDB 4.13 and later.

Ddd*print_empty_graph_error_popup.title: DDD: Nothing to Print
Ddd*print_empty_graph_error*contextHelpString:	\
@rm There is nothing to print.\n\
The printing has been cancelled.

Ddd*print_failed_error_popup.title: DDD: Printing Failed
Ddd*print_failed_error*contextHelpString:	\
@rm The file holding the graph picture could not be written.\n\
The printing has been cancelled.

Ddd*tty_exec_error_popup.title: DDD: No Execution TTY
Ddd*tty_exec_error*contextHelpString:	\
@rm The terminal emulator for the execution window\n\
could not be invoked.  The debugged process will execute in the\n\
debugger console instead.\n\
\n\
Please verify the contents of the @bf .termCommand @rm resource\n\
in the DDD application defaults file.

Ddd*tty_command_error_popup.title: DDD: TTY Failed
Ddd*tty_command_error*contextHelpString:	\
@rm DDD sent a `tty' command to the inferior GDB in order to redirect\n\
input/output of the debugged process to the execution window.\n\
This command failed.\n\
\n\
DDD will now redirect the process I/O explicitly.  This means that\n\
the command window remains the controlling terminal.\n\
\n\
You can tell DDD to not use the `tty' command, but to use explicit\n\
redirection instead, using shell redirection operators.\n\
To do so, include a line\n\
\n\
@tt Ddd*useTTYCommand: false\n\
\n\
@rm in your @tt ~/.dddinit @rm file and restart DDD.

Ddd*tty_type_error: DDD: Term Failed
Ddd*tty_type_error*contextHelpString:	\
@rm DDD could not set the TERM environment variable\n\
to the type of the execution window.  This means that\n\
your program will execute with a terminal type\n\
set to @tt dumb @rm instead of @tt xterm @rm.

Ddd*history_save_error_popup.title: DDD: Save History Failed
Ddd*history_save_error*contextHelpString:	\
@rm The command history could not be saved.

Ddd*options_save_error_popup.title: DDD: Save Options Failed
Ddd*options_save_error*contextHelpString:	\
@rm The DDD options could not be saved.

Ddd*startup_warning.title: DDD: New Startup Required
Ddd*startup_warning*contextHelpString: \
@rm This setting cannot be changed while DDD is running.\n\
Please save options and restart DDD to see the effects.

Ddd*print_warning.title: DDD: Print Command Output
Ddd*print_warning*contextHelpString:	\
@rm This is the output of your printing command.\n\
For more details, consult your system documentation.

Ddd*paper_size_value_error.title: DDD: Unrecognized Paper Size
Ddd*paper_size_value_error*contextHelpString:	\
@rm DDD could not parse your paper size specification.\n\
Please verify the paper size and try again.

Ddd*paper_size_unit_error.title: DDD: Unrecognized Paper Size Unit
Ddd*paper_size_unit_error*contextHelpString:	\
@rm DDD did not recognize your paper size unit.\n\
Please verify the paper size unit and try again.

Ddd*paper_size_x_error.title: DDD: Unrecognized Paper Size
Ddd*paper_size_x_error*contextHelpString:	\
@rm DDD could not find an `x' in your paper size specification.\n\
Please verify the paper size and try again.

Ddd*dungeon_collapse_error_popup.title: DDD: Dungeon Kaputt
Ddd*dungeon_collapse_error*contextHelpString:	\
@rm The DDD display dungeon has collapsed.\n\
Please verify your display dungeon database installation.\n\
See the DDD dungeon documentation for details.
