Settings

kaamui edited this page Mar 22, 2018 · 2 revisions

OpenBoard settings

Settings location

OpenBoard stores its settings in several places. First of all, default application settings are set in the application's C++ code. This way, if a configuration file is missing or incomplete, it is automatically generated and/or completed.

Second, two configuration files are used, representing the global settings and the user settings. The first of these files is OpenBoard.config, which can be found in the application installation path. The second is OpenBoardUser.config, which is kept in the user's personal directory. This OpenBoardUser.config file is modified whenever the user changes a setting, for example via the Preferences menu.

When OpenBoard is first started, it generates these configuration files; so don't worry if they're not visible immediately after installation. The default locations for these files on each supported platform is indicated below:

Platform OpenBoard.config OpenBoardUser.config
Linux /opt/openboard/etc/ $HOME/.local/share/OpenBoard/
OS X /Applications/OpenBoard.app/ Contents/Resources/etc/ $HOME/Library/Application Support/OpenBoard/
Windows %PROGRAMFILES%\OpenBoard\etc\ %USERPROFILE%\AppData\Local\OpenBoard\

Aside from these settings files, another similar file is noteworthy: OpenBoard.css. This file is stored in the same folder as OpenBoard.config and defines the application's style. It can usually be safely ignored entirely, but in case you have display issues such as irregular fonts or a menu bar that is too wide, check the bottom of this document to learn how to solve this.

Reading and writing of settings

As mentioned above, OpenBoard has default values for settings which aren't explicitly set in the configuration files. Specifically, when the application needs to know the value of a setting, it first looks for it in OpenBoardUser.config. If it can't find it there, it looks for it in OpenBoard.config. If the setting isn't in either of these files, it uses the setting's default value and writes this value to OpenBoard.config (assuming it has write access to this file, and with the exception of a few specific settings). This way, any missing settings (after an update for example) are automatically added to the file.

When a setting's value is modified, this value is saved only to OpenBoardUser.config. This way, any change made by one user will affect only them, and not any other user on the same computer.

Given the order in which settings are read, modifying the value of a setting in OpenBoard.config will have no effect if this setting has a different value in OpenBoardUser.config. So if you would like to change a setting for all users of a computer, make sure either to edit OpenBoardUser.config for all users or to delete these files and edit OpenBoard.config.

Be careful when editing settings as OpenBoard usually does not check the validity of a setting before loading it. So it is quite possible to make the application crash due to a badly-written value.

Syntax

The syntax is very simple: one setting per line, with the name followed by an equals sign, followed by the value. For a setting that takes a list of values, elements of the list are comma-separated. Empty values are also possible.

The settings are grouped by categories such as App, Board etc. It is important that you leave the settings in the correct category, since this category is actually part of the name of the setting. For example, the following settings:

[Board]
FontIsBold=false
FontIsItalic=true

translate to Board/FontIsBold and Board/FontIsItalic within the C++ code. So, if they are moved to another category, they will (at best) be useless.

Important settings

The settings will not all be detailed here, since they are usually quite clear and since most of the important settings can be edited by the user in the Preferences menu within OpenBoard. Still, here are a few important ones that aren't included by default in the config files, or that need some explanations.

Board/AutoSaveIntervalInMinutes

If a value is given here, pages will be saved automatically every X minutes. Otherwise, a page is only saved when the user switches to the previous or next page, if the current page has been modified since the last save. This auto save interval, if set, also applies to user settings. Otherwise, settings are saved only when the user exits OpenBoard.

App/HideCheckForSoftwareUpdate

If true, the "check for software update" option doesn't appear on the OpenBoard menu

App/PageCacheSize

The number of pages kept in memory to speed up page switching. A low value will result in less RAM usage, but more disk I/O. (Default value: 20)

App/DataDirectory

The folder where OpenBoard saves the user's documents and preferences. If this setting is not provided, or if the folder doesn't exist, the default value is used (see the path for OpenBoardUser.config in the table under "Settings location", above). This setting is not included in the config file by default.

Other folders

The folders used for storing pictures, audio and video (from the Library) are not set by default in the config files either, but like App/DataDirectory, they can be added if you wish to use a custom storage directory. By default, the paths are determined by the OS; for example on Linux, pictures are stored in ~/Pictures/OpenBoard.

These settings are:

  • App/UserImageDirectory
  • App/UserVideoDirectory
  • App/UserAudioDirectory
  • Podcast/RecordingDirectory

To specify a path for these settings, the following wild cards can be used:

  • {Documents} : The default documents storage location (e.g ~/Documents on Linux)
  • {Home} : The user's home directory
  • {Desktop} : The user's desktop directory
  • {UserLoginName} : The user's name

For example, if you want the videos to be stored in ~/videos, you can add the following line to either configuration file, under the [App] category:

UserVideoDirectory={Home}/videos

1.02 -> 1.3 update

Version 1.3 comes with a few changes in the settings. Code has been included to check the affected settings and make sure that the application doesn't crash if an old configuration file is used (as would be the case after an upgrade) but just in case, here is a summary of the changes.

Colors

  • The number of available pen colors passed from four to five. If the settings file lists only four "selected" colors, this setting is replaced.
  • A few colors were added. If a default color is not listed in the settings file, it is added. You may thus add some custom colors, but not remove default ones.

The color-related settings are listed in the [Board] category; they are MarkerDarkBackgroundColors and MarkerLightBackgroundColors for the highlighter's available colors, and PenDarkBackgroundColors and PenLightBackgroundColors for the pen. The *SelectedColors settings list the selected colors, i.e the ones that are available directly in "Board" mode.

Virtual keyboard

Since all supported operating systems now offer a good on-screen keyboard, an option to use this "System keyboard" has been added to the preferences. While we were at it, we also corrected the typo in the setting name.

useOnScreenKeybard is henceforth called useOnScreenKeyboard, and its default value is true.

Miscellaneous

  • The side bars are closed by default, the first time OpenBoard is launched
  • The "check for updates" entry in the menu is hidden by default (since the service no longer exists)
  • Preview circles can be shown for the eraser and highlighter: two settings have been added for this, Board/ShowEraserPreviewCircle and Board/ShowMarkerPreviewCircle, and they are set to true by default.

OpenBoard.css

In some cases on low-resolution screens, the main menu bar may be truncated, e.g with the "OpenBoard" menu button being hidden.

This is due to the font being too big. This is determined by the desktop evironment and thus can change from one system to the next, or even between two users on the same computer. Furthemore, in some cases the font appears irregular, with letter height being uneven (this occurs with some fonts in some Ubuntu 14.04 installs; it is a known issue and does not only affect OpenBoard).

Both of these problems can be easily solved, however, by editing the application's style sheet. In the case of the menu bar text, you may edit the QToolbar QToolButton element in OpenBoard.css (around line 85). This file, as explained above, is located in the same folder as OpenBoard.config. For example, if we add the line font-size: 10pt to the end of this element, the toolbar text will be small enough to prevent the toolbar from being truncated.

This font size is not forced by default, in order to allow a native feel based on the current OS. So it is recommended to only edit this CSS file if necessary to solve such problems.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.