Preferences File (V1.1)

The preferences file contains data that are read upon opening wfview. The contents are saved upon pressing the Save Settings button under Settings.

These data include settings for the program’s appearance, radio connection, window position, and more. Editing this file is not recommended; do so at your own risk, and only if you need to do so.

Accessing:

The preference file may be accessed as follows:

macOS: Use the defaults command, specifying the org as org.wfview.org

Linux: Read the plain text file from ~/.config/wfview/wfview.conf

Windows: Configuration is stored in the Windows Registry under “HKEY_CURRENT_USER\SOFTWARE\wfview\wfview”. Please be careful when editing the Windows Registry as incorrect usage of the regedit.exe utility can seriously damage your Windows installation. DO NOT change anything outside the registry key above unless you know what you are doing!

Preference File Sections and Attributes:

Each section is as follows (note that the qt library does not allow these to be ordered and they may appear in any order):

[Controls]

These options are from options under the Settings tab:

  • EnablePTT: Set to ‘true’ or ‘false’ to enable or disable the PTT controls of wfview. Does not change the radio’s own PTT lock controls.
  • NiceTS: Set to ‘true’ or ‘false’ to enable or disable the frequency rounding that can occur when tuning the frequency or double-clicking in the spectrum.

[Interface]

Most of these options are from checkboxes under the Settings tab:

  • DrawPeaks: Set to ‘true’ or ‘false’ to enable or disable the peak plot behind the spectrum plot
  • ConfirmPowerOff: Boolean value to disable the “Are you sure you want to power off” dialog box.
  • ConfirmExit: Boolean value to disable the “Are you sure you want to quit?” dialog box
  • StylesheetPath: Set to the path of a custom stylesheet, relative to /usr/share/wfview/stylesheets
  • UseDarkMode: Set to ‘true’ or ‘false’ to set the dark mode option for the spectrum and waterfall plot areas
  • UseFullScreen: Set to ‘true’ or ‘false’ to enable full screen on startup.
  • UseSystemTheme: Set to ‘true’ or ‘false’ to enable or disable using the system’s theme (versus a stylesheet — included or user-added)
  • splitter: The position of the draggable plot-to-waterfall splitter. Probably best not to edit this by hand.
  • windowState: The state of the window (position and maximized status)
  • windowGeometry: The location and size of the window. Remove this variable and the one above if you have difficulty seeing the wfview window, this will restore the default.
  • WFAntiAlias: boolean for waterfall anti-alias
  • WFInterpolate: boolean for interpolation between the waterfall data points and the pixels on the screen
  • WFLength: length of waterfall display. Values should be from 160 to 1023.
  • Meter2Type: Selected type of meter for the secondary meter. Integers represent the meter number per the enumerated types in the source code.

[Radio]

These options are specific to serial port access:

  • RigCIVuInt: Use this parameter to manually set the CI-V address of the radio, in unsigned integer format. If set, wfview will not broadcast a request for all radios to identify, instead, it will send a rig ID request only to the specified CI-V address. This is useful if you have a radio that does not respond to broadcast queries on the CI-V bus, or, if you have more than one radio on the same physical CI-V bus (very rare in the post-USB-adapter decades). If unset or set to 0, wfview will automatically find any connected radio (regardless of if that radio is a known model) and attempt to control it. The default value is 0, and is recommended for most users.
  • CIVisRadioModel: Boolean value. When set to “true” causes wfview to assume the radio model is the same as the manual set CI-V above. For older radios that do not answer Rig ID queries, supply the default CI-V address above and then set this parameter to true.
  • SerialPortBaud: Use this attribute to specify a custom baud rate, often needed on older radios. The default is 115200, required by the newer radios that provide spectrum data over serial.
  • SerialPortRadio: Use this attribute to specify a custom path to the serial port. This can be used, for example, to specify a pseudo-terminal if you are using socat to forward serial traffic from a remote host. If unset, or set to “auto”, wfview will automatically find directly-connected supported Icom radios on the linux platform. On other platforms, it will attempt to use the first available serial port.
  • localAFgain: Unsigned char (0-255) used to store the user’s local AF gain (volume). Does not change the volume at the radio, just how loud it sounds at the computer.
  • VirtualSerialPort: String path to the virtual pseudo-terminal created for other programs to use as a serial port.

[Server]

These options are for the built-in OEM-compatible server, useful for placing non-ethernet rigs onto a network.

  • ServerEnabled: true/false whether to enable wfview’s internal server which emulates an Icom rig and allows multiple clients to connect. This is still quite experimental
  • ServerControlPort: The UDP port that clients will make an initial connection to.
  • ServerCivPort: The UDP port that the server announces to clients, 50002 is the default.
  • ServerAudioPort: The UDP port that the server announces to clients, 50003 is the default.
  • ServerNumUsers: The number of users currently configured.
  • ServerUsername_x, ServerPassword_x, serverUserType_x: contain the user information.

[LAN]

These options are for configuring the network access to radios that either have built-in network, are connected to a PC running Icom’s software, or are connected to a host running wfview with the above [Server] enabled.

  • EnableLAN: true or false to enable LAN connection to the radio (rather than USB)
  • AudioInput: Name of audio input device, this is best set via the Settings tab as it must be spelled exactly
  • AudioOutput: Name of audio output device, this is best set via the Settings tab as it must be spelled exactly
  • AudioRXCodec: This is the receive codec that is sent to the radio, 0x01 = single channel uLaw, 0x02 = single channel 8bit PCM, 0x04 = single channel 16bit PCM, 0x08 is two channel 8bit PCM, 0x10 is two channel 16bit PCM and 0x20 is two channel uLaw. It is anticipated that other modes, potentially including compression will be added at some point for wfview-wfview communications.
  • AudioTXCodec: This is the receive codec that is sent to the radio, 0x01 = single channel uLaw, 0x02 = single channel 8bit PCM, 0x04 = single channel 16bit PCM. It is anticipated that other modes, potentially including compression will be added at some point for wfview-wfview communications.
  • AudioRXLatency: Use this to specify the number of milliseconds of latency to be allowed in RX.
  • AudioTXLatency: Use this to specify the number of milliseconds of latency to be allowed in TX.
  • AudioRXSampleRate: This is the sample rate to tell the radio to use for RX audio. 48000 is the default but 8000, 16000 and 24000 are also available. Any other rate will likely be rejected by the radio. Smaller sample rates will reduce the required network bandwidth but may reduce quality.
  • AudioTXSampleRate: This is the sample rate to tell the radio to use for TX audio. 48000 is the default but 8000, 16000 and 24000 are also available. Any other rate will likely be rejected by the radio. Smaller sample rates will reduce the required network bandwidth but may reduce quality.
  • ClientName: This will usually be the “name” of your computer but can be replaced with any other name. This cannot be changed from within wfview, so must be changed by manually editing the file/registry entry.
  • ControlLANPort: This is the “control” port that wfview will use to communicate with the radio and defaults to 50001. Any other required ports are configured by the radio.
  • EnableRigCtlD: true or false to enable an emulation of rigctld within wfview. This is highly experimental and currently only supports a small subset of rigctld commands. This is disabled by default and canot be enabled from within the wfview GUI.
  • RigCtlPort: Port that the internal rigctld emulation should listen on. Default is 4533 so as to not conflict with any other rigctld running on the machine.
  • IPAddress: IP Address of the radio
  • Username: Username configured within Network menu of the radio
  • Password: Password configured for the above user in the radio.
  • ResampleQuality: This is a number from 0-10 which determines the quality of wfview’s internal audio resampler, with 0 being the lowest quality. This is only used if a sample rate of anything other than 48000 is used and the default of 4 has been chosen to be middle-of-the-road in terms of quality and speed.

[Memory]

This section contains the 99 memories managed by wfview. Don’t bother making a parser for this format, we will change to CSV in future versions.

[LightColors]

More to come here. These colors are unsigned integers made from numbers in the format 0xAARRGGBB, where AA = opaqueness, RR = red, GG = green, and BB = Blue

Like HTML colors, but with the AA for the opaqueness. FF = fully opaque, 00= transparent. The hex numbers must be converted to unsigned int, which you can do using python or many websites with number conversion tools.

Light_PeakPlotLine=4278190335
Light_PlotAxisPen=4291348680
Light_PlotBackground=4294967295
Light_PlotBasePen=4278190080
Light_PlotLegendBorderPen=4278190080
Light_PlotLegendBrush=3372220415
Light_PlotLegendTextColor=4278190080
Light_PlotTickLabel=4278190080
Light_PlotTickPen=4278190080
Light_TuningLine=4278190335

[DarkColors]

Dark_PeakPlotLine=4294967040
Dark_PlotAxisPen=4283124555
Dark_PlotBackground=4278190080
Dark_PlotBasePen=4294967295
Dark_PlotLegendBorderPen=4294967295
Dark_PlotLegendBrush=3355443200
Dark_PlotLegendTextColor=4294967295
Dark_PlotTickLabel=4294967295
Dark_PlotTickPen=4294967295
Dark_TuningLine=4278190335

[StandardColors]

These colors are not read by wfview. They are provided as an example to demonstrate how the colors are formatted in this file. The colors in the file are stored as unsigned integer, 32-bit, and contain the following bytes: AARRGGBB, where A is the alpha (opaque-ness) channel, R is Red, G is Green, and B is Blue. The values may be converted easily using the python hex() function, for example: hex(2164195328) gives: ‘0x80ff0000’, which is 50% translucent red.

black=4278190080
blue_opaque=4278190335
blue_translucent=2147483903
cyan=4278255615
green_opaque=4278255360
green_translucent=2147548928
magenta=4294902015
red_opaque=4294901760
red_translucent=2164195328
white=4294967295
yellow=4294967040