Dialectic Icon

Hidden Defaults

Dialectic offers many options to customize the application to your needs & desires. However, there are a few other preferences that you might want to set that don’t have graphical controls. For these settings, you can use the defaults command line tool from the Terminal.app to set them as you want. Before modifying these settings, always make sure Dialectic is not running while you modify them. For any of the commands listed below, open the Terminal.app and, at the prompt, enter the command (you can copy & paste to make this easier) and press return to set the preference. When you next launch Dialectic, the setting will be implemented.



To permanently enable verbose logging:

 defaults write com.jen.dialectic verboseLoggingEnabled -bool yes
		

and to disable it later:

 defaults write com.jen.dialectic verboseLoggingEnabled -bool no
		

Top



To automatically select Dial Method configurations when you expand the configuration list:

 defaults write com.jen.dialectic dmcOutlineAutoSelectEnabled -bool yes
		

and to disable it later:

 defaults write com.jen.dialectic dmcOutlineAutoSelectEnabled -bool no
		

Top



To see tokens for the number of Dial Method configurations in the configuration list:

 defaults write com.jen.dialectic dmcOutlineTokensEnabled -bool yes
		

and to disable it later:

 defaults write com.jen.dialectic dmcOutlineTokensEnabled -bool no
		

Top



To disable the Location name badge on the icon when run in foreground mode:

 defaults write com.jen.dialectic iconLocationBadgeEnabled -bool no
		

and to re-enable it later:

 defaults write com.jen.dialectic iconLocationBadgeEnabled -bool yes
		

Top



To disable the text scroll in the menu bar when Dialectic is launched (this may save a few seconds at startup):

 defaults write com.jen.dialectic statusItemSUScrollText -bool no
		

and to re-enable it later:

 defaults write com.jen.dialectic statusItemSUScrollText -bool yes
		

Top



If Daylite is set as the lookup source, you can have Dialectic create a new outgoing task with the details of the call in Daylite when you dial:

 defaults write com.jen.dialectic dayliteOutgoingCallLogEnabled -bool yes
		

and to disable it later:

 defaults write com.jen.dialectic dayliteOutgoingCallLogEnabled -bool no
		

Top



To disable the new Daylite task when Daylite is set as the caller ID lookup source and an incoming call is detected:

 defaults write com.jen.dialectic dayliteRingDetectionCallLogEnabled -bool no
		

and to re-enable it later:

 defaults write com.jen.dialectic dayliteRingDetectionCallLogEnabled -bool yes
		

Top



To add a “Dial Selection (Literal)” menu item to the Contextual Menu:

 defaults write com.jen.dialectic literalCMItemEnabled -bool yes
		

and to disable it later:

 defaults write com.jen.dialectic literalCMItemEnabled -bool no
		

Top



To add the separate Recently Dialed Menu and/or Quick Dial Menu to the bottom of the Address Book Menu instead of as separate menus in the menu bar (this will save some precious space in your menu bar), use this command:

 defaults write com.jen.dialectic addSeparateRDNAndQDNToABMenu -bool yes
		

and to disable it later:

 defaults write com.jen.dialectic addSeparateRDNAndQDNToABMenu -bool no
		

Top



By default, when you enable incoming call detection on a modem, Dialectic will try many known initialization strings to attempt to enable caller ID detection for your modem. If you know a specific initialization string that works for caller ID with your modem, you can have Dialectic use that instead of iterating through the other initialization strings (this example shows using “AT+VCID=1”, you can insert any initialization string you want):

 defaults write com.jen.dialectic modemCIDInitString 'AT+VCID=1'
		

and to disable it later:

 defaults delete com.jen.dialectic modemCIDInitString
		

Top



You can also set the default caller ID initialization string for your Bluetooth mobile phone (this example shows using “AT+CLIP=1”, you can insert any initialization string you want):

 defaults write com.jen.dialectic bluetoothCIDInitString 'AT+CLIP=1'
		

and to disable it later:

 defaults delete com.jen.dialectic bluetoothCIDInitString
		

Top



When dialing using the Phlink Dial Method, Dialectic will check to make sure that the Phlink terminal is available to make a new call. This can add a few seconds to dialing. You can disable this check by using this command:

 defaults write com.jen.dialectic checkPhlinkIsFreeBeforeDialing -bool no
		

and to disable it later:

 defaults write com.jen.dialectic checkPhlinkIsFreeBeforeDialing -bool yes
		

Top



With OS X 10.5, Apple introduced a new feature called Spaces, virtual workspaces to which you can assign specific windows or applications. By default, when Dialectic presents a dialog, if Spaces is enabled, this dialog window will be visible in all Spaces. However, if you only want this dialog window to appear in the Space in which Dialectic was launched (or a specific Space specified for Dialectic in the Spaces preferences), you can do so using this command:

 defaults write com.jen.dialectic showDialogsInAllSpaces -bool no
		

and to disable it later:

 defaults write com.jen.dialectic showDialogsInAllSpaces -bool yes
		

Top



Dialectic supports many phones & services. Since Dialectic can even dial devices it doesn’t natively know about (e.g., an IP phone dialed via a URL), there is no way to automatically track call durations for all Dial Methods. To help with this issue, you can enable a preference to display a dialog after each successful call. When you have finished the call, you can dismiss the dialog window and the total duration of the call will be added to the note field of the call log entry. It isn’t fully automatic but it’s a good option for users who need call duration tracking. To enable this feature, use this command:

 defaults write com.jen.dialectic showOutgoingCallDurationDialog -bool yes
		

and to disable it later:

 defaults write com.jen.dialectic showOutgoingCallDurationDialog -bool no
		

Top



Dialectic can listen for incoming calls (by directly monitoring many Bluetooth phones, modems, or being alerted via AppleScript, HTTP server, or other methods) but it can’t automatically monitor the duration of these incoming calls. To help with this issue, you can enable a preference to display a dialog whenever Dialectic detects an incoming call. When you have finished the call, you can dismiss the dialog window and the total duration of the call will be added to the note field of the call log entry. To enable this feature, use this command:

 defaults write com.jen.dialectic showIncomingCallDurationDialog -bool yes
		

and to disable it later:

 defaults write com.jen.dialectic showIncomingCallDurationDialog -bool no
		

Top



When dialing with the Google Voice Dial Method, if you would like to be able to hang up or cancel the current call from the Dialectic interface:

 defaults write com.jen.dialectic allowGVCancel -bool yes
		

and to disable it later:

 defaults write com.jen.dialectic allowGVCancel -bool no
		

Top



By default the hotkeys require at least the Command modifier key (this helps to minimize the chance of accidentally invoking a hotkey simply by tying an unmodified key). If you are sure you don’t need this and want to use hotkeys that don’t require the Command key, use this command:

 defaults write com.jen.dialectic allowsModifierlessHotKeys -bool yes
		

and to disable it later:

 defaults write com.jen.dialectic allowsModifierlessHotKeys -bool no
		

Top



If you would like to have a record of all the requests made of the Dialectic Remote HTTP Server when it is enabled, you can log the incoming requests to a log file with this command:

 defaults write com.jen.dialectic logRemoteHTTPServerRequests -bool yes
		

and to disable it later:

 defaults write com.jen.dialectic logRemoteHTTPServerRequests -bool no
		

When this option is enabled, incoming requests to the Dialectic Remote HTTP Server will be logged to the file “RemoteHTTPServer.log” in the Dialectic Application Support folder (~ is shorthand for your Home folder):

 ~/Library/Application Support/Dialectic/RemoteHTTPServer.log
		

Top



When notifying the Dialectic Remote HTTP Server to an incoming call request via URL, Dialectic attempts to clean the data a little before passing it to the Incoming Call Actions. One of the things it does is to look at the number and check to see if it starts with “0.” If so, it tries to determine the current country (e.g., US, UK, etc.) and then add the proper country code prefix (e.g., “+1” for the US, “+44” for the UK, etc.). If you do not want Dialectic to be helpful in this way, you can disable this feature with this command:

 defaults write com.jen.dialectic remoteHTTPServerCleansLeadingZero -bool no
		

and to re-enable it later:

 defaults write com.jen.dialectic remoteHTTPServerCleansLeadingZero -bool yes
		

Top

Was this page helpful? Were there errors, inaccuracies, or typos?
Could something have been explained better? If so, please let us know. 

Copyright © 2017 JNSoftware LLC. All Rights Reserved.
All other products mentioned are copyright of their respective owners.
No endorsement of or affiliation with any third-party product or service is implied.