Product
Support
Everything Else
Helix 6.1 & 6.2 — Editing Preferences
Introduction

Some behaviors of OS X Helix applications can be changed by setting preference values. These are semi-documented settings that are mostly designed to aid in the transition from Classic Helix to OS X.

Currently most of these preferences can only be set by editing a preference file directly. A future release will bring all of the preferences into the standard interface.

OS X Helix application preferences are stored in an XML formatted plist named com.qsatoolworks.helixapplication (where application is either server, engine, client, or rade) found in the user's ~/Library/Preferences/ folder.

Editing Preferences the Hard Way

The preference files can be edited with any XML editor. If you have installed Apple's Developer tools, you have their Property List Editor application and double clicking on the Helix Server preference file should launch it automatically. If you have installed the developer tools, we assume you don't need instructions on using Property List Editor.

All OS X installations include the Terminal application (in the Utilities folder), so the following instructions explain how to change preferences using Terminal.

To change a setting, make sure the OS X Helix application is not running, then open the Terminal application (/Applications/Utilities/) and enter a command in this format:
defaults write com.qsatoolworks.helixserver keyword -datatype value
The underlined words must be replaced with appropriate values taken from the chart found in the built-in help for your version of Helix Server. These three values represent the preference to be changed for the word keyword, the type of data required by the preference for the word datatype and the value to set the preference to for the word value.

Note: Keywords are case sensitive! If you enter a value with the wrong case, it will not cause a problem, but the entry has no effect on Helix's behavior.

Editing Preferences the Easy Way

QSA ToolWorks has created a simple AppleScript applet that you can use to edit most of these preferences. You can download it from the ‘Miscellaneous’ section of this page or directly via this link. Updated February 11, 2013: Added HxUseClassicCompensation preference.

To use this tool, quit your Helix application then double click the applet and follow the built-in prompts.

Note: This applet does not check your input to make sure you are entering logical values. If you enter text in a preference that expects an boolean, the applet will not warn you, and Helix may behave unpredictably. (When things go wrong, the Default button restores Helix’s default behavior.) Likewise, if you specify a setting outside a preferences's accepted a range of values, the applet will not complain, and Helix's behavior is unpredictable.

In short: Use this tool with caution and make sure you know what you are doing!

Editable Preferences

Until we are able to add a reasonable user interface, please refer to this page for information on what each does.

Preference Datatype Default Legal Values Description
HxAutoOpenURI None -string URI The path to a file (collection or structure) to automatically open when the Helix application is launched. Note: Prefix path with file:///
HxAutoConnectToURI None -string hostname or IP Address The address of a Helix Server to which Helix Client will attempt a transparent connection when the application is launched.
HxAutoConnectUsername None -string name of a user icon in the collection Default value for the User Authentication dialog, or transparent authentication when a collection is opened (or connected to for Helix Client).
HxAutoConnectPassword None -string A password to use in conjunction with the HxAutoConnectUsername to for transparent authentication.
HxAbortDialogDelay -integer 1000 (msec) 1-? How long before the progress dialog appears for general activity.
Note: Setting this preference to any number less than 1 suppresses these dialogs altogether.
HxFastAbortDialogDelay -integer 1 (msec) 1-? How long before the progress dialog appears for actions that require feedback regardless of how quickly it happens.
Actions included: Post, Import, Export, Delete, Copy Records, Paste Records.
Note: Setting this preference to any number less than 1 suppresses these dialogs altogether.
HxAbortTestInterval -integer 20 (msec) 1-? How often to check if the user canceled.
HxClassicPictureCompatibility -boolean true true/false Forces OS X to operate incorrectly, but match the way Classic works when you have pictures that are recorded at other than 72 ppi. Classic assumes that all pictures are saved at 72 ppi and displays them as such. OS X uses the resolution fields recorded with the picture to determine the proper ppi. With this option off, some pictures appear reduced in OS X Helix, as they are displayed at their true resolution.
HxDefaultBackgroundColor -string 00338855 color name*, 8 digit hex value string The color to shade a defaulted field.
HxInvalidBackgroundColor -string 004444DD color name*, 8 digit hex value strings The color to shade an invalid field.
HxDimHiliteColor -array of strings 7777, 7777, 7777, CCCC 4-4 digit hex value strings. Red, Green, Blue, Alpha The highlight shade on a list that indicates an entry view is about to be opened. May also use color name* or 8 character hex string.
HxStrongHiliteColor -array of strings 0000, 0000, AAAA, 8888 4-4 digit hex value strings The highlight shade on a list that indicates a query has been formed. May also use color name* or 8 character hex string.
HxOffPageAreaColor -string 00C8C8C8 color name*, 8 digit hex value strings The color of the area in a window outside the printable page.
HxPageBoundaryColor -array of strings 0000, 0000, 0000, FFFF 4-4 digit hex value strings The color of the line around the printable page(s).
HxPageNumberCode -string P# Any characters The text string for which the actual page number is substituted.
HxTimeStampAdvance -boolean false true/false Tab to the next field after a Time Stamp command.
HxShadowFilePaths -array of strings none Filepath(s) Where to put the recovery file.
HxRAMJetSize -integer 0 MB 0-1023 Size of Collection buffer. Use the Preferences Interface to set this value.
HxShadowSize -integer 0 MB 0-1023 Size of Recovery File buffer. Use the Preferences Interface to set this value.
HxTotalBufferSize -integer 0 MB 0-1023 Maximum total buffers allowed.
HxClientInfoRefresh -integer 60 (seconds) 0-2147483647 How often to refresh the Client Info window. Setting it to 0 disables refreshing. (The maximum refreshes once every 68 years!)
HxServerInfoRefresh -integer 60 (seconds) 0-2147483647 How often to refresh the Server Info window. Setting it to 0 disables refreshing.
HxCustomHelpPath -string CustomHelp/index.html Location for the Custom Help file, ending with the name (and extension) of help file. Help files must be in a format Help Viewer supports.
HxAutologPath -string Same as Collection Not Yet Implemented. Location for the Session Data Log.
HxAutologPrefix -string Log_ short text string Prefix of Logfile name. If the total length of this prefix plus the collection name exceeds 26 characters, only the first 26 characters are used.
HxAutologSuffix .hlog -string file extension Extension for Logfile name. If the total length of the logfile prefix plus the collection name plus this suffix exceeds 31 characters, only the first 26 characters of the prefix+collection name are used. Do not change this unless you have a compelling reason to do so.
HxAutologging -string Yes Turn Session Logging On/Off
HxLogRecoveryAlert -string Yes Display Dialogs on Recovery
HxDATSize -integer 100 10, 30, 60, 100 Size for the DAT (Dynamic Address Table) manager. Controls some ‘deep code’ that handles memory distribution within Helix. The value stored here is not directly applied: it is cross-referenced to a four level table to choose the correct DAT allocation, so other values are pointless.
HxNextUpdateCheckAt -float n/a 0-? The time (in seconds since Jan 1, 2001) of the next version update check. A CFAbsoluteTime. (Currently forces the About Helix Engine -> Current Version window open.)
HxNextUpdateCheckInterval -float 7200 (seconds) 0-? The number of seconds between update checks. A CFTimeInterval. (Currently opens the About Helix Engine -> Current Version window.)
New in 6.1.3
HxPrintBorderColor -string FFFFFFFF color name*, 8 digit hex value strings The fill color for the space between the page rectangle and the paper rectangle. Default is opaque white (for Classic compatibility). The string is 4 - 2 digit hex values in the range of 00–FF (0-255) concatenated together in this order: alpha, blue, green, red.
HxAdjustPrintScaleIfNeeded -boolean true true/false Turn off the automatic page scaling feature. A template that is sized so that the view requires 2 pages (horizontally or vertically) to print is scaled to fit onto a single page if the scaling is greater than 51%. Setting this to false forces Helix to print based on the Scale setting in Page Setup (100% by default) regardless of the number of pages required.
New in 6.1.4
HxDocumentPath -string path to collection Filepath The path to a folder in which to place exported documents when On Original Path is specified, but the original path can not be resolved. If this path starts with a fore slash (/) it is treated as an absolute path. If it starts with tilde (~) it is relative to the user’s home directory. This path is also used as the working directory for the Open Original & Open Copy commands, as internally stored documents need to be downloaded to a local volume before opening.
New in 6.1.5
HxDisableConnect false -boolean true/false

This was HxDisableVisit in Helix 6.1.5; it has been renamed in 6.1.6.

Re-implements the Classic feature that allows admins to disable the Connect command in the Client application, forcing users to open saved structure files.

Because this is a preference edit, it only disables the machine containing the preferences, but it is retained when a new version is released.

The Classic method (editing HVIS/0) is also supported, enabling distribution of a Connect-disabled Client.

New in 6.1.6
HxSequenceShowNames true -boolean true/false Show name of sequence in sequence progress dialog.
HxSequenceShowSteps false -boolean true/false Show currently executing sequence step in sequence progress dialog.
HxSequenceStepDialog 2 -integer -1 – n Sequence step count threshold before showing the sequence progress dialog. Changing this preference as follows causes the following behavior:
  • n: Show only if the sequence has n or more steps. Most useful for prevent the dialog from showing when a sequence is comprised of a single step. (This is the default state.)
  • 0: Shows as indeterminate instead of steps. The user has no indication as to how long the overall sequence will take.
  • -1: Never show. Suppresses the dialog altogether. However, the generic "processing" dialog may appear after a short interval. (See: HxFastAbortDialogDelay)

    While the ability to suppress the dialog is available, it is discouraged: without a dialog to block user interaction, a sequence can be disrupted by user actions such as closing a view, clicking another view to the foreground, or selecting a menu item. Also, the sequence progress dialog provides a "Cancel" button, so disabling the dialog removes the ability to terminate a sequence before its natural end. This preference setting should not be used unless you trust your users not to disrupt a running sequence.

New in 6.1.10
HxUseFontReduction true -boolean true/false

The ability to completely disable the font reduction algorithm is now available. Data rectangles crop the lower portion of the text if the rectangle is not tall enough for OS X to display the entire character height.

Preference Datatype Default Legal Values Description
New in 6.2
HxAbacusTypeColors 9 arrays of 4 arrays {{19005,32112,43253,52428}, {50462,57015,45219,52428}, {55049,49806,34734,52428}, {43908,41942,45874,52428}, {51117,37355,34734,52428}, {51773,43253,42598,52428}, {45219,50462,51117,52428}, {35389,47841,51117,52428}, {13107,26214,39321,52428}} 0–65535

This preference is an array containing 9 arrays of 4 integers each. Each array contains 4 values that represent the Red, Green, Blue, and Alpha values used to represent each of the datatypes as seen in the sockets and arrows of abacus editor windows. The 9 arrays are in this order {Text, Number, Date, Flag, Picture, Document, FixedPoint, StyledText, Other}. (The ‘other’ color is for relation and template icons, which do not have a type.

Each color can be specified three different ways:

  1. As a hex number where each byte represents a single component, in order: alpha, blue, green, red. (See HxDefaultBackgroundColor for an example.)
  2. As a list of 4 decimal numbers in the range of 0–65535, in order: red, green, blue, alpha.
  3. As a name. The name must match a color name in the wxWidgets color name data base. (See below.) the alpha value is ‘opaque’ when names are used.
HxAbacusBackgroundLevel -integer 60 0–100 The percentage of lightening applied to the abacus datatype color. The background is rendered in a lighter tint based on the value stored here. 0 would be the same color as the final arrow; 100 would be diluted to the point of being white.
HxAllowSubformCropping -boolean false true/false Experimental: This allows a subform’s appearance on a specific template instance to be sized different than the actual subform template. The result is a cropped subform when the instance is smaller than the actual template.
HxAutoHideFontPanel -boolean false true/false Hide the Font panel when it is not applicable and show it when it is. Warning: Showing and hiding the Font Panel causes a huge memory leak in some versions of Mac OS X, so enable this with caution.
HxBusyOverlayColorOne -array of hex strings EEEE EEEE EEEE 6666 4-4 digit hex value strings. Red, Green, Blue, Alpha The busy overlay is a checkerboard pattern that indicates fields that are waiting on data to be displayed. The two colors can be adjusted, including the opacity. (Setting the fourth value to 0000 renders the overlay completely transparent and therefore invisible.)
HxBusyOverlayColorTwo -array of hex strings 8888 8888 8888 6666 4-4 digit hex value strings. Red, Green, Blue, Alpha The busy overlay is a checkerboard pattern that indicates fields that are waiting on data to be displayed. The two colors can be adjusted, including the opacity. (Setting the fourth value to 0000 renders the overlay completely transparent and therefore invisible.)
HxCheckStructureOnOpen -boolean true true/false Run Integrated Structure Checker when collection is opened? Turn this off for collections that take a very long time (or crash) when checking on PowerPC Macs.
HxCheckStructureOnSave -boolean true true/false Run Integrated Structure Checker before saving? Turn this off for collections that take a very long time (or crash) when checking on PowerPC Macs.
HxGraphPaperColor -array of hex strings 0000 0000 8888 3333 4-4 digit hex value strings. Red, Green, Blue, Alpha The color (and opacity) of the graph paper visible in the template editor.
HxGridFontFace -string Lucida Grande fontname Default Font Face to use in Relation/Collection windows. Replaces HFAC/2 resource.
HxGridFontSize -integer 10 1-255 Default Font Size to use in Relation/Collection windows. Replaces HFAC/2 resource.
HxListPageCacheSize -integer 1 0-1024 Number of pages to cache on a list view. Warning: as the cache size goes up, performance goes down.
HxPasteTreeMaxOnOpen -integer 500 0–2147483647 Maximum number of icons to display when the Apply Structure dialog opens. See this technote for more information.
HxTypeRectSelectColor -array of hex strings xxxx xxxx xxxx FFFF 4-4 digit hex value strings. Red, Green, Blue, Alpha The color of the handles displayed when a rectangle is selected. For the word Type in the preference example, substitute {Entry, Label, Group, Repeat, Command, Subform} as desired. Note: setting the fourth value (opacity) to 0000 renders the handles completely transparent and therefore invisible.
HxSCAlwaysDoMaintenance -boolean false true/false Experimental: Perform “minor maintenance” clean ups even when uncorrectable errors are found during a structure check. It may be possible that clearing minor maintenance will allow a subsequent repair that might otherwise not be possible, but it is also possible that doing minor maintenance when there are other problems will make matters worse. Set to true with caution.
HxSCAppendLog -boolean false true/false Debugging: Append the result of the structure check to the log instead of resetting it each time. Warning! Turning this on can result in a large log file over time. Cumulative logs are useful in certain debugging situations.
HxSCShowResourceCounts -boolean false true/false Debugging: The resource counts are internal data that may be helpful in debugging certain situations. There’s no reason to turn this on other than to clutter up your structure check logs.
HxSCMaintenanceDialog -boolean true true/false Display the dialog when a save results in minor maintenance. Set to false to suppress the dialog. Default is true for RADE, false for Engine and Server.
HxTcpUsePort -integer 10860 1024-65535 Specify Client/Server port assignment. Takes precedence over the old PORT resource, which can still be used to handle multiple Servers on one Mac.
HxUseClassicCompensation -boolean false true/false Forces OS X to reposition rectangles on views in a way that aligns them approximately with their positioning in Classic Helix. With this option on, the placement of rectangles on the template will not exactly match the positioning on views.
NSRecentDocumentsLimit -integer 10 1–255 Number of collections to show in the Open Recent menu. (Note: this is an OS X function, so the prefix for this setting is NS (NextStep).
HxAllowRawAccess -boolean false true/false Proprietary: Enables capabilities for customers who have passed collection repair training.
HxUseCoreGraphics -boolean false true/false Incomplete: Turn on OS X CoreGraphics rendering routines. Note: the implementation of CoreGraphics support is incomplete at this time. Do not report crashes or display bugs seen with this preference turned on.
HxSplashScreenDuration -integer 120 1–65535 The number of ticks (60th of a second) the splash screen is displayed on screen
Preference Datatype Default Legal Values Description
6.2 settings that are handled automatically by the GUI…
HxPasteTreeOpenHeight -integer 260 1–2048 Specify the default height of the icon lists in the Apply Structure dialog. This value corresponds to the size (in pixels) of the icon lists, not of the overall dialog.
HxPasteTreeOpenWidth -integer 280 1–2048 Specify the default width of the icon lists in the Apply Structure dialog. See HxPasteTreeOpenHeight for details.
HxInspectorShowing -boolean true true–false Specify whether the Inspector should be open or closed on launch.
HxInspectorFrame -rect {screen.right-320px, screen.top, 320px, screen.height/2} n/a Specify the size and postion of the Inspector when it is opened.
HxElementPanelShowing -boolean true true–false Specify whether the Element Panel should be open or closed on launch.
HxElementPanelFrame -rect {screen.left, screen.top, 180px, screen.height/2} n/a Specify the size and postion of the Element Panel when it is opened.

* In place of a hex string, the following standard color names may be used. When entering a multi-word color name, enclose it in single quotes. (e.g. 'cadet blue'):

aquamarine, black, blue, blue violet, brown, cadet blue, coral, cornflower blue, cyan, dark gray, dark green, dark olive green, dark orchid, dark slate blue, dark slate gray dark turquoise, dim gray, firebrick, forest green, gold, goldenrod, gray, green, green yellow, indian red, khaki, light blue, light gray, light steel blue, lime green, magenta, maroon, medium aquamarine, medium blue, medium forest green, medium goldenrod, medium orchid, medium sea green, medium slate blue, medium spring green, medium turquoise, medium violet red, midnight blue, navy, orange, orange red, orchid, pale green, pink, plum, purple, red, salmon, sea green, sienna, sky blue, slate blue, spring green, steel blue, tan, thistle, turquoise, violet, violet red, wheat, white, yellow, and yellow green.