edits

MULTI: Managing Projects and
Configuring the IDE
Green Hills Software
30 West Sola Street
Santa Barbara, California 93101
USA
Tel: 805-965-6044
Fax: 805-965-6343
www.ghs.com

DISCLAIMER
GREEN HILLS SOFTWARE MAKES NO REPRESENTATIONS OR WARRANTIES WITH RESPECT TO THE
CONTENTS HEREOF AND SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY
OR FITNESS FOR ANY PARTICULAR PURPOSE. Further, Green Hills Software reserves the right to revise this
publication and to make changes from time to time in the content hereof without obligation of Green Hills Software to
notify any person of such revision or changes.
Copyright © 1983-2014 by Green Hills Software. All rights reserved. No part of this publication may be reproduced, stored
in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or
otherwise, without prior written permission from Green Hills Software.
Green Hills, the Green Hills logo, CodeBalance, GMART, GSTART, INTEGRITY, MULTI, and Slingshot are registered
trademarks of Green Hills Software. AdaMULTI, Built with INTEGRITY, EventAnalyzer, G-Cover, GHnet, GHnetLite,
Green Hills Probe, Integrate, ISIM, u-velOSity, PathAnalyzer, Quick Start, ResourceAnalyzer, Safety Critical Products,
SuperTrace Probe, TimeMachine, TotalDeveloper, DoubleCheck, and velOSity are trademarks of Green Hills Software.
All other company, product, or service names mentioned in this book may be trademarks or service marks of their respective
owners.
PubID: edit-506382
Branch: http://toolsvc/branches/release-branch-60
Date: April 24, 2014

Contents
Preface
xiii
About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
The MULTI 6 Document Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Conventions Used in the MULTI Document Set . . . . . . . . . . . . . . . . . . . . xvi
Part I. Creating and Managing Projects
1
1. Creating a Project
3
Creating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Top Projects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Target Resources Project 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
More Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Quick Start: Building and Running Hello World . . . . . . . . . . . . . . . . . 10
Building Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Connecting To Your Target 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Running Hello World . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2. Managing and Building Projects with the Project
Manager

15
Starting the MULTI Project Manager . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Project Manager Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Managing Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Adding New Items to Your Project . . . . . . . . . . . . . . . . . . . . . . . . 19
Adding Existing Files To Your Project . . . . . . . . . . . . . . . . . . . . . 23
Automatically Including Files 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Configuring Existing Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Moving Items in the Project Hierarchy . . . . . . . . . . . . . . . . . . . . . 25
Changing the Build Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Green Hills Software
iii

Contents
Adding Customization Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Common Scenarios 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Searching in the Project Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Searching the Project Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Setting Builder Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
The Build Options Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Setting Build Macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Importing Environment Variables . . . . . . . . . . . . . . . . . . . . . . . . . 44
Inheriting Options from Parent Build Files . . . . . . . . . . . . . . . . . 45
Setting Options for Projects and Subprojects . . . . . . . . . . . . . . . . 46
Setting Options for Source Files 
. . . . . . . . . . . . . . . . . . . . . . . . . . 46
Building Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Building Platform-Specific Programs from the Same Source
Files 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3. Managing Workspaces and Shortcuts with the
Launcher

51
Starting the MULTI Launcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Launcher Display Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
MULTI Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Creating Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Changing Workspace Properties and Global Settings . . . . . . . . . 59
Saving Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Importing and Exporting Workspaces 
. . . . . . . . . . . . . . . . . . . . . . 60
Opening Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Action Sequences and Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Creating or Modifying an Action Sequence . . . . . . . . . . . . . . . . . 61
Creating or Modifying an Action . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Running Actions and Action Sequences . . . . . . . . . . . . . . . . . . . . 65
Managing Running Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
MULTI Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Creating MULTI Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Saving Shortcuts 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Importing and Exporting Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . 68
Using Variables in the MULTI Launcher . . . . . . . . . . . . . . . . . . . . . . . 68
Overview of Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
iv
MULTI: Managing Projects and Configuring the IDE

Contents
Variable Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Creating or Modifying Variables . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Referencing Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Variable Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4. Editing Files with the MULTI Editor
73
Starting the MULTI Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Starting the Editor from the Command Line . . . . . . . . . . . . . . . . 74
Starting the Editor from the Launcher . . . . . . . . . . . . . . . . . . . . . . 75
Starting the Editor from the Project Manager . . . . . . . . . . . . . . . 76
Starting the Editor from the Debugger 
. . . . . . . . . . . . . . . . . . . . . 76
Editor Window Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Navigating in Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Using References and Prototypes . . . . . . . . . . . . . . . . . . . . . . . . . 78
Using the GoTo Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Searching in the Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Incremental Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Interactive Searching Using the Search Dialog Box . . . . . . . . . . 84
Searching in Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Working with Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Indenting Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Working with Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Highlighting the Boundaries of the Current Block of Code . . . . 91
Working with Columns 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Working with Multiple Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Merging Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Comparing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
5. Integrating MULTI with a Version Control
System

101
Configuring Version Control in MULTI . . . . . . . . . . . . . . . . . . . . . . . 102
Integrating with Third-Party Version Control Systems . . . . . . . . . . . 104
Integrating with ClearCase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Integrating with CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Integrating with SourceSafe 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Integrating with Subversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Green Hills Software
v

Contents
Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6. Using MULTI's Version Control Tools and
Capabilities

111
Using Version Control with the Editor . . . . . . . . . . . . . . . . . . . . . . . . 112
Automatic Checkout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Show Last Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
Revert to a Previous Version of a File . . . . . . . . . . . . . . . . . . . . . 114
The Checkout Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Starting the Checkout Browser . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Creating or Modifying a Checkout (CVS only) 
. . . . . . . . . . . . . 115
Scanning a Checkout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
The Checkout Browser GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Features and Issues Specific to CVS . . . . . . . . . . . . . . . . . . . . . . 119
The Commit Changes Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
The History Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
The Diff Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Starting the Diff Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Using the Diff Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Navigating the Diff Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Diff Viewer Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Part II. Configuring the MULTI IDE
129
7. Configuring and Customizing MULTI
131
Setting Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Using the Options Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Using the configure Command 
. . . . . . . . . . . . . . . . . . . . . . . . . . 132
Saving Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Propagating Configuration Settings . . . . . . . . . . . . . . . . . . . . . . 136
Creating and Editing Configuration Files . . . . . . . . . . . . . . . . . . 137
Loading Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Clearing Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Creating Custom Functionality Using Scripts and Macros . . . . . . . 141
Using Script Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
vi
MULTI: Managing Projects and Configuring the IDE

Contents
Customizing the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Configuring and Customizing Toolbar Buttons . . . . . . . . . . . . . . . . . 145
Creating and Working with Icons . . . . . . . . . . . . . . . . . . . . . . . . 147
Configuring and Customizing Menus . . . . . . . . . . . . . . . . . . . . . . . . . 148
Opening and Accessing Menus . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Customizing Keys and Mouse Behavior . . . . . . . . . . . . . . . . . . . . . . . 153
Customizing Keys with the keybind Command . . . . . . . . . . . . 153
Customizing Mouse Behavior with the mouse Command . . . . 155
Key and Mouse Locations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Key and Mouse Command Special Sequences . . . . . . . . . . . . . 158
Inserting a Character Blocked By a Custom Key Binding 
. . . . 158
Configuring Taskbar Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Taskbar Organizer Menu Options . . . . . . . . . . . . . . . . . . . . . . . . 160
Configuring Window Docking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Linux/Solaris Docking Limitations . . . . . . . . . . . . . . . . . . . . . . . 162
Configuring Window Focus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Configuring the Editor for a Programming Language . . . . . . . . . . . 164
Adding Support for New Languages . . . . . . . . . . . . . . . . . . . . . . 164
The index.gsc Configuration File 
. . . . . . . . . . . . . . . . . . . . . . . . 164
The language.gsc Syntax Definition Files . . . . . . . . . . . . . . . . . 166
Configuring Editor Auto-Complete . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
First Match vs. Best Match Auto-Complete . . . . . . . . . . . . . . . . 170
Minimum String Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Auto-Completion of Function Prototypes 
. . . . . . . . . . . . . . . . . . 171
Configuring File Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Extension Mapping Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Configuring File Associations (Windows only) . . . . . . . . . . . . . . . . 172
Linking to a Different Compiler and Probe Installation . . . . . . . . . . 173
Installing a Patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
8. Configuration Options
175
General Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
The General Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Other General Configuration Options . . . . . . . . . . . . . . . . . . . . . 190
Green Hills Software
vii

Contents
Project Manager Configuration Options . . . . . . . . . . . . . . . . . . . . . . . 194
Debugger Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
The Debugger Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
Other Debugger Configuration Options . . . . . . . . . . . . . . . . . . . 209
MULTI Editor Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . 221
The MULTI Editor Options Tab . . . . . . . . . . . . . . . . . . . . . . . . . 221
Other MULTI Editor Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
Session Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Colors Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
The More Color Options Dialog Box . . . . . . . . . . . . . . . . . . . . . 238
The Color Chooser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Part III. GUI Reference
241
9. Launcher GUI Reference
243
Launcher Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
The File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
The Components Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
The Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
The Utilities Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
The Config Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
The Windows Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
The Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
The Launcher Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
10. Project Manager GUI Reference
257
Project Manager Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
The File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
The Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
The View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
The Build Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
The Connect Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
The Debug Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
The Tools Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
The Windows Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
viii
MULTI: Managing Projects and Configuring the IDE

Contents
The Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
The File Shortcut Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
The Project Tree Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
File Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
The Project Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
The Memory Layout Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
The Build Options Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
The Build Options Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Build Options Tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
The Advanced Build Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
The Utility Program Launcher Dialog Box . . . . . . . . . . . . . . . . . . . . 275
11. Editor GUI Reference
277
Editor Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
The File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
The Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
The View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
The Block Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
The Tools Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
The Version Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
The Config Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
The Windows Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
The Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
The Shortcut Menu 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
The Editor Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
The File and Procedure Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
The Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Linux/Solaris Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
The File Chooser Dialog Box (Linux/Solaris) . . . . . . . . . . . . . . 297
The Print Setup Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
The Per File Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
The Search Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
The Search in Files Results Window . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Green Hills Software
ix

Contents
12. Version Control Tools GUI Reference
307
Checkout Browser Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
The File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
The Show Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
The Config Menu 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
The Shortcut Menu 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
The Checkout Browser Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Checkout Browser Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Checkout Browser Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
The Commit Changes Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
History Browser Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
The File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
The Shortcut Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
The History Browser Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Diff Viewer Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
The File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
The View Menu 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
The Shortcut Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Part IV. Appendices
325
A. The MULTI IDE Directory Structure
327
B. Editor Commands
329
if Conditional Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Auto-Completion Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Block Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Clipboard Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Configuration Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Drag-and-Drop Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
File Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
x
MULTI: Managing Projects and Configuring the IDE

Contents
Help Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Indentation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Insert Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Mode Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Navigation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Search Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Selection Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Text Deletion Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Tools Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Undo/Redo Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Version Control Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
View Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Miscellaneous Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Deprecated Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
C. Default Key and Mouse Bindings
371
Default Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Navigating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Opening, Saving, and Closing . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Undo/Redo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Cutting, Copying, and Pasting . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Deleting Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Selecting Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Auto-Completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Indenting Text 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Miscellaneous 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Default Mouse Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
First (Left) Mouse Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Second (Middle) Mouse Button . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Third (Right) Mouse Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Green Hills Software
xi

Contents
D. Third-Party Tools
387
Third-Party Version Control Systems . . . . . . . . . . . . . . . . . . . . . . . . . 388
Third-Party Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Using the Editor with Third-Party Tools . . . . . . . . . . . . . . . . . . . . . . . 389
Index
391
xii
MULTI: Managing Projects and Configuring the IDE

Preface
Contents
About This Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiv
The MULTI 6 Document Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Conventions Used in the MULTI Document Set . . . . . . . . . . . . . . . . . . . . . . . . xvi

Preface
This preface discusses the purpose of the manual, the MULTI documentation set,
and typographical conventions used.
About This Book
The MULTI: Managing Projects and Configuring the IDE book contains four parts:
• Part I: Creating and Managing Projects contains information about creating,
modifying, and managing projects; editing project files; configuring version
control; and using version control tools to track changes to your files. See
Part I. Creating and Managing Projects on page 1.
• Part II: Configuring the MULTI IDE contains information about configuring
the Integrated Development Environment (IDE) to help you work more
efficiently. You can customize the appearance and functionality of many GUI
buttons, menus, keyboard shortcuts and mouse bindings. See Part II. Configuring
the MULTI IDE on page 129.

• Part III: GUI Reference contains reference material, including descriptions of
menus and toolbar buttons. See Part III. GUI Reference on page 241.
• Part IV: Appendices contains additional reference material, including a brief
overview of the MULTI IDE directory structure, comprehensive documentation
of Editor commands, a listing of default key and mouse bindings, and an
explanation of how to use third-party tools with the Editor. See
Part IV. Appendices on page 325.
Note
New or updated information may have become available while this book
was in production. For additional material that was not available at press
time, or for revisions that may have become necessary since this book
was printed, please check your installation directory for release notes,
README files, and other supplementary documentation.
xiv
MULTI: Managing Projects and Configuring the IDE

The MULTI 6 Document Set
The MULTI 6 Document Set
The primary documentation for using MULTI is provided in the following books:
• MULTI: Getting Started — Provides an introduction to the MULTI Integrated
Development Environment and leads you through a simple tutorial.
• MULTI: Licensing — Describes how to obtain, install, and administer MULTI
licenses.
• MULTI: Managing Projects and Configuring the IDE — Describes how to
create and manage projects and how to configure the MULTI IDE.
• MULTI: Building Applications — Describes how to use the compiler driver
and the tools that compile, assemble, and link your code. Also describes the
Green Hills implementation of supported high-level languages.
• MULTI: Configuring Connections — Describes how to configure connections
to your target.
• MULTI: Debugging — Describes how to set up your target debugging interface
for use with MULTI and how to use the MULTI Debugger and associated tools.
• MULTI: Debugging Command Reference — Explains how to use Debugger
commands and provides a comprehensive reference of Debugger commands.
• MULTI: Scripting — Describes how to create MULTI scripts. Also contains
information about the MULTI-Python integration.
For a comprehensive list of the books provided with your MULTI installation, see
the Help → Manuals menu accessible from most MULTI windows.
Most books are available in the following formats:
• A printed book (select books are not available in print).
• Online help, accessible from most MULTI windows via the Help → Manuals
menu.
• An electronic PDF, available in the manuals subdirectory of your IDE or
Compiler installation.
Green Hills Software
xv

Preface
Conventions Used in the MULTI Document Set
All Green Hills documentation assumes that you have a working knowledge of your
host operating system and its conventions, including its command line and graphical
user interface (GUI) modes.
Green Hills documentation uses a variety of notational conventions to present
information and describe procedures. These conventions are described below.
Convention
Indication
Example
bold type
Filename or pathname
C:\MyProjects
Command
setup command
Option
-G option
Window title
The Breakpoints window
Menu name or menu choice
The File menu
Field name
Working Directory:
Button name
The Browse button
italic type
Replaceable text
-o filename
A new term
A task may be called a process
or a thread
A book title
MULTI: Debugging
monospace type
Text you should enter as presented
Type help command_name
A word or words used in a
The wait [-global] command
command or example
blocks command processing,
where -global blocks
command processing for all
MULTI processes.
Source code
int a = 3;
Input/output
> print Test
Test
A function
GHS_System()
ellipsis (...)
The preceding argument or option
debugbutton [name]...
can be repeated zero or more times.
(in command line
instructions)
xvi
MULTI: Managing Projects and Configuring the IDE

Conventions Used in the MULTI Document Set
Convention
Indication
Example
greater than sign ( > )
Represents a prompt. Your actual
> print Test
prompt may be a different symbol
Test
or string. The > prompt helps to
distinguish input from output in
examples of screen displays.
pipe ( | )
One (and only one) of the
call proc expr
parameters or options separated by
(in command line
the pipe or pipes should be
instructions)
specified.
square brackets ( [ ] )
Optional argument, command,
.macro name [list]
option, and so on. You can either
(in command line
include or omit the enclosed
instructions)
elements. The square brackets
should not appear in your actual
command.
The following command description demonstrates the use of some of these
typographical conventions.
gxyz [-option]... filename
The formatting of this command indicates that:
• The command gxyz should be entered as shown.
• The option -option should either be replaced with one or more appropriate
options or be omitted.
• The word filename should be replaced with the actual filename of an
appropriate file.
The square brackets and the ellipsis should not appear in the actual command you
enter.
Green Hills Software
xvii


Part I
Creating and Managing
Projects


Chapter 1
Creating a Project
Contents
Creating a Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Project Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Quick Start: Building and Running Hello World . . . . . . . . . . . . . . . . . . . . . . . . . 10



Chapter 1. Creating a Project
The term project is used to encompass all of the files that are used to build your
application. Projects are defined in Green Hills project files (.gpj), which are similar
to makefiles. Projects are organized in a tree structure, where the root of the tree is
a Top Project (usually called default.gpj).
Before you begin development, you must create a Top Project with the Project
Wizard
. You can access all of your code and any executables you plan on building
from this Top Project.
If you are creating a Top Project for INTEGRITY, see “Building INTEGRITY
Applications” in the INTEGRITY Development Guide.
Creating a Project
To create a new Top Project, perform the following steps.
1. Start the MULTI Launcher on your host machine:
• Windows — From the Windows Start menu, select the MULTI menu
item. Alternatively, use Windows Explorer to navigate to the directory
where you installed the MULTI IDE, and double-click multi.exe.
• Linux/Solaris — Run the multi executable from your MULTI IDE
installation directory.
2. Click the
button, and select Create Project. A screen that looks similar to
the following graphic appears:
4
MULTI: Managing Projects and Configuring the IDE


Creating a Project
On this screen, you can specify:
• The name of the Top Project and the directory where the project will be
created. The directory you select should be empty or non-existent.
3. Click Next. If only one operating system is available, the wizard selects that
operating system and continues to the next step. Otherwise, it displays a screen
similar to the following:
On this screen, you can specify:
• The operating system running on your target. This book focuses on
development for stand-alone targets, those which do not have a Real-Time
Operating System (RTOS) running on them.
Green Hills Software
5



Chapter 1. Creating a Project
4. Click Next. If you have only installed one processor family for MULTI, the
wizard selects that family and continues to the next step. Otherwise, it displays
a screen similar to the following:
On this screen, you can specify:
• The processor family to which your target's processor belongs.
5. Click Next, and a screen similar to the following appears:
6
MULTI: Managing Projects and Configuring the IDE

Project Structure
On this screen, you can specify:
• Your target board. If your target board is not listed or if you are using
custom hardware, click the plus sign to the left of the Generic item at the
top of the list and select your processor. In this case, you will probably
need to create or customize the board setup script and/or customize the
default linker directives file.
6. Click Finish to complete the setup of the Top Project.
7. A dialog box will open to inform you about the newly created framework. To
disable this message in the future, select the check box Never show this
message again
. Click OK to continue.
8. Select an executable or an example to add to your project. A good example to
start with for a stand-alone project is Hello World (C).
9. Click Finish to accept the default settings. For information about default
settings and how to modify them, see “Adding New Items to Your Project”
on page 19
.
After you have completed the project setup, take some time to familiarize yourself
with your project's structure (see “Project Structure” on page 7). Then follow the
instructions provided in “Quick Start: Building and Running Hello World”
on page 10.

Project Structure
After you create a Top Project, the MULTI Project Manager opens. The Project
Manager, described in detail in “Project Manager Components” on page 17, provides
a graphical representation of the hierarchy of your project files. Project files are
text files that list program source files, subprojects, and other files that make up an
executable or a project. In the Project Manager, source files and other project file
entries can be followed by the project options used when building that file. The
following graphic shows the files generated by the Project Wizard for the example
project Hello World.
Green Hills Software
7


Chapter 1. Creating a Project
Top Projects
The Top Project is the root of your project hierarchy. Usually, Top Projects are
named default.gpj. The Top Project encompasses all of your projects and defines
your debugging environment. Among other things, it specifies:
• Your target architecture
• The operating system you are building for
• Customization files you are using, if any
• Build macro definitions
• Other projects (such as programs and libraries)
• Builder options inherited by other projects
• The target resources project (see “Target Resources Project” on page 8)
For information about the Top Project file format and advanced features, see the
documentation about the Green Hills project file format in the MULTI: Building
Applications 
book.
Target Resources Project
The target resources project (tgt\resources.gpj) is generated by the Project Wizard
when you create a new Top Project. The files included in the target resources project
contain information specific to the operating system and target board used for your
8
MULTI: Managing Projects and Configuring the IDE

More Information
project. The following is a non-exhaustive list of files that may be included in your
target resources project:
• Target Connection File (default.con) containing Target Connection Methods
that you can use to connect to your target board.
• BSP Description File (default.bsp) containing memory configuration
information used by the Integrate utility. This file is only included in
INTEGRITY projects.
• Linker Directives Files (.ld) specifying pre-configured memory layouts for
your programs.
• Target Setup Scripts (.mbs and .dbs) containing commands required to initialize
your board for running programs in RAM.
• Board-Specific Notes (.txt and .notes) containing information about your target.
If your project contains this file, read its contents before building the project.
• Custom Library Source Code (lib*.gpj) containing customizable copies of the
Green Hills startup, system, and board initialization libraries. These files are
only added if you select to customize the library code in one or more of your
programs.
All of these files are located in the tgt subdirectory of your project.
By default, all executables you create within your Top Project share one target
resources project. This allows you to make modifications in one place (for example,
altering a linker directives file), and to see the corresponding changes in all of your
executables. However, you can also copy files from the target resources project to
an individual executable using Copy selected file Local (see “The Edit Menu”
on page 259
).
Caution
After making local copies of customized library files, you might need to
modify your program's build options to make it use the local library
instead of the shared one.
More Information
For information about other file types you may encounter in the Project Manager,
see “File Types” on page 270. See also the documentation about file types in the
Green Hills Software
9



Chapter 1. Creating a Project
MULTI: Building Applications book. For more information about project files, see
the documentation about the Green Hills project file format in the MULTI: Building
Applications 
book.
Note
The Green Hills Project (.gpj) file format used by the Project Manager
differs from the format of build files (.bld) used by previous tools releases.
Quick Start: Building and Running Hello World
In “Creating a Project” on page 4, you created an example “Hello World” project.
Perform the steps provided in the following sections to build the project, connect
to a simulated target or to a hardware target, and run the program in the Debugger.
Building Hello World
To build the “Hello World” example project:
1. Select src_hello\hello.gpj in the Project Manager.
2. Click the Build button (
). You can follow the progress of the build in the
Status pane of the Project Manager.
For more information, see “Building Your Project” on page 46.
Connecting To Your Target
To connect to the Green Hills simulator for your embedded target:
1. Click the Connect button (
) to open the Connection Chooser. The Project
Wizard has created a connection called:
Target Board with Simulator for target
which is selected.
2. Click Connect to use this connection.
10
MULTI: Managing Projects and Configuring the IDE





Running Hello World
To connect to a hardware target:
1. Verify that all hardware connections are tight and secure, and that both the
board and your hardware interface (if applicable) are powered.
2. Click the Connect button (
) to open the Connection Chooser.
3. In the Connect to a Target list, select the combination of target and debug
server you want to use. In the example shown next, a Green Hills Debug
Probe (mpserv) 
connection has been selected.
4. Click Connect.
5. If the Connection Chooser needs more information, it opens the Connection
Editor. In this case, set the required options in the Connection Editor and
then click OK. For more information, see the documentation about the
Connection Editor in the MULTI: Configuring Connections book.
For more information, see Chapter 3, “Connecting to Your Target” in the MULTI:
Debugging 
book.
Running Hello World
To run the “Hello World” example program in the Debugger:
1. In the Project Manager, click the Debug button (
). (If the Debug button is
not already enabled, select a src_hello\hello.gpj to enable it.)
2. In the MULTI Debugger, click
. If you are connected to a simulator, this
completes the steps needed to run your program. If you are connected to a
hardware target, complete the remaining steps.
Green Hills Software
11



Chapter 1. Creating a Project
3. The Prepare Target dialog box opens. Leave settings at their default values.
(The project is configured to download the program to RAM.) Click OK.
4. The Initializing Target dialog box opens. This dialog box shows progress as
MULTI runs your setup script and downloads the program. The setup script
generated by the Project Wizard and included in your Top Project is run by
default. It is specified by the Connection Method (combination of target and
debug server) that you chose when following the instructions listed in
“Connecting To Your Target” on page 10. If you are using custom hardware,
a setup script may not have been created.
12
MULTI: Managing Projects and Configuring the IDE



Running Hello World
If the download and execution of the program are successful, the Debugger should
show output similar to the following:
If the download was unsuccessful, the Prepare Target dialog opens and displays
any errors that occurred during execution of the setup script or while downloading
the program:
Green Hills Software
13

Chapter 1. Creating a Project
If you are using custom hardware and you have not created or customized the setup
script and/or customized the linker directives file in use, you should expect some
errors. For information about how to configure your target properly, see “Configuring
Your Target Hardware for Debugging” in Chapter 6, “Configuring Your Target
Hardware” in the MULTI: Debugging book.
14
MULTI: Managing Projects and Configuring the IDE

Chapter 2
Managing and Building
Projects with the Project
Manager
Contents
Starting the MULTI Project Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Project Manager Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Managing Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Searching in the Project Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Setting Builder Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Building Your Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46


Chapter 2. Managing and Building Projects with the Project Manager
The MULTI Project Manager is a graphical tool that organizes your source and
other input files, and controls the tools needed to compile your software project.
The Project Manager also maintains file dependencies, and sets the options used in
building.
Starting the MULTI Project Manager
You can open the Project Manager from the MULTI Launcher, the MULTI
Debugger, the command line, or a Windows shortcut:
• From the MULTI Launcher, click the Launch Project Manager button (
)
and select either an existing project or Create Project.
• From the MULTI Launcher, select Components → Open Project Manager
to open a file chooser where you can select your program's Top Project.
• From the MULTI Debugger, select the Tools → Project Manager menu item.
• From the MULTI Debugger, enter the builder command on the Debugger
command line.
• If you want to open the Project Manager from the command line, we recommend
that you add the MULTI IDE install directory to your path for easy access.
After updating your path, enter the following command:
multi filename.gpj
where filename.gpj is your program's Top Project. If you do not specify
filename.gpj, the Launcher opens instead of the Project Manager.
• On Windows, drag and drop a Top Project file to a MULTI icon to open it.
Note
The Project Manager can only open Top Project files (usually called
default.gpj). For more information about these files, see “Top Projects”
on page 8.

16
MULTI: Managing Projects and Configuring the IDE


Project Manager Components
Project Manager Components
The following graphic displays the Project Manager window.
The primary components of the main Project Manager window are:
• Title Bar — Displays the location of the current Top Project. In the preceding
screen, the project is default.gpj, which is the default project name for projects
created by the Project Wizard.
• Menu Bar — For a complete list of all the menu items, see “Project Manager
Menus” on page 258.
• Toolbar — The buttons on the Project Manager toolbar are documented along
with their menu equivalents in “Project Manager Menus” on page 258.
• File Shortcut Bar — Allows you to quickly locate or build files and projects.
For more information, see “The File Shortcut Bar” on page 268.
• Project Tree — Displays files and other configurable items in the current
project. The Project Manager displays the name and type for each item in the
tree. You can also configure it to display the size and modified Builder options
Green Hills Software
17

Chapter 2. Managing and Building Projects with the Project Manager
for applicable items. Projects (.gpj) and some configurable items have a small
plus or minus sign to their left that allows you to expand or collapse their
contents. For more information, see “The Project Tree Pane” on page 270.
• Status Tab — Displays information about the current status of the build process.
• Info Tab — Displays information about the selected items.
• Command Tab — Displays the command that will be run to build the selected
file. This shows which driver options will be used to build the file.
• Status Bar — Displays the full path of the currently selected file. If a build is
running, the status bar shows the progress of the build.
• Target Indicator — Displays the currently selected build target architecture
and operating system.
Additionally, you can enable the Advanced Views pane to display the following
tabs:
• Project — Displays the important components in your project, by using a layout
that is similar to what you might draw on a white board. For more information,
see “The Project Tab” on page 271.
• Memory Layout — Displays an overview of the section maps used in your
project file. The information in this tab is only displayed after you have built
the selected project. To learn about this functionality, see “The Memory Layout
Tab” on page 271
.
• Integrate — Displays a lightweight version of the Integrate Utility. This tab is
only visible in INTEGRITY projects. For more information, see the Integrate
User's Guide
.
To enable the Advanced Views pane, select View → Show All Views, or click the
arrow on the right edge of the window, just below the File Shortcut Bar.
Managing Your Project
After you have created a project (see Chapter 1, “Creating a Project” on page 3),
you can begin adding your own files to the skeleton project structure generated by
the Project Wizard. The following sections provide information about how to
manage your projects.
18
MULTI: Managing Projects and Configuring the IDE



Adding New Items to Your Project
Adding New Items to Your Project
The Project Manager provides a Select Item to Add dialog box for adding new
items to your project. Items that you might want to add to your project include
libraries, projects for organizing your code, programs to create an executable, or
source files. This dialog opens after you create a Top Project with the Project
Wizard
. If you want to add an item to an existing project:
1. Select the item that you want to add a child to.
2. Click
.
The contents of this dialog box vary based on the type of item you are adding a
child to. For example, if you add a child to a stand-alone Top Project, it should look
similar to the following image:
To add a new item:
1. Select the type of item you want to add.
If you are adding items to an INTEGRITY project, see “Building INTEGRITY
Applications” in the INTEGRITY Development Guide.
2. Click Finish to accept the default settings for the item, or click Next to modify
the settings.
Green Hills Software
19


Chapter 2. Managing and Building Projects with the Project Manager
Each type of item has different settings available. The following sections
describe several common settings. Documentation for other settings is shown
in the text pane on the right side of the dialog box.
After you click Finish, the Project Manager generates any required files, and
modifies the project hierarchy to include the new item. These changes are saved
immediately.
Note
When adding a source file, you will be presented with a file chooser to
enter the name of the source file. If the file you enter does not exist, it
will be added to the project hierarchy, but the file will not be created. To
create the file, double-click the file to open it in the MULTI Editor, edit,
and save the file.
Settings for your Project
On this screen, you can specify:
• The directory where the source code for the new executable or example will
be placed.
• The name of the project file. For program projects, this is also the default name
of the output executable.
Enter the specific settings for the selected item and click Next.
20
MULTI: Managing Projects and Configuring the IDE


Adding New Items to Your Project
Settings for Stand-Alone Programs
On this screen you can specify:
• A standard program layout. The different layouts correspond to different linker
directives (.ld) files. Each layout provides an appropriate section map for your
program, and memory map of your target board. The default layout links to
and executes out of RAM.
The layout that you choose is the one that will be used during linking. The
Project Manager provides a number of linker directives files (in the target
resources project) so that you can change the layout conveniently at later stages
of development. For more information, see the documentation about linker
directives files in the MULTI: Building Applications book.
Note
Selecting Link to and Execute out of ROM or Link to ROM and
Execute out of RAM 
might require you to include the board
initialization library in your program, or include other code that
handles the target from reset and initializes the memory subsystems.
If the board initialization library is available for your embedded
target, you can find more information in the MULTI: Building
Applications 
book.
• Whether to use the standard pre-built startup code, or to customize it. The
default is to use the pre-built code. To customize startup code, click the Startup
Green Hills Software
21

Chapter 2. Managing and Building Projects with the Project Manager
box. If you choose to customize, the Project Manager adds an additional project
file to your project that contains the source code to the Green Hills startup
library.
Warning
If you customize the startup code, you may not be able to use MULTI
features that depend on it. For more information, see the
documentation about features that depend on the default Green Hills
startup code in the MULTI: Building Applications book.
• Whether to use the standard pre-built low-level system code, or to customize
it. The default is to use the pre-built code. To customize system code, click the
System box. If you choose to customize, the Project Manager adds an additional
project file to your project that contains the source code to the Green Hills
system library.
• (Selected target boards only) Whether to include a board initialization library.
The default is to omit the library. If this library is available, a check box for
Board Initialization will appear in the list. This library provides basic memory
and peripheral initialization code that allows the project to be built for ROM
or flash. The library might also provide serial port code that allows standard
I/O functions to use the serial port. If you choose to include this library, the
Project Manager adds an additional project file that contains the source code
to the Green Hills board initialization library. The source code to the Green
Hills system library is also added because files in the board initialization library
may reference that code.
The board initialization library is intended for use with hardware connections.
If you include this library, you may not be able to run your program on a
simulator.
• Other settings might appear on this screen in addition to those above. See the
in-dialog documentation for more information about these settings.
The Project Manager adds files for customized libraries and startup code to the
target resources project in your Top Project. By default, all programs under one
Top Project share the same customized source code. For more information, see
“Target Resources Project” on page 8 and “Changing the Build Target” on page 26.
22
MULTI: Managing Projects and Configuring the IDE

Adding Existing Files To Your Project
Click Finish to complete adding new items to your project framework. If you decide
that you want to change one of these settings later, you can change most of them
using the Configure menu item (see “Configuring Existing Items” on page 24).
Adding Existing Files To Your Project
To add existing source and project files to a project:
1. Select the location within the hierarchy where you want to add the file.
2. Click Edit → Add File into proj.gpj, or right-click the project file and select
Add File into proj.gpj.
Depending on what you have selected, either Add File into Project or Add
File after Project 
is displayed.
3. In the file chooser, browse to the file and click Add.
Tip
On Windows, you can quickly add existing files to your project hierarchy
by dragging the files from Windows Explorer into the Project Manager's
Project Tree.
Automatically Including Files
The Project Manager supports an Auto Include file type that allows you to include
a variable number of files matching specified name patterns. When the Project
Manager loads an Auto Include file, it searches the current directory for files
matching any of the file patterns specified by the :autoInclude option. The files
become the children of the Auto Include file for the current build. Subdirectories
are not searched; thus, file patterns that include a relative or absolute path to a set
of files in another directory are ignored.
You can create a project file that allows you to automatically pull in files from a
particular directory rather than listing specific items to include. To create such a
project:
1. Select Edit → Advanced → Create Auto-Include Subproject.
Green Hills Software
23

Chapter 2. Managing and Building Projects with the Project Manager
2. In the Name of new Auto Include box, enter a location to create a new project
file.
3. In the File patterns to include box, type a name pattern that matches the files
you want to include. The name pattern must not contain any spaces. For
example:
• To match all .c files, type *.c.
• To match all files with the name plugin_n.gpj, type plugin_?.gpj.
• To match both of the above patterns, type *.c,plugin_?.gpj, without
any spaces.
Configuring Existing Items
Many of the settings in the Project Wizard can be modified after you have created
your project. To modify these settings:
1. Select the item you want to reconfigure.
2. From the toolbar select Edit → Configure or right-click your project file and
select Configure.
The Project Wizard opens with a dialog box that indicates your project's
current settings. For more information about the Project Wizard settings
dialog boxes, see “Adding New Items to Your Project” on page 19.
Editing Project Files
You can edit any of the files contained within a project in the MULTI Editor by
selecting it and pressing Ctrl+E, or right-clicking it and selecting Edit from the
context-sensitive menu. You can also open source files and text files in the Editor
by double-clicking their name.
You can access graphical interfaces to assist you in editing certain file types, by
right-clicking them and selecting Graphically Edit:
• Double-click a Target Connections file (.con) to open the Connection
Organizer, which allows you to edit or add a way of connecting to your target.
For more information, see Chapter 3, “Connecting to Your Target” in the
MULTI: Debugging book.
24
MULTI: Managing Projects and Configuring the IDE




Moving Items in the Project Hierarchy
• Windows — Files with registered file extensions can be opened with their open
action.
• Linux/Solaris — Several standard third-party file types have been added
including .pdf. You must have Adobe Acrobat Reader installed, and the
acroread executable must be in your path to view .pdf files from the Project
Manager.
Moving Items in the Project Hierarchy
The files at each level of your project's hierarchy are displayed in the order that you
added them to the Project Manager. This is also the order in which the files are
built. You can rearrange the order in which the files are displayed to change the
compilation order or to help visualize your hierarchy.
To reorder files inside a single project file:
1. Select the file you want to move.
2. Press Ctrl+UpArrow to move the file up the hierarchy. Press
Ctrl+DownArrow to move the file down the hierarchy.
To move files within a single project file or from one project to another, you can
cut and paste files using either of the following methods:
• Ctrl+and Ctrl+V, or
• the Cut (
) and Paste (
) buttons. The paste button is equivalent to the Paste
file as Link menu items.
To paste files, select the file immediately above where you want the files to be
added and click the Paste (
) button.
Note
You can select multiple files to cut as long as they are all contained within
the same project.
You can also copy and paste items as links or local items. Copy file as Link allows
you to copy the selected items to the clipboard. Paste file as Link takes the clipboard
items and creates a reference to them in the selected context. This does not create
Green Hills Software
25


Chapter 2. Managing and Building Projects with the Project Manager
another copy of the items, so any changes made to the item will be reflected in all
contexts that are linked.
Copy file Local copies the selected items to the clipboard. Paste file Local takes
the clipboard items and makes a recursive copy of each item within the selected
context. You will have your own distinct copy of the item, so subsequent changes
made in the old copy will not be reflected in your new copy.
Changing the Build Target
When you create a Top Project (see “Creating a Project” on page 4), you must
specify a target to build for. The target resources project (tgt\resources.gpj)
subsequently generated by the Project Wizard contains information specific to
your project's operating system and target board.
To change your build target after you have already created a project:
1. Select Edit → Set Build Target to open the Target Selector window.
2. Choose a processor family from the Target list.
26
MULTI: Managing Projects and Configuring the IDE

Adding Customization Files
3. Choose a board from the Board Name list. Some boards are not supported for
all operating systems. If your board is not listed, expand the Generic-target
item, and select your processor from the list.
After you change the target for your Top Project, a new target resources project is
generated with information specific to your new target. The original target resources
project and all files in the tgt directory are moved to tgt.old.
Adding Customization Files
If you want to define custom file types or control custom tools, you need to create
a customization file (.bod). To add a customization file to your project:
1. Select Edit → Set Build Target.
2. In the Target Selector window that appears, click Customizations.
3. In the Build Customizations dialog box, click Add.
4. In the file chooser, select a custom .bod file to add.
For more information, see the documentation about customization files in the
MULTI: Building Applications book.
Common Scenarios
The following sections provide you with additional information about various tasks
you can accomplish using the Project Manager.
Adding Header Files
You can add header files to your project hierarchy to quickly access them for editing.
However, adding a header file to the hierarchy does not affect how the compiler
locates the header file when it is compiling your source files.
To add a header file in your project hierarchy, add the file in the same manner as
adding a source file (see “Adding Existing Files To Your Project” on page 23).
Green Hills Software
27


Chapter 2. Managing and Building Projects with the Project Manager
Linking with a Library that is Built with Your Project
You can add a library and its source files so that the library gets rebuilt as needed
every time you build your project. If the library is the child of a program or
subproject, the library inherits settings from the parent program or subproject.
However, the library's source files are built into the library, not into the parent
program.
To create such a library:
1. Select the location within the hierarchy where you want to add the library.
2. Click Add Item into selected (
).
3. Select Library from the list of available items and click Next.
If Library is not in the list of available item types, libraries are not supported
in the location that you have selected.
4. Set the name and location of the library project file.
It is recommended that you put your library's project file in the same directory
as its source files, and that the name of the project file is the same as the
library's name (but with a .gpj extension).
5. Click Finish.
6. Add source files (see“Adding New Items to Your Project” on page 19).
Warning
When including the same Library project in multiple programs, be sure
that they do not inherit different options. For example, if one program is
built with optimizations, and the other is not, your library will contain
inconsistently built objects depending on which program was being built.
One way to avoid this is to only set options in your Top Project and
explicitly override any inherited options in the Library project.
28
MULTI: Managing Projects and Configuring the IDE

Common Scenarios
Linking with a Pre-Built Library
To link a pre-built library into a program, add the library file to the program project
file.
1. Select the project file of the appropriate program.
2. Select the appropriate Add File action.
3. In the file chooser, browse to the library file and click Add.
Note
Use this method when the source code for the pre-built library is
unavailable. If you do have the source code for the library, use a Library
project instead, because MULTI will rebuild the source files as necessary.
Warning
Never manually add Green-Hills-provided target libraries to your project.
The compiler will link in the correct target libraries for your configuration
when the appropriate Builder options are set.
For more information about how the Project Manager locates pre-built libraries,
see the documentation about implicit dependency analysis in the MULTI: Building
Applications 
book.
Configuring Projects That Are Compatible Across Multiple Hosts
If you plan to open your project on hosts that run different operating systems, always
use forward slashes (/) when specifying paths or filenames. If you always use
forward slashes, MULTI tools interpret paths correctly on all supported operating
systems. If you configure MULTI to use any third-party tools or send commands
to your operating system, follow the path conventions for those tools when specifying
the commands or options that use them.
Note
The Project Wizard creates projects that use your host operating system's
path delimiter. If you created your project in Windows using the Project
Wizard 
and want it to be compatible across multiple hosts, you may need
to open your project files and replace backslashes in paths with forward
slashes.
Green Hills Software
29


Chapter 2. Managing and Building Projects with the Project Manager
Searching in the Project Manager
If your project has many files, it may be difficult to locate a particular file within
the hierarchy or a particular text string within a file. The following sections provide
information about searching in the Project Manager.
Searching the Project Hierarchy
To search for a file within the project hierarchy:
• Use the File Shortcut Bar by selecting either Find: or Next:, enter the name
of an input (for example, hello.c) or output (for example, hello.o) file in your
project and press Enter.
For more information, see “The File Shortcut Bar” on page 268.
• You can also search the visually expanded portion of the project tree for options
and files. Press Ctrl+and type a search string to search forwards, or Ctrl+B
and type a search string to search backwards. The Project Manager searches
incrementally as you type. Press Ctrl+or Ctrl+to look at the next or
previous instance of a string. To exit the search mode, press Esc.
Searching Files
The Project Manager supports searching for a text string in all of the searchable
files in a project. To begin a full-text search of a subset of your project:
1. Select the portion of your project that you want to search. To search an
individual source file, select only that file. To search all the files referenced
by a project file (.gpj), select the project file.
2. Select Search: in the File Shortcut Bar.
3. Enter the search string in the text box, and press Enter.
To begin a full-text search of all source files:
1. Select Search All: in the File Shortcut Bar.
30
MULTI: Managing Projects and Configuring the IDE


Searching the Project Hierarchy
2. Enter the search string in the text box, and press Enter.
You can also perform these searches via the Search in Selected Files dialog box,
which provides additional searching options:
1. Select View → Search in ....
2. Enter the search string in the text box (or use the drop-down list to select recent
search strings).
3. Select any of the following searching options:
• Case sensitive — The search only finds text that matches the case of the
search string exactly. If this box is not selected, the search ignores case
when searching for a match. This box is selected by default.
• Whole word — The search only finds text that contains the search terms
as words. This means that the matching string must be preceded by a
non-word character and followed by a non-word character, where word
characters are letters, digits, and the underscore. For example, if you select
this check box, a search for ice does not match slice or ice__, but it
does match ice-9. This box is cleared by default.
• Use Regular Expressions — The search treats the text you enter in the
text field as a regular expression. If this box is cleared, the search treats
the text you enter as a fixed string. This box is selected by default.
4. After you have entered the search string and set your searching options, click
Search to perform the search. A Search in Files Results window opens when
the search is complete. For a description of this window, see “Viewing Search
in Files Results” on page 88.

Green Hills Software
31

Chapter 2. Managing and Building Projects with the Project Manager
Note
The Search in Files feature uses the BSD grep utility. A copy of BSD
grep is installed along with the MULTI IDE. However, BSD grep is not
part of MULTI and is not distributed under the same license as MULTI.
For more information about the license under which BSD grep is
distributed, refer to the file bsdgrep.txt, which is located in the copyright
subdirectory of the IDE installation. For information about the search
expression format that BSD grep uses, refer to the OpenBSD re_format(7)
man page.
Setting Builder Options
The Project Manager provides access to Builder options that allow you to control
toolchain features such as:
• Extensions or restrictions to C or C++
• The location of your libraries and header files
• The level of debugging information to be generated
• How your project will be optimized
• Run-time error checking
• Program data allocation (and whether any Special Data Area, if available, is
utilized)
• Generation of Position Independent Code (PIC) or Data (PID) if available for
your target
Each of the Builder options corresponds directly to one or more of the command
line compiler driver options. There are four different types of Builder options:
• Switches — Two or more settings from which you choose only one (for
example, Optimization Strategy and Debugging Level).
• Combination Switches — Multiple settings from which you choose all, none,
or any combination (for example, Run-Time Error Checking and MISRA
C
).
• Strings — Accepts a single string value (for example, Output File Name and
Start Address Symbol).
32
MULTI: Managing Projects and Configuring the IDE

The Build Options Window
• Lists — Accepts multiple string values (for example, Include Directories and
Library Directories).
• Builder options are set through the Build Options window. For more
information, see:
○ “The Build Options Window” on page 33 for an overview of the Build
Options window.
○ The MULTI: Building Applications book for your target processor family
for a complete list of options and for information about the features of
your target that you can access or control with options.
The Build Options Window
To open the Build Options window, do one of the following:
• Right-click the file that you want to set the options in, and select Set Build
Options.
• Select the file that you want to set the options in, and choose Edit → Set Build
Options.
The Build Options window has three tabs (documented in the following sections),
which provide different ways of viewing Builder options. The Build Options
window opens on the last tab you viewed. A fourth tab, Deactivated, only appears
if your project contains any build options that are marked as disabled for your
architecture. Note that the Deactivated tab does not appear if the disabled option
is marked with the {optional} conditional control statement (see the
documentation about conditional control statements in the MULTI: Building
Applications 
book).
To set or edit an option on any of the tabs, double-click it and select a setting, or
enter a value in the dialog.
Green Hills Software
33

Chapter 2. Managing and Building Projects with the Project Manager
The present value or setting of the option is displayed in the Value column. Options
can be set at different levels of the build hierarchy. An option set in a .gpj file is
inherited by all the files contained in that .gpj file (see “Inheriting Options from
Parent Build Files” on page 45). 
Each value appears in one of three colors:
• Values printed in gray and that appear in parentheses are default values that
have not been explicitly set anywhere in the project. These values are listed as
Not Set when you right-click or double-click the option. Note that not all
options have default values, and that some defaults can change depending upon
other option settings.
If you open the Build Options window for a file that does not produce build
output, such as your Top Project, the Value column does not display default
values.
• Values printed in black are inherited from a parent file. These values are listed
as Inherited when you right-click or double-click the option. You can override
inherited values by setting the option to a new value in the present file.
• Values printed in blue are set in the present file.
For information about the toolbar buttons and lower tabs of the Build Options
window, see “The Build Options Toolbar” on page 272 and “Build Options Tabs”
on page 273
.
Note
When an option is modified by a conditional control statement, you cannot
use the Build Options window to modify that specific option, but you
can usually use the Build Options window to add additional items to a
list option or override the option in a subproject.
34
MULTI: Managing Projects and Configuring the IDE


The Build Options Window
The Basic Options Tab
This tab lists only the common options that most users will need to control.
Categories can be expanded or contracted by clicking the plus or minus sign to their
left. Double-click an option to edit it.
Green Hills Software
35


Chapter 2. Managing and Building Projects with the Project Manager
The All Options Tab
This tab lists all of the Builder Options, which are categorized by type or associated
tool. The pane on the left displays the category structure. Click a category to display
the options it contains in the pane on the right.
36
MULTI: Managing Projects and Configuring the IDE


The Build Options Window
The Modified Options Tab
This tab displays those options that have been set in, or are inherited by, this file,
together with their current settings. If you right-click the option that you want to
modify and select Goto Option Text, the MULTI Editor opens on the line in the
project file where that option is set. For options that are set in multiple locations in
the project tree, the opened file is the closest parent project where the option is set.
Green Hills Software
37


Chapter 2. Managing and Building Projects with the Project Manager
Setting a Switch Option
When you double-click a switch option, a dialog box like this appears.
If the option has already been set at this or a higher level of the project hierarchy,
its present setting is displayed in the Value field. The file where the option was set
is displayed in the Set In field.
To set (or override a previous setting for) the option:
1. Select a value from the drop-down list. The Set In field changes to display the
current file's name.
2. Click OK to save the new setting and return to the Build Options window.
38
MULTI: Managing Projects and Configuring the IDE







The Build Options Window
Setting a Combination Switch Option
When you double-click a combination switch option, a dialog box like this appears,
where all of the available sub-options are displayed:
If a sub-option has already been set at this or a higher level of the project hierarchy,
its present setting is displayed in the Value column. The file where the sub-option
was set is displayed in the Set In column. Sub-options set higher in the project
hierarchy are printed in black and have a green arrow pointing up and to the left in
the Value column. Those set in the present file are printed in blue, and those that
have not been set are printed in gray.
To set (or override previous settings for) sub-options:
1. Click the option(s) that you would like to change. The symbols in the Value
column toggle between:

— not set

— enabled

— disabled

(if applicable) — enabled higher in the project hierarchy

(if applicable) — disabled higher in the project hierarchy
Green Hills Software
39




Chapter 2. Managing and Building Projects with the Project Manager
You can enable or disable all of the sub-options with the All toggle (
)
option.
2. Click OK to save the new setting(s) and return to the Build Options window.
Setting a String Option
When you double-click a string option, a dialog box appears:
If the option has already been set at this or a higher level of the project hierarchy,
its present setting is displayed in the Value field. The file where the value was set
is displayed in the Set In field, and the Override Inherited check box is displayed.
To set the option:
1. Enter an appropriate string in the Value field (if the option has already been
set, you must select the Override Inherited check box before you can access
the Value field). If the option requires a directory or filename as a value, a
folder icon (
) is displayed, which you can use to navigate to the appropriate
file or directory.
2. The Set In field changes to display the current file's name. Click OK to save
the new setting and return to the Build Options window.
40
MULTI: Managing Projects and Configuring the IDE







The Build Options Window
Setting a List Option
When you double-click a list option, a dialog box appears:
If the option has already had values assigned to it at this or a higher level of the
project hierarchy, its present settings are displayed in the Value field. The file where
each value was set is displayed in the Set In field.
To delete a value from the list:
• Click the value you want to delete, and click the delete button (
).
To add a value to the list:
1. Click the Add button (
) and enter an appropriate string in the text field. If
the option requires a directory or filename as a value, a folder button (
) is
displayed, which you can use to navigate to the appropriate file or directory.
2. The new value is appended to the bottom of the list and the current file's name
appears in its Set In field. Click OK to save the new setting and return to the
Build Options window.
To reorder the list:
1. Click the value you want to move to select it.
2. Click the Move Up button (
) to move the value up the list, or the Move
Down button (
) to move the value down the list.
Green Hills Software
41



Chapter 2. Managing and Building Projects with the Project Manager
3. Click OK to save the new order and return to the Build Options window.
Searching For Options
If you are unable to find the option you want to set, click the search button (
) to
open the Search Build Options dialog box:
Enter an option name or part of a name in the Option to search for text field, and
click the Search button. By default, the Project Manager searches all three of:
• Build Option Names
• Compiler Driver Option Names
• Settings
Search results appear in the right-hand Results pane. Double-click a result to go to
its entry in the category tree and close the search dialog.
Setting Build Macros
You can define macros to stand in for commonly used strings in option settings.
Select Edit → Set Build Macros from the main Project Manager window to set a
macro in the selected project file. The Set Build Macros dialog box opens.
42
MULTI: Managing Projects and Configuring the IDE


Setting Build Macros
To define a macro, enter macro_name=value in the text field.
The Comment column displays any comment specified on the same line as the
macro definition in the project file. To include a comment with a macro definition,
add # Your Comment to the end of the text field.
The Set In column indicates the project file in which the macro is set.
After you define the macro, it can be used as the value of a builder option, or part
of the value of a builder option. Simply use ${macro_name} anywhere in a builder
option where you want the Project Manager to substitute the value of macro_name.
Note
The predefined macro GHS_TOOLS_DIR specifies the location of your
Compiler installation.
Example 2.1. Defining and Using a Macro
This example explains how to define a macro for the root of the project on Windows
hosts. The root directory of the project in this example is C:\src. To define a macro
called top to represent the root directory:
1. Open the Set Build Macros dialog box.
2. Enter: top=C:\src and click OK.
Green Hills Software
43

Chapter 2. Managing and Building Projects with the Project Manager
The include files for the project are located in C:\src\include. To specify this include
directory to the Project Manager using the top macro:
1. Click Edit → Set Build Options to open the Build Options Window.
2. Navigate to the Project→Include Directories option and open it.
3. Enter $top\include and click OK.
Note
You can also define a macro to be the name and value of a driver option.
To use a macro defined in this way, you must edit the project (.gpj) file
in a text editor and add $macro_name at the location where you would
normally specify the option.
Importing Environment Variables
You can import variables from your environment to stand in for strings used in your
option settings.
To import a variable:
1. Click Edit → Advanced → Set Imported Environment Variables to open
the Import Environment Variables dialog box.
2. Enter the name of the environment variable you want to import. The current
value from the environment is displayed in the Value column of the dialog
box.
3. Click OK to import the variable.
Note
You can only import an environment variable if it is defined in your
environment. If you previously imported an environment variable in a
project and you open that project when the variable is not defined, the
Project Manager issues a warning.
After you define the environment variable, use $variable_name anywhere in a
builder option where you want the Project Manager to substitute the value of
variable_name.
44
MULTI: Managing Projects and Configuring the IDE

Inheriting Options from Parent Build Files
If the environment variable stores the name and value of a driver option, you can
edit the project (.gpj) file in a text editor and add $variable_name at the location
where you would normally specify the option.
The Project Manager tracks changes to the environment variables you import so
that anything in your project that uses an environment variable is rebuilt whenever
you modify that variable's value.
Example 2.2. How to Set Imported Environment Variables
To include header files in the headers subdirectory of a third-party SDK installed
in a directory specified by the environment variable SDK_DIR:
1. Open the Set Imported Environment Variables dialog box.
2. Enter SDK_DIR and click OK.
3. Click Edit → Set Build Options to open the Build Options window.
4. Navigate to the Project → Include Directories option and open it.
5. Enter $SDK_DIR\headers and click OK.
Note
Imports are only valid if they are set in the Top Project. If you use the
GUI for importing environment variables, the imports are always saved
in the Top Project. This behavior is different from the Set Build Options
dialog box where the options are set on whichever file is selected.
Inheriting Options from Parent Build Files
A file inherits its options from its parent project (.gpj) file and all parents of that
project. You can override these inherited options by setting options in the file itself.
When the Builder compiles your project, the Top Project options are applied first,
with each subsequent child project adding its options to the existing ones, overriding
or appending where specified, until finally the individual file options are added for
each file.
Green Hills Software
45

Chapter 2. Managing and Building Projects with the Project Manager
Setting Options for Projects and Subprojects
Because you can reuse project files for programs, subprojects, and libraries in
multiple projects, it is important to specify whether the options for a project file are
specific to the current project, or whether the options are specific to the project file
itself regardless of the project to which it belongs.
• If the options apply everywhere that the child project is used, select that project
(child.gpj), and set the options. These options are written to the child project
file, and therefore are set for that project file regardless of what parent it
currently belongs to.
• If the options apply only when the child project is the child of a particular
parent project (master.gpj), select the child project (child.gpj) choose Edit
→ Advanced → Set Options in Parent, and set the options. These options
are written to master.gpj and apply only to child.gpj. If you reuse the child's
project file in a different project, the options are not carried over into the new
project.
Setting Options for Source Files
You can set options for an individual file or for a list of files.
• To set an option for an individual file, select the file and set the options.
• To set an option for a group of files, select the project file that contains the
files in the Project Manager's hierarchy of your project, and set the options.
The options are set in the project file. All files below the project file, including
its source files, will inherit these options.
Building Your Project
MULTI uses one of two different modes for building your projects: parallel or
single-thread. To choose a build mode, select Tools → Options. In the Options
window that opens, select the Project Manager tab, and locate the Build Options
section. Select one of the following radio buttons:
• Parallel Build — Splits the work of building your program among several
processes on your local machine, which speeds up the build as a whole by
interleaving independent compilations. This is the default build mode.
46
MULTI: Managing Projects and Configuring the IDE



Building Your Project
• Single-Thread Build — Builds your program using a single process on your
local machine. If you have a slow machine that does not perform well in parallel
build mode, use single-thread mode.
You can instruct the Project Manager to build your entire project; a specific
subproject, executable, or library; or an individual source file:
• To build your entire project, select the Top Project (usually named default.gpj)
in the Project Tree and click the Build button (
).
• To build a specific subproject, executable, or library, select the appropriate
project file and click the Build button or right-click and select Build selected
file
.
• To build an individual source file, right-click the file and select Compile
selected file.
• To build multiple files, select the files you want to build, then right-click and
select Build Selected Files.
In each case, the Project Manager invokes all of the tools necessary to build your
project. You can follow the progress of the build in the Status Tab at the bottom
of the Project Manager window. If the build is successful, its completion is reported
here. If errors occur, a Build Details window opens:
You can modify or obtain extra information about the next build process by selecting
Build → Advanced Build to open the Advanced Build dialog box (for full
documentation, see “The Advanced Build Dialog Box” on page 274):
• To remove any previous output files before beginning the build, select the
Clean all output before building (-cleanfirst) check box, and click the Build
button.
Green Hills Software
47


Chapter 2. Managing and Building Projects with the Project Manager
• To see a dry-run of the build, without actually executing any commands or
modifying any files, select the Show build without execution (-info) check
box and click the Build button.
• To see the commands that the Builder executes as it builds, select the Show
tool commands (-commands) check box and click the Build button.
Building Platform-Specific Programs from the Same Source Files
When a program works on multiple hardware platforms, the source files are often
identical except for one or more assembly language routines that vary from processor
to processor. In cases like this, you can create Select One projects that contain the
processor-specific files so you can build the same program for multiple target
processors.
Consider the following example:
During the build, the Select One project traps.gpj uses only one processor-specific
file, traps.ppc or traps.mip, depending on the specified target processor.
If you have multiple files that are specific to a single processor, create multiple
Select One projects. Suppose the program in this example also uses bdriver.ppc
and bdriver.mip. In this case, you would create another Select One project,
bdriver.gpj.
By default, the Project Manager chooses the file in the Select One project with an
extension appropriate to your target architecture. If it cannot find a target-specific
file, it uses the file with the .c extension.
Creating Your Project For Multiple Platforms
1. Create the project for your program.
2. Add all of the source files except the processor-specific assembly files to the
project.
48
MULTI: Managing Projects and Configuring the IDE

Building Platform-Specific Programs from the Same Source Files
3. Add a Select One subproject (for example, traps.gpj) to the project. For more
information, see “Adding New Items to Your Project” on page 19.
4. In the Project Tree, add the processor-specific assembly files to the Select
One project.
5. If necessary, set the 'Select One' Project Extension List option in your Top
Project.
Green Hills Software
49


Chapter 3
Managing Workspaces and
Shortcuts with the Launcher
Contents
Starting the MULTI Launcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Launcher Display Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
MULTI Workspaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Action Sequences and Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
MULTI Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Using Variables in the MULTI Launcher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68


Chapter 3. Managing Workspaces and Shortcuts with the Launcher
The MULTI Launcher allows you to create and use workspaces and shortcuts. A
workspace is a virtual area where the tools, files, and actions required for a particular
project can be organized, accessed, and executed. A workspace is typically created
for each top-level project and includes a working directory and one or more related
action sequences. The working directory for the workspace is the directory from
which the action sequences will be started, and it is typically the directory containing
the executable program associated with the project. An action sequence consists of
one or more actions that are performed in the listed order. Action sequences may
include:
• Building a program and then debugging it.
• Launching the Checkout Browser and opening several frequently used files
for editing.
• Connecting the Debugger to a hardware target and opening a serial terminal
connection.
• Running a script or batch file or executing a Debugger command.
• Invoking an external tool.
shortcut is an action sequence that is not associated with a particular workspace.
Shortcuts can be run from within any workspace. They execute in the working
directory of the currently selected workspace.
52
MULTI: Managing Projects and Configuring the IDE

Starting the MULTI Launcher
The example above displays a workspace called STP Dev Area with a working
directory of C:\Users\bob\Documents\My Projects\STP and action sequences
named StartupView Bug List, and Run Client/Server Test. The Startup action
sequence contains the following actions:
• Open the MULTI Project Manager on the default.gpj project.
• Open the Checkout Browser on the src directory.
The Run Client/Server Test action sequence contains the following actions:
• Build the programs stp_server and stp_client contained in the default.gpj
project.
• Open the MULTI Debugger on stp_server with arguments set to -port 40020.
Starting the MULTI Launcher
To start the Launcher:
• Windows — From the Windows Start menu, select the MULTI menu item.
Alternatively, use Windows Explorer to navigate to the directory where you
installed the MULTI IDE, and double-click multi.exe.
• Linux/Solaris — Run the multi executable from your MULTI IDE installation
directory.
Green Hills Software
53





Chapter 3. Managing Workspaces and Shortcuts with the Launcher
Launcher Display Modes
The Launcher has two display modes. You can switch between the two modes by
clicking the
or
button.
Concise mode (shown next) uses little screen space. This mode is useful if you do
not need to access or modify individual actions.
Detailed mode (shown next) shows more information and allows you to modify
workspace action sequences.
The detail pane displays either brief help information about the Launcher or
information for the current workspace. When displaying help information, the detail
pane contains the following elements:
• Help information pane — Displays information about the Launcher.
• Don't show this message again — Select this check box to hide help
information when the Launcher next starts up.
54
MULTI: Managing Projects and Configuring the IDE

Launcher Display Modes
• Start with MULTI Launcher — Select this check box to start the Launcher
when the multi command is run with no arguments. See the corresponding
menu entry in “The Config Menu” on page 249.
When you create a new workspace or select a workspace in detailed mode, the detail
pane contains the following elements:
• Name — Shows the workspace name.
• Working Dir — Shows the workspace working directory.
• Properties — Opens the Set Workspace Properties dialog box. The Current
tab allows you to change the current workspace's basic information, and the
Global tab allows you to change certain global settings. Both tabs also list
variables and allow you to create, edit, and delete variables. The Others tab
lists pre-defined MULTI Launcher variables. For more information about
variables, see “Using Variables in the MULTI Launcher” on page 68.
• Action tree — Lists the action sequences and actions in the current workspace.
For a list of menu items and keyboard commands that you can use to manipulate
the action tree, see “The Edit Menu” on page 246.
The display mode is maintained across Launcher sessions.
For information about the menu items and toolbar buttons available in the Launcher,
see Chapter 9, “Launcher GUI Reference” on page 243.
Green Hills Software
55


Chapter 3. Managing Workspaces and Shortcuts with the Launcher
MULTI Workspaces
This section contains detailed information about creating, modifying, saving, loading,
and opening MULTI workspaces.
Creating Workspaces
To create a workspace:
1. From the Launcher, select File → Create Workspace. The Select Workspace
Type window appears.
2. Specify a name for your workspace and choose one of the following options:
• New Project — Select this option to create a workspace for a new project.
The Project Wizard opens to allow you to create the project. For more
information, see Chapter 1, “Creating a Project” on page 3.
56
MULTI: Managing Projects and Configuring the IDE


Creating Workspaces
• Existing Project — Select this option if you already have a top-level
project and you want to create a workspace to provide you with easier
access to that project. In the file chooser that appears, specify the location
of your existing top-level project.
• Blank — Select this option to create an empty workspace (one that does
not contain any action sequences). You can customize the workspace later.
Enter the path to the desired working directory in the Working Dir field
or click
to navigate to the desired working directory. For information
about using variables to specify the working directory, see “Using
Variables in the MULTI Launcher” on page 68.

• Installed INTEGRITY BSPs — Select this option to create one or more
workspaces, each for an installed INTEGRITY BSP. Each workspace's
working directory is set to the directory of the corresponding INTEGRITY
BSP. For information about the dialog box that appears when you choose
this option, see “Creating an INTEGRITY BSP Workspace” on page 58.
When you create a workspace for a new project or an existing project, an action
sequence called Startup is created automatically. The Startup action sequence
launches the Project Manager on your project. “Creating or Modifying an Action
Sequence” on page 61 
explains how to customize action sequences and how to add
other action sequences to your workspace.
Green Hills Software
57



Chapter 3. Managing Workspaces and Shortcuts with the Launcher
Creating an INTEGRITY BSP Workspace
When you choose to create a workspace of type Installed INTEGRITY BSPs (see
“Creating Workspaces” on page 56), the Create Workspaces for INTEGRITY
BSPs 
dialog box appears.
The fields and options available in this dialog box allow you to customize your BSP
workspace. Each field, option, and button is described in detail below.
• INTEGRITY Distribution — Specifies the INTEGRITY distribution directory
to scan for BSPs. If the default directory is incorrect or if you want to choose
among multiple INTEGRITY installations, click the
button located to the
right of the field.
58
MULTI: Managing Projects and Configuring the IDE


Changing Workspace Properties and Global Settings
• Select BSPs to create workspaces — Lists the BSPs available in the
INTEGRITY Distribution directory. Select one or more BSPs to create your
workspace(s).
• Only create basic action sequences — Populates your workspace(s) with
basic action sequences. If unselected, this option populates your workspace(s)
with basic and advanced action sequences. This option is only applicable for
simulator BSPs.
• Customize Debug Settings (single BSP only) — Creates connection actions
for the specified GHS Probe and Target. These actions are used as part of the
action sequence that downloads the kernel via the Probe and then launches a
run-time debug connection on the specified target. This option is only applicable
if you select a single hardware BSP, and you complete the GHS Probe and
Target fields.
• GHS Probe — Specifies the name or IP address of your Green Hills Debug
Probe. This field is used to create connection actions and is only available when
Customize Debug Settings (single BSP only) is selected.
• Target — Specifies the name or IP address of your target. This field is used
to create a connection action and is only available when Customize Debug
Settings (single BSP only) 
is selected.
• Progress Bar — Indicates the percentage of the BSP scan completed. Press Esc
to abort the scan.
• Scan — Scans the specified directory for BSPs. The directory is specified in
the INTEGRITY Distribution text field located at the top of the dialog box.
• OK — Creates the workspace(s).
• Cancel — Closes the dialog box and cancels workspace creation.
Changing Workspace Properties and Global Settings
After you have created a workspace, you can edit the Working Dir path and other
basic workspace information by clicking the Properties button in the Launcher. If
this button is not visible, click
to reveal the detail pane.
In the Set Workspace Properties dialog box, the Current tab allows you to change
the current workspace's basic information and the Global tab allows you to change
certain global settings. The Others tab lists pre-defined MULTI Launcher variables.
Green Hills Software
59


Chapter 3. Managing Workspaces and Shortcuts with the Launcher
For information about using variables in this dialog box, see “Using Variables in
the MULTI Launcher” on page 68
.
Saving Workspaces
To save your workspace to the default location, select File → Save Changes from
the Launcher. The Launcher saves definitions of workspaces into the configuration
file for the current workspace and into index.gmb, which is located at:
• Windows 7/Vista — user_dir\AppData\Roaming\GHS\launcher
• Windows XP — user_dir\Application Data\GHS\launcher
• Linux/Solaris — user_dir/.ghs/launcher
To find the full path to index.gmb, make a change to your current workspace and
select File → Save Changes from the Launcher. The dialog box that opens displays
the full path.
To save your workspace to a different file, see “Importing and Exporting
Workspaces” on page 60.

Importing and Exporting Workspaces
If you want to export a workspace, select File → Save Current Workspace into
File 
from the Launcher. In the file chooser that opens, select the file in which you
want to save your workspace. You can share this file with other users.
To import a workspace, select File → Load Workspace from File and choose a
.gmb file. MULTI prompts you to choose whether you want to access the workspace
directly from the imported file or copy the workspace to your local configuration
and access the copied workspace. In the workspace drop-down menu, workspaces
that are not copied to your local configuration are indicated by
.
The workspace you import becomes the current workspace.
To add imported workspaces to a project, open the MULTI Project Manager on the
project and select Edit → Add File into default.gpj.
60
MULTI: Managing Projects and Configuring the IDE


Opening Workspaces
Opening Workspaces
You can create as many workspaces as necessary, but only one workspace can be
the current workspace, and you can only run actions from the current workspace.
You can change the current workspace in either of the following ways:
• From the Launcher, open the workspace drop-down menu and select the desired
workspace (see “The Launcher Toolbar” on page 252).
• From the Launcher, select File → Recent Workspaces and select the desired
workspace.
Action Sequences and Actions
This section contains detailed information about:
• Creating, modifying, and running actions and action sequences.
• Managing running actions.
Creating or Modifying an Action Sequence
To create an action sequence:
1. Select Edit → Add Action Sequence from the Launcher. This opens the Edit
Action Sequence dialog box on a new action sequence.
Green Hills Software
61

Chapter 3. Managing Workspaces and Shortcuts with the Launcher
2. To add actions to your action sequence, follow the instructions in “Creating
or Modifying an Action” on page 63.
To edit an action sequence, do one of the following:
• Select the action sequence and then select Edit → Edit Selected Object.
• Right-click the action sequence and select Edit from the shortcut menu.
Action sequences are modified in the Edit Action Sequence dialog box. You can
use the buttons in this dialog box to add a new action to the action sequence, edit
an existing action, or delete an action. You can also perform the following operations
by right-clicking an action in this dialog box.
Edit
Displays the Edit Action dialog. For more information, see “Creating or Modifying an Action”
on page 63
.
Disable or Enable
Disables or enables the selected action. Disabled actions appear dimmed and do not run when
the action sequence is run.
CutCopyPaste, or Delete
Performs the requested editing operation on the selected action. The Paste button inserts actions
above the current selection; it does not overwrite the current selection.
Move Up or Move Down
Moves the selected action or actions one position up (earlier) or down (later) in the list of actions.
To reorder an action sequence in the action tree, do one of the following:
• Select the action sequence, and then press Ctrl+UpArrow or Ctrl+DownArrow
to move it up or down.
• Select the action sequence, and then choose Edit → Move Selected Objects
Up or Edit → Move Selected Objects Down.
• Right-click the action sequence and select Move Up or Move Down.
To delete an action sequence, do one of the following:
• Select the action sequence and press Delete.
• Right-click the action sequence and select Delete from the shortcut menu.
62
MULTI: Managing Projects and Configuring the IDE


Creating or Modifying an Action
Creating or Modifying an Action
To create an action, perform one of the following operations:
• From the Launcher, right-click the action sequence and select Add Action.
• From the Edit Action Sequence dialog box, click Add Action.
To modify an action, perform one of the following operations:
• From the Launcher, right-click the action and choose Edit.
• From the Launcher, select the action and then choose Edit → Edit Selected
Object.
• From the Edit Action Sequence dialog box, either right-click the action and
choose Edit, or select the action and click Edit Action.
The Edit Action dialog box appears when you create or modify an action.
This dialog box contains two fields. The first field, Action, specifies the type of
action. The second field (whose name is dependent on the Action selected) contains
the arguments for the action. First select the type of action from the Action list, and
then fill in the second field, which may contain variables. For information about
using variables, see “Using Variables in the MULTI Launcher” on page 68.
Available action types and example arguments follow:
• Project Manager — Opens the MULTI Project Manager on the specified
project. For example: MyProjects/Project1/default.gpj
• Build Project — Builds the specified project. For example:
MyProjects/Project1/default.gpj
Green Hills Software
63

Chapter 3. Managing Workspaces and Shortcuts with the Launcher
• Debug Program — Opens the MULTI Debugger on the specified executable.
For example: MyProjects/Project1/prog
• Debugger Command — Performs the specified Debugger command. For
example: cb
For a list of commands, see the MULTI: Debugging Command Reference book.
• Editor — Opens the MULTI Editor on the specified file. For example:
MyProjects/Project1/readme.txt
• Diff View — Opens the Diff Viewer on two files or two versions of a file. For
example: MyProjects/Project1/default.gpj -v 1.94
MyProjects/Project1/default.gpj -v 1.93

Argument usage for the Diff View action appears in a dialog box when you
choose Diff View (Windows) or when your mouse hovers over the Files text
field (Linux/Solaris).
• Checkout Browser — Opens the Checkout Browser on the specified directory.
For example: MyProjects/Project1
• Connection — Connects to the specified target. For example: simppc
• Serial Terminal — Connects via a Serial Terminal to the specified target.
For example: com1 (Windows) and ttyS0 (Linux)
• EventAnalyzer — Opens the EventAnalyzer on the specified event source
file. For example: evlog.mes
• ResourceAnalyzer — Connects the ResourceAnalyzer to the specified target.
For example: 127.0.0.1
• Flash GUI — Opens the Write to Flash Memory window. You may specify
a program for the window to open on. For example: C:\My
Projects\Project1\catalog

This action requires that MULTI be connected to a target.
• Python Statement — Executes the specified Python command(s). For example:
print "MULTI dir: $_multi_dir";
($_multi_dir is a Launcher variable. For more information, see “Using
Variables in the MULTI Launcher” on page 68
.)
• Python Script — Runs the specified Python script file. For example,
checkout_src.py
64
MULTI: Managing Projects and Configuring the IDE

Running Actions and Action Sequences
• Nonblocking Command — Runs the specified shell command. The command
output is not displayed. A nonblocking command is particularly good for
launching graphical programs. For example: gmemfile program
• Blocking Command — Runs the specified shell command. Subsequent actions
must wait until the Blocking Command has completed before running. The
command output is displayed in an editor window. A blocking command is
particularly good for command line programs or batch-processing applications.
For example: gsize program
• Wait — Causes the Launcher to wait the specified number of milliseconds
before executing the next action. For example: 10000 (waits for 10 seconds)
• Utility Actions — Runs one of the Green Hills utility programs. When you
choose this action in the Edit Action dialog, the Launcher displays a list of
utility actions and allows you to choose one. For example: gstrip program
If the chosen action type requires a filename or directory to be specified, the
drop-down list will also contain a Select File or Select Directory option to launch
a file or directory chooser.
In the argument string of an action, you can use MULTI Launcher variables to make
the action general. For more information, see “Using Variables in the MULTI
Launcher” on page 68.

Running Actions and Action Sequences
To run action sequences or actions, do one of the following:
• Double-click the action sequence or action.
• Select one or more action sequences or actions in the Launcher's action tree,
and select Edit → Run Selected Objects.
• Right-click the selected action sequence(s) or action(s) in the Launcher's action
tree, and select Run from the shortcut menu.
To see example action sequences and actions, refer to the beginning of Chapter 3,
“Managing Workspaces and Shortcuts with the Launcher” on page 51
.
If the actions or action sequences being executed contain a Build Project action,
Python Statement action, a Python Script action, a Blocking Command action,
Green Hills Software
65

Chapter 3. Managing Workspaces and Shortcuts with the Launcher
or any Utility Action, a progress window opens by default. For more information
about the progress window, see “Managing Running Actions” on page 66.
Managing Running Actions
Each time one of the following workspace actions starts running, the corresponding
process appears in the Launcher Utilities → Running Actions submenu:
• Build Project
• Python Statement
• Python Script
• Blocking Command
• Any Utility Action
If enabled [default], a MULTI Editor progress window displays when any of the
preceding actions are run. The Launcher's toggle menu item Config → Show
Progress Window 
enables and disables the appearance of the progress window for
these actions.
The title of a progress window indicates the currently executing action or, if
execution is complete, the last executed action. Inside the progress window, action
output is displayed in the normal text color and progress information is displayed
in a special color.
If the execution of an action is not yet finished when you try to close the progress
window, a dialog box asks if you want to terminate the execution.
You can also terminate execution of any action listed in the Utilities → Running
Actions 
menu by selecting the corresponding menu entry. This menu does not list
components of the MULTI IDE that were launched by Launcher workspace actions.
Note
The Utilities → Running Actions menu only lists workspace actions.
This menu is not related to programs being debugged by the MULTI
Debugger.
66
MULTI: Managing Projects and Configuring the IDE


MULTI Shortcuts
MULTI Shortcuts
This section contains detailed information about creating, saving, and loading
MULTI shortcuts.
Creating MULTI Shortcuts
MULTI shortcuts are like action sequences, except that they are not associated with
any particular workspace.
To create a shortcut:
1. Click the Shortcut button (
).
2. Select Create or Change Shortcut.
If it's not showing already, the MULTI Launcher Shortcuts pane appears.
The Working Dir field is empty to indicate that shortcuts do not have a
working directory associated with them. (Shortcuts execute in the working
directory of the currently selected workspace.)
3. You can create or modify shortcuts just as you would action sequences for a
workspace. See “Creating or Modifying an Action Sequence” on page 61.
Saving Shortcuts
To save your shortcuts to the default location, select File → Save Changes from
the Launcher. The Launcher saves definitions of shortcuts into the shortcut
configuration file and into index.gmb, which is located at:
• Windows 7/Vista — user_dir\AppData\Roaming\GHS\launcher
• Windows XP — user_dir\Application Data\GHS\launcher
• Linux/Solaris — user_dir/.ghs/launcher
To find the full path to index.gmb, make a change to a shortcut and select File 
Save Changes from the Launcher. The dialog box that opens displays the full path.
To save your shortcuts to a different file, see “Importing and Exporting Shortcuts”
on page 68.

Green Hills Software
67



Chapter 3. Managing Workspaces and Shortcuts with the Launcher
Importing and Exporting Shortcuts
If you want to export your shortcuts, select File → Save Shortcuts into File from
the Launcher. In the file chooser that opens, select the file in which you want to
save your shortcuts. You can share this file with other users.
To import shortcuts, select File → Load Shortcuts from File and choose a .gmb
file. MULTI prompts you to choose whether you want to:
• Append these shortcuts to the list that appears when you select
,
• Replace the shortcuts currently listed when you select
, or
• Cancel the load operation.
Using Variables in the MULTI Launcher
You can use variables to make actions and shortcuts generic and to make your
projects more portable. This section begins with an overview of variable features
and is followed by information about variable types; creating, modifying, and
referencing variables; and variable substitution.
Overview of Variables
Launcher variables enable you to perform actions from the Launcher. For example,
with the pre-defined _ws_file_path variable (described in “Variable Types”
on page 69), 
you can create a shortcut that opens the Editor on the current
workspace's configuration file.
The values of generic Launcher variables, such as the pre-defined MULTI Launcher
variables, change depending on the context of the workspaces where they are used.
This property allows you to use a single variable in multiple workspaces. For more
information about pre-defined MULTI Launcher variables, see “Variable Types”
on page 69.

Generic variables also make your project more portable. If you associate a workspace
with a particular project file and share the project with another user, you can share
the workspace too. Simply use the _ws_file_dir variable described in “Variable
Types” on page 69 
to specify the workspace's working directory. When the second
68
MULTI: Managing Projects and Configuring the IDE


Variable Types
user opens the project and workspace, the value of the working directory dynamically
updates to the correct location.
Variables are convenient to use. Typing a variable is usually much easier and faster
than typing a long command string or pathname. In addition to being easy to type,
variables allow you to maintain multiple workspaces simultaneously: modify a
variable in one location, and you will see the change take effect every place where
it is used.
You can use Launcher variables in the following places:
• Shortcuts and/or workspace actions — You can use variables when creating
the workspace actions used in action sequences or shortcuts. For more
information, see “Creating or Modifying an Action” on page 63.
• Workspace working directories — To use a variable to specify the working
directory, click the Properties button in the Launcher. (If this button is not
visible, click
to reveal the detail pane.) In the Set Workspace Properties
dialog box, click the Current tab and enter the variable in the Working Dir
field.
• Variable values — You can create variables for the current workspace or for
all workspaces. For information about how to do this, see “Creating or
Modifying Variables” on page 70
.
Variable Types
The variables that the MULTI Launcher supports are categorized into the following
types:
• Workspace (or localvariables — Available in the enclosing workspace. For
information about creating workspace variables, see “Creating or Modifying
Variables” on page 70
.
• Global variables — Available to all workspaces. For information about creating
global variables, see “Creating or Modifying Variables” on page 70.
• Pre-defined MULTI Launcher variables — Available to all workspaces and
automatically defined by the MULTI Launcher. These variables and their values
are listed on the Others tab of the Set Workspace Properties dialog box. For
more information, see “Launcher Display Modes” on page 54.
Green Hills Software
69


Chapter 3. Managing Workspaces and Shortcuts with the Launcher
The complete list of pre-defined variables follows.
○ _cwd — Specifies the current working directory of the MULTI Launcher.
○ _ws_name — Specifies the name of the current workspace.
○ _ws_working_dir — Specifies the working directory of the current
workspace.
○ _ws_file_name — Specifies the base name of the file in which the current
workspace is stored.
○ _ws_file_path — Specifies the full path to the file in which the current
workspace is stored.
○ _ws_file_dir — Specifies the directory of the file in which the current
workspace is stored.
○ _multi_dir — Specifies the directory where the MULTI Launcher
executable resides. This is in the MULTI IDE installation directory.
○ _user_cfg_dir — Specifies the directory that stores the user's personal
MULTI configuration.
○ _multi_major_version — Specifies the major version number of
MULTI. For example, 1 would be the _multi_major_version in
MULTI 1.2.3.
○ _multi_minor_version — Specifies the minor version number of
MULTI. For example, 2 would be the _multi_minor_version in
MULTI 1.2.3.
○ _multi_micro_version — Specifies the micro version number of
MULTI. For example, 3 would be the _multi_micro_version in
MULTI 1.2.3.
• Host environment variables — Available to all workspaces and defined in the
host environment.
Creating or Modifying Variables
To create or modify a workspace variable or global variable:
1. Click the Properties button in the Launcher. If this button is not visible, click
to reveal the detail pane.
70
MULTI: Managing Projects and Configuring the IDE

Referencing Variables
2. In the Set Workspace Properties dialog box, click the Current tab to create
or modify the current workspaces's variables and the Global tab to create or
modify global variables.
3. To add a variable, click New. To edit a variable, select the variable and click
Edit.
4. In the MULTI Launcher Variable dialog box, enter or modify the variable's
name and its value.
5. Click OK in the MULTI Launcher Variable dialog box and in the Set
Workspace Properties dialog box.
To delete a variable, select it in the Set Workspace Properties dialog box, and
click Delete.
Workspace variables are a part of the workspace's definition and are kept in the
workspace's definition file. Global variables are not a part of any workspace's
definition and are kept in the index.gmb file located at:
• Windows 7/Vista — user_dir\AppData\Roaming\GHS\launcher
• Windows XP — user_dir\Application Data\GHS\launcher
• Linux/Solaris — user_dir/.ghs/launcher
Referencing Variables
To reference a variable, enter the dollar sign ($) followed by the variable's name.
If the variable name contains characters other than alphabetic characters, numeric
characters, and underscore, enclose the variable name in parentheses () or square
brackets []. Example variables follow:
• $MyVar
• $(My Var)
• $[My Var]
To precede a non-variable with a dollar sign ($), escape the dollar sign with a
backslash character (\). For example: \$NotVar.
Green Hills Software
71

Chapter 3. Managing Workspaces and Shortcuts with the Launcher
Variable Substitution
When the MULTI Launcher evaluates a string containing variables, it scans the
string from beginning to end and substitutes the string's variables with their values.
The substitution process continues until no variables are left to substitute or until
the Launcher has performed 20 scans. This maximum scan limit helps to prevent
infinite loops caused by cyclic dependencies.
When the MULTI Launcher recognizes a variable name during the substitution
process, it looks for the variable's value by searching the variable types in this order:
1. Workspace variables
2. Global variables
3. Pre-defined MULTI Launcher variables
4. Host environment variables
Because of the order in which the Launcher searches variable types, you can override
a pre-defined or host environment variable by defining a workspace variable or
global variable with the same name. To return back to the original value, delete the
variable you created.
72
MULTI: Managing Projects and Configuring the IDE

Chapter 4
Editing Files with the MULTI
Editor
Contents
Starting the MULTI Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Editor Window Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Navigating in Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
Searching in the Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Working with Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Working with Multiple Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

Chapter 4. Editing Files with the MULTI Editor
This chapter is an introduction to the MULTI Editor. Details about the following
are provided:
• Navigating in Files — The Editor can automatically obtain function prototypes
and cross reference information. For more information, see “Navigating in
Files” on page 78.

• Searching in the Editor — The Editor and provides a number of search options.
For more information, see “Searching in the Editor” on page 83.
• Working with Code — The Editor provides tools and keyboard shortcuts that
are helpful when editing source code. For more information, see “Working
with Code” on page 88
.
• Working with Multiple Files — The Editor contains tools to merge or compare
multiple files. For more information, see “Working with Multiple Files”
on page 93
.
Starting the MULTI Editor
You can start the Editor as a stand-alone editing program, or you can start it from
another MULTI tool.
Starting the Editor from the Command Line
To start the MULTI Editor as a stand-alone program, run the Editor executable from
the command line:
me [options]
where options is any non-conflicting combination of command line options:
+line file
Opens the Editor on file and navigates to line number line.
-diff file1 file2
Opens the Diff Viewer on the specified files.
file
Opens the Editor on file.
74
MULTI: Managing Projects and Configuring the IDE


Starting the Editor from the Launcher
-h
-usage
Displays on-screen usage information.
-help
Launches online help.
-new file1 file2...
Opens each file in a new Editor window.
-reuse file1 file2...
Opens each file in the same Editor window. This is the default.
-showhistory file1 [file2]...
Opens a History Browser on each file specified.
If you do not specify any option, a file chooser appears. Select or navigate to a file
to open it in the Editor.
Note
The MULTI IDE may reuse an Editor process started from the command
line. In this case, the process does not exit until the entire MULTI IDE
is closed.
Starting the Editor from the Launcher
To start the Editor from the Launcher, do one of the following:
• Click the Edit button (
) and select a file or the Open Editor option.
• Select Components → Open Editor.
Green Hills Software
75




Chapter 4. Editing Files with the MULTI Editor
Starting the Editor from the Project Manager
To start the Editor while using the Project Manager, do one of the following:
• Select one or more files, then click the Edit button (
) to open them in the
Editor.
• Select one or more files in the project tree, then select Edit → Edit, or
right-click and select Edit from the shortcut menu.
• Double-click a text filename in the project tree.
• Double-click an error or warning in the Build Details window to open the
source file in the Editor with the cursor placed on the line with the error. To
see the next error (if any), click the Next Error button (
).
Starting the Editor from the Debugger
To start the Editor while using the Debugger, do one of the following:
• Click the Edit button (
).
• Right-click in the source pane and select Edit File.
• Enter the edit command in the Debugger command pane. For more information
about this command and related commands, see “General View Commands”
in Chapter 22, “View Command Reference” in the MULTI: Debugging
Command Reference 
book.
76
MULTI: Managing Projects and Configuring the IDE


Editor Window Components
Editor Window Components
The following graphic displays the Editor window.
The main components of the Editor window are described below.
• Title Bar — Contains the path and filename of the file displayed in the current
Editor window.
• Menu Bar — Contains menus to access Editor functions. All menus and menu
items are described in detail in “Editor Menus” on page 278.
• Editor Toolbar — Contains buttons for some of the most common Editor
actions. For more information, see “The Editor Toolbar” on page 294.
• File and Procedure Fields — Contains fields that provide quick access to files,
procedures and line numbers. For more information, see “The File and
Procedure Fields” on page 295.

Green Hills Software
77

Chapter 4. Editing Files with the MULTI Editor
• Source Pane — Displays the text of the active document. For information about
operations you can perform from the source pane, see “The Shortcut Menu”
on page 293.

• Status Bar — Displays information about document status and cursor position.
For more information, see “The Status Bar” on page 296.
Navigating in Files
This section provides details about Editor functions that help you navigate within
a single file, and across multiple files.
Using References and Prototypes
Whenever the MULTI Editor loads a C or C++ file, it attempts to obtain information
about the file, including the following information:
• The operating system for which the code was written
• The source file's include files
• Cross reference information
Note
Cross reference information is available for source code in projects
built using the Project Manager. Cross reference information is not
available for preprocessor #defines in the Editor (but it is available
in the Debugger).
When this information is obtained, the Editor automatically grabs the function
prototypes from the include files; loads information for the operating system such
as APIs, constants, and types; and uses this information for syntax coloring and
auto-completion (see “The language.gsc Syntax Definition Files” on page 166). The
prototype information also allows you to quickly jump to the function's definition
or declaration from the shortcut menu.
78
MULTI: Managing Projects and Configuring the IDE

Using References and Prototypes
If cross reference information is available, it is automatically loaded (see “Generate
or Regenerate Cross References” on page 80
). The Editor will attempt to obtain
cross references from the following sources:
• MULTI Debugger — The Editor can obtain cross reference information from
the Debugger when the Editor was launched from the Debugger and the current
file in the Editor is contained in the program being debugged.
• Cross reference information files — These files are generated during a build.
Cross reference information for a source file may be incomplete. To obtain complete
cross reference information for the source file's enclosing project, you can right-click
and select Generate Cross References from the shortcut menu (see “Generate or
Regenerate Cross References” on page 80
).
Go To a Definition
To go to the definition of an item:
1. Right-click an object, function, variable, type or other text in the source pane
and select Go To Definition from the shortcut menu.
2. The Editor will use the function prototype or cross reference information to
find the definition of the clicked item and move the cursor to that position.
This opens another file if the definition is not located in the current file.
Go To a Declaration
To go to a declaration of an item:
1. Right-click an object, function, variable, type or other text in the source pane
and select Go To Declaration from the shortcut menu.
2. The Editor will use the function prototype or cross reference information to
find the declaration of the clicked item and move the cursor to that position.
This opens another file if the definition is not located in the current file.
Green Hills Software
79

Chapter 4. Editing Files with the MULTI Editor
Browse References
To browse reference information:
1. Right-click an object, function, variable, type, or other text in the source pane
and select Browse References from the shortcut menu.
2. The Editor will attempt to obtain the item's cross references and display them
in a Browse window.
The Browse window for cross references in the Editor is very similar to the
Browse window in the Debugger, except that it does not have Debugger-related
functions (for details, see “Browsing Cross References” in Chapter 12,
“Browsing Program Elements” in the MULTI: Debugging book).
The status box of the Browse window will display the source from which the cross
references are obtained:
• Based on debugger — the source is the symbol table of the program in the
corresponding Debugger.
• Based on progress: N/A — the source is the single cross reference information
file for the current source file.
• Based on progress: 70— the source is multiple cross reference information
files for the enclosing project. The percentage displayed represents the number
of currently loaded cross reference information files out of the total number in
the enclosing project.
Cross reference Browse windows are accessible in the Editor through the Windows
menu. Cross reference Browse windows can be closed by selecting View → Close
Dependent Windows
.
Generate or Regenerate Cross References
To obtain complete cross reference information based on the project to which the
source file belongs:
1. Right-click in the source pane and select Generate Cross References from
the shortcut menu.
80
MULTI: Managing Projects and Configuring the IDE



Using the GoTo Dialog Box
Note
This menu item is unavailable if the Editor obtained cross reference
information from the corresponding MULTI Debugger.
2. The Editor will search for the enclosing project and generate cross reference
information for the whole project.
Generating cross reference information rebuilds the files in your program. Once
cross reference information for the enclosing project is generated, the shortcut menu
item changes to Regenerate Cross References. If any of the source files in the
project have changed, the cross references for the enclosing project must be
regenerated for the information to be accurate.
Using the GoTo Dialog Box
You can use the GoTo dialog box to go to a file, line number, or function. To open
the GoTo dialog box, do one of the following:
• Select Edit → Goto.
• Click the Goto button (
).
• Press Ctrl+Shift+G.
Go To a File
To open a file in the current Editor:
1. Type a filename in the Goto field.
2. Select the Filename radio button.
3. Click Go.
Green Hills Software
81

Chapter 4. Editing Files with the MULTI Editor
Go To a Line
To go to a specific line in the current file:
1. Type the line number in the Goto field.
2. Select the Line Number radio button.
3. Click Go.
Go To a Line Quickly
You can quickly go to a line without using the GoTo dialog box:
1. Type Ctrl+G. The status box in the lower left corner of the status bar will
display the prompt Goto Line:.
2. Enter the line number to go to.
3. Press Enter.
Go To a Function
To go to a specific function in either the current file, or in another file:
1. Type a function name into the Goto field.
2. Select the Function radio button. If the Function button is not available, the
Editor could not grab function prototypes for the file's language.
3. Click Go.
4. If the function is in the current file, the Editor moves the cursor to the beginning
of the function. If the function is in a different file, the Editor opens that file
and moves the cursor to the beginning of the function.
Note
This option is only available if the corresponding language is C or
C++ (for which the Editor can automatically grab function prototypes
from the edited file).
82
MULTI: Managing Projects and Configuring the IDE

Searching in the Editor
Searching in the Editor
The MULTI Editor provides three ways to search for text:
• Incremental searching — Performs a quick search of the active file. The search
is incremental, so it searches for a string as you type it. This means that you
do not always have to type the whole text string you are looking for. This type
of searching uses keyboard shortcuts rather than a dialog box, so there are
fewer options. For more information, see “Incremental Searching” on page 83.
• Interactive searching — Uses the Search dialog to perform a variety of
searching tasks on the file in the active Editor window. Interactive searching
allows search-and-replace and regular expression matching. For more
information, see “Interactive Searching Using the Search Dialog Box”
on page 84
.
• Searching files — Performs full-text searching in all open files using the grep
utility. For more information, see “Searching in Files” on page 86.
Incremental Searching
You can perform a quick incremental search (referred to in some command and
option names as an iSearch) in the active Editor window without opening the Search
dialog box. To do so, perform the following steps:
1. Press Ctrl+(to search forward in the file) or Ctrl+(to search backwards
in the file). This will cause the status box in the lower-left corner of the status
bar to display the prompt: Srch.
2. Type the string you are searching for. As you type characters, the search string
is displayed in the status bar to the right of the Srch prompt and the first
occurrence of the string pattern is highlighted in the Editor source pane. You
can use the Backspace key to remove characters from the search string. As
you modify the search string by typing additional characters or removing
characters, the next occurrence of the new string is highlighted in the Editor
source pane.
Note
The case sensitivity of the search is set via the Match exact case
in searches 
option (see “The General Options Tab” on page 177).
Green Hills Software
83


Chapter 4. Editing Files with the MULTI Editor
However, note that even if the search is case-insensitive, it becomes
case-sensitive if you enter any capital letters in the search string.
3. If a match has been found, press Ctrl+again to view the next match or press
Ctrl+to view the previous match. If there is no other match, the status bar
indicates that the search failed to find another match.
4. Press Esc at any time to clear the current search. (The Srch prompt will
disappear.) The option Escape restores view after iSearch controls whether
the cursor returns to its original location when you press Esc. For more
information, see “The General Options Tab” on page 177.
Tip
If you are not in search mode (that is, if the Srch prompt is not showing
in the status bar and the Search dialog box is not up), you can press
Ctrl+two times to repeat your most recent search, whether it was an
incremental search or an interactive search (that is, a search performed
from the Search dialog box).
Search options that you have previously set in the Search dialog box affect
incremental searches performed in the same Editor window and MULTI session.
These options are: CaseSearch TypeStarts wordEnds wordStarts line, and
Ends line. Use the Search dialog box to clear or change these option settings. For
more information about the Search dialog box and the options it contains, see
“Interactive Searching Using the Search Dialog Box” on page 84.
Interactive Searching Using the Search Dialog Box
The Search dialog box allows you to specify search criteria for interactive searches.
To open the Search dialog box, do one of the following:
• Select Edit → Find.
• Click the Find button (
).
• Press Ctrl+Shift+F.
84
MULTI: Managing Projects and Configuring the IDE


Interactive Searching Using the Search Dialog Box
The Search dialog box can be used to search for and to replace text in the file open
in the active Editor window.
The fields and options in the Search dialog box are described in “The Search Dialog
Box” on page 301
.
Note
Some of the settings in this dialog box set the defaults for the next
incremental search (see “Incremental Searching” on page 83).
Searching for Regular Expressions
The following table lists acceptable formats for entering regular expressions as
search strings when the Regular expression radio button has been selected in the
Search dialog box.
.
(A period) Matches any single character except a new line.
[string]
Matches any single character appearing in string. For example, [abc]
matches an a, b, or c. You can specify character ranges by separating the
start and end of the range with a dash (-). For example, [b-e] matches b,
c, d and e. To include a close bracket (]) as part of the string, make it
either the first character of string, or the last character of a range. For
example, []abc].
[^string]
If the first character of the string is a caret (^), it matches any character
that is not in string.
^
Place at the start of the search string to match the beginning of a line. Same
as the Starts line option.
$
Place at the end of the search string to match the end of a line. Same as the
Ends line option.
Green Hills Software
85

Chapter 4. Editing Files with the MULTI Editor
<
Place at the start of the search string to require that the rest of the search
string matches the beginning of a word. Same as the Starts word option.
>
Place at the end of the search string to require that the rest of the search
string matches the end of a word. Same as the Ends word option.
(regexp)
Matches the regular expression regexp enclosed in parentheses.
regexp*
Matches zero or more occurrences in succession of the regular expression
regexp.
regexp1 |
Matches regular expression regexp1 or regular expression regexp2.
regexp2
The following table gives some examples of regular expressions that can be used
in searches.
a.d
Matches and, a d, and aud.
a.*d
Matches ad, are d, and abd.
<and
Matches and, but not stand.
are|is
Matches either are or is.
(are|is)*
Matches are bad, is bad, areisare bad, and bad.
bad
Searching in Files
The MULTI Editor supports full-text searching of all open files with the Search in
Files feature. To search all open files, do one of the following:
• Select Tools → Search in Files.
• Enter the grep command in the Execute Editor Commands dialog, described
in Appendix B, “Editor Commands” on page 329.
This opens the Search in Files dialog box.
86
MULTI: Managing Projects and Configuring the IDE


Searching in Files
Enter the search string in the text box (or use the drop-down list to select recent
search strings) and select any of the following searching options, if desired:
• Case sensitive — The search will only find text that matches the case of the
search string exactly. If this box is not selected, the search will ignore case
when searching for a match. This box is selected by default.
• Whole word — The search only finds text that contains the search terms as
words. This means that the matching string must be preceded by a non-word
character and followed by a non-word character, where word characters are
letters, digits, and the underscore. For example, if you select this check box, a
search for ice does not match slice or ice__, but it does match ice-9. This
box is cleared by default.
• Use Regular Expressions — The search treats the text you enter in the text
box as a regular expression. If this box is not selected, the search treats the text
you enter as a fixed string. This box is selected by default.
After you have entered the search string and set your searching options, click Search
to perform the search. A Search in Files Results window will open and display all
matches as they are found. See the next section for a description of this window.
Note
The Search in Files capability works by running the BSD grep utility. A
copy of BSD grep is installed along with the MULTI IDE. However,
BSD grep is not part of MULTI and is not distributed under the same
license as MULTI. For more information about the license under which
BSD grep is distributed, refer to the file bsdgrep.txt, which is located
in the copyright subdirectory of the IDE installation directory. For
information about the search expression format that BSD grep uses, refer
to the OpenBSD re_format(7) man page.
Green Hills Software
87


Chapter 4. Editing Files with the MULTI Editor
Viewing Search in Files Results
The Search in Files Results window displays the results of a Search in Files
operation.
You can double-click any line in the search results window to open an Editor on
the specified file and line. If the Editor or the Search in Files dialog box has been
launched from the MULTI Debugger, single-clicking a line displays the line in the
Debugger source pane.
The components of the Search in Files Results window are described in “The
Search in Files Results Window” on page 304
.
Working with Code
The Editor provides tools and keyboard shortcuts that you will find helpful when
editing source code.
Indenting Code
Indentation is whitespace at the beginning of each line, used to denote the
hierarchical structure of your code and make it more readable. As you write code,
you can manually insert an indent, or you can let the Editor indent your code based
on common coding standards.
88
MULTI: Managing Projects and Configuring the IDE

Indenting Code
Manually Inserting or Removing an Indent
To manually insert or remove an indent:
1. Move the cursor to the appropriate line, or highlight multiple lines.
2. Select Block → Indent to insert an indent.
3. Select Block → Unindent to remove an indent.
For more information about working with indents, see “The Block Menu”
on page 285
.
Auto Indenting Code
The MULTI Editor auto indents your code according to common coding standards.
Note
Auto indenting is only available for certain languages. At present, MULTI
supports auto indenting for C, C++, Java, and Ada.
1. If you want to auto indent a single line of code, move the cursor to that line.
If you want to auto indent multiple lines of code, highlight those lines.
2. Select Block → Auto Indent, or press Ctrl+or Ctrl+(semicolon). Pressing
the Tab key also automatically indents everything to the right of the cursor.
You can make a one-time change in how far the Editor auto indents the lines of a
lexical block of code by indenting the first line of code the way you want the entire
block to look, then highlighting the rest of the block and starting the auto indent.
This prevents the Editor from breaking the conventions of a pre-existing block.
Configuring Indents
You can configure the default size of indents and how they affect your code.
• To change the configuration of indents for all files, select Config → Options
and make changes on the MULTI Editor tab (see “The MULTI Editor Options
Tab” on page 221
).
Green Hills Software
89

Chapter 4. Editing Files with the MULTI Editor
• To change the size of indents for the current file and current session only, use
the Per File Settings dialog box. See “The Per File Settings Dialog Box”
on page 300 
for more information.
Auto-Indent Characters
By default, the Editor automatically makes indenting adjustments when you type
the following characters:
#
number sign
*
asterisk, if it is the first character of a C comment line
-
hyphen, if it is the first character of a C comment line and if C chars
aligned like '*' in comments 
is set to - (the default)
;
semi-colon
:
colon
{
left curly brace
}
right curly brace
You can disable characters from auto indenting both your code and comments by
disabling Auto indent as you type. If you want special characters to auto indent
your code, but want to disable them if you use them within a comment, disable
Auto indent comments as you type. See “The MULTI Editor Options Tab”
on page 221
.
Working with Comments
This section describes how you can use the Editor to easily insert and manipulate
comments in your code.
Inserting or Removing a Comment
The Editor uses the proper syntax for comments based on your selected programming
language. Block comment operations are available to C, C++, Java, and all languages
that support line comments.
90
MULTI: Managing Projects and Configuring the IDE

Highlighting the Boundaries of the Current Block of Code
• To insert a new comment, place the cursor on a blank line where you want the
comment to start and select Block → Comment.
• To comment out existing code, select the appropriate text, then select Block
→ Comment. The selection is implicitly extended to line boundaries; the entire
line the selected text is in will be commented out.
• To uncomment a comment block, highlight the block and select Block 
UnComment.
For more information about working with comments, see “The Block Menu”
on page 285
.
For information about configuring comments, see “The MULTI Editor Options
Tab” on page 221.

Note
If the Editor is not using the correct syntax for comments, select View
→ Language to make sure it is configured for the correct language.
Highlighting the Boundaries of the Current Block of Code
To identify the beginning and end of the current block of code, select View 
Match.
When you perform this operation, the Editor:
1. Searches backward from the cursor and finds the first enclosing instance of a
left parenthesis “(”, left curly brace “{” , or a left bracket “[”.
2. Searches forward from the cursor to find the matching ending mark.
3. Selects the code in between.
For more information, see “The View Menu” on page 282.
Working with Columns
You can cut, copy and paste columns of text in the Editor. For more information,
see “The Block Menu” on page 285.
Green Hills Software
91


Chapter 4. Editing Files with the MULTI Editor
Copying a Column of Text
You can copy a column of data from a file, excluding data on either side of the
column. For example, suppose you have a tab delimited file that lists date, time,
file size, and filename. You can copy just the column that lists time without affecting
any of the other data.
1. On the first line that contains data you want to copy, start the selection at the
first character you want copy.
2. Extend the selection to include all of the data in the column. The last character
selected should be the last character of the column.
3. Select Block → Rect Copy.
4. The region of text to be copied is the rectangle with the diagonal defined by
the first character and the last character of the selection.
Example 4.1. Using Rect Copy
Highlight the following selection, then select Block → Rect Copy.
When you paste the contents of the clipboard, the following is inserted in your file:
09:21a
09:22a
09:23a
09:36a
09:23a
09:33a
92
MULTI: Managing Projects and Configuring the IDE


Working with Multiple Files
Cutting a Column of Text
To cut a column of text out of a file, highlight the column and select Block → Rect
Cut
.
Pasting a Column of Text
After you have cut or copied a column of text from a file, you can:
• Select Block → Rect Paste to paste the column without inserting line breaks.
• Select Edit → Paste to paste the contents of the clipboard into the file with
line breaks.
Working with Multiple Files
This section provides information about the MULTI Editor tools you can use to
merge and compare multiple files.
Merging Files
You can use the Editor to merge two or three files into a single file. The initial files
can be completely different files, or different versions of the same file.
To begin merging files, select Tools → Merge Files to open the Choose files to
merge 
dialog box.
Green Hills Software
93




Chapter 4. Editing Files with the MULTI Editor
The Choose files to merge dialog box contains the following fields and buttons:
File 1
Type the name of the first file you want to merge, or click
(Browse) to
select a file.
If you are using a version control system and want to merge a different
version of a file from disk, enter the filename in the File 1 field and the
version of that file to be merged in the adjacent Version field.
File 2
Type the name of the second file you want to merge, or click
to select a
file.
If you specify the same file in the File 1 and File 2 fields without specifying
a version, then File 1 refers to the copy currently open in the Editor, while
File 2 refers to the file on disk.
Base
Type the name of the file from which the other two files, File 1 and File 2,
are derived, or click
to select a file. If you are only merging two files,
leave this field blank.
Automatic three
Select this box if you want the Editor to attempt to resolve three-file merges
file merge
without prompting you. Note that even with this option selected, the Editor
prompts you if it encounters a conflict that it cannot resolve.
Clear this box if you want to manually review every proposed merge.
Merge
Click Merge to begin the merge. The two-file Merge dialog box will open,
or, if you specified a file in the Base field, the three-file Merge dialog box
will open. See “Merging Two Files” on page 94 or “Merging Three Files”
on page 96.

Merging Two Files
To merge two files:
1. Select merge criteria in the Choose files to merge dialog box (see “Merging
Files” on page 93) and click Merge. An Editor window appears for each of
the two files you specified, as well as an extra Result window that displays
results of the merge. The Status box in the lower left corner of each window
identifies which file is in each window.
94
MULTI: Managing Projects and Configuring the IDE


Merging Files
In addition to the Editor windows, the two-file Merge dialog box will open:
The Editor will pause at each difference between the files and highlight the
text that is different.
2. Use the following buttons in the two-file Merge dialog box to control the
merge results:
File 1
Copies the selected text from File 1 into the Result window.
File 2
Copies the selected text from File 2 into the Result window.
Both
The first time you click this button, the dialog box Configure change
bars for this merge session 
appears (see “Configure Change Bars for
This Merge Session” on page 98). 
The next time you click this button,
the last values entered are used.
Skip
Finds the next difference without adding the current difference to the
file.
Custom Merge
Performs the same action as the Both button, except that you can
Both
modify the changes in a temporary window before merging them into
the new file.
Help
Opens MULTI's online help for the Merge dialog box.
Change Bars
Changes the settings for the Both button. When you click this button,
it opens the same dialog box that appears the first time you click the
Both button (see “Configure Change Bars for This Merge Session”
on page 98).

Cancel
Aborts the merge, closing all merge windows.
The results of each merge selection will be copied to the Result window. You
can also manually cut and paste text into the Result window.
3. When the merge is complete, a Save dialog box opens so you can save the
Result file.
Green Hills Software
95


Chapter 4. Editing Files with the MULTI Editor
After you save the results, the other Editor windows close. If you save the
Result file with the same name as one of the original files, any Editor windows
still open on that file will be updated with the merged results.
Merging Three Files
When you merge three files, one file is considered the Base file from which the
other two are derived. With this assumption, the Editor is usually able to merge
without asking you for information, using the following rules:
• If a difference exists between the two source files, and one is the same as the
Base file, then the Editor uses the one that is different from the Base file.
• If both source files differ from the Base file, but are the same as each other,
then the Editor uses the new text from either source file.
• If all three files are different, a conflicting change was made and the Editor has
to ask which change to use. In this case, it is likely that you will have to merge
the change manually.
To merge three files:
1. Select merge criteria in the Choose files to merge dialog box (see “Merging
Files” on page 93) and click Merge. An Editor window appears for each of
the three files you specified, as well as an extra Result window that displays
results of the merge. The Status box in the lower left corner of each window
identifies which file is in each window.
In addition to the Editor windows, the three-file Merge dialog box will open.
The Editor will pause at each difference between the files and highlight the
text that is different.
96
MULTI: Managing Projects and Configuring the IDE

Merging Files
2. Use the following buttons in the three-file Merge dialog box to control the
merge results:
Button
Meaning
File 1
Copies the selected text from File 1 into the Result window.
File 2
Copies the selected text from File 2 into the Result window.
All
Copies the selected text from all three files. The first time you click
this, the dialog box Configure change bars for this merge session
appears (see “Configure Change Bars for This Merge Session”
on page 98). 
The next time you click this button, the last values entered
will be used.
1 & 2
Merges the selections from File 1 and File 2.
The first time you click this, the dialog box Configure change bars
for this merge session 
appears (see “Configure Change Bars for This
Merge Session” on page 98). 
The next time you click this button, the
last values entered will be used.
1 & Base
Functions the same as the 1 & 2 button, except it merges the selections
from File 1 and the Base file.
2 & Base
Functions the same as the 1 & 2 button, except it merges the selections
from File 2 and the Base file.
Skip
Finds the next difference without adding the current difference to the
results file.
Custom Merge
Performs the same action as the 1 & 2 button, except that you can
1 & 2
modify the changes in a temporary file before merging them into the
new file.
Help
Opens MULTI's online help for the Merge dialog box.
Change Bars
Changes the settings for the 1 & 21 & Base2 & Base, and All
buttons. This button opens the same dialog box that appears the first
time you click any of those buttons (see “Configure Change Bars for
This Merge Session” on page 98).

Cancel
Aborts the merge, closing all merge windows.
Green Hills Software
97



Chapter 4. Editing Files with the MULTI Editor
Configure Change Bars for This Merge Session
The dialog box Configure change bars for this merge session asks you how you
want to merge multiple selections (with comments in front, between, or after them;
with change bars around them; in what order; and so forth).
This dialog box is accessible from the Merge dialog box (see “Merging Two Files”
on page 94 
or “Merging Three Files” on page 96).
Comparing Files
You can compare files without merging them. To compare two files, do the
following:
1. Select Tools → Diff Files. The Choose two files dialog box will open:
2. In the Left field, specify the filename and version of the first file you want to
compare. Click the up or down arrows to increment or decrement the version
number. If you do not specify a version, the Editor assumes you mean the
current version.
98
MULTI: Managing Projects and Configuring the IDE

Comparing Files
3. In the Right field, specify the filename and version you want to compare to
the first file. Click the up or down arrows to increment or decrement the version
number. If you do not specify a version, the Editor assumes you mean the
current version.
4. Click Diff.
The Editor opens a Diff Viewer that shows the differences between the two specified
versions. For more information, see “The Diff Viewer” on page 121.
Green Hills Software
99


Chapter 5
Integrating MULTI with a
Version Control System
Contents
Configuring Version Control in MULTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Integrating with Third-Party Version Control Systems . . . . . . . . . . . . . . . . . . . 104

Chapter 5. Integrating MULTI with a Version Control System
You can integrate the MULTI IDE with the ClearCase, CVS, SourceSafe, or
Subversion version control system. This chapter describes general procedures for
enabling and configuring a version control system with MULTI. It also provides
specific instructions regarding each of the supported version control systems.
Configuring Version Control in MULTI
MULTI's support for version control is enabled by default and will attempt to
automatically detect which version control system is being used. To configure
MULTI's version control support, perform the following steps:
1. Open the Options window:
• In the Editor, Checkout Browser, Debugger or Launcher, select Config
→ Options; or
• In the Project Manager, select Tools → Options.
2. Select the General tab of the Options window.
3. In the Version Control drop-down list, select a version control system.
102
MULTI: Managing Projects and Configuring the IDE


Configuring Version Control in MULTI
The available options are:
• Auto Detect — Causes MULTI to automatically detect the version control
system being used. This is the default setting, and should only be changed
if MULTI does not integrate correctly with your version control system.
• Disable — Disables MULTI's version control integration.
• CVS — Configures MULTI to integrate with CVS. For detailed
information, see “Integrating with CVS” on page 105.
• Subversion — Configures MULTI to integrate with Subversion. For
detailed information, see “Integrating with Subversion” on page 108.
• ClearCase — Configures MULTI to integrate with the Rational ClearCase
version control system. For detailed information, see “Integrating with
ClearCase” on page 104
.
Green Hills Software
103

Chapter 5. Integrating MULTI with a Version Control System
• SourceSafe (Windows only) — Configures MULTI to integrate with the
Microsoft SourceSafe version control system. For detailed information,
see “Integrating with SourceSafe” on page 105.
4. Click the Configure Version Control button to open a dialog box that will
prompt you to enter settings that are specific to the version control system you
have selected. After you have entered the applicable settings, click OK in the
dialog box.
5. Click OK in the Options window. For information about saving your changes,
see “Saving Configuration Settings” on page 134.
Note
You may need to restart any Editors that you have open before the version
control configuration changes take effect.
Integrating with Third-Party Version Control Systems
The following sections describe how to integrate with third-party version control
systems supported by MULTI.
Integrating with ClearCase
If you use ClearCase, the program cleartool should exist in your path. If it does
not, or if your ClearCase program uses a filename other than cleartool you should
configure your ClearCase options to set the path to the ClearCase executable (see
“Configuring Version Control in MULTI” on page 102). On Windows, the default
location is C:\Program Files\Rational\ClearCase\bin\cleartool. On Linux/Solaris,
the default location is /usr/atria/bin/cleartool.
The following features and issues are specific to ClearCase:
• Show History starts the ClearCase history browser.
• Revert To History and Revert To Date are not available.
• Show View is added to the Editor Version menu on Linux/Solaris hosts. (See
“Working with Views (Linux/Solaris only)” on page 105).
• There is no Checkout Browser support for ClearCase.
• Only dynamic views are supported. (Snapshot views are not.)
104
MULTI: Managing Projects and Configuring the IDE

Integrating with CVS
Working with Views (Linux/Solaris only)
If you are going to set a view, it must be set before MULTI is started. There is no
way to set or change the view once MULTI has been started. To see your current
view, choose Version → Show View from the Editor. This will display the working
directory view and the set view. The working directory view is also displayed next
to the filename being edited at the top of the editor pane.
If it is necessary to work with two different views, set a view, start the Editor, and
then set the next view and start another Editor.
Integrating with CVS
If you use CVS (Concurrent Version Systems), the program cvs should exist in
your path. If it does not, or if your CVS program uses a filename other than cvs,
configure your CVS options to set the path to the CVS executable (see “Configuring
Version Control in MULTI” on page 102).

The following features and issues are specific to CVS:
• The Checkout Browser is supported with CVS. For more information, see
“The Checkout Browser” on page 114.
• The History Browser is supported with CVS. For more information, see “The
History Browser” on page 120.
• Version control integration may not function optimally in a Cygwin
environment. For more information, see “Using Subversion or CVS in a Cygwin
Environment (Windows)” on page 109
.
Integrating with SourceSafe
Note
The SourceSafe integration is only available on Windows hosts.
If you use SourceSafe, the program ss.exe should exist in your path. If it does not,
or if your SourceSafe program uses a filename other than ss.exe you should configure
your SourceSafe options to set the path to the SourceSafe executable (see
Green Hills Software
105

Chapter 5. Integrating MULTI with a Version Control System
“Configuring Version Control in MULTI” on page 102). The default location used
is C:\Program Files\Microsoft Visual Studio\VSS\win32\ss.exe.
One advantage of this integration is that several different databases can be used
simultaneously. The user can edit files from two different databases at the same
time. The integration requires some setup steps to indicate what database is being
used.
The following features and issues are specific to SourceSafe:
• The Checkout Browser is supported with SourceSafe. For more information,
see “The Checkout Browser” on page 114.
• The History Browser is supported with SourceSafe. For more information, see
“The History Browser” on page 120.
VSS Database Structure Assumptions
The following assumptions are made about the structure of the Visual Source Safe
(VSS) database.
A working directory is defined. This should be defined using the Visual SourceSafe
Explorer
, which comes with the installation of VSS.
The directory structure in the working directory mirrors the directory structure of
the database. For example: If there is a database with the following structure:
$/
|_hello
|_hello.c
and if the working directory of $/ is C:\ssafedir, then the working directory of the
hello project is assumed to be C:\ssafedir\hello.
Most of the version control operations (such as Check OutPlace Under VC)
assume read/write access permissions. However, you can view files read only.
106
MULTI: Managing Projects and Configuring the IDE

Integrating with SourceSafe
Required Setup Steps
1. It is necessary to specify the database working folder location, otherwise known
as the root of the checkout. It is also necessary to specify what database is
going to be used. The are two ways to specify these parameters.
a. The fist way to configure these parameters is through the GUI.
i. Select the Config → Options available in most MULTI GUIs.
ii. Select the General tab and then choose SourceSafe from the
Version Control drop-down list.
iii. Click the Configure Version Control button and enter the path to
the root of the checkout and the directory path of the srcsafe.ini file
for the database being used. Ask your administrator for the location
of this file.
b. The second way to configure these parameters is to create a .ssdir file at
the root of each database checkout. This file should contain a single line
with the directory path to the srcsafe.ini file for that particular database.
For the example in the previous section it would be necessary to place a
.ssdir file in the directory C:\ssafedir. The contents of the file would
look similar to:
C:\Program Files\Microsoft Visual Studio\VSS
Ask your administrator for the location or determine the location by using
the Open SourceSafe Database option in the Visual SourceSafe
Explorer
. This is a one time setup step required for each database
checkout you want to use the version control integration with.
It is necessary to use this method if the auto detection option is enabled.
Auto detection works by locating and reading the .ssdir file.
2. Set the SSUSER environment variable. Set SSUSER to your SourceSafe
username. This is necessary to avoid queries for your username.
3. Set the SSPWD environment variable. Set SSPWD to the SourceSafe password
that corresponds to the SSUSER environment variable. This is necessary to
avoid queries for your password.
Green Hills Software
107

Chapter 5. Integrating MULTI with a Version Control System
Using the Integration
To create a new project in the database, simply create a new directory in the
appropriate place in the working directory and start checking in files. With the first
checked in file, a new project will be created by that name.
Integrating with Subversion
Integration with Subversion 1.4.x, 1.5.x, and 1.6.x is supported with MULTI. If
you use Subversion, the program svn should exist in your path. If it does not, or if
your Subversion program uses a filename other than svn, configure your Subversion
options to set the path to the Subversion executable. For information about how to
do this, see “Configuring Version Control in MULTI” on page 102.
The following features and issues are specific to Subversion:
• The Checkout Browser is supported with Subversion. For more information,
see “The Checkout Browser” on page 114.
• The History Browser is supported with Subversion. In addition to the normal
History Browser functions, the comment area located at the bottom of the
window displays commit information related to the selected file. Namely, if
another file or files were committed at the same time as the selected file, the
History Browser displays these additional filenames. This information can be
useful if you want to see what other files contain related changes.
The History Browser precedes each additional filename with a letter indicating
the action that was taken when the file was committed. Possible letters and
their meanings follow.
○ — The file was added to the repository.
○ — The file was deleted from the repository.
○ — The file in the repository was modified.
For more information, see “The History Browser” on page 120.
• Version control integration may not function optimally in a Cygwin
environment. For more information, see “Using Subversion or CVS in a Cygwin
Environment (Windows)” on page 109
.
108
MULTI: Managing Projects and Configuring the IDE

Troubleshooting
Troubleshooting
Using Subversion or CVS in a Cygwin Environment (Windows)
If you use Cygwin as your primary shell, you may encounter problems when trying
to perform Subversion or CVS version control operations from the MULTI tools.
By default, Cygwin installs its own versions of svn.exe and cvs.exe, which are
heavily modified to work within the Cygwin environment. Additionally, Cygwin
modifies your PATH environment variable so that a search for cvs.exe or svn.exe
first finds Cygwin's copies. By default, MULTI is configured to search your PATH
and use the first cvs or svn executable it finds. To force use of the correct executable,
we recommend that you configure MULTI to reference the full path of the
non-Cygwin cvs.exe or svn.exe. To do so, follow the steps listed in “Configuring
Version Control in MULTI” on page 102
. You can enter the full path to the executable
in the CVS Configuration or Subversion Configuration dialog box that opens
when you perform step 4.
Green Hills Software
109


Chapter 6
Using MULTI's Version
Control Tools and
Capabilities
Contents
Using Version Control with the Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
The Checkout Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
The Commit Changes Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
The History Browser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
The Diff Viewer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Chapter 6. Using MULTI's Version Control Tools and Capabilities
The MULTI Editor provides access to common version control operations, such as
checking files in and out and viewing version history. Additionally, the MULTI
IDE includes three graphical tools dedicated to displaying information about files
under version control:
• The Checkout Browser — Provides a graphical view of the files in your
checkout and easy access to version control operations. For more information,
see “The Checkout Browser” on page 114.
• The History Browser — Displays the complete revision history of any file
under version control. For more information, see “The History Browser”
on page 120.

• The Diff Viewer — Compares two ASCII files (typically different revisions
of the same file) and highlights differences between them. For more information,
see “The Diff Viewer” on page 121.
Note
The term repository is used throughout this chapter to mean the central
store of version control information for the version control system in use.
Different version control systems may use different terms, for example,
in SourceSafe the repository is called a database.
Using Version Control with the Editor
The MULTI Editor provides access to common version control operations, as
explained in the following sections. For a comprehensive list of the version control
operations you can perform from the Editor, see “The Version Menu” on page 288.
Automatic Checkout
If you enable the Automatic Checkout option, the MULTI Editor will automatically
check out a file when you start editing it. In most version control systems, files that
have not been checked out are read-only, which prevents you from making changes
to them. CVS and Subversion are exceptions to this rule because they allow multiple
users to edit the same file simultaneously and then they attempt to merge the changes.
112
MULTI: Managing Projects and Configuring the IDE

Show Last Edit
To configure the Editor to automatically check out files when you modify them:
1. In the Editor, select the Config → Options. In the Project Manager, select
Tools → Options.
2. Select the General tab.
3. Click the Configure Version Control button and check the Automatic
Checkout option if available (see “Version Control Configuration Options”
on page 184). 
This box may not be available for certain version control systems.
For example, in CVS a file is always checked out so there is no option to enable
or disable Automatic Checkout.
Note
To control Automatic Checkout on a per-file basis, select Version 
Auto Checkout in the Editor.
Show Last Edit
To show the most recent edit made to a portion of a file:
1. In the Editor, select the portion of the file you want to examine.
2. Select Version → Show Last Edit.
This finds the last version of the current file in which the selected text changed
(or the entire file, if no text is selected) and displays the difference in the Diff
Viewer. For information about the Diff Viewer, see “The Diff Viewer”
on page 121. 
If the selection has never changed, a dialog stating this will be
displayed.
This command is only available if the file is under a version control system
(such as CVS, ClearCase, SourceSafe, and Subversion) that supports this
feature. This command is also available if the file has been locally modified,
in which case the Diff Viewer will display the difference between the local
file and the repository version of the file.
Note
Show Last Edit 
does not detect deletions. Because lines that were deleted
in past versions cannot be selected, the Show Last Edit menu item does
not show deletions as the most recent change.
Green Hills Software
113

Chapter 6. Using MULTI's Version Control Tools and Capabilities
Revert to a Previous Version of a File
There are three ways to specify the version of a file to which you want to revert:
• To select the version to revert to from a list of all versions of the file:
1. Select Version → Revert to History.
2. A History Browser will open. You can right-click a version in the browser
window and select Revert to Version (see “The History Browser”
on page 120).

• To revert to a version checked in on a specific date:
1. Select Version → Revert to Date.
2. A dialog box will open where you can enter the date of the appropriate
version.
• To revert to a specific version number:
1. Select Version → Revert to Version.
2. A dialog box will open where you can enter the appropriate version
number.
The Checkout Browser
The Checkout Browser is designed to be used with CVS, SourceSafe, or Subversion
to give you a graphical view of your checkout and the status of files in the repository.
While the History Browser (see “The History Browser” on page 120) is designed
to give you detailed version information about a specific file, the Checkout Browser
gives you general information about every file in your checkout, and provides access
to more detailed information about any file within the checkout. The Checkout
Browser 
also allows you to manipulate the files in your checkout. For example,
you can select files in the Checkout Browser that have been modified, compare
those files using the Diff Viewer, then commit those files to the repository.
The basic modes of operation for the Checkout Browser are:
• Creating a new checkout (CVS only)
• Modifying an existing checkout (CVS only)
• Scanning an existing checkout
114
MULTI: Managing Projects and Configuring the IDE



Starting the Checkout Browser
The following sections provide more information.
Starting the Checkout Browser
You can start the Checkout Browser any of the following ways:
• From the Launcher, click the Checkout Browser button (
), or select
Components → Open Checkout Browser.
• On the command line, enter mcobrowse.exe (Windows) or mcobrowse
(Linux/Solaris).
• From the History Browser, select File → Checkout Browser.
Creating or Modifying a Checkout (CVS only)
The Checkout Browser provides the capability to create or modify an entire CVS
checkout with the CVS Checkout Editor.
To open the CVS Checkout Editor, select File → CVS Checkout Editor from
the Checkout Browser.
The CVS Checkout Editor has two modes of operation, one for creating a new
checkout and one for modifying an existing checkout.
To create a new checkout:
1. Select the Create Checkout tab.
Green Hills Software
115


Chapter 6. Using MULTI's Version Control Tools and Capabilities
2. Fill in the required fields:
• Create Checkout In Directory — Enter the destination directory, which
is where the checkout will be created. If this directory does not exist, but
its parent does, the directory will be created automatically.
• Modules to Checkout — Enter a space-separated list that specifies what
should be checked out. You can enter filenames, directories, and/or
modules as defined on the CVS server.
• Tag to Checkout — Enter the tag to use when creating the checkout.
• Repository Location — Enter the location of the repository. By default,
the repository location is set to whatever is in the $CVSROOT environment
variable.
3. Click OK to create the checkout.
To modify an existing checkout:
1. Select the Modify Checkout tab.
2. Enter the directory of the checkout to be modified in the Checkout Location
text field. This may be a subdirectory of the root of the checkout.
3. Select either Revert to HEAD or one or both of Revert to Tag and Revert
to Date:
• Revert to HEAD — Select this option to reset all sticky tags. (Selecting
this radio button clears the Revert to Tag and Revert to Date check
boxes.)
116
MULTI: Managing Projects and Configuring the IDE


Scanning a Checkout
• Revert to Tag — Select the check box, then enter the tag of the checkout
to revert to in the text field. (Selecting this check box clears the Revert
to HEAD 
radio button.)
• Revert to Date — Select the check box, then enter the date of the checkout
to revert to in the text field. CVS supports many different date formats.
Example date formats are 2006-09-24 and 24 Sep 2006. (Selecting
this check box clears the Revert to HEAD radio button.)
Note
If you specify both a tag and a date, CVS sets the sticky tag. It
also sets the version back to the specified date in that tagged
branch, but does not set the sticky date.
4. Click OK to modify the checkout.
Scanning a Checkout
Scanning loads the information about an existing checkout or part of a checkout
into the Checkout Browser. To scan a preexisting checkout:
1. Set the Roots field. The Roots field indicates what directories will be scanned
and displayed in the browser. You can use any of the following methods to
select what will be displayed:
• Enter a directory in Roots. When using CVS or Subversion, it is possible
to supply a comma-separated list of directories.
• Use the Roots drop-down list to select from directories that have
previously been displayed in the Checkout Browser.
• Click
to browse for the correct folder.
2. Press Enter after entering or selecting a directory in the Roots field, or select
File → Full Rescan.
3. The Checkout Browser will scan the selected directories and display the
results of the scan.
Green Hills Software
117


Chapter 6. Using MULTI's Version Control Tools and Capabilities
Note
If one checkout contains another, and you scan the containing checkout,
the Checkout Browser only displays results for the containing checkout.
To display results for the contained checkout, you must scan it directly.
The Checkout Browser GUI
For information about the Checkout Browser's menus, toolbar buttons, columns,
and status pane, see Chapter 12, “Version Control Tools GUI Reference” on page 307.
118
MULTI: Managing Projects and Configuring the IDE


Features and Issues Specific to CVS
Features and Issues Specific to CVS
There are some limitations in the Checkout Browser when you use it with CVS.
These limitations are:
• Updating the entire checkout (or a subdirectory) automatically uses the -Pd
option to pull in new directories from the repository and prune empty directories
from the checkout.
• Directories that have been added to the repository do not display after a Rescan
although they will be displayed after an Update. This is because the Checkout
Browser 
cannot determine whether the new directories are empty, and will be
pruned with the next update.
The Commit Changes Dialog Box
The Commit Changes dialog box allows you to specify a log message when
committing one or more files. The dialog box also gives you the ability to manipulate
which files are committed and to see the changes in those files. A sample Commit
Changes 
dialog box follows.
Green Hills Software
119


Chapter 6. Using MULTI's Version Control Tools and Capabilities
The Commit Changes dialog box opens when you try to commit one or more files
via the Checkout Browser or the MULTI Editor. To commit files, do one of the
following:
• In the Checkout Browser, right-click a locally modified file or a selection of
locally modified files, and select Commit.
• In the MULTI Editor, select Version → Check In or Version → Commit (the
option varies depending on your version control system).
When the Commit Changes dialog box initially opens, the bottom pane contains
a list of files to commit. Depending on the specifics of your version control system
and its configuration, the text field at the top of the dialog box may contain a template
for a commit message. Simply enter a commit message and click the Commit button
to commit the selected files. If the commit operation fails, the dialog box is not
dismissed, giving you the opportunity to address whatever issue caused the failure
without losing your commit message.
For information about the menu entries and buttons in the Commit Changes dialog
box, see “The Commit Changes Dialog Box” on page 315.
The History Browser
The History Browser allows you to examine all versions of a single file that exist
in your version control system. As you scroll through the versions of the file, you
can view the check in comments associated with those versions. You can also use
the History Browser to compare versions or revert to a previous version.
To start the History Browser, do one of the following:
• In the Editor, select Version → Show History.
• In the Checkout Browser, click the Show History button (
).
• You can open the History Browser as a stand-alone application by starting
the MULTI Editor with the -hb filename option. For example, to start a History
Browser 
that lists the version history of the source files sample.cc, enter:
me -hb sample.cc
120
MULTI: Managing Projects and Configuring the IDE


The Diff Viewer
Tip
To view version changes that occurred after the History Browser was
opened, select File → Refresh History.
For information about menu entries in the History Browser, see “History Browser
Menus” on page 316. 
For information about other components of the window, see
“The History Browser Window” on page 318.
The Diff Viewer
The Diff Viewer graphically displays differences between two ASCII files, whether
they are different files or different versions of the same file.
Note
The Diff Viewer cannot open files larger than 2 GB in size, and it may
not be able to open large files that are smaller than 2 GB.
Starting the Diff Viewer
The following list describes the ways in which you can open the Diff Viewer:
• MULTI automatically opens the Diff Viewer whenever you choose to compare
two file versions in the History Browser or Checkout Browser (see “The
History Browser” on page 120 
and “The Checkout Browser” on page 114).
Green Hills Software
121


Chapter 6. Using MULTI's Version Control Tools and Capabilities
• The Diff Viewer is a stand-alone tool that you can open from the command
line with one of the following executables:
○ Windows — diffview.exe
○ Linux/Solaris — diffview
For required and optional command line options, see “Starting the Diff Viewer
from the Command Line” on page 122.

• In the Debugger command pane, enter the diff command.
• In the Editor, select Tools → Diff Files (see “The Tools Menu” on page 287).
The Choose two files dialog box opens:
Select filenames and versions to compare, then click Diff. The Diff Viewer
opens on the specified files or file versions. For more information, see “Using
the Diff Viewer” on page 125
.
Starting the Diff Viewer from the Command Line
To start the Diff Viewer as a stand-alone program, run the diffview executable from
the command line.
• The syntax for comparing two files on disk is:
diffview [optionsfile1 file2
• The syntax for comparing two versions of a file under CVS is:
diffview [options] [-r rev1 -D date1] [-r rev2 -D date2file
• The syntax for comparing two versions of a file under Subversion is:
diffview [options] [-r rev1[:rev2]] file1 [file2]...
122
MULTI: Managing Projects and Configuring the IDE

Starting the Diff Viewer
The diffview command accepts the following options.
Note
In this table, the term whitespace refers to space and tab characters. It
does not refer to newline characters.
-add
Adds the files or file versions to the pane in the lower-left corner of the existing Diff Viewer,
but does not display them. If a Diff Viewer is not already open, this option opens one and
displays the diff.
-b
Ignores differences in the amounts of whitespace when displaying differences. For more
information, see the description of Ignore Whitespace Amount in “Diff Viewer Menus”
on page 319.

See also -lang=c and -w.
-h--help (Linux/Solaris only)
Displays information about diffview command options.
-i
Ignores differences in case.
-ignore_hex_numbers
Ignores differences in hexadecimal numbers.
-ignore_numbers
Ignores differences in decimal numbers.
-intraline
Displays differences within lines.
See also -nointraline.
-intraline_lineup
Displays differences within lines column by column, not allowing insertions or deletions.
See also -nointraline_lineup.
-intraline_tokens
Displays differences within lines word by word (default).
See also -nointraline_tokens.
Green Hills Software
123

Chapter 6. Using MULTI's Version Control Tools and Capabilities
-lang=c
Ignores whitespace using heuristic C tokenization. For more information, see the description
of Ignore Whitespace for C in “Diff Viewer Menus” on page 319.
See also -b and -w.
-local
Diffs a list of files against their local versions.
-new-noreuse
Opens a new Diff Viewer window.
See also -reuse.
-nointraline
Does not display differences within lines.
See also -intraline.
-nointraline_lineup
Displays differences within lines, allowing insertions or deletions (default).
See also -intraline_lineup.
-nointraline_tokens
Displays differences within lines character by character.
See also -intraline_tokens.
-reuse
Reuses an existing Diff Viewer (default). If no Diff Viewer is running, a new one opens.
See also -new-noreuse.
-w
Ignores all whitespace. For more information, see the description of Ignore All Whitespace in
“Diff Viewer Menus” on page 319.
See also -b and -lang=c.
124
MULTI: Managing Projects and Configuring the IDE



Using the Diff Viewer
Using the Diff Viewer
The Diff Viewer contains the following features:
• The main panes of the Diff Viewer display the pair of files or file versions that
are being compared. Differences are highlighted in the control area color, while
the current selection is highlighted in the highlight color.
• The status bar displays the current diff number and total number of diffs.
• The pane in the lower-right corner displays the version control comments
associated with the file displayed in the right-hand pane. This pane is not present
if you are displaying local changes or if the file is not under version control.
• The pane in the lower-left corner contains a list of all the file or file-version
pairs currently available for diffing in the Diff Viewer. The columns in this
pane display the following information (from left to right):
○ The first column displays a blue dot next to the current file or file-version
pair. The Reload (
) button can be used to reload the current diff from
the files on disk.
○ The second column shows the file that is displayed in the left pane when
the row is selected, and the third column shows the version of that file. If
the file is on disk, this field displays disk; if the file has been locally
Green Hills Software
125






Chapter 6. Using MULTI's Version Control Tools and Capabilities
modified, it displays local (version numberto indicate the version of the
file that it is based on.
○ The fourth column shows the file that is displayed in the right pane when
the row is selected, and the fifth column shows the version of that file. If
the file is on disk, this field displays disk; if the file has been locally
modified, it displays local (version number).
○ The last column displays the total number of differences. A question mark
(?) in this column indicates that the number of differences has not been
calculated. To improve performance, the number of differences is calculated
only when the diff for that row is displayed.
Right-click in the lower-left pane to access a shortcut menu that contains the
following operations:
○ Show Diff — Displays the highlighted diff view in the main panes of the
Diff Viewer. The blue dot appears next to the file/file-version pair you
selected.
○ Remove Diff — Removes the highlighted diff view from the pane in the
lower-left corner, and from the main panes of the Diff Viewer, if it is
currently displayed.
Navigating the Diff Viewer
The Diff Viewer provides several ways to navigate through files:
• The
button and the minus (-) keyboard key jump back to the previous
difference between the two displayed files/file versions.
• The
button and the plus (+) keyboard key jump down to the next difference.
• The
button jumps to the first difference.
• The
button jumps to the last difference.
• The
button and the asterisk (*) keyboard key reposition the pane to display
the current difference (this is useful if you lose your place while scrolling).
• Ctrl+and Ctrl+incrementally search forward or backward through the
displayed files/file versions (see “Incremental Searching” on page 83). If there
is no current selection, the Diff Viewer begins its search at the top left corner
of the visible pane.
126
MULTI: Managing Projects and Configuring the IDE

Diff Viewer Menus
• Ctrl+goes to a line number (see “Go To a Line Quickly” on page 82).
Diff Viewer Menus
For information about menu items available in the Diff Viewer, see “Diff Viewer
Menus” on page 319.

Green Hills Software
127


Part II
Configuring the MULTI IDE


Chapter 7
Configuring and Customizing
MULTI
Contents
Setting Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Creating Custom Functionality Using Scripts and Macros . . . . . . . . . . . . . . . 141
Customizing the GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Configuring and Customizing Toolbar Buttons . . . . . . . . . . . . . . . . . . . . . . . . . 145
Configuring and Customizing Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Customizing Keys and Mouse Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Configuring Taskbar Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Configuring Window Docking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Configuring Window Focus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
Configuring the Editor for a Programming Language . . . . . . . . . . . . . . . . . . . 164
Configuring Editor Auto-Complete . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Configuring File Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Configuring File Associations (Windows only) . . . . . . . . . . . . . . . . . . . . . . . . 172
Linking to a Different Compiler and Probe Installation . . . . . . . . . . . . . . . . . . 173
Installing a Patch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

Chapter 7. Configuring and Customizing MULTI
This chapter explains how you can configure and customize the MULTI environment
to suit your specific needs and preferences. It includes information about:
• Setting configuration options that affect how various components of the MULTI
IDE function (see “Setting Configuration Options” on page 132).
• Using scripts and/or macros to automate tasks and create custom functionality
(see “Creating Custom Functionality Using Scripts and Macros” on page 141).
• Customizing the appearance and behavior of MULTI's graphical components
(see “Customizing the GUI” on page 143).
Setting Configuration Options
MULTI contains a number of configuration options that control how various
components of the MULTI IDE function. The following sections explain how you
can change the settings of these options via the Options window, the configure
command, and configuration files.
Using the Options Window
To set or edit configuration options via the Options window, do one of the following:
• From the Launcher, Debugger, or Editor, select Config → Options.
• From the Project Manager, select Tools → Options.
The Options window opens, allowing you to edit the values of most of the
configuration options that affect MULTI. For information about each configuration
option and its available settings, see Chapter 8, “Configuration Options” on page 175.
By default, any changes you make in the Options window are remembered across
MULTI sessions. If you want changes to affect only the current MULTI session,
clear the check box labeled Save configuration as user default (located in the
bottom-left corner of the Options window).
Using the configure Command
You can set or edit configuration options from the MULTI Debugger command
pane by issuing the configure command. Configuration settings entered or modified
132
MULTI: Managing Projects and Configuring the IDE

Using the configure Command
with the configure command are automatically reflected in the Options window
the next time it is opened.
The configure command may take any of the following forms. Note that you should
not use this command while the Options window is open.
• configure config_option=value
• configure config_optionvalue
• configure config_option value
where config_option identifies which option you are setting and value is an
appropriate setting for that option. For example:
> configure tabsize=9
> configure moon: On
> configure linenumbermode: Both
> configure prompt "Your wish is my command> "
If value is a Boolean, you may also enter:
• configure config_option
to toggle the Boolean value. MULTI indicates the new value. For example:
> configure closebuttonontitlebar
Toggling closebuttonontitlebar: new value is Off
To display a list of all the config_options that can be set, enter:
• configure ?
For a complete description of every configuration option and the available settings
for each, see Chapter 8, “Configuration Options” on page 175.
By default, changes you make to configuration settings via the configure command
only affect the current MULTI session. For information about saving configuration
modifications, see the next section.
Green Hills Software
133

Chapter 7. Configuring and Customizing MULTI
Saving Configuration Settings
Changes you make to configuration settings via the Options window or the
configure command are saved to configuration files (*.cfg). You can save changes
to the user configuration file, the global configuration file, an application-specific
configuration override file, or a file you specify and that you can manually load in
future sessions. The following sections describe how to save configuration settings
to each of these files.
Saving to the User Configuration File
To save configuration changes to the user configuration file so that they are
automatically loaded every time you start a MULTI application, do one of the
following:
• From most MULTI applications, select Config → Save Configuration as
User Default. (From the Project Manager, select Tools → Configuration 
Save Configuration as User Default.)
• Enter the saveconfig command (see “General Configuration Commands” in
Chapter 6, “Configuration Command Reference” in the MULTI: Debugging
Command Reference 
book).
Configuration settings modified from the Options window are saved to the user
configuration file by default. For more information, see “Using the Options Window”
on page 132
.
For more information about the user configuration file, see “The User Configuration
File” on page 138
.
Saving to the Global Configuration File
To save your current settings to the global configuration file so that they are loaded
for every user of the installation:
1. Enter the saveconfigtofile command in the Debugger command pane, or select
Config → Save Configuration As from most MULTI applications (from the
Project Manager, select Tools → Configuration → Save Configuration As).
For more information about the saveconfigtofile command, see “General
134
MULTI: Managing Projects and Configuring the IDE

Saving Configuration Settings
Configuration Commands” in Chapter 6, “Configuration Command Reference”
in the MULTI: Debugging Command Reference book.
2. The Save Configuration to what file? dialog box opens. Save the file as:
• Windows — ide_install_dir\config\ghs.cfg
• Linux/Solaris — ide_install_dir/config/ghs.cfg
For more information about the global configuration file, see “The Global
Configuration File” on page 137
.
Saving to an Application-Specific Configuration Override File
To save your current settings to an application-specific override file so that the
global configuration file is overridden for a particular MULTI application:
1. Enter the saveconfigtofile command in the Debugger command pane, or select
Config → Save Configuration As from most MULTI applications (from the
Project Manager, select Tools → Configuration → Save Configuration As).
For more information about the saveconfigtofile command, see “General
Configuration Commands” in Chapter 6, “Configuration Command Reference”
in the MULTI: Debugging Command Reference book.
2. The Save Configuration to what file? dialog box opens. Save the file as:
• Windows — ide_install_dir\config\override\application_name.cfg
• Linux/Solaris — ide_install_dir/config/override/application_name.cfg
where application_name is the name of the application whose configuration
you want to override. For example, to override the global configuration of the
MULTI Editor, name the file me.cfg. For a list of application names, see “The
MULTI Integrated Development Environment” in Chapter 1, “Introduction”
in the MULTI: Getting Started book.
To save your current settings to an application-specific override file so that the user
configuration file is overridden for a particular MULTI application, follow the
preceding steps, but save the file as:
• Windows 7/Vista —
user_dir\AppData\Roaming\GHS\v6\override\application_name.cfg
Green Hills Software
135

Chapter 7. Configuring and Customizing MULTI
• Windows XP — user_dir\Application
Data\GHS\v6\override\application_name.cfg
• Linux/Solaris — user_dir/.ghs/v6/override/application_name.cfg
Saving to a User-Specified Configuration File
To save your current settings to a configuration file that is not automatically loaded
at startup but that you can manually load to configure new or existing MULTI
sessions, perform the following steps:
1. Enter the saveconfigtofile command in the Debugger command pane, or select
Config → Save Configuration As from most MULTI applications (from the
Project Manager, select Tools → Configuration → Save Configuration As).
For more information about the saveconfigtofile command, see “General
Configuration Commands” in Chapter 6, “Configuration Command Reference”
in the MULTI: Debugging Command Reference book.
2. In the Save Configuration to what file? dialog box, specify a path and
filename for the configuration file.
See also “Loading Configuration Files” on page 140.
Propagating Configuration Settings
In general, if you change the setting of a configuration option but do not save the
configuration as the default, only the MULTI application from which the option
was changed is aware of the new setting. If you do save the configuration as the
default, however, all MULTI applications launched after the change are also notified
of the new setting.
A limited number of configuration options do not follow this general rule. Changing
the setting of one of these options causes all MULTI applications opened during
the current session to be notified of the change—whether or not you saved the
configuration as the default. These options are noted where applicable.
To be sure that a new option setting takes effect in all MULTI applications, save
the configuration as the default and close and restart the MULTI IDE.
136
MULTI: Managing Projects and Configuring the IDE

Creating and Editing Configuration Files
Creating and Editing Configuration Files
As an alternative to setting configuration options via the Options window or the
configure command, you can manually create or edit configuration files (*.cfg)
using the MULTI Editor or another text editor. There are several types of
configuration files:
• Global configuration file (see “The Global Configuration File” on page 137)
• User configuration file (see “The User Configuration File” on page 138)
• Application-specific configuration override files (see “Application-Specific
Configuration Override Files” on page 138)
• Command line configuration file (see “The Command Line Configuration File”
on page 139)
If conflicting settings exist among these configuration files, the order in which the
files are loaded determines which settings take effect. For more information, see
“Loading Configuration Files” on page 140.
For information about the format of configuration files, see “Configuration File
Format” on page 139
.
The Global Configuration File
Changes you make to the global configuration file are read each time a MULTI
application starts and affect every user of the installation. This file is useful for
setting up a common environment for a group of users working with the MULTI
IDE. The global configuration file should be located at:
• Windows — ide_install_dir\config\ghs.cfg
• Linux/Solaris — ide_install_dir/config/ghs.cfg
If ghs.cfg is not found, application_name.cfg is used (if it exists), where
application_name is a replaceable for a MULTI stand-alone application. For
example, multi.cfg is the .cfg file for the MULTI Debugger, me.cfg is the .cfg file
for the MULTI Editor, etc.
The global configuration file can be overridden on a per-application basis. For more
information, see “Application-Specific Configuration Override Files” on page 138.
Green Hills Software
137

Chapter 7. Configuring and Customizing MULTI
The User Configuration File
Changes you make to the user configuration file are read each time a MULTI
application starts and only affect the user specified in user_dir (see below). This
file is useful for setting up the environment required by a single user working with
the MULTI IDE. The user configuration file should be located at:
• Windows 7/Vista — user_dir\AppData\Roaming\GHS\v6\ghs.cfg
• Windows XP — user_dir\Application Data\GHS\v6\ghs.cfg
• Linux/Solaris — user_dir/.ghs/v6/ghs.cfg
If ghs.cfg is not found, application_name.cfg is used (if it exists), where
application_name is a replaceable for a MULTI stand-alone application. For
example, multi.cfg is the .cfg file for the MULTI Debugger, me.cfg is the .cfg file
for the MULTI Editor, etc.
The user configuration file can be overridden on a per-application basis. For more
information, see “Application-Specific Configuration Override Files” on page 138.
Application-Specific Configuration Override Files
Both the global configuration file and the user configuration file can be overridden
on a per-application basis.
To override the global configuration file for a particular MULTI application, create
a configuration file located in:
• Windows — ide_install_dir\config\override
• Linux/Solaris — ide_install_dir/config/override
The override configuration file should be named application_name.cfg, where
application_name is the name of the application whose configuration you want
to override. For example, to override the global configuration of the MULTI Editor,
name the file me.cfg.
To override the user configuration file for a particular application, create a
configuration file named application_name.cfg in:
• Windows 7/Vista — user_dir\AppData\Roaming\GHS\v6\override
138
MULTI: Managing Projects and Configuring the IDE

Creating and Editing Configuration Files
• Windows XP — user_dir\Application Data\GHS\v6\override
• Linux/Solaris — user_dir/.ghs/v6/override
The Command Line Configuration File
You can specify a configuration file (*.cfg) from the command line with the
-configure filename option (see “Using the Command Line” in Chapter 1,
“Introduction” in the MULTI: Debugging book).
Configuration File Format
Each line in a configuration file should either:
• Begin with a pound sign (#) as the first non-whitespace character and contain
a comment (these lines are ignored)
• Be in the format
config_option:value
where config_option identifies which option you are setting and value is
an appropriate setting for that option. Appropriate values for config_option
and value are the same as those used with the configure command (see “Using
the configure Command” on page 132)
, but you do not need to include the
configure command in .cfg files.
For a complete description of every configuration option and the available
settings for each, see Chapter 8, “Configuration Options” on page 175.
Example 7.1. Configuration File Contents
# This is a comment that's ignored.
TabSize: 8
Background: #ffffff
Moon: On
LineNumberMode: Both
Prompt: "> "
# The following blank line is ignored as well:
AlwaysUseMeToFixBuildErrors: Off
Green Hills Software
139

Chapter 7. Configuring and Customizing MULTI
Loading Configuration Files
On startup, MULTI applications automatically initialize configuration options from
the following configuration files (*.cfg), if they exist, in the following order:
1. Global configuration file (If a global configuration override file exists for a
particular application, the application loads it instead of the global configuration
file. See “The Global Configuration File” on page 137 and “Application-Specific
Configuration Override Files” on page 138.)

2. User configuration file (If a user configuration override file exists for a
particular application, the application loads it instead of the user configuration
file. See “The User Configuration File” on page 138 and “Application-Specific
Configuration Override Files” on page 138.)

3. The configuration file, if any, specified on the command line with the
-configure option (See “The Command Line Configuration File” on page 139.)
If conflicting settings exist among these configuration files, the settings in the last
file loaded override settings specified in previously loaded files.
Note
If you start the MULTI Editor from the MULTI Debugger, the Editor
inherits the settings that were initialized when the Debugger was started.
As a result, any configuration override files that exist to overwrite settings
for the Editor will not take effect.
Script files can also affect configuration options. For more information, see “Using
Script Files” on page 142
.
To load a predefined configuration file during a MULTI session, do one of the
following:
• Choose Config → Load Configuration (from the Project Manager, Tools 
Configuration → Load Configuration), and select the configuration file you
want to load.
• In the Debugger command pane, use the configurefile command (see “General
Configuration Commands” in Chapter 6, “Configuration Command Reference”
in the MULTI: Debugging Command Reference book).
140
MULTI: Managing Projects and Configuring the IDE

Clearing Configuration Settings
Clearing Configuration Settings
To permanently delete your user configuration file, which contains configuration
options you have saved, do one of the following:
• Select Config → Clear User Default Configuration from most MULTI
applications (from the Project Manager, select Tools → Configuration 
Clear User Default Configuration).
• Enter the clearconfig command in the Debugger command pane (see “General
Configuration Commands” in Chapter 6, “Configuration Command Reference”
in the MULTI: Debugging Command Reference book).
• Delete the following file:
○ Windows 7/Vista — user_dir\AppData\Roaming\GHS\v6\ghs.cfg
○ Windows XP — user_dir\Application Data\GHS\v6\ghs.cfg
○ Linux/Solaris — user_dir/.ghs/v6/ghs.cfg
Future sessions will use MULTI's default settings unless you create a new user
configuration file or a user configuration override file (operates on a per-application
basis) or specify another configuration file for the session. For more information
about the user configuration file, see “The User Configuration File” on page 138.
Creating Custom Functionality Using Scripts and Macros
You can use scripts and/or macros to customize MULTI to simplify and automate
tasks. A script is a list of commands and expressions in a file that MULTI reads
and executes as if they were entered individually in the Debugger command pane.
Scripts are powerful tools for automating both common tasks and regression testing.
A script file could, for example, compare a program variable to a constant value
and then perform some action based on that result. Scripts are also useful for
configuring your target board. You could also write a command script that executes
parts of your program and then checks to see whether the process is running
correctly. Such a script would be useful for verifying that the process still runs as
expected after you make changes. For complete details on how to write, use, and
debug scripts, see Chapter 1, “Using MULTI Scripts” in the MULTI: Scripting
book.
Green Hills Software
141

Chapter 7. Configuring and Customizing MULTI
Using Script Files
Upon startup, or upon loading a program, the MULTI Debugger can execute script
files. Script files run after configuration files are loaded (see “Loading Configuration
Files” on page 140). 
The Debugger runs the following scripts, if they exist, in the
following order:
1. Global script file
2. User script file
3. The script file, if any, specified on the command line with the -rc option
4. Program script file
The global script file, user script file, and command line script file are executed
when the first MULTI Debugger window appears. All Debugger windows launched
in a debugging session share the same Debugger environment. The program script
file is executed every time the corresponding program is loaded into a Debugger
window.
The following table provides details about these script files.
Global script file
• Windows — ide_install_dir\config\multi.rc
• Linux/Solaris — ide_install_dir/config/multi.rc
This file is useful for commands that need to run once when any person in a user group starts
the Debugger for the first time in a debugging session.
User script file
• Windows 7/Vista — user_dir\AppData\Roaming\GHS\v6\multi.rc
• Windows XP — user_dir\Application Data\GHS\v6\multi.rc
• Linux/Solaris — user_dir/.ghs/v6/multi.rc
This file is useful for commands that need to run once when a single user debugs any program.
Command line script file
You can specify a script file from the command line with the -rc option (see Appendix C,
“Command Line Reference” in the MULTI: Debugging book). For example:
multi my_prog -rc my_script
142
MULTI: Managing Projects and Configuring the IDE

Customizing the GUI
Program script file
• Windows — executable_dir\executable_name.rc
• Linux/Solaris — executable_dir/executable_name.rc
The program script file is executed every time the corresponding program is loaded into a
Debugger window (that is, with every new Debugger window opened on the program, or with
every program reload in the current Debugger, but not with every process restart).
If you load a new program into an existing Debugger window, MULTI will automatically execute
the commands in the script file of the new program (if any), but it does not clean up the effects
of the script file of the old program (if any).
For more information about writing scripts to include in your startup files, see
Chapter 1, “Using MULTI Scripts” in the MULTI: Scripting book.
Customizing the GUI
MULTI allows you to customize buttons, menus, keystroke combinations, and
mouse clicks in the Debugger, Project Manager, Editor, and some other MULTI
applications. You can remove these GUI elements, add new GUI elements, or change
the commands that are executed when the GUI element is used.
You can define customized GUI elements using the following methods:
• Enter configuration commands in the Debugger command pane. For proper
syntax, refer to the commands that appear in the following sections.
• Use the Options window to access and change configuration options. To open
the Options window, select Config → Options.
• Write a script file that contains customization commands. The following table
lists the commands used to configure each GUI element. Be aware that the
script files that MULTI loads automatically (global, user, and program script
files) are loaded only when the Debugger is launched, so do not put
customizations that apply to the Project Manager and Editor into these startup
script files; use a configuration file instead. For more information about writing
a script, see Chapter 1, “Using MULTI Scripts” in the MULTI: Scripting book.
Changes must be be saved in a configuration file if you want the configuration
available for later use (see “Saving Configuration Settings” on page 134). Once you
have defined a configuration file or script file that customizes the GUI, you can
Green Hills Software
143

Chapter 7. Configuring and Customizing MULTI
have MULTI load that file. For more information about these and other files that
MULTI uses at startup, see “Creating and Editing Configuration Files” on page 137
and “Using Script Files” on page 142.
To customize a particular GUI element, use the following as a guide:
Debugger buttons
• Debugger command pane — To customize buttons within the current MULTI session, use
the debugbutton command. For information about the debugbutton command, see
“Configuring and Customizing Toolbar Buttons” on page 145.
• GUI — To customize buttons across MULTI sessions, select Config → Customize Toolbar
from the Debugger menu bar. For information about how to use the window that appears,
see “Adding, Removing, and Rearranging Toolbar Buttons” in Appendix A, “Debugger
GUI Reference” in the MULTI: Debugging book.
Editor buttons
• Debugger command pane — Use the editbutton command (see “Configuring and
Customizing Toolbar Buttons” on page 145).
• GUI — Select Config → Options+MULTI Editor+Configure Editor Buttons (see “The
MULTI Editor Options Tab” on page 221)
GUI menus
• Debugger command pane — Use the menu command (see “Configuring and Customizing
Menus” on page 148).
• GUI — Select Config → Customize Menus.
Keyboard shortcuts
• Debugger command pane — Use the keybind command (see “Customizing Keys and
Mouse Behavior” on page 153).
• GUI — Select Config → Options+General+Keys (see “The General Options Tab”
on page 177).
Mouse actions
• Debugger command pane — Use the mouse command (see “Customizing Keys and Mouse
Behavior” on page 153).
• GUI — Select Config → Options+General+Mouse (see “The General Options Tab”
on page 177).
144
MULTI: Managing Projects and Configuring the IDE


Configuring and Customizing Toolbar Buttons
Configuring and Customizing Toolbar Buttons
You can customize Debugger or Editor toolbar buttons by using the following
Debugger commands:
debugbutton [num] [name] [c=command] [i=iconname] [h=helpstring] [t=tooltip]
editbutton [num] [name] [c=command] [i=iconname] [h=helpstring] [t=tooltip]
Adds, deletes, or configures a button on the Debugger's (debugbutton) or Editor's
(editbutton) toolbar, where:
• num is the number that MULTI assigns to the button.
• name is the name of the button.
• command is the command executed when the button is pressed. You may use
semicolons to execute multiple commands. For example:
> debugbutton printxy c="print x;print y"
This command creates a button named printxy that, when clicked, prints out
the values of the variables x and y in the current context.
• iconname is the name of the button's icon, which may be:
○ A built-in icon. To obtain the names of built-in icons and to see what the
icons look like, select Config → Options+MULTI Editor+Configure
Editor Buttons
. Alternatively, select Config → Customize Toolbar from
the Debugger, and click Add Custom Button (
) in the window that
appears.
○ The filename of an icon you have created yourself. If only a partial path
is given, it is assumed to be relative to the MULTI IDE installation
directory. For information about creating icons, see “Creating and Working
with Icons” on page 147.

• helpstring is the text that appears in the status bar when the cursor moves
over the button.
• tooltip is the text that appears when the cursor hovers over the button. If
you do not specify a tooltip, the name of the button is used.
Green Hills Software
145

Chapter 7. Configuring and Customizing MULTI
The arguments namecommandiconnamehelpstring, and tooltip must be
entered as either single words or quoted strings of the form:
"This is a quoted string."
"These are quotes \" \" within a quoted string."
You cannot save debugbutton changes across MULTI sessions. As a result, this
command is generally only useful for the creation or modification of buttons executed
by scripts. For information about how to change the Debugger toolbar permanently,
see “Adding, Removing, and Rearranging Toolbar Buttons” in Appendix A,
“Debugger GUI Reference” in the MULTI: Debugging book.
To save editbutton changes across MULTI sessions, select Config → Save
Configuration as User Default
.
Note: The debugbutton command does not affect customizations you make through
the Customize Toolbar window. For information about this window, see “Adding,
Removing, and Rearranging Toolbar Buttons” in Appendix A, “Debugger GUI
Reference” in the MULTI: Debugging book.
The following special forms of debugbutton and editbutton can be used in the
Debugger command pane:
• debugbutton or editbutton— Lists defined Debugger or Editor buttons. The
debugbutton command does not list the Close Debugger button or the separator
before it; these cannot be modified or deleted.
• debugbutton 0 or editbutton 0 — Deletes all Debugger or Editor buttons,
with the exception that the debugbutton 0 command does not delete the Close
Debugger 
button or the separator before it.
• debugbutton num or editbutton num — Deletes the Debugger or Editor
button numbered num. You can view button numbers by entering debugbutton
or editbutton in the command pane.
• debugbutton name [...or editbutton name [...— If no optional arguments
are specified, deletes the button named name. If optional arguments are specified
and if a button named name exists, the button is replaced. Otherwise a new
button named name is added to the end of the Debugger or Editor toolbar. You
can view button names by entering debugbutton or editbutton in the command
pane.
146
MULTI: Managing Projects and Configuring the IDE

Creating and Working with Icons
• debugbutton num name [...or editbutton num name [...— Replaces the
button numbered num with a new button named name. You can view button
numbers by entering debugbutton or editbutton in the command pane.
Creating and Working with Icons
In addition to numerous built-in icons, MULTI can use graphic files you provide
for icons. If you create your own graphic file, it must be in the Windows Bitmap
format (.bmp). If you plan to use the bitmap in a Linux/Solaris environment, it must
additionally be in an uncompressed 16- or 256-color format. An easy way to create
such a bitmap is to use the Paint accessory in Microsoft Windows. Select 16 Color
Bitmap 
or 256 Color Bitmap for the Save as type in the Save As dialog box.
• The built-in icons in MULTI are 16 pixels wide by 16 pixels tall, so your
buttons will look best if you also use this size for your custom bitmaps.
• By default, the color light gray in your custom icons will become transparent.
On Linux/Solaris, you can specify color translations for your custom icon by
appending a string of the form
"oldcolor1=newcolor1&oldcolor2=newcolor2" with a question mark to the
end of your bitmap filename. For example:
> debugbutton Hello c="echo hello" \
continued> i="/home/user/hello.bmp?black=fg&dkgray=shadow&white=highlight" \
continued> h="Say hello"
The above example would replace black pixels in hello.bmp with the current
foreground color, dark gray pixels with the current shadow color, and white pixels
with the current highlight color. You can use the following values for oldcolor
and newcolor.
Oldcolor (RGB values)
Possible values for newcolor
white (255,255,255)
white [default]
highlight
ltgray (192,192,192)
transparent [default]
ltgray
dkgray (128,128,128)
dkgray [default]
shadow
Green Hills Software
147


Chapter 7. Configuring and Customizing MULTI
Oldcolor (RGB values)
Possible values for newcolor
black (0,0,0)
black [default]
fg
Configuring and Customizing Menus
MULTI comes with a set of predefined menus for the Debugger, Editor, and Project
Manager, but you can create new menus or add to existing menus from within any
of these tools by using the Customize Menus window.
The Customize Menus window allows you to add new menus to the end of the
menu bar; add new submenus and menu items to the end of existing menus; and
remove menus, submenus, and menu items that you have added.
To access this window from the Debugger or Editor:
• Select Config → Customize Menus.
• Use the Debugger or Editor customizemenus command.
To access this window from the Project Manager:
• Select Tools → Customize Menus.
148
MULTI: Managing Projects and Configuring the IDE

Configuring and Customizing Menus
After you have opened the Customize Menus window, you can add a new menu
to the end of a tool's menu bar:
1. Select the menu bar you want to add the menu to: the DebuggerMenuBar,
EditorMenuBar, or ProjectManagerMenuBar.
2. Click Add Sub Menu.
3. Enter a menu name in the Label text field.
Adding a submenu is very similar to adding a menu: instead of selecting
toolMenuBar, select the menu you want to add the submenu to. Then follow steps
2 through 3 above. MULTI adds the submenu to the end of the menu you selected.
To add a new menu item to the end of an existing menu or submenu:
1. Select the menu or submenu you want to add to.
2. Click Add Entry.
3. Enter a name for your menu item in the Label text field.
4. In the Command field, enter a valid command that you want to be executed
whenever you select the menu item. If you are adding the menu item to:
• The DebuggerMenuBar — Enter a MULTI Debugger command. See
the MULTI: Debugging Command Reference.
• The EditorMenuBar — Enter a MULTI Editor command. See
Appendix B, “Editor Commands” on page 329.
• The ProjectManagerMenuBar — Enter a MULTI Project Manager
command. See the following table for a list of Project Manager commands.
ConnectByName connectName: "connection_method_name"
Connects to the Connection Method connection_method_name.
DebugByName debugPath: "filename"
Opens the executable file filename in the MULTI Debugger.
EditOtherByName editPath: "filename"
Opens filename in your configured editor.
Green Hills Software
149

Chapter 7. Configuring and Customizing MULTI
ExecuteCommandOnSelected commandSpec: "command"
Executes the system command command on the file(s) selected in the Project Manager and
directs output to the Project Manager Status pane. If more than one file is selected, command
is run once for each file.
By default, the full path of the selected file is appended to the end of command. To include the
full path elsewhere (for example, in the middle of command), specify %filename in the command
string. When command executes, %filename is replaced with the full path of the selected file.
ExecuteShellCommandOnSelected commandSpec: "command"
Behaves the same as ExecuteCommandOnSelected (above) except that command is executed
in a separate shell window and output is sent to the shell window instead of to the Project
Manager Status pane.
LoadModuleByName modulePath: "filename"
Downloads the object module filename to your run-mode target.
OpenProjectByName projectPath: "filename"
Opens the project file filename in the Project Manager.
The label local config appears to the right of menus, submenus, or menu items you
added locally. The label site config appears to the right of menus, submenus, or
menu items that result from changes saved to a site-wide configuration directory.
Menus, submenus, and menu items that you add through the Customize Menus
window are saved by default. To delete them, open the Customize Menus window,
select the desired item, and click Remove.
The Customize Menus window does not allow you to rename default menus or
menu items, nor does it allow you to change the command associated with a default
menu item.
In addition to using the Customize Menus window, you can also configure menus
by using the following methods:
• Enter the menu command along with appropriate arguments.
• Edit the menu.odb configuration file located in one of the following directories:
○ Windows 7/Vista — user_dir\AppData\Roaming\GHS\v6
○ Windows XP — user_dir\Application Data\GHS\v6
○ Linux/Solaris — user_dir/.ghs/v6
150
MULTI: Managing Projects and Configuring the IDE

Configuring and Customizing Menus
Note
Menu names are case-sensitive.
You can view and manipulate menus with the menu command.
menu
Prints a list of all the currently defined menus.
menu name
Prints the body of the menu named name. To view menu names, enter menu.
menu name { { label cmd } ... }
Defines a menu that can be inserted into a menu bar or displayed by a MULTI button, mouse
button, or key binding. The arguments in this command have the following meanings:
name is the menu name that appears on the menu bar or at the top of the menu when it is opened.
label is an entry in the menu.
cmd is a command that executes when the associated label is selected.
Menus can contain other menus by using the -> command. For example, the menu Main defined
below contains RunCmds as a submenu:
menu Main {{RunCmds -> RunCmds}{Up {E 1}}{Down {E -1}}{ToPC E}}
Note: To replace an existing menu, define a new menu with the same name.
To create a menu:
1. Enter the command menu followed by the name for the menu.
2. Create menu items by entering a label and an associated command enclosed
in curly braces {}.
• If one of the characters in a menu label is preceded with an ampersand
(&), that character becomes a hotkey and will be underlined when the menu
is displayed. The user can type that character to execute the associated
command just as if they had clicked the label.
• The cmd portion can contain its own subset of curly braces for commands
that require them (such as if), but they must be paired correctly.
• If cmd is a single command and that command is associated with a key
binding, that key binding will be displayed to the right of label when
the menu is displayed.
3. Enclose the entire body of the menu in curly braces {}.
Green Hills Software
151

Chapter 7. Configuring and Customizing MULTI
The following example creates a menu named RunCmds:
menu RunCmds {{Step s}{Next S}{Run r}{Go c}{Return cU}}
Opening and Accessing Menus
You can access new menus in the following ways:
-> name
Opens a menu named name. For example, to open the Main menu from the Debugger command
pane, enter:
-> Main
debugbutton name ->menu
Binds a menu named menu to the Debugger button named name.
For example, the following command will create a button named View on the Debugger toolbar,
which opens the View menu when it is clicked:
debugbutton View ->ViewMenu
This command is most useful when used in conjunction with the menu command to define your
own menus. For information about the menu command, see “Configuring and Customizing
Menus” on page 148.

You cannot save debugbutton changes across MULTI sessions. As a result, this command is
generally only useful for the creation or modification of buttons executed by scripts.
mouse button_num*Clickclick_num[(AtOnce)][|modifiers]@location=->menu
Binds a menu to a mouse click. The keyword Click may be replaced by Press or Either.
The following example command displays the RunCmds menu when the third mouse button
is clicked:
mouse mouse3*Press1@All=->RunCmds
For more information about binding mouse clicks to commands, see “Customizing Mouse
Behavior with the mouse Command” on page 155
.
152
MULTI: Managing Projects and Configuring the IDE

Customizing Keys and Mouse Behavior
Customizing Keys and Mouse Behavior
You can customize Debugger and Editor key bindings and the behavior of mouse
clicks by doing one of the following:
• Select Config → Options to open the Options window. Click the General
tab, then click the Keys button to open the Keyboard Commands dialog box,
or click the Mouse button to open the Mouse Commands dialog box. Make
appropriate changes.
• In the Debugger command pane, enter the keybind or mouse command with
appropriate options. For information about these commands, see the following
sections.
Customizing Keys with the keybind Command
keybind
keybind location
keybind key [|modifiers] [@location] [=command]
This command binds a key to a command or displays key bindings, depending on
the options given.
Entering this command with no arguments (the first command shown) displays key
bindings that apply in all contexts (location specified as All). For information
about location, see “Key and Mouse Locations” on page 157.
Entering the second command displays the current key bindings for a particular
location. See “Key and Mouse Locations” on page 157.
The third command assigns an action to take when a key is pressed in the specified
context. The arguments for this command have the following meanings:
• key is an identifier that specifies the keyboard key for which binding is active.
This identifier may be either a single ASCII (or ISO8859) character or a quoted
string containing the name of one of the keys on the keyboard, such as
“BACKSPACE” or “F3.” Characters needing more than one key press (besides
the ShiftCtrlAlt, and Meta keys) cannot be used.
Green Hills Software
153

Chapter 7. Configuring and Customizing MULTI
○ To obtain a list of all of the acceptable key names, type keybind "????".
○ The BACKSPACE key is different from h|Control even though their ASCII
representations are the same.
○ To specify the double quotation mark key, use a sequence of three double
quotation marks in a row (""").
• modifiers are other keys (ShiftCtrlAlt, and Meta) that may be used in
combination with key. If a modifier is specified, the command runs only if
that modifier is pressed at the same time as key. If more than one modifier is
specified, they should be separated from each other and from key by vertical
bars (|).
• location is the area of the window the cursor must be in for the key binding
to be matched. If location is omitted, the default is Command. For more
information, see “Key and Mouse Locations” on page 157.
• command is the command that will be executed upon the key press. For more
information, see “Key and Mouse Command Special Sequences” on page 158.
If the key[|modifier]@location portion of the keybind command matches a
previously defined binding, then the new definition replaces the old binding. If no
command is specified in the new definition, then the old binding is deleted.
When a key is pressed in a window, MULTI searches for key bindings that match.
There may be more than one, in which case MULTI chooses the one whose location
is the most specific. If there are still several, then MULTI chooses one arbitrarily.
Example 7.2. keybind Command
With this command, MULTI evaluates and prints the selection when the first function
key (F1) is pressed in the source pane or command pane:
> keybind "F1"@Command=print %s
With this command, the Debugger opens a Data Explorer that displays the current
selection when the key combination Ctrl+F1 is pressed:
> keybind "F1"|Control@All=view %s
154
MULTI: Managing Projects and Configuring the IDE

Customizing Mouse Behavior with the mouse Command
With these commands, the MULTI Editor scrolls up and down by pages when
Ctrl+UpArrow and Ctrl+DownArrow are pressed:
> keybind "Up"|Control@Edit=PageUp
> keybind "Down"|Control@Edit=PageDown
With this command, MULTI single-steps the process when Ctrl+is pressed in
the source pane or command pane:
> keybind "s"|Control@Command=S
Customizing Mouse Behavior with the mouse Command
mouse
mouse location
mouse button_num *Clickclick_num [(AtOnce)] [|modifiers] @location =command
This command defines the function of a mouse button or displays mouse bindings,
depending on the options given.
Entering this command with no arguments (the first command shown) displays all
current mouse bindings.
Entering the second command displays the current mouse bindings for a particular
location. For information about location, see “Key and Mouse Locations”
on page 157
.
The third command assigns an action to a mouse button click. Note that the command
arguments should not be separated by spaces. The arguments for this command
have the following meanings:
• button_num represents the mouse button to be assigned. This can be the
keyword Any, which matches any mouse button, or the word mouse, followed
by a combination of digits between 1 and 5 which match the specified mouse
button. For example, mouse2 matches the second (usually the middle) mouse
button, while mouse13 matches both the first (usually the left) and the third
(usually the right) buttons. Not all mice have five buttons. Commands assigned
to non-existent buttons will never be matched.
Green Hills Software
155

Chapter 7. Configuring and Customizing MULTI
• The keyword Click may be replaced by Press, which executes the command
on the button press rather than the release, or by Either, which executes the
command on both the press and release. A binding that contains *Either1 is
executed twice, once for the press of the mouse button, and once for the release.
• click_num specifies the number of times the mouse button must be released
before the command is executed. This may be a number between 1 and 5. A
binding that contains *Click3 would be executed upon the release of the
specified button on a triple click. If the *Clickclick_num option is omitted,
the binding matches the first release of the specified mouse button.
• The keyword (AtOnce) causes the command assigned to execute immediately
rather than pausing to see if it is part of a click sequence. A binding that contains
*Press2 is executed only after the second press of a mouse button in a
double-click, while *Press2(AtOnce) would be executed for the second
mouse button press in a double-click, triple-click, quadruple-click, etc. This is
acceptable behavior for many options, such as the standard selection clicks:
one click sets the insertion point, two clicks selects the current word, three the
line, and so forth. If (AtOnce) is not used, there is a slight delay when invoking
single-click commands. This delay is specified by the clickPause configuration
option.
• modifiers are other keys that must be held down at the same time the button
is clicked. Valid modifiers are Shift and Ctrl (plus Meta for Linux/Solaris).
Modifiers are preceded by a vertical bar (|), which separates them from each
other and from the previous arguments. If more than one modifier is specified,
all of the modifiers listed must be pressed simultaneously with the mouse click
for the binding to be matched.
• location indicates the place within MULTI's windows the mouse must be
for the binding to be matched. If location is omitted, the default is Source.
For more information, see “Key and Mouse Locations” on page 157.
• command is the MULTI command that will be executed when the binding is
matched. For more information, see “Key and Mouse Command Special
Sequences” on page 158.

If the button_num[*Clickclick_num][|modifiers][@location] portion
of a mouse binding matches a previously defined mouse binding, then the new
binding replaces the old one. If no command is specified, then the old mouse binding
is deleted.
156
MULTI: Managing Projects and Configuring the IDE

Key and Mouse Locations
When the mouse is clicked in a window, MULTI searches its list of mouse actions
for a matching binding. If there is more than one that might match the event, then
MULTI uses the one whose location is the most specific. If there are multiple
bindings that match the most specific location, then MULTI chooses the one which
is bound to the fewest number of different mouse buttons. If there are still several
bindings, then MULTI chooses one of the bindings arbitrarily.
Example 7.3. Mouse Command
With this binding, the Debugger evaluates and prints the selection when you click
the left mouse button once in the source pane.
Mouse1*Click1@OutputWindow=completeselection;echo "%s";examine %s
With this binding, the Debugger opens a Data Explorer displaying the current
selection when you double-click the left mouse button in any window.
mouse mouse1*Click2@All=view %s
Key and Mouse Locations
The location argument for the keybind and mouse commands can be one of the
following:
All
keybind — Any MULTI window except the Editor.
mouse — Any MULTI window.
InputWindow
Any MULTI input interface such as the command pane.
OutputWindow
Any output-only window, such as the source pane or a monitor window.
Command
keybind — The command pane or source pane.
mouse — The command pane.
Source
mouse only — The source pane.
Monitor
Anywhere in a monitor window except the title bar.
Freeze
Anywhere in the region indicating whether or not the window is frozen.
Close
The close button in the title bar.
Edit
Anywhere within an Editor.
Green Hills Software
157

Chapter 7. Configuring and Customizing MULTI
Some of these locations implicitly include other locations. These locations are:
All
InputWindow, OutputWindow, and View
InputWindow
Command
OutputWindow
Source and Monitor
Key and Mouse Command Special Sequences
The command is any MULTI command to be executed when the key or mouse
binding is matched. Several special sequences of characters in command will be
replaced with information about MULTI's state when the action is performed. These
sequences are not valid for key or mouse bindings in the Editor. The following are
the special sequences for command:
%s
Replaced by the current selection.
%p
Replaced by the current selection if it exists, otherwise MULTI prompts for input.
%P
Always prompts for input.
%w
Replaced by a special number identifying the window to MULTI. In command
synopses and MULTI documentation, this number is referred to as a window
identification number 
or wid.
%x
Replaced by the x location in the window when pressing the button or mouse.
%y
Replaced by the y location in the window when pressing the button or mouse.
%k
(keybind) — Replaced by the ASCII expansion of the key. For the key labeled a,
this is replaced with "a".
(mouse) — Replaced by the null string.
%m
(keybind) — Replaced by Press to indicate a key press triggered the action.
(mouse) — Replaced by Press or Release, depending on whether the command
was executed as a result of a mouse button press or a mouse button release.
%%
Replaced by %.
Inserting a Character Blocked By a Custom Key Binding
If you customize the Editor to run a command based on a single keystroke, you will
not be able to directly insert the literal character of that keystroke into a file. For
example, if you customize the key binding so that every time you press d the cursor
158
MULTI: Managing Projects and Configuring the IDE


Configuring Taskbar Organization
moves down one line, then you will not be able to type the literal letter d in a file.
To enter the literal character d in your file, you would have to:
1. Press Ctrl+(the Ctrl key with the backslash “\” key).
2. Press the key for the character that you want to enter into the file.
Configuring Taskbar Organization
On Windows, MULTI windows are grouped under a single taskbar entry to free up
the taskbar. You can configure MULTI to group windows under a system tray icon
instead, or you can disable the taskbar organization feature altogether. Clicking
either the taskbar entry or system tray icon provides access to all MULTI windows
via a shortcut menu (described in the next section).
This feature is especially useful if you open large numbers of MULTI windows
while you work.
Note
Taskbar organization is not supported on Linux/Solaris.
The two modes of taskbar organization are:
• Taskbar mode — [default] Adds an entry labeled MULTI to the Windows
taskbar, and groups all MULTI windows under this entry.
• Tray icon mode — Adds a MULTI icon ( ) to the system tray—the taskbar
status area located at the far right side of the taskbar—and groups all MULTI
windows under this icon. To activate the system tray icon, you can click it, or:
1. Press the Windows key + B.
2. Use the arrow keys to navigate the tray icons.
3. Press Enter when the MULTI icon is selected.
To configure taskbar organization, perform the following steps:
1. Select Config → Options from a major MULTI tool such as the Launcher,
Editor, or Debugger.
2. In the Options window that appears, click the General tab.
Green Hills Software
159


Chapter 7. Configuring and Customizing MULTI
3. Click the Windows button located at the bottom of the tab.
4. Select Taskbar Organizer and click OK.
5. In the Taskbar Organizer dialog box that appears, adjust your configuration
settings as desired. The Mode drop-down list controls whether taskbar mode
is enabled, tray icon mode is enabled, or whether both modes are disabled. For
detailed information about all of the configuration settings available in the
dialog box, see “The Taskbar Organizer Dialog Box” on page 185.
6. Click OK.
Note
If the Taskbar Organizer is enabled (in either taskbar mode or tray icon
mode), the Windows key + key combination does not minimize MULTI
windows. The Windows key + key combination and the Show Desktop
button both hide all windows, but MULTI windows may reappear when
another application is brought to the front.
Taskbar Organizer Menu Options
The menu that appears when you click the MULTI taskbar entry or
system tray
icon allows you to display any window that is currently open in the MULTI IDE.
The most recently used windows are displayed at the top of the menu, and all other
windows are grouped into submenus according to their type. For example, at the
top of the menu, you might see the recently accessed Debugger program hello
followed by the Editor file hello.c. Under the separator bar, you would see your
Debugger windows grouped under the Debuggers submenu and MULTI Editor
windows grouped under the Editors submenu.
The menu also contains the following menu items:
• Settings — Opens the Taskbar Organizer dialog box. For detailed information
about the configuration settings located in this dialog box, see “The Taskbar
Organizer Dialog Box” on page 185
.
• Show All — Displays MULTI IDE windows that were previously minimized.
• Minimize All — Minimizes all MULTI IDE windows.
• Exit All — Exits all running MULTI IDE processes. A dialog box asking you
to confirm this action appears.
160
MULTI: Managing Projects and Configuring the IDE

Configuring Window Docking
Note
In taskbar mode, clicking the MULTI taskbar entry when only a single
window is open brings that window to the front. To access the menu
while in taskbar mode, more than one window must be open.
Configuring Window Docking
MULTI includes configurable window docking options, which allow you to
customize how multiple windows interact and are displayed on the screen. Window
docking is supported in Windows and Linux/Solaris environments. For information
that is specific to Linux/Solaris environments, see “Linux/Solaris Docking
Limitations” on page 162.

The following two types of behavior are supported:
• Window alignment — Windows of the same application automatically snap
together when they are brought near each other, and windows brought near the
edge of your screen automatically snap to the edge of the screen. You can
configure the distance at which a window snaps to another window or screen
border. See Docking Distance in “Window Docking Global Options”
on page 188.

• Window grouping — Windows of a similar type form groups when they are
brought near each other. You can move, close, or minimize the entire group of
windows by using the group title bar. Do not use the Maximize button on the
group bar.
Tip
To see or configure the window types that group together, perform the
following steps:
1. Select Config → Options.
2. Click the General tab.
3. Click the Windows button located at the bottom of the dialog box.
4. Windows only — Select Window Docking and click OK.
5. Click the Application Options tab.
Green Hills Software
161

Chapter 7. Configuring and Customizing MULTI
For information about window docking options, see “The Window Docking Options
Window” on page 187
.
Linux/Solaris Docking Limitations
Due to the design of the X protocol, the window manager running has nearly absolute
control over window position and size, and the application is reduced to a much
less active role. Window docking attempts to give you the benefits of a window
manager at the application level.
Some window managers, such as KDE, do not allow a window to be created smaller
than a certain size. While you can still use window groups in these situations, the
group bar takes up more space than usual.
Unless otherwise stated, the following X Window Managers support both window
alignment and window grouping.
• afterSTEP
• Blackbox
• Desktop Window Manager (dtwm)
• FVWM, FVWM2, FVWM95
• Ice Window Manager (icewm)
• KDE Window Manager (kwin) — Window grouping is disabled by default
because the KDE window manager does not allow windows to be created with
a height smaller than 25 pixels. You can still use window grouping; however,
the group bar takes up more space than usual.
• Metacity
• OpenLook Window Manager (olwm)
• Sawfish
• Tabbed Window Manager (twm)
• WindowMaker (wmaker)
• wm2 — Window grouping is not supported because wm2 windows do not use
a horizontal title bar, which is required for window grouping.
162
MULTI: Managing Projects and Configuring the IDE

Configuring Window Focus
The following X Window Managers do not work properly with window docking
and are not supported. If you use one of these window managers, set Window
Docking Options to Disable All Window Management (see “Window Docking
Global Options” on page 188
).
• PWM
• Ion
If your window manager is not named in either of the preceding lists, it has not
been verified to work properly.
Configuring Window Focus
When MULTI launches a new window or dialog box, it is brought to the foreground
and given input focus even when MULTI is not the current application. The
appearance of some MULTI dialog boxes, such as the one indicating that an
executable has been rebuilt, may interrupt a previous foreground application by
taking focus away from it.
On Windows, perform the following steps to help prevent this:
1. Download and install Tweak UI from the Microsoft Web site
[http://www.microsoft.com]. Note that Tweak UI is not available for Windows
Vista.
2. Launch the Tweak UI window:
• Windows XP — Select Tweak UI from the Start menu.
• Earlier Windows versions — Select Tweak UI from the Control Panel.
3. In the Tweak UI window, expand General and select Focus.
4. Select Prevent applications from stealing focus.
5. Click OK.
On Linux/Solaris, window managers are solely responsible for maintaining window
focus. Some window managers, such as KDE, have configurable window focus
settings. However, adjusting such settings may prevent MULTI from bringing its
windows to the foreground even when MULTI is the current application.
Green Hills Software
163

Chapter 7. Configuring and Customizing MULTI
Configuring the Editor for a Programming Language
The MULTI Editor automatically configures itself based on the programming
language of the source file that is currently being edited. For example, if you open
a file foo.c, the Editor automatically identifies text enclosed in double quotes ("")
as a string, completes certain words (such as language-specific keywords) as they
are typed into the file, and automatically colors the code to make it more readable.
Two files are used to identify the programming language in a source file, color the
programming language, and enable auto-completion:
• index.gsc — The index configuration file that the Editor uses to match the
source file with the appropriate syntax definition file.
• language.gsc — The syntax definition file for a specific programming language.
This file defines how the Editor should color the language and whether the
Editor should auto-complete certain words as they are typed.
Adding Support for New Languages
You can create new syntax definition files for any language, for example you can
add support for a proprietary scripting language. To implement support, you must
create a syntax definition file for the language (for example, my_language.gsc),
and then create an entry in the index.gsc file for the new language.
Tip
MULTI's default index configuration file and syntax definition files
include detailed comments. The easiest way to add a new language is to
look at the default files, which are located in one of the following
directories:
• Windows — ide_install_dir\defaults\syntax_coloring
• Linux/Solaris — ide_install_dir/defaults/syntax_coloring
The index.gsc Configuration File
When the Editor opens a file, it searches the index.gsc configuration file for the
file's extension and uses it to locate the corresponding language syntax definition
164
MULTI: Managing Projects and Configuring the IDE

The index.gsc Configuration File
file. The index.gsc configuration file is located in the defaults/syntax_coloring
directory of your MULTI IDE installation.
Each entry defines the basic information about a language. The definition order
determines how they will be displayed in the Editor's View → Language menu or
submenu. For each language, the index.gsc file defines the following:
Identifier
A unique identifier for the name of the language. This identifier must correspond to the name
in the language's syntax definition file (see “The language.gsc Syntax Definition Files”
on page 166).

If the language's identifier contains any non-alphanumeric characters, enclose the entire identifier
in quotes, for example: "C++".
extension
Lists the file extensions of files that contain the language. If the Editor cannot match a language
based on the source file's extension, or if the extension matches more than one entry in index.gsc,
the Editor will use the definition of first_line_pattern to select the correct language. See
the description of first_line_pattern below.
If identification of a language via extension and first_line_pattern fails and you have
added -*-language-*- inside a comment on the first non-blank line of the file, the Editor
uses the language specified. For example, if you enter:
// -*- c++ -*-
on the first line of the file, the Editor views the file as C++.
description
The name of the language as it will appear in the Editor's View → Language menu.
The & symbol indicates that the following key is a hot key for the menu item. For example, if
you specify description = "Per&l", the letter l becomes the hot key.
definition_file
The language's syntax definition file. If an absolute path is not specified, the Editor will look
for the syntax definition file in the syntax_coloring directory of your local or site-wide MULTI
configuration directory. For more information, see “The language.gsc Syntax Definition Files”
on page 166.

hide
You can determine whether the language appears in the Editor's View → Language menu.
To hide a language, enter hide = true. The default is false.
Although a hidden language will not appear in the menu, the Editor will still use it to color files
written in the corresponding language.
Green Hills Software
165

Chapter 7. Configuring and Customizing MULTI
submenu
To group languages into a submenu within the View → Language menu, enter:
submenu = submenu_name
first_line_pattern
The regular expressions that may be used to identify the language by the source file's first
non-blank line. See the description of extension above. Be sure to use a double escape character
sequence (\\) when defining the regular expressions.
Regular expression support is provided by the PCRE library package, which is open source
software, written by Philip Hazel, and copyrighted by the University of Cambridge, England.
It can be downloaded from the University of Cambridge FTP server
[ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
].
Example 7.4. The index.gsc Entry
The entry in the index configuration file for the Perl language might look like:
Perl {
extension = {"pl"}
description = "Per&l"
definition_file = "perl.gsc"
first_line_pattern = {"^[\\s]*#![\\w /\\\\]*[/\\\\]perl"}
}
To visually separate languages when they are listed in the View → Language menu,
define a unique identifier with a description of "\x01". An example follows.
"GHS-Sep1" {
description = "\x01"
}
Each separator should be given a unique name.
The language.gsc Syntax Definition Files
The MULTI Editor uses language.gsc syntax definition files to determine items
such as the display color of language elements, case sensitivity, and auto-completion.
Each language has its own syntax definition file located in the syntax_coloring
directory. The definitions for some languages are split into multiple files, in which
166
MULTI: Managing Projects and Configuring the IDE

The language.gsc Syntax Definition Files
case the language.gsc file can use %include "filename.gsc" statements to
include definitions from other syntax definition files.
Each of the following elements can be defined in the syntax definition file. For each
element that can be defined, you can specify a color by using the syntax color =
"#hex_value", where hex_value is a six-digit hexadecimal value in RGB format.
For example, #FF0000 specifies the color red. If you do not specify a color for a
particular element, the applicable color in the Config → Options → Colors tab is
used.
general
The following entries define general settings for the language:
• name = The identifier for the language. This identifier must match the Identifier listed
in the index.gsc file (see “The index.gsc Configuration File” on page 164).
• description = The name of the language as it will appear in the Editor's View 
Language menu.
• extension = File extensions associated with this language.
• case_sensitive = Defines whether the language is case-sensitive. For a case-insensitive
language, enter case_sensitive = false. The default is true.
• pascal_style_priority = (Boolean) In languages such as C/C++, comments, strings
and characters receive higher priority than preprocessor statements; while other languages,
such as Pascal, give higher priority to preprocessor statements. To assign priority to
preprocessor statements, enter pascal_style_priority = true. The default is false.
• separator = Separators used to delimit syntax tokens.
• escape = Escape sequence leader.
For example:
name = "Pascal"
description = "Pascal"
extension = {"p", "pas", "h"}
case_sensitive = false
separator = "\\\"+-*/<=>:,;'\t()[]^%!~|& {}.@?"
escape = "\\"
preprocessor
Specifies preprocessor keywords. Limitations are:
• There can only be one non-alphabetic preprocessor lead character. Example lead characters
include % and #.
• Semantics are C-like.
Green Hills Software
167

Chapter 7. Configuring and Customizing MULTI
keyword
Defines a list of keywords, the display color for keywords, and/or whether keywords are
auto-completed.
line_comment
Specifies line comment characters. Multiple line comment leaders can be defined, so an index
number is used for each. For example:
1 = "//"
The following entry defines an attribute of line_comment:
• span_line_by_escape = Specifies whether line_comment spans multiple lines when
the escape character defined in general (if any) appears at the end of the line(s). To
prohibit line_comment from spanning multiple lines even when the escape character is
used, enter span_line_by_escape = false. The default is true.
You can use special characters to identify the column position in a line. The \x01 string matches
the beginning of a line. This is similar to the regular expression ^. The \x02 string matches the
end of a line. This is similar to the regular expression $.
comment
Specifies comment characters. Multiple comment characters can be defined, so an index number
is used for each. For example:
1 { begin = "(*"; end = "*)" }
2 { begin = "{"; end = "}" }
string
Specifies string characters. Multiple string characters can be defined, so an index number is
used for each. For example:
1 { begin = "'"; end = "'" }
character
Specifies constant characters. Multiple characters can be defined, so an index number is used
for each. For example:
1 { begin = "\'"; end = "\'" }
168
MULTI: Managing Projects and Configuring the IDE

The language.gsc Syntax Definition Files
block
Specifies a block. A block must contain a begin and an end string. The begin and end strings
may not contain separators, as defined in the description of general (above).
You can use special characters to identify the column position in a line. The \x01 string matches
the beginning of a line. This is similar to the regular expression ^. The \x02 string matches the
end of a line. This is similar to the regular expression $.
integer
The following entries define support for integers:
• hex = Specifies whether hex integers are supported. To support hex integers, enter hex
= true. The default is false.
• case_sensitive = Specifies case sensitivity in integer suffixes. To make integer suffixes
case-insensitive, enter: case_sensitive = false. The default is true.
• decimal_suffix = Specifies a list of suffixes for decimal integers.
• hex_suffix = Specifies a list of suffixes for hex integers.
float
The following entries can be made to define the display of numbers in floating point form.
• scientific = Specifies whether scientific format is supported. To use scientific format,
enter scientific = true. The default is false.
• hex_scientific = Specifies whether hexadecimal scientific format is supported as in
C99. To use the hexadecimal scientific format, enter hex_scientific = true. The
default is false.
• case_sensitive = Specifies case sensitivity for the float suffix. The default is true.
To override the default, enter case_sensitive = false
• suffix = Specifies a list of suffixes for the float.
customized
The following entries define the list of customized items (strings of text that are displayed in a
customized color) for a language:
• pattern += {"string"} Defines a string to be displayed in the customized color.
string may contain wildcards. pattern += {"string"} may be specified multiple
times.
• autocomplete = Specifies whether any customized items not containing wildcards are
auto-completed. The default is true. To override the default, enter autocomplete =
false.
Green Hills Software
169

Chapter 7. Configuring and Customizing MULTI
autocomplete
Defines the auto-complete behavior. For information, see “Configuring Editor Auto-Complete”
on page 170.

Configuring Editor Auto-Complete
A language syntax definition file determines whether keywords, preprocessor
statements, and customized items will be automatically completed by the MULTI
Editor as they are typed. Most of the language syntax definition files included with
MULTI have auto-complete enabled for both keywords and preprocessor statements.
Auto-complete can also be enabled for function prototypes.
Note
Auto-completion does not work for customized items that contain
wildcard characters.
You can turn auto-complete on or off for an entire language, or for a specific category
of items in the syntax definition file by specifying autocomplete = false or
autocomplete = true.
The following sections provide details about auto-complete. You can modify
auto-complete by editing the autocomplete section of the syntax definition file.
Note
Even when auto-completion is disabled, you can use the keyboard
shortcuts listed in “Auto-Completion” on page 381 to perform
auto-completion functions based on the characters located at the cursor.
First Match vs. Best Match Auto-Complete
Auto-completion uses either first match logic or best match logic to complete words
based on the letters that have been typed:
• autocomplete = "first" — Completes the first word that begins with the
letter that has been typed.
• autocomplete = "best" — Does not complete a word until it can uniquely
identify the letters that have been typed. This is the default setting.
170
MULTI: Managing Projects and Configuring the IDE

Minimum String Length
For example, assume auto-completion has been enabled for the keywords: main,
mailman and mist. When the letter m is typed, first match logic auto-completes
the item into main, but best match logic does not perform any auto-completion.
When the letters ma have been typed, first match logic still auto-completes the item
into main, while best match logic auto-completes the item to mai because it still
cannot determine whether the item should be main or mailman.
Minimum String Length
You can control the minimum number of characters in a string before auto-complete
attempts to match the sting.
The default value is 1. To change this setting, enter:
min_string_length = num
where num is the number of characters in the string.
Auto-Completion of Function Prototypes
Auto-complete entries also control the use of function prototypes. Function
prototypes are often defined in included files. Whenever the Editor loads a C or
C++ file, it automatically grabs the include files for function prototypes if it can
find the include files.
• grab_prototype = Specifies whether function prototypes are dynamically
grabbed as you type in the Editor. The default setting is false. To dynamically
grab function prototypes as you type, enter grab_protoype = true.
Automatically grabbing function prototypes is only supported for C and C++.
• show_prototype = Specifies whether function prototypes are displayed as
you type. To automatically display function prototypes, enter show_prototype
= true. When when you type a function name in the Editor followed by a “(”
(open parentheses), a tooltip containing prototype information will appear to
guide you through the function's arguments. The default setting is false.
These two options are explicitly enabled in the syntax definition files for C and
C++.
Green Hills Software
171

Chapter 7. Configuring and Customizing MULTI
Configuring File Extensions
When you are using the MULTI IDE, some operations require you to select a file
from a graphical file chooser. These file choosers provide a set of filters that allow
only the relevant files to be displayed. While common extensions are present in
these filters, additional custom extensions and file types may be required. These
extensions can be added by customizing the file extension mappings used by MULTI.
Extension Mapping Files
The extension mappings are stored in configuration files named extensions.udb in
a directory named file_types. They are applied in the same order as configuration
files, starting with the defaults directory and followed by the site-wide and user
configuration directories (see “Creating and Editing Configuration Files”
on page 137
).
To add custom file extensions, create a directory named file_types in either the site
or user configuration directories and create an extensions.udb file defining the
custom file extension. The extension mapping configuration files contain entries
describing individual file types as well as collections of file types for use in
individual file choosers.
For an example extensions.udb file, see:
ide_install_dir/defaults/file_types/extensions.udb
This file contains the default extension mappings.
See also the fileextensions command in “General Configuration Commands” in
Chapter 6, “Configuration Command Reference” in the MULTI: Debugging
Command Reference 
book.
Configuring File Associations (Windows only)
When you install MULTI on Windows, the installer prompts you to choose what
program you would like to use to open files of various extensions. You may choose
to associate certain file types with the MULTI Project Manager and certain file
types with the MULTI Editor. Perform the following steps to change these file
associations at a later time.
172
MULTI: Managing Projects and Configuring the IDE

Linking to a Different Compiler and Probe Installation
If you are using Windows 7/Vista:
1. Access the Control Panel's Default Programs.
2. Click Associate a file type or protocol with a specific program, and make
the desired changes.
If you are using Windows XP:
1. Access the Control Panel's Folder Options.
2. Click the File Types tab, and make the desired changes.
Linking to a Different Compiler and Probe Installation
When you install MULTI, the MULTI IDE is linked to a Compiler and Green Hills
Debug Probe installation.
If you want to link the IDE to a different Compiler and Green Hills Debug Probe
installation at a later time:
1. Exit the entire IDE.
2. Run ide_install_dir\gcomplink ide_install_dir
compiler_install_dir.*
For example, you might enter:
> C:\ghs\multi_600\gcomplink.exe C:\ghs\multi_600 C:\ghs\comp_201200
*You may specify a relative path to the Compiler and Green Hills Debug Probe
installation. This is useful if you installed into a version control repository. The
path is resolved relative to the IDE installation directory.
Note
You can only link compatible installations.
Green Hills Software
173

Chapter 7. Configuring and Customizing MULTI
Installing a Patch
The gpatch command line utility program allows you to install and create simple
patches. It is most commonly used to install a patch provided by Green Hills support
staff.
To install a patch into the current working directory, ensure the MULTI IDE or
Compiler installation directory is in your path and run:
gpatch [-install_patch] patch_filename
The following table describes command line options supported by gpatch.
-help
Displays documentation for all gpatch command line options.
-install_patch patch_filename
Installs the patch patch_filename. By default, the patch is installed into the current working
directory, but you may also pass -target_dir (below) to specify another location.
-key installation_key
Decrypts the patch using installation_key.
-list
Lists the files contained in the archive. This does not install the patch.
-nouninstall
Does not create an uninstallation archive.
-target_dir directory
Specifies the directory where the patch will be installed. If you do not pass this option, the patch
is installed into your current working directory.
For a complete list of the command line options available for use with gpatch, run
gpatch -help. Example uses of the gpatch utility program follow.
To list all files in patch_1234.iff without installing the patch:
> gpatch -list -install_patch patch_1234.iff
To install patch 2028.iff into C:\ghs\multi_xxx:
> gpatch -install_patch 2028.iff -target_dir C:\ghs\multi_xxx
174
MULTI: Managing Projects and Configuring the IDE

Chapter 8
Configuration Options
Contents
General Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
Project Manager Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
Debugger Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
MULTI Editor Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
Session Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
Colors Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

Chapter 8. Configuration Options
Chapter 7, “Configuring and Customizing MULTI” on page 131 discusses how you
can customize your interface using MULTI's configuration options. This chapter
describes these configuration options and their default settings.
You can set many, but not all, of the configuration options via the Options window.
To open the Options window:
• From the Launcher, Debugger, or Editor, select Config → Options.
• From the Project Manager, select Tools → Options.
You can also set or edit all of the options available in the Options window (and
more besides) by entering the following command in the Debugger command pane.
Note that you should not use this command while the Options window is open.
configure config_option [:|=] value
For options that cannot be set in the Options window, config_option and possible
values are listed at the beginning of the table row dedicated to the option. For
options that can be set in the Options window, config_option and values are
listed—often in parentheses—in the option description. For example, in this chapter,
the GUI option Match exact case in searches is followed by two option/value pairs
in parentheses:
• Selected (exactCase on)
• Cleared (exactCase off)
This indicates that you could either enter:
configure exactCase on
or
configure exactCase off
in the Debugger command pane. When you modify configuration settings via the
configure command, the modifications are not saved by default. For more
information, see “Using the configure Command” on page 132. In general, if you
change the setting of a configuration option without saving the modification, only
the MULTI tool from which the option was changed is aware of the new setting.
For more information, see “Propagating Configuration Settings” on page 136.
176
MULTI: Managing Projects and Configuring the IDE

General Configuration Options
Options that can be set via the configure command can also be set in configuration
files. Syntactically, the only difference between entering an option in a configuration
file and entering it in the command pane is that you do not include configure in the
configuration file. For information about setting configuration options in a
configuration file, see “Creating and Editing Configuration Files” on page 137.
Note
Configuration options are case-insensitive; thus exactCase off and
exactcase off are equivalent and are both valid. In this chapter, we
use mixed-case notation where it makes the options more readable.
Tip
Entering help config_option in the Debugger command pane opens
online help for the specified configuration option.
General Configuration Options
This section describes configuration options that affect the overall appearance of
MULTI. Most of these options appear on the General tab of the Options window.
The General Options Tab
To access the following options, select Config → Options → General tab.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Green Hills Software
177

Chapter 8. Configuration Options
Save window positions and sizes
Permitted settings for this option are:
• Selected (rememberWindowPositions on) — [default] Remembers the position and size
of windows created by MULTI so that the next time a window of the same type is created,
it appears in the same location and with the same size. For example, if you resize the Project
Manager window, move it to a specific location on your screen, and then close the window,
the next Project Manager you open appears in the same place and with the same size. The
first window of a given type is positioned in the saved location. Any new windows of the
same type are slightly offset from the location of the open window and are given the saved
size. Size and position are remembered even after you exit and restart MULTI.
• Cleared (rememberWindowPositions off) — Does not remember the position and size
of windows created by MULTI.
Note: This setting does not apply to certain types of dialog boxes, such as modal dialog boxes,
or certain windows, such as the Active Licenses window, the Memory Test Wizard, the
Perform Memory Test window, and the Source Path window.
Display close (x) buttons
Permitted settings for this option are:
• Selected (closeButtonOnTitlebar on) — A Close button will appear on window toolbars.
This option only affects new windows created after you change this setting, except for
Debugger windows, which adjust to the new setting immediately.
• Cleared (closeButtonOnTitlebar off) — [default] The Close button will not appear on
toolbars.
Allow beeping
Permitted settings for this option are:
• Selected (beep on) — [default] MULTI beeps on various error conditions, such as a search
that does not match anything.
• Cleared (beep off) — MULTI never beeps.
For information about the Beep Editor command, see “Miscellaneous Commands” on page 368.
Show tooltips
Linux/Solaris only
Permitted settings for this option are:
• Selected (tooltips on) — [default] Tooltips (small explanatory boxes that pop up when
you hover the cursor over a GUI item) will appear if available.
• Cleared (tooltips off) — Tooltips will never appear.
178
MULTI: Managing Projects and Configuring the IDE

The General Options Tab
Match exact case in searches
Determines the case sensitivity of interactive text searches in the Editor and of incremental text
searches in MULTI tools. Permitted settings for this option are:
• Selected (exactCase on) — Searches are case-sensitive.
• Cleared (exactCase off) — [default] Searches are case-insensitive.
This option can also be set on a per-Editor-window basis with the Search dialog box. For more
information, see “Interactive Searching Using the Search Dialog Box” on page 84.
Note: This setting does not apply to the grep Editor or Debugger commands or to any of the
Search in Files dialog boxes, all of which run grep and are case-sensitive by default.
Escape restores view after iSearch
Permitted settings for this option are:
• Selected (iSearchReturn on) — Returns the cursor to its original position when you press
Esc while in incremental search mode. See “Incremental Searching” on page 83.
• Cleared (iSearchReturn off) — [default] Does not return the cursor to its original position
when you press Esc while in incremental search mode.
Phase of moon in scroll bar box
We at Green Hills decry the unfortunate tendency in our society whereby mankind perceives
itself as disconnected from its environment. We as individuals pay no attention to flowers
blooming or leaves falling. We live immersed in our air conditioned offices and, if we are
programmers, we never see the light of day. In a perhaps futile effort to stop this trend, we
provide all MULTI users with the current phase of the moon to encourage them to leave their
desks and look up at the beautiful night sky.
Permitted settings for this option are:
• Selected (moon on) — Displays the approximate phase of the moon in the nook of the
vertical and horizontal scroll bars.
• Cleared (moon off) — [default] The phase of the moon is not displayed.
Changes to this setting only affect new windows.
Green Hills Software
179

Chapter 8. Configuration Options
Launch clipboard manager
Linux/Solaris only
Permitted settings for this option are:
• Selected (clipManLaunch on) — [default] The clipboard manager, which stores selections
that have been sent to the clipboard by all applications, will run after MULTI has exited,
making the contents of the clipboard accessible to other applications.
• Cleared (clipManLaunch off) — The contents of the clipboard are lost when MULTI
exits.
Warp pointer
Permitted settings for this option are:
• Never (warpPointer never) — [default for Windows] Never move the mouse pointer
automatically. The mouse cursor can only be changed by physically moving the mouse.
• Into Dialog Box (warpPointer intoDialogue) — [default for Linux/Solaris] Warp the
mouse pointer to the default button of new dialog boxes that appear.
• In & Out of Dialog Box (warpPointer in&OutDialogue) — Warp the mouse pointer
into the default button of new dialog boxes, and warp it back to its previous location when
the dialog box is closed.
Print command
Linux/Solaris only
(printCommand command) Specifies the command used to send information to a printer. The
default is lpr.
Editor
Specifies which editor MULTI uses when you request an editor to start. Permitted settings for
this option are:
• MULTI Editor (extEditor_Choice "multi editor") — [default] Uses the MULTI Editor.
• Emacs (extEditor_Choice emacs) — Uses the Emacs Editor.
• Vi (extEditor_Choice vi) — Uses the vi Editor.
• Other (extEditor_Choice other) — Uses an editor that is not available in the list.
180
MULTI: Managing Projects and Configuring the IDE

The General Options Tab
Configure Editor
Opens a dialog box that allows you to specify configuration settings specific to the editor selected
in the Editor field. For more information, see “Third-Party Editor Configuration Options”
on page 183.

If MULTI Editor is selected in the Editor field, clicking this button opens the MULTI Editor
tab. For more information, see “The MULTI Editor Options Tab” on page 221.
Version Control
Specifies which version control system MULTI uses. Permitted settings for this option are:
• Auto Detect (versionControlType autoDetect) — [default] Version control is auto-detected
based on the file currently in use.
• Disable (versionControlType disable) — Version control is disabled.
• CVS (Concurrent Versions System) (versionControlType cvs) — An open-source
network-transport version control system. See “Integrating with CVS” on page 105.
• Subversion (versionControlType subversion) — An open-source network-transport
version control system. See “Integrating with Subversion” on page 108.
• ClearCase (versionControlType clearCase) — A version control system from Rational
Software. See “Integrating with ClearCase” on page 104.
• SourceSafe (versionControlType sourceSafe) — (Windows only) A version control
system from Microsoft. See “Integrating with SourceSafe” on page 105.
Configure Version Control
Opens a dialog box that you use to specify configuration settings that are specific to the version
control selected in the Version Control field. For more information, see “Version Control
Configuration Options” on page 184.

Green Hills Software
181

Chapter 8. Configuration Options
Source Code Font
(font font_name) Opens a font selection dialog box in which you can set the source code font.
This font is used for most textual display, including in the Debugger source pane, the command
pane, and the MULTI Editor. Click Source Code Font and select a font installed on your system.
The font you choose should normally be a fixed-width font so that characters align properly.
Italic and oblique fonts should not be chosen. While some italic and oblique fonts work correctly,
others exhibit drawing problems.
The default font on Windows is Courier New Regular. The command to restore the default
Windows font from the command pane is:
configure font "courier new:13"
The default font on Linux/Solaris is misc fixed medium semi-condensed. The command to
restore the default Linux/Solaris font from the command pane is:
configure font -misc-fixed-medium-r-semicondensed-*-*-120-*-*-*-*-*-*
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 136.
GUI Font
(guiFont font_name) Opens a font selection dialog box in which you can set the GUI font. This
font is used for buttons, menus, and other GUI controls. Click GUI Font and select a font
installed on your system. Italic and oblique fonts should not be chosen. While some italic and
oblique fonts work correctly, others exhibit drawing problems.
The default font on Windows is MS Sans Serif Regular. The command to restore the default
Windows font from the command pane is:
configure guiFont "ms sans serif"
The default font on Linux/Solaris is adobe helvetica medium. The command to restore the
default Linux/Solaris font from the command pane is:
configure guiFont *-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 136.
Menus
Opens the Customize Menus window, which allows you to configure menus in a number of
MULTI tools. For information about how to use this window, see “Configuring and Customizing
Menus” on page 148.

Mouse
Opens the Mouse Commands dialog box, which you can use to edit the mouse bindings used
by MULTI. The mouse bindings are displayed in the same format as the mouse command. See
“Customizing Keys and Mouse Behavior” on page 153.
182
MULTI: Managing Projects and Configuring the IDE

The General Options Tab
Keys
Opens the Keyboard Commands dialog box, which you can use to edit the key bindings used
by MULTI. The key bindings are displayed in the same format as the keybind command. See
“Customizing Keys and Mouse Behavior” on page 153.
Windows
Opens a dialog box, where:
• Taskbar Organizer — (Windows only) Configures taskbar organization. For more
information, see “The Taskbar Organizer Dialog Box” on page 185.
• Window Docking — Configures window alignment and grouping. For more information,
see “The Window Docking Options Window” on page 187.
Third-Party Editor Configuration Options
To access the following options, select Config → Options → General tab. Then
select an alternative editor (any editor other than the MULTI Editor) from the Editor
drop-down list and click the Configure Editor button. (If you select MULTI Editor
from the Editor drop-down list, the MULTI Editor tab opens. See “The MULTI
Editor Options Tab” on page 221.)

The options that appear are specific to the editor type selected. Not all options appear
for every editor type.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Path to Editor
(extEditor_EmacsPath editor_path for Emacs, extEditor_ViPath editor_path for vi,
extEditor_OtherPath editor_path for other editors) Specifies where the editor executable is
located on the system. Depending upon your PATH environment variable, you may need to
specify the full path to the editor in the Path to Editor field.
Use command window
Windows only
(extEditor_EmacsUseCmd for Emacs, extEditor_ViUseCmd for vi, extEditor_OtherUseCmd
for other editors) Determines whether the editor will be launched from within a command
window. Users with console mode editors should enable this option. This is equivalent to
prefixing cmd.exe /k to the command to launch the editor. You must restart MULTI for changes
to this option to take effect.
Green Hills Software
183

Chapter 8. Configuration Options
Use XTerm
Linux/Solaris only
(extEditor_EmacsUseXTerm for Emacs, extEditor_ViUseXTerm for vi,
extEditor_OtherUseXTerm for other editors) Determines whether the external editor will be
launched from within an xterm. This is equivalent to prefixing xterm -e to the command to
launch the editor. Users with console mode editors should enable this option. You must restart
MULTI for changes to this option to take effect.
Command line arguments
("extEditor_EmacsArgumentFormat +%LINE %FILE0 %FILES" for Emacs,
"extEditor_ViArgumentFormat +%LINE %FILE0 %FILES" for vi,
"extEditor_OtherArgumentFormat command line specification” for other editors) Determines
the arguments given to the editor when it is launched.
Three special character sequences are replaced when the editor is run. Substitution rules follow:
• %LINE — Replaced with the line number to go to when opening the file (removed if
MULTI does not specify a line number).
• %FILE0 — Replaced with the first file to be edited.
• %FILES — Replaced with all but the first file if there is more than one file to edit (removed
if MULTI only specifies one file to edit). Each file is separated by a space.
Version Control Configuration Options
To access the following options, select Config → Options → General tab. Then
click the Configure Version Control button.
The options that appear are specific to the version control type selected. Not all
options appear for every version control type.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
184
MULTI: Managing Projects and Configuring the IDE

The General Options Tab
Automatic Checkout
Permitted settings for this option are:
• Selected (versCtrl_ClearCaseAutoCheckout on for ClearCase,
versCtrl_SourceSafeAutoCheckout on for SourceSafe) — Files are automatically checked
out when you start to edit them.
• Cleared (versCtrl_ClearCaseAutoCheckout off for ClearCase,
versCtrl_SourceSafeAutoCheckout off for SourceSafe) — [default] Files are not
automatically checked out.
This option is not available if you have selected the CVS or Subversion version control systems
because a file is always checked out when you use CVS or Subversion.
Location of VC binary
For CVS, ClearCase, SourceSafe, and Subversion version control systems only.
Specifies the name of the command to run, according to your version control system. The defaults
are:
• cvs (versCtrl_CvsPath cvs) — For CVS
• svn (versCtrl_SubversionPath svn) — For Subversion
• cleartool (versCtrl_ClearCasePath cleartool) — For ClearCase
• ss (versCtrl_SourceSafePath ss) — For SourceSafe
SourceSafe database location
SourceSafe only
(versCtrl_SourceSafeDatabase location) Specifies the location of the SourceSafe database.
In other words, this is the location of the srcsafe.ini file corresponding to the desired database.
Root of checkout
SourceSafe only
(versCtrl_SourceSafeRoot location) Specifies the working directory of the SourceSafe database
root ($/). The MULTI integration with SourceSafe assumes that the directory structure of a
database is maintained when files are checked out from that database. For example, the
$/example.c file in the database is checked out to root_of_checkout/example.c.
The Taskbar Organizer Dialog Box
The Taskbar Organizer dialog box allows you to free up the Windows taskbar by
grouping MULTI windows into a single taskbar entry or system tray icon. You can
also disable taskbar organization via this dialog box.
Green Hills Software
185


Chapter 8. Configuration Options
Note
The Taskbar Organizer is only available on Windows. No equivalent
feature exists for Linux/Solaris.
To access the Taskbar Organizer dialog box, select Config → Options → General
tab and click the Windows button. Select Taskbar Organizer and click OK. The
following table describes the modes and options available in the dialog box. Note
that not all options appear for every mode and that not all combinations of taskbar
options are valid. The dialog box prevents you from selecting invalid combinations
by dimming radio buttons that you cannot change given the current combination
of settings.
Mode
Permitted settings for this option are:
• Disabled (taskbarType disabled) — Disables the Taskbar Organizer. In this mode, MULTI
windows populate both the taskbar and the window list that appears when you press the
Alt+Tab key combination.
• Taskbar (taskbarType taskbar) — Enables taskbar mode. In taskbar mode, all MULTI
windows are grouped into a single taskbar entry labeled MULTI. For more information,
see “Configuring Taskbar Organization” on page 159.
• Tray (taskbarType tray) — Enables tray icon mode. In tray icon mode, all MULTI
windows are grouped under a single system tray icon. For more information, see
“Configuring Taskbar Organization” on page 159.
186
MULTI: Managing Projects and Configuring the IDE

The General Options Tab
When pressing Alt-Tab, display
Allows you to configure the appearance of items in the Alt+Tab list. Permitted settings for this
option are:
• All windows (taskbarShowAllWindows on) — Displays all MULTI windows in the
Alt+Tab list.
• Only the Taskbar Organizer (taskbarShowAllWindows off) — Displays a single MULTI
icon in the Alt+Tab list, regardless of the number of open MULTI windows. The setting
of the option When selecting the organizer in the Alt-Tab list determines the behavior
of the MULTI icon when selected.
• Nothing — Does not display any MULTI windows or icons in the Alt+Tab list.
When selecting the organizer in the Alt-Tab list
Determines what occurs after you select the MULTI icon in the Alt+Tab list. Permitted settings
for this option are:
• Go to the last activated window (taskbarGotoLastWindow on) — Returns focus to the
last active MULTI window.
• Show a list of all windows (taskbarGotoLastWindow off) — Displays a shortcut menu
providing access to all open MULTI windows. For more information, see “Taskbar
Organizer Menu Options” on page 160
.
The Window Docking Options Window
To access the Window Docking Options window, select Config → Options 
General tab and click the Windows button. On Windows hosts, select Window
Docking 
and click OK. The resulting window contains two tabs:
• Global Options — The options on this tab apply to all MULTI applications
(see “Window Docking Global Options” on page 188). Options selected on this
tab override any application-level options set on the Application Options tab.
• Application Options — The options on this tab only apply to the application
configuration file specified in the Application text box of the tab (see “Window
Docking Application Options” on page 189
). These application-level options
can be overridden by options set on the Global Options tab.
The options on each of these tabs are described in the following sections. For more
information about window docking, see “Configuring Window Docking” on page 161.
Green Hills Software
187


Chapter 8. Configuration Options
Window Docking Global Options
The items on the Global Options tab apply to all applications.
Disable all window management
Completely disables both window alignment (snapping) and window grouping. This option is
cleared by default.
Disable all grouping
Completely disables window grouping, overriding any Application Options. This option is
selected by default.
Docking Distance
Specifies the distance at which windows snap to each other, either side by side or vertically.
There are two settings:
• Opposing edges — Specifies the distance (in pixels) at which windows snap together when
the left edge of one window snaps to the right edge of another, or the top of one window
snaps to the bottom of another. The default is 20.
• Same edge — Specifies the distance (in pixels) at which windows snap together when you
align the edges of vertically adjacent windows. For example, you can align a series of
windows in a column along the left edge. The default is 10.
188
MULTI: Managing Projects and Configuring the IDE


The General Options Tab
Compatibility
Linux/Solaris only
Disables window docking behavior that may not be supported in specific circumstances. Available
options are:
• Disable grouping in KDE — Disables window grouping when the KDE window manager
is detected. This setting overrides any application-level options and is selected by default.
For more information, see “Linux/Solaris Docking Limitations” on page 162.
• Disable activation follows focus — Does not raise all windows in a group when one of
the windows gets the focus. This option is selected by default.
• Disable geometry caching — Disables caching of window manager geometry. Selecting
this option causes a small window to open and close each time an application is started,
enabling MULTI to detect window manager geometry properties. This option is cleared
by default and should not be selected unless MULTI cannot detect a change in window
managers.
Window Docking Application Options
The items on the Application Options tab allow you to configure window grouping
on a per-application basis.
Green Hills Software
189

Chapter 8. Configuration Options
Application
Displays the location of the window docking configuration file that is currently being viewed.
This file may be located in the site-wide configuration directory or in the user configuration
directory. Any changes are saved to the user configuration directory.
Window
Lists available window types (which vary depending on the Application setting). Each window
supports configurable window grouping.
Docks to
Specifies the window types that form groups with Window.
You can use the arrow buttons to move window types between the Docks to and Does not dock
to 
lists. If window type A is added to the Docks to list for window type B, then window type
B should also be added to the Docks to list for window type A. If this is not done, window
groups are only formed when you move window type B near window type A, but not vice versa.
Does not dock to
Specifies the window types that do not form groups with Window.
You can use the arrow buttons to move window types between the Docks to and Does not dock
to 
lists.
Other General Configuration Options
The options in this section are not accessible from the Options window. To set
these options, you can either enter them in a configuration file or in the Debugger
command pane (preceded by the configure command). For information about setting
these options in configuration files, see “Creating and Editing Configuration Files”
on page 137
. For information about setting configuration options from the command
pane, see the introduction of Chapter 8, “Configuration Options” on page 175.
blinkingCursor [ on | off ]
Linux/Solaris only
Permitted settings for this option are:
• on — [default] The vertical bar cursor in various windows (such as the Debugger command
pane and the Editor) will blink.
• off — The cursor will be a solid non-blinking bar.
clearKeys
Removes all of the key bindings so they can be created from scratch with keybind.
190
MULTI: Managing Projects and Configuring the IDE

Other General Configuration Options
clearMenus
Removes all menus so they can be created from scratch using menu.
clearMice
Removes all mouse button bindings so they can be created from scratch with the mouse
command. See “Customizing Mouse Behavior with the mouse Command” on page 155.
clickPause time
Linux/Solaris only
Specifies the length of time, in time tenths of a second, that MULTI waits between successive
button presses to recognize double or triple clicks. For example, if time is 4, two clicks on the
same button, in the same mouse location, within four tenths of a second, are treated as a
double-click. If the two clicks are separated by more than time tenths of a second, they are
treated as two single-clicks.
If no mouse binding requiring multiple clicks exists for a particular mouse location, MULTI
executes the mouse binding immediately without waiting for multiple clicks.
The default time is 4.
configureFile filename
Used within a configuration file to read in another configuration file specified by filename.
After filename is processed, processing of the original configuration file continues as normal.
disAsmStyle [ remote | XORmacs | unix ]
Controls the style of disassembled Motorola 68000 series code. Permitted settings for this option
are:
• remote — [default] Use XORmacs style if the code is destined for execution on an
embedded processor or Linux/Solaris style for native development.
• XORmacs — Always use XORmacs style (such as MOVE.L (12,A6),D0).
• unix — Always use Linux/Solaris style (such as movel a6@(12),d0).
focusOnRaise [ on | off ]
Linux/Solaris only
Controls whether existing windows are automatically given focus when they are raised. This
option does not affect windows when they are displayed for the first time.
• on — [default] Existing windows are automatically given focus when they are raised. This
setting is recommended if your window manager uses a click-to-focus policy.
• off — Existing windows are not given focus when they are raised. This setting is
recommended if your window manager uses a focus-follows-mouse policy.
Green Hills Software
191

Chapter 8. Configuration Options
grabTimeout time
Linux/Solaris only
Specifies an interval used to force processes to release any X-server keyboard or mouse grabs:
• If time is less than zero — MULTI does not check to see if there are any outstanding grabs
on the X-server each time it stops.
• If time is greater than zero — MULTI checks to see if the process has any outstanding
grabs when the process is stopped by a signal or breakpoint. If both the keyboard and the
mouse are grabbed, MULTI waits time seconds before aborting the other process's grabs,
and then exits.
The default time is -1.
This option is only useful for Solaris native and Linux native development.
iconify [ on | off ]
Linux/Solaris only
Permitted settings for this option are:
• on — The next MULTI window will be minimized as an icon when it opens.
If you repeatedly configure this option to on, it will remember the number of times you
have done this, and cause the next num windows to be created minimized (one per time
you configure the option to on). After the correct number of windows come up minimized,
this option resets itself to off.
• off — [default] Does not minimize MULTI windows.
This option is only applied to the next window created and does not affect existing windows.
ignoreMotion num
Specifies the number of pixels the mouse can move during a press and release of a mouse button.
If you move the mouse less than num pixels between a button press and release, the click is
treated as a single click. If you move the mouse more than num pixels between press and release,
the mouse click is no longer treated as a single click but as two independent press and release
events.
The default num is 4.
keyBind
Used to assign an action to a key. For more information, see “Customizing Keys and Mouse
Behavior” on page 153 
and “Customizing Keys with the keybind Command” on page 153.
menu
Used to define a menu. For more information, see “Configuring and Customizing Menus”
on page 148.

192
MULTI: Managing Projects and Configuring the IDE

Other General Configuration Options
menuDelay time
The delay, in milliseconds, between moving the cursor over a submenu entry and the submenu
opening. If set to 0, submenus will open immediately.
The default time is 25.
mouse
Used to assign an action to mouse button clicks. For more information, see “Customizing Keys
and Mouse Behavior” on page 153 
and “Customizing Mouse Behavior with the mouse Command”
on page 155.

multiiconPreName string
Linux/Solaris only
When you iconify a window, string prefixes the icon name. For example, if you set string
to MULTI, iconified Editor windows are named MULTI:Filename.c instead of Filename.c.
If your window manager does not support iconifying, this option has no effect. The default is
an empty string.
Changes to this setting only affect new windows.
multiWinPreName string
Linux/Solaris only
Prepends string to the title bar's window name. The default is an empty string.
Changes to this setting only affect new windows.
noDecoration [ on | off ]
Linux/Solaris only
Permitted settings for this option are:
• on — If the windows manager supports this setting, all windows appear without title bars.
• off — [default] Windows appear with title bars.
numberSeparator string
Specifies a character (string) used to break up large numbers for ease of reading. For example,
specifying an underscore would cause MULTI to display 0x123456789 as 0x1_23456789.
string may only be a single character. The default is an empty string, which results in MULTI
not using any separator character to break up numbers.
showGrepCommand [ on | off ]
Permitted settings for this option are:
• on — The full grep command prints out whenever the grep command is executed.
• off — [default] The full grep command does not print out.
Green Hills Software
193

Chapter 8. Configuration Options
synchronous [ on | off ]
Linux/Solaris only
Permitted settings for this option are:
• on — Enable synchronous X-windows mode. Synchronous mode ensures that X-window
calls from MULTI complete before they return. This can be useful when running MULTI
on faulty X-servers.
• off — [default] Disables synchronous X-windows mode.
useWmPositioning [ on | off ]
Permitted settings for this option are:
• on — MULTI allows the window manager to determine where all windows should go.
• off — [default] MULTI automatically places windows in convenient locations.
Project Manager Configuration Options
This section describes configuration options that affect the Project Manager. To
access the following options, select Config → Options → Project Manager tab
(from the Project Manager, select Tools → Options).
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Open build details window*
Permitted settings for this option are:
• Always (showProgress always) — The Build Details window opens every time you build
an application, even if no warnings or errors are produced.
• On Warnings and Errors (showProgress on warnings and errors) — [default] The
Build Details window opens if your build produces warnings or errors.
• On Errors (showProgress on errors) — The Build Details window opens if your build
produces errors, but does not open for warnings.
• Never (showProgress never) — The Build Details window never opens, even if warnings
or errors are produced.
194
MULTI: Managing Projects and Configuring the IDE

Project Manager Configuration Options
Automatically open editor on errors
Permitted settings for this option are:
• Selected (autoEditErrors on) — [default] If the Build Details window is open or is
configured to open on errors, the code that caused the first error of the build is automatically
displayed in an Editor window.
• Cleared (autoEditErrors off) — Errors are displayed in the Build Details window.
Double-click an error to open it in an Editor window.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 136.
On warnings
Permitted settings for this option are:
• Selected (autoEditWarnings on) — If the Build Details window is open or is configured
to open on warnings, the code that caused the first warning of the build is automatically
displayed in an Editor window.
• Cleared (autoEditWarnings off) — [default] Warnings are displayed in the Build Details
window. Double-click a warning to open it in an Editor window.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 136.
Use MULTI Editor on errors (even if alternate editor is specified elsewhere)
Permitted settings for this option are:
• Selected (alwaysUseMeToFixBuildErrors on) — [default] Errors and warnings will be
displayed in the MULTI Editor even if you have configured the MULTI environment to
use an alternative, third-party editor.
• Cleared (alwaysUseMeToFixBuildErrors off) — Errors and warnings will be displayed
in the editor you use in your MULTI environment.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 136.
Green Hills Software
195

Chapter 8. Configuration Options
Project directory root
(defaultNpwDir string) Specifies the base directory where new projects are created. If left
blank, new projects are created at:
• Windows 7/Vista — C:\Users\username\My Documents\My Projects\
• Windows XP — C:\Documents and Settings\username\My Documents\My Projects\
• Linux/Solaris — ~/MyProjects/
The Project Wizard creates a Projectdirectory in this location to act as the root directory of
the project.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 136.
Parallel Build*
(buildType parallel) [default] Builds programs using the number of processes specified. See
the descriptions of Number of parallel processesAuto-detect, and Custom below.
Single-Thread Build*
(buildType singleThread) Runs the build in a single process.
Number of parallel processes*
(numParallelBuildProcesses num) Specifies the number of processes that may be run in
parallel. This option is only available with the Parallel Build option. The default num is 2. See
the descriptions of Auto-detect and Custom below.
Auto-detect*
(autoDetectNumParallel auto) [default] Auto-detects the maximum number of processes that
may be run in parallel.
Custom*
(autoDetectNumParallel custom) Uses the number value set by numParallelBuildProcesses
num 
(above).
Use lock files (-lockout)*
Permitted settings for this option are:
• Selected (useLockFiles on) — Prevents multiple simultaneous builds of the same program
or library by creating temporary .lck lock files.
• Cleared (useLockFiles off) — [default] Does not create temporary .lck lock files.
Note: -lockout is the corresponding gbuild option. For information about the gbuild utility
program, see the MULTI: Building Applications book for your target processor family.
196
MULTI: Managing Projects and Configuring the IDE

Project Manager Configuration Options
Execute tools at low priority (-nice)*
Permitted settings for this option are:
• Selected (useLowPriority on) — Executes the build with lower than normal
priority—scheduling priority 10 (Linux/Solaris) or the idle priority class (Windows).
• Cleared (useLowPriority off) — [default] Executes the build at normal priority.
Note: -nice is the corresponding gbuild option. For information about the gbuild utility program,
see the MULTI: Building Applications book for your target processor family.
Show tool commands (-commands)*
Permitted settings for this option are:
• Selected (toolCommands on) — Displays commands as they are executed.
• Cleared (toolCommands off) — [default] Does not display commands as they are executed.
Note: -commands is the corresponding gbuild option. For information about the gbuild utility
program, see the MULTI: Building Applications book for your target processor family.
Beep when build completes
Permitted settings for this option are:
• Selected (beepOnBuildCompletion on) — Beeps at the end of a successful build. This
setting only takes effect if Allow beeping on the General tab is selected (see “The General
Options Tab” on page 177).

• Cleared (beepOnBuildCompletion off) — [default] Does not beep.
Automatically share target connections
Permitted settings for this option are:
• Selected (autoConnectionMode on) — [default] The primary target connection is used.
• Cleared (autoConnectionMode off) — Multiple target connections can run concurrently.
Advanced users who need to have multiple target connections running must clear this
option before starting multiple connections.
Display connection type in Connection Chooser
Permitted settings for this option are:
• Selected (displayConnectionTypeinChooser on) — The type of a connection method is
displayed in brackets after the name in the drop-down list in the Connection Chooser
dialog. Custom connection methods have no type displayed.
• Cleared (displayConnectionTypeinChooser off) — [default] Only the name of the
connection method is displayed.
Green Hills Software
197

Chapter 8. Configuration Options
*: For changes to this option to take effect, you must either set the option from the
Project Manager, or save the change as your default configuration and then restart
the IDE.
Debugger Configuration Options
This section describes configuration options that affect the Debugger. Most of these
options appear on the Debugger tab of the Options window.
The Debugger Options Tab
To access the following options, select Config → Options → Debugger tab.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Ask before halting to set breakpoint
Permitted settings for this option are:
• Selected (verifyHalt on) — [default] The Debugger will ask for confirmation before
halting the process to set a breakpoint.
• Cleared (verifyHalt off) — The Debugger will automatically halt, set the breakpoint, and
continue the process without requiring user intervention.
Use procedure relative line numbers (vs. file relative)
Permitted settings for this option are:
• Selected (procRelativeLines on) — [default] Debugger commands, such as the command,
interpret line numbers as procedure relative, instead of file relative.
• Cleared (procRelativeLines off) — Line numbers are treated as file relative.
For more information, see “Specifying Line Numbers” in Chapter 1, “Using Debugger
Commands” in the MULTI: Debugging Command Reference book.
198
MULTI: Managing Projects and Configuring the IDE

The Debugger Options Tab
Display all numbers/characters as hex
Permitted settings for this option are:
• Selected (hexMode on) — All numeric values evaluated by the Debugger are displayed
in hexadecimal format.
• Cleared (hexMode off) — [default] Display format is based on the “natural” display format
for that type. For integral types, the natural display format is decimal.
View unsigned char as integer
Permitted settings for this option are:
• Selected (viewUnsignedCharAsint on) — [default] The “natural” display format of
unsigned chars will be the same as for ints. This is useful when you want to view byte
values as numeric values instead of characters.
• Cleared (viewUnsignedCharAsint off) — The natural display format for unsigned chars
is a literal character, such as 'A'.
Coloring for multiple debuggers
Specifies how the background color of new Debugger windows is chosen. It is useful to turn
this on when using multiple Debugger windows to make them visually distinct. Permitted settings
for this option are:
• Do Not Color (backgroundMode off) — All Debugger windows use the normal
background color.
• Use Color Offsets (backgroundMode offset) — [default] New Debugger windows will
use predetermined offsets from the normal background color. This option is usually best
since it will pick colors near the current background color, and keep the text as legible as
possible.
• Use Preset Colors (backgroundMode preset) — New Debugger windows will use a
color from a set of pre-chosen, highly distinctive colors.
Line numbers in source pane
Specifies how line numbers are displayed on the left side of the Debugger source pane. Permitted
settings for this option are:
• No Number (lineNumberMode none) — No line numbers are displayed.
• File Number (lineNumberMode file) — The file relative line numbers are displayed.
• Proc Number (lineNumberMode proc) — The procedure relative line numbers are
displayed.
• Both Numbers (lineNumberMode both) — [default] Both file-relative and
procedure-relative line numbers are displayed.
Green Hills Software
199

Chapter 8. Configuration Options
Show variable values in tooltips
Permitted settings for this option are:
• Never (fastest and safest) (hoverValues never) — Never show variable values in tooltips.
• On Mouse Hover (hoverValues always) — When the mouse is positioned over a variable,
show its value in a tooltip.
• On Mouse Hover with Shift Key (hoverValues onShift) — [default] When the mouse
is positioned over a variable and the Shift key is pressed, show the variable's value in a
tooltip.
Variables are evaluated in the context of the blue current line pointer. If you want to view the
value of a local variable, ensure that the current line pointer is positioned in the current function.
For information about the current line pointer, see “The Source Pane” in Chapter 2, “The Main
Debugger Window” in the MULTI: Debugging book.
Debugger child windows
Windows only
Controls how Debugger child windows (such as the Data Explorer and the Breakpoint window)
interact with the Debugger window in terms of stacking order and focus. Permitted settings for
this option are:
• Stay above Debugger (viewsAreChildrenMode children) — Child windows are always
displayed in front of the Debugger, and the keyboard focus stays with the Debugger when
a child window appears. This makes it easy to keep track of child windows and keeps the
focus with the Debugger for further command input, but can be annoying if the child
windows start to obscure the Debugger window. Child windows can be minimized, but
this mode precludes partially obscuring a child window with the Debugger to save space.
• Can be below Debugger (viewsAreChildrenMode topLevel) — [default] Child windows
can be either above or below the Debugger, and keyboard focus remains with the Debugger
for further command input when a child window first appears. Because the keyboard focus
remains with the Debugger, child windows will appear to flash above the Debugger and
then immediately go behind it, so this option is most useful on a large screen where child
windows do not overlap the Debugger when they first appear.
• Are initially focused (viewsAreChildrenMode keepFocus) — Child windows can be
either above or below the Debugger, and also receive the keyboard focus when they first
appear. This keeps child windows from immediately going behind the Debugger, but takes
the focus away from the Debugger. Further command input into the Debugger is not possible
until you click the Debugger again to give it the keyboard focus.
Command pane prompt
(prompt string) Specifies the string used as a prompt in the Debugger command pane to indicate
that user input is desired. The default string is MULTI>.
200
MULTI: Managing Projects and Configuring the IDE

The Debugger Options Tab
Configure Debugger Buttons
Opens a dialog box that you can use to edit the Debugger toolbar buttons. This dialog box is
only accessible from the MULTI Debugger. For more information, see “Adding, Removing,
and Rearranging Toolbar Buttons” in Appendix A, “Debugger GUI Reference” in the MULTI:
Debugging 
book.
More Debugger Options
This button opens the More Debugger Options dialog box, which contains additional
configuration options for the Debugger (see “The More Debugger Options Dialog” on page 202).
Minimum initial size (WxH)
(minViewSize widthxheight) Specifies the minimum initial size that will be used to auto-size
Data Explorer windows in characters (width) by lines (height) or in pixels, as specified.
This option provides a lower limit that sets how small a Data Explorer can be, but not necessarily
how small it is. The default widthxheight is 40x3. The default units are characters/lines. To
specify pixels from the command pane or in a configuration file, put a p after widthxheight
(for example, 200x21p).
Maximum initial size (WxH)
(maxViewSize widthxheight) Specifies the maximum initial size that will be used to auto-size
Data Explorer windows in characters (width) by lines (height) or in pixels, as specified.
This option provides an upper limit that sets how large a Data Explorer can be, but not necessarily
how large it is. Even if the minViewSize option (preceding) is greater in either dimension than
maxViewSize, the maxViewSize value is still used.
The default widthxheight is 40x40. The default units are characters/lines. To specify pixels
from the command pane or in a configuration file, put a p after widthxheight (for example,
200x200p).
Initial position (XxY)
(firstPosition x-coordinatexy-coordinate) Specifies the initial position of the Data Explorer
from the top-left of the screen. You may specify the position in characters (x-coordinate) by
lines (y-coordinate) or in pixels.
This option only applies to the first Data Explorer. Subsequent Data Explorers are offset from
the first one that was created, preventing excessive overlap. If this option is left unspecified
(blank), the Data Explorer remembers its previous position. The default
x-coordinatexy-coordinate is 0x0. The default units are characters/lines. To specify
pixels from the command pane or in a configuration file, put a p after
x-coordinatexy-coordinate (for example, 0x0p).
Green Hills Software
201

Chapter 8. Configuration Options
The More Debugger Options Dialog
To access this dialog box, select Config → Options → Debugger tab and click the
More Debugger Options button.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Automatically dereference pointers
Permitted settings for this option are:
• Selected (derefPointer on) — [default] MULTI automatically follows pointers when it
encounters them and prints both the pointer value and the object it points to.
• Cleared (derefPointer off) — MULTI only displays the value of the pointer.
Check syntax of breakpoints when they are set
Permitted settings for this option are:
• Selected (bpSyntaxChecking on) — [default] Commands associated with a breakpoint
must pass syntax checking for the breakpoint to be set. Breakpoint commands that fail
syntax checking cannot be set.
• Cleared (bpSyntaxChecking off) — A syntax error in a breakpoint command will not be
detected by MULTI until the breakpoint is hit and MULTI tries to execute the associated
commands.
Continue running script files on error
Permitted settings for this option are:
• Selected (continuePlaybackFileOnError on) — The Debugger will not stop if it
encounters an error while running a script file. Instead, it will print any error output and
continue reading and performing commands out of that file.
• Cleared (continuePlaybackFileOnError off) — [default] The Debugger aborts running
a script file if it encounters an error.
202
MULTI: Managing Projects and Configuring the IDE

The Debugger Options Tab
“s” (step) and “n” (next) are blocking by default
Permitted settings for this option are:
• Selected (blockStep on) — Step/next operations block subsequent commands until the
step/next operations have finished.
• Cleared (blockStep off) — [default] Step/next operations allow subsequent commands
to execute before the step/next operations have finished. This can cause scripts that use
step/next commands to behave inconsistently.
You can make a step or next command blocking or non-blocking regardless of the setting of
this option by appending an n (for non-blocking) or b (for blocking) to the command. See
“Single-Stepping Commands” in Chapter 13, “Program Execution Command Reference” in the
MULTI: Debugging Command Reference book.
See also the blockRun option in “Other Debugger Configuration Options” on page 209.
Show locations of variables for “print” command
Permitted settings for this option are:
• Selected (showAddress on) — The location (address in memory or register name) of a
variable is printed when using the print command.
• Cleared (showAddress off) — [default] The location of a variable will not be printed;
only the value is displayed.
Display typedef type instead of basic type
Permitted settings for this option are:
• Selected (leaveTypeDef on) — Data Explorers for structures will display the name of the
type definition.
• Cleared (leaveTypeDef off) — [default] Data Explorers for structures will display the
actual self-contained type.
Show position in non-GUI (-nodisplay) mode
Permitted settings for this option are:
• Selected (showPosinNoDisplayMode on) — [default] When running in non-GUI mode,
MULTI will print the line of source associated with the current line pointer, each time the
current line pointer moves. This is the line that will be affected by the next Debugger
command executed.
• Cleared (showPosinNoDisplayMode off) — The line of source code associated with the
current line will not display.
Green Hills Software
203

Chapter 8. Configuration Options
Pressing Esc halts the target when connected
Permitted settings for this option are:
• Selected (escHalts on) — [default] MULTI attempts to halt the current process when you
press Esc and the Debugger window is active.
• Cleared (escHalts off) — MULTI does not attempt to halt the current process when you
press Esc.
Prompt for OSA package when package is not found
Permitted settings for this option are:
• Selected (requestOsaPackage on) — If MULTI determines that the program is a
freeze-mode debugging project (see Chapter 26, “Freeze-Mode Debugging and
OS-Awareness” in the MULTI: Debugging book) but cannot determine the Operating
System Awareness (OSA) package, MULTI will prompt you for the package name. You
can choose the package name so that MULTI can provide the corresponding debugging
features, or select Cancel to continue without OSA.
• Cleared (requestOsaPackage off) — [default] MULTI will not prompt you for the OSA
package name and will continue without OSA.
Delete dead tasks from group
Permitted settings for this option are:
• Selected (deleteDeadTaskFromGroup on) — The Task Manager will delete dead task
fingerprints from the task group. For information about task groups and the meaning of
dead tasks, see Chapter 25, “Run-Mode Debugging” in the MULTI: Debugging book.
• Cleared (deleteDeadTaskFromGroup off) — [default] The Task Manager will not delete
dead task fingerprints from the task group.
204
MULTI: Managing Projects and Configuring the IDE

The Debugger Options Tab
Automatically verify ROM image is up-to-date
Permitted settings for this option are:
• Selected (autoVerifyRomSections on) — When an executable residing in the target's
ROM begins executing, the Debugger will automatically check whether the host and target
versions of the executable match. If the executable has a checksum, even slight variations
between the two versions will be detected. If the executable does not have a checksum,
only more significant differences will be detected. For more information, see Chapter 23,
“Working with ROM” in the MULTI: Debugging book.
For information about generating a checksum for an executable, see the documentation
about verifying program integrity in the MULTI: Building Applications book.
• Cleared (autoVerifyRomSections off) — [default] The Debugger will not check the
target's version of the executable.
Translate DWARF debugging information (requires dwarf2dbo license)
Permitted settings for this option are:
• Selected (autoDwarf2Dbo on) — Enables automatic translation of DWARF debugging
information when an executable built entirely by a third-party compiler that generates
DWARF information is loaded. This option is only meaningful if you have licensed the
DWARF Debug Translator; otherwise it has no effect.
• Cleared (autoDwarf2Dbo off) — [default] Disables automatic translation of DWARF
debugging information if Translate stabs debugging information (next) is selected. If
both Translate DWARF... and Translate stabs... are cleared, and the executable is built
entirely by a third-party compiler, the debugging information is automatically translated
into the format required by the MULTI Debugger (assuming that you have licensed the
appropriate Debug Translator).
For more information, including instructions about what to do if you compiled some of the
object files of your executable with a third-party compiler and others with a Green Hills Software
compiler, see the documentation about generating debugging information for applications
compiled with third-party compilers in the MULTI: Building Applications book.
Green Hills Software
205

Chapter 8. Configuration Options
Translate stabs debugging information (requires stabs2dbo license)
Permitted settings for this option are:
• Selected (autoStabs2Dbo on) — Enables automatic translation of Stabs debugging
information when an executable built entirely by a third-party compiler that generates Stabs
information is loaded. This option is only meaningful if you have licensed the Stabs Debug
Translator; otherwise it has no effect.
Note that if both this option and the preceding are selected, only a DWARF translation is
attempted (the DWARF Debug Translator must be licensed).
• Cleared (autoStabs2Dbo off) — [default] Disables automatic translation of Stabs
debugging information if Translate DWARF debugging information (preceding) is
selected. If both Translate stabs... and Translate DWARF... are cleared, and the executable
is built entirely by a third-party compiler, the debugging information is automatically
translated into the format required by the MULTI Debugger (assuming that you have
licensed the appropriate Debug Translator).
For more information, including instructions about what to do if you compiled some of the
object files of your executable with a third-party compiler and others with a Green Hills Software
compiler, see the documentation about generating debugging information for applications
compiled with third-party compilers in the MULTI: Building Applications book.
Reuse Data Explorer
Permitted settings for this option are:
• Selected (unifyViewWindows on) — [default] Causes MULTI to display newly opened
variables in an existing Data Explorer when available.
• Cleared (unifyViewWindows off) — Causes each newly viewed variable to be displayed
in a separate Data Explorer.
For more information, see Chapter 11, “Viewing and Modifying Variables with the Data
Explorer” in the MULTI: Debugging book.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 136.
206
MULTI: Managing Projects and Configuring the IDE

The Debugger Options Tab
Stepping over longjmps
When the Debugger performs a next operation over a subroutine that calls longjmp or throws
a C++ exception (implemented by a call to longjmp internally), the subroutine does not return
in the normal way because of the transfer of control within the function call. This is significant
because the Debugger uses a temporary breakpoint just after the normal return address to
implement the next operation. This is also true of step if there is no source available for the
subroutine. When longjmp is called, this temporary breakpoint is bypassed because of the
transfer of control, and execution can “run away” since the breakpoint will never be hit.
This configuration option controls how MULTI attempts to properly catch unexpected transfers
of control while stepping through code. Permitted settings for this option are:
• Ignore/Run Away (longjmpStepMode ignoreRunAway) — [default] Allows the code
to call longjmp without attempting to detect abnormal transfers of control.
• Minimize Temp Stops (longjmpStepMode minimizeTempStops) — Fixes the problem
in a way that does not cause temporary stops in longjmp as the process runs normally.
This option inserts and removes a temporary breakpoint at longjmp for each next over a
function call.
• Maximize Step Speed (longjmpStepMode maximizeStepSpeed) — Fixes the problem
in a way that minimizes the time it takes to do a next. This option leaves a permanent
breakpoint at longjmp and results in execution always halting due to a breakpoint being
hit whenever the process calls longjmp—even during normal execution.
Debug server timeout in seconds
(serverTimeout seconds) Specifies the number of seconds to wait for communication from a
debug server before assuming it is dead and disconnecting from it.
A timeout that is too low may cause a premature disconnect from the debug server, and is not
recommended. A fairly high timeout can be useful for very slow debug servers or for debug
servers that are being debugged. However, a high timeout can be frustrating if the debug server
dies because the Debugger cannot accept input while it's waiting for communication from the
debug server.
The default is 15 seconds.
Interval to refresh Task Manager (in seconds)
(serverPollinterval seconds) Specifies the polling interval in seconds. MULTI checks for
interesting events happening in the underlying RTOS and refreshes the Task Manager
periodically.
The default is 1 second for INTEGRITY and 5 for other real-time operating systems.
Green Hills Software
207

Chapter 8. Configuration Options
Criteria to decide if a task is in a group
Controls how to match a task fingerprint against a task. For more information about how the
fingerprint is used in the construction process of a task group, see Chapter 25, “Run-Mode
Debugging” in the MULTI: Debugging book.
Permitted settings for this option are:
• Task Name (taskMatchCriteria name) — [default] Matches against the name of the task.
• Task Identifier (taskMatchCriteria id) — Matches against the identifier of the task.
• Task Name or Identifier (taskMatchCriteria nameOrid) — Matches against the name
or identifier of the task.
Prompt when exiting Debugger
Controls whether a confirmation dialog box appears when a user attempts to close the Debugger.
Permitted settings for this option are:
• Confirm If Process Started (promptQuitDebugger normal) — [default] The confirmation
dialog box is displayed only if the Debugger is attached to a process that has been started.
If the Debugger is attached to a process that has not been started, the Debugger closes
without displaying the confirmation dialog box. In a run-mode debugging environment,
the Debugger closes without displaying the confirmation dialog even though the process
has been started.
• Always Confirm (promptQuitDebugger always) — The Debugger will not close until
the user confirms the action in the confirmation dialog box.
• Never Confirm (promptQuitDebugger never) — The Debugger never displays the
confirmation dialog box before closing.
Maximum size for container display
(maxContainerDisplaySize num) Sets the maximum number of elements initially displayed
when a container is viewed in a Data Explorer.
The default num is 20.
Increment to maximum container size
(containerSizeincrement num) Sets the number of elements to add when expanding a container
that is being viewed in a Data Explorer.
The default num is 10.
208
MULTI: Managing Projects and Configuring the IDE

Other Debugger Configuration Options
Other Debugger Configuration Options
The options in this section are not accessible from the Options window. To set
these options, you can either enter them in a configuration file or in the Debugger
command pane (preceded by the configure command). For information about setting
these options in configuration files, see “Creating and Editing Configuration Files”
on page 137
. For information about setting configuration options from the command
pane, see the introduction of Chapter 8, “Configuration Options” on page 175.
allowExecutioninBpCommand [ on | off ]
• on — Stepping and execution of command line procedure calls are allowed from within a
breakpoint command. This is somewhat risky because infinite breakpoint command recursion
can occur if the execution from within the breakpoint command causes the same or another
breakpoint to be hit. The resume command is always allowed in a breakpoint command.
• off — [default].
allowProcCallinExamine [ on | off ]
• on — [default] Permits command line procedure calls during evaluation of an expression
as part of an examine command. Clicking an expression in the Debugger's source pane
automatically executes an examine command, so when this option is enabled (the default),
clicking an expression can trigger a procedure call.
• off — Disallows command line procedure calls during evaluation of an expression. When
this option is disabled, clicking an expression that involves a procedure call will result in
a warning message.
For information about the examine command, see Chapter 8, “Display and Print Command
Reference” in the MULTI: Debugging Command Reference book.
allowProcCallinOsaTask [ on | off ]
• on — Permits command line procedure calls via a freeze-mode connection to an operating
system kernel in any context. This may lead to overwritten register values and may only
be safe if no code on your target uses floating-point registers, vector registers, or other
extended registers, or if your target CPU does not have these registers.
• off — [default] Disallows command line procedure calls via a freeze-mode connection
to an operating system kernel if MULTI detects an executing task.
Green Hills Software
209

Chapter 8. Configuration Options
blockRun [ on | off ]
• on — Run/continue operations block subsequent commands until the run/continue operations
have finished.
• off — [default] Run/continue operations allow subsequent commands to execute before
the run/continue operations have finished. This can cause scripts that use run/continue
commands to behave inconsistently.
See “Run Commands” and “Continue Commands” in Chapter 13, “Program Execution Command
Reference” in the MULTI: Debugging Command Reference book.
See also the blockStep option in “The More Debugger Options Dialog” on page 202.
clearButtons
Removes all the Debugger buttons (except for the Close Debugger button if it is present) so
that you can create them from scratch with the debugbutton command (see “Configuring and
Customizing Toolbar Buttons” on page 145
) or the Customize Toolbar window (see “Adding,
Removing, and Rearranging Toolbar Buttons” in Appendix A, “Debugger GUI Reference” in
the MULTI: Debugging book).
cTextSize num
Sets the maximum number of scroll back lines available in the CmdTrgI/OSrlPy, and Tfc
panes.
If a MULTI session is in use for a long period of time, these panes can use a large amount of
memory. Setting this option to a smaller value reduces memory usage, but also limits the number
of available scroll back lines.
The valid range for num is 10 – 10485760. The default num is 10240.
debugButton
Lists the defined Debugger buttons. See also “Configuring and Customizing Toolbar Buttons”
on page 145.

downloadWindow [ on | off ]
The download window shows the current progress of a program download. Permitted settings
for this option are:
• on — [default] The download window will be used when downloading a program to the
debug server.
• off — The download window will not be used.
210
MULTI: Managing Projects and Configuring the IDE

Other Debugger Configuration Options
echoCommandsFromPlaybackFiles [ on | off ]
• on — When executing from a playback file, Debugger commands being executed will be
displayed.
• off — [default] When executing from a playback file, Debugger commands being executed
will not be displayed.
formatStringMaxDepth num
Limits the depth to which nested structs are displayed in a Data Explorer.
The valid range for num is 1 – unlimited (0x7fffffff). The default num is 0x7fffffff.
formatStringMaxLength num
Limits the length of the value displayed in each row of a Data Explorer. For example, if this is
set to 2000, only the first 2000 characters of a string will display, followed by ... to indicate
there are more characters that are not displayed. Data values displayed in a single row in a Data
Explorer can be very long (when displaying a long string value or a structure with many nested
structs, for example).
The valid range for num is 1024 to 10 megabytes (10485760). The default num is 8192.
geometry widthxheight [[+x_offset+y_offset]|[-x_offset-y_offset]]
Sets the size and position of the Debugger window, where:
• width and height — Correspond to the pixel size of the Debugger window.
• x_offset and y_offset — Are optional values that indicate the pixel offset at which
the Debugger window appears from the top-left corner of the screen for the + variant or
from the bottom-right corner of the screen for the - variant. For example, the entry:
geometry 500x700+0+0 specifies a 500-pixel-wide by 700-pixel-high Debugger window
that appears in the top-left corner of the screen.
The defaults depend on screen size and vary from system to system. The width is approximately
wide enough to display 80 characters on a line.
Changes to this option affect new Debugger windows, but not currently open windows.
Green Hills Software
211

Chapter 8. Configuration Options
globalHeading [ on | off ]
• on — Enables the global scope entry in the Browse window.
• off — [default] Disables global scope entry in the Browse window.
This option corresponds to the Tools → Global Scope On/Off menu item in the Browse window.
See “Headings in the Procedures Browse Window” in Chapter 12, “Browsing Program Elements”
in the MULTI: Debugging book.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 136.
Changes to globalHeading affect new Browse windows, but not currently open windows.
gotoHitsBpAtTargetAddress [ on | off ]
• on — If you are using the Debugger command g, any breakpoint at the destination will be
hit as soon as execution begins at the new location. See the command in “General Program
Execution Commands” in Chapter 13, “Program Execution Command Reference” in the
MULTI: Debugging Command Reference book.
This option also controls whether a breakpoint set on the first instruction of a procedure
called from the command line is hit.
• off — [default] The breakpoint will not be hit.
history num
This option specifies how many commands to remember for the Debugger command history
mechanism. For more information, see “History Commands” in Chapter 15, “Scripting Command
Reference” in the MULTI: Debugging Command Reference book.
The default num is 256.
iconGeometry widthxheight+x_offset+y_offset
Linux/Solaris only
Specifies the dimensions (ignored by some window managers) for the icon that is used when
the Debugger is minimized, where:
• width and height — Are the width and height of the icon in pixels.
• x_offset and y_offset — Specify the number of pixels that the icon should be offset
from the top-left corner of the screen.
The defaults are 32x64+0+0.
212
MULTI: Managing Projects and Configuring the IDE

Other Debugger Configuration Options
implicitEvalEcho [ on | off ]
Permitted settings for this option are:
• on — [default] The value of an expression is echoed when the expression is entered into
the command pane.
• off — The value of an expression is not echoed when the expression is entered into the
command pane.
Note: This option affects expression evaluation in the %EVAL{commands} sequence used with
the substitute command. For more information, see the substitute command in “Command
Manipulation and Macro Commands” in Chapter 15, “Scripting Command Reference” in the
MULTI: Debugging Command Reference book.
interleavedOutput [ on | off ]
Controls whether output from Debugger panes other than the command pane (Cmd) will also
be output to the command pane. Permitted settings for this option are:
• on — [default] Output from Debugger panes other than the command pane will be output
to the command pane. For example, I/O pane output will show up in the command pane
with the prefix I/O:.
• off — Output from other panes will not appear in the command pane.
linesNonOverlapped num
By default, when the Debugger opens a Data Explorer or monitor window with
useWmPositioning off (see “Other General Configuration Options” on page 190), the new
window is stacked on top of previous windows to save screen space. This option leaves the top
num lines of the previous window visible.
The default num is 4.
osaExplorerRefreshTargetList [ on | off ]
Controls whether all OSA tasks appear in the target list. Permitted settings for this option are:
• on — [default] Displays all OSA tasks in the target list when the OSA Explorer is open.
• off — Does not display all OSA tasks in the target list. A subset of OSA tasks may appear
if accessed by the trace analysis tools.
Green Hills Software
213

Chapter 8. Configuration Options
osaSwitchToUserTaskAutomatically [ on | off ]
Controls whether the Debugger automatically displays the currently executing user-mode task
when the kernel is stopped while executing user-mode tasks. (This is in addition to automatically
displaying all of the tasks in the system as controlled by the osaTaskAutoAttachLimit
configuration option below.)
Permitted settings for this option are:
• on — [default] Automatically displays the currently executing user-mode task.
• off — Does not display the currently executing user-mode task.
See also “Debugging in Freeze Mode” in Chapter 26, “Freeze-Mode Debugging and
OS-Awareness” in the MULTI: Debugging book.
osaTaskAutoAttachLimit num
Specifies the maximum number of OSA tasks to display in the Debugger target list.
If the tasks have been loaded from trace data and the number of tasks exceeds this limit, one
task per AddressSpace is displayed in the target list. For information about manually displaying
additional tasks loaded from trace, see “Saving and Loading a Trace Session” in Chapter 19,
“Analyzing Trace Data with the TimeMachine Tool Suite” in the MULTI: Debugging book.
If the tasks are not loaded from trace, they are displayed consecutively until this limit is reached.
For example, if num is set to 32 and there are 33 tasks, the 33rd task is not displayed in the target
list. For information about manually displaying additional tasks that have not been loaded from
trace, see “Debugging in Freeze Mode” in Chapter 26, “Freeze-Mode Debugging and
OS-Awareness” in the MULTI: Debugging book.
The default num is 32.
paddedHex [ on | off ]
Permitted settings for this option are:
• on — Forces hex values to be displayed padded to their full width with zeros. For example,
a four-byte variable with a value of 0x8 is displayed as 0x00000008.
• off — [default] Hex values are displayed as entered.
214
MULTI: Managing Projects and Configuring the IDE

Other Debugger Configuration Options
prepareAllCores [ on | off ]
Permitted settings for this option are:
• on — When you prepare a single core of a multi-core target (for example, via the
prepare_target command), MULTI automatically prepares each remaining core as if you
had run prepare_target -verify=none on the executable associated with it. (This is
equivalent to choosing the Prepare Target dialog option Program already present on
target. Verify: Not at all 
for each remaining core.) For more information, see “Preparing
Multiple Cores to Run a Single Executable” in Chapter 26, “Freeze-Mode Debugging and
OS-Awareness” in the MULTI: Debugging book.
See also the -allcores option to the prepare_target command in “General Target Connection
Commands” in Chapter 18, “Target Connection Command Reference” in the MULTI:
Debugging Command Reference 
book.
• off — [default] Each core of a multi-core target is treated independently when you prepare
the target.
See also the -onecore option to the prepare_target command.
procQualifiedLocalimpliesOutermostBlock [ on | off ]
When the current line pointer is in an inner block of a procedure and that inner block defines a
variable that has the same name as a variable in the outer block, a procedure qualified reference
to the name of the variable can either refer to the variable of that name in the outermost block
or to the variable of that name in the current inner block. This option determines which of the
two variables is used. Permitted settings for this option are:
• on — The variable in the outermost block is used.
• off — [default] The variable in the current inner block is used.
quietTogCmd [ on | off ]
Permitted settings for this option are:
• on — The tog command does not echo the status of the breakpoint(s) it toggles.
See also the q option for the tog command in Chapter 3, “Breakpoint Command Reference”
in the MULTI: Debugging Command Reference book.
• off — [default].
Green Hills Software
215

Chapter 8. Configuration Options
recordCommentedCommandsFromMacros [ on | off ]
When command recording is enabled, commands executed from playback files are recorded as
comments. This option controls whether commands executed from macros are also recorded as
comments. Permitted settings for this option are:
• on — Commands executed from macros are recorded as comments.
• off — [default] Commands executed from macros are not recorded as comments.
runRcScripts [ on | off ]
Permitted settings for this option are:
• on — [default] Runs global, user, command line, and program script files (.rc) when a
new program is debugged.
• off — Only runs command line script files (that is, those explicitly specified on the
command line with -rc) when a new program is debugged. This setting is equivalent to the
-norc command line option. See also the -rc and -norc command line options in Appendix
C, “Command Line Reference” in the MULTI: Debugging book.
For information about .rc script files, see “Using Script Files” on page 142.
setBpAtAdrinitWhenExecing [ on | off ]
• on — [default] MULTI sets a breakpoint at the starting routine of a program when the
process is run. Execution is resumed automatically when this breakpoint is hit unless a
user breakpoint was set at the same spot. This is necessary to prevent corrupted call stack
traces.
• off — MULTI does not set a breakpoint at the starting routine of a program when the
process is run.
sharedSymbols [ on | off ]
• on — [default] MULTI attempts to debug shared objects.
• off — MULTI does not attempt to debug shared objects.
216
MULTI: Managing Projects and Configuring the IDE

Other Debugger Configuration Options
shellConfirm [ on | off ]
Permitted settings for this option are:
• on — [default] On Linux/Solaris, and if MULTI is running in the background, the shell
command opens a dialog box that allows you to confirm or cancel execution of the shell
command. This is helpful when MULTI is running in the background because shell
commands have no accessible standard output or standard error.
On Windows, the command window waits to be dismissed after running the shell command.
• off — On Linux/Solaris, MULTI always executes shell commands immediately, without
opening the dialog box.
On Windows, the command window exits immediately after running the shell command.
See also the shell command in Chapter 15, “Scripting Command Reference” in the MULTI:
Debugging Command Reference 
book.
silentlyReloadSymbols [ on | off ]
Permitted settings for this option are:
• on — The Debugger automatically kills any existing process and reloads the symbols
without displaying a dialog box. This is useful if you are using a Debugger primarily to
examine symbols and not to debug running processes.
• off — [default] When the executable open in the Debugger changes, the Debugger displays
a dialog box asking if any existing process should be killed and the symbols reloaded.
Green Hills Software
217

Chapter 8. Configuration Options
stepToBpignoresResumeinBpCmd [ on | off ]
Controls whether the (continue) command in a breakpoint is ignored during a single-step
operation (but not during a run operation). For more information, see the command in “Continue
Commands” in Chapter 13, “Program Execution Command Reference” in the MULTI: Debugging
Command Reference 
book.
Note: This option determines whether a continue command is ignored, not a resume command.
Permitted settings for this option are:
• on — MULTI ignores the command in the breakpoint command list, prints a warning,
and stops the process at the breakpoint.
• off — [default] MULTI does not ignore the command in the breakpoint command list.
For example, if you have a breakpoint with the command list print x; c and you step on
to this breakpoint, the process starts running because the command causes the process to
continue. The command inside a breakpoint always causes the process to start running,
which is incorrect behavior if you want to step on to that line.
Note that the resume command should be used inside breakpoint command lists. If the
breakpoint's command list is print x; resume, the process stops when you step on to the
breakpoint. If the process runs and hits the breakpoint, it will keep running (the process
resumes whatever it was going to do before hitting the breakpoint). For more information,
see the resume command in Chapter 3, “Breakpoint Command Reference” in the MULTI:
Debugging Command Reference 
book.
targetWindowSwitchViewOnBpHit [ on | off ]
Controls whether the Debugger automatically switches to a task that is not currently selected
in the target list when a breakpoint is hit in that task. Permitted settings for this option are:
• on — [default] When a breakpoint is hit in a task that is not currently selected in the target
list, the Debugger automatically switches to that task if no other Debugger window is open
on it and if the currently selected task is not halted. Switching occurs for both software and
hardware breakpoints.
• off — The Debugger does not automatically switch to a task when a breakpoint is hit in
that task.
218
MULTI: Managing Projects and Configuring the IDE

Other Debugger Configuration Options
tbTypeBg color
tbTypeFg color
Specifies the background color (commands end with Bg) or foreground color (commands end
with Fg) for Tree Browser displays, where:
• Type is one of the following:
○ FunctionNormal (tbFunctionNormalBg and tbFunctionNormalFg) — Functions
displayed in the static call Tree Browser which have debugging information.
○ FunctionNoinfo (tbFunctionNoinfoBg and tbFunctionNoinfoFg) — Functions
displayed in the static call Tree Browser which do not have debugging information.
○ FunctionRecursive (tbFunctionRecursiveBg and tbFunctionRecursiveFg)
— Functions displayed in the static call Tree Browser that may be recursive.
○ FunctionAdrTaken (tbFunctionAdrTakenBg and tbFunctionAdrTakenFg)
— Nodes representing the possibility of calls to a function through function pointer
in a Tree Browser.
○ DynNormal (tbDynNormalBg and tbDynNormalFg) — Functions displayed in the
dynamic call Tree Browser with debugging information.
○ DynNoinfo (tbDynNoinfoBg and tbDynNoinfoFg) — Functions displayed in the
dynamic call Tree Browser without debugging information.
○ FileNormal (tbFileNormalBg and tbFileNormalFg) — Files displayed in the
file call Tree Browser with debugging information.
○ FileNoinfo (tbFileNoinfoBg and tbFileNoinfoFg) — Files displayed in the
file call Tree Browser without debugging information.
○ ClassUnion (tbClassUnionBg and tbClassUnionFg) — Unions displayed in
the class Tree Browser.
○ ClassStruct (tbClassStructBg and tbClassStructFg) — Types displayed in
the class Tree Browser with debugging information.
○ ClassNoinfo (tbClassNoinfoBg and tbClassNoinfoFg) — Types displayed in
the class Tree Browser without debugging information.
○ ClassClass (tbClassClassBg and tbClassClassFg) — Class data types
displayed in the class Tree Browser.
○ ClassEnum (tbClassEnumBg and tbClassEnumFg) — Enum data types displayed
in the class Tree Browser.
• Bg or Fg — Specifies whether you are changing the background or foreground color of
the displayed items.
• color — Specifies the new color in RGB format. For more information, see “Colors
Configuration Options” on page 235.
Green Hills Software
219

Chapter 8. Configuration Options
viewDef [number_option] [eval_option] [[-]other_options]...
Specifies how data will be displayed in Data Explorers, where:
• number_option can be one of the following:
○ NaturalOrHex — Numbers display in their default states unless hexMode on is set
(see “The Debugger Options Tab” on page 198).
○ Natural — Numbers display in their default states.
○ Hex, Dec, Oct, or Binary — Numbers and characters display in base 16, base 10,
base 8, or base 2 notation, respectively.
• eval_option specifies how the Debugger re-evaluates expressions when updating Data
Explorers, and can be one of the following:
○ ReEvaluate — Each expression is re-evaluated in the same context as when the Data
Explorer displaying it was first created.
○ ReEvalContext — Expressions are re-evaluated within the current procedure at the
top of the call stack.
○ ReEvalinGlobal — When expressions are re-evaluated, only looks for variables in
the global scope.
○ UseAddress — Uses last valid address of variables being displayed.
• other_options can include any of the options listed below. (Prepending an option with
a dash (-) disables the behavior.)
○ ShowAddress — Displays the address (rather than name) of the variable.
○ ShowFType — Shows the type of each variable, class, or structure.
○ Alternate — Displays data in an alternative format, if available.
○ PadHex — Adds zeros to the left of hexadecimal numbers to maintain same bit width,
as needed. (Otherwise, only non-zero hexadecimal digits display.)
○ ShowBases — Displays the base classes of a C++ class along with a derived instance.
○ ShowAllFields — Displays all the fields of a complicated structure.
○ ShowDerived — Determines the most derived C++ class type of the current object
and redisplays the object cast to that type.
○ ExpandValue — Displays the value in memory (if in readable memory) that a pointer
references.
○ ExpandComplexMemberValue — Displays arrays and structures (if in readable
memory) that a pointer references. This options has no effect if ExpandValue is
disabled.
○ OpenPointer — Dereferences all pointers.
○ ShowChanges — Highlights values that have changed.
The defaults are NaturalOrHex ReEvalContext -ShowAddress -ShowFType
-Alternate -PadHex ShowBases -ShowAllFields ShowDerived ExpandValue
220
MULTI: Managing Projects and Configuring the IDE

MULTI Editor Configuration Options
ExpandComplexMemberValue OpenPointer ShowChanges.
warnOnBpReplacement [ on | off ]
Permitted settings for this option are:
• on — The Debugger displays a warning before replacing a pre-existing breakpoint with a
new breakpoint. This can help prevent the accidental loss of breakpoints with long command
lists.
• off — [default] The Debugger does not warn you before replacing a pre-existing breakpoint.
warnOnCmdAdrLinePromotion [ on | off ]
Permitted settings for this option are:
• on — The Debugger displays a warning when setting a breakpoint on a line with no
corresponding assembly code.
• off — [default].
MULTI Editor Configuration Options
This section describes configuration options that affect the appearance and behavior
of the MULTI Editor. (If you are using an alternative editor, see “Third-Party Editor
Configuration Options” on page 183.) 
Most of these options appear on the MULTI
Editor 
tab of the Options window.
The MULTI Editor Options Tab
To access the following options, select Config → Options → MULTI Editor tab.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Green Hills Software
221

Chapter 8. Configuration Options
Reuse editor windows
Permitted settings for this option are:
• Selected (openFilesinNewBuffers on) — The first file opened from a MULTI executable
such as the Project Manager or Debugger opens in a new Editor window. Subsequently
opened files reuse the Editor window initially opened from the MULTI executable.
• Cleared (openFilesinNewBuffers off) — [default] Every file opens in a new Editor
window.
All MULTI tools opened during the current MULTI session are notified of changes to this
option. For more information, see “Propagating Configuration Settings” on page 136.
Create backup files when saving
Permitted settings for this option are:
• Selected (editorBackups on) — A backup of the on-disk version of a file will automatically
be created before saving over it. The backup file has the same name as the original file,
with a tilde (~) appended to it.
• Cleared (editorBackups off) — [default] Backup files will not be created.
Allow middle click to paste
Permitted settings for this option are:
• Selected (allowMiddleClick on) — [default for Linux/Solaris] Clicking the middle mouse
button will have the same effect as pasting from the selection buffer.
• Cleared (allowMiddleClick off) — [default for Windows] Clicking the middle mouse
button will not paste from the clipboard.
Enter spaces in place of tabs
Permitted settings for this option are:
• Selected (tabsAreSpaces on) — Tab characters entered into an Editor window will be
replaced by an appropriate number of space characters in the Editor buffer, regardless of
whether the Tab is the result of pressing Tab, entering a paste command, or auto indenting
in the Editor.
• Cleared (tabsAreSpaces off) — [default] Space characters are not inserted in place of
Tab characters.
222
MULTI: Managing Projects and Configuring the IDE

The MULTI Editor Options Tab
Drag and drop text editing
Permitted settings for this option are:
• Selected (dragAndDrop on) — Text can be moved in the Editor by selecting a block of
text and dragging the mouse to a new location.
• Cleared (dragAndDrop off) — [default] Text cannot be moved by dragging the mouse.
Allow overtype mode
Permitted settings for this option are:
• Selected (allowOvertypeMode on) — Allows switching between insert and overtype
mode.
• Cleared (allowOvertypeMode off) — [default] Does not allow switching between insert
and overtype mode.
Tab size
(tabSize spaces) Specifies the number of spaces used to display a Tab in the Editor. The default
is 8 spaces.
Indent size
(editindent spaces) Specifies the number of spaces in an indentation. The default is 4 spaces.
Ctrl+cursor jump size
(editSomeSize num) Specifies the value used by the UpSomeDownSomeLeftSome, and
RightSome Editor commands. For information about these commands, see “Navigation
Commands” on page 350
.
The default num is 5.
Configure Editor Buttons
Opens the Configure Editor Buttons dialog box, which allows you to edit the Editor buttons
using the same format as the editbutton command (see “Configuring and Customizing Toolbar
Buttons” on page 145)
. The dialog box lists currently defined buttons on the left, and available
icons on the right.
More Editor Options
Opens the More Editor Options dialog box, which contains additional configuration options
for the Editor. See “The More Editor Options Dialog Box” on page 227.
Green Hills Software
223

Chapter 8. Configuration Options
Auto indent as you type
Permitted settings for this option are:
• Selected (aiimplicitindent on) — [default] The Editor automatically indents the file as
you type.
• Cleared (aiimplicitindent off) — The Editor will not automatically indent your file.
Only auto indent when typing first character in line
Controls auto indentation. This configuration option only takes effect if Auto indent as you
type 
(preceding) is selected.
Permitted settings for this option are:
• Selected (aiimplicitOnlyAtinitial on) — [default] The MULTI Editor only automatically
indents a line when the first typed character (includes space characters) is an auto-indent
character. See “Auto-Indent Characters” on page 90.
• Cleared (aiimplicitOnlyAtinitial off) — The MULTI Editor automatically makes indenting
adjustments when you type auto-indent characters, regardless of where they appear on the
line.
Auto indent comments as you type
Controls auto indentation in comments. This configuration option only takes effect if Auto
indent as you type 
(preceding) is selected.
Permitted settings for this option are:
• Selected (aiimplicitindentinComments on) — [default] Comments will be indented when
auto indenting multiple lines.
• Cleared (aiimplicitindentinComments off) — Comments are not modified unless you
auto indent a single line.
Double indent size when indenting body of switch
Permitted settings for this option are:
• Selected (aiSwitchinTwo on) — [default] For C or C++ source files, switch bodies are
indented two levels so that case labels are indented one level from the switch. For Ada
source files, select bodies are indented two levels so that labels are indented one level from
the select.
• Cleared (aiSwitchinTwo off) — For C or C++ source files, the case labels are even with
the switch. For Ada source files, the labels are even with the select.
224
MULTI: Managing Projects and Configuring the IDE

The MULTI Editor Options Tab
Indent comments when indenting multiple lines
Permitted settings for this option are:
• Selected (aiTouchComments on) — [default] Comments are indented when auto indenting
multiple lines.
• Cleared (aiTouchComments off) — Comments are only indented if you auto indent a
single line.
Comments stick flush left
Permitted settings for this option are:
• Selected (aiCommentsStayFlushLeft on) — [default] All comments will be kept directly
on the left margin.
To indent a comment that is stuck to the left margin while this option is selected, insert a
space just before the start of the comment, then auto indent the comment.
To move a comment to the left margin, regardless of the position where the comment
started, insert a number sign (#) as the first character of a comment. For example, if you
are coding in C, type: /*# and the comment is automatically moved to the left margin.
• Cleared (aiCommentsStayFlushLeft off) — Indents will be applied to comments.
C chars aligned like '*' in comments
(aiCharsLikeStarinComment char_string) Allows characters other than asterisks (*) to line
up in comments as if they were asterisks. The default char_string is - (dash).
The default setting allows correct automatic indentation of comments that have a column of -
(dashes) down the left side, lined up under the * in the /* sequence. To have characters other
than asterisks (*) line up in comments as if they were asterisks, make them part of the
char_string.
Green Hills Software
225

Chapter 8. Configuration Options
C paren indent mode
Controls how the Editor indents a line in a C/C++ source file if it starts within an open
parenthesis/close parenthesis pair. Permitted settings for this option are:
• Even with parentheses (aiParenindentMode evenWithParen) — If there is a
non-whitespace character between the open parenthesis and the end of its line, the lines
enclosed in parentheses start at the same column as that character. Otherwise, the lines
enclosed in parentheses start in the column just after the open parenthesis. For example:
void foo (void)
{
bar(
argument_one,
argument_two
);
}
• Indent in two (aiParenindentMode indentinTwo) — [default] Lines enclosed in
parentheses start two indent levels in from the line that contains the open parenthesis. For
example:
void foo (void)
{
bar(
argument_one,
argument_two
);
}
Ada paren mode
Controls how the Editor indents a line in an Ada source file if it starts within an open
parenthesis/close parenthesis pair. Permitted settings for this option are:
• Even with parentheses (aiAdaParenindentMode evenWithParen) — [default] If there
is a non-whitespace character between the open parenthesis and the end of its line, the lines
enclosed in parentheses start at the same column as that character. Otherwise, the lines
enclosed in parentheses start in the column just after the open parenthesis.
• Indent in two (aiAdaParenindentMode indentinTwo) — The lines enclosed in
parentheses start two indent levels in from line that contains the open parenthesis.
226
MULTI: Managing Projects and Configuring the IDE

The MULTI Editor Options Tab
The More Editor Options Dialog Box
To access this dialog box, select Config → Options → MULTI Editor tab and
click the More Editor Options button.
Note
The settings under Per File Settings Defaults are used when a file is
first opened. Changes to the default settings will automatically be applied
to all files open in the Editor. To change the settings for an individual
file without affecting other open files, choose View → Per File Settings
in the Editor.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Print 2 columns if landscape orientation is selected
Windows only
Permitted settings for this option are:
• Selected (editPrint2Column on) — The Editor prints files with two columns per sheet if
landscape orientation is selected.
• Cleared (editPrint2Column off) — [default] The Editor prints one column per sheet.
Temp file directory
(tempFileDir dirpath) Specifies the directory where MULTI stores its temporary files. The
default is blank, which has the following results:
• Windows — Uses the values of the TMP or TEMP environment variables and defaults to the
current directory if those variables are not set.
• Linux/Solaris — Uses the values of the TMPDIR or TEMP environment variables and defaults
to /tmp if those variables are not set.
Initial width in characters
(editWidth width) Specifies the initial width of Editor windows in characters.
This option is only useful when Save window positions and sizes is cleared
(rememberWindowPositions off). See the Save window positions and sizes option in “The
General Options Tab” on page 177
.
The default width is 80.
Green Hills Software
227

Chapter 8. Configuration Options
Initial height in characters
(editHeight height) Specifies the initial height of Editor windows in characters.
This option is only useful when Save window positions and sizes is cleared
(rememberWindowPositions off). See the Save window positions and sizes option in “The
General Options Tab” on page 177
.
The default height is 32.
Selection margin width in pixels
(selectionMarginWidth num) Specifies the width of the left margin in the Editor in pixels. If
the width is 0, the left margin does not appear and entire lines of text can no longer be selected
by using the margin. Changing the selection margin width only affects new Editor windows.
The default num is 13.
Generate auto-recover file every x seconds
(editincrFrequency num) Specifies the number of seconds between generation of auto-recover
files.
The Editor will create an auto-recover file every num seconds as you edit. If the power goes out
or the Editor crashes, the next time you open the same file, you will be given the option to
re-apply the edits saved in the auto-recover file.
The default num is 120.
Spaces per indent for Ada
(adaindentSize num) Specifies the number of spaces in an indentation for Ada files. The default
num is 3.
Ada continuation line indent
(adaContinuationSize num) Specifies the number of spaces in an indentation for a continuation
line in Ada files. The default num is 2.
Word wrap
Permitted settings for this option are:
• Selected (wordWrap on) — If lines are longer than the wrapping width, the Editor will
automatically split lines on word boundaries as you type.
• Cleared (wordWrap off) — [default] Lines will not wrap.
Wrap column
(wrapColumn width) When Word wrap is selected (wordWrap on), width specifies the last
column a character can occupy before the Editor wraps to the next line.
The default width is 79.
228
MULTI: Managing Projects and Configuring the IDE

Other MULTI Editor Options
Wrap indent offset
(wrapindent num) When a word wraps to the next line, the word is automatically indented num
extra spaces from where it would normally appear. The default num is 2.
Fill paragraph column
(fillParagraphColumn num) Specifies the column at which each line will be wrapped when
using Ctrl+Shift+to reformat comments.
The default num is 79.
Other MULTI Editor Options
The options in this section are not accessible from the Options window. To set
these options, you can either enter them in a configuration file or in the Debugger
command pane (preceded by the configure command). For information about setting
these options in configuration files, see “Creating and Editing Configuration Files”
on page 137
. For information about setting configuration options from the command
pane, see the introduction of Chapter 8, “Configuration Options” on page 175.
autoGrabHeadFiles [ on | off ]
Controls whether the MULTI Editor automatically grabs function prototypes from a source file's
include files when the source file is loaded.
• on — [default] The MULTI Editor automatically grabs function prototypes when opening
source files. This setting enables auto-completion of function names.
• off — The MULTI Editor does not grab function prototypes when opening source files.
This setting is recommended if you notice poor performance when this option is enabled.
clearEditButtons
Removes all Editor buttons so they can be created from scratch with the editbutton command
(see “Configuring and Customizing Toolbar Buttons” on page 145).
drawWrapLine [ on | off | asWordWrap ]
Specifies whether or not to draw the wrap line in the MULTI Editor. Permitted settings for this
option are:
• on — [default] Enables the wrap line.
• off — Disables the wrap line.
• asWordWrap — Enables the wrap line if word wrap is enabled.
This option does the same thing as the Editor command DrawWrapLine.
Green Hills Software
229

Chapter 8. Configuration Options
editButton
Creates a new Editor button. This option does the same thing as the Debugger command
editbutton. For usage and information, see “Configuring and Customizing Toolbar Buttons”
on page 145.

editParenMatch time
Every time you type a right parenthesis, right square bracket, or right curly brace, the Editor
briefly selects the matching one. The Editor will pause on this highlight of the previous match
for time tenths of a second. A value of 0 (zero) will disable matching. The default time is 10.
Session Configuration Options
This section describes configuration options that allow you to control what
information from the current session MULTI remembers for use in future sessions.
To access the following options, select Config → Options → Session tab.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Save command history between sessions
Permitted settings for this option are:
• Selected (saveCommandHistory on) — [default] The command history for each executable
will be saved. If the executable has not been debugged before, it will have no previous
command history.
• Cleared (saveCommandHistory off) — The command history will not be saved.
Save data explorers between sessions
Permitted settings for this option are:
• Selected (saveViewWindows on) — Saves all variables being viewed in Data Explorers
between MULTI sessions on the same executable. When restored, the variables are all
added to one Data Explorer, or each is added to a different Data Explorer as dictated by
the Reuse Data Explorer option. (See the description of this option in “The More Debugger
Options Dialog” on page 202.)

• Cleared (saveViewWindows off) — [default] Data Explorer content is not saved.
230
MULTI: Managing Projects and Configuring the IDE

Session Configuration Options
Save arguments between sessions
Permitted settings for this option are:
• Selected (saveRunArguments on) — [default] Saves the last arguments supplied to run
the target program between MULTI sessions on the same executable. To run the executable
with no arguments, use the command. See the command in “Run Commands” in
Chapter 13, “Program Execution Command Reference” in the MULTI: Debugging Command
Reference 
book.
• Cleared (saveRunArguments off) — Arguments are not saved.
Save debugger window position
Permitted settings for this option are:
• Selected (saveDebuggerWindowPos on) — Saves and restores the size and position of
the MULTI Debugger window on a per executable basis. Note that the Debugger window
is only sized and positioned on window creation, so debugging a different executable from
an already opened MULTI will not have any effect.
• Cleared (saveDebuggerWindowPos off) — [default] Debugger window position will not
be saved.
Remember software breakpoints
Determines whether the Debugger remembers software breakpoints (including shared object
breakpoints) that you have set for a program the next time you debug the same program. Permitted
settings for this option are:
• Never (rememberBreakpoints never) — The Debugger clears all software breakpoints
whenever you load or reload a program.
• Across Reloads (rememberBreakpoints withinSession) — [default] The Debugger
remembers software breakpoints when you reload the program within a single session.
Software breakpoints are lost when you exit MULTI.
• Across Sessions (rememberBreakpoints acrossSessions) — The Debugger remembers
software breakpoints even if you exit and restart MULTI.
Note: The Debugger may not remember group breakpoints and does not remember hardware
breakpoints.
Green Hills Software
231

Chapter 8. Configuration Options
Restored breakpoints overwrite breakpoints set by scripts
Permitted settings for this option are:
• Selected (overwriteScriptBreakpoints on) — Previously saved breakpoints will overwrite
breakpoints that have been created by a script run automatically for the current executable.
• Cleared (overwriteScriptBreakpoints off) — [default] Previously saved breakpoints will
not overwrite breakpoints that have been created by a script run automatically for the current
executable.
Remember base addresses (e.g. _TEXT)
Determines whether the Debugger remembers address offsets that you have set for a program
the next time you debug the same program. This option is only applicable to programs that are
compiled for use with position-independent code and/or position-independent data. Permitted
settings for this option are:
• Never (rememberBaseAddrs never) — The Debugger will clear all base addresses
whenever you load or reload a program.
• Across Reloads (rememberBaseAddrs acrossReload) — [default] The Debugger will
remember address offsets that you have set when you reload the program within a single
session. Address offsets are lost when you exit MULTI.
• Across Sessions (rememberBaseAddrs acrossSessions) — The Debugger will remember
address offsets that you have set for a program even if you exit and restart MULTI.
You can set address offsets by assigning built-in variables _DATA and _TEXT in the Debugger
or by using the command line options -data offset and -text offset. For more information about
system variables, see “System Variables” in Chapter 14, “Using Expressions, Variables, and
Procedure Calls” in the MULTI: Debugging book. For more information about command line
options, see Appendix C, “Command Line Reference” in the MULTI: Debugging book.
Remember last connect command used for process
Permitted settings for this option are:
• Selected (saveDebugServer on) — [default] Saves the most recently used Connection
Method on a per-executable basis. If the executable is started and MULTI is not connected,
the saved Connection Method will be used as the default in the Connection Chooser dialog
box.
• Cleared (saveDebugServer off) — The last Connection Method is not saved.
232
MULTI: Managing Projects and Configuring the IDE

Session Configuration Options
Automatically save changed connection files
Permitted settings for this option are:
• Selected (autoSaveConnectionsinFiles on) — [default] MULTI saves any outstanding
changes to all Target Connection files loaded in the Connection Organizer when you exit.
• Cleared (autoSaveConnectionsinFiles off) — Changes to Target Connection files will
not be automatically saved.
Automatically save 'User Methods' changes
Permitted settings for this option are:
• Selected (autoSaveUserConnections on) — [default] MULTI saves any outstanding
changes to the “User Methods” Target Connection file when you exit.
• Cleared (autoSaveUserConnections off) — All changes to the “User Methods” Target
Connection file will be lost, even if Automatically save changed connection files is
selected (autoSaveConnectionsInFiles on).
Directory memory
Determine which directory to initially display in the File Chooser. Permitted settings for this
option are:
• Across Sessions (rememberDirs rememberAcross) — File Chooser will always open
in the previously viewed directory for the same operation, even after closing and restarting
MULTI. The user directories will only be used on the very first run of MULTI, or if a user
settings file cannot be found.
• Within Sessions (rememberDirs rememberWithin) — [default] File Chooser will open
in the appropriate previously viewed directory, but it will not remember directories viewed
in previous sessions. File Chooser will use the User directories initially each time MULTI
is restarted.
• None (rememberDirs rememberNever) — File Chooser will always open with the
appropriate User directory, and never remember which directory was previously viewed.
Green Hills Software
233

Chapter 8. Configuration Options
User Directories
Opens the User Directories dialog box, which sets the directories the file chooser starts with
if directory memory is not available or is turned off.
To change any of the settings in this dialog box, select the check box, then enter the full path
of the directory.
General Files:
• Selected (genFileSet on) — Opens the General Files directory field, where you can enter
the path.
• Cleared (genFileSet off) — [default] The current working directory is used.
• General Files directory (genFilesDir pathname) — [default is current working directory]
Use this field to enter the directory path for general files.
Source Files:
• Selected (sourceFileSet on) — Opens the Source Files directory field, where you can
enter the path.
• Cleared (sourceFileSet off) — [default] The current working directory is used.
• Source Files directory (sourceFilesDir pathname) — [default is current working directory]
Use this field to enter the directory path for source files.
Project Files:
• Selected (buildFileSet on) — Opens the Project Files directory field, where you can enter
the path.
• Cleared (buildFileSet off) — [default] The current working directory is used.
• Project Files directory (buildFilesDir pathname) — [default is current working directory]
Use this field to enter the directory path for project files.
Executables/Binaries:
• Selected (execFileSet on) — Opens the Executables/Binaries directory field, where you
can enter the path.
• Cleared (execFileSet off) — [default] The current working directory is used.
• Executables/Binaries directory (execFilesDir pathname) — [default is current working
directory] Use this field to enter the directory path for executables.
Debug Servers:
• Selected (debugServerSet on) — Opens the Debug Servers directory field, where you
can enter the path.
• Cleared (debugServerSet off) — [default] The current working directory is used.
234
MULTI: Managing Projects and Configuring the IDE

Colors Configuration Options
• Debug Servers directory (debugServersDir pathname) — [default is current working
directory] Use this field to enter the directory path for debug servers.
Show version control information on file chooser dialog box
Linux/Solaris only
Permitted settings for this option are:
• Selected (showVersionControl on) — If a user has the file checked out, the File Chooser
dialog box will display the name of that user next to the filename in a column titled Version
Control
.
• Cleared (showVersionControl off) — The Version Control column will be hidden and
the version control system will not be queried.
Warning: Selecting this option causes MULTI to query the version control system for each
file. On some version control systems, turning on this option might slow down File Chooser
performance significantly.
Colors Configuration Options
This section describes configuration options that you can use to change the display
colors for MULTI. To access the following options, select Config → Options 
Colors tab.
To edit colors, double-click the colored box next to any option. The Color Chooser
opens (for more information, see “The Color Chooser” on page 239).
On Windows, color options are expressed in RGB format as three decimal values.
For example, 255 0 0 specifies the color red. In the tables that follow, the default
RGB values provided are in hexadecimal, but decimal values appear on the Colors
tab for Windows users.
On Linux/Solaris, color options are expressed in RGB hexadecimal format as a
number sign (#) followed by the six-digit hexadecimal value. For example, #FF0000
specifies the color red.
Unless otherwise stated, all MULTI tools opened during the current MULTI session
are notified of changes to color options. For more information, see “Propagating
Configuration Settings” on page 136.

Green Hills Software
235

Chapter 8. Configuration Options
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
Load Color Scheme
Linux/Solaris only
Sets the color scheme. Permitted settings for this option are:
• Default (color, white background)
• Beige (color, light background)
• Plum (color, light background)
• Dark 1 (color, black background)
• Dark 2 (color, black background)
• Grey (grey, white background)
• Dark Grey (greys, black background)
Global Colors
Linux/Solaris only
Global colors can only be set on Linux/Solaris systems. They affect the default colors for user
interface elements. The following global color options may be set:
• Background (background color) — [default is #ffffff] Background color of “user
areas,” such as the color behind the text you enter.
• Foreground (foreground color) — [default is #000000] Color of text.
• Control Area (controlColor color) — [default is #c0c0c0] Background color of “control
areas,” such as menu bars and buttons.
• Selection (Select color) — [default is #000080] Background color of text selections. The
foreground color of selections is based on the foreground setting and is chosen
automatically.
236
MULTI: Managing Projects and Configuring the IDE

Colors Configuration Options
Debugger Colors*
Controls how certain elements are displayed in the Debugger. The colors you can customize
are:
• Assembly (assembly color) — [default is #0000ff] Color of interlaced assembly code.
• Break Dot (bDotColor color) — [default is #00cd00] Color of break dots, which indicate
locations where breakpoints may be set.
• Status (breakColor color) — [default is #ff0000] Color of the process status and debug
server messages (“STOPPED,” “RUNNING,” etc.).
• Context Arrow (pointerColor color) — [default is #0000ff] Color of the context arrow,
which indicates what context to use for commands in the Debugger.
• File line #
○ Selected (useFileRelLineBg on) — [default] Enables file relative line numbers.
○ Cleared (useFileRelLineBg off) — Disables file relative line numbers.
○ Color field (fileRelLineBg color) — [default is #FFFFFF] Color of the background
behind the column of file relative line numbers in the source pane.
• Proc line #
○ Selected (useProcRelLineBg on) — [default ] Enables procedure relative line
numbers.
○ Cleared (useProcRelLineBg off) — Disables procedure relative line numbers.
○ Color field (ProcRelLineBg color) — [default is #e4e4e4] Color of the background
behind the column of procedure relative line numbers in the source pane.
Syntax Coloring
Permitted settings for this option are:
• Selected (colorSyntax on) — [default] Source code will be syntax colored based upon
the Syntax Color Settings listed below.
• Cleared (colorSyntax off) — Source code will not be syntax colored.
If you change the setting of this option but do not save the configuration as the default, only the
MULTI tool from which the option was changed is aware of the new setting. If you do save the
configuration as the default, however, all MULTI tools launched after the change are also notified
of the new setting.
Green Hills Software
237

Chapter 8. Configuration Options
Syntax Color Settings*
Colors may be set for the following items:
• Comments (comment color) — [default is #008000]
• Keywords (keyword color) — [default is #0000ff]
• Dead Code (deadCode color) — [default is #808080] Color of code enclosed in an #if
0 ... #endif block.
• Numbers (number color) — [default is #e000e0]
• Strings (string color) — [default is #800000]
• Characters (character color) — [default is #c000c0]
• Customized (customized color) — [default is #008080]
Color C++ comments in C
Permitted settings for this option are:
• Selected (cppCommentsinC on) — [default] C++ style comments (//) will be syntax
colored as comments in both C++ and C source files.
• Cleared (cppCommentsinC off) — C++ style comments will not be syntax colored as
comments in C source files.
If you change the setting of this option but do not save the configuration as the default, only the
MULTI tool from which the option was changed is aware of the new setting. If you do save the
configuration as the default, however, all MULTI tools launched after the change are also notified
of the new setting.
More Color Options
Opens the More Color Options dialog box, which contains additional colors that you can
configure. For more information, see “The More Color Options Dialog Box” on page 238.
*: These colors are used throughout the IDE to highlight text. As a result, changing
them may affect other windows, such as the Browse window.
The More Color Options Dialog Box
To access this dialog box, select Config → Options → Colors tab and click More
Color Options
.
For information about setting configuration options from the command pane, see
the introduction of Chapter 8, “Configuration Options” on page 175.
238
MULTI: Managing Projects and Configuring the IDE

The Color Chooser
Connection Organizer Colors
Sets the foreground color of the Connected Targets list, which is located in the Connection
Organizer
.
• Connected targets (startedConnectionFg color) — [default is #008000]
Diffview Colors
Sets the background color of the current selection in the Diff Viewer foreground.
• Highlight (diffHighlight color) — [default is #e0ffd0]
The Color Chooser
You can use the Color Chooser to select and customize colors for any of MULTI's
color options. To access the Color Chooser, double click any of the color boxes
in the Colors tab of the Options window.
On Windows, the standard color chooser is used. For more information, see your
Windows documentation.
On Linux/Solaris, the Color Chooser consists of a rectangle indicating the current
color; three sliders to control the levels of red, green, and blue in the current color;
and a number of preset basic colors.
1. To select a basic color — Click one of the colored boxes.
To select a custom color — Use the color sliders or the text fields beneath
them to create a color.
2. Click OK to replace the color or Cancel to discard your changes and close
the Color Chooser.
Green Hills Software
239


Part III
GUI Reference


Chapter 9
Launcher GUI Reference
Contents
Launcher Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
The Launcher Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

Chapter 9. Launcher GUI Reference
This chapter contains detailed descriptions of the menus and toolbar buttons available
in the MULTI Launcher. Many of these items are mentioned in the main text of
this book in the context in which they are used. They are listed here together to
provide a comprehensive reference. For information about the two display modes
of the Launcher—concise mode and detailed mode—see “Launcher Display Modes”
on page 54.

Launcher Menus
The following sections describe the menu items available in the Launcher. Menu
items are dimmed if they are unavailable in your current context.
The File Menu
The File menu contains the following menu items:
Create Workspace
Opens the Select Workspace Type dialog box, which you can use to create a new workspace.
For more information, see “Creating Workspaces” on page 56.
Delete Workspaces
Opens the Delete Workspaces dialog box, which allows you to select one or more workspaces
for deletion.
Recent Workspaces
Opens a submenu listing the most recently accessed workspaces. If you select one, it becomes
the current workspace.
Load Workspace from File
Opens a dialog box that allows you to import a workspace from a .gmb file.
For more information, see “Importing and Exporting Workspaces” on page 60.
Load Shortcuts from File
Opens a dialog box that allows you to import shortcuts from a .gmb file.
For more information, see “Importing and Exporting Shortcuts” on page 68.
Create or Change Shortcuts
Allows you to create a new shortcut or change an existing shortcut. For general information
about shortcuts, see the beginning of Chapter 3, “Managing Workspaces and Shortcuts with the
Launcher” on page 51
. For more information about creating shortcuts, see “Creating MULTI
Shortcuts” on page 67
.
244
MULTI: Managing Projects and Configuring the IDE

The Components Menu
Create New Project
Opens the Project Wizard, which helps you create a new project. After you create the project,
it loads in the Project Manager. For more information, see Chapter 1, “Creating a Project”
on page 3
.
Save Changes
Saves all workspace, shortcut, and Launcher property changes. The changes are saved into the
index.gmb file. For more information, see “Saving Workspaces” on page 60 and “Saving
Shortcuts” on page 67
.
Save Current Workspace into File
Opens a dialog box that allows you to export the current workspace to a specified file. For more
information, see “Importing and Exporting Workspaces” on page 60.
Save Shortcuts into File
Opens a dialog box that allows you to export all of your shortcuts to a specified file. For more
information, see “Importing and Exporting Shortcuts” on page 68.
Close Launcher
Closes the Launcher. Any unsaved changes to workspaces or Launcher properties are saved
automatically.
Exit All
Closes all MULTI windows, including the Launcher.
The Components Menu
The Components menu contains the following menu items:
Open Project Manager
Launches an empty Project Manager.
Open Debugger
Launches a file chooser that allows you to select a program to debug. The Debugger opens on
the program you select.
Open Editor
Launches a file chooser that allows you to select a file to edit. The Editor opens on the file you
select.
Open Diff Viewer
Opens a window in which you can specify two files for comparison. The files can either be two
different files or two different versions of the same file. For more information, see “The Diff
Viewer” on page 121.

Green Hills Software
245

Chapter 9. Launcher GUI Reference
Open Checkout Browser
Launches the Checkout Browser from the current working directory.
Connect
Launches the Connection Chooser so that you can establish a connection.
Open Connection Organizer
Launches the Connection Organizer so that you can manipulate your connections.
Open Serial Terminal
Launches the Serial Terminal.
Open EventAnalyzer
Launches the MULTI EventAnalyzer.
This entry will not be present if the MULTI EventAnalyzer is not licensed or if the executable
does not exist in your distribution.
Open ResourceAnalyzer
Launches the MULTI ResourceAnalyzer.
This entry will not be present if the MULTI ResourceAnalyzer is not licensed or if the executable
does not exist in your distribution.
Open Python GUI
Opens the stand-alone MULTI Python GUI window.
The Edit Menu
The Edit menu contains the following menu items:
Add Action Sequence
Adds a new action sequence to the current workspace. For information about action sequences,
see the beginning of Chapter 3, “Managing Workspaces and Shortcuts with the Launcher”
on page 51 
and “Action Sequences and Actions” on page 61.
Add Action (Ctrl+A)
Opens the Edit Action dialog box, which allows you to add an action to the end of the current
action sequence.
For more information about the Edit Action dialog box, see “Creating or Modifying an Action”
on page 63
. For information about actions, see Chapter 3, “Managing Workspaces and Shortcuts
with the Launcher” on page 51.

246
MULTI: Managing Projects and Configuring the IDE

The Edit Menu
Edit Selected Object (Ctrl+E)
Opens the Edit Action Sequence dialog box if an action sequence is selected. Opens the Edit
Action 
dialog box if an action is selected. These dialog boxes allow you to modify the properties
of the action or action sequence.
For more information about the Edit Action Sequence dialog box, see “Creating or Modifying
an Action Sequence” on page 61. 
For more information about the Edit Action dialog box, see
“Creating or Modifying an Action” on page 63.
Cut Selected Actions (Ctrl+X)
Cuts the selected action(s) and places them in the internal buffer.
Copy Selected Actions (Ctrl+C)
Copies the selected action(s) into an internal buffer.
Paste Actions (Ctrl+V)
Pastes the actions in the internal buffer before the selected action or at the end of the selected
action sequence.
Delete Selected Objects (Ctrl+or Delete)
Deletes the selected actions and/or action sequences.
Move Selected Objects Up (Ctrl+UpArrow)
Moves the selected action sequence up by one level or the selected action up by one row (see
the note below).
Move Selected Objects Down (Ctrl+DownArrow)
Moves the selected action sequence down by one level or the selected action down by one row
(see the note below).
Run Selected Objects (Ctrl+R)
Runs the selected actions and/or action sequences (see the note below).
Note
When you apply a Move Selected Objects UpMove Selected Objects
Down
, or Run Selected Objects operation to selected objects in the
action tree (either from the Edit menu, the right-click shortcut menu, or
with a keyboard shortcut), the operation is applied as follows:
• If any actions are selected, the operation is applied only to those
selected actions and not to entire action sequences.
• Otherwise, the operation is applied to the selected action sequences.
Green Hills Software
247

Chapter 9. Launcher GUI Reference
When you apply the Run Selected Objects operation to an object:
• If the object is an action, the action executes even if disabled.
• If the object is an action sequence, only enabled actions in the action
sequence execute.
The Utilities Menu
The Utilities menu contains the following menu items:
Running Actions
Lists running processes (excluding MULTI IDE components) that have been launched by
workspace actions. Select a process to terminate it. For more information, see “Managing
Running Actions” on page 66
.
Clean Last Action Execution
Undoes the last high-level operation. For example, selecting this menu item may exit the last
MULTI IDE tool you opened, along with closing that tool's associated windows, or it may
disconnect from the last target you connected to. Select this menu item once for each operation
you want to undo.
License Administrator
Opens the MULTI Licensing Wizard. For information about licensing, see the MULTI:
Licensing 
book.
Probe Administrator
Launches the Green Hills Probe Administrator to manage the Green Hills probes on your
local network.
This entry will not be present if the Green Hills Probe Administrator is not licensed or if the
executable does not exist in your distribution
Launch Utility Programs
Opens the Utility Program Launcher dialog box, which allows you to launch one of the Green
Hills utility programs. For information about the utility programs, see the MULTI: Building
Applications 
book for your target processor family.
248
MULTI: Managing Projects and Configuring the IDE

The Config Menu
The Config Menu
The Config menu contains the following menu items:
Show/Hide Detail Pane
Toggles whether the detail pane is visible in the Launcher. For more information about the detail
pane, see “Launcher Display Modes” on page 54.
Start with MULTI Launcher
Specifies the effect of entering the multi command on the command line.
• If a check mark appears next to this menu item, issuing the multi command with no
arguments runs the Launcher. This is the default behavior.
• If no check mark appears next to this menu item, issuing the multi command with no
arguments runs the Project Manager.
To toggle between these settings, click the menu item.
Show Progress Window
Toggles the display of a MULTI Editor progress window that prints output for running workspace
actions. For more information about the progress window and when it appears, see “Managing
Running Actions” on page 66
.
Abort Execution on Error
Toggles whether or not the Launcher stops execution of multiple actions when one of the
following errors is encountered in an action:
• The Launcher cannot communicate with the specified MULTI IDE component.
• For Project Manager actions, the specified file is not a project file.
• For Debug Program actions, the specified program does not exist.
For example, if you select and run three sequential actions, and one of these errors is encountered
in the second action, the third action will not execute if this menu item is enabled.
For information about actions, see Chapter 3, “Managing Workspaces and Shortcuts with the
Launcher” on page 51
.
Options
Opens the Options window. For information about the Options window, see Chapter 8,
“Configuration Options” on page 175
.
Customize Menus
Opens the Customize Menus window, which allows you to configure menus in a number of
MULTI tools. For information about how to use this window, see “Configuring and Customizing
Menus” on page 148.

Green Hills Software
249

Chapter 9. Launcher GUI Reference
Save Configuration as User Default
Saves the current configuration options in the default location. For more information, see “Saving
to the User Configuration File” on page 134.

Clear User Default Configuration
Clears the default configuration file and restores the default system configuration. The Launcher
prompts you before performing this action.
Save Configuration As
Opens the Save Configuration to what file? dialog box, which allows you to specify the
filename and location in which to save the configuration. For more information, see “Saving
Configuration Settings” on page 134.

Load Configuration
Opens the Load Configuration from what file? dialog box, which allows you to specify the
filename and location of the configuration file to load.
Set INTEGRITY Distribution
Opens the Default INTEGRITY Distribution dialog box, where you can set the location of
your INTEGRITY installation directory. For more information, see “Configuring MULTI for
Use with INTEGRITY or u-velOSity” in Chapter 2, “MULTI Tutorial” in the MULTI: Getting
Started 
book.
Set u-velOSity Distribution
Opens the Default u-velOSity Distribution dialog box, where you can set the location of your
u-velOSity installation directory. For more information, see “Configuring MULTI for Use with
INTEGRITY or u-velOSity” in Chapter 2, “MULTI Tutorial” in the MULTI: Getting Started
book.
The Windows Menu
The Windows menu lists all open windows in the MULTI IDE. Select an item from
the menu to bring the corresponding window to the top.
The Windows menu may contain the following menu items:
IDE_tool
Opens a submenu that lists windows corresponding to the IDE_tool.
If there are no other MULTI windows in the system, this menu item is not displayed.
Misc
Lists all other open MULTI windows in the system.
If there are no other MULTI windows in the system, this menu item is not displayed.
250
MULTI: Managing Projects and Configuring the IDE

The Help Menu
Minimize All Windows
Minimizes all MULTI windows.
If the Launcher is the only window open, this menu item is not displayed.
Show All Windows
Restores all MULTI windows to their normal sizes.
If the Launcher is the only window open, this menu item is not displayed.
Close All Windows
Closes all MULTI windows. Before certain windows close, you may be prompted. For example:
• Before a Debugger is closed, you may be asked whether to kill the process being debugged.
• Before an Editor is closed, you may be asked whether to save outstanding changes.
If the Launcher is the only window open, this menu item is not displayed.
No Windows
Indicates that no MULTI windows (except for the Launcher itself) are open.
The Help Menu
The Help menu contains the following menu items:
Show Information
Shows the Launcher information in the Detail Pane.
This information includes a brief overview of how to use the Launcher.
Help
Opens MULTI's online help system.
Manuals
Opens the Manuals submenu, which displays a list of manuals appropriate to your version of
MULTI. Select one of these manuals to open the online help to the first page of that manual.
Bookmarks
Opens the Bookmarks submenu, which displays all Help Viewer bookmarks you have created.
Bookmarks function across manuals and MULTI sessions. Select a bookmark to display the
bookmarked page in online help. Select Manage bookmarks to open a window that allows you
to display bookmarked pages and rename, delete, or reorder bookmarks.
About MULTI Launcher
Shows basic information about MULTI, including the version number and revision date.
Green Hills Software
251



Chapter 9. Launcher GUI Reference
License Info
Opens the Active Licenses dialog box, which displays the licenses in use.
Troubleshooting Info
Launches the gbugrpt utility, which collects information about your MULTI installation and
allows you to save it or email it. In the event of problems, it can be useful to email the information
to Green Hills Technical Support or to your product support contact.
The Launcher Toolbar
The Launcher toolbar contains buttons that allow you to access workspaces,
shortcuts, and major MULTI IDE components.
The following list gives a full description of each Launcher item:
• Workspace drop-down menu — Displays the current workspace. You can view
the full list of available workspaces by clicking the drop-down button. Imported
workspaces are indicated by
.
To change the current workspace, select a different workspace from the
drop-down. For information about workspaces, see Chapter 3, “Managing
Workspaces and Shortcuts with the Launcher” on page 51
.
(Run Action Sequences or Shortcuts) — Lists the following items:
• Action sequences — Executes the selected action sequence. Action sequences
appear in the order they are defined in the current workspace.
• Shortcuts — Executes the selected shortcut. Shortcuts appear in the order they
were used, with the most recently used shortcut appearing first.
• Create Workspace — Opens a window in which you can create a new
workspace. For more information, see “Creating Workspaces” on page 56.
• Create or Change Shortcut — Allows you to create or modify shortcuts just
as you would action sequences for a workspace. For more information, see
“Creating MULTI Shortcuts” on page 67.
252
MULTI: Managing Projects and Configuring the IDE






The Launcher Toolbar
(Launch Project Manager) — Lists the following items:
• Projects — Opens the selected project in the Project Manager. If the current
workspace uses projects as arguments to Project Manager actions, these
projects are listed first. Recently used projects are listed next.
• Open Project Manager — Launches an empty Project Manager.
• Create Project — Opens the Project Wizard, which helps you create a new
project. After you create the project, it loads in the Project Manager.
(Launch Debugger) — Lists the following items:
• Programs — Opens the selected program in the Debugger. If the current
workspace uses programs as arguments to Debug Program actions, these
programs are listed first. Recently used programs are listed next.
• Open Debugger — Launches a file chooser that allows you to select a program
to debug. The Debugger opens on the program you select.
(Launch Editor) — Lists the following items:
• Files — Opens the selected file in the Editor. If the current workspace uses
files as arguments to Editor actions, these files are listed first. Recently used
Editor files are listed next.
• Open Editor — Launches a file chooser that allows you to select a file to edit.
The Editor opens on the file you select.
(Launch Checkout Browser) — Lists the following items:
• Directories — Opens a Checkout Browser on the selected directory. If the
current workspace uses directories as arguments to Checkout Browser actions,
these directories are listed first. Recently used Checkout Browser directories
are listed next.
• Open Checkout Browser — Launches the Checkout Browser from the current
working directory.
(Connect to Target) — Lists the following items:
• Connection Methods — Establishes a connection to your target. If the current
workspace uses Connection Methods as arguments to Connection actions,
Green Hills Software
253




Chapter 9. Launcher GUI Reference
these Connection Methods are listed first. Recently used Connection Methods
are listed next.
• Disconnect: target — Terminates the specified system connection.
• Connect — Launches the Connection Chooser, which you can use to establish
a connection.
• Open Connection Organizer — Launches the Connection Organizer, which
you can use to manipulate your connections.
(Connect to Serial Terminal) — Lists the following items:
• Serial Terminal Targets — Establishes a serial terminal connection to the
selected serial target. If the current workspace uses serial terminal targets as
arguments to Serial Terminal actions, these serial targets are listed first.
Recently used serial terminal targets are listed next.
• Open Terminal — Launches the Serial Terminal.
(Launch EventAnalyzer) — This button will not be present if the MULTI
EventAnalyzer is not licensed or if the executable does not exist in your distribution.
Lists the following items:
• Event Stream Files — Opens the selected event stream file in the MULTI
EventAnalyzer. If the current workspace uses event stream files as arguments
to EventAnalyzer actions, these files are listed first. Recently used event stream
files are listed next.
• Open EventAnalyzer — Launches the MULTI EventAnalyzer.
(Launch ResourceAnalyzer) — This button will not be present if the MULTI
ResourceAnalyzer is not licensed or if the executable does not exist in your
distribution. Lists the following items:
• ResourceAnalyzer Targets — Launches the MULTI ResourceAnalyzer, which
tries to connect to the selected target. If the current workspace uses
ResourceAnalyzer targets as arguments to ResourceAnalyzer actions, these
targets are listed first. Recently used ResourceAnalyzer targets are listed next.
• Open ResourceAnalyzer — Launches the MULTI ResourceAnalyzer GUI.
254
MULTI: Managing Projects and Configuring the IDE




The Launcher Toolbar
(Quit) — Closes the Launcher. Whether this button appears on your toolbar
depends on the setting of the option Display close (x) buttons. To access this option,
select Config → Options → General Tab.
(Show Detail Pane) or
(Hide Detail Pane) — Expands or shrinks the
Launcher window to show or hide the detail pane.
Green Hills Software
255


Chapter 10
Project Manager GUI
Reference
Contents
Project Manager Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
The File Shortcut Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
The Project Tree Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
The Project Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
The Memory Layout Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
The Build Options Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
The Advanced Build Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
The Utility Program Launcher Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275




Chapter 10. Project Manager GUI Reference
This chapter contains detailed information about GUI elements of the Project
Manager, as well as descriptions of some of the windows and dialog boxes you can
open via the Project Manager. Many of the GUI elements documented in this chapter
are mentioned in the main text of this book in the context in which they are used.
They are listed here together to provide a comprehensive reference.
Project Manager Menus
The following sections describe the menu items available in the Project Manager.
Corresponding toolbar buttons (if any) appear alongside their menu equivalents.
The File Menu
The following table lists the selections available from the Project Manager File
menu:
New Top Project (Ctrl+N)
Opens the Project Wizard, which guides you through the process of creating a new project.
For more information, see “Creating a Project” on page 4.
Open Project (Ctrl+O)
Opens a project.
Open Reference BSP Project
Opens the BSP Selector dialog box that allows you to select an installed BSP from your Green
Hills operating system installation directory. This BSP project file is opened in a new window
as a reference for you to find examples and other files included in the BSP project. For more
information about the contents of the BSP project, see the documentation for your Green Hills
operating system.
Close Project
Closes the current project.
Save Project (Ctrl+S)
Saves the current project.
Reload Saved Project
Reloads the current project from disk, discarding any changes made since the last save.
258
MULTI: Managing Projects and Configuring the IDE

The Edit Menu
Print Current View (Ctrl+P)
Prints the currently displayed project hierarchy. The hierarchy will be printed in the exact state
that it is displayed in the source pane. If you want to print the contents of subprojects, you need
to expand them first so that they are displayed.
Print Expanded Project
Prints the fully expanded project hierarchy. Does not change the displayed project hierarchy.
Write Expanded Project to File
Writes the fully expanded project hierarchy to a text file.
Recent Files
This submenu contains recently opened files. Select one to open it in the Editor.
Recent Projects
This submenu contains recently opened projects. Select one to open it in the Project Manager.
New Window
Opens a new Project Manager window with no open project.
Close Project Manager (Ctrl+Q)
Closes the current Project Manager window, prompting to save any outstanding changes.
Exit All
Closes all open windows in MULTI.
The Edit Menu
The following table lists the selections available from the Project Manager Edit
menu:
Configure
Opens a dialog box to configure the selected component.
Set Build Options
Opens the Build Options window for the selected file. For more information, see “Setting
Builder Options” on page 32.

Green Hills Software
259


Chapter 10. Project Manager GUI Reference
Modify Project
Contains actions appropriate to the selected component. These actions can include:
• Add Item — Opens a Select Item to Add dialog box. You can use this dialog box to add
context-appropriate components to your project.
• Comment Out — Marks the item so that it is not included when the project is built. The
item is still visible in the Project Manager, but is disabled. This is different from adding a
comment to a project file with the # character.
• Resolve Requirements — For stand-alone projects, this menu item checks the selected
component and its children for dependencies on customized libraries in your target resources
project. If those libraries are not present, they are added to your project.
For INTEGRITY projects, this menu item checks for many different types of dependencies
specific to INTEGRITY, and attempts to resolve those that are unsatisfied.
• Uncomment — Removes the comment mark added by Comment Out from the item so
that it is included when the project is built. This menu item is different from removing the
# character at the beginning of an existing comment.
In INTEGRITY projects, additional options may be available. For more information, see the
INTEGRITY Development Guide.
Edit (Ctrl+E)
Opens the selected file in an Editor window.
Graphically Edit
This item is only available for some file types.
Opens a customized graphical editor for the file, such as the Connection Organizer (see Chapter
3, “Connecting to Your Target” in the MULTI: Debugging book).
Add Item into selected file (Ctrl+I)
Opens a component selector for you to add a context-appropriate component into the current
project. If only one component is appropriate, it will skip straight to the add dialog for that
component. The files are added into the selected project.
Add File into selected file
Opens a browser window that allows you to choose a file to add into the current project.
To make the project file portable, MULTI uses relative or base names for the added files
whenever possible by resolving them relative to the set source directories.
Add File after selected file
Similar to Add File Into selected file, except that this menu item is not shown when you have
a container project selected, and the file you insert goes immediately after the selected file (in
the same parent project).
260
MULTI: Managing Projects and Configuring the IDE



The Edit Menu
Undo (Ctrl+Z)
Undoes the last change made to your project by the Project Manager during your current session.
You can use this item repeatedly to undo multiple changes.
If you make changes to a file outside of the Project Manager, those changes will be lost if an
Undo operation affects that file.
Redo(Ctrl+Y)
Re-applies the last change made by Undo. You can use this item repeatedly to redo multiple
changes made by Undo.
If you make changes to a file outside of the Project Manager, those changes will be lost if a
Redo operation affects that file.
Copy selected file as Link
Copies the selected items to the clipboard. Use this item if you intend to Paste as Link.
Copy selected file Local
Copies the selected items to the clipboard. Use this item if you intend to Paste Local.
Paste as Link
Pastes the clipboard items and creates a reference to them in the selected context.
Paste Local
Pastes the clipboard items and makes a recursive copy of each item within the selected context.
Remove selected file
Removes the currently selected files from the project. The file itself is not deleted.
Delete selected file
Deletes the currently selected files from the project and also from the disk.
Set Build Target
Opens the Target Selector dialog box, which allows you to change the board and processor for
which your project will be built. For more information, see “Changing the Build Target”
on page 26
.
Set Build Macros
Opens the Set Build Macros dialog box, which allows you to define macros to stand in for
commonly used strings in option settings. For more information, see “Setting Build Macros”
on page 42
.
Green Hills Software
261

Chapter 10. Project Manager GUI Reference
Advanced
Displays the Advanced submenu, which contains the following items:
• Create Auto-Include Subproject — Opens the Add new auto-include project dialog
box that allows you to specify patterns of files to automatically include in the selected
project. For more information, see “Automatically Including Files” on page 23.
• Set File Type — Opens the Set Type dialog box that allows you to change the file type
of the selected file. This operation is not available for project files.
• Set Options in Parent — Opens the Build Options window to set Builder options for the
selected file, but stored in the parent. For source files, this is the normal behavior provided
by Set Build Options, but for projects this allows options to be set for a particular
occurrence of the project. For more information, see “Setting Options for Projects and
Subprojects” on page 46
.
• Set Imported Environment Variables — Opens a dialog box that allows you to import
variables from your environment to stand in for strings used in your option settings. For
more information, see “Importing Environment Variables” on page 44.
• Simplify All Filenames — Attempts to convert any absolute filenames into filenames
relative to the set source directories. This command modifies your project. Specifically, if
the path of a file is removed and if the file can still be found by searching the source
directories list, then the full pathname is replaced by the filename without a path. This is
a simple means of converting absolute pathnames in projects to short relative pathnames,
which increases portability. This resolving is done automatically when files are added, so
this functionality is usually only useful after changing source directories.
The View Menu
The following table lists the selections available from the Project Manager View
menu:
Search in Source Files in selected file
Opens the Search in Selected Files dialog box to perform a full-text search of all source files
contained within the selected project file. For more information, see “Searching Files”
on page 30
.
Search in selected file
Opens the Search in Selected Files dialog box to perform a full-text search of your selected
source file. For more information, see “Searching Files” on page 30.
Search in All Source Files
Opens the Search in Selected Files dialog box to perform a full-text search of all source files.
262
MULTI: Managing Projects and Configuring the IDE

The Build Menu
Expand Project
Recursively expands the selected file to show all its children.
Contract Project
Recursively contracts the selected file to hide all its children.
Show Paths
Displays the Show Paths submenu, which offers options to display the following:
• Full Paths — Displays the full path information for files in the Project Manager window.
• Relative Paths — Displays the relative path information for files in the Project Manager
window. This item is enabled by default.
• Filenames Only — Only displays the filenames in the Project Manager window.
Highlight Selections
Toggles the highlighting of all the files that are included within the currently-selected project
file. This setting is saved across sessions.
Show All Views
Enables or disables the view of the content panes.
Show Type Column
Displays the file type in the project tree.
Show Options Column
Displays compiler options that are set at this level of the hierarchy.
Show Size Column
Displays the size of executable files and the size of the compiled output of your source files.
Filter Project View
Displays the Filter submenu, which offers options to show or hide various file types in the
Project view pane. Selecting Show All makes all files visible.
The Build Menu
The following table lists the selections available from the Project Manager Build
menu:
Compile selected file (Ctrl+F7)
Invokes the compiler on the currently selected source file. Does not link or relink this file into
an executable. This is only available if you have a source file selected.
Green Hills Software
263




Chapter 10. Project Manager GUI Reference
Build selected file (F7)
Invokes the compiler, assembler, and linker as appropriate, to build the currently selected files
and projects.
Stop Build
Stops the build process. If MULTI is in the process of generating an output file when you stop
the build, that output file may be left in an incomplete state. If you have problems building or
running your project after using this menu item, clean and rebuild your project.
This item is only available while you are building files.
Preprocess selected file
Preprocesses the selected file.
This item is only supported for source files.
Rebuild selected file
Builds the currently selected files after first removing the intermediate output files.
Build Ignoring Errors selected file
Builds the current project, ignoring any detected errors. Normally, the build stops when an error
occurs to prevent downstream failures like a link failing because of missing objects.
Clean selected file
Deletes all of the files that are normally created when building the project. This includes object
files, libraries, and executables. In other words, at each step where a file would be created in a
normal build, the file is deleted instead. The only files that remain will be the source files
necessary for building the project from scratch.
Advanced Build
Opens the Advanced Build dialog box, through which you can execute builds with less common
options. For more information, see “The Advanced Build Dialog Box” on page 274.
View Build Details (F6)
Opens a window displaying all status output from the latest build.
The Connect Menu
The following table lists the selections available from the Project Manager Connect
menu:
Connect (F4)
Opens the Connection Chooser dialog box, which allows you to connect to a target or simulator.
264
MULTI: Managing Projects and Configuring the IDE


The Debug Menu
Connection Organizer
Opens the Connection Organizer. For more information, see Chapter 3, “Connecting to Your
Target” in the MULTI: Debugging book.
Load Module
This submenu is only available for multitasking debug servers. It allows you to download a new
object module to the target. Choose Load Module again from the submenu to choose the module
to download from a dialog box, or choose one of the recently downloaded modules from the
list provided.
Load Module is only available when you are connected to a run-mode target that supports and
was configured with a dynamic loader (for example, the LoaderTask on INTEGRITY). For
more information, see “Establishing Run-Mode Connections” in Chapter 25, “Run-Mode
Debugging” in the MULTI: Debugging book.
connection
connection
connection
connection
Lists the most recently connected debug servers. To connect to one of them, select it.
The Debug Menu
The following table lists the selections available from the Project Manager Debug
menu:
Debug selected program (F5)
Opens the Debugger on the currently selected project.
Debug Other Executable
Opens a file chooser that allows you to select the executable you want to debug.
pathname
pathname
pathname
pathname
Lists the most recent programs opened in the Debugger. Select a program to open it in the
Debugger.
Green Hills Software
265

Chapter 10. Project Manager GUI Reference
The Tools Menu
The following table lists the selections available from the Project Manager Tools
menu:
Configuration
Opens a submenu offering the following options:
• Save Configuration as User Default — Saves the current configuration into the default
user configuration (.cfg) file for MULTI, so that it will be used for future sessions.
• Clear User Default Configuration — Deletes the default user configuration file for
MULTI.
• Save Configuration As — Opens a file chooser dialog box for you to choose a file and
then saves the current configuration into it.
• Load Configuration — Opens a file chooser dialog box that allows you to load a
configuration file.
• Set INTEGRITY Distribution — Opens the Default INTEGRITY Distribution dialog
box, where you can set the location of your INTEGRITY installation directory.
• Set u-velOSity Distribution — Opens the Default u-velOSity Distribution dialog box,
where you can set the location of your u-velOSity installation directory.
Editor
Opens a file chooser to select a file to open in the Editor.
Launcher
Opens the Launcher.
Flash selected program
Opens the Write to Flash Memory dialog box, which allows you to write the selected program
to flash memory on the target. The Flash menu item is not available if MULTI is connected to
multiple targets.
View DoubleCheck Report
Opens the default Web browser on your system and displays a DoubleCheck report.
For more information, see the documentation about DoubleCheck in the MULTI: Building
Applications 
book.
Checkout Browser
Opens the Checkout Browser.
266
MULTI: Managing Projects and Configuring the IDE

The Windows Menu
Use Utilities
Opens the Utility Program Launcher dialog box. For more information, see “The Utility
Program Launcher Dialog Box” on page 275.

Options
Opens the Options dialog box for you to change options that affect the way the Project Manager
and other MULTI tools look and behave. For a description of each Project Manager option, see
“Project Manager Configuration Options” on page 194.
Customize Menus
Opens the Customize Menus window, which allows you to add new menus to the end of the
menu bar; add new submenus and menu items to the end of existing menus; and remove menus,
submenus, and menu items. For information about how to use this window, see “Configuring
and Customizing Menus” on page 148
.
The Windows Menu
The Windows menu provides a submenu for each kind of window open in MULTI,
allowing you easy access to any of them.
The Help Menu
The following table lists the selections available from the Project Manager Help
menu:
MULTI Project Manager Help (F1)
Opens online help for the Project Manager.
Manuals
Opens the Manuals submenu, which displays a list of manuals appropriate to your version of
MULTI.
Bookmarks
Opens the Bookmarks submenu, which displays all the Help Viewer bookmarks you have
created. Bookmarks function across manuals and MULTI sessions. Select a bookmark to display
the bookmarked page in online help. Select Manage bookmarks to open a window that allows
you to display bookmarked pages and rename, delete, or reorder bookmarks.
About MULTI Project Manager
Displays version information about MULTI.
Green Hills Software
267


Chapter 10. Project Manager GUI Reference
License Info
Displays the active licenses for MULTI.
Troubleshooting Info
Launches the gbugrpt utility, which collects information about your MULTI installation and
allows you to save it or email it. In the event of problems, it can be useful to email the information
to Green Hills Technical Support or to your product support contact.
The File Shortcut Bar
The File Shortcut Bar is located in the Project Manager under the toolbar.
Use the File Shortcut Bar to find or build files that match a search string. Your
search string can contain wildcards (for example, * and ?). The bar has two
components; a drop-down list that enables you to select which action the Project
Manager will perform, and a text box, where you specify your search and any
options. The Project Manager always searches your entire Top Project for files that
match the search string. The following table lists each action, along with the
appropriate syntax for the text box:
Build: options files
Builds any files specified. You can also specify gbuild options (see the documentation about
gbuild in the MULTI: Building Applications book).
For example, to delete all previous output files and build the projects foo.gpj and bar.gpj, select
the Build: setting and enter:
-cleanfirst foo.gpj bar.gpj
Find: file
Locates an instance of the specified file in the project tree. This option is best suited to finding
.gpj files or uniquely named files quickly.
Next: file
Locates the next instance of the specified file in the project tree. This option is best suited to
finding files with commonly used names.
268
MULTI: Managing Projects and Configuring the IDE

The File Shortcut Bar
Search: search_string
Performs a full-text search of the selected source file or of all source files contained within the
selected project file.
Search All: search_string
Performs a full-text search of all source files.
Note
When you specify a file in conjunction with the Build:Find:, or Next:
action, do not include a path. The File Shortcut Bar will search for:
• Project files (for example, foo.gpj)
• The executable output of a project file (for example, foo)
• C (or other source) language input files (for example, foo.c)
• The object file output of a source language file (for example, foo.o)
You can use wildcards (for example, * and ?) in your File Shortcut Bar search
string. For example, selecting Find and entering *svc* locates all projects and
source files whose names contain svc. If there is exactly one matching file and
Find: or Next: is selected, the Project Manager selects that file in the project tree.
If there is more than one match, the Project Manager opens a Find Results window
with a list that contains each matching file's name, type, parent project, and path.
If Build:Find:, or Next: is selected and there are no matches for your search string,
the Project Manager will append a * wildcard to the end of the string and search
again. For example, if you try to find svc and there are no files named svc, the
Project Manager performs your search again as svc*. It will then select the one file
in your project beginning with svc, or display the Find Results window with a list
of files that begin with svc.
You can also use wildcards when the Build action is selected in the shortcut bar.
The behavior is the same as the preceding, except that instead of opening a Find
Results 
window, the matching file or files are built. If there are no matches for your
search string, the Project Manager will append * to the string and build all matching
files.
Green Hills Software
269

Chapter 10. Project Manager GUI Reference
The Project Tree Pane
The Project Tree pane is located in the Project Manager under the File Shortcut
Bar
. It displays files and other configurable items in the current project and may
contain up to four columns:
• Name — The name of each file and its position in the project hierarchy.
• Type — The type of file, which is usually determined from its extension. For
more information, see the next section.
• Options — The compiler options that are set at this level of the hierarchy.
• Size — The amount of memory required for the file. Files must be built for
this data to appear. If you hover your mouse over a value in this column, a
tooltip containing the breakdown of memory needed for read-only and
read-write sections appears.
By default, the Options and Size columns are not visible. To display these columns,
enable View → Show Options Column, or View → Show Size Column.
File Types
Project files and the files they reference have a type associated with them. That type
or another descriptive name is displayed for each file in the Type column of the
Project Tree pane.
For INTEGRITY and velOSity project files (.gpj), you may see these types in the
Project Tree pane:
• Dynamic Download — A project file that contains one or more virtual
AddressSpaces which can be downloaded via MULTI onto an INTEGRITY
kernel already running on your target.
• Kernel — A project file to output a stand-alone executable linked with
INTEGRITY libraries suitable for running directly on a target.
• Monolith — A project file that contains a kernel and virtual AddressSpaces
and outputs a stand-alone executable, suitable for running directly on a target.
• Virtual AddressSpace — A project file to output an executable which will
run in a memory-protected environment on an INTEGRITY system.
270
MULTI: Managing Projects and Configuring the IDE



The Project Tab
For more detailed information about these application types and other
INTEGRITY-specific types, see the INTEGRITY Development Guide.
For information about other file types, see the documentation about file types in
the MULTI: Building Applications book.
The Project Tab
To display the Project tab in the Project Manager, select View → Show All Views,
or click the arrow on the right edge of the window, just below the File Shortcut
Bar
.
The Project tab of the advanced views pane displays the important components in
your project using a layout that is similar to what you might draw on a white board.
Projects (.gpj) have a small plus or minus sign that allows you to expand or collapse
their contents. The Project tab displays the current selection in the Project Tree.
If you select multiple items, the display does not change.
Double-clicking any item in the Project tab allows you to configure that item. For
example, if you double-click a project, MULTI opens the project's settings. If you
double-click a source file or text file, MULTI displays a dialog that allows you to
rename the file.
You can show or hide various file types by changing the settings in the View 
Filter Project View menu.
The Memory Layout Tab
To display the Memory Layout tab in the Project Manager, select View → Show
All Views
, or click the arrow on the right edge of the window, just below the File
Shortcut Bar
.
The Memory Layout tab of the advanced views pane is a graphical representation
of section maps defined by your executable.
You can navigate the Memory Layout pane by using the following buttons:

— Zooms in.

— Zooms out.
Green Hills Software
271












Chapter 10. Project Manager GUI Reference

— Displays the detailed memory layout data about each section. The data
is equivalent to the information output by the gdump -map command.

— Displays all of the program sections for the selected project file.
You can navigate the colored chart area by clicking and dragging on the colored
program sections in the active window. By performing this action, you are zooming
in on a specific range of memory. You can also drag the currently displayed range
on the scale to view different parts of memory.
Click
to display the Memory Layout Data dialog box, which lists all program
sections that can be viewed. In the Memory Layout Data window, you can
single-click a section to scroll to that section, or you can double-click a section to
zoom into that section. If your embedded target uses the Green Hills linker, you
can find more information in the documentation about linker directives files in the
MULTI: Building Applications book.
The Build Options Window
To open the Build Options window, right-click the file that you want to set options
in, and select Set Build Options.
The Build Options Toolbar
The following buttons are available on the Build Options window:

(Show Driver Options) — Toggles the display of driver option names.

(Show Description) — Toggles the display of option descriptions.

(Edit Selected Option) — Opens the project in the MULTI Editor where
the selected option is set.

(Expand All) — Displays all sub-categories.

(Contract All) — Hides all sub-categories.

(Goto Parent) — Goes to the options for the parent of the current file.

(Goto Child) — Goes to the options for the child of the current file.

(Search for Options) — Opens the Search dialog box, which allows you
to perform text searches on the option category tree.
272
MULTI: Managing Projects and Configuring the IDE




Build Options Tabs

(Close) — Closes the Build Options window. Whether this button appears
on the toolbar depends on the setting of the option Display close (x) buttons.
To access this option, select Tools → Options → General Tab.
Build Options Tabs
Two tabs are available from the lower portion of the Build Options window:
• The Command Line tab, which shows the driver options that will be passed
to the compiler when you build the selected file:
• The Documentation tab, which provides documentation for whichever build
option is currently selected:
Green Hills Software
273


Chapter 10. Project Manager GUI Reference
The Advanced Build Dialog Box
To open the Advanced Build window, select Build → Advanced Build:
Note
These options apply only to the current build. Corresponding gbuild
options are displayed in parentheses.
Clean all output before building (-cleanfirst)
Deletes all previous output files, and then builds.
Only remove intermediate output (-leave_output)
Deletes intermediate output files, and then builds.
Stop after cleaning output (-clean)
Deletes all previous output files, without building.
Force link (-link)
Forces linking. The default behavior is to re-link the executable only if any of its components
have changed.
274
MULTI: Managing Projects and Configuring the IDE



The Utility Program Launcher Dialog Box
Ignore build errors (-ignore)
Continues building, even if errors are encountered.
Show tool commands (-commands)
Displays commands as they are executed.
Show internal commands (-nested_commands)
Displays full commands (including internal commands) as they are executed.
Show build without execution (-info)
Simulates the build without executing the commands.
Ignore dependencies (-allinfo)
Simulates the build, ignoring dependency information (rebuilding all files even if they are up
to date), without executing the commands.
Display #includes Listing (-H)
Displays a list of files opened by #include directives during the current build only.
The Utility Program Launcher Dialog Box
To open the Utility Program Launcher, select Tools → Use Utilities.
To use a utility:
1. Select the utility from the list on the left.
2. Click
to navigate to the Working Directory where you will run the
command.
Green Hills Software
275

Chapter 10. Project Manager GUI Reference
3. Enter any Arguments you want to pass. As a minimum, you must generally
pass the name of the file to be processed. To display information about the
syntax of arguments, click Show Help.
If you open the Utility Program Launcher from the Project Manager while
you have an item selected in your project, the path to that item may appear in
the Arguments box.
4. Click Run to run the utility.
For more information, see the documentation about utility programs in the MULTI:
Building Applications 
book.
276
MULTI: Managing Projects and Configuring the IDE

Chapter 11
Editor GUI Reference
Contents
Editor Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
The Editor Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
The File and Procedure Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
The Status Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Linux/Solaris Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
The Per File Settings Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
The Search Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
The Search in Files Results Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304



Chapter 11. Editor GUI Reference
This chapter contains detailed information about GUI elements of the MULTI
Editor, as well as descriptions of some of the windows and dialog boxes you can
open via the Editor. Many of the GUI elements documented in this chapter are
mentioned in the main text of this book in the context in which they are used. They
are listed here together to provide a comprehensive reference.
Editor Menus
The following sections describe the menu items available in the Editor.
The File Menu
The File menu contains the following items:
New Editor (Ctrl+N)
Opens a file in a new Editor window.
Select a file from the Edit File dialog box and click Edit; or to create a new file, enter the new
filename and click Edit.
This menu item is bound to the LoadFileWithNewEditor command (see “File Commands”
on page 342).

Open (Ctrl+O)
Opens a file in the current Editor window.
Select a file from the Edit File dialog box and click Edit; or to create a new file, enter the new
filename and click Edit. The selected file is pushed to the top of the context stack for the current
window.
This menu item is bound to the OpenFile command (see “File Commands” on page 342).
Save (Ctrl+S)
Saves the current file.
This menu item is bound to the Save command (see “File Commands” on page 342).
Save As (Ctrl+Shift+S)
Saves the current file with a new name. Specify the new path and filename in the Save As dialog
box.
This menu item is bound to the SaveAs command (see “File Commands” on page 342).
278
MULTI: Managing Projects and Configuring the IDE

The File Menu
Save All
Opens the Save All dialog box. All open files with changes that have not been saved will be
listed. Select the check boxes next to the files you want to save, then click Save Selected. To
save all of the listed files, click Save All.
This menu item is bound to the QuerySaveAll command (see “File Commands” on page 342).
Toggle Write Permission
Toggles the permission for the file between read-only and read/write mode, if possible. A stop
sign in the right corner of the status bar indicates that the file is currently read-only. This menu
item changes both the file's window permission and the file's permission on disk. See also the
Read Only Window menu item in “The View Menu” on page 282.
This menu item is bound to the ToggleWritePermission command (see “View Commands”
on page 366).

Revert to Saved
Undoes all changes made to the current file since the last time it was saved.
This menu item is bound to the Revert command (see “File Commands” on page 342).
Revert to Backup
Undoes all changes made to the current file since the last time it was backed up. For information
about enabling backups, see the configuration option Create backup files when saving in “The
MULTI Editor Options Tab” on page 221
.
This menu item is bound to the RevertToBackup command (see “File Commands” on page 342).
Page Setup
Windows only
Opens the Page Setup dialog box, which allows you to set printing options for the current file.
This menu item is bound to the PageSetup command (see “File Commands” on page 342).
Print
Opens the Print dialog box, which allows you to print the current file to a printer or to a file.
For information about the Linux/Solaris Print dialog box, see “The Print Setup Dialog Box”
on page 298.

This menu item is bound to the Print command (see “File Commands” on page 342).
Green Hills Software
279




Chapter 11. Editor GUI Reference
Properties
Displays information the Editor is able to obtain about the current file, including:
• Full file path
• Language
• Number of include files
• Cross reference file
• Extra syntax information
• Enclosing project name
• Progress information about the cross reference files for the enclosing project
This menu item is bound to the FileProperties command (see “File Commands” on page 342).
1, 2, 3, 4, 5, 6, 7, 8
Lists a maximum of eight previously viewed files. Select any of the files to open it in the current
Editor window.
Close File (Ctrl+Shift+P)
Closes the current file and prompts you to save any unsaved changes. If the file was checked
out of version control during this session, you will be prompted to check it back in.
Close Editor (Ctrl+Q)
Prompts you to save the changes made to open files, then exits the Editor.
This menu item is bound to the Close command (see “File Commands” on page 342).
Exit All
Prompts you to save the changes made to all open files, then quits all MULTI IDE tools.
This menu item is bound to the Quit command (see “File Commands” on page 342).
The Edit Menu
The Edit menu contains the following items:
Undo (Ctrl+Z)
Reverts the last change made to the current file. Each Undo reverts one more change. This
process can be repeated until all changes made since the file was opened are undone.
This menu item is bound to the Undo command (see “Undo/Redo Commands” on page 363).
280
MULTI: Managing Projects and Configuring the IDE





The Edit Menu
Redo (Ctrl+Y)
Restores the last edit that was removed by Undo. You can Redo multiple Undos, until you
make new changes to the file.
This menu item is bound to the Redo command (see “Undo/Redo Commands” on page 363).
Repeat Last Edit (Ctrl+.)
Repeats the last edit you made to the file.
You can only use this feature with certain types of edits: text input or replacement. For example,
if you just selected text and replaced it with new text, then Repeat Last Edit will delete a similar
selection contiguous to the cursor and insert the new text.
For example, your file contains the text:
This is a block of text.
You select the word block and type string, to change the text to:
This is a string of text.
If you move the cursor to the beginning of the word text (you do not have to highlight the
word) and select Edit → Repeat Last Edit, the text will change to:
This is a string of string.
This menu item is bound to the RepeatLast command (see “Undo/Redo Commands”
on page 363).

Cut (Ctrl+X)
Deletes the current selection and places it on the clipboard.
This menu item is bound to the Cut1 command (see “Clipboard Commands” on page 336).
Copy (Ctrl+C)
Copies the current selection to the clipboard.
This menu item is bound to the Copy1 command (see “Clipboard Commands” on page 336).
Paste (Ctrl+V)
Pastes the clipboard contents to the current location.
This menu item is bound to the Paste1 command (see “Clipboard Commands” on page 336).
Delete (Ctrl+D)
Deletes the current selection. If there is no current selection, deletes the character after the
insertion point.
This menu item is bound to the Delete command (see “Text Deletion Commands” on page 360).
Green Hills Software
281



Chapter 11. Editor GUI Reference
Select All (Ctrl+A)
Selects the entire contents of the current file and moves the cursor to the end of the file.
This menu item is bound to the SelectAll command (see “Selection Commands” on page 356).
Find (Ctrl+Shift+F)
Opens the Search dialog box which allows you to set criteria for an interactive search. For more
information, see “Interactive Searching Using the Search Dialog Box” on page 84.
Alternatively, use Ctrl+to perform an incremental search for a string without using the dialog
box. For more information, see “Incremental Searching” on page 83.
These items are bound to the Search and iSearch commands (see “Search Commands”
on page 355).

Goto (Ctrl+Shift+G)
Opens the GoTo dialog box, which allows you to go to a file, line number or function. For more
information, see “Using the GoTo Dialog Box” on page 81.
Use Ctrl+to quickly go to a line number without using the dialog box. For more information,
see “Go To a Line Quickly” on page 82.
These items are bound to the Goto and EditLine commands (see “Navigation Commands”
on page 350).

DOS Format
Toggles the file format between DOS format and Linux/Solaris format. A check mark next to
this menu item indicates that the current file format is DOS. (The DOS format saves the file
with carriage returns.)
This menu item is bound to the DosFormat command (see “File Commands” on page 342).
The View Menu
The View menu contains the following items:
Language
Specifies the programming language used in the current source file. The Editor uses this setting
for syntax coloring, commenting, and auto-indenting features.
This menu item is bound to the SelectLanguage command (see “File Commands” on page 342).
282
MULTI: Managing Projects and Configuring the IDE



The View Menu
Per Language Settings
Opens the Language Settings dialog box which lists settings for the selected language. The
items in this dialog box are:
• Auto-Complete — Indicates whether auto-completion is active for the selected language.
For more information, see “Configuring Editor Auto-Complete” on page 170.
• Auto-completion Match Algorithm — Select Best Match or First Match
• Min String Length for Auto-completion — The number of characters to be entered before
auto-completion attempts to match the string.
• Max Number of Objects to Show for Auto-completion — The number of matched
objects to display when you enter Ctrl+or Ctrl+to show the matched object names or
function prototypes.
• Dynamically Grab Function Prototype — For C and C++ code, the Editor can
automatically grab the function prototypes in the edited files. The default is specified in
the corresponding language's configuration file (see “The language.gsc Syntax Definition
Files” on page 166).

• Show Function Prototype — If checked, the Editor displays a function's prototype when
you type in a function name followed by (. The default is specified in the language's
configuration file (see “The language.gsc Syntax Definition Files” on page 166).
The setting defaults are specified in the corresponding language's configuration file (see “The
language.gsc Syntax Definition Files” on page 166).

This menu item is bound to the LanguageOptions command (see “File Commands” on page 342).
Per File Settings
Opens the Per File Settings dialog box which lists variables that can be set for an individual
file. These settings are used only for the current session. See “The Per File Settings Dialog Box”
on page 300 
for details.
This menu item is bound to the EditorFlags command (see “File Commands” on page 342).
Next File (Ctrl+Tab)
Switches to the next open file in the Editor stack.
This menu item is bound to the CyclePushBack command (see “View Commands” on page 366).
Previous File (Ctrl+Shift+Tab)
Switches to the previous open file in the Editor stack.
This menu item is bound to the CyclePush command (see “View Commands” on page 366).
Flash Cursor (Esc)
Scrolls to and flashes the line containing the cursor.
This menu item is bound to the FlashCursor command (see “Navigation Commands”
on page 350).

Green Hills Software
283

Chapter 11. Editor GUI Reference
Match (Shift+Right-click)
Searches backward from the cursor for the first paired character (parenthesis, square bracket,
or curly brace) at the same nesting level as the cursor, and selects the paired characters and all
text enclosed by them.
This menu item is bound to the SelectToMatch command (see “Selection Commands”
on page 356).

Read Only Window
Toggles the window permission for the file between read-only and read/write mode, if possible.
A check next to this menu item indicates that the Editor treats the file as read-only. This does
not affect the file's permission on disk. See also the Toggle Write Permission menu item in
“The File Menu” on page 278.
This menu item is bound to the ToggleReadOnly command (see “File Commands” on page 342).
Go To Definition of Selected Object
Displays the current selection's definition (if available) in the Editor source pane. This menu
item only appears when you are editing C, C++, or Ada files.
This menu item is bound to the GotoObjDef command (see “View Commands” on page 366).
Go To Declaration of Selected Object
Displays the current selection's declaration (if available) in the Editor source pane. This menu
item only appears when you are editing C, C++, or Ada files.
This menu item is bound to the GotoObjDecl command (see “View Commands” on page 366).
Browse References of Selected Object
Displays the object's cross references, if any, in a Browse window. For more information, see
“Browse References” on page 80. This menu item only appears when you are editing C, C++,
or Ada files.
This menu item is bound to the BrowseObjXRef command (see “View Commands” on page 366).
Generate Cross References Regenerate Cross References
Obtains complete cross reference information based on the project to which the source file
belongs. When you select this menu item, the Editor will search for the enclosing project and
generate cross reference information for the whole project.
Once cross reference information for the enclosing project is generated, the menu item will
change to Regenerate Cross References. If any of the source files in the project have changed,
the cross references for the enclosing project must be regenerated for the information to be
accurate.
These menu items only appear when you are editing C or C++ files.
These menu items are bound to the GenerateXrefInfo and RegenerateXrefInfo commands.
284
MULTI: Managing Projects and Configuring the IDE

The Block Menu
Close Dependent Windows
Deletes all cross reference Browse windows.
This menu item is bound to the CloseDependentWindows command (see “View Commands”
on page 366).

The Block Menu
The Block menu contains the following items:
Indent (Ctrl+i)
Indents at the beginning of the current line or selected lines. The default size is four spaces. To
change the indent size, select Config → Options, then select the MULTI Editor tab and edit
the Indent size field.
This menu item is bound to the Indent command (see “Indentation Commands” on page 346).
Unindent (Ctrl+Shift+i)
Deletes a number of spaces equal to or less than the size of an indent from the beginning of the
current line.
This menu item is bound to the Unindent command (see “Indentation Commands” on page 346).
Auto Indent (Ctrl+2)
Indents the current line or block of lines to the position indicated by the syntax of the code. This
option is only available for the C, C++, Java, and Ada languages. For more information, see
“Auto Indenting Code” on page 89.
This menu item is bound to the AutoIndent command (see “Indentation Commands”
on page 346).

Comment (Ctrl+*)
Inserts language specific characters to signify that the selected text is a comment, and not code.
This menu item is bound to the CommentBlock command (see “Block Commands” on page 334).
UnComment (Ctrl+Shift+U)
Removes comment characters from the selected text to make it active code.
This menu item is bound to the UnCommentBlock command (see “Block Commands”
on page 334).

UpperCase (Ctrl++)
Changes all the characters in the current selection to uppercase.
This menu item is bound to the UpperCaseBlock command (see “Block Commands”
on page 334).

Green Hills Software
285

Chapter 11. Editor GUI Reference
LowerCase (Ctrl+)
Changes all the characters in the current selection to lowercase.
This menu item is bound to the LowerCaseBlock command (see “Block Commands”
on page 334).

Rect Copy
Copies a rectangular subsection of the current selection to the clipboard. For more information,
see “Working with Columns” on page 91.
This menu item is bound to the RectCopy1 command (see “Clipboard Commands” on page 336).
Rect Cut
Deletes a rectangular subsection of the current selection, and copies it to the clipboard. For more
information, see “Working with Columns” on page 91.
This menu item is bound to the RectCut1 command (see “Clipboard Commands” on page 336).
Rect Paste
Pastes a clipboard selection created with Rect Copy or Rect Cut to the current location without
line breaks. If you use Edit → Paste (Ctrl+V) to paste a rectangular selection, line breaks will
be added. For more information, see “Working with Columns” on page 91.
This menu item is bound to the RectPaste1 command (see “Clipboard Commands” on page 336).
Cut Lines (Ctrl+M)
Extends the current selection to the closest line boundaries, deletes the selection, and places it
on clipboard number one.
This menu item is bound to the SelectLineCut1 command combination (see “Selection
Commands” on page 356 
and “Clipboard Commands” on page 336).
Join Lines (Ctrl+P)
Joins two lines of text by replacing the new line character from the end of the current line and
all initial whitespace on the next line with a single space.
This menu item is bound to the JoinLines command (see “Block Commands” on page 334).
Insert File
Opens the Insert dialog box, which allows you to select a file to be inserted. The contents of
the inserted file are placed on the line above the cursor.
This menu item is bound to the InsertFile command (see “Insert Commands” on page 348).
286
MULTI: Managing Projects and Configuring the IDE

The Tools Menu
The Tools Menu
The Tools menu contains the following items:
Insert Date (Ctrl+Shift+D)
Inserts the current date, as a formatted string, at the current location.
This menu item is bound to the Date command (see “Insert Commands” on page 348).
Search in Files
Opens the Search in Files dialog box, which allows you to search for an expression in all open
files. See “Searching in Files” on page 86 for a description of this window and how to use it.
This menu item is bound to the Grep command (see “Tools Commands” on page 361).
Launcher
Opens the MULTI Launcher, which provides easy access to all the primary MULTI components.
The Launcher provides a convenient way to create new files and projects, to access recent ones,
and to manage your open windows.
This menu item is bound to the MultiBar command (see “Tools Commands” on page 361).
Execute Shell Command
Linux/Solaris only
Opens the Shell Command to execute? dialog box, which allows you to execute a command
in the shell, then inserts the output into the open file.
The command uses the current selection in the Editor as stdin, and replaces that selection with
stdout. If nothing is selected, the output from the command is inserted into the open file after
the cursor's current position.
The following macro sequences are recognized in the command:
• %FILE — Replaced with the name of the current open file.
• %SEL — Replaced with the current selection.
• %LINE — Replaced with the current line number.
• %COMMENTS — Replaced with text from a dialog box that prompts for input.
This menu item is bound to the ExecuteCmd command (see “Tools Commands” on page 361).
Green Hills Software
287

Chapter 11. Editor GUI Reference
Command to Window
Linux/Solaris only
Opens the Command to Window dialog box, which allows you to execute a command in the
shell. Output will appear in a new temporary Editor window. This command does not modify
the open file.
The following macro sequences are recognized in the command:
• %FILE — Replaced with the name of the current open file.
• %SEL — Replaced with the current selection.
• %LINE — Replaced with the current line number.
• %COMMENTS — Replaced with text from a dialog box that prompts for input.
This menu item is bound to the CommandToWindow command (see “Tools Commands”
on page 361).

Execute Editor Commands
Opens the Execute Editor Commands dialog box, which allows you to enter Editor commands.
This menu item is bound to the Minibuffer command (see “Tools Commands” on page 361).
Merge Files
Opens the Choose files to merge dialog box, which allows you to merge two or three files. For
more information, see “Merging Files” on page 93.
This menu item is bound to the MergeFiles command (“Tools Commands” on page 361).
Diff Files
Opens the Choose two files dialog box, which allows you to find and display the differences
between two files. For more information, see “Comparing Files” on page 98.
This menu item is bound to the DiffFiles command (see “Tools Commands” on page 361).
The Version Menu
Most of the items in the Version menu are enabled only if the current file uses
version control. The availability of the items listed in the table varies according to
which version control system is being used. Check the section corresponding to the
version control system you are using to determine which items are available and
any special notes on the item specific to your version control system. See Chapter 5,
“Integrating MULTI with a Version Control System” on page 101.

288
MULTI: Managing Projects and Configuring the IDE

The Version Menu
Check Out
Retrieves a writable copy of the latest version and locks the file so that other users cannot change
the file while you work on it. Checks out the current file from version control for editing. (Files
cannot be edited unless they are checked out.) This action is not available if you are using CVS
or Subversion.
This menu item is bound to the CheckOut command (see “Version Control Commands”
on page 364).

Update
Issues an update command. If the repository version corresponding to the version of the local
file has changed, the changes are merged into the local file. This menu item is only available
for CVS and Subversion.
Check In/Commit
Saves any changes you have made to the current file. With some version control systems, the
file becomes read only in MULTI, and the lock is removed from the file. You will be asked for
comments to be saved in the log file along with your changes (see “The Commit Changes Dialog
Box” on page 119). 
Commit is used for CVS and Subversion, and Check In is used for other
version control systems.
This menu item is bound to the CheckIn command (see “Version Control Commands”
on page 364).

Check In All
Saves the changes you have made to all the files you have checked out. With some version
control systems, the files become read only in MULTI, and the lock is removed from the files.
You will be asked for comments to be saved in the log file along with your changes.
This menu item is bound to the QuerySaveCheckinAll command (see “Version Control
Commands” on page 364
).
Discard Changes
Undoes all changes made to the file since it was checked out from version control, and reverts
to the latest version. With some version control systems, the file becomes read only in MULTI,
and the lock is removed from the file. This function updates the timestamp on a file in case the
modified version was used in a previous build. Use this to undo a checkout without making any
changes.
This menu item is bound to the Discard command (see “Version Control Commands”
on page 364).

Place Under VC
Puts the current file under version control, prompting you to insert comments (if desired). With
some version control systems, the file must be checked out before changes can be made.
This menu item is bound to the PlaceUnderVC command (see “Version Control Commands”
on page 364).

Green Hills Software
289

Chapter 11. Editor GUI Reference
Auto Checkout
Enables or disables Auto Checkout mode. If Auto Checkout is not selected, you must manually
check out a file that uses version control before you can edit the file. If Auto Checkout is
enabled, files will be automatically checked out from the version control system when you
initiate an editing action. This option is only applicable to version control systems that require
a file to be checked out before changes can be made to it.
This option functions on a per-file basis and defaults to the value of the Automatic Checkout
configuration option. For more information, see Chapter 7, “Configuring and Customizing
MULTI” on page 131 
.
This menu item is bound to the AllowAutoCheckout and PreventAutoCheckout commands
(see “Version Control Commands” on page 364).
Show History
Opens the History Browser, which displays information about all versions of the current file.
This window displays the check-in comment, who checked the file in, and the date of the
check-in. You can double-click any entry in the history to open the Editor on a temporary copy
of that version. (If you are using ClearCase, this command opens the ClearCase history browser
rather than the MULTI History Browser.)
This menu item is bound to the ShowHistory command (see “Version Control Commands”
on page 364).

Show Last Edit
Finds the version of the current file in which the selected text was last changed, or, if no text is
selected, finds the version of the current file that was last changed. A Diff Viewer window
opens and displays the changed text. (For more information about this window, see “Using the
Diff Viewer” on page 125.)

This menu item is bound to the ShowLastEdit command (see “Version Control Commands”
on page 364).

Revert To History
Opens the History Browser, which lists all versions of the current file, and from which you can
select a version to load into the Editor. (This is not supported for all version control systems.)
This menu item is bound to the RevertHistory command (see “Version Control Commands”
on page 364).

Revert To Date
Opens a dialog box in which you can enter a revision date. The Editor will load the version that
was current on the date you specify.
This menu item is bound to the RevertDate command (see “Version Control Commands”
on page 364).

290
MULTI: Managing Projects and Configuring the IDE

The Config Menu
Revert To Version
Opens a dialog box in which you can enter a version number of the current file to load into the
Editor. (This is not supported for all version control systems.)
This menu item is bound to the RevertVersion command (see “Version Control Commands”
on page 364).

The Config Menu
The Config menu contains the following items:
Options
Opens the Options window to change options that affect the appearance and behavior of the
Editor and other MULTI tools. This window is covered in detail in Chapter 8, “Configuration
Options” on page 175
.
This menu item is bound to the ConfigOptions command (see “Configuration Commands”
on page 339).

Customize Menus
Opens the Customize Menus window, which allows you to configure menus in a number of
MULTI tools. For information about how to use this window, see “Configuring and Customizing
Menus” on page 148.

This menu item is bound to the CustomizeMenus command (see “Configuration Commands”
on page 339).

Save Configuration as User Default
Saves the current configuration options in a file in the default location. For more information,
see “Saving to the User Configuration File” on page 134.
This menu item is bound to the SaveConfig command (see “Configuration Commands”
on page 339).

Clear User Default Configuration
Prompts before clearing the default configuration file and restoring the default system
configuration.
This menu item is bound to the ClearConfig command (see “Configuration Commands”
on page 339).

Green Hills Software
291

Chapter 11. Editor GUI Reference
Save Configuration As
Opens the Save Configuration to what file? dialog box, which allows you to specify the
filename and location for the configuration file. For more information, see “Saving Configuration
Settings” on page 134
.
This menu item is bound to the SaveConfigToFile command (see “Configuration Commands”
on page 339).

Load Configuration
Opens the Load Configuration from what file? dialog box, which allows you to specify the
filename and location of the configuration file you want to load.
This menu item is bound to the LoadConfigFromFile command (see “Configuration Commands”
on page 339).

The Windows Menu
The Windows menu is used to jump between all of the windows created by MULTI.
If you choose an entry in the Windows menu, the corresponding window is brought
to the front.
The following are menu items that may appear in the Windows menu:
debugging_window
Gives focus to a debugging-related window that has been launched from the local executable.
application_name
Gives focus to the main Debugger window for the local application.
IDE_tool
Opens a submenu that lists windows corresponding to the IDE_tool. The windows listed in this
submenu might be created from the local execution or from other executions.
If only one MULTI Launcher is open, that tool does not have a submenu; it has a menu entry
instead.
Misc
Opens a submenu listing other windows types that do not fall into any of the above categories.
292
MULTI: Managing Projects and Configuring the IDE

The Help Menu
The Help Menu
The Help menu contains the following items:
Editor Help (F1)
Opens MULTI's online help system.
This menu item is bound to the Help command (see “Help Commands” on page 346).
Manuals
Opens the Manuals submenu, which displays a list of manuals appropriate to your version of
MULTI. Select one of these manuals to open the online help to the first page of that manual.
Bookmarks
Opens the Bookmarks submenu, which displays all the Help Viewer bookmarks you have
created. Bookmarks function across manuals and MULTI sessions. Select a bookmark to display
the bookmarked page in online help. Select Manage bookmarks to open a window that allows
you to display bookmarked pages and rename, delete, or reorder bookmarks.
Identify
Waits until the next key or mouse click sequence, and displays help for that command instead
of executing the command.
This menu item is bound to the Identify command (see “Help Commands” on page 346).
About MULTI
Opens the About banner.
This menu item is bound to the About command (see “Help Commands” on page 346).
License Info
Opens the Active Licenses dialog box, which displays the licenses in use.
The Shortcut Menu
You can right-click anywhere in the Editor source pane to open a Shortcut Menu
of common editing operations. The shortcut menu includes some or all of the
following items, depending on the cursor's position and the type of file that is being
edited.
• CutCopyPaste and Undo — For information, see “The Edit Menu”
on page 280.
• Go To Definition — For information, see “Go To a Definition” on page 79.
• Go To Declaration — For information, see “Go To a Declaration” on page 79
Green Hills Software
293










Chapter 11. Editor GUI Reference
• Browse References — For information, see “Browse References” on page 80.
• Generate Cross References — For information, see “Generate or Regenerate
Cross References” on page 80.
• Regenerate Cross References — For information, see “Generate or Regenerate
Cross References” on page 80.
• Show Last Edit — For information, see “The Version Menu” on page 288.
• Open New Editor Window — For information, see “The File Menu”
on page 278.
• Properties — For information, see “The File Menu” on page 278.
• CommentUncomment and Auto Indent — For information, see “The Block
Menu” on page 285.
The Editor Toolbar
The Editor Toolbar contains the following buttons that provide access to some of
the most common Editor actions:
(Open) — Opens the Edit File dialog box, which is used to select a file to open
in the Editor.
(Save) — Saves the current file.
(Cut) — Deletes the current selection and places it on the clipboard.
(Copy) — Copies the current selection to the clipboard.
(Paste) — Pastes the contents of the clipboard to the current cursor location.
(Find) — Opens the Search dialog box, which is used to conduct an interactive
search (see “Interactive Searching Using the Search Dialog Box” on page 84).
(Goto) — Opens the GoTo dialog box, which is used to go to a file, line or
procedure (see “Using the GoTo Dialog Box” on page 81).
(Undo) — Undoes the last edit.
(Redo) — Re-implements the last edit that was undone.
294
MULTI: Managing Projects and Configuring the IDE









The File and Procedure Fields
(Previous File) — Switches to the previous open file in the Editor's stack.
(Next File) — Switches to the next open file in the Editor's stack.
(Retry Build) — Retries building the project containing the open source file.
This button is available in the Editor window that opens when a build error is
encountered.
(Previous Error) — Navigates to the previous build error. This button is
available in the Editor window that opens when a build error is encountered.
(Next Error) — Navigates to the next build error. This button is available in
the Editor window that opens when a build error is encountered.
(Save and Close) — Saves files without prompting, then quits the Editor.
(Close File) — Closes the current file.
(Close Editor) — Quits the Editor. The presence or absence of this button on
the toolbar is a configurable option (see the configuration option Display close (x)
buttons 
in “The General Options Tab” on page 177). By default, the button does
not appear.
The File and Procedure Fields
Below the Editor toolbar are three fields you can use to navigate within and between
files.
• File — This field displays the name and path of the file you are currently
editing. You can type another filename in the field to open it in the Editor
window. The drop-down menu provides access to your most recently used
files. Files open in the current Editor session appear at the top, and other recently
used files appear below.
• Procedure — The drop-down menu displays all procedures defined in the file.
You can use this box to go to a procedure in the file. Select a procedure from
the drop-down menu, or type a procedure name in the field. This field only
appears when you are editing C or C++ files.
As you type characters in this field, the Editor will auto-complete with
procedures that match the characters you type. You can type part of a procedure
Green Hills Software
295

Chapter 11. Editor GUI Reference
name, then select the drop-down menu to view a list of all procedures that
match the string you have entered. If you are uncertain about a procedure's
name, you can use * and ? wildcard characters.
• Line Number — This field displays the number of the line where the cursor
is located. The tooltip that appears when you hover over the field displays
complete line and column numbers. To go to a specific line in the file, type the
line number in this field, and press Enter.
The Status Bar
The status bar is located at the very bottom of the Editor window. It displays the
following information:
• Status box — The left corner of the status bar displays status, usage, and error
messages. For example, when you press Ctrl+(see “Incremental Searching”
on page 83
), the left corner of the status bar displays the search text as you
type it.
• Cursor position indicator — Displays the current line and column position
of the cursor. If the line number exceeds 99999 or if the column number exceeds
999, only a partial number is displayed. To view complete line and column
numbers, hover your mouse over the line number field in the upper-right corner
of the window.
• Read-only window indicator — A stop sign appears near the right corner of
the status bar if the window permission for the current file is read-only. See
also Toggle Write Permission in “The File Menu” on page 278 and Read Only
Window 
in “The View Menu” on page 282.
• Change dot — A small red star appears near the right corner of the status bar
if changes have been made to the file since the last time it was saved.
• Version control status — The letters VC appear in the right corner of the status
bar if the current file is under version control. The letters will be red if the file
has been checked out. Otherwise they will be black.
296
MULTI: Managing Projects and Configuring the IDE







Linux/Solaris Dialog Boxes
Linux/Solaris Dialog Boxes
The following sections describe dialog boxes that only appear in the Editor on
Linux/Solaris systems.
The File Chooser Dialog Box (Linux/Solaris)
A file chooser dialog box opens if you initiate an action (using a menu, button,
command, or shortcut) for which a file must be specified, but you have not yet
specified a file. A chooser also opens if you click a Browse or
button on a dialog
box. A sample Linux/Solaris file chooser follows. (For information about Windows
file choosers, see your Windows documentation.)
The title bar of the file chooser will vary depending on the action you are performing.
The following table describes the main elements of the file chooser.
Item
Meaning
Directory
Displays the directory whose contents are shown in the File List. Type
in a new directory name and press Enter to display a different directory.
Directory Buttons
With this set of buttons, you can quickly go to different important
directories. The buttons that appear are:
— Up One Directory from the current directory.
— Jumps to the current Working Directory.
— Jumps to the IDE Installation Directory.
— Jumps to the User Home Directory.
Green Hills Software
297

Chapter 11. Editor GUI Reference
Item
Meaning
File List
Below the directory text field is the file list. To enter a directory,
double-click the directory. To choose a file, single-click the filename.
You can click any column header to sort the list in ascending or
descending order.
If multiple files are allowed for the present operation (for example, Open
is selected in the editor menu), use the Shift key to select a consecutive
list of files; use the Ctrl key to select non-consecutive files.
Filename
Type a filename or directory name into this text field. As you type in
this field, the selection in the file list will change to reflect the closest
match. If you type a directory name and press Enter, or follow the
directory name by a slash (/), the file list will change to the specified
directory.
File type
If you select a file type, the File List will only display files with suffixes
that match the selected file type.
Action buttons
There are two buttons in the lower right corner of the file chooser
window. The upper button displays the action that will occur, such as
Edit (in the example above), OK, or Open. The lower button is the
Cancel button, which closes the window without taking any action.
The Print Setup Dialog Box
On Windows, selecting a printing operation from the File menu opens a standard
Print dialog box with settings and options appropriate for your version of Windows
and your printer and printer driver. See your Windows and printer documentation
for details about the settings on this dialog.
On Linux/Solaris systems, selecting a printing operation from the File menu opens
the following Print Setup dialog box.
298
MULTI: Managing Projects and Configuring the IDE


The Print Setup Dialog Box
The settings of the Print Setup dialog box are described in the following table.
Item
Meaning
Print To
Specifies where to send the print output. Select either Printer (the
default) or File (to write to a postscript file).
Print Command
Specifies the print command that will be run when you click Print. Enter
the appropriate command and options for printing a file on your specific
system (for example, lpr on Linux/Solaris).
You can also set the print command with the configure printCommand
command. For information about the configure command, see “Using
the configure Command” in Chapter 7, “Configuring and Customizing
MULTI” in the MULTI: Managing Projects and Configuring the IDE
book.
This field is only available if you have chosen the Printer radio button
above.
Filename
Specifies the output post-script file for print to file operations. This field
is only available if you have selected the File radio button above. Enter
the file to write to, or click Browse to open a chooser and navigate to
an existing file. (See “The File Chooser Dialog Box (Linux/Solaris)”
on page 297 
for a description of the chooser.)
Font Name
Specifies the font for your printing operations. Select your desired font
from the drop-down list, which contains a list of available fonts on your
system. You can also type a font name into this field if it is not in the
list.
Font Size
Specifies the font size used for printing. Select your desired size from
the drop-down list. The default font size is 8 point.
Green Hills Software
299

Chapter 11. Editor GUI Reference
Item
Meaning
Paper Size
Specifies your paper size. Select LetterLegalExecutive, or A4. The
default setting is Letter.
Orientation
Specifies the layout for your printed document. Select Portrait or
Landscape. The default setting is Portrait.
Columns
Specifies whether to print the output in one or two columns. The default
setting is 1.
Print
Executes the print request.
Cancel
Cancels the print request and discards any settings you have changed.
The Per File Settings Dialog Box
This dialog box lists a number of indenting and text wrapping options that you can
set for the current file and current session only.
To open this dialog box, select View → Per File Settings.
Note
These settings default to the Editor options in Config → Options. For
more information about these settings, see “The MULTI Editor Options
Tab” on page 221 
and “The More Editor Options Dialog Box” on page 227.
The Per File Settings dialog box contains the following fields:
Indent size
Controls the number of spaces the Editor inserts when you press the Tab key. The default is 4
spaces. If you enter 0 to disable tabs, pressing Tab will insert a single space.
Ada indent size
For Ada language file types only. Sets the indentation size. The default is 3 spaces. For more
information, see “The MULTI Editor Options Tab” on page 221.
Ada continuation size
For Ada language file types only. Determines how far a line of Ada source code is indented if
it continues on multiple lines.
300
MULTI: Managing Projects and Configuring the IDE


The Search Dialog Box
Wrap column
If Word wrap is enabled, this setting specifies the column at which word wrap takes effect. If
a line grows to longer than this number of columns as you are typing, the Editor will insert a
line break at the first whitespace character before the column. It will indent the newly formed
line by the same amount as the line above it, plus the wrap indent offset, described below.
Wrap indent offset
If Word wrap is enabled, this setting determines how much the wrapped line will be indented
past the indentation of the line above it.
Word wrap
Check this box to enable word wrap, or clear it to disable word wrap. If Word wrap is enabled,
the Editor will wrap lines automatically as you type, but will not wrap long lines while loading
a file.
Disk format
Determines whether the file will be saved in Linux/Solaris format or DOS format (with carriage
returns). It defaults to the appropriate setting.
Procedure list order
Selects the order in which procedures will display in the Procedure drop-down menu (see “The
File and Procedure Fields” on page 295). 
Permitted settings for this option are:
• Base Name — Displays procedures sorted by the procedure's base name.
• Full Name — Displays procedures sorted by their class name, then procedure name.
• Position — Displays procedures in the order they appear in the file.
The Search Dialog Box
To open the Search dialog box, select Edit → Find.
Green Hills Software
301

Chapter 11. Editor GUI Reference
The fields and options in the Search dialog box are described in the following table.
Item
Meaning
Find
Searches for and highlights the next occurrence of the string entered in this
field. To search for the next occurrence, click the Find button again, or press
Enter.
Replace
Replaces the current selection with the string entered in this field.
Replace
Replaces the current selection and then searches again.
Then Find
Find Then
Searches for the next occurrence of the search string, and replaces it with
Replace
the replacement string.
Replace All
Starts at the beginning of the file and replaces all occurrences of the search
string with the replacement string.
Undo
Undoes the last Editor command. Note that this button will Undo the last
change in the file, not just changes made from the Search dialog box.
Forward
Determines whether the search proceeds forward or backward from the
current location. (The default is Forward.)
Backward
The Editor searches from the current location in the file toward the end of
the file for a forward search, and toward the beginning of the file for a
backward search. If the search string is not found before it reaches the end
or the beginning, the search stops and the status bar displays an error message.
If you start the search again, it resumes from the beginning or the end of the
file.
Case
Determines whether or not the search is case-sensitive. Select one of the
following:
• Exact — Selects a case-sensitive search. For example, Fly matches
Fly, but not fly or FLY.
• Either — Selects a case-insensitive search. For example, Fly matches
both fly and FLY. (This is the default.)
302
MULTI: Managing Projects and Configuring the IDE

The Search Dialog Box
Item
Meaning
Search Type
Determines the type of search to conduct. Select one of the following:
• Normal — No special characters in the search; that is, characters only
match themselves. (This is the default.)
• Wildcard — The following characters have a special meaning in the
search string:
? (question mark) — Matches any single character except a newline
character.
* (asterisk) — Matches any number of characters except newline
characters.
• Regular Expression — The characters listed in “Searching for Regular
Expressions” on page 85 can be used in the search string.
Starts word
Specifies whether the search string must appear at the beginning or end of
a word.
Ends word
If Starts word is checked, the search string must appear at the beginning of
a word. For example, fly matches fly or flybat, but not batfly.
If Ends word is checked, the search string must appear at the end of a word.
For example, fly matches fly or batfly, but not flybat.
If both are checked, the string string must form a complete word. For
example, fly matches fly, but not flybat or batfly.
If neither box is checked, any occurrence of the string is found.
Starts line
Specifies whether the search string must appear at the beginning or the end
of a line.
Ends line
These options function similarly to Starts word and Ends word, described
above, except that they apply to the beginning and end of a line.
Selecting both of these boxes specifies that the entire line must match the
search text.
Close
Cancels the search and closes the Search dialog box.
Note
Some of the settings in this dialog box set the defaults for the next
incremental search (see “Incremental Searching” on page 83).
Green Hills Software
303


Chapter 11. Editor GUI Reference
The Search in Files Results Window
The Search in Files Results window displays the results of a Search in Files
operation (Tools → Search in Files).
The main components of this window are:
• Results pane — Contains columns that display information about the matching
lines in the files searched.
○ BP column — Displays whether or not a breakpoint is set on the matching
line. You can also use this column to set and remove breakpoints on certain
lines. To set a breakpoint on the matching line, click the breakdot. To
delete a breakpoint, click the breakpoint icon. (This column only appears
if the Editor or the Search in Files dialog box has been launched from the
MULTI Debugger.)
○ File column — Displays the name of the file that contains the matching
line. Place your mouse pointer over this field to display the path to the
file, if available, in a tooltip.
○ Line column — Displays the line number of the matching line.
○ Text column — Displays the text of the matching line.
• Text pane — Contains a description of the search and displays any errors printed
by the grep utility.
• Stop Search button — Stops the current search, but does not close the results
window. When the search is complete, this button is unavailable.
304
MULTI: Managing Projects and Configuring the IDE

The Search in Files Results Window
• Search in Results button — Opens a new search window that allows you to
search only in the results of your previous search. This search window is
identical to the Search in Files dialog box pictured in “Searching in Files”
on page 86
, except that it has an additional check box labeled Select
Non-matching Lines
. If cleared (the default), the lines in the previous Search
in Files Results 
window that match the specified string are displayed in the
new Search in Files Results window. If selected, the lines in the previous
Search in Files Results window that do not match the specified string are
displayed in the new Search in Files Results window.
• Close button — Closes the results window.
• Status bar — Displays the progress of the search. Located at the bottom of the
window, this bar displays SearchingSearch completed, or Search stopped.
Green Hills Software
305


Chapter 12
Version Control Tools GUI
Reference
Contents
Checkout Browser Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
The Checkout Browser Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Checkout Browser Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Checkout Browser Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
The Commit Changes Dialog Box . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
History Browser Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
The History Browser Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Diff Viewer Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

Chapter 12. Version Control Tools GUI Reference
This chapter contains detailed descriptions of the menus and toolbar buttons (if
applicable) available in MULTI's version control tools. Many of these items are
mentioned in the main text of this book in the context in which they are used. They
are listed here together to provide a comprehensive reference.
Checkout Browser Menus
The following menus and menu items are available from the Checkout Browser.
The File Menu
The following table describes the options available from the File menu.
New Window
Opens another Checkout Browser.
Launcher
Opens the MULTI Launcher.
Full Rescan
Gathers information from the remote repository and provides information about local and remote
changes to files. After this scan the Checkout Browser shows the status of each file in your
checkout, and it shows the corresponding repository.
Update Checkout
Brings the local checkout up to date with the remote repository, performs a scan for local changes,
and displays the results in the Checkout Browser.
Halt Scan / Update
Stops any Rescan or Update in progress.
CVS Checkout Editor
Opens the CVS Checkout Editor. This feature is only supported when using CVS. You can
use the CVS Checkout Editor to create a new checkout or to modify the contents of an entire
checkout or portion of a checkout, such as reverting a checkout to a certain date. For more
information, see “Creating or Modifying a Checkout (CVS only)” on page 115.
Close
Closes the Checkout Browser.
308
MULTI: Managing Projects and Configuring the IDE

The Show Menu
The Show Menu
The following table describes the options available from the Show menu. This menu
is used to select what type of files are displayed in the Checkout Browser. A check
mark appears next to items that are currently selected for display. Selecting a menu
item toggles the display on or off for that particular type of file. You can choose to
display any combination of file types from the menu.
No Changes
Displays files with no changes.
Conflicts
Displays files with conflicts that must be resolved before you can commit your local version to
the repository (files with Status listed as Needs MergeWill Conflict, or Has Conflict).
Local Changes
Displays files that have been changed locally.
Remote Changes
Displays files that have been changed remotely.
Not Under VC
Displays files that are not currently under Version Control.
The Config Menu
The Checkout Browser's Config menu contains the same menu items that appear
in the Config menus of other MULTI tools. You can use this menu to modify
configuration options for MULTI. For a description of each Config menu item, see
“The Config Menu” on page 291.
The Shortcut Menu
When you right-click files or directories in the Checkout Browser, a shortcut menu
appears. The menu displays some or all of the following options, depending on
which version control system you use and what files or directories you have selected.
For example, if you select a directory, the Show History and Diff menu options
will be unavailable. Similarly, you cannot Commit a file if no changes have been
made, Add a file that already exists in the repository, or Update a file that does not
contain any remote changes.
Green Hills Software
309

Chapter 12. Version Control Tools GUI Reference
Diff with Local Version
Opens a Diff Viewer that shows differences between the local files and the versions of the files
listed in the Local Version column. See “The Diff Viewer” on page 121.
Diff with Remote Version
Opens a Diff Viewer that shows differences between the latest version in the repository and
your local version. This menu item is only available for files that have been remotely modified
(files with Status listed as Remotely ModifiedNeeds Merge, or Will Conflict).
Edit
Opens an editor on the selected files.
Show History
Opens a History Browser that displays information about all versions of the file (see “The
History Browser” on page 120). 
If you select multiple files, a separate History Browser will
open for each file.
Rescan
Updates the status of the selected files or directory. Useful for determining whether either the
repository or local versions have been modified since the last full scan.
Update
Brings the selected files or directory in your checkout up to date with the versions in the
repository.
Commit Check In
Checks in local changes of the files or directory selected, creating new versions in the repository.
This launches the Commit Changes dialog box. For more information, see “The Commit
Changes Dialog Box” on page 119
.
Check Out
Checks out the selected files from the repository, locking them. Only available for SourceSafe.
Resolve Conflict
Clears the conflict state of the selected files. As a side effect, this may remove files that were
generated by the conflict. Only available for Subversion.
Unlock
Releases the lock on the selected files. Only available for SourceSafe.
Place Under VC
Adds the selected files to the repository, creates an initial version, and checks that version out.
Only available for SourceSafe.
310
MULTI: Managing Projects and Configuring the IDE



The Checkout Browser Toolbar
Revert to Repository
Reverts the selected file to its previous state. For example, if you select a locally added file and
then select this option, the file is removed from the repository and returns to the Not Under VC
state. If you select a locally modified file and then select this option, local changes are removed
and the file reverts to the version located in the repository.
Add
Marks files to be added to the version control system. Files will not be added to the remote
repository until you Commit them.
Delete
Marks files to be deleted from the version control system. If the files selected are not under
version control they will be deleted from your checkout. If the files exist in the repository they
will be removed from your checkout and marked for deletion. They will not be removed from
the repository until you Commit them.
The Checkout Browser Toolbar
The Checkout Browser toolbar contains buttons that allow you to perform various
version control operations on selected files. The following table describes the buttons
in the Checkout Browser.
Button
Effect
Diff with local version
Opens a Diff Viewer that shows differences between the
locally modified version of the selected files and the versions
in the repository that match the values in the Local Version
field.
If the files have not been changed in the repository since the
last time the files were updated, the Local Version is also the
latest version in the repository. If the files have since been
changed, Local Version indicates particular file versions in
the repository that the locally modified versions are compared
against. To compare against the latest versions in the
repository in this case, use Diff with remote version,
described below.
Diff with remote version
Opens a Diff Viewer that shows differences between the latest
version in the repository and your local version.
This button is only available for files that have been remotely
modified (files with Status listed as Remotely Modified,
Needs Merge, or Will Conflict).
Green Hills Software
311











Chapter 12. Version Control Tools GUI Reference
Button
Effect
Diff all locally modified
Opens a Diff Viewer showing differences between local and
files
original versions of all modified files.
Edit
Opens the Editor on the selected file(s).
Show history
Opens a History Browser that displays information about all
versions of the selected file (see “The History Browser”
on page 120
). If you select multiple files, a separate History
Browser 
opens for each file.
Rescan
Updates the status of the selected files or directory. This is
useful for determining whether either the repository or local
versions have been modified since the last scan.
Update
Brings the selected files or directory in your checkout up to
date with the versions in the repository.
Commit
Checks in local changes of the files or directories selected,
creating new versions in the repository. This launches the
Commit Changes dialog box. For more information, see
“The Commit Changes Dialog Box” on page 119.
Commit all locally
Checks in changes for all the files or directories that have
modified, added, and removed
been locally modified, added, or removed, creating new
files
versions in the repository. This launches the Commit Changes
dialog box. For more information, see “The Commit Changes
Dialog Box” on page 119
.
Revert
Reverts the selected file to its previous state. For example, if
you select a locally added file and then click this button, the
file is removed from the repository and returns to the Not
Under VC 
state. If you select a locally modified file and then
click this button, local changes are removed and the file reverts
to the version located in the repository.
Add
Marks files to be added to the version control system. Files
will not be added to the remote repository until you Commit
them.
Delete
Marks files to be deleted from the version control system. If
the files selected are not under version control, they will be
deleted from your checkout. If the files exist in the repository,
they will be removed from your checkout and marked for
deletion. They will not be removed from the repository until
you Commit them.
312
MULTI: Managing Projects and Configuring the IDE





Checkout Browser Columns
Button
Effect
Rescan All
Updates the status of all files and directories located in the
Roots directory. This is useful for determining whether either
the repository or local versions have been modified since the
last full scan.
Add Checkout
Allows you to add another directory to the current Checkout
Browser
. A window in which you can specify the additional
directory appears when you click the button.
Checkout Browser Columns
The following information is displayed in the Checkout Browser.
Filename
Names of files in the folder you selected. By default, the Checkout Browser only displays
changed files. For information about changing the default, see “The Show Menu” on page 309.
You can click the
and
buttons to expand or contract the file list.
Green Hills Software
313

Chapter 12. Version Control Tools GUI Reference
Status
Current version control status of the file. The possible values for the status are:
• No changes — The file has not been changed.
• Locally Modified — Changes have been made to the file in your checkout that do not exist
in the remote repository. There is a chance that updating the file will result in conflicts if
changes have been made to the repository since your last scan.
• Locally Added — The file exists in your checkout and has been marked to be added to
the remote repository when committed.
• Locally Removed — The file has been marked to be removed from the remote repository
when committed. The file no longer exists in your checkout.
• Remotely Modified — The version in the repository is newer than the version in your
checkout, perhaps because another user has checked in a new version of the file.
• Remotely Added — The file exists in the remote repository, but is not in your checkout.
This is most likely because someone else has added the file to the repository.
• Remotely Removed — The file has been removed from the repository, but is still in your
checkout.
• Not under VC — The file is not recognized by the version control system. This identifies
files that have been created inside your checkout, but have not been added or marked to
be added to the repository.
• Needs Merge — The file has been modified in your checkout, but a newer version exists
in the repository than the version you started with. You must update your checkout to
merge the changes between your local version and the repository version before you can
commit your changes to the repository. There is a chance that the process of updating the
file will result in a conflict.
• Will Conflict — Similar to Needs Merge, except when you update your checkout, the
merge will create conflicts that must be resolved before you will be able to commit the file
to the remote repository.
• Has Conflict — The file in your checkout contains conflicts that must be resolved before
you will be able to commit it to the remote repository.
• Generated by Conflict — The file was generated by the version control system when it
updated a different file, which resulted in a conflict. When the conflict is resolved, this file
is removed. Only available for Subversion.
Local Version
Version of the file as it currently exists in the local checkout.
Tag
The branch tag, if applicable.
314
MULTI: Managing Projects and Configuring the IDE




Checkout Browser Status
Locked By
A list of user names that have the file locked. Only available for SourceSafe.
Checkout Browser Status
The Checkout Browser performs many operations that can take a long time.
Information about the operation the Checkout Browser is performing at any given
time is displayed in two places, both located in the bottom portion of the window.
• The status pane displays a continuously updated stream of status messages
when the Checkout Browser performs modify, scan, or create operations.
Depending on your version control system, you may see messages about the
number of directories that have been scanned and the current output from the
executable.
• The status bar lists current activity when the Checkout Browser is performing
operations such as committing files.
The Commit Changes Dialog Box
The following menu items are available from the File menu in the Commit Changes
dialog box. Some of these menu items are also present in the shortcut menu that
appears when you right-click a file or directory. Where applicable, corresponding
toolbar buttons are displayed beside menu items.
Save Commit Log
Opens a dialog box that you can use to save the current log message to a file.
Import Commit Log
Opens a dialog box that allows you to import a log message. The imported message replaces
the currently displayed log message (if any).
Use Recent Commit Log
Opens a submenu that displays shortened versions of recent commit log messages. Selecting
one of these messages replaces the current message (if any).
Add New Files
Opens a dialog box from which you can choose additional files to be committed.
Green Hills Software
315




Chapter 12. Version Control Tools GUI Reference
Remove Selected Files
Removes the selected file(s) from the list of files to commit. If no files are selected in the bottom
portion of the dialog box, this option is unavailable.
Edit Selected Files
Opens the Editor on the selected file(s). If no files are selected in the bottom portion of the
dialog box, this option is unavailable.
Diff Selected Files
Opens a Diff Viewer on the selected files. The Diff Viewer shows differences between the local
file and the version of the file that was originally checked out. See “The Diff Viewer” on page 121.
If no files are selected in the bottom portion of the dialog box, this option is unavailable.
Close
Closes the Commit Changes dialog box.
History Browser Menus
The following menu items are available from the History Browser.
The File Menu
The History Browser has one menu, the File menu, which contains the following
items:
Diff with Local Version
Opens a Diff Viewer that shows the differences between the selected version of the file and
your local version of the file. See “The Diff Viewer” on page 121.
Diff 2 Versions
Opens a Diff Viewer that shows the differences between two selected versions of the file. If
you select a range of versions, Diff 2 Versions will perform a diff between the upper and lower
bounds of the range. See “The Diff Viewer” on page 121.
View Selected Version
Opens the selected version of the file in an editor.
Revert to Selected Version
Overwrites the local copy of the file with the selected version.
316
MULTI: Managing Projects and Configuring the IDE

The Shortcut Menu
Edit Local Version
Opens the local copy of the file in an editor.
Refresh History
Updates the information in the History Browser.
Checkout Browser
Opens the Checkout Browser. See “The Checkout Browser” on page 114.
Close
Closes the History Browser.
The Shortcut Menu
The following shortcut menu can be accessed by right-clicking a version in the
History Browser:
Diff with Local Version
Opens a Diff Viewer that shows differences between the selected version of the file and your
local version of the file. See “The Diff Viewer” on page 121.
Diff 2 Versions
Opens a Diff Viewer that shows difference between the two selected versions of the file. If you
select a range of versions, Diff 2 Versions will performs a diff on the upper and lower bounds
of range. See “The Diff Viewer” on page 121.
View
Opens the selected version of the file in an editor.
Revert to
Overwrites the local copy of the file with the selected version.
Green Hills Software
317

Chapter 12. Version Control Tools GUI Reference
The History Browser Window
The History Browser displays the following information:
Status
Current version control status of the file.
Current Tag
Identifying label that was last used to update your local machine. A version might have several
labels associated with it in the version control system, but only the label used to update the file
on your local machine will appear.
Displaying
Shows the number of history entries and whether a Partial history or a Full history is being
displayed. If you are using Subversion and there are more than 100 history entries, Partial
history 
is shown. In this case, the History Browser also displays the Get more and Get all
buttons, which retrieve up to 100 additional entries or all entries, respectively.
Version List
The top half of the History Browser window displays a table containing the following
information for all versions logged in version control:
• Date — Lists the date and time each version was checked into the repository.
• Version — Lists the revision number assigned to each version of the file. If possible,
version numbers are grouped by branches with the +/- construct.
• User — Lists the user who saved each version.
• Tag — Lists the tags corresponding to each version. This is only available for CVS.
Information is displayed sorted by Version. You can change the sort criteria by clicking any of
the column headings.
Comment area
The bottom half of the History Browser window displays comments associated with the version
selected in the top half of the window. It also lists tags associated with this version.
318
MULTI: Managing Projects and Configuring the IDE

Diff Viewer Menus
Diff Viewer Menus
The following menus and menu items are available from the Diff Viewer.
The File Menu
The following Diff Viewer actions can be executed via the File menu or the keyboard
shortcuts listed.
Open Diff (Ctrl+O)
Opens a diff file selection dialog box that adds a new diff to the current Diff Viewer window.
Open New Diff (Ctrl+Shift+O)
Opens a new diff file selection dialog box that shows the new diff in a new Diff Viewer window.
Show Current Diff (Ctrl+*)
Re-positions the Diff Viewer panes to the current diff (highlighted in the highlight color).
Close (Ctrl+Q)
Closes the Diff Viewer.
The View Menu
You can use the Diff Viewer in several different modes to alter what types of
differences it shows. The following modes can be set via the Diff Viewer's View
menu.
Note
In the following table, the term whitespace refers to space and tab
characters. It does not refer to newline characters.
Green Hills Software
319

Chapter 12. Version Control Tools GUI Reference
Ignore Whitespace Amount
Ignores differences in the amounts of whitespace between two otherwise identical lines. For
example, in this mode, the following text is considered to be the same:
void func(int a);
and
void
func(int
a);
If one line uses ten spaces while its counterpart uses only one, this difference is not considered
significant. However, if the second line uses no whitespace, a difference is shown.
You can only select one whitespace option at a time.
Ignore Whitespace for C
Ignores whitespace using heuristic C tokenization of a file. Whitespace differences within a line
that do not affect compilation do not show up as differences. For example, in this mode, the
following text is considered to be the same:
void func(int a);
and
void func
(
int
a
) ;
Because it does not have enough information available to perform a true compilation of the file,
the heuristic parser that C tokenization uses cannot perfectly account for all cases.
You can only select one whitespace option at a time.
Ignore All Whitespace
Ignores all whitespace differences between files. For example, in this mode, the following text
is considered to be the same:
voidfunc(inta);
and
void func (int a);
You can only select one whitespace option at a time.
320
MULTI: Managing Projects and Configuring the IDE

The View Menu
Case Insensitive
Ignores all differences in capitalization between lines. For example, in this mode, the following
text is considered to be the same:
void func(int a);
and
void Func(int A);
This mode can be selected along with one of the whitespace modes.
Display Changes Within Lines
Highlights differences within non-matching lines, making it easier to identify changes in each
line. Portions of the line that match appear in dark gray.
If this option is not selected, the entire line is highlighted if it is different than the corresponding
line in the other pane.
Display Changes Word by Word Within Lines
Divides each line into words before displaying changes within lines. This option can make
changes within lines easier to read, even when two different words happen to share one or more
letters.
This option has no effect unless Display Changes Within Lines is also selected.
Line up Columns for Changes Within Lines
Treats characters as if they are different if they appear in different columns. This option can be
useful when you compare files in which column position is significant (S-Record files, for
example).
This option has no effect unless Display Changes Within Lines is also selected.
Ignore Changes in Numbers (0-9)
Ignores all differences in decimal numbers between lines. For example, in this mode, the
following text is considered to be the same:
stw
r4, 8(r9)
and
stw
r5, 4(r8)
This mode can be selected along with one of the whitespace modes.
Green Hills Software
321

Chapter 12. Version Control Tools GUI Reference
Ignore Changes in Hex Numbers (0-9A-Fa-f)
Ignores all differences in hexadecimal numbers between lines. For example, in this mode, the
following text is considered to be the same:
.boottable
0x47000
and
.boottable
0x474c0
When this option is enabled, the Diff Viewer does not distinguish among A-F characters. For
example, the following sentences are considered to be the same:
The cafe is green.
and
The bead is green.
This mode can be selected along with one of the whitespace modes.
The Shortcut Menu
When you right-click in either of the two main Diff Viewer panes, a shortcut menu
provides the following options:
Edit File on Disk
Opens the selected file in a text editor.
Show Last Edit
Diffs the right-clicked version of the file against the most recent version of the file in which the
selected text changed. Both panes update as needed to display applicable versions.
This option only applies to files that are under version control. It only appears when you have
selected a region of text.
Show Last Edit in File
Diffs the right-clicked version of the file against the most recent version of the file that changed.
Both panes update as needed to display applicable versions.
This option only applies to files that are under version control. It only appears when you have
not selected a region of text.
Show History
Opens a History Browser for the selected file. See “The History Browser” on page 120.
This option only applies to files that are under version control.
322
MULTI: Managing Projects and Configuring the IDE

The Shortcut Menu
Set to Current Diff
Specifies that the diff containing the cursor is the current diff (highlighted in the highlight color).
Green Hills Software
323


Part IV
Appendices


Appendix A
The MULTI IDE Directory
Structure

Appendix A. The MULTI IDE Directory Structure
Most MULTI IDE executables, such as mstartme, and multi, are stored in the
top level of the MULTI IDE installation directory.
The following list outlines the contents of most MULTI IDE installation
subdirectories. The presence of subdirectories for separately licensed products such
as the TimeMachine tool suite are dependent upon your purchase.
• config — Contains configuration files including ghs.cfg. For information about
configuration files, see Chapter 7, “Configuring and Customizing MULTI” in
the MULTI: Managing Projects and Configuring the IDE book.
• copyright — Contains copyright information for third-party tools included
with the MULTI installation.
• defaults — Contains default configuration files and extension files.
• manuals — Contains online help files and PDF documentation.
• python — Contains a Python installation. For information about the
MULTI-Python integration, see the MULTI: Scripting book.
• restore — Contains patches created when products or patches are installed
into the top-level MULTI IDE installation directory. Patches named uninstall*
are simple uninstallers used to remove files. Patches named restore* are
restoration patches that will, when possible, replace patched versions of files
with the previous version.
• timemachine_api — Contains example programs that use the TimeMachine
API for custom analysis of trace data. For more information, see “The
TimeMachine API” in Chapter 19, “Analyzing Trace Data with the
TimeMachine Tool Suite” in the MULTI: Debugging book.
328
MULTI: Managing Projects and Configuring the IDE

Appendix B
Editor Commands
Contents
if Conditional Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
Auto-Completion Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
Block Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Clipboard Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Configuration Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
Drag-and-Drop Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
File Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Help Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Indentation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Insert Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
Mode Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Navigation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Search Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
Selection Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Text Deletion Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Tools Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Undo/Redo Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Version Control Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
View Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Miscellaneous Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Deprecated Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369

Appendix B. Editor Commands
Most of the commands listed in this chapter are bound to Editor GUI menu items,
keyboard shortcuts, and/or mouse buttons. This command reference is provided so
you can customize the Editor to help you work more efficiently. For example:
• If you do not want to use the mouse when you are editing, you can bind any
command to a keystroke combination.
• If you find that you are often performing a particular sequence of actions, you
can combine the commands for these actions into a single keystroke, key
sequence, mouse button combination, GUI button, or menu item.
For more information about binding commands to menu choices, keystrokes, mouse
clicks, and buttons, see Chapter 7, “Configuring and Customizing MULTI”
on page 131
. For a list of all default key and mouse bindings, see Appendix C,
“Default Key and Mouse Bindings” on page 371
.
Note
You can also execute these commands via the MULTI-Python integration
(see Chapter 2, “Introduction to the MULTI-Python Integration” in the
MULTI: Scripting book). Alternatively, you can issue them by selecting
Tools → Execute Editor Commands and entering them in the text box
that appears. However, since most of these commands are bound to menu
choices, keystrokes, mouse clicks, and/or buttons, there should be little
need to enter them in this way.
Note
Editor commands are case-insensitive, thus DiffFiles and difffiles
are equivalent and are both valid. In this chapter, we use mixed-case
notation where it makes the commands more readable.
330
MULTI: Managing Projects and Configuring the IDE

if Conditional Commands
if Conditional Commands
Conditional commands are useful for constructing scripts and key bindings that
apply to a particular state or mode in the Editor. For example, if commands can be
used to make your key bindings respond differently depending on whether the Editor
is in insert mode or whether text is selected.
The basic construction of a conditional command is:
if condition {cmds1} [else {cmds2}]
If condition is true, the commands given for cmds1 are executed. If condition
is false, cmds2 executes.
Specifying the keyword else is optional. If else is included and the condition
is not true, then the second command executes.
The following table provides valid values for condition.
<allowmiddleclick>
This condition is true if the configuration option allowMiddleClick is on (for information, see
“The MULTI Editor Options Tab” on page 221).
<beforenonwhite>
This condition is true if there is no selection and the cursor is before all non-whitespace characters
on the line (i.e., all characters before the cursor are whitespace).
<bsearch>
This condition is true if the Editor is in backward-search mode.
<col=eof>
This condition is true if the first selected character or the cursor position (if there is no selection)
is at the end of the last character (not inclusive) in the corresponding file.
<col=eol>
This condition is true if the first selected character or the cursor position (if there is no selection)
is at the end of the last character (not inclusive) in the corresponding line.
<col=sof>
This condition is true if the first selected character or the cursor position (if there is no selection)
is the first character of a file.
Green Hills Software
331

Appendix B. Editor Commands
<col=sol>
This condition is true if the first selected character or the cursor position (if there is no selection)
is the first column of a line.
<fsearch>
This condition is true if the Editor is in forward-search mode.
<HaveUnconfirmedAcString>
This condition is true if an auto-completed string that was not accepted by the user exists in the
Editor.
<insertmode>
This condition is true if the Editor is in insert mode (see EnterInsertMode in “Mode Commands”
on page 349).

<lang=language_name>
This condition is true if the language used to color the active Editor source file is the one
specified.
The language name is the name specified in the general section of the corresponding language's
syntax configuration file (see “The language.gsc Syntax Definition Files” on page 166 for details).
<noselection>
This condition is true if there is no primary selection.
<nosselection>
This condition is true if there is no secondary selection.
<searching>
This condition is true if an incremental search is currently in progress, and false otherwise (see
iSearch in “Search Commands” on page 355).
<select num=line>
This condition is true if the selection number num aligns on line boundaries. The primary selection
is number 0, and the secondary selection is number 1.
<wrapsearch>
This condition is true if the Editor is searching and has wrapped.
Example B.1. Conditional Commands
if <noselection> {SelectLine}; Cut1
If there is no selection, the entire line is selected. The Cut1 command is always
executed.
332
MULTI: Managing Projects and Configuring the IDE

Auto-Completion Commands
if <noselection> {ContinueSelection; SOL} else {Delete}
If there is no selection, the current cursor position to the end of the line is selected.
If there is a selection, it is deleted.
Auto-Completion Commands
The MULTI Editor provides the following auto-completion commands. These
commands function even when auto-completion is disabled.
AcceptAcString
Accepts the string auto-completed by the MULTI Editor.
The Editor deletes the auto-completed string if you click the mouse, type a character (depending
on your key-stroke configuration), etc. before accepting the string.
By default, AcceptAcString; MoveToEndOfSelectionAndUnselect is bound to:
• Tab
AutoCompleteList
Displays a list of auto-completion strings from which you can choose an entry to complete the
text at the cursor or, if only one match is possible, automatically completes the text at the cursor.
The maximum number of strings listed is determined by the following entry in the corresponding
language definition file:
max_match = num
where num is the maximum number of matches to display. The default is 10.
By default, this command is bound to:
• Ctrl+/
AutoCompletePrototypeList
Displays a list of function prototypes matching the name of the function at the cursor. You can
select an entry to complete the text at the cursor.
The maximum number of function prototypes listed is determined by the option max_match
in the corresponding .gsc file.
By default, this command is bound to:
• Ctrl+'
Green Hills Software
333

Appendix B. Editor Commands
DelUnconfirmedAcString
Deletes the string that has been auto-completed by the MULTI Editor but not accepted.
MoveToEndOfSelectionAndUnselect
Moves the cursor to the end of the selected text and clears the selection. There is no effect if
there is no selection.
By default, AcceptAcString; MoveToEndOfSelectionAndUnselect is bound to:
• Tab
NextAutoCompleteString
Auto-completes the characters with the next string that matches the pattern.
By default, this command is bound to:
• Ctrl+]
PrevAutoCompleteString
Auto-completes the characters with the previous string that matches the pattern.
By default, this command is bound to:
• Ctrl+[
Block Commands
The following commands allow you to modify text in the current primary selection.
Although they are designed to operate on selected text, most of these commands
have a default behavior that occurs even when there is no selection.
CommentBlock
Inserts language-specific characters to signify that the selected text is a comment and not code.
For more information, see “Working with Comments” on page 90.
By default, this command is bound to:
• Comment menu item (see “The Block Menu” on page 285)
• Ctrl+*
334
MULTI: Managing Projects and Configuring the IDE

Block Commands
JoinLines
Joins the selected lines of text by replacing the new line character at the end of a line and all
initial whitespace on the next line with a single space.
By default, this command is bound to:
• Join Lines menu item (see “The Block Menu” on page 285)
• Ctrl+P
LowerCaseBlock
Changes all characters in the current selection to lowercase.
By default, this command is bound to:
• LowerCase menu item (see “The Block Menu” on page 285)
• Ctrl+– (Ctrl + minus)
UnCommentBlock
Removes comment-style characters from the selected text to make it active code. The selected
text must begin with comment-start symbols and end with comment-stop symbols. For more
information, see “Working with Comments” on page 90.
By default, this command is bound to:
• UnComment menu item (see “The Block Menu” on page 285)
• Ctrl+Shift+U
UpperCaseBlock
Capitalizes all characters in the current selection.
By default, this command is bound to:
• UpperCase menu item (see “The Block Menu” on page 285)
• Ctrl+(Ctrl + plus)
Green Hills Software
335

Appendix B. Editor Commands
Clipboard Commands
The MULTI Editor provides four internal clipboards.
On Windows, the first clipboard is the same as the Windows clipboard. Text or data
stored there is available to other Windows applications.
On Linux/Solaris, the content of the first clipboard can be made available to other
applications with the clipboard manager. Launch clipboard manager is a
configurable option on the Config → Options → General tab (see “The General
Options Tab” on page 177
).
Copyn
Copies the selected text to clipboard number n. When this command is issued, the specified
clipboard's previous content is lost; other clipboards are unaffected.
By default, Copy1 is bound to:
• Copy menu item (see “The Edit Menu” on page 280)
• Ctrl+C
• Copy or L6 (Solaris only)
By default, Copy2 is bound to:
• Ctrl+Shift+C
• Shift+Copy or Shift+L6 (Solaris only)
On Linux/Solaris, Copy3 is bound to:
• Meta+Ctrl+C
• Ctrl+Copy or Ctrl+L6 (Solaris only)
On Linux/Solaris, Copy4 is bound to:
• Meta+Ctrl+Shift+C
• Ctrl+Shift+Copy or Ctrl+Shift+L6 (Solaris only)
336
MULTI: Managing Projects and Configuring the IDE

Clipboard Commands
Cutn
Deletes the selected text and places it on clipboard number n. When this command is issued,
the specified clipboard's previous content is lost; other clipboards are unaffected.
By default, Cut1 is bound to:
• Cut menu item (see “The Edit Menu” on page 280)
• Ctrl+X
• Cut or L10 (Solaris only)
Cut2 is bound to:
• Ctrl+Shift+X
• Shift+Cut or Shift+L10 (Solaris only)
On Linux/Solaris, Cut3 is bound to:
• Meta+Ctrl+X
• Ctrl+Cut or Ctrl+L10 (Solaris only)
On Linux/Solaris, Cut4 is bound to:
• Meta+Ctrl+Shift+X
• Ctrl+Shift+Cut or Ctrl+Shift+L10 (Solaris only)
NoSelection; ContinueSelection; Left; Cut2; Left; Paste2; Right
Transposes the previous two characters.
By default, this command is bound to:
• Ctrl+Shift+T
Green Hills Software
337

Appendix B. Editor Commands
Pasten
Inserts text from clipboard number n.
By default, Paste1 is bound to:
• Paste menu item (see “The Edit Menu” on page 280)
• Ctrl+V
• Paste or L8 (Solaris only)
Paste2 is bound to:
• Ctrl+Shift+V
• Shift+Paste or Shift+L8 (Solaris only)
On Linux/Solaris, Paste3 is bound to:
• Meta+Ctrl+V
• Ctrl+Paste or Ctrl+L8 (Solaris only)
On Linux/Solaris, Paste4 is bound to:
• Meta+Ctrl+Shift+V
• Ctrl+Shift+Paste or Ctrl+Shift+L8 (Solaris only)
RectCopy1
Copies a rectangular subsection of the current selection to clipboard number 1. Only this clipboard
is available for rectangular selections. For more information, see “Working with Columns”
on page 91
.
By default, this command is bound to:
• Rect Copy menu item (see “The Block Menu” on page 285)
RectCut1
Deletes a rectangular subsection of the current selection, and copies it to clipboard number 1.
Only this clipboard is available for rectangular selections. For more information, see “Working
with Columns” on page 91.

By default, this command is bound to:
• Rect Cut menu item (see “The Block Menu” on page 285)
338
MULTI: Managing Projects and Configuring the IDE

Configuration Commands
RectPaste1
Pastes a clipboard selection created with RectCopy1 or RectCut1 to the current location. Only
one clipboard is available for rectangular selections. For more information, see “Working with
Columns” on page 91
.
By default, this command is bound to:
• Rect Paste menu item (see “The Block Menu” on page 285)
• Ctrl+V
Configuration Commands
The following commands allow you to configure the Editor's appearance and
behavior.
ClearConfig
Prompts before clearing the default configuration file.
By default, this command is bound to:
• Clear User Default Configuration menu item (see “The Config Menu” on page 291).
ConfigOptions
Opens the Options window.
By default, this command is bound to:
• Options menu item (see “The Config Menu” on page 291)
configure config_option [ = | : ] value
configure config_option
configure ?
Changes the value of a MULTI configuration option. The configure ? command displays a
list of configurable options. You can separate config_option from value with an equal sign
(=), a colon (:), or a whitespace character ( ). If value is a Boolean, you can omit it and MULTI
will toggle the option's setting. For more information, see “Using the configure Command”
on page 132.

Green Hills Software
339

Appendix B. Editor Commands
CustomizeMenus
Opens the Customize Menus window, which allows you to configure menus in a number of
MULTI tools. For information about how to use this window, see “Configuring and Customizing
Menus” on page 148.

By default, this command is bound to:
• Customize Menus menu item (see “The Config Menu” on page 291)
LoadConfigFromFile
Opens the Load Configuration from what file? dialog box.
By default, this command is bound to:
• Load Configuration menu item (see “The Config Menu” on page 291)
SaveConfig
Saves the current configuration options in a file in the default location.
By default, this command is bound to:
• Save Configuration as User Default menu item (see “The Config Menu” on page 291).
SaveConfigToFile
Opens the Save Configuration to what file? dialog box.
By default, this command is bound to:
• Save Configuration As menu item (see “The Config Menu” on page 291)
Drag-and-Drop Commands
The Editor supports drag-and-drop actions such as moving text in an open file and,
in Windows, dragging a file from a Windows Explorer to an Editor to open it. The
drag-and-drop feature is controlled by the configuration option dragAndDrop,
which is off by default (for more information, see “The MULTI Editor Options
Tab” on page 221). 
The following commands perform various functions associated
with this drag-and-drop behavior. Since they are all dependent upon the location
of the mouse pointer, these commands are generally useful only when bound to
mouse buttons and actions (see “Default Mouse Bindings” on page 383).
340
MULTI: Managing Projects and Configuring the IDE

Drag-and-Drop Commands
SelectionDrop
Completes the drag-and-drop or drag-and-drop-add operation. Legal drag spots are anywhere
in the Editor text pane, except on the current selection, and are indicated by the mouse cursor
changing into the drop (or drop-add) cursor. Illegal drop spots are indicated by the no mouse
cursor.
Note: This command will be executed whenever the left mouse button is released during a
drag-and-drop or a drag-and-drop-add operation.
SelectionStartDrag
Starts a drag-and-drop operation using the text of the primary selection. When the mouse moves
over a legal drop spot, the cursor will change into the drop cursor, so you can drop the text to
the new location. At the completion of the drag-and-drop operation, the text of the primary
selection will be deleted from its original location, and pasted to the drop location. If there is
no primary selection, this command has no effect.
Note: This command must be followed by a SelectionDrop command.
By default, this command is bound to:
• Left-click
SelectionStartDragAdd
Starts a drag-and-drop-add operation using the text of the primary selection. When the mouse
is over a legal drop spot, the cursor will change into the drop-add cursor, so you can copy the
text to a new location. At the completion of the drag-and-drop-add operation, the text will be
copied to the drop location. If there is no primary selection, this command has no effect.
To execute this command, left-click and drag selected text, while holding down the Ctrl key.
If you press Ctrl any time during a normal drag-and-drop operation, the operation will turn into
a drag-and-drop-add operation.
Note: This command must be followed by a SelectionDrop command.
By default, this command is bound to:
• Ctrl+Left-click
Green Hills Software
341

Appendix B. Editor Commands
File Commands
The following commands allow you to open, save, close, and otherwise manipulate
files.
Close
Closes the current Editor window. If changes were made to open files, you will be prompted to
save the files before closing.
By default, this command is bound to:
• Close Editor menu item (see “The File Menu” on page 278)
• Ctrl+Q
Done
Closes and saves changes to all open files without prompting, then exits the Editor.
By default, this command is bound to:
• Save and Close Toolbar button (see “The File Menu” on page 278).
• Ctrl+Shift+Q
DosFormat [ -dos | -unix ]
Sets the file format to DOS format or Linux/Solaris format. (The DOS format saves the file
with carriage returns.) If you do not specify any arguments, this command toggles the file format.
By default, this command is bound to:
• Edit → DOS Format (see “The Edit Menu” on page 280).
EditorFlags
Opens the Per File Settings dialog box, which lists control settings for the current file. See
“The Per File Settings Dialog Box” on page 300.
By default, this command is bound to:
• Per File Settings menu item (see “The View Menu” on page 282)
FileProperties
Displays the language name and other information the Editor is able to obtain about the currently
edited file.
By default, this command is bound to:
• Properties menu item (see “The File Menu” on page 278)
342
MULTI: Managing Projects and Configuring the IDE

File Commands
LanguageOptions
Opens the Language Settings dialog box, which lists settings for the selected language.
By default, this command is bound to:
• Per Language Settings menu item (see “The View Menu” on page 282).
LoadFile [filename]
Opens the given file in either a new Editor window or the current Editor window, depending
on the current setting of the openFilesinNewBuffers option (see “The MULTI Editor Options
Tab” on page 221
). If no parameters are specified, this command opens the Edit File dialog box
for you to open or create a file.
By default, this command is bound to:
• Ctrl+Shift+O
LoadFileWithNewEditor [filename]
Opens the given file in a new Editor window. If no parameters are specified, this command
opens the Edit File dialog box for you to open or create a file.
By default, this command is bound to:
• New Editor menu item (see “The File Menu” on page 278)
• Ctrl+N
OpenFile [filename]
Opens the given file in the current Editor window. If no parameters are specified, this command
opens the Edit File dialog box for you to open or create a file.
By default, this command is bound to:
• Open menu item (see “The File Menu” on page 278)
• Ctrl+O
• Open or L7 (Solaris only)
PageSetup
(Windows only)
Opens the Page Setup dialog box.
By default, this command is bound to:
• Page Setup menu item (see “The File Menu” on page 278)
Green Hills Software
343

Appendix B. Editor Commands
Print
Opens the Print dialog box for you to print the file or current selection. For information about
the Linux/Solaris Print dialog box, see “The Print Setup Dialog Box” on page 298.
By default, this command is bound to:
• Print menu item (see “The File Menu” on page 278)
QuerySaveAll
Opens the SaveFiles? dialog box, which lists all the currently edited files. To choose to save
any combination of these files, select the box next to the file's name. To save all of the selected
files, click OK. This is equivalent to saving all of the files at once.
By default, this command is bound to:
• Save All menu item (see “The File Menu” on page 278)
Quit
Prompts you to save the changes made to all open files, then quits all currently running MULTI
tools (including Debugger windows).
By default, this command is bound to:
• Exit All menu item (see “The File Menu” on page 278)
Revert
Reverts the file to the last saved version, discarding any changes that have not been saved.
By default, this command is bound to:
• Revert to Saved menu item (see “The File Menu” on page 278)
Save
Saves the current file.
By default, this command is bound to:
• Save menu item (see “The File Menu” on page 278)
• Ctrl+S
SaveAll
Automatically saves all open files without prompting.
344
MULTI: Managing Projects and Configuring the IDE

File Commands
SaveAs
Opens the Save As dialog box.
By default, this command is bound to:
• Save As menu item (see “The File Menu” on page 278)
• Ctrl+Shift+S
SelectLanguage [language_index]
Selects the language to use for color syntax, auto indentation, etc.
language_index is the sequential index (starting from 1) for each language defined in index.gsc
(see “The index.gsc Configuration File” on page 164).
Note: The C and C++ syntax highlighting module attempts to gray out any code that is enclosed
by the #if 0 preprocessor directive. However, if several such directives are nested, only the
outermost one will be highlighted correctly.
By default, this command is bound to:
• Language menu item (See “The View Menu” on page 282.)
ToggleReadOnly
Toggles the window permission for the current file between read-only and read/write mode, if
possible. This does not affect the file's permission on disk.
By default, this command is bound to:
• Read Only Window menu item (See “The View Menu” on page 282.)
ToggleWritePermission
Toggles the permission for the file between read-only and read/write mode, if possible. A stop
sign in the right corner of the Editor's status bar indicates that the file is currently read-only.
This command changes both the file's window permission and the file's permission on disk.
By default, this command is bound to:
• Toggle Write Permission menu item (see “The File Menu” on page 278)
Green Hills Software
345

Appendix B. Editor Commands
Help Commands
The following commands access the MULTI Editor's help features.
About
Opens the About dialog box.
By default, this command is bound to:
• About MULTI menu item (see “The Help Menu” on page 293)
BugReport
Launches the gbugrpt utility program, which collects information about your MULTI installation
and allows you to append it to a bug report form that you can fill out and email to Green Hills
Technical Support.
Help
Opens MULTI's online help.
By default, this command is bound to:
• Editor Help menu item (see “The Help Menu” on page 293)
• F1
Identify
Waits until you execute another command, either by key presses or mouse clicks, and then
displays help for that command instead of executing the command.
By default, this command is bound to:
• Identify menu item (see “The Help Menu” on page 293)
Indentation Commands
Indentation is whitespace at the beginning of each line that may be used to denote
the hierarchical structure of your code more clearly, thus making it more readable.
For more information about indents, see “Indenting Code” on page 88.
346
MULTI: Managing Projects and Configuring the IDE

Indentation Commands
AutoIndent
Indents the current line or block of lines to the position indicated by the syntax of the code. This
command is only available for C, C++, and Ada. Several configuration options affect the operation
of AutoIndent (see “The MULTI Editor Options Tab” on page 221).
By default, this command is bound to:
• Auto Indent menu item (see “The Block Menu” on page 285)
• Ctrl+2
AutoIndentImplicit
Performs the same function as AutoIndent, except that it can be turned off by setting the
configuration option aiimplicitindent to off.
By default, this command is bound to:
• Auto indent as you type check box (see “The MULTI Editor Options Tab” on page 221)
AutoIndentOrTab
Performs the same function as AutoIndent, except that if the current file is in a language not
supported by AutoIndent, a Tab is inserted instead.
By default, this command is bound to:
• Tab
Indent
Adds an indent at the beginning of the current line or selection.
By default, this command is bound to:
• Indent menu item (see “The Block Menu” on page 285)
• Ctrl+i
Unindent
Removes an indent from the beginning of the current line or selection.
By default, this command is bound to:
• Unindent menu item (see “The Block Menu” on page 285)
• Ctrl+Shift+i
Green Hills Software
347

Appendix B. Editor Commands
Insert Commands
These commands add text to the open file at the cursor's current position.
"any_string"
Inserts the string between the double quotation marks into the open file at the cursor's current
position. The current selection, if any, is replaced with the text between the quotes. Standard C
quoting sequences (for example, \n, \t, \\) are allowed.
AddStr [-pos -1 | 0 | 1 ] string
Adds the specified string to a position based on the value of pos, where:
• -1 — Specifies the beginning of the file.
• 0 — [default] Specifies the current selection. (The string replaces the current selection.)
• 1 — Specifies the end of the file.
Date
Inserts the date and time into the open file at the cursor's current position.
By default, this command is bound to the menu item:
• Insert Date (see “The Tools Menu” on page 287).
InsertFile
Opens the Insert dialog box, which allows you to select a file to be inserted at the current line.
The contents of the selected file are placed on the line above the cursor.
By default, this command is bound to:
• Insert File menu item (see “The Block Menu” on page 285)
InsertNewline
Inserts a newline (\n) character into the open file at the cursor's current position. The current
selection, if any, is replaced with the newline.
By default, InsertNewline; AutoIndent is bound to:
• Enter
By default, EOL; InsertNewLine is bound to:
• Ctrl+Shift+R
348
MULTI: Managing Projects and Configuring the IDE

Mode Commands
Tab
Inserts a tab (\t) character into the open file at the cursor's current position. The current selection,
if any, is replaced with the tab.
UserName
Inserts the current user name (in lowercase letters) into the open file at the cursor's current
position.
Mode Commands
The following commands change the Editor's mode.
AlterMode [mode number]
Creates bindings for sequences of key combinations, instead of just single-stroke key
combinations. This command is typically only bound to keys. For more information about
binding commands to keys, see the keybind command in “Customizing Keys and Mouse
Behavior” on page 153
.
The AlterMode command switches the Editor to any of 10 modes, called Edit0 through Edit9.
In each mode, keystrokes can have different behaviors depending on what bindings have been
set for that particular mode. This is useful because any given key combination can have up to
10 meanings, depending on whether or not it was preceded by a key that is bound to the
AlterMode command.
Usually, you use the keybind command to bind a command to a key with modifiers, such as
Ctrl or Shift keys. However, with AlterMode you can bind commands to a key sequence. The
keybind command requires the specification of an editing mode. When you press the key in
that mode, the given command executes. Keys bound to commands in the MULTI Editor are
usually bound with the mode set to Edit (which refers to the same mode as Edit0). However,
if this command is specified and the mode is set to Edit1 – Edit9, the next key press in the
Editor will execute the command that it is bound to in the new mode. For example:
keybind "x"|Control@Edit=AlterMode Edit2
keybind "s"|Control@Edit2=SaveFile
With this command, pressing Ctrl+in the Editor changes the Editor mode to Edit2 for the
next key press. Then pressing Ctrl+in the Editor saves the current file, because the Editor is
now in Edit2 mode.
Any command issued while in an alternate mode will switch the mode back to Edit0, the default
mode.
Green Hills Software
349

Appendix B. Editor Commands
EnterInsertMode
Puts the Editor into insert mode, so you can enter literal keystrokes into your file, even if the
keys are bound to commands.
For example, suppose you customized the Editor so that every time you press d, the cursor
moves down one line. This makes it impossible to type the letter d in the file. When you turn
on insert mode and press d, the letter d appears in the file, and the cursor does not move down
one line.
Insert mode may be turned off by the FlashCursor command (see FlashCursor in “Navigation
Commands” on page 350
).
Quote
Forces the character generated by the next key press to be literally entered in the file, even if
the key is bound to a command. This is useful for entering characters that have commands bound
to them.
By default, this command is bound to:
• Ctrl+(backslash)
Navigation Commands
These commands change the location of the cursor, scrolling the open file as
necessary to keep the cursor within the Editor's window. None of these commands
modify the contents of the open file.
Down
Moves the cursor down one line.
By default, this command is bound to:
• DownArrow
• Ctrl+J
DownSome
Moves the cursor down by lines, where defaults to 5, but may be changed via the Ctrl+cursor
jump size 
field located on the Config → Options+Editor tab. For more information, see the
Ctrl+cursor jump size option in “The MULTI Editor Options Tab” on page 221.
By default, this command is bound to:
• Ctrl+DownArrow
350
MULTI: Managing Projects and Configuring the IDE

Navigation Commands
EditLine
Displays the Goto Line: prompt, which allows you to move to a specific line by typing in the
line number and pressing Enter.
See also the Goto and LineD commands below.
By default, this command is bound to:
• Ctrl+G
EOF
Moves the cursor to the last column of the last line of the open file (end of file).
By default, this command is bound to:
• Ctrl+End
EOL
Moves the cursor to the last column of the current line (end of line).
By default, this command is bound to:
• End
• Ctrl+E
FlashCursor
Flashes the line the cursor is on. This command also turns insert mode off (see the
EnterInsertMode command in “Mode Commands” on page 349).
By default, this command is bound to:
• Flash Cursor menu item (see “The View Menu” on page 282)
• The command NoSelection; FlashCursor is bound to the Esc key.
Goto
Opens the GoTo dialog box. See “Using the GoTo Dialog Box” on page 81 for more information.
By default, this command is bound to:
• Goto menu item (see “The Edit Menu” on page 280)
• Ctrl+Shift+G
Left
Moves the cursor one character to the left. If the cursor is already in the first column of the line,
this command has no effect.
Green Hills Software
351

Appendix B. Editor Commands
LeftSome
Moves the cursor to the left by characters, where defaults to 5, but may be changed via the
Ctrl+cursor jump size field located on the Config → Options+Editor tab. For more
information, see the Ctrl+cursor jump size option in “The MULTI Editor Options Tab”
on page 221.

LeftU
Moves the cursor one character to the left. If the cursor is in the first column of the line, then it
will move to the last column of the previous line. If the cursor is already in the first column of
the first line of the open file, this command has no effect.
By default, this command is bound to:
• LeftArrow
• Ctrl+H
LineD [line_number]
Moves the cursor to the specified line. If no parameter is specified, this command opens a dialog
box for you to specify the line to which the cursor should be moved.
MoveCursor [ -gui | -string ] line_numbercolumn_position
Moves the cursor to the specified line_number and column_position. Pass the -gui option
to specify a GUI column position, or pass the -string option to specify a string column position.
The GUI and string column positions differ when a Tab character is present. By default, Tab
is interpreted as 8 characters in the GUI and as 1 character in a string. Line numbers are 1-based;
that is, they start at one. Column positions are 0-based; that is, they start at zero.
PageDown
Moves the cursor down one screen.
By default, this command is bound to:
• PageDown
• Ctrl+Shift+N
PageUp
Moves the cursor up one screen.
By default, this command is bound to:
• PageUp
• Ctrl+Shift+B
352
MULTI: Managing Projects and Configuring the IDE

Navigation Commands
Return
Moves the cursor to the first column of the next line.
ReverseWord
Moves the cursor to the beginning of the current word. If the cursor is not currently within a
word (a group of consecutive alphanumeric characters), it moves to the beginning of the previous
word in the open file.
By default, this command is bound to:
• Ctrl+LeftArrow
Right
Moves the cursor one character to the right. If the cursor is already in the last column of the
line, this command has no effect.
RightD
Moves the cursor one character to the right. If the cursor is in the last column of the line, then
it will move to the first column of the next line. If the cursor is already in the last column of the
last line of the open file, this command has no effect.
By default, this command is bound to:
• RightArrow
• Ctrl+L
RightSome
Moves the cursor to the right by characters, where defaults to 5, but may be changed via the
Ctrl+cursor jump size field located on the Config → Options+Editor tab. For more
information, see the Ctrl+cursor jump size option in “The MULTI Editor Options Tab”
on page 221.

SOF
Moves the cursor to the first column of the first line of the open file (start of file)
By default, this command is bound to:
• Ctrl+Home
Green Hills Software
353

Appendix B. Editor Commands
SOL
Moves the cursor to the immediate left of the first non-whitespace character on the line (start
of line
). If the cursor is already to the left of the first non-whitespace character, then it will move
to the first column of the current line.
By default, this command is bound to:
• Ctrl+W
SOL0
Moves the cursor to the first column of the current line (before any indentation) even if the first
character is indented.
By default, this command is bound to:
• Home
• Ctrl+(zero)
SOL1
Moves the cursor immediately to the left of the first non-whitespace character on the line, even
if the cursor is currently to the left of the first non-whitespace character. If the line has only
whitespace characters, the cursor moves to the end of the line.
Up
Moves the cursor up one line.
By default, this command is bound to:
• UpArrow
• Ctrl+K
UpSome
Moves the cursor up by lines, where defaults to 5, but may be changed via the Ctrl+cursor
jump size 
field located on the Config → Options+Editor tab. For more information, see the
Ctrl+cursor jump size option in “The MULTI Editor Options Tab” on page 221.
By default, this command is bound to:
• Ctrl+UpArrow
354
MULTI: Managing Projects and Configuring the IDE

Search Commands
Word
Moves the cursor to the end of the current word. If the cursor is not currently within a word (a
group of consecutive alphanumeric characters), it moves to the end of the next word in the open
file.
By default, this command is bound to:
• Ctrl+RightArrow
Search Commands
The MULTI Editor supports two methods of searching: incremental searching and
interactive searching. For more information about each type of searching, see
“Searching in the Editor” on page 83.
BackiSearch
Starts an incremental search that proceeds backward from the current location. See “Incremental
Searching” on page 83 
for more information.
By default, this command is bound to:
• Ctrl+B
On Solaris, BackiSearch; Search is bound to:
• Shift+Find or Shift+L9
iSearch
Starts an incremental search that proceeds forward from the current location. See “Incremental
Searching” on page 83 
for more information.
By default, this command is bound to:
• Ctrl+F
Green Hills Software
355

Appendix B. Editor Commands
Search
Opens the Search dialog box, which allows you to specify interactive search criteria. See
“Interactive Searching Using the Search Dialog Box” on page 84 for more information.
By default, this command is bound to:
• Find menu item (see “The Edit Menu” on page 280)
• Ctrl+Shift+F
• Find or L9 (Solaris only)
StopSearch
Stops an incremental or interactive search. The most recently matched or partially matched text
will remain selected. See “Incremental Searching” on page 83 for more information.
By default, this command is bound to:
• Esc
TruncateSearch
Restarts the incremental search at the current location. See “Incremental Searching” on page 83
for more information.
Selection Commands
Selection commands can be used to create or cancel the following two types of
selections:
• The primary selection, which is created by dragging over text with the left
mouse button, can be manipulated by many commands, such as clipboard
commands, indentation commands, and drag-and-drop commands. The primary
selection is replaced by any typed or inserted text and is canceled by any
navigation command. One end of the primary selection, the cursor-end, is
always at the cursor's current location, and may be either the start or the end
of the selection.
• The secondary selection, which is created by dragging over text with the middle
mouse button, can be replaced using either the command
SecondarySelectionReplace or SecondarySelectionReplaceClip. When the
middle button is released, SecondarySelectionReplace is executed. Any other
non-selection Editor command or keystroke cancels a secondary selection if it
356
MULTI: Managing Projects and Configuring the IDE

Selection Commands
exists. For more information about the middle mouse button, see
allowMiddleClick in “The MULTI Editor Options Tab” on page 221.
Many commands operate differently upon selected text. These differences are
documented in the individual command descriptions. Commands that do not
explicitly mention the secondary selection operate on the primary selection only.
With the exception of the commands SecondarySelectionReplace and
SecondarySelectionReplaceClip, none of the commands in this section modify
the contents of the open file.
ContinueSelection
Extends the selection. This command can be used in combination with the navigation commands.
For example:
ContinueSelection; Down
extends the selection down one line.
For keyboard shortcuts that make use of the ContinueSelection command, see “Selecting Text”
on page 378.

GetSelectedString
Outputs the selected string to a client (for example, the MULTI Python GUI) or to a dialog
box if there is no client.
GetSelection [ -gui | -string ]
Outputs the current selection range to a client (for example, the MULTI Python GUI) or to a
dialog box if there is no client. Specify -gui to get the GUI range, or specify -string to get
the string range. The GUI and string ranges differ when a Tab character is present. By default,
Tab is interpreted as 8 characters in the GUI and as 1 character in a string.
In the output, line numbers are 1-based; that is, they start at one. Column numbers are 0-based;
that is, they start at zero.
NoSelection
Moves the cursor to the beginning of the current primary selection and cancels the selection. If
there is no primary selection, this command has no effect.
SecondarySelectAllSecondarySelectLineSecondarySelectWord
Identical to their primary selection counterparts, except that these commands operate on the
secondary selection.
SecondarySelectionAdjustSecondarySelectionExtendSecondarySelectionStart
Identical to their primary selection counterparts, except that these commands operate on the
secondary selection.
Green Hills Software
357

Appendix B. Editor Commands
SecondarySelectionReplace
Deletes the text in the secondary selection, and replaces it with a copy of the text in the primary
selection. This command also cancels the secondary selection.
SecondarySelectionReplaceClip
Deletes the text in the secondary selection, and replaces it with a copy of the text in the clipboard.
This command also cancels the secondary selection. For more information about the clipboard,
see “Clipboard Commands” on page 336.
SelectAll
Selects the entire open file.
By default, this command is bound to:
• Select All menu item (see “The Edit Menu” on page 280)
• Ctrl+A
• Quadruple-Left-click
SelectionAdjustSelectionExtendSelectionGrab
Create and manipulate selections in a way that is dependent upon the mouse. To be useful, these
commands should be bound to mouse buttons and used in conjunction with one another. For a
sense of how these commands are used, see “Default Mouse Bindings” on page 383.
SelectionStart
Starts a new primary selection.
By default, this command is bound to:
• Left-click
SelectLine
Selects the current line—including any indentation—and moves the cursor to the end of the
line.
By default, this command is bound to:
• Triple-Left-click
SelectMatch
Selects the corresponding paired character if the character immediately following the cursor is
a paired character such as a parenthesis, square bracket, quote, or curly brace. If the cursor is
not in front of a paired character, or if there is no match, this command has no effect.
358
MULTI: Managing Projects and Configuring the IDE

Selection Commands
SelectRange [ -gui | -string ] begin_linebegin_columnend_lineend_column
Selects a range from begin_linebegin_column to end_lineend_column. Pass the -gui
option to specify a GUI column position, or pass the -string option to specify a string column
position. The GUI and string column positions differ when a Tab character is present. By default,
Tab is interpreted as 8 characters in the GUI and as 1 character in a string.
Line numbers start at one. Column numbers start at zero.
SelectToLines
Extends the current selection so that it completely includes the first and last lines of the current
selection. The new selection will begin at the first column of the first line of the current selection
and will end at the last column of the last line of the current selection. If there is no current
selection, this command will select the current line, exactly like the command SelectLine.
SelectToMatch
Extends the selection to include the nearest paired characters that enclose the current selection
and all text between them. If the cursor is not between paired characters, this command selects
the nearest paired characters on either side of the cursor.
By default, this command is bound to:
• Match menu item (see “The View Menu” on page 282)
• Shift+Right-click
SelectWord
Selects the current word and moves the cursor to the end of the word.
By default, this command is bound to:
• Double-Left-click
SOLSecondary
Starts the secondary selection at the first column of the current line, and changes the secondary
selection to zero length. That is, the secondary selection will contain no characters.
Green Hills Software
359

Appendix B. Editor Commands
Text Deletion Commands
The following commands delete text in the open file, either at the cursor or in the
primary selection. After text is deleted by these commands, it can only be recovered
with the Undo command. For more information, see “Undo/Redo Commands”
on page 363
.
Backspace
Deletes the text in the current primary selection and cancels the primary selection. If there is
no selection, then this command deletes the character immediately before the cursor.
By default, this command is bound to:
• Backspace key
if <noselection> { ContinueSelection; RightD }; Delete
Deletes the text in the current primary selection and cancels the primary selection. If there is
no primary selection, then this command does nothing.
By default, this command is bound to:
• Delete
• Ctrl+D
if <noselection> { ContinueSelection; ReverseWord }; Backspace
Deletes the previous word.
By default, this command is bound to:
• Ctrl+Backspace
if <noselection> { ContinueSelection; SOL }; Cut1
Cuts to the beginning of the line.
By default, this command is bound to:
• Ctrl+U
if <noselection> { ContinueSelection; Word }; Delete
Deletes the next word.
By default, this command is bound to:
• Ctrl+Delete
360
MULTI: Managing Projects and Configuring the IDE

Tools Commands
SelectToLines; Cut1
Cuts an entire line to clipboard number 1.
By default, this command is bound to:
• Ctrl+M
Tools Commands
The Editor provides several file utilities that perform such functions as merging,
comparing, and executing shell commands. The following commands provide access
to these utilities and to other tools.
[command;] (Linux/Solaris only)
Identical to the ExecuteCmd below.
CommandToWindow [command;] (Linux/Solaris only)
Sends the given command to the shell and displays the output in a new Editor window.
The parameter must end with a semicolon (;). If no parameters are specified, this command
opens the Command to Window dialog box.
By default, this command is bound to:
• Command to Window menu item (see “The Tools Menu” on page 287)
DiffFiles
Opens the Choose two files dialog box, which allows you to find and display the differences
between two files. For more information, see “Comparing Files” on page 98.
By default, this command is bound to:
• Diff Files menu item (see “The Tools Menu” on page 287)
ExecuteCmd [command;] (Linux/Solaris only)
Sends the given command to the shell as a command and inserts the output into the open file.
The parameter must end with a semicolon (;).
If no parameters are specified for this command, it opens the Shell Command to execute?
dialog box.
By default, this command is bound to:
• Execute Shell Command menu item (see “The Tools Menu” on page 287)
Green Hills Software
361

Appendix B. Editor Commands
Grep
Opens the Search in Files dialog box, which allows you to search for an expression in all open
files. See “Searching in Files” on page 86 for a description of this window and how to use it.
By default, this command is bound to:
• Search in Files menu item (see “The Tools Menu” on page 287)
MergeFiles
Opens the Choose files to merge dialog box to merge two or three files. For more information,
see “Merging Files” on page 93.
By default, this command is bound to:
• Merge Files menu item (see “The Tools Menu” on page 287)
Minibuffer
Opens the Execute Editor Commands dialog box, which allows you to enter commands.
By default, this command is bound to:
• Execute Editor Commands menu item (see “The Tools Menu” on page 287)
MultiBar
Opens the MULTI Launcher.
Shell [command;]
Sends the given command to the shell as a command. The parameter must end with a semi-colon
(;). The output is sent to the console from which MULTI was launched. This command does
not modify the open file.
If no parameters are specified, this command opens the Shell Command to execute? dialog
box.
362
MULTI: Managing Projects and Configuring the IDE

Undo/Redo Commands
Undo/Redo Commands
The following commands allow you to undo, repeat, or cancel other commands and
actions that have already executed or are currently executing.
Abort
Aborts any ongoing command, such as a search.
By default, this command is bound to:
• Esc
Redo
Restores the edit that was removed by Undo.
By default, this command is bound to:
• Redo menu item (see “The Edit Menu” on page 280)
• Ctrl+Y
• Again or L2 (Linux/Solaris only)
RepeatLast
Repeats the last edit made to the file.
By default, this command is bound to:
• Repeat Last Edit menu item (see “The Edit Menu” on page 280)
• Ctrl+(period)
ShowContextMenu
Opens a context-sensitive shortcut menu at the cursor. This command should only be bound to
mouse buttons.
By default, this command is bound to:
• Right-click
Green Hills Software
363

Appendix B. Editor Commands
Undo
Reverses the last change made to the current file.
By default, this command is bound to:
• Undo menu item (see “The Edit Menu” on page 280)
• Ctrl+Z
• Undo or L4 (Linux/Solaris only)
Version Control Commands
The following commands are used with version control.
AllowAutoCheckout
Enables auto checkout from version control. This only affects files that are under version control.
By default, this command is bound to:
• Auto Checkout menu item (see “The Version Menu” on page 288)
CheckIn
Checks the file into version control, prompting you for comments.
By default, this command is bound to:
• Check In/Commit menu item (see “The Version Menu” on page 288)
CheckOut
Checks the file out of version control.
By default, this command is bound to:
• Check Out menu item (see “The Version Menu” on page 288)
Discard
Discards changes to the current file.
By default, this command is bound to:
• Discard Changes menu item (see “The Version Menu” on page 288)
364
MULTI: Managing Projects and Configuring the IDE

Version Control Commands
PlaceUnderVC
Places the current file under version control.
By default, this command is bound to:
• Place Under VC menu item (see “The Version Menu” on page 288)
PreventAutoCheckout
Opposite of AllowAutoCheckout.
By default, this command is bound to:
• Auto Checkout menu item (see “The Version Menu” on page 288)
QuerySaveCheckinAll
Saves the changes you have made to all the files you have checked out, makes the files read
only in MULTI, and removes the lock from the files. You will be asked for comments to be
saved in the log file along with your changes.
By default, this command is bound to:
• Check In All menu item (see “The Version Menu” on page 288)
RevertDate
Displays a dialog box which allows you to enter a version date.
By default, this command is bound to:
• Revert to Date menu item (see “The Version Menu” on page 288)
RevertHistory
Opens a dialog box which allows you to select a version to revert the file to.
By default, this command is bound to:
• Revert to History menu item (see “The Version Menu” on page 288)
RevertToBackup
Reverts the current file to the backup file. This command is only valid if the editorBackups
configuration option is set to on. For more information, see “The MULTI Editor Options Tab”
on page 221.

By default, this command is bound to:
• Revert to Backup menu item (see “The File Menu” on page 278)
Green Hills Software
365

Appendix B. Editor Commands
RevertVersion
Opens a dialog box to enter a version number to load into the Editor.
By default, this command is bound to:
• Revert to Version menu item (see “The Version Menu” on page 288)
ShowHistory
Opens a dialog box that displays the version control history.
By default, this command is bound to:
• Show History menu item (see “The Version Menu” on page 288)
• Ctrl+Shift+H
ShowLastEdit
Finds the version of the current file that changed the selected text. This command functions the
same as the GUI menu item (see “The Version Menu” on page 288).
By default, this command is bound to:
• Show Last Edit menu item (see “The Version Menu” on page 288)
• Ctrl+Shift+L
ShowView
Displays the user's current view.
Note: This command is only supported when using ClearCase.
VCBuffer
Opens a dialog box that prompts you for a version control command. The full name of the
current file is appended at the end of the command.
View Commands
The following table lists view commands.
BrowseObjXRef
Displays the object's cross references (if any) in a Browse window. This command is available
for use with C, C++, and Ada files. For more information, see “Browse References” on page 80.
By default, this command is bound to:
• Browse References of Selected Object menu item (see “The View Menu” on page 282).
366
MULTI: Managing Projects and Configuring the IDE

View Commands
CloseDependentWindows
Deletes all cross reference Browse windows.
By default, this command is bound to:
• Close Dependent Windows menu item (see “The View Menu” on page 282).
CyclePush
Accesses the previous open file in the Editor's stack.
By default, this command is bound to:
• Previous File menu item (see “The View Menu” on page 282)
• Ctrl+Shift+Tab
CyclePushBack
Accesses the next open file in the Editor's stack.
By default, this command is bound to:
• Next File menu item (see “The View Menu” on page 282)
• Ctrl+Tab
DrawWrapLine [ On | Off | AsWordWrap ]
Specifies whether or not to draw the wrap line in the MULTI Editor. Permitted settings for this
command are:
• On — [default] Enables the wrap line.
• Off — Disables the wrap line.
• AsWordWrap — Enables the wrap line if word wrap is enabled.
This command does the same thing as the configuration option drawWrapLine.
GenerateXrefInfo
Obtains complete cross reference information based on the project to which the source file
belongs. This command is available for use with C and C++ files.
After cross reference information for the enclosing project is generated, use the
RegenerateXrefInfo command.
By default, this command is bound to:
• Generate Cross References menu item (see “The View Menu” on page 282).
Green Hills Software
367

Appendix B. Editor Commands
GotoObjDecl [-new] [object_name]
Displays the declaration (if available) of object_name or, if object_name is not specified,
of the current selection. If -new is specified, the definition is shown in a new Editor window;
otherwise, it is shown in the current Editor.
This command is available for use with C, C++, and Ada files.
By default, this command is bound to:
• Go To Declaration of Selected Object menu item (see “The View Menu” on page 282).
GotoObjDef [-new] [object_name]
Displays the definition (if available) of object_name or, if object_name is not specified, of
the current selection. If -new is specified, the definition is shown in a new Editor window;
otherwise, it is shown in the current Editor.
This command is available for use with C, C++, and Ada files.
By default, this command is bound to:
• Go To Definition of Selected Object menu item (see “The View Menu” on page 282).
NextWindow
Moves the cursor into the next Editor window and raises that window to the foreground. Using
this command repeatedly will eventually cycle through all of the open Editor windows.
RegenerateXrefInfo
Regenerates cross reference information based on the project to which the source file belongs.
This command is available for use with C and C++ files.
This command is used after GenerateXrefInfo has already been used to generate cross reference
information for the enclosing project.
By default, this command is bound to:
• Regenerate Cross References menu item (see “The View Menu” on page 282).
Miscellaneous Commands
Beep
Sounds an audible tone.
368
MULTI: Managing Projects and Configuring the IDE

Deprecated Commands
Deprecated Commands
The following commands are deprecated.
• AlterLocation (Use the AlterMode command instead. See “Mode Commands”
on page 349.)
• CmdPrompt2Wnd (Use the CommandToWindow command instead. See
“Tools Commands” on page 361.)
• CreateLog (Use the PlaceUnderVC command instead. See “Version Control
Commands” on page 364.)
• OpenText (Use the OpenFile command instead. See “File Commands”
on page 342.)
Green Hills Software
369


Appendix C
Default Key and Mouse
Bindings
Contents
Default Keyboard Shortcuts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Default Mouse Bindings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

Appendix C. Default Key and Mouse Bindings
This chapter lists the default key and mouse bindings. For information about how
you can change key and mouse bindings, see “Customizing Keys and Mouse
Behavior” on page 153
.
Default Keyboard Shortcuts
The following tables list default key bindings. You can create or change your key
bindings with the keybind command (see “Customizing Keys and Mouse Behavior”
on page 153
).
Navigating
The following key bindings control cursor movement in MULTI windows or
navigation through buffers. For more information about the commands, see
“Navigation Commands” on page 350.
UpArrow
Ctrl+K
Moves the cursor up one line.
By default, these keyboard shortcuts are bound to the Up command.
Ctrl+UpArrow
Moves the cursor up multiple lines [default is 5].
By default, this keyboard shortcut is bound to the UpSome command.
PageUp
Ctrl+Shift+B
Moves the cursor up one screen.
By default, these keyboard shortcuts are bound to the PageUp command.
DownArrow
Ctrl+J
Moves the cursor down one line.
By default, these keyboard shortcuts are bound to the Down command.
Ctrl+DownArrow
Moves the cursor down multiple lines [default is 5].
By default, this keyboard shortcut is bound to the DownSome command.
372
MULTI: Managing Projects and Configuring the IDE

Navigating
PageDown
Ctrl+Shift+N
Moves the cursor down one screen.
By default, these keyboard shortcuts are bound to the PageDown command.
LeftArrow
Ctrl+H
Moves the cursor left one character.
By default, these keyboard shortcuts are bound to the LeftU command.
Ctrl+LeftArrow
Moves the cursor to the previous word.
By default, this keyboard shortcut is bound to the ReverseWord command.
Ctrl+W
Ctrl+^
Moves the cursor to the first character of the line.
By default, these keyboard shortcuts are bound to the SOL command.
Home
Ctrl+0
Moves the cursor to the beginning of the line.
By default, these keyboard shortcuts are bound to the SOL0 command.
Ctrl+Home
Moves the cursor to the beginning of the file.
By default, this keyboard shortcut is bound to the SOF command.
RightArrow
Ctrl+L
Moves the cursor right one character.
By default, these keyboard shortcuts are bound to the RightD command.
Ctrl+RightArrow
Moves the cursor to the next word.
By default, this keyboard shortcut is bound to the Word command.
Green Hills Software
373

Appendix C. Default Key and Mouse Bindings
End
Ctrl+E
Moves the cursor to the end of line.
By default, these keyboard shortcuts are bound to the EOL command.
Ctrl+Enter
Moves the cursor to the beginning of the next line.
By default, this keyboard shortcut is bound to the EOL; RightD command.
Ctrl+End
Moves the cursor to the end of the file.
By default, this keyboard shortcut is bound to the EOF command.
Ctrl+G
Prompts for a new line number to go to.
By default, this keyboard shortcut is bound to the EditLine command.
Ctrl+Tab
Cycles through open file buffers forward.
By default, this keyboard shortcut is bound to the CyclePushBack command. For more
information about the command, see “View Commands” on page 366.
Ctrl+Shift+Tab
Cycles through open file buffers backward.
By default, this keyboard shortcut is bound to the CyclePush command. For more information
about the command, see “View Commands” on page 366.
Opening, Saving, and Closing
The following keyboard shortcuts are used to open, save, and close files. For more
information about the commands, see “File Commands” on page 342.
Ctrl+O
Opens a file in the current window.
By default, this keyboard shortcut is bound to the OpenFile command.
Ctrl+N
Opens a file in a new Editor window.
By default, this keyboard shortcut is bound to the LoadFileWithNewEditor command.
374
MULTI: Managing Projects and Configuring the IDE

Undo/Redo
Ctrl+Shift+O
Opens a file in a new Editor window or in the current Editor window, depending on the current
setting of the openFilesinNewBuffers option (see “The MULTI Editor Options Tab”
on page 221).

By default, this keyboard shortcut is bound to the LoadFile command.
Ctrl+S
Saves the current file.
By default, this keyboard shortcut is bound to the Save command.
Ctrl+Shift+S
Saves the current file.
By default, this keyboard shortcut is bound to the SaveAs command.
Ctrl+Shift+Q
Saves the current file, then closes the window.
By default, this keyboard shortcut is bound to the Done command.
Ctrl+Q
Closes the current window.
By default, this keyboard shortcut is bound to the Close command.
Undo/Redo
The following keyboard shortcuts are used to undo and redo edits. For more
information about the commands, see “Undo/Redo Commands” on page 363.
Ctrl+Z
Reverts the last edit.
By default, this keyboard shortcut is bound to the Undo command.
Ctrl+Y
Reverts the last undo.
By default, this keyboard shortcut is bound to the Redo command.
Green Hills Software
375

Appendix C. Default Key and Mouse Bindings
Cutting, Copying, and Pasting
The following keyboard shortcuts are used to copy, cut, and paste text to and from
clipboards. For more information about the commands, see “Clipboard Commands”
on page 336
.
Ctrl+X
Cuts the selected text to the clipboard.
By default, this keyboard shortcut is bound to the Cut1 command.
Ctrl+Shift+X
Cuts the selected text to the second buffer.
By default, this keyboard shortcut is bound to the Cut2 command.
Alt+Ctrl+(Windows only)
Meta+Ctrl+(Linux/Solaris only)
Cuts the selected text to the third buffer.
By default, these keyboard shortcuts are bound to the Cut3 command.
Alt+Ctrl+Shift+(Windows only)
Meta+Ctrl+Shift+(Linux/Solaris only)
Cuts the selected text to the fourth buffer.
By default, these keyboard shortcuts are bound to the Cut4 command.
Ctrl+C
Copies the selected text to the clipboard.
By default, this keyboard shortcut is bound to the Copy1 command.
Ctrl+Shift+C
Copies the selected text to the second buffer.
By default, this keyboard shortcut is bound to the Copy2 command.
Alt+Ctrl+(Windows only)
Meta+Ctrl+(Linux/Solaris only)
Copies the selected text to the third buffer.
By default, these keyboard shortcuts are bound to the Copy3 command.
376
MULTI: Managing Projects and Configuring the IDE

Deleting Text
Alt+Ctrl+Shift+(Windows only)
Meta+Ctrl+Shift+(Linux/Solaris only)
Copies the selected text to the fourth buffer.
By default, these keyboard shortcuts are bound to the Copy4 command.
Ctrl+V
Pastes from the clipboard.
By default, this keyboard shortcut is bound to: if <noselection> { if <select1=lines> { if
<col=sol> {} else {Down;SOL0} }} Paste1
.
Ctrl+Shift+V
Pastes from the second buffer.
By default, this keyboard shortcut is bound to: if <noselection> { if <select1=lines> { if
<col=sol> {} else {Down;SOL0} }} Paste2
.
Alt+Ctrl+(Windows only)
Meta+Ctrl+(Linux/Solaris only)
Pastes from the third buffer.
By default, these keyboard shortcuts are bound to: if <noselection> { if <select1=lines> { if
<col=sol> {} else {Down;SOL0} }} Paste3
.
Alt+Ctrl+Shift+(Windows only)
Meta+Ctrl+Shift+(Linux/Solaris only)
Pastes from the fourth buffer.
By default, these keyboard shortcuts are bound to: if <noselection> { if <select1=lines> { if
<col=sol> {} else {Down;SOL0} }} Paste4
.
Deleting Text
The following keyboard shortcuts are used to delete text. For more information
about the commands, see “Text Deletion Commands” on page 360.
Backspace
Deletes the previous character or the selection.
By default, this keyboard shortcut is bound to the Backspace command.
Green Hills Software
377

Appendix C. Default Key and Mouse Bindings
Ctrl+Backspace
Deletes the previous word or the selection.
By default, this keyboard shortcut is bound to: if <noselection> { ContinueSelection;
ReverseWord }; Backspace
.
Delete
Ctrl+D
Deletes the next character or the selection.
By default, these keyboard shortcuts are bound to: if <noselection> { ContinueSelection;
RightD }; Delete
.
Ctrl+Delete
Deletes the next word or the selection.
By default, this keyboard shortcut is bound to: if <noselection> { ContinueSelection; Word
}; Delete
.
Ctrl+U
Cuts to the beginning of the current line or the selection.
By default, this keyboard shortcut is bound to: if <searching> { TruncateSearch } else { if
<noselection> { ContinueSelection; SOL }; Cut1 }
.
Ctrl+M
Cuts the current line or the lines in the selection to the first buffer.
By default, this keyboard shortcut is bound to: SelectToLines; Cut1.
Ctrl+P
Joins the current line with the next or the lines in the selection.
By default, this keyboard shortcut is bound to the JoinLines command.
Selecting Text
The following key bindings control how text is selected. For more information
about the commands, see “Selection Commands” on page 356.
Shift+UpArrow
Extends the selection up one line.
By default, this keyboard shortcut is bound to ContinueSelection; Up.
378
MULTI: Managing Projects and Configuring the IDE

Selecting Text
Ctrl+Shift+UpArrow
Extends the selection up multiple lines [default is 5].
By default, this keyboard shortcut is bound to: ContinueSelection; UpSome.
Shift+PageUp
Extends the selection up one screen.
By default, this keyboard shortcut is bound to: ContinueSelection; PageUp.
Shift+DownArrow
Extends the selection down one line.
By default, this keyboard shortcut is bound to: ContinueSelection; Down.
Ctrl+Shift+DownArrow
Extends the selection down multiple lines [default is 5].
By default, this keyboard shortcut is bound to: ContinueSelection; DownSome.
Ctrl+Shift+PageDown
Extends the selection down one screen.
By default, this keyboard shortcut is bound to: ContinueSelection; PageDown.
Shift+LeftArrow
Extends the selection left one character.
By default, this keyboard shortcut is bound to: ContinueSelection; LeftU.
Ctrl+Shift+LeftArrow
Extends the selection to previous word.
By default, this keyboard shortcut is bound to: ContinueSelection; ReverseWord.
Shift+Home
Extends the selection to beginning of line.
By default, this keyboard shortcut is bound to: ContinueSelection; SOL0.
Shift+RightArrow
Extends the selection right one character.
By default, this keyboard shortcut is bound to: ContinueSelection; RightD.
Ctrl+Shift+RightArrow
Extends the selection to next word.
By default, this keyboard shortcut is bound to: ContinueSelection; Word.
Green Hills Software
379

Appendix C. Default Key and Mouse Bindings
Shift+End
Extends the selection to the end of the line.
By default, this keyboard shortcut is bound to: ContinueSelection; EOL.
Ctrl+Shift+Enter
Extends the selection to beginning of next line.
By default, this keyboard shortcut is bound to: ContinueSelection; Return.
Ctrl+A
Selects the entire document.
By default, this keyboard shortcut is bound to: SelectAll.
Searching
The following key bindings are used to control searches. For more information
about the commands, see “Search Commands” on page 355.
Ctrl+F
Starts or continues an incremental search forward.
By default, this keyboard shortcut is bound to the iSearch command.
Ctrl+B
Starts or continues an incremental search backward.
By default, this keyboard shortcut is bound to the BackiSearch command.
Esc
Cancels a search.
By default, this keyboard shortcut is bound to the Abort command.
Ctrl+Shift+F
Opens the Search dialog box.
By default, this keyboard shortcut is bound to the Search command.
Shift+F9 (Windows only)
Shift + F19 (Linux/Solaris only)
Starts an incremental search backwards, then opens the Search dialog box.
By default, these keyboard shortcuts are bound to: BackiSearch; Search.
380
MULTI: Managing Projects and Configuring the IDE

Auto-Completion
Auto-Completion
The following keyboard shortcuts are used to perform auto-completion functions,
even when auto-completion is disabled.
For information about auto-completion commands, see “Auto-Completion
Commands” on page 333.

Ctrl+]
Auto-completes the characters with the next string that matches the pattern.
By default, this keyboard shortcut is bound to the NextAutoCompleteString command.
Ctrl+[
Auto-completes the characters with the previous string that matched the pattern.
By default, this keyboard shortcut is bound to the PrevAutoCompleteString command.
Ctrl+/
Displays a list of matched strings. You can select a string from the list.
By default, this keyboard shortcut is bound to the AutoCompleteList command.
Ctrl+'
Displays a list of matched function prototypes. You can select a function prototype from the
list.
By default, this keyboard shortcut is bound to the AutoCompletePrototypeList command.
Tab
Accepts the string auto-completed by the MULTI Editor, moves the cursor to the end of the
selected text, then clears the selection from the text.
Indenting Text
The following keyboard shortcuts are used to indent your text. For more information
about the commands, see “Indentation Commands” on page 346.
Ctrl+i
Indents the current line or the selection.
By default, this keyboard shortcut is bound to the Indent command.
Green Hills Software
381

Appendix C. Default Key and Mouse Bindings
Ctrl+Shift+i
Unindents the current line or the selection.
By default, this keyboard shortcut is bound to the Unindent command.
Tab
Auto indents the current line or the selection.
By default, this keyboard shortcut is bound to: if <searching> {Tab} else {if <beforenonwhite>
{AutoIndentOrTab} else {if <noselection> {Tab} else {if <HaveUnconfirmedAcString>
{AcceptAcString; MoveToEndOfSelectionAndUnselect} else {AutoIndentOrTab} } } }
.
Version Control
The following keyboard shortcuts are used to access version control options. For
more information about the commands, see “Version Control Commands”
on page 364
.
Ctrl+Shift+L
Opens the MULTI Diff Viewer on the last edit of the current selection.
By default, this keyboard shortcut is bound to the ShowLastEdit command.
Ctrl+Shift+H
Opens a version history browser.
By default, this keyboard shortcut is bound to the ShowHistory command.
Miscellaneous
The following are miscellaneous keyboard shortcuts.
Ctrl+\
Enters the next key press sequence literally.
By default, this keyboard shortcut is bound to the Quote command.
Ctrl+.
Repeats the last command.
By default, this keyboard shortcut is bound to the RepeatLast command.
382
MULTI: Managing Projects and Configuring the IDE

Default Mouse Bindings
Ctrl+Shift+A
When entered in a comment, the comment text will be reformatted to wrap across multiple lines.
By default, this keyboard shortcut is bound to the FillParagraph command.
Ctrl+Shift+R
Inserts a new line at the end of the current line.
By default, this keyboard shortcut is bound to: EOL; InsertNewLine.
Ctrl+Shift+T
Transposes the previous two characters.
By default, this keyboard shortcut is bound to: NoSelection; ContinueSelection; Left; Cut2;
Left; Paste2; Right
.
Ctrl+T
Selects the current word and, if the file has function prototype information and the word is a
function name, opens a new editor on the function.
By default, this keyboard shortcut is bound to: SelectWord; GotoObjDecl -new.
Esc
Cancels the current selection and flashes the line containing the cursor.
By default, this keyboard shortcut is bound to: NoSelection; FlashCursor.
Default Mouse Bindings
The following tables list default mouse bindings. While mouse bindings may be
assigned to up to five mouse buttons, these tables assume that your mouse has only
three buttons: left (button1), middle (button2), and right (button3). For information
about changing mouse bindings, see the mouse command, in “Customizing Keys
and Mouse Behavior” on page 153
.
First (Left) Mouse Button
The following are default mouse bindings for the left mouse button (button1). For
more information about the commands, see “Selection Commands” on page 356.
Left-click
Starts new (primary) selection.
By default, this mouse action is bound to the SelectionStartDrag command.
Green Hills Software
383

Appendix C. Default Key and Mouse Bindings
Left-click + Drag
Selects text for the primary selection
Shift+Left-click
Extends the primary selection to the mouse pointer.
Ctrl+Left-click
Copies selection when in drag-and-drop mode. See “Drag-and-Drop Commands” on page 340.
Double Left-click
Selects the current word.
By default, this mouse action is bound to the SelectWord;SelectionAdjust command.
Triple Left-click
Selects the current line.
By default, this mouse action is bound to the SelectLine;SelectionAdjust command.
Quadruple Left-click
Selects the entire file.
By default, this mouse action is bound to the SelectAll;SelectionGrab command.
Second (Middle) Mouse Button
The following are default mouse bindings for the middle mouse button (button2).
The middle button may not be available, depending on your mouse and the Allow
middle click to paste 
configuration option (for more information see “The MULTI
Editor Options Tab” on page 221).

Middle-click
Makes a secondary selection and replaces it with the primary selection.
Double Middle-click
Replaces a current word with the primary selection.
Triple Middle-click
Replaces a current line with the primary selection.
Quadruple Middle-click
Replaces an entire file with the primary selection.
384
MULTI: Managing Projects and Configuring the IDE

Third (Right) Mouse Button
Third (Right) Mouse Button
The following are default mouse bindings for the right mouse button (button3).
Right-click
Opens the shortcut menu for performing operations on the current object.
Ctrl+Right-click
Edits the definition of the selected procedure when cross reference information is available.
Shift+Double Right-click
Selects a matching curly brace {}, square bracket [], or parenthesis ().
By default, this mouse action is bound to the SelectToMatch command.
Shift+Right-click
If the cursor is located inside of, or immediately outside of, a pair of curly braces {}, square
brackets [], or parentheses (), selects everything inside of and including the curly braces,
square brackets, or parentheses.
Green Hills Software
385


Appendix D
Third-Party Tools
Contents
Third-Party Version Control Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Third-Party Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Using the Editor with Third-Party Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389

Appendix D. Third-Party Tools
This chapter describes how to use various third-party tools with the MULTI Editor.
Note
For information about using third-party compilers, see the documentation
about generating debugging information for applications compiled with
third-party compilers in the MULTI: Building Applications book. For
information about using the MULTI Debugger with third-party tools, see
Appendix D, “Using Third-Party Tools with the MULTI Debugger” in
the MULTI: Debugging book.
Third-Party Version Control Systems
MULTI can be configured to integrate with the following third-party version control
systems:
• ClearCase (see “Integrating with ClearCase” on page 104).
• CVS (see “Integrating with CVS” on page 105.)
• SourceSafe (see “Integrating with SourceSafe” on page 105).
• Subversion (see “Integrating with Subversion” on page 108).
Third-Party Editors
You can configure MULTI to use another editor in place of MULTI's built-in Editor.
To specify an alternate editor, you can either set options using the Other Editor
Configuration 
dialog box or you can use the appropriate configuration options.
For instructions on how to specify an alternate editor, see “Third-Party Editor
Configuration Options” on page 183.

388
MULTI: Managing Projects and Configuring the IDE

Using the Editor with Third-Party Tools
Using the Editor with Third-Party Tools
You can configure the Editor to launch third-party tools from buttons or menus.
The following Editor commands are useful for this purpose:
[command;] (Linux/Solaris only)
Takes the current selection in the Editor, if any, and pipes it to the standard input of the specified
command. If there is a selection in the Editor, the selection is replaced with the output of the
specified command. If there is no selection, the command receives no input, and the output is
inserted at the cursor. This is equivalent to the ExecuteCmd command.
CommandToWindow [command;] (Linux/Solaris only)
Runs a shell command and opens a new Editor window to which the standard output of the
command is redirected.
Shell [command;]
Runs a shell command with no input/output redirection.
For more information about these commands, see Appendix B, “Editor Commands”
on page 329
.
Here is an example configuration file that runs some simple Linux/Solaris
commands:
menu: MyTools { \
{'insert pretty date' ! date "+%l:%M %p on %B %e, %Y"} \
{'count words' CommandToWindow \
"printf %8s%8s%8s%9s\\\\n lines words chars filename ; wc %FILE"}}
menu: EditMenuBar { \
{&File ->EditFile} \
{&Edit ->EditEdit} \
{V&iew ->EditView} \
{&Block ->EditBlock} \
{&Tools ->EditTools} \
{MyTools ->MyTools} \
{&Version ->EditVersion} \
{&Config ->Config} \
{&Windows ->WindowsMenu} \
{&Help ->EditHelp}}
Note
The backslashes at the end of lines indicate a line wrap. In the actual
configuration file, there should not be any line wraps.
Green Hills Software
389

Appendix D. Third-Party Tools
To configure the Editor menus from the GUI, choose Config → Options, choose
the General tab, and click the Menus button.
390
MULTI: Managing Projects and Configuring the IDE

Index
Again key, 363
aiAdaParenindentMode configuration option, 226
aiCharsLikeStarinComment configuration option, 225
aiCommentsStayFlushLeft configuration option, 225
aiimplicitindent configuration option, 224
aiimplicitindentinComments configuration option, 224
aiimplicitOnlyAtinitial configuration option, 224
aiParenindentMode configuration option, 226
aiSwitchinTwo configuration option, 224
aiTouchComments configuration option, 225
alignment, window, 161
Symbols
(see also window docking)
* (asterisk) wildcard character, 303
Allow beeping configuration option, 178
! command, 361, 389
Allow middle click to paste configuration option, 222
-> (minus greater than) menu command, 152
Allow overtype mode configuration option, 223
# (number sign)
AllowAutoCheckout command, 290364
inserting in comments, 225
allowExecutioninBpCommand configuration option, 209
? wildcard character, 303
allowProcCallinExamine configuration option, 209
+line command line option, 74
allowProcCallinOsaTask configuration option, 209
1, 2, 3, 4, 5, 6, 7, 8 menu item, 280
Alt+Ctrl+C keyboard shortcut (Windows), 376
`` '' (quotation marks-double) command, 348
Alt+Ctrl+Shift+C keyboard shortcut (Windows), 377
``any_string'' command, 348
Alt+Ctrl+Shift+V keyboard shortcut (Windows), 377
``s'' (step) and ``n'' (next) are blocking by default
Alt+Ctrl+Shift+X keyboard shortcut (Windows), 376
configuration option, 203
Alt+Ctrl+V keyboard shortcut (Windows), 377
Alt+Ctrl+X keyboard shortcut (Windows), 376
A
AlterLocation command (deprecated), 369
Abort command, 363
AlterMode Editor command, 349
About command, 293346
alternative editor configuration, 183
About MULTI menu item, 293
alwaysUseMeToFixBuildErrors configuration option, 195
About MULTI Project Manager Project Manager menu item,
Application configuration option, 190
267
Application Options tab, 187
AcceptAcString command, 333
application_name menu item, 292
action sequences (see workspace action sequences)
Ask before halting to set breakpoint configuration option,
action tree, 55
198
actions (see workspace actions)
assembly color configuration option, 237
Ada paren mode configuration option, 226
Auto Checkout menu item, 290
adaContinuationSize configuration option, 228
auto indent
adaindentSize configuration option, 228
Ada, 226
Add File after selected file Project Manager menu item, 260
C chars, 225
Add File into selected file Project Manager menu item, 260
C paren, 226
Add Item into selected file Project Manager menu item, 260
comments, 224
Add New Files menu item, 315
comments with multiple lines, 225
adding executables and examples
implicit, 224
Project Manager, 7
overview, 89
address offsets
two levels, 224
save between sessions, 232
Auto indent as you type configuration option, 224
AddStr
Auto indent comments as you type configuration options,
command, 348
224
Advanced Build Project Manager menu item, 264
Auto Indent menu item, 285
Advanced Project Manager menu item, 262
auto-complete
best match, 170, 283

auto-complete (continued)
configuration, 170
key, 360377
enable, 283
Backspace
first match, 170, 283
command, 360
function prototypes, 171
Backward radio button, 302
keyboard shortcuts, 381
bDotColor color configuration option, 237
maximum match, 333
beep
maximum number of objects, 283
command, 368
minimum string, 171
configuration option, 178
minimum string length, 283
Beep when build completes configuration option, 197
Auto-detect configuration option, 196
beepOnBuildCompletion configuration option, 197
auto-detect version control type, 181
best match auto-completion, 170
AutoCompleteList command, 333
bindings
AutoCompletePrototypeList command, 333
key, 372
autoConnectionMode configuration option, 197
mouse, 383
autoDetectNumParallel configuration option, 196
blinkingCursor configuration option, 190
autoDwarf2Dbo configuration option, 205
Block menu, 285
autoEditErrors configuration option, 195
blockRun configuration option, 210
autoEditWarnings configuration option, 195
blockStep configuration option, 203
autoGrabHeadFiles configuration option, 229
Bookmarks menu item, 293
AutoIndent command, 285347
Bookmarks Project Manager menu item, 267
AutoIndentImplicit command, 347
Bookmarks submenu, 293
AutoIndentOrTab command, 347
Both Numbers configuration option, 199
automatic checkout, 112
bpSyntaxChecking configuration option, 202
ClearCase, 185
braces, curly {}, 284
configuration option, 185
brackets, square [], 284
SourceSafe, 185
Break Dot configuration option, 237
Automatically dereference pointers configuration option,
breakColor color configuration option, 237
202
breakpoints
automatically including files
configuration, 212
Project Manager, 23
overwrite scripts, 232
Automatically open editor on errors configuration option,
save between sessions, 231
195
warning, 221
Automatically save 'User Methods' changes configuration
Browse References menu item, 80294
option, 233
Browse References of Selected Object
Automatically save changed connection files configuration
menu item, 284
option, 233
Browse window, 80
Automatically share target connections configuration option,
global scope configuration, 212
197
BrowseObjXRef
Automatically verify ROM image is up-to-date configuration
command, 284
option, 205
BrowseObjXRef command, 366
autoSaveConnectionsinFiles configuration option, 233
browser colors, 219
autoSaveUserConnections configuration option, 233
buffers, 362
autoStabs2Dbo configuration option, 206
copying to, 336
autoVerifyRomSections configuration option, 205
cutting to, 337
pasting from, 338
B
BugReport command, 346
background color configuration option, 236
Build Details window
backgroundMode configuration option, 199
errors, 195
BackiSearch command, 355
progress, 194
Backspace
warnings, 195
392
MULTI: Managing Projects and Configuring the IDE

Build Ignoring Errors selected file Project Manager menu item
Build Ignoring Errors selected file Project Manager menu
CVS Checkout Editor menu item, 308
item, 264
Delete menu item, 311
build mode, setting, 46
Diff with Local Version menu item, 310
Build selected file Project Manager menu item, 264
Diff with Remote Version menu item, 310
Builder options
Edit menu item, 310
default, 34
File menu, 308
inheriting, 45
Filename field, 313
:select, 48
Full Rescan menu item, 308
types, 32
Halt Scan / Update menu item, 308
buildFilesDir configuration option, 234
Local Changes menu item, 309
buildFileSet configuration option, 234
Local Version field, 314
building, 1028 (see Project Manager)
Locked By field, 315
buildType configuration option, 196
menus, 308
buttons
New Window menu item, 308
attaching a menu to, 151
No changes menu item, 309
configuring, 210
Not under VC menu item, 309
toolbar, 294
overview, 114
Place Under VC menu item, 310
C
Remote Changes menu item, 309
C chars aligned like '*' in comments configuration option,
Rescan menu item, 310
225
Resolve Conflict menu item, 310
C paren indent mode configuration option, 226
Revert to Repository menu item, 311
case-sensitive
Roots field, 117
language setting, 167
shortcut menu, 309
searches, 179
Show History menu item, 310
searching, 87, 302
Show menu, 309
change indicator, 296
starting, 115
character color configuration option, 238
Status field, 314
characters, inserting in Editor, 158
Tag field, 314
Check In All menu item, 289
Unlock menu item, 310
Check Out
Update Checkout menu item, 308
menu item, 289
Update menu item, 310
Check syntax of breakpoints when they are set configuration
Checkout Browser Project Manager menu item, 266
option, 202
CheckOut
CheckIn
command, 289, 364
menu item, 289
Clean all output before building (-cleanfirst) Project Manager
CheckIn
menu item, 274
command, 289364
Clean selected file Project Manager menu item, 264
checkout
Clear User Default Configuration, 141
create, 115
menu item, 291
modify, 116
Clear User Default Configuration Project Manager menu
status, 314
item, 266
Checkout Browser
clearButtons configuration option, 210
Add menu item, 311
ClearCase version control
Check In menu item, 310
automatic checkout, 185
Check Out menu item, 310
configuration, 103181
Close menu item, 308
integration, 104
Commit menu item, 310
path, 185
Config menu, 309
ClearConfig command, 291, 339
Conflicts menu item, 309
clearEditButtons
configuration option, 229
Green Hills Software
393

clearKeys configuration option
clearKeys configuration option, 190
Command to Window menu item, 288
clearMenus configuration option, 191
command window configuration option, 183
clearMice configuration option, 191
commands
clickPause configuration option, 191
!, 361389
clipboard
`` '' (quotation marks-double), 348
copying to, 336
``any_string'', 348
cutting to, 281337
Abort, 363
keyboard shortcuts, 376
About, 293, 346
manager, 180
AcceptAcString, 333
pasting from, 338
AddStr, 348
clipManLaunch configuration option, 180
AllowAutoCheckout, 290364
close buttons, displaying on toolbar, 178
AlterLocation (deprecated), 369
Close command, 280, 342
AlterMode, 349
Close Dependent Windows menu item, 285
AutoCompleteList, 333
Close Editor menu item, 280
AutoCompletePrototypeList, 333
Close File menu item, 280
AutoIndent, 285, 347
Close menu item, 316
AutoIndentImplicit, 347
Close Project Manager Project Manager menu item, 259
AutoIndentOrTab, 347
Close Project Project Manager menu item, 258
BackiSearch, 355
closeButtonOnTitlebar configuration option, 178
Backspace, 360
CloseDependentWindows command, 285, 367
Beep, 368
CmdPrompt2Wnd command (deprecated), 369
binding, 330
code, indenting, 88
BrowseObjXRef, 284366
Color C++ comments in C configuration option, 238
BugReport, 346
color chooser, 239
CheckIn, 289364
Coloring for multiple debuggers configuration option, 199
CheckOut, 289364
Colors
ClearConfig, 291, 339
choosing, 239
Close, 280, 342
configuration options, 235
CloseDependentWindows, 285367
tab, 235
CmdPrompt2Wnd (deprecated), 369
colorSyntax configuration option, 237
CommandToWindow, 288, 361, 389
column of text
CommentBlock, 285334
copying, 92
ConfigOptions, 291, 339
cutting, 93
configure, 132339
pasting, 93
ConnectByName, 149
command line
ContinueSelection, 357
configuration file, 139
Copy, 281336
script file, 142
CreateLog (deprecated), 369
Command line arguments configuration option, 184
CustomizeMenus, 291340
command line options
Cut, 281337
+line, 74
CyclePush, 283, 367
-diff, 74
CyclePushBack, 283367
file, 74
Date, 287, 348
-h, 75
debugbutton, 145
-help, 75
DebugByName, 149
-new, 75
Delete, 281
-reuse, 75
DelUnconfirmedAcString, 334
-showhistory, 75
DiffFiles, 288361
-usage, 75
Discard, 289364
command line options, gpatch, 174
Done, 342
Command pane prompt configuration option, 200
DosFormat, 342
394
MULTI: Managing Projects and Configuring the IDE

commands (continued)
Down, 350
OpenFile, 278343
DownSome, 350
OpenProjectByName, 150
DrawWrapLine, 367
OpenText (deprecated), 369
editbutton, 145
PageDown, 352
EditLine, 351
PageSetup, 279, 343
Editor, 330
PageUp, 352
EditorFlags, 283, 342
Paste, 281338
EditOtherByName, 149
PlaceUnderVC, 289365
EnterInsertMode, 350
PrevAutoCompleteString, 334
EOF, 351
PreventAutoCheckout, 290, 365
EOL, 351
Print, 279, 344
ExecuteCmd, 287361
Project Manager, 149
ExecuteCommandOnSelected, 150
QuerySaveAll, 279344
ExecuteShellCommandOnSelected, 150
QuerySaveCheckinAll, 289365
FileProperties, 280342
Quit, 280344
FlashCursor, 351
quotation marks-double (`` ''), 348
GenerateXrefInfo, 284, 367
Quote, 350
GetSelectedString, 357
RectCopy1, 286, 338
GetSelection, 357
RectCut1, 286338
Goto, 351
RectPaste1, 286339
GotoObjDecl, 284, 368
Redo, 281363
GotoObjDef, 284, 368
RegenerateXrefInfo, 284368
Grep, 287, 362
RepeatLast, 281, 363
Help, 293346
Return, 353
Identify, 293346
ReverseWord, 353
identifying for keys or mouse clicks, 346
Revert, 279344
if, 360
RevertDate, 290, 365
Indent, 285347
RevertHistory, 290365
InsertFile, 286348
RevertToBackup, 279, 365
InsertNewline, 348
RevertVersion, 291366
iSearch, 355
Right, 353
issuing manually, 330
RightD, 353
JoinLines, 286335
RightSome, 353
LanguageOptions, 283, 343
Save, 278, 344
Left, 351
SaveAll, 344
LeftSome, 352
SaveAs, 278345
LeftU, 352
SaveConfig, 291340
LineD, 352
SaveConfigToFile, 292340
LoadConfigFromFile, 292340
Search, 282356
LoadFile, 343
SecondarySelectAll, 357
LoadFileWithNewEditor, 278, 343
SecondarySelectionAdjust, 357
LoadModuleByName, 150
SecondarySelectionExtend, 357
LowerCaseBlock, 286335
SecondarySelectionReplace, 358
MergeFiles, 288, 362
SecondarySelectionReplaceClip, 358
Minibuffer, 288, 362
SecondarySelectionStart, 357
MoveCursor, 352
SecondarySelectLine, 357
MoveToEndOfSelection..., 334
SecondarySelectWord, 357
MultiBar, 287362
SelectAll, 282358
NextAutoCompleteString, 334
SelectionAdjust, 358
NextWindow, 368
SelectionDrop, 341
NoSelection, 337357
SelectionExtend, 358
Green Hills Software
395

commands (continued)
SelectionGrab, 358
Config menu, 291
SelectionStart, 358
ConfigOptions command, 291, 339
SelectionStartDrag, 341
configuration
SelectionStartDragAdd, 341
alternative editor, 183
SelectLanguage, 282, 345
commands (see configuration options)
SelectLine, 286358
options, 176
SelectMatch, 358
(see also configuration options)
SelectRange, 359
configuration (.cfg) files, 134, 137
SelectToLines, 359361
format, 139
SelectToMatch, 284359
loading, 140
SelectWord, 359
user, 134
Shell, 362, 389
configuration file
ShowContextMenu, 363
global, 137
ShowHistory, 290366
user, 138
ShowLastEdit, 290, 366
configuration options
ShowView, 366
``s'' (step) and ``n'' (next) are blocking by default, 203
SOF, 353
Ada paren mode, 226
SOL, 354
adaContinuationSize, 228
SOL0, 354
adaindentSize, 228
SOL1, 354
aiAdaParenindentMode, 226
SOLSecondary, 359
aiCharsLikeStarinComment, 225
StopSearch, 356
aiCommentsStayFlushLeft, 225
strings of, 362
aiimplicitindent, 224
Tab, 349
aiimplicitindentinComments, 224
ToggleReadOnly, 284345
aiimplicitOnlyAtinitial, 224
ToggleWritePermission, 279, 345
aiParenindentMode, 226
TruncateSearch, 356
aiSwitchinTwo, 224
UnCommentBlock, 285335
aiTouchComments, 225
Undo, 280364
Allow beeping, 178
Unindent, 285, 347
allowExecutioninBpCommand, 209
Up, 354
allowMiddleClick, 222
UpperCaseBlock, 285335
allowOvertypeMode, 223
UpSome, 354
allowProcCallinExamine, 209
UserName, 349
allowProcCallinOsaTask, 209
VCBuffer, 366
alwaysUseMeToFixBuildErrors, 195
Word, 355
Application, 190
CommandToWindow command, 288, 361, 389
Ask before halting to set breakpoint, 198
Comment menu item, 285, 294
assembly color, 237
CommentBlock command, 285, 334
Auto indent as you type, 224
comments, 90
Auto indent comments as you type, 224
color configuration, 238
Auto-detect, 196
inserting in code, 90
autoConnectionMode, 197
Comments stick flush left configuration option, 225
autoDetectNumParallel, 196
Commit
autoDwarf2Dbo, 205
menu item, 289
autoEditErrors, 195
Commit Changes dialog box, 119
autoEditWarnings, 195
menus, 315
autoGrabHeadFiles, 229
comparing files, 98
Automatic Checkout, 185
Compatibility configuration option, 189
Automatically dereference pointers, 202
Compile selected file Project Manager menu item, 263
Automatically open editor on errors, 195
compiling (see building)
Automatically save 'User Methods' changes, 233
396
MULTI: Managing Projects and Configuring the IDE

configuration options (continued)
Automatically save changed connection files, 233
Context Arrow color, 237
Automatically share target connections, 197
Continue running script files on error, 202
autoSaveConnectionsinFiles, 233
continuePlaybackFileOnError, 202
autoSaveUserConnections, 233
Control Area color, 236
autoStabs2Dbo, 206
cppCommentsinC, 238
autoVerifyRomSections, 205
Create backup files when saving, 222
background color, 236
Criteria to decide if a task is in a group, 208
backgroundMode, 199
cTextSize, 210
bDotColor color, 237
Ctrl+cursor jump size, 223
beep, 178
cursor blinking, 190
Beep when build completes, 197
Custom, 196
beepOnBuildCompletion, 197
customized color, 238
blinkingCursor, 190
deadCode color, 238
blockRun, 210
Debug server timeout in seconds, 207
blockStep, 203
debugButton, 210
bpSyntaxChecking, 202
Debugger, 198
Break Dot color, 237
Debugger child windows, 200
breakColor color, 237
Debugger Colors, 237
buildFilesDir, 234
debugServersDir, 235
buildFileSet, 234
debugServerSet, 234
buildType, 196
defaultNpwDir, 196
C chars aligned like '*' in comments, 225
deleteDeadTaskFromGroup, 204
C paren indent mode, 226
derefPointer, 202
character color, 238
diffHighlight color, 239
Check syntax of breakpoints when they are set, 202
Diffview Colors, 239
clearButtons, 210
Directory memory, 233
clearEditButtons, 229
Disable activation follows focus, 189
clearing, 141
Disable all grouping, 188
clearKeys, 190
Disable all window management, 188
clearMenus, 191
Disable geometry caching, 189
clearMice, 191
Disable grouping in KDE, 189
clickPause, 191
disAsmStyle, 191
clipManLaunch, 180
Display all numbers/characters as hex, 199
closeButtonOnTitlebar, 178
Display close (x) buttons, 178
Color C++ comments in C, 238
Display typedef type instead of basic type, 203
Coloring for multiple debuggers, 199
displayConnectionType..., 197
colors, 235
Do Not Color, 199
colorSyntax, 237
Docking Distance, 188
Command line arguments, 184
Docks to, 190
Command pane prompt, 200
Does not dock to, 190
command window, 183
Double indent size when indenting body of switch, 224
comment color, 238
downloadWindow, 210
Comments stick flush left, 225
dragAndDrop, 223
Compatibility, 189
drawWrapLine, 229
Configure Debugger Buttons, 201
echoCommandsFrom..., 211
Configure Editor, 181
editButton, 230
Configure Editor Buttons, 223
editHeight, 228
Configure Version Control, 181184
editincrFrequency, 228
configureFile, 191
editindent, 223
Connection Organizer Colors foreground color, 239
Editor, 180
containerSizeincrement, 208
editorBackups, 222
Green Hills Software
397

configuration options (continued)
editParenMatch, 230
Ignore/Run Away, 207
editPrint2Column, 227
ignoreMotion, 192
editSomeSize, 223
implicitEvalEcho, 213
editWidth, 227
Increment to maximum container size, 208
Emacs Editor, 180
Indent comments when indenting multiple lines, 225
Enter spaces in place of tabs, 222
Indent size, 223
Escape restores view after iSearch, 179
Initial height in characters, 228
escHalts, 204
Initial position (XxY), 201
exactCase, 179
Initial width in characters, 227
execFilesDir, 234
interleavedOutput, 213
execFileSet, 234
Interval to refresh Task Manager, 207
Executables/Binaries:, 234
iSearchReturn, 179
Execute tools at low priority (-nice), 197
keybind, 153, 183
extEditor_Choice, 180
Keys, 183
extEditor_EmacsArgumentFormat, 184
keyword color, 238
extEditor_EmacsPath, 183
Launch clipboard manager, 180
extEditor_EmacsUseCmd, 183
leaveTypeDef, 203
extEditor_EmacsUseXTerm, 184
lineNumberMode, 199
extEditor_OtherArgumentFormat, 184
linesNonOverlapped, 213
extEditor_OtherPath, 183
Load Color Scheme, 236
extEditor_OtherUseCmd, 183
Location of VC binary, 185
extEditor_OtherUseXTerm, 184
longjmpStepMode, 207
extEditor_ViArgumentFormat, 184
Match exact case in searches, 179
extEditor_ViPath, 183
maxContainerDisplaySize, 208
extEditor_ViUseCmd, 183
Maximize Step Speed, 207
extEditor_ViUseXTerm, 184
Maximum initial size (WxH), 201
File line #, 237
maxViewSize, 201
file relative line numbers, 199
menu command, 151
fileRelLineBg, 237
menuDelay, 193
fillParagraphColumn, 229
Menus, 182
firstPosition, 201
Minimize Temp Stops, 207
focusOnRaise, 191
Minimum initial size (WxH), 201
font, 182
minViewSize, 201
foreground color, 236
Mode, 186
formatStringMaxDepth, 211
moon, 179
formatStringMaxLength, 211
More Color Options, 238
Generate auto-recover file every x seconds, 228
More Debugger Options, 201
genFilesDir, 234
More Editor Options, 223
genFileSet, 234
Mouse, 182
geometry, 211
mouse command, 153
Global Colors, 236
MULTI Editor, 180
globalHeading, 212
multiiconPreName, 193
gotoHitsBpAtTargetAddress, 212
multiWinPreName, 193
grabTimeout, 192
No Number, 199
GUI Font, 182
noDecoration, 193
guiFont, 182
number color, 238
hexMode, 199
Number of parallel processes, 196
history, 212
numberSeparator, 193
hoverValues, 200
numParallelBuildProcesses, 196
iconGeometry, 212
On warnings, 195
iconify, 192
Only auto indent when typing first character in line, 224
398
MULTI: Managing Projects and Configuring the IDE

configuration options (continued)
Open build details window, 194
Selection color, 236
openFilesinNewBuffers, 222
selectionMarginWidth, 228
osaExplorerRefreshTargetList, 213
serverPollinterval, 207
osaSwitchToUserTaskAutomatically, 214
serverTimeout, 207
osaTaskAutoAttachLimit, 214
setBpAtAdrinitWhenExecing, 216
other editor, 180, 183
setting, 132
overwriteScriptBreakpoints, 232
with configure command, 132
paddedHex, 214
with Options window, 132
Parallel Build, 196
sharedSymbols, 216
Path to Editor, 183
shellConfirm, 217
Per File Settings Defaults, 227
Show locations of variables for ``print'' command, 203
per session, 230
Show tool commands (-commands), 197
Phase of moon in scroll bar box, 179
Show tooltips, 178
pointerColor color, 237
Show variable values in tooltips, 200
prepareAllCores, 215
showAddress, 203
Pressing Esc halts the target when connected, 204
showGrepCommand, 193
Print 2 columns if landscape orientation is selected, 227
showPosinNoDisplayMode, 203
printCommand, 180
showProgress, 194
Proc line #, 237
showVersionControl, 235
procedure relative line numbers, 199
silentlyReloadSymbols, 217
procQualifiedLocalimplies..., 215
Single-Thread Build, 196
procRelativeLines, 198
Source Code Font, 182
procRelLineBg, 237
sourceFilesDir, 234
Project directory root, 196
sourceFileSet, 234
Project Manager, 194
SourceSafe database location, 185
prompt, 200
Spaces per indent for Ada, 228
promptQuitDebugger, 208
startedConnectionFg color, 239
quietTogCmd, 215
Status message color, 237
recordCommented..., 216
Stepping over longjmps, 207
Remember base addresses (e.g. _TEXT), 232
stepToBpignores..., 218
Remember last connect command used for process, 232
string color, 238
rememberBaseAddrs, 232
synchronous, 194
rememberBreakpoints, 231
syntax color settings, 238
rememberDirs, 233
Syntax Coloring, 237
rememberWindowPositions, 178
tabsAreSpaces, 222
requestOsaPackage, 204
tabSize, 223
Restored breakpoints overwrite breakpoints set by scripts,
targetWindowSwitchViewOnBpHit, 218
232
Taskbar Organizer, 185
Reuse Data Explorer, 206
taskbarGotoLastWindow, 187
Reuse editor windows, 222
taskbarShowAllWindows, 187
Root of checkout, 185
taskbarType, 186
runRcScripts, 216
taskMatchCriteria, 208
Save arguments between sessions, 231
tbTypeBg, 219
Save data explorers between sessions, 230
tbTypeFg, 219
Save window positions and sizes, 178
tempFileDir, 227
saveCommandHistory, 230
toolCommands, 197
saveDebuggerWindowPos, 231
tooltips, 178
saveDebugServer, 232
Translate DWARF debugging information, 205
saveRunArguments, 231
Translate stabs debugging information, 206
saveViewWindows, 230
unifyViewWindows, 206
saving changes to, 134
Use Color Offsets, 199
Green Hills Software
399

configuration options (continued)
Use command window, 183
command, 132, 339
Use lock files (-lockout), 196
Configure Debugger Buttons configuration option, 201
Use MULTI Editor on errors, 195
Configure Editor Buttons configuration option, 223
Use Preset Colors, 199
Configure Editor configuration option, 181183
Use procedure relative line numbers (vs. file relative),
Configure Project Manager menu item, 259
198
Configure Version Control configuration option, 181184
Use XTerm, 184
configureFile configuration option, 191
useFileRelLineBg, 237
configuring existing items
useLockFiles, 196
Project Manager, 24
useLowPriority, 197
Connect Project Manager menu item, 264
useProcRelLineBg, 237
ConnectByName command, 149
User Directories, 234
connecting
useWmPositioning, 194
to target, 10
verifyHalt, 198
connection chooser, display connection type, 197
versCtrl_ClearCaseAuto..., 185
connection method, save, 232
versCtrl_ClearCasePath, 185
Connection Organizer Colors configuration option, 239
versCtrl_CvsPath, 185
Connection Organizer Project Manager menu item, 265
versCtrl_SourceSafeAuto..., 185
containerSizeincrement
versCtrl_SourceSafeDatabase, 185
configuration option, 208
versCtrl_SourceSafePath, 185
Context Arrow configuration option, 237
versCtrl_SourceSafeRoot, 185
Continue running script files on error configuration option,
versCtrl_SubversionPath, 185
202
Version Control, 181
continuePlaybackFileOnError configuration option, 202
versionControlType, 181
ContinueSelection command, 357
vi Editor, 180
Contract Project Project Manager menu item, 263
viewDef, 220
controlColor color configuration option, 236
viewsAreChildrenMode, 200
conventions
viewUnsignedCharAsint, 199
typographical, xvi
warnOnBpReplacement, 221
copy
warnOnCmdAdrLine..., 221
column of text, 92
warpPointer, 180
keyboard shortcuts, 376
When pressing Alt-Tab, display, 187
Copy
When selecting the organizer in the Alt-Tab list, 187
key, 336
Window, 190
menu item, 281293
window docking, 188189
Copy
Windows, 183
command, 281, 336
wordWrap, 228
Copy selected file as Link Project Manager menu item, 261
wrapColumn, 228
Copy selected file Local Project Manager menu item, 261
wrapindent, 229
Copy1, Copy2, Copy3, Copy4 commands, 336
XTerm, 184
cppCommentsinC configuration option, 238
Configuration Project Manager menu item, 266
Create Auto-Include Subproject
configure
Project Manager menu item, 262
at startup, 140
Create backup files when saving configuration option, 222
buttons, 210
Create Checkout, 115
colors, 239
CreateLog command (deprecated), 369
during a session, 140
Criteria to decide if a task is in a group configuration option,
file extensions, 172
208
indents, 89
cross reference, 78
MULTI, 132134291
cTextSize configuration option, 210
(see also configuration options)
Ctrl key, 341
configure
Ctrl+* keyboard shortcut, 285319334
400
MULTI: Managing Projects and Configuring the IDE

Ctrl+' keyboard shortcut
Ctrl+' keyboard shortcut, 381
Ctrl+UpArrow keyboard shortcut, 354372
Ctrl++ keyboard shortcut, 285, 335
Ctrl+V keyboard shortcut, 281, 338, 339, 377
Ctrl+/ keyboard shortcut, 381
Ctrl+W keyboard shortcut, 354, 373
Ctrl+0 (zero) keyboard shortcut, 354373
Ctrl+X keyboard shortcut, 281, 337, 376
Ctrl+; keyboard shortcut, 89
Ctrl+Y keyboard shortcut, 281, 363, 375
Ctrl+[ keyboard shortcut, 381
Ctrl+Z keyboard shortcut, 280, 364, 375
Ctrl+\ keyboard shortcut, 350382
Ctrl+Shift+A keyboard shortcut, 383
Ctrl+] keyboard shortcut, 381
Ctrl+Shift+B keyboard shortcut, 352372
Ctrl+^ keyboard shortcut, 373
Ctrl+Shift+F, 380
Ctrl+cursor jump size configuration option, 223
Ctrl+Shift+C keyboard shortcut, 336376
Ctrl+– keyboard shortcut, 286, 335
Ctrl+Shift+Copy keyboard shortcut, 336
Ctrl+. keyboard shortcut, 281363382
Ctrl+Shift+Cut keyboard shortcut, 337
Ctrl+2 keyboard shortcut, 89285347
Ctrl+Shift+DownArrow keyboard shortcut, 379
Ctrl+A keyboard shortcut, 282358380
Ctrl+Shift+Enter keyboard shortcut, 380
Ctrl+B keyboard shortcut, 83, 355, 380
Ctrl+Shift+F keyboard shortcut, 84282356
Ctrl+Backspace keyboard shortcut, 360378
Ctrl+Shift+G keyboard shortcut, 81, 282, 351
Ctrl+C keyboard shortcut, 281336376
Ctrl+Shift+H keyboard shortcut, 366382
Ctrl+Copy keyboard shortcut, 336
Ctrl+Shift+i keyboard shortcut, 285, 347, 382
Ctrl+Cut keyboard shortcut, 337
Ctrl+Shift+L keyboard shortcut, 366, 382
Ctrl+D keyboard shortcut, 281360378
Ctrl+Shift+LeftArrow keyboard shortcut, 379
Ctrl+Delete keyboard shortcut, 360378
Ctrl+Shift+N keyboard shortcut, 352373
Ctrl+DownArrow keyboard shortcut, 350372
Ctrl+Shift+O, 319
Ctrl+E keyboard shortcut, 351374
Ctrl+Shift+O keyboard shortcut, 343
Ctrl+End keyboard shortcut, 351374
Ctrl+Shift+P keyboard shortcut, 280
Ctrl+Enter keyboard shortcut, 374
Ctrl+Shift+PageDown keyboard shortcut, 379
Ctrl+F keyboard shortcut, 83282355380
Ctrl+Shift+Paste keyboard shortcut, 338
Ctrl+G keyboard shortcut, 82, 282, 351, 374
Ctrl+Shift+Q keyboard shortcut, 342375
Ctrl+H keyboard shortcut, 352373
Ctrl+Shift+R keyboard shortcut, 348383
Ctrl+Home keyboard shortcut, 353, 373
Ctrl+Shift+RightArrow keyboard shortcut, 379
Ctrl+i keyboard shortcut, 285347381
Ctrl+Shift+S keyboard shortcut, 278, 345
Ctrl+J keyboard shortcut, 350372
Ctrl+Shift+T keyboard shortcut, 337, 383
Ctrl+K keyboard shortcut, 354372
Ctrl+Shift+U keyboard shortcut, 285335
Ctrl+L keyboard shortcut, 353373
Ctrl+Shift+UpArrow keyboard shortcut, 379
Ctrl+LeftArrow keyboard shortcut, 353373
Ctrl+Shift+V keyboard shortcut, 338377
Ctrl mouse action, 384
Ctrl+Shift+X keyboard shortcut, 337376
Ctrl+Left-click, 341
curly braces {}, matching, 284
Ctrl+M keyboard shortcut, 286, 361, 378
cursor movement
Ctrl+N keyboard shortcut, 278343374
beginning of next line, 353
Ctrl+O keyboard shortcut, 278319343374
flashing to current line, 283
Ctrl+P keyboard shortcut, 286, 335, 378
keyboard shortcuts, 372
Ctrl+Paste keyboard shortcut, 338
when dialog box opens, 180
Ctrl+Q keyboard shortcut, 280319342375
cursor position, 296
Ctrl+RightArrow keyboard shortcut, 355, 373
Custom configuration option, 196
Ctrl mouse action, 385
customize
Ctrl+S keyboard shortcut, 278, 344, 375
GUI, 143
Ctrl+Shift+O keyboard shortcut, 375
icons, 147
Ctrl+Shift+S keyboard shortcut, 375
keys, 153
Ctrl+Shift+Tab keyboard shortcut, 283367374
menus, 148
Ctrl+T keyboard shortcut, 383
mouse clicks, 153
Ctrl+Tab keyboard shortcut, 283, 367, 374
toolbar buttons, 145
Ctrl+U keyboard shortcut, 360378
Customize Menus menu item, 291
Green Hills Software
401

Customize Menus Project Manager menu item
Customize Menus Project Manager menu item, 267
tab, 198
customized color configuration option, 238
window size and position, 211
CustomizeMenus command, 291, 340
Debugger child windows configuration option, 200
cut
Debugger Colors configuration option, 237
column of text, 93
Debugger commands
keyboard shortcuts, 376
-> (minus greater than) menu command, 152
Cut
configureFile, 191
key, 337
keybind command, 153
menu item, 281, 293
keybind, 183
Cut
mouse command, 153
command, 281337
debugging_window menu item, 292
Cut Lines menu item, 286
debugServersDir configuration option, 235
Cut1, Cut2, Cut3, Cut4 commands, 337
debugServerSet configuration option, 234
CVS Checkout Editor
defaultNpwDir configuration option, 196
menu item, 308
define new language, 164
using, 115
Delete
CVS version control
key, 360378
configuration, 103, 181
keyboard shortcuts, 377
features, 119
menu item, 281
integration, 105, 119
Delete dead tasks from group configuration option, 204
path, 185
Delete
_cwd Launcher variable, 70
command, 281
CyclePush command, 283, 367
Delete selected file Project Manager menu item, 261
CyclePushBack command, 283, 367
deleting text, 281
DelUnconfirmedAcString command, 334
D
derefPointer configuration option, 202
Data Explorer
detail pane, MULTI Launcher, 54
nested structs, 211
dialog boxes
position, 201
cursor movement in, 180
save between sessions, 230
-diff command line option, 74
value length, 211
Diff Selected Files menu item, 316
window format, 220
Diff Viewer
window overlap, 213
menus, 319
window size, 201
opening, 121
database location, SourceSafe, 185
overview, 121
Date command, 287348
starting from the command line, 122
deadCode color configuration option, 238
DiffFiles
Debug Other Executable Project Manager menu item, 265
menu item, 98, 122, 288
Debug selected program Project Manager menu item, 265
DiffFiles
Debug server timeout in seconds configuration option, 207
command, 288, 361
Debug Servers configuration option, 234
diffHighlight color configuration option, 239
debugbutton command, 145
Diffview Colors configuration option, 239
debugButton configuration option, 210
Directory memory configuration option, 233
DebugByName command, 149
directory structure
Debugger
installation, 328
colors, 237
Disable activation follows focus configuration option, 189
configuration options, 198
Disable all grouping configuration option, 188
history, 212
Disable all window management configuration option, 188
panes, 213
Disable geometry caching configuration option, 189
save window position, 231
Disable grouping in KDE configuration option, 189
disable version control, 103181
402
MULTI: Managing Projects and Configuring the IDE

disAsmStyle configuration option
disAsmStyle configuration option, 191
EditLine command, 351
Discard Changes menu item, 289
Editor
Discard command, 289364
auto recover, 228
Display #includes Listing (-H) Project Manager menu item,
commands, 330
275
(see also commands)
Display all numbers/characters as hex configuration option,
configuration option, 180
199
main window, picture of, 77
Display close (x) buttons configuration option, 178
margin width, 228
Display connection type in Connection Chooser configuration
merging three files, 96
option, 197
merging two files, 94
Display typedef type instead of basic type configuration
progress window, 66
option, 203
specifying an alternate, 388
Do Not Color configuration option, 199
Toolbar, 294
Docking Distance configuration option, 188
window size, 227
docking, window (see window docking)
Editor Help menu item, 293
Docks to configuration option, 190
Editor menus
document set, xivxv
Block menu, 285
Does not dock to configuration option, 190
Config menu, 291
Done command, 342
Edit menu, 280
DOS Format
File menu, 278
menu item, 282
Help menu, 293
DosFormat command, 342
Tools menu, 287
Double indent size when indenting body of switch
Version menu, 288
configuration option, 224
View menu, 282
Double Left-click mouse action, 384
Windows menu, 292
Double Middle-click mouse action, 384
Editor Project Manager menu item, 266
Down command, 350
editorBackups configuration option, 222
DownArrow key, 350372
EditorFlags command, 283342
downloading
EditOtherByName command, 149
Hello World, 12
editParenMatch configuration option, 230
downloadWindow configuration option, 210
editPrint2Column configuration option, 227
DownSome command, 350
editSomeSize configuration option, 223
size of, 223
editWidth configuration option, 227
Drag and drop text editing configuration option, 223
Either radio button, 302
DrawWrapLine command, 367
Emacs Editor
drawWrapLine
command line arguments, 184
configuration option, 229
configuration option, 180
path, 183
E
use command window, 183
echoCommandsFrom... configuration option, 211
use XTerm, 184
Edit menu, 280
End key, 351374
Edit Project Manager menu item, 260
Ends line check box, 303
Edit Selected Files menu item, 316
Ends word check box, 303
editbutton
Enter key, 348
command, 145
Enter spaces in place of tabs configuration option, 222
editButton
EnterInsertMode command, 350
configuration option, 230
EOF command, 351
editHeight configuration option, 228
EOL command, 351
editincrFrequency configuration option, 228
errors and warnings
editindent configuration option, 223
always view in MULTI Editor, 195
Esc key, 283, 351, 356, 363, 380, 383
Green Hills Software
403

Escape restores view after iSearch configuration option
Escape restores view after iSearch configuration option, 179
checking in all, 289
escHalts configuration option, 204
checking out, 289
exactCase configuration option, 179
checkout automatically, 290
execFilesDir configuration option, 234
color in browser, 219
execFileSet configuration option, 234
comparing, 98
Execute Editor Commands
differences between, 361
dialog box, 330, 362
discarding changes, 289
menu item, 288
inserting, 286
Execute Shell Command menu item, 287
keyboard shortcuts, 374
Execute tools at low priority (-nice) configuration option,
merging, 93
197
merging three into one, 96
ExecuteCmd command, 287361
merging two into one, 94
ExecuteCommandOnSelected command, 150
opening from the Debugger, 76
ExecuteShellCommandOnSelected command, 150
opening from the Project Manager, 76
Exit All menu item, 280
searching for in project, 30
Exit All Project Manager menu item, 259
switching read/write modes, 279284345
Expand Project Project Manager menu item, 263
version control, 289
extEditor_Choice configuration option, 180
Fill paragraph column configuration option, 229
extEditor_EmacsArgumentFormat configuration option, 184
Filter Project View Project Manager menu item, 263
extEditor_EmacsPath configuration option, 183
Find
extEditor_EmacsUseCmd configuration option, 183
button, 84302
extEditor_EmacsUseXTerm configuration option, 184
key, 356
extEditor_OtherArgumentFormat configuration option, 184
menu item, 84, 282, 301
extEditor_OtherPath configuration option, 183
Find then Replace button, 302
extEditor_OtherUseCmd configuration option, 183
first match auto-completion, 170
extEditor_OtherUseXTerm configuration option, 184
firstPosition configuration option, 201
extEditor_ViArgumentFormat configuration option, 184
Flash selected program Project Manager menu item, 266
extEditor_ViPath configuration option, 183
FlashCursor
extEditor_ViUseCmd configuration option, 183
menu item, 283
extEditor_ViUseXTerm configuration option, 184
FlashCursor
command, 351
F
floating point number form, 169
F1 key, 293346
focusOnRaise configuration option, 191
file chooser
font configuration option, 182
directory memory, 233
Force link (-link) Project Manager menu item, 274
showing version control information, 235
foreground color configuration option, 236
user directories, 234
formatStringMaxDepth configuration option, 211
file chooser dialog box (Linux/Solaris), 297
formatStringMaxLength configuration option, 211
file command line option, 74
Forward radio button, 302
file extensions, 165
Full Paths Project Manager menu item, 263
configuring, 172
Full Rescan, 117
File line # configuration option, 237
function prototypes, 78
File menu, 278
auto-complete, 171
File Names Only Project Manager menu item, 263
automatically grab, 229283
File Number configuration option, 199
display, 171
FileProperties
show, 283
command, 280342
functions, color in browser, 219
fileRelLineBg configuration option, 237
files
G
checking in, 289
gbugrpt utility, 346
404
MULTI: Managing Projects and Configuring the IDE

General Files configuration option
General Files configuration option, 234
dialog box (see Search in Files)
Generate auto-recover file every x seconds configuration
grep
option, 228
command, 86287362
Generate Cross References
licensing, 87
menu item, 80284294
print full command, 193
overview, 80
utility, 287
GenerateXrefInfo command, 284367
grep utility
genFilesDir configuration option, 234
licensing, 32
genFileSet configuration option, 234
grep window (see Search in Files Results window)
geometry configuration option, 211
grouping, window, 161
GetSelectedString command, 357
(see also window docking)
GetSelection command, 357
GUI Font configuration option, 182
global
guiFont configuration option, 182
configuration file, 137
script file, 142
H
Global Colors configuration option, 236
-h command line option, 75
global configuration file, 137
header files, 27
override, 138
Help
global Launcher variables, 69
menu, 293
Global Options tab, 187188
menu in Editor, 293
global script file, 142
-help command line option, 75, 174
globalHeading configuration option, 212
Help
go to a line number, 82
command, 293, 346
Go To Declaration menu item, 79293
hex integers, language support, 169
Go To Declaration of Selected Object
hex values, display, 214
menu item, 284
hexMode configuration option, 199
Go To Definition menu item, 79293
Highlight Selections Project Manager menu item, 263
Go To Definition of Selected Object
History Browser, 120290
menu item, 284
branch, 318
GoTo
comments, 318
dialog box, 81
current tag, 318
Goto
menu, 316
menu item, 81282
opening, 120
GoTo
shortcut menu, 317
command, 351
status, 318
gotoHitsBpAtTargetAddress configuration option, 212
History Browser menu items
GotoObjDecl command, 368
Checkout Browser, 317
GotoObjDecl
Close, 317
command, 284
Diff 2 Versions, 316, 317
GotoObjDef command, 368
Diff with Local Version, 316, 317
GotoObjDef
Edit Local Version, 317
command, 284
Refresh History, 317
gpatch utility program, 174
Revert to, 317
.gpj file extension, 4
Revert to Selected Version, 316
(see also project files)
View, 317
grab function prototypes, 171
View Selected Version, 316
grabTimeout configuration option, 192
history configuration option, 212
Graphically Edit Project Manager menu item, 260
Home key, 354, 373
Green Hills Project Files
host environment Launcher variables, 70
Project Manager, 7
hoverValues configuration option, 200
grep
Green Hills Software
405

iconGeometry configuration option
I
InsertNewline command, 348
-install_patch command line option, 174
iconGeometry configuration option, 212
installation directory structure, 328
iconify configuration option, 192
installing
icons, 294
patches, 174
customizing, 147
INTEGRITY BSP workspaces, creating, 58
naming, 193
interleavedOutput configuration option, 213
size in Debugger, 212
Interval to refresh Task Manager configuration option, 207
IDE_tool menu item, 292
iSearch command, 355
Identify
iSearchReturn configuration option, 179
menu item, 293
Identify
J
command, 293346
identifying boundaries of a block, 91
JoinLines
if command, 331360
menu item, 286
if commands, 360
JoinLines
Ignore build errors (-ignore) Project Manager menu item,
command, 286, 335
275
Ignore dependencies (-allinfo) Project Manager menu item,
K
275
key bindings, clear all, 190
Ignore/Run Away configuration option, 207
-key command line option, 174
ignoreMotion configuration option, 192
key sequences
implicitEvalEcho configuration option, 213
binding commands, 349
Import Commit Log menu item, 315
keybind
Increment to maximum container size configuration option,
command, 153, 372
208
configuration option, 183
incremental search, 83355
keyboard shortcuts
indent
auto-complete, 381
characters, 90
clipboard, 376
configure, 89
copy, cut and paste, 376
keyboard shortcuts, 381
Ctrl+*, 285, 334
text, 88
Ctrl++, 285
text, automatically, 89
Ctrl++ (Ctrl + plus), 335
Indent
Ctrl+., 281, 363
menu item, 285, 294
Ctrl+0 (zero), 354
Indent comments when indenting multiple lines, 225
Ctrl+2, 285, 347
Indent
Ctrl+;, 347
command, 285347
Ctrl+\, 350
Indent size configuration option, 223
Ctrl+^,
index.gmb configuration file, 60, 67
Ctrl+A, 282358
index.gsc configuration file, 164
Ctrl+B, 355
Initial height in characters configuration option, 228
Ctrl+Backspace, 360
Initial position (XxY) configuration option, 201
Ctrl+C, 281336
Initial width in characters configuration option, 227
Ctrl+D, 281360
Insert Date menu item, 287
Ctrl+Delete, 360
Insert File menu item, 286
Ctrl+DownArrow, 350
insert mode, 350
Ctrl+E, 351
InsertFile command, 286348
Ctrl+End, 351
inserting
Ctrl+F, 282355
comments in code, 90
Ctrl+G, 282351
literal characters, 158
Ctrl+H, 352
406
MULTI: Managing Projects and Configuring the IDE

keyboard shortcuts (continued)
Ctrl+Home, 353
version control, 382
Ctrl+i, 285, 347
keyboard shortcuts (Linux/Solaris)
Ctrl+J, 350
Again, 363
Ctrl+K, 354
L2, 363
Ctrl+L, 353
L4, 364
Ctrl+LeftArrow, 353
Meta+Ctrl+C, 336
Ctrl+M, 286361
Meta+Ctrl+Shift+C, 336
Ctrl+N, 278, 343
Meta+Ctrl+Shift+V, 338
Ctrl+O, 278, 343
Meta+Ctrl+Shift+X, 337
Ctrl+P, 286335
Meta+Ctrl+V, 338
Ctrl+Q, 280, 342
Meta+Ctrl+X, 337
Ctrl+RightArrow, 355
Undo, 364
Ctrl+S, 278344
keyboard shortcuts (Solaris)
Ctrl+Shift+B, 352
Copy, 336
Ctrl+Shift+C, 336
Ctrl+Copy, 336
Ctrl+Shift+F, 282356
Ctrl+Cut, 337
Ctrl+Shift+G, 282351
Ctrl+L10, 337
Ctrl+Shift+H, 366
Ctrl+L6, 336
Ctrl+Shift+i, 285347
Ctrl+L8, 338
Ctrl+Shift+L, 366
Ctrl+Paste, 338
Ctrl+Shift+N, 352
Ctrl+Shift+Copy, 336
Ctrl+Shift+O, 343
Ctrl+Shift+Cut, 337
Ctrl+Shift+P, 280
Ctrl+Shift+L10, 337
Ctrl+Shift+Q, 342
Ctrl+Shift+L6, 336
Ctrl+Shift+R, 348
Ctrl+Shift+L8, 338
Ctrl+Shift+S, 278, 345
Ctrl+Shift+Paste, 338
Ctrl+Shift+T, 337
Cut, 337
Ctrl+Shift+Tab, 283, 367
Find, 356
Ctrl+Shift+U, 285335
L10, 337
Ctrl+Shift+V, 338
L6, 336
Ctrl+Shift+X, 337
L7, 343
Ctrl+Tab, 283, 367
L8, 338
Ctrl+U, 360
L9, 356
Ctrl+UpArrow, 354
Open, 343
Ctrl+V, 281, 338, 339
Paste, 338
Ctrl+W, 354
Shift+Copy, 336
Ctrl+X, 281, 337
Shift+Cut, 337
Ctrl+Y, 281, 363
Shift+Find, 355
Ctrl+Z, 280, 364
Shift+L10, 337
Ctrl+–, 286
Shift+L6, 336
Ctrl+– (Ctrl + minus), 335
Shift+L8, 338
cursor movement, 372
Shift+L9, 355
default, 372
Shift+Paste, 338
delete, 377
keys
File commands, 374
attaching a menu to, 151
indent, 381
Backspace, 360
miscellaneous, 382
customizing, 153
navigating, 372
Delete, 360
search, 380
DownArrow, 350
text selection, 378
End, 351
undo / redo, 375
Enter, 348
Green Hills Software
407

keys (continued)
Esc, 283, 351, 356, 363
merging, 286
F1, 293, 346
selecting, 286
Home, 354
linesNonOverlapped configuration option, 213
identifying command for, 346
linker directives files (.ld)
LeftArrow, 352
Project Manager, specifying with, 21
PageDown, 352
Linux/Solaris
PageUp, 352
file chooser dialog box, 297
RightArrow, 353
printing, 298
specifying actions and locations for, 153
-list command line option, 174
Tab, 347
Load Color Scheme configuration option, 236
UpArrow, 354
Load Configuration menu item, 292
Keys configuration option, 183
Load Configuration Project Manager menu item, 266
keyword color configuration option, 238
Load Module Project Manager menu item, 265
LoadConfigFromFile command, 292, 340
L
LoadFile command, 343
language
LoadFileWithNewEditor command, 278, 343
define new, 164
LoadModuleByName command, 150
definition file, 165
location fields, 295
setting in the Editor, 164
Location of VC binary configuration option, 185
syntax definition file, 166
log file, creating, 365
Language
longjmpStepMode configuration option, 207
menu item, 282
LowerCase menu item, 286
submenu, modifying entries, 165
LowerCaseBlock command, 286335
LanguageOptions command, 283343
Launch clipboard manager configuration option, 180
M
Launch Utility Programs menu item, 248
macros, 141
Launcher menu item, 287
managing your project
Launcher Project Manager menu item, 266
Project Manager, 18
leaveTypeDef configuration option, 203
Manuals menu item, 293
Left command, 351
Manuals Project Manager menu item, 267
Left-click + Drag mouse action, 384
Match exact case in searches configuration option, 179
Left-click mouse action, 383
Match menu item, 284
Left-release mouse action, 341
maxContainerDisplaySize configuration option, 208
LeftArrow key, 352, 373
Maximize Step Speed configuration option, 207
LeftSome command, 352
Maximum initial size (WxH) configuration option, 201
size of, 223
maximum match, 333
LeftU command, 352
Maximum size for container display configuration option,
libraries
208
building with your project, 28
maxViewSize configuration option, 201
linking to, 29
menu
setting options for, 46
customization, 148
License Info menu item, 293
defining, 151
License Info Project Manager menu item, 268
opening, 152
line number field, 296
menu (->) command, 152
Line numbers in source pane configuration option, 199
menu items
LineD command, 352
1, 2, 3, 4, 5, 6, 7, 8, 280
lines
About MULTI, 293
cutting, 286
application_name, 292
inserting, 348
Auto Checkout, 290
joining, 286
Auto Indent, 285
408
MULTI: Managing Projects and Configuring the IDE

menu items (continued)
Bookmarks, 293
Options, 291
Browse References of Selected Object, 284
Page Setup, 279
Check In, 289
Paste, 281
Check In All, 289
Per File Settings, 283
Check Out, 289
Per Language Settings, 283
Clear User Default Configuration, 291
Place Under VC, 289
Close Dependent Windows, 285
Previous File, 283
Close Editor, 280
Print, 279
Close File, 280
Read Only Window, 284
Command to Window, 288
Rect Copy, 92, 286
Comment, 285
Rect Cut, 93, 286
Commit, 289
Rect Paste, 93, 286
Copy, 281
Redo, 281
Customize Menus, 291
Regenerate Cross References, 284
Cut, 281
Repeat Last Edit, 281
Cut Lines, 286
Revert to Backup, 279
debugging_window, 292
Revert To Date, 290
Delete, 281
Revert To History, 290
Diff Files, 288
Revert to Saved, 279
Discard Changes, 289
Revert To Version, 291
DOS Format, 282
Save, 278
Editor Help, 293
Save All, 279
Execute Editor Commands, 288
Save As, 278
Execute Shell Command, 287
Save Configuration As, 292
Exit All, 280
Save Configuration as User Default, 291
File Properties, 280
Search in Files, 287
Find, 282
Select All, 282
Flash Cursor, 283
Show History, 290
Generate Cross References, 284
Show Last Edit, 290
Go To Declaration of Selected Object, 284
Toggle Write Permission, 279
Go To Definition of Selected Object, 284
UnComment, 285
Goto, 282
Undo, 280
IDE_tool, 292
Unindent, 285
Identify, 293
Updatel, 289
Indent, 285
UpperCase, 285
Insert Date, 287
menu
Insert File, 286
command, 151
Join Lines, 286
menuDelay configuration option, 193
Language, 282
Menus
Launch Utility Programs, 248
clear all, 191
Launcher, 287
configuration option, 182
License Info, 293
MergeFiles
Load Configuration, 292
menu item, 288
LowerCase, 286
MergeFiles
Manuals, 293
command, 288, 362
Match, 284
merging files, 93
Merge Files, 288
Meta+Ctrl+C keyboard shortcut, 336376
Misc, 292
Meta+Ctrl+Shift+C keyboard shortcut, 336, 377
New Editor, 278
Meta+Ctrl+Shift+V keyboard shortcut, 338377
Next File, 283
Meta+Ctrl+Shift+X keyboard shortcut, 337376
Open, 278
Meta+Ctrl+V keyboard shortcut, 338, 377
Green Hills Software
409

Meta+Ctrl+X keyboard shortcut
Meta+Ctrl+X keyboard shortcut, 337376
mouse bindings
Middle-click mouse action, 384
clear all, 191
Minibuffer command, 288362
mouse clicks
Minimize Temp Stops configuration option, 207
customizing, 153
Minimum initial size (WxH) configuration option, 201
time between, 191
minimum string length, 171
Mouse
minViewSize configuration option, 201
defining functions for, 153
Misc menu item, 292
MoveCursor command, 352
Mode configuration option, 186
MoveToEndOfSelection... command, 334
Modify Checkout, 116
MULTI Editor
Modify Project Project Manager menu item, 260
configuration option, 180
moon configuration option, 179
tab, 221
More Color Options
(see also Editor)
configuration option, 238
MULTI Integrated Development Environment (IDE)
dialog box, 238
configuring, 132, 134
More Debugger Options
configuring at startup, 140
button, 202
configuring during a session, 140
configuration option, 201
document set, xv
dialog box, 202
installation directory structure, 328
More Editor Options
MULTI Launcher
configuration option, 223
configuring, 249
dialog box, 227
detail pane, 54
most recently used file list, 295
GUI, 53, 244
mouse
managing running actions, 66
attaching a menu to, 151
menus, 244
default bindings, 383
overview, 52
default functions, 383
shortcuts, editing from, 246
identify commands for, 346
toolbar, 252
ignoring motion of, 192
utilities, 248
Mouse
variables (see MULTI Launcher variables)
command, 153
workspaces, editing from, 246
configuration option, 182
MULTI Launcher variables
mouse actions, 383
creating, 70
Ctrl, 384385
editing, 70
Ctrl+Left-click, 341
overview, 68
Double Left-click, 384
pre-defined, 69
Double Middle-click, 384
referencing, 71
Double-left-click, 359
substitution, 72
Left-click, 341383
types of, 69
Left-click + Drag, 384
MULTI Project Manager Help Project Manager menu item,
Left-release, 341
267
Middle-click, 384
MULTI shortcuts (see shortcuts, MULTI)
Quadruple Left-click, 384
MULTI workspaces (see workspaces)
Quadruple Middle-click, 384
_multi_dir Launcher variable, 70
Quadruple-left-click, 358
_multi_major_version Launcher variable, 70
Right-click, 363385
_multi_micro_version Launcher variable, 70
Shift, 384385
_multi_minor_version Launcher variable, 70
Shift+Right-click, 284, 359
MultiBar command, 287362
Triple Left-click, 384
multiiconPreName configuration option, 193
Triple Middle-click, 384
multiWinPreName configuration option, 193
Triple-left-click, 358
410
MULTI: Managing Projects and Configuring the IDE

navigating
N
osaSwitchToUserTaskAutomatically configuration option,
214
navigating
osaTaskAutoAttachLimit configuration option, 214
keyboard shortcuts, 372
other editor
navigating files, 78
command line arguments, 184
-new command line option, 75
configuration option, 180
New Editor menu item, 278
path, 183
New Top Project Project Manager menu item, 258
use command window, 183
New Window Project Manager menu item, 259
use XTerm, 184
Next File menu item, 283
overtype mode, 223
NextAutoCompleteString command, 334
overwriteScriptBreakpoints configuration option, 232
NextWindow command, 368
No Number configuration option, 199
P
noDecoration configuration option, 193
Normal radio button, 303
paddedHex configuration option, 214
NoSelection command, 337, 357
Page Setup menu item, 279
-nouninstall command line option, 174
PageDown
number color configuration option, 238
key, 352373
Number of parallel processes configuration option, 196
PageDown
numberSeparator configuration option, 193
command, 352
numParallelBuildProcesses configuration option, 196
PageSetup command, 279, 343
PageUp
O
key, 352372
PageUp
On warnings configuration option, 195
command, 352
Only auto indent when typing first character in line
Parallel Build configuration option, 196
configuration option, 224
parallel build mode, setting, 46
Only remove intermediate output (-leave_output) Project
parentheses, pause for matching, 230
Manager menu item, 274
paste
Open
column of text, 93
key, 343
keyboard shortcuts, 376
menu item, 278
Paste
Open build details window configuration option, 194
key, 338
Open New Editor Window menu item, 294
menu item, 281293
Open Project Project Manager menu item, 258
Paste
Open Reference BSP Project Project Manager menu item,
command, 281, 338
258
Paste selected file as Link Project Manager menu item, 261
OpenFile command, 278, 343
Paste selected file Local Project Manager menu item, 261
openFilesinNewBuffers configuration option, 222
Paste1, Paste2, Paste3, Paste4 commands, 338
opening a file
patches, installing, 174
from the Debugger, 76
Path to Editor configuration option, 183
from the Project Manager, 76
paths, formatting, 29
OpenProjectByName command, 150
Per File Settings
OpenText command (deprecated), 369
dialog box, 300
Options
menu item, 283
configuration (see configuration options)
Per File Settings Defaults configuration option, 227
menu item, 291
Per Language Settings menu item, 283
window, 132
Phase of moon in scroll bar box configuration option, 179
Options Project Manager menu item, 267
PlaceUnderVC command, 289365
OSA
pointerColor color configuration option, 237
package prompt, 204
pre-defined Launcher variables, 69
osaExplorerRefreshTargetList configuration option, 213
Green Hills Software
411

prepareAllCores configuration option
prepareAllCores configuration option, 215
configuration options, 194
Preprocess selected file Project Manager menu item, 264
configuring existing items, 24
Pressing Esc halts the target when connected configuration
Connect menu, 264
option, 204
creating a new project, 4
PrevAutoCompleteString command, 334
Debug menu, 265
PreventAutoCheckout command, 290365
Edit menu, 259
Previous File menu item, 283
File menu, 258
Print
File Shortcut Bar, 268
menu item, 279
Green Hills Project Files, 7
Print 2 columns if landscape orientation is selected
Help menu, 267
configuration option, 227
libraries, 28
Print command configuration option, 180
main window, 17
Print Current View Project Manager menu item, 259
managing your project, 18
Print Expanded Project Project Manager menu item, 259
Options window, 35, 3637, 3839, 4041, 42
Print
searching for options in, 42
command, 279344
setting options in, 32
Print Setup dialog box, 298
settings for stand-alone programs, 21
printing
settings for your project, 20
on Linux/Solaris, 298
starting, 16
Proc line # configuration option, 237
tab, 194
Proc Number configuration option, 199
target resources project, 8
procedure drop-down menu, 295, 296
Target Selector dialog box, 26
procedure relative line numbers
Tools menu, 266
configuration option, 198
Top Project, 8
processes
Utility Program Launcher dialog box, 275
managing, 66
View Menu, 262
procQualifiedLocalimplies... configuration option, 215
Windows menu, 267
procRelativeLines configuration option, 198
Project Manager menu item
procRelLineBg configuration option, 237
Create Auto-Include Subproject, 262
program
Project Manager menu items
script file, 142
About MULTI Project Manager, 267
program script file, 143
Add File after selected file, 260
progress window, 66
Add File into selected file, 260
Project directory root configuration option, 196
Add Item into selected file, 260
project files
Advanced, 262
compatibility across hosts, 29
Advanced Build, 264
editing, 24
Bookmarks, 267
inheriting options in, 45
Build Ignoring Errors selected file, 264
moving items, 25
Build selected file, 264
searching for, 30
Checkout Browser, 266
searching in, 30
Clean all output before building (-cleanfirst), 274
Project Files configuration option, 234
Clean selected file, 264
Project Manager
Clear User Default Configuration, 266
adding executables and examples, 7
Close Project, 258
Advanced Build window, 274
Close Project Manager, 259
automatically including files, 23
Compile selected file, 263
Build menu, 263
Configuration, 266
Build Options window, 33272273
Configure, 259
Build Progress window, 47
Connect, 264
building projects, 46
Connection Organizer, 265
commands, 149
Contract Project, 263
412
MULTI: Managing Projects and Configuring the IDE

Project Manager menu items (continued)
Copy selected file as Link, 261
Set Build Macros, 261
Copy selected file Local, 261
Set Build Options, 259
Customize Menus, 267
Set Build Target, 261
Debug Other Executable, 265
Set File Type, 262
Debug selected program, 265
Set Imported Environment Variables, 262
Delete selected file, 261
Set Options in Parent, 262
Display #includes Listing (-H), 275
Show All Views, 263
Edit, 260
Show build without execution (-info), 275
Editor, 266
Show internal commands (-nested_commands), 275
Exit All, 259
Show Options Column, 263
Expand Project, 263
Show Paths, 263
File Names Only, 263
Show Size Column, 263
Filter Project View, 263
Show tool commands (-commands), 275
Flash selected program, 266
Show Type Column, 263
Force link (-link), 274
Simplify All Filenames, 262
Full Paths, 263
Stop after cleaning output (-clean), 274
Graphically Edit, 260
Stop Build, 264
Highlight Selections, 263
Troubleshooting Info, 268
Ignore build errors (-ignore), 275
Undo, 261
Ignore dependencies (-allinfo), 275
Use Utilities, 267
Launcher, 266
View Build Details, 264
License Info, 268
View DoubleCheck Report, 266
Load Configuration, 266
Write Expanded Project to File, 259
Load Module, 265
Project Wizard
Manuals, 267
testing target configuration with, 12
Modify Project, 260
using, 4
New Top Project, 258
projects
New Window, 259
adding files to, 23
Only remove intermediate output (-leave_output), 274
adding headers to, 27
Open Project, 258
adding libraries to, 28
Open Reference BSP Project, 258
building, 46
Options, 267
introduction to, 4
Paste selected file as Link, 261
linking libraries to, 29
Paste selected file Local, 261
moving items in project hierarchy, 25
Preprocess selected file, 264
searching for files in, 30
Print Current View, 259
setting options for, 46
Print Expanded Project, 259
prompt configuration option, 200
Project Manager Help, 267
Prompt for OSA package when package is not found
Rebuild selected file, 264
configuration option, 204
Recent Files, 259
Prompt when exiting Debugger configuration option, 208
Recent Projects, 259
promptQuitDebugger configuration option, 208
Redo, 261
Properties menu item, 280, 294
Relative Paths, 263
Reload Saved Project, 258
Q
Remove selected file, 261
Quadruple Left-click mouse action, 384
Save Configuration As, 266
Quadruple Middle-click mouse action, 384
Save Configuration as User Default, 266
QuerySaveAll command, 279344
Save Project, 258
QuerySaveCheckinAll command, 289365
Search in All Source Files, 262
quietTogCmd configuration option, 215
Search in selected file, 262
Quit command, 280, 344
Search in source file inselected file, 262
Green Hills Software
413

quotation marks-double (`` '') command
quotation marks-double (`` '') command, 348
Restored breakpoints overwrite breakpoints set by scripts
Quote command, 350
configuration option, 232
Return command, 353
R
-reuse command line option, 75
radio button, 303
Reuse Data Explorer configuration option, 206
Read Only Window menu item, 284
Reuse editor windows configuration option, 222
Read-only window indicator, 296
ReverseWord command, 353
Rebuild selected file Project Manager menu item, 264
Revert command, 279344
Recent Files Project Manager menu item, 259
Revert to Backup menu item, 279
Recent Projects Project Manager menu item, 259
Revert To Date menu item, 290
recordCommented... configuration option, 216
Revert To History menu item, 290
Rect Copy menu item, 92, 286
Revert to Saved menu item, 279
Rect Cut menu item, 93, 286
Revert To Version menu item, 291
Rect Paste menu item, 93, 286
RevertDate command, 290, 365
rectangular text section
RevertHistory command, 290365
copying, 286338
RevertToBackup command, 279, 365
cutting, 286, 338
RevertVersion command, 291366
pasting, 286339
Right command, 353
RectCopy1 command, 286338
Right-click mouse action, 363385
RectCut1 command, 286338
RightArrow key, 353373
RectPaste1 command, 286339
RightD command, 353
Redo
RightSome command, 353
menu item, 281
size of, 223
Redo Project Manager menu item, 261
Root of checkout configuration option, 185
Redo
runRcScripts configuration option, 216
command, 281363
referencing
S
Launcher variables, 71
Save arguments between sessions configuration option, 231
Regenerate Cross References menu item, 284, 294
Save command history between sessions configuration
RegenerateXrefInfo command, 284, 368
option, 230
regular expressions, 85
Save command, 278344
in search strings, 303
Save Commit Log menu item, 315
Relative Paths Project Manager menu item, 263
Save Configuration As menu item, 292
Reload Saved Project Project Manager menu item, 258
Save Configuration As Project Manager menu item, 266
Remember base addresses (e.g. _TEXT) configuration option,
Save Configuration as User Default menu item, 291
232
Save Configuration as User Default Project Manager menu
Remember last connect command used for process
item, 266
configuration option, 232
Save data explorers between sessions configuration option,
Remember software breakpoints configuration option, 231
230
rememberBaseAddrs configuration option, 232
Save debugger window position configuration options, 231
rememberDirs configuration option, 233
Save Project Project Manager menu item, 258
rememberWindowPositions configuration option, 178
Save window positions and sizes configuration option, 178
Remove selected file Project Manager menu item, 261
SaveAll
Remove Selected Files menu item, 316
menu item, 279
Repeat Last Edit menu item, 281
SaveAll
RepeatLast command, 281363
command, 344
Replace All button, 302
SaveAs command, 278345
Replace button, 302
SaveConfig command, 291340
Replace Then Find button, 302
SaveConfigToFile command, 292340
repository, 112
saveDebugServer configuration option, 232
414
MULTI: Managing Projects and Configuring the IDE

saveRunArguments configuration option
saveRunArguments configuration option, 231
SelectionAdjust command, 358
saveViewWindows configuration option, 230
SelectionDrop command, 341
scientific notation, 169
SelectionExtend command, 358
script file
SelectionGrab command, 358
command line, 142
selectionMarginWidth configuration option, 228
global, 142
SelectionStart command, 358
program, 142
SelectionStartDrag command, 341
user, 142
SelectionStartDragAdd command, 341
scripts, 141
SelectLanguage command, 282345
Search
SelectLine command, 286358
dialog box, 8384, 301, 302
SelectMatch command, 358
keyboard shortcuts, 380
SelectRange command, 359
Search in All Source Files Project Manager menu item, 262
SelectToLines command, 359, 361
Search in Files, 83, 8688, 304
SelectToMatch command, 284, 359
dialog box, 8386
SelectWord command, 359
menu item, 287
serverPollinterval configuration option, 207
results window, 87, 88304
serverTimeout configuration option, 207
Search in Files dialog box, 30
Session tab, 230
Search in Files Results window, 31
Set Build Macros Project Manager menu item, 261
Search in selected file Project Manager menu item, 262
Set Build Options Project Manager menu item, 259
Search in source files in selected file Project Manager menu
Set Build Target Project Manager menu item, 261
item, 262
Set File Type Project Manager menu item, 262
Search
Set Imported Environment Variables Project Manager menu
command, 282356
item, 262
searching, 83
Set INTEGRITY Distribution menu item, 250, 266
case-sensitive, 87, 179, 302
Set Options in Parent Project Manager menu item, 262
for Builder options, 42
Set u-velOSity Distribution menu item, 250
for files in your project, 30
setBpAtAdrinitWhenExecing configuration option, 216
in all open files, 8386, 88304
setting language, 164
in files, 30
settings for stand-alone programs
incremental, 83
Project Manager, 21
interactive, 83, 84301
settings for your project
tips, 84
Project Manager, 20
with regular expressions, 85303
sharedSymbols configuration option, 216
with Search dialog box, 8384, 301
shell command, 217, 362, 389
with Search in Files dialog box, 86
shell commands
with wildcards, 303
executing, 361
SecondarySelectAll command, 357
shellConfirm configuration option, 217
SecondarySelectionAdjust command, 357
Shift + F19 keyboard shortcut, 380
SecondarySelectionExtend command, 357
Shift mouse action, 385
SecondarySelectionReplace command, 358
Shift+Copy keyboard shortcut, 336
SecondarySelectionReplaceClip command, 358
Shift+Cut keyboard shortcut, 337
SecondarySelectionStart command, 357
Shift+DownArrow keyboard shortcut, 379
SecondarySelectLine command, 357
Shift+End keyboard shortcut, 380
SecondarySelectWord command, 357
Shift+F9 keyboard shortcut (Windows), 380
:select Builder option, 48
Shift+Find keyboard shortcut, 355
select color configuration option, 236
Shift+Home keyboard shortcut, 379
select text keyboard shortcuts, 378
Shift+LeftArrow keyboard shortcut, 379
select version control system, 103
Shift+PageUp keyboard shortcut, 379
SelectAll command, 282, 358
Shift+Paste keyboard shortcut, 338
selecting languages, 282
Shift+RightArrow keyboard shortcut, 379
Green Hills Software
415

Shift+UpArrow keyboard shortcut
Shift+UpArrow keyboard shortcut, 378
SOF command, 353
Shift mouse action, 385
SOL command, 354
Shift mouse action, 384
SOL0 command, 354
shortcut commands
SOL1 command, 354
backward, 30
Solaris/Linux
forward, 30
file chooser dialog box, 297
shortcut menu
printing, 298
Editor, 293
SOLSecondary command, 359
shortcuts, MULTI
Source Code Font configuration option, 182
creating, 67
source files
exporting, 68
setting options for, 46
importing, 68
Source Files configuration option, 234
overview, 52
sourceFilesDir configuration option, 234
saving, 67
sourceFileSet configuration option, 234
Show All Views Project Manager menu item, 263
SourceSafe version control
Show build without execution (-info) Project Manager menu
automatic checkout, 185
item, 275
configuration, 104181
Show History
database location, 185
menu item, 290
integration, 105
Show internal commands (-nested_commands) Project
path, 185
Manager menu item, 275
root of checkout, 185
Show Last Edit menu item, 290, 294
Spaces per indent for Ada configuration option, 228
Show locations of variables for ``print'' command
specify
configuration option, 203
alternate editor, 388
Show Options Column Project Manager menu item, 263
square brackets [], matching, 284
Show Paths Project Manager menu item, 263
startedConnectionFg color configuration option, 239
Show position in non-GUI (-nodisplay) mode configuration
starting the Editor, 74
option, 203
as stand-alone program, 74
Show Size Column Project Manager menu item, 263
from the Build Details window, 76
Show tool commands (-commands) configuration option,
from the command line, 74
197
from the Debugger, 76
Show tool commands (-commands) Project Manager menu
from the Launcher, 75
item, 275
from the Project Manager, 76
Show tooltips configuration option, 178
Starts line check box, 303
Show Type Column Project Manager menu item, 263
Starts word check box, 303
Show variable values in tooltips configuration option, 200
Startup action sequence, 57
Show version control information on file chooser dialog box
startup files, 140, 142
configuration option, 235
status bar, 296
showAddress configuration option, 203
status box, 296
ShowContextMenu command, 363
Status configuration option, 237
showGrepCommand configuration option, 193
Stepping over longjmps configuration option, 207
-showhistory command line option, 75
stepToBpignores... configuration option, 218
ShowHistory command, 290, 366
Stop after cleaning output (-clean) Project Manager menu
ShowLastEdit command, 290, 366
item, 274
showPosinNoDisplayMode configuration option, 203
Stop Build Project Manager menu item, 264
showProgress configuration option, 194
StopSearch command, 356
ShowView command, 366
string color configuration option, 238
silentlyReloadSymbols configuration option, 217
subprojects
Simplify All Filenames Project Manager menu item, 262
setting options for, 46
Single-Thread Build configuration option, 196
Subversion version control
single-thread build mode, setting, 46
configuration, 103181
416
MULTI: Managing Projects and Configuring the IDE

Subversion version control (continued)
integration, 108
ToggleReadOnly command, 284, 345
path, 185
ToggleWritePermission command, 279, 345
synchronous configuration option, 194
toolbar, 294
syntax color settings configuration option, 238
buttons, 294
syntax coloring, 166
customizing, 145
Syntax Coloring configuration option, 237
toolCommands configuration option, 197
syntax definition file, 166
Tools menu, 287
creating, 164
tooltips
enabling and disabling, 178
T
show variable values, 200
Tab
tooltips
key, 347, 381, 382
configuration option, 178
Tab size configuration option, 223
Top Project, 8
Tab
creating, 4
command, 349
Translate DWARF debugging information configuration
tabsAreSpaces configuration option, 222
option, 205
target
Translate stabs debugging information configuration option,
specifying, 26
206
target connections
transpose characters, 337
auto-save, 233
Tree Browser colors, 219
sharing, 197
Triple Left-click mouse action, 384
target resources project, 8
Triple Middle-click mouse action, 384
-target_dir command line option, 174
Troubleshooting Info Project Manager menu item, 268
targets
TruncateSearch command, 356
connecting to, 10
types, color in browser, 219
targetWindowSwitchViewOnBpHit configuration option,
typographical conventions, xvi
218
Taskbar Organizer
U
configuring, 185
UnComment menu item, 285294
menu options, 160
UnCommentBlock command, 285, 335
overview, 159
Undo
taskbarGotoLastWindow configuration option, 187
button, 302
taskbarShowAllWindows configuration option, 187
key, 364
taskbarType configuration option, 186
menu item, 280293
taskMatchCriteria configuration option, 208
Undo Project Manager menu item, 261
tbTypeBg configuration option, 219
Undo
tbTypeFg configuration option, 219
command, 280, 364
Temp file directory configuration option, 227
unifyViewWindows configuration option, 206
text selection keyboard shortcuts, 378
Unindent
third-party tools
menu item, 285
editors with the MULTI environment, 388
Unindent
integrating the editor, 389
command, 285, 347
version control systems, 388
unions, color in browser, 219
working with MULTI, 388
Up command, 354
title bars
UpArrow key, 354372
hide, 193
Update menu item, 289
naming, 193
UpperCase menu item, 285
tog command, 215
UpperCaseBlock command, 285, 335
Toggle Write Permission
UpSome command, 354
menu item, 279
size of, 223
Green Hills Software
417

-usage command line option
-usage command line option, 75
indicator, 296
Use Color Offsets configuration option, 199
location of binary, 185
Use command window configuration option, 183
merging multiple file versions, 288362
Use lock files (-lockout) configuration option, 196
place file under, 289
Use MULTI Editor on errors configuration option, 195
Revert to Date, 114
Use Preset Colors configuration option, 199
Revert to History, 114
Use procedure relative line numbers (vs. file relative)
Revert to Version, 114
configuration option, 198
reverting to backup version, 279
Use Recent Commit Log menu item, 315
reverting to previous version, 114, 290
Use Utilities Project Manager menu item, 267
reverting to previously saved version, 279
Use XTerm configuration option, 184
reverting to specific date, 290
useLockFiles configuration option, 196
reverting to specific version, 291
useLowPriority configuration option, 197
show history, 290
user
show last edit, 113290
configuration file, 138
showing information in file chooser, 235
script file, 142
SourceSafe, 104, 105, 181
user configuration file, 138
Subversion, 103, 181
clearing, 141
supported systems, 102
override, 138
Version Control configuration option, 181
saving, 134
Version menu, 288
User Directories configuration option, 234
versionControlType configuration option, 181
user script file, 142
vi Editor
_user_cfg_dir Launcher variable, 70
command line arguments, 184
UserName command, 349
configuration option, 180
useWmPositioning configuration option, 194
path, 183
Utility Program Launcher, 248
use command window, 183
use XTerm, 184
V
View Build Details Project Manager menu item, 264
variables (see MULTI Launcher variables)
View DoubleCheck Report Project Manager menu item, 266
VCBuffer command, 366
View menu, 282
verifyHalt configuration option, 198
View unsigned char as integer configuration option, 199
versCtrl_ClearCaseAuto... configuration option, 185
viewDef configuration option, 220
versCtrl_ClearCasePath configuration option, 185
viewsAreChildrenMode configuration option, 200
versCtrl_CvsPath configuration option, 185
Visual SourceSafe integration, 106
versCtrl_SourceSafeAuto... configuration option, 185
(see also SourceSafe)
versCtrl_SourceSafeDatabase configuration option, 185
VSS (Visual SourceSafe), 106
versCtrl_SourceSafePath configuration option, 185
(see also SourceSafe)
versCtrl_SourceSafeRoot configuration option, 185
versCtrl_SubversionPath configuration option, 185
W
version control, 102
%w special character, 158
auto-checkout, 112290
warnOnBpReplacement configuration option, 221
auto-detect, 103, 181
warnOnCmdAdrLine... configuration option, 221
CheckIn, 289
Warp pointer configuration option, 180
CheckOut, 289
When pressing Alt-Tab, display configuration option, 187
ClearCase, 103, 104, 181
When selecting the organizer in the Alt-Tab list configuration
configuration options, 184
option, 187
CVS, 103181
wildcards in searches, 303
disabling, 103, 181
window alignment, 161
discard changes, 289
(see also window docking)
enabling, 289
Window configuration option, 190
418
MULTI: Managing Projects and Configuring the IDE

window docking
window docking
Write Expanded Project to File Project Manager menu item,
application configuration options, 189
259
configuring, 187
_ws_file_dir Launcher variable, 70
global configuration options, 188
_ws_file_name Launcher variable, 70
Linux/Solaris limitations, 162
_ws_file_path Launcher variable, 70
overview, 161
_ws_name Launcher variable, 70
window focus, configuring, 163
_ws_working_dir Launcher variable, 70
window grouping, 159161
(see also window docking)
X
window identification number (wid), 158
X-server, 192
window manager
X-window, 194
enabling, 194
XORmacs configuration option, 191
window organization, 159
XTerm configuration option, 184
window positioning, 194
window positions and sizes
saving, 178
Windows configuration option, 183
Windows menu, 292
Word command, 355
Word wrap configuration option, 228
working with comments, 90
workspace action sequences
action tree, 55
creating, 61
deleting, 62
editing, 61
overview, 52
running, 65
Startup, 57
workspace actions
action tree, 55
creating, 63
editing, 63
managing running, 66
overview, 52
running, 65
workspace drop-down menu, 252
workspace Launcher variables, 69
workspaces
changing properties of, 59
creating, 56
drop-down menu for, 252
exporting, 60
importing, 60
INTEGRITY BSP, creating, 58
opening, 61
overview, 52
saving, 60
Wrap column configuration option, 228
Wrap indent offset configuration option, 229
Green Hills Software
419


Document Outline


Last modified October 12, 2025: Initial commit (ddf2e20)