FXC Run-time Options


FXC/fsl/linux/run-FXCollaborate
FXC/fsl/windows/run-FXCollaborate.bat

A number of system properties may be specified on the Java command line when starting this client in order to govern various facets of its behavior. The syntax -Dkey=value is used for each such argument. If multiple system property values are specified, the last one in the file will be used as the value for that property. Each key is detailed below, along with its potential values:

General Use:
fxc.autostart.drawing
Boolean specifying whether or not the drawing tool should be automatically started up when FXC comes up. This property is ignored if the client starts out by connecting to a collaborative server, but is used if it does not start off connected to any server, or the server to which it auto-connects is a private server. The default is false.
fxc.drawing.editcancel
Boolean specifying whether or not the drawing tool should cancel any drawing object edits occurring if, while editing, the mouse cursor leaves the FXC display window. The default is false.
fxc.imagedirectory
A text string specifying the location where FXC looks and stores images. Users often have a particular directory where they store external images that they would like to annotate.
fxc.display.smoothing
Controls the smoothness of lines and fonts on FXC's display. A value of true indicates that the display will attempt to smooth lines and fonts; this will generally result in better looking displays, but possibly at the expense of speed. The default is false.
fxc.loopdelay.multiplier
Allows the animation speed to be decreased by the specified multiplier. Intended for slowly changing gif loops sent to the web.
fxc.file.id
String specifying a string to be used by the client when formulating names of files that are to be used for its own purposes (notably saving and restoring of state). Each client on the same machine may want to use different files for these purposes, and this is made possible by specifying a different value for this property when starting each client.

System Logs:
fxc.log.stderr
Indicates which types of log messages should be output to stderr (the standard error channel) . Valid values include any strings consisting of zero or more comma-delineated log type specifiers, the latter being bug, debug, usage, problem, verbose, and event. An empty string indicates that no logging will be performed to stderr. If not specified, it is assumed that all messages are to be logged to stderr.
fxc.log.file
Indicates which types of log messages should be output to a log file located in the subdirectory fsl/data/logs of the directory specified by fxc.home. Valid values include any strings consisting of zero or more comma-delineated log type specifiers, the latter being bug, debug, usage, problem, verbose, and event. An empty string indicates that no logging will be performed to the log file. If not specified, it is assumed that all messages are to be logged to the log file.
fxc.log.individual
Indicates which types of log messages should be output to separate log files, one per each type. For each type of message, the file to which the messages are output is located in fsl/data/logs/ (with being replaced by the message type), a subdirectory of the directory specified by fxc.home. Valid values include any strings consisting of zero or more comma-delineated log type specifiers, the latter being bug, debug, usage, problem, verbose, and event. An empty string indicates that no logging will be performed to type-specific log files. If not specified, no individual log files will be created.

Network Performance:
fxc.transceiver.hostaddress
Specifies the internet address of the host machine upon which the process is running. Generally, Java is able to determine this without any help, but in certain cases (e.g. if the process is being run on a host with multiple IP addresses, or behind a network-address-translating firewall in a situation where it needs to be accessible to processes outside the firewall) it chooses the wrong address and will thus not be able to communicate with other processes. Any valid internet address is allowable. If not given, it defaults to whatever Java thinks is correct.
fxc.transceiver.receiverport
Specifies the port number to be used as the listening port by the transceiver. If not given, this defaults to port 1126. The port cannot be shared with other processes, and thus must be free (not in use by other processes, including FXC processes) on the host machine.
fxc.transceiver.sockettimeout
Specifies the timeout in seconds to be used by sockets created by the transceiver for communication with other transceivers. The longer the timeout, the more time that communication attempts have to complete successfully, but this also means that if a communication attempt fails, it will take longer for the transceiver to realize this and attempt to recover. The default is 15 seconds.
fxc.transceiver.pruneinterval
Specifies the interval in seconds between prunings of state related to transceivers' message recipients that have not been sent any messages for fxc.transceiver.idletimeout or more seconds. The client prunes its transceivers' internal state periodically in order to clean up after any message recipients that no longer seem to be active. Valid values include integers greater than or equal to 60. If no value is given, it defaults to 600 seconds (10 minutes). In general, there is no need to specify a value for this property.
fxc.transceiver.throughput
Specifies the minimum throughput, in bytes per second, that the transceiver should expect when transmitting data to other transceivers. The default is 20,000 bytes per second; this should be altered if expected transmission rates are lower or higher than this, since if the rate is specified as lower than it actually is, it may result in unnecessarily long timeouts when communication fails, while too high a specified rate means that communication may fail unnecessarily because a timeout occurs before a successful transmission of data completes.
fxc.transceiver.idletimeout
Specifies the amount of time in seconds that a transceiver's message recipient must not be sent any messages before it is considered fair game for pruning. The value given must be at least 60; if not specified, it defaults to 1200 (20 minutes). As with fxc.transceiver.pruneinterval, there is no need to specify a value for this property.