Skip to content

Where VirtualZones stores settings (settings.json) and data

What Location Notes
Settings and layouts %APPDATA%\VirtualZones\settings.json JSON, format below
Usage counter (About → “Used N times”) %APPDATA%\VirtualZones\usage.dat Local only, never sent anywhere. Kept separate from settings.json since 1.3.15 so an older copy can’t reset it
License %APPDATA%\VirtualZones\license.dat Encrypted with Windows DPAPI for your user on this PC, so it won’t work if copied elsewhere
Trial start date %APPDATA%\VirtualZones\trial.v2.dat and registry HKCU\Software\VirtualZones Encrypted
Language files %APPDATA%\VirtualZones\lang\<code>.lang Downloaded translations, used offline
Start with Windows Registry HKCU\Software\Microsoft\Windows\CurrentVersion\Run, value VirtualZones Contains "<path to exe>" --tray
Diagnostic log %TEMP%\virtualzones.log Plain text. Never contains your license key. Attach it to bug reports
Downloaded update %TEMP%\VirtualZones-Update-Setup.exe Only while an update is pending
Program %LOCALAPPDATA%\Programs\VirtualZones\ (or C:\Program Files\VirtualZones\ for all users)

Tip: paste %APPDATA%\VirtualZones into the File Explorer address bar to open the folder.

Example:

{
"AutoStart": true,
"AccentColor": "#a855f7",
"Theme": "auto",
"Language": "en",
"HideToTray": true,
"StartMinimized": false,
"UpdateAutomatically": false,
"HotkeyStartStop": [3, 82],
"HotkeyToggleZones": [3, 90],
"HotkeyCycleLayout": [3, 67],
"HotkeyMoveLeft": [3, 65],
"HotkeyMoveRight": [3, 68],
"HotkeyMoveUp": [3, 87],
"HotkeyMoveDown": [3, 83],
"HotkeyShareZone1": [3, 49],
"HotkeyShareZone2": [3, 50],
"HotkeyShareZone3": [3, 51],
"HotkeyShareZone4": [0, 0],
"Screens": [
{ "Id": "MONITOR\\SAM0F9D\\{4d36e96e-e325-11ce-bfc1-08002be10318}\\0003", "Name": "C49RG9x", "Enabled": true, "CoverTaskbar": false, "ActiveLayout": "25% | 50% | 25%" }
],
"ScreenLayouts": [
{ "Screen": "MONITOR\\SAM0F9D\\{4d36e96e-e325-11ce-bfc1-08002be10318}\\0003", "Name": "25% | 50% | 25%", "Zones": [[0, 0, 0.25, 1], [0.25, 0, 0.75, 1], [0.75, 0, 1, 1]] },
{ "Screen": "MONITOR\\SAM0F9D\\{4d36e96e-e325-11ce-bfc1-08002be10318}\\0003", "Name": "Quad", "Zones": [[0, 0, 0.5, 0.5], [0.5, 0, 1, 0.5], [0, 0.5, 0.5, 1], [0.5, 0.5, 1, 1]] }
],
"SelectedScreen": "MONITOR\\SAM0F9D\\{4d36e96e-e325-11ce-bfc1-08002be10318}\\0003"
}
  • Screens holds one entry per monitor ever seen. Id is the monitor’s hardware ID. Run --list-monitors to see yours.
  • ScreenLayouts is a flat list of every layout. Each entry is tagged with the Screen it belongs to. Layouts tagged with an unknown screen ID are dropped.
  • Zones are [left, top, right, bottom] as fractions from 0 to 1 of the screen area.
  • Layout names can’t contain " \ { } [ ].
  • Missing keys fall back to their defaults.

A hand-edited layout that doesn’t form a clean grid still works for confinement, but can’t be opened in the editor.

Each hotkey is [modifiers, key]:

  • modifiers add up: Alt = 1, Ctrl = 2, Shift = 4, Win = 8. So Ctrl+Alt = 3.
  • key is the Windows virtual-key code: letters A–Z are 65–90, digits 0–9 are 48–57.
  • [0, 0] means unbound.

The keys are HotkeyStartStop, HotkeyToggleZones, HotkeyCycleLayout, HotkeyMoveLeft, HotkeyMoveRight, HotkeyMoveUp, HotkeyMoveDown and HotkeyShareZone1 to HotkeyShareZone9. The Keyboard Shortcuts dialog is the easier way to change them.

There’s no import/export button. To back up or move layouts:

  1. Exit VirtualZones from the tray.
  2. Copy %APPDATA%\VirtualZones\settings.json.
  3. On another PC, the Screen values in ScreenLayouts must match that PC’s monitor IDs. Run VirtualZones.exe --list-monitors there, then update the Screen (and Screens[].Id) values before starting VirtualZones.

Don’t copy license.dat or trial.v2.dat. They are encrypted to the original PC and won’t work. To move a license, use Deactivate.