# Ocelot configuration. This file uses typesafe config's HOCON syntax.
# Try setting your syntax highlighting to Ruby, to help readability. At least
# in Sublime Text that works really well.
ocelot {
  brain {
    # This is the path to OpenComputers configuration file, that Ocelot Brain can use
    # to apply the settings which can be applicable in emulation context (like `bufferChanges: false`).
    # Optional. By default it's being stored at ~/AppData/Ocelot or ~/.config/ocelot
    customConfigPath: null
  }

  sound {
    # Volume level for all sounds in Ocelot. Ranges from 0.0 to 1.0
    # Set to 0.0 to disable sound completely.
    volumeMaster: 1.0

    # Volume level for note block/sound card/tape drive sounds. Ranges from 0.0 to 1.0
    # Set to 0.0 to disable sound completely.
    volumeRecords: 1.0

    # Volume level for computer case beeps. Ranges from 0.0 to 1.0
    # Set to 0.0 to disable sound completely.
    volumeBeep: 0.4

    # Volume level for environmental sounds (like computer fans or HDD activity). Ranges from 0.0 to 1.0
    # Set to 0.0 to disable sound completely.
    volumeEnvironment: 1.0

    # Is it necessary to simulate the position of the sound relative to the workspace nodes or not
    positional: true
  }

  window {
    # This will prevent the Ocelot window from "disappearing" from the primary monitor.
    # But that can also mess with multi-monitor setup. Feel free to turn it off in that case.
    validatePosition: true
  }

  workspace {
    # If true, "node-related" windows (like screens, computer case details, etc.) would
    # stick to the workspace and keep their relative position to node blocks whenever
    # the camera is moved.
    stickyWindows: true

    # When this option is disabled, an exit confirmation dialog is always shown before exiting.
    # Otherwise, Ocelot doesn't bother asking and saves the workspace right away if it knows where.
    saveOnExit: true

    # If enabled, Ocelot loads the most recently opened workspace automatically on startup.
    openLastWorkspace: true

    # If true, screen nodes will render mini-previews of their content in realtime
    # Otherwise, content will be shown only in windows
    renderScreenDataOnNodes: false
  }
}
