# This is the main config for WayVR
# Place this file in ~/.config/wayvr/conf.d and tweak the values.
# Default values are shown unless noted otherwise.

# In case you're not getting the expected result,
# check the logs at /tmp/wlx.log for parsing errors.

## Only if built with `osc` feature. What port to send OSC messages to.
#osc_out_port: 9000

## Set your preferred watch timezones here.
#timezones:
# - "Europe/Oslo"
# - "America/New_York"

## On most desktops, WayVR is able to pick up your keymap via wayland. (Especially when using Fcitx5!)
## However, if this does not happen, you might want to set your keymap by hand.
## When using a simple layout:
#default_keymap: us
# 
## When defining a layout-variant pair, separate using a dash:
#default_keymap: us-colemak_dh

## Path to read the custom theme from, relative to `~/.config/wayvr`
#theme_path: "theme"

## These can be used to control the color theme of WayVR.
#color_text: "#ffffff"
#color_accent: "#008cff"
#color_danger: "#ff3300"
#color_faded: "#668299"
#color_background: "#010206"

## Path to custom skybox texture, relative to `~/.config/wayvr`
#skybox_texture: ""

## User-defined list of custom overlays that should be created.
## Each entry must correspond to an XML file at: {theme_path}/gui/{entry}.xml
#custom_panels:
# - "test"

## The alt_click binding can be used to execute a program of choice
## These are not default, but example values.
#alt_click_down: ["bash", "-c", "echo x"]
#alt_click_up: ["bash", "-c", "echo y"]

## Example for quick-calibration with `motoc`:
#alt_click_down:
#  [
#    "motoc",
#    "calibrate",
#    "--src",
#    "WiVRn HMD",
#    "--dst",
#    "LHR-AABBCCDD",
#    "--samples",
#    "200",
#  ]
 
## Set what kind of notifications to show and what to hide
#notification_topics:
#  System: Center
#  DesktopNotification: Center
#  XSNotification: Center
#  IpdChange: Hide

## Path to a custom notification sound, relative to `~/.config/wayvr`
#notification_sound: ""

## If `screen_render_down` is enabled,
## controls the maximum height of the screen
#screen_max_height: 1440

## Don't move the mouse more often than this value
## helps to avoid unnecessary load when pairing
## a high-refresh screen with a lower-refresh hmd
#mouse_move_interval_ms: 10

################ MANAGED FROM DASHBOARD ################
################ MANAGED FROM DASHBOARD ################
################ MANAGED FROM DASHBOARD ################
################ MANAGED FROM DASHBOARD ################

# ANYTHING BELOW HERE IS MANAGED FROM THE DASHBOARD.
# The settings are here for reference only.
# Probably don't include them in your config file.

## The bottom of the watch will list sets instead of overlays.
#sets_on_watch: false

## Force an alternative method for Wayland desktop capture.
## `auto`: default
## `pw_fallback`: Pipewire-based software capture
## `screencopy`: Software capture that works on some Wayland compositors
## Other values that were previously here are no longer supported.
#capture_method: auto

## Monado/WiVRn only. Do not send controller input to other VR apps
## while WayVR is being hovered. Either hand will block both hand inputs!
#block_game_input: false

## Do not block input when the watch is hovered.
#block_game_input_ignore_watch: true

## How fast to drag when the space drag feature is activated
#space_drag_multiplier: 1.0

## Setting this to false will make space_drag
## only affect the vertical axis (Y).
#space_drag_unlocked: true

## Monado/WiVRn only. When enabled, the space_rotate binding
## can rotate in any axis. Imagine horizon mode².
#space_rotate_unlocked: false

## Monado/WiVRn only. Use passthrough camera if the headset supports it.
## If disabled, the skybox will be shown.
#use_passthrough: true

## Monado/WiVRn only. Display a skybox when no scene application is running.
## If disabled, there will be no background rendered (solid black).
#use_skybox: true

## Hide the help popup that appears on your hand while grabbing an overlay
#hide_grab_help: false

## Smoothing applied to the pointer.
## 1.0 → no smoothing
## 0.1 → too much smoothing
#pointer_lerp_factor: 0.3

## If your upright screen is not displaying correctly, try enabling this.
#upright_screen_fix: false

## If you're seeing the cursor twice, try enabling this.
#double_cursor_fix: false
# 
## Use 12h instead of 24h watch.
#clock_12h: false

## Set whether notifications should be shown at all
#notifications_enabled: true

## Set whether notfications should make a sound
#notifications_sound_enabled: true

## Toggle keyboard click sound
#keyboard_sound_enabled: true

## Multiplier for animation speed. 2.0 → double speed, 0.5 → half speed
#animation_speed: 1.0

## Adjust this between 0..1 for a more rectangular feel.
#round_multiplier: 1.0

## Render screens & mirrors at a lower resolution.
## Avoids aliasing on 4K+ screens, and also saves VRAM
#screen_render_down: false

## For how much time mouse motion events should be stopped after clicking?
## Prevents accidental dragging various GUI elements or links, making it easier to click
#click_freeze_time_ms: 300

## Fixes behavior when the desktop environment
## expects the mouse buttons to be swapped
#left_handed_mouse: false

## Make scroll events inverted in X/Y axis
#invert_scroll_direction_x: false
#invert_scroll_direction_y: false

## Press and release thresholds for grip & trigger
## when using OpenXR (WiVRn, Monado)
#xr_click_sensitivity: 0.7
#xr_click_sensitivity_release: 0.5

## How many seconds to buttons need to be held
## before it's considered a long press
#long_press_duration: 1.0

## Change speed of scrolling
# 0.5 → half the speed
# 2.0 → twice the speed
#scroll_speed: 1.0

## Enable / disable sliding windows back and forth with the scroll action
#allow_sliding: true

## When enabled, the mouse pointer will not be moved on the screen, unless the trigger is touched
## allowing for moving both pointers off the screens to the keyboard, while keeping the cursor position
## unchanged, for when the desktop is configured to move the focus with the mouse cursor
#focus_follows_mouse_mode: false
