Configuration

Polychromatic’s uses JSON to store its data. The location is based on the XDG spec, which is usually:

~/.config/polychromatic/
~/.cache/polychromatic/

Preferences can be changed via the Controller’s Edit → Preferences.

Preferences is accessible via the Edit menu bar

You can manually edit the JSON files based on the specifications below. Note that changes take effect on the next launch and invalid syntax will cause the file to be reinitialised (appending .bak to the file name)

It is usually necessary to restart the application (or editor windows) for new preferences to take effect.


Folder Structure

Folder/File Purpose
backends/ Backends may use this to store runtime or persistent data
custom_icons/ Copies of imported images for effects, presets or tray icons
effects/ Storage for custom software effects
states/ Internal data noting a device’s current software status
colours.json Your saved colours list
preferences.json Application configuration

Obsolete Folders

These were previously used in previous versions (<= 0.3.12) and can be safely deleted.

Folder/File Purpose
backups/ Copies of old effects (v0.3.12)
profiles/ Storage for keyboard graphic mappings (v0.3.12)

preferences.json

Group Value Data Type Purpose
  config_version int Internally keeps track of preference version. (Don’t touch!)
controller landing_tab int Starting from 0, open a tab index at start-up.
controller show_menu_bar bool Keep the menu bar visible. Press Alt to reveal if hidden.
controller system_qt_theme bool Use the system’s Qt theme. Dependant on current theme and environment.
controller window_behaviour int 0 - Always open in center
1 - Remember last position/size
2 - Let window manager decide
controller toolbar_style int 0 - System default
1 - Icons only
2 - Text only
3 - Text alongside icons
4 - Text under icons
custom use_dpi_stages bool Use custom DPI values (mice only)
custom dpi_stage_{1..5} int 5 keys defining the custom DPI value.
For example, "dpi_stage_1": 800, "dpi_stage_2": 1600
editor hide_key_labels bool Hide text labels for keyboards/keypads in the editor.
editor live_preview bool Show the changes on the physical device while in the editor.
editor show_saved_colour_shades bool Generate light/dark variants of each of your saved colours in the dock.
editor suppress_confirm_dialog bool Don’t prompt confirmation for actions such as deleting a layer/frame.
editor system_cursors bool Don’t use custom cursors in the editor.
tray autostart bool Start tray applet when the user logs in?
tray autostart_delay int How long (in seconds) to wait before autostarting. This helps some desktop environments that suffer from a race condition which causes the applet to display incorrectly or show no devices.
tray mode int 0 - Use Default
1 - AppIndicator3 (GTK)
2 - GTK Status Icon (Legacy)
tray icon str Relative path from data directory, custom_icons or an absolute path to the tray icon.

Software Updates

When major changes happen to the application that affects save data, the next run under the new version will automatically update its configuration. Old versions will be copied to a separate file or folder.

As a result, downgrading the software isn’t supported without first restoring the old save data manually.

    Back to top