accelerators.ignoreIfMouseButtonDown	Boolean	true	If set to `true`, any accelerator is ignored while a mouse button is pressed.		false	false	false
accelerators.tabCtrlI	Boolean	false	By default Ctrl+I enters a tab character. SmartGit contains code to prevent this. To use the default behavior (disable SmartGit Ctrl+I code), set this option to `true`.		false	false	false
avatar.cache	String			false	Set this option if you want to use a different directory as cache for the avatar images than the default one (<settings-dir>/gravatar-cache). Note, that the Clear Cache command in the Preferences allows the user to delete all files inside this directory!		true	false	false
avatar.cache.useEmailInFileName	Boolean	false	If this option is set to `true`, the cached image files will use the email - otherwise the hash.		false	false	false
avatar.serverUrl	String	https://www.gravatar.com/avatar/{0}.jpg?s={1}&d=404		false	The URL pattern for requesting the avatar displayed in the Log's *Details View*.\n\n# `{0}` will be replaced by the MD5-hash of the lowercase email\n# `{1}` will be replaced by the avatar size		true	false	false
avatar.serverUrl.click	String	https://www.gravatar.com/avatar/{0}.jpg?s=256		false	The URL pattern for showing the avatar in the Log's *Details View*.\n\n# `{0}` will be replaced by the MD5-hash of the lowercase email\n# `{1}` will be replaced by the avatar size		true	false	false
avatar.size	Integer	64	8	256	To change the size of the avatar image (for existing commits), change this option.		true	false	false
avatar.small.size	Integer	32	8	256	To change the size of the small avatar image (when committing), change this option.		true	false	false
browser.command	String			false	The command used to open an URL in the web browser. The default depends on the used platform and installed applications.		false	false	false
commitMessage.lineFeedSymbol	String	 \u21B2 		false	This is the character that is used when shortening a commit message to a single-line as replacement for line-ending.	log.commitMessage.lineFeedSymbol	true	false	false
commitMessage.mediumLimit	Integer	4096	10	100000	The maximum length for a medium-sized commit message	log.commitMessage.mediumLimit	true	false	false
commitMessage.mediumOnlyTitle	Boolean	false	When reducing a commit message to a medium length, stop at an empty line after non-empty lines.	log.commitMessage.mediumOnlyTitle	true	false	false
commitMessage.shortLimit	Integer	100	10	100000	The maximum length for a short commit message.	log.commitMessage.shortLimit	true	false	false
commitMessage.shortOnlyTitle	Boolean	true	When reducing a commit message to a short length, stop at an empty line after non-empty lines.	log.commitMessage.shortOnlyTitle	true	false	false
compare.ignoreAllWhitespace	Boolean	true	This option determines whether all (selected) or just leading/trailing whitespace (unselected) is ignored. This option only has any influence if a compare tokenizer different from syntax-based is selected.		false	false	false
compare.innerlineChangeMaxDurationInGUIThread	Integer	150			Specifies the maximum amount of time (in milliseconds) which may be spent for the detection of inner-line changes in the GUI thread. If the specified amount of time is not sufficient, the change detection will be postponed to a background thread.		true	false	false
compare.innerlineChangeSmallIdenticalNeighbourhoodSize	Integer	2			The number of equal/changed blocks to consider to the small-area-erasure algorithm.		true	false	false
compare.innerlineChangeThreshold	Integer	50		100	The maximum ratio of changed vs. unchanged tokens (in percent) up to which an inner-line change detection will be performed.		true	false	false
compare.innerlineChangeThresholdMinLines	Integer	3			The minimum size of a block (in lines) which will be considered as significant for the changed vs. unchanged tokens ration.		true	false	false
compare.innerlineChangeThresholdSmallIdenticalDifferent	Integer	5			The minimum amount of different tokens which comprises a surrounding change in which small identical areas may be erased.		true	false	false
compare.innerlineChangeThresholdSmallIdenticalEqual	Integer	3			The maximum amount of equal tokens which may be added to bigger, surrounding change.		true	false	false
compare.innerlineMaxComputationSteps	Integer	1000000		100000000	Specifies the maximum number of computation steps for the token-based diff part (for a single left block vs. right block comparison). Increasing this value may result in a significantly slower UI.	compare.innerLineMaxComputationSteps	true	false	false
compare.innerlineMaxTokens	Integer	1000000			The maximum number of tokens for which inner-changes will be calculated. For a huge number of tokens, the calculation may require significant memory.		true	false	false
compare.skipBinaryComparison	Boolean	false	To disable the comparison of binary files set this option to `true`. This may be useful if you usually have large binary files in your repository. When read, these files may slow down certain views, e.g. the *Changes* view.	compare.skip-binary-comparison	false	false	false
completion.useAltAsModifier	Boolean	false	If this option is set, `Alt+Space` is used as completion shortcut, otherwise `Ctrl+Space`.		true	false	false
completionPopup.tabCompletes	Boolean	false	If `true`, the completion popup also completes when pressing the tab key.		false	false	false
connection.https.trustedFingerprints	String			false	By default, for those HTTPS connections which SmartGit establishes itself (which means connections not established by the Git executable), SmartGit will verify HTTPS server certificates based on known root certificates. If your company has some internal HTTPS management, it may be necessary to explicitly declare certain HTTPS certificates as trusted. This can be done by listing the SHA-fingerprints of the corresponding certificates. Note that these defined trusted certificates will be used by those SmartGit modules where applicable, but not by all SmartGit modules.\n\nIf this property is non-empty, SmartGit will parse its content as comma-separated list of fingerprints which must match the actual fingerprints of the certificate chain. `\\*` can be used as wildcard and will match any fingerprint of a single certificate. If the end of the list has been reached and all fingerprints have been matched, SmartGit will assume an overall match, even if there are additional certificates in the chain. If the list is terminated by `,` and there are additional certificates, SmartGit will fail with a mismatch. Examples:\n\n# `AB:52:D3:E8:F9:D7:E3:5C:1D:B7:20:15:9C:52:EC:65:E3:0C:9E:4B`: first certificate fingerprint must match (it's usually the server's certificate), additional certificates from the chain won't matter\n# `\\*,B7:20:15:9C:52:EC:65:E3:0C:9E:4B:AB:52:D3:E8:F9:D7:E3:5C:1D,`: first certificate can be an arbitrary one, second certificate must match, there must not be additional certificates in the chain\n# `\\*`: every certificate will match. *Be careful! This effectively disables certification validation entirely!*\n\nTo figure out the fingerprints, you may set this property to `foobar`, let SmartGit fail to establish the connection and finally check the log file for the expected fingerprints. Alternatively, you may get the fingerprints from your web brower's certificate information page.		false	false	false
connection.maxRetries	Integer	30			Determines how often a URL connection is tried to open if the host was not found. Especially after the sleep mode it looks like it takes a few moments to get the network ready.		false	false	false
connection.retryDelay	Integer	1000			Determines the delay in milliseconds between different retries in obtaining an URL connection.		false	false	false
controls.keypadCrShouldTriggerDefaultButton	Boolean	false	If this option is set to `true`, pressing the CR (Enter) key on the keypad will trigger the default button. Otherwise it will be treated as CR character.		false	false	false
copyID.copyFull	Boolean	false	Copy ID by default copies the short ID (length configured by core.shortShaLength). To copy the full ID, set this option to `true`.		false	false	false
copyID.useUppercase	Boolean	false	Copy ID by default copies the ID using lowercase characters. To copy with uppercase characters, set this option to `true`.		false	false	false
core.lockFile.acquireRetries	Integer	0		100	Specifies the maximum number of retries to acquire a lock file, like `.git/config.lock`.		false	false	false
core.objects.followSymlinks	Boolean	true	Set to `false` to not follow symlinks in `.git/objects`. Usually you want to follow symlinks, but for certain (network-based) file systems this may be helpful to workaround problems.		false	false	false
core.objects.verifyCRC32	Boolean	false	Set to `true` to make SmartGit verify CRC32 when loading objects from the database. This should only be used for debug-purposes.		false	false	false
core.partialClone.fetchTreesOnDemand	Boolean	false	For partial clones, by default, SmartGit will not fetch missing trees but simply fail for performance reasons. *Warning!* Changing this property to `true` will force to perform these operations but execution time may be extremely long. Instead, it's strongly recommended to re-clone the repository with all trees present.		false	false	false
core.refs.additionalTopLevelRefs	String			false	You can specify a comma-separated list of additional top-level refs which should be processed. However, there is no guarantee that these refs will appear everywhere in the GUI; they may only appear in specific GUI controls. Example: `JIRI\\_HEAD`		true	true	false
core.refs.followSymlinks	Boolean	true	Set to `false` to not follow symlinks in `.git/refs`. Usually you want to follow symlinks, but for certain (network-based) file systems this may be helpful to workaround problems.		false	true	false
core.shortShaLength	Integer	8	4	40	The length of a short commit ID to be used by SmartGit (mainly for displaying).		true	false	false
core.tags.loadDetails	Boolean	true	By default, SmartGit will load and display the tag author and message for annotated tags. For large repositories, this may be expensive. Set this option to `false` to skip loading this information.		true	false	false
debug.log.graph.skipDrawingGraph	Boolean	false	Internal debug property		false	false	false
debug.log.graph.skipDrawingText	Boolean	false	Internal debug property		false	false	false
debug.log.graph.skipPreparingText	Boolean	false	Internal debug property		false	false	false
dialog.buttonsRightAligned	Boolean	false	Configures whether the confirmation buttons in a dialog should be right beside the aborting button.		true	false	false
dialog.forceActive	Boolean	false	Determines whether a modal dialog should be forced to get activated. On certain Linux systems this seems to be necessary, because otherwise it won't get activated automatically.	forceActive.dialog	true	false	false
docktabFolder.drawStyle	Integer	2		3	This option configures how the docking tab folder controls will be shown.		true	false	false
docktabFolder.maxMouseDownUpDistance	Integer	9			This option configures the maximum distance between the mouse down and mouse up event so the latter still will be processed.		true	false	false
filePathMapper.expandTildeToHome	Boolean	false	If `true`, the `~` will be expanded to the user's home directory.		true	false	false
gitimpl.gitReplace	Boolean	true	Set to `false` to disable the 'gitreplace' logic.		true	false	false
investigate.additionTolerance	Integer	1			For the blame, in case of an addition, DeepGit will investigate the specified number of grand parent commits to understand whether the file might have been removed immediately before and in this case continue the blame (instead of considering the file as actually added and finish the blame).		false	false	false
investigate.honorGitConfigEncoding	Boolean	true	Set to `false` to ignore the encoding specified by `gui.encoding` from the Git configuration file(s).		false	false	false
json.enableGzip	Boolean	false	Set to `true` to enable GZIP compression for JSON queries.		false	false	false
log.graph.draw.background	Integer	0			Configures background colors used in the Log graph (Journal). 0 = none, 1 = alternating rows, 2 = alternating columns, 3 = dimmed non-message columns	log.graph.background	false	false	false
log.graph.draw.dotBoldWithInnerHole	Boolean	false	If set to `true` the Log Graph will show 'bold' dots with same inner hole as plain dots.	log.graph.dot.drawBoldWithInnerHole	false	false	false
log.graph.draw.headRefWithTriangle	Boolean	true	If set to `true`, the current branch (HEAD) will be drawn with a triangle. If set to `false`, the branch will be drawn without the triangle.	log.graph.drawHeadRefWithTriangle	false	false	false
log.graph.draw.maxRenameTextLength	Integer	30			Use this system property to specify the maximum length (in characters) which may be used to denote renames. If the default rename text will exceed this limit, a shortened version of the rename text will be displayed.	log.graph.maxRenameTextLength	true	false	false
log.graph.layout.arrowLength	Integer	1	1	4	Specifies the length of the arrow which will be used to denoted distant commits (in number of rows).	log.graph.arrowLength	false	false	false
log.graph.layout.forkRightMost	Boolean	false	Set to `true` to have new connectors fork off to the very right of the Log graph.	log.graph.forkRightMost	false	false	false
log.graph.layout.maxConnectorLength	Integer	100	10		This system property specifies the maximum length a continuous connector in the Log may have; if the length would exceed this limit, SmartGit will use /arrows/.	log.graph.maxConnectorLength	false	false	false
log.graph.layout.preserveConnectorsUntilFork	Boolean	false	Set to `true` to keep connectors alive down to the actual fork commit instead of trying to join to other existing connectors as soon as possible. This may result in graphs which are wider but may be easier to understand.	log.graph.preserveConnectorsUntilFork	false	false	false
log.graph.layout.rectilinearity	Integer	0			This system property affects how straight connectors will be (degree of \"bending\").	log.graph.rectilinearity	false	false	false
log.graph.ref.maxLength	Integer	200			Use this system property to specify the maximum horizontal space (in pixels) which may be occupied by refs in the Log graph. If there are more refs than maximum available space, display will be truncated by an 'N refs' box.	log.graph.maxRefsLength	true	false	false
monospaceFont.name	String			false	The font name that should be used for monospace\\/fixed-width font.		true	false	false
monospaceFont.size	Integer	10	5	40	The font size that should be used for monospace\\/fixed-width font.		true	false	false
navigation.showCommitId	Boolean	true	Specifies whether the *Navigation* view should display the commit ID.		true	false	false
nodecache.maxCachesToKeepInMemory	Integer	0			Specifies the maximum number of node caches (used by Log-related operations) to keep in memory (`0` denotes no limit)\n\nUsually it will be fine to keep all node caches in memory as they do not consume a significant amount of RAM (compared to the rest of SmartGit). If you are working with multiple huge repositories, it may make sense to lower the limit.		true	false	false
nodecache.reflogRoots.followSymlinks	Boolean	true	Specifies whether to follow symlinks in .git/logs directory when collecting reflogs for the nodecache (you should change this property only if requested by our support).		true	false	false
nodeCache.useCommitGraph	Boolean	true	For Log-queries, use Git commit-graphs instead of SmartGit's built-in commit cache implementation.		true	false	false
preferences.font.showFixedWidthOption	Boolean	true	If this option is set to `true`, it will show an option to limit the shown fonts to those with fixed widths.		false	false	false
proxy.timeout.connect	Integer	10000			This specifies the timeout in milliseconds for connecting to a proxy. Proxies are used e.g. by the automatic update mechanism.		true	false	false
proxy.timeout.read	Integer	60000			This specifies the timeout in milliseconds for reading from a proxy. Proxies are used e.g. by the automatic update mechanism.		true	false	false
renameDetection.contentDetectionFileLimit.commit	Integer	200			Specifies the maximum amount of added//removed files for which the expensive, content-related part of Git's rename detection will be performed for entire commits.	renameDetection.contentDetectionFileLimit	false	false	false
renameDetection.contentDetectionFileLimit.singleFile	Integer	2147483647			Specifies the maximum amount of removed files for which the expensive, content-related part of Git's rename detection will be performed when trying to detect the origin of a single file.		false	false	false
renameDetection.core.fileSizeLimit	Integer	1000000000			The detection of renamed files is by default disabled for very large files. Use this option to adjust when a file is considered 'large'. The value should be given in bytes.	core.status.rename.fileSizeLimit	true	false	false
renameDetection.core.maxMatrixSize	Integer	100000000			Under certain circumstances an expensive rename detection matrix has to be built which is limited in size by this system property.	core.status.rename.maxMatrixSize	true	false	false
renameDetection.enabled	Boolean	true	Specifies whether the Git rename detection should be enabled	renameDetection.log.enabled,log.renameDetection.enabled	false	false	false
renameDetection.similarityThreshold	Integer	-1	-1	100	Specifies the minimum required score for two files being considered as renamed:\n# `-1` denotes the internal default\n# `0` will match additions\\/removals regardless of their content\n# `100` will only detect exact matches		false	false	false
selection.backgroundColor.focused	Integer	25		100	This percentage defines the weight of the normal background color (0) and the selection background color (100) to use for the default theme background selection color.		true	false	false
selection.backgroundColor.unfocused	Integer	15		100	This percentage defines the weight of the background color (0) and the foreground color (100) used for the default theme background selection color if unfocused.		true	false	false
styledText.additionalContentChecks	Boolean	false	If configured to `true` additional tests are performed for text editing controls, e.g. file compare. This increases memory consumption and reduced performance.		false	false	false
styledtext.drawEof	Boolean	true	Set to `false` to disable any drawing of line-ending symbols.		false	false	false
styledtext.lineEnding.cr	String	\u2B70	\u2B70,\u23CE,\u240D,\u2B05	false	The symbol used for drawing the old MacOS line-ending (\\\\r).		true	false	false
styledtext.lineEnding.lf	String	\u21B2	\u21B2,\u2936,\u240A,\u2B07	false	The symbol used for drawing the Unix line-ending (\\\\n).		true	false	false
styledText.lineSpacing	Integer	0			This option lets you increase the line spacing for all used styled text controls. Only applies for newly created controls.		false	true	false
styledtext.whitespace.space	String	\u00B7		false	The symbol used for drawing the space character.		true	false	false
styledtext.whitespace.tab	String	\u00BB		false	The symbol used for drawing the tab character.		true	false	false
styledtext.wordCaretMovementType	String	system	system,win,gtk,mac,word-boundaries	true	This option defines how the caret is moved word-wise: system = system default, win = word start (Windows), gtk = left: word or puntuation start, right: word or punctuation end (Linux), mac = left: word start, right: word end (MacOS), word-boundaries = word start and end.		false	false	false
systemtray.enabled	Boolean	false	Set to `true` to show the system tray icon. The system tray might not be available on certain platforms.\n\nOn Linux, the system tray icon might cause problems with Unity desktops.		true	false	false
tabbar.minDragDistance	Integer	4			This value configures how many pixels the mouse needs to be moved to be considered as drag.		false	false	false
table.allowAlternatingRowColorsOnMacOS	Boolean	false	Set this option to `true` to allow alternating row colors on MacOS with a light system theme.		true	false	false
table.copySelectionWithCtrlC	Boolean	true	This option defines whether Ctrl+C or Cmd+C is used for copying selected rows for all table controls.		true	false	false
table.macOs.modifyNavigationKeys	Boolean	true	This option defines whether Home, End, Page Up/Down keys just scroll (`false`) or changes the selection (`true`) for all table controls.		true	false	false
table.scrollToSelection	Boolean	true	By default, the table scrolls to selection, e.g. after resorting. To disable that behavior, set this option to `false`.		false	false	false
taggrouping.groupCanonicalLimit	Integer	10			When mapping refs of a group, this limits the amount of 'concurrent' refs to be managed. Using high values in combination with specific repository structures may become inefficient.		false	false	false
taggrouping.singleLimit	Integer	100			When mapping refs, this limits the amount of 'concurrent' refs to be managed. Using high values in combination with specific repository structures may become inefficient.		false	false	false
tagGrouping.startingRefFormat	String			false	The format how the 'starting' refs will be displayed, either `none`, `short` or `full`.		true	false	false
text.detectUtf8WithoutBOM	Boolean	true	This option defines whether UTF-8 encoded files without BOM should be detected as UTF-8 encoded.		false	false	false
text.detectUtf8WithoutBOM.maxChars	Integer	0			If detection of UTF-8 encoded text files without BOM is enabled, this option configures how much characters are processed. 0 means all characters.		false	false	false
text.maxLineLength	Integer	10000	100	50000	If this line length limit is exceeded, a file is considered binary.	compare.text.maxLineLength	false	false	false
textEditors.syntaxHighlighting	Boolean	true	If `true`, text editors try to show syntax highlighting according to the file name and the configured patterns.		true	false	false
theme.forceDark	Boolean	false	Set to `true` to force a dark theme, independent of your system theme.		true	false	false
toolbar.longClickPopupOnly	Boolean	false	Clicking on a toolbar button with additional drop-down menu only should show the drop-down menu when clicking and holding the mouse button for a moment. A short click on any part of the button will invoke the button's default action.		false	false	false
toolbar.popupLongClickTimeout	Integer	500	100	10000	This is the time in ms necessary after having clicked the toolbar button until the popup shows up.		false	false	false
toolbar.popupSymbol	String	?	\u2304,\u25BC,\u25BD,\u25BE,\u25BF,\u2026,\u02C5	false	The symbol displayed as an indicator for the additional drop-down menu.		true	false	false
tooltip.compactLineLimit	Integer	3	1		If a tooltip has more lines than this property defines, it will show by default only the first line and can be expanded by pressing F1.		false	false	false
tooltip.enabled	Boolean	true	This option allows to disable the multi-line tooltips.		false	false	false
ui.dpiAutoScaling	Boolean	false	This defines whether SWT should handle scaling automatically. Usually this is done on macOS and Linux.		true	false	false
ui.dpiFactor	Integer	1	1	2	By default SmartGit tries to use the right scaling factor depending on the DPI setting of the operating system. On some systems (e.g. Linux), though, this does not work or needs tweaking. With this option you can set the dpiFactor to either `1` (= 100%) or `2` (200%).		true	false	false
ui.fonts.defaultSize	Integer	0		50	This option defined what font size should be used as default. The value `0` means to not override the system default.		true	false	false
ui.fonts.useDefaultAsInfo	Boolean	false	By default, the info font is made a little bit smaller than the default system font. When set to `true`, the default font is also used as the info font.		true	false	false
ui.ignoreColorsIfSelected	Boolean	false	Determines whether items with colored text in tree and table controls should show the foreground color when selected. Default is platform-specific.		true	false	false
ui.speedSearch	Boolean	true	Set to `false` to trigger the search-by-typing in a table or tree control only on Ctrl+Shift+F.		false	false	false
ui.table.sortByMultipleColumns	Boolean	true	By default table columns are sorted by multiple columns in the reverse order of their clicks. To deactivate this feature, set this option to `false`.		false	false	false
ui.tablelike.useImageBuffer	Boolean	false	Specifies whether Table-like components will use image buffers to reduce possibly expensive repaints.		false	false	false
ui.textFields.selectAll	Boolean	true	By default the text in input fields will get selected. To prevent this, set this option to `false`. 		true	false	false
ui.tree.scrollHorizontallyOnReveal	Boolean	false	This option defines whether the tree control will also scroll horizontally if a tree node should be revealed programmatically.		true	false	false
ui.verboseDate.showDayForLastWeek	Boolean	true	For times from the last 7 days, show the week day name.		true	false	false
ui.verboseDate.showOnlyTimeForToday	Boolean	true	For times from today only show the time, no 'Today'.		true	false	false
ui.verboseDate.weekdayFormat	String	EEEE		false	The format pattern used for displaying the week day name. EEEE = fully, E = shortened		true	false	false
ui.window.allowedMonitorOutset	Integer	16			This value configures how many pixels a window might be placed outside the monitor bounds until it will be shifted.		false	false	false
window.forceActive	Boolean	false	Determines whether a new window should be forced to get activated. On certain Linux systems this seems to be necessary, because otherwise it won't get activated automatically.	forceActive.window	false	false	false
