Compare commits

..
Author SHA1 Message Date
galister 5be6b162ed fix headless mode dummy screen & restart propagation 2026-10-28 16:41:43 +09:00
galister 7061d6e5aa watch desktop entry changes 2026-10-28 16:25:42 +09:00
galister a65b33fed2 openvr: fix scrolling 2026-10-28 14:41:12 +09:00
galister 786903efd5 wvr_server: process matching tweaks 2026-10-28 14:37:24 +09:00
Aleksander 466960d32a Add contribution instructions regarding LLM usage policy [skip ci] 2026-10-27 12:13:34 +09:00
Aleksander abafddefd8 add Swedish translation strings 2026-10-24 23:31:49 +02:00
Jonatan Nyberg 9b1fc2774a Add Swedish template to the translation tool (#701) 2026-10-24 22:48:43 +02:00
galister c539ff6a90 XSHM & PipeWire CPU capture fixes (#698) 2026-10-23 21:13:08 +09:00
galister f94c0c4ace desktop_finder rework (#697)
* desktop_finder rework

* fix args for wayvrctl process-launch
2026-10-23 19:29:25 +09:00
Aleksander 5f4c97794c wayvr: prevent alpha from going NaN again 2026-10-22 18:04:40 +02:00
Aleksander d9288a877c dash-frontend: refactoring: deduplicate dropdown code 2026-10-21 19:57:14 +02:00
galister dff4b0067a thumbstick axes fix 2026-10-21 14:29:48 +09:00
oo8dev adf852971f dash-frontend: whisper GPU device selector (Closes #680) (#692) 2026-10-18 17:19:10 +02:00
Aleksander 074d2de7aa wgui: bugfix: layout is recomputed every frame (tick/render loop) (Closes #690) 2026-10-18 12:37:49 +02:00
diffy e8d9a35714 openxr: pivot unlocked space rotate on the hand (#689)
* openxr: pivot unlocked space rotate on the hand

* openxr: don't start space drag during space rotate
2026-10-18 16:53:05 +09:00
diffy 36f9fab5c6 apply ui_gradient_intensity to theme (#688) 2026-10-17 13:16:03 +09:00
diffy 058792fc8e wlx-capture: destroy dmabuf params after create_immed (#687) 2026-10-17 13:15:48 +09:00
Dandrid ef934e0b02 chore: Swap away from using deprecated associated constants (#686) 2026-10-17 13:05:56 +09:00
galister c42e992a62 support both systemctl and loginctl 2026-10-15 13:20:31 +09:00
galister 41d7a0b3d2 try fix appimage with multi-desktop files 2026-10-14 13:22:25 +09:00
galister 471e4be946 show toast when starting hidden 2026-10-14 13:02:22 +09:00
galister 26afa57fe3 include headless desktop entry 2026-10-14 12:51:33 +09:00
galister d120617abe openvr: hide set & dash when showing bindings 2026-10-14 12:39:49 +09:00
galister 351b24533c openvr: button to open bindings 2026-10-14 12:09:52 +09:00
galister 09ed96542f openvr: fix space drag interrupting itself 2026-10-14 11:44:36 +09:00
oo8devandgalister 9b89622ff9 Power options, context menu icons (#681)
* dash-frontend: Power options (Closes #640), Context menu: refactor: positioning

* dash-frontend: Power options

* systemctl → loginctl

Co-authored-by: galister <22305755+galister@users.noreply.github.com>

---------

Co-authored-by: galister <22305755+galister@users.noreply.github.com>
2026-10-13 14:06:47 +09:00
galister 346c6391ef translations 2026-10-11 22:14:17 +09:00
galister e850c2c8b6 toast expiry tweaks 2026-10-11 22:14:17 +09:00
galister 5360697828 frame controller trigger thresholds 2026-10-11 17:51:59 +09:00
galister 3a869e3c35 openvr: hide at startup until steamvr dashboard is closed 2026-10-11 17:51:59 +09:00
galister b3ac55474f show toast if steamvr dashboard shown at startup 2026-10-11 17:51:59 +09:00
galister a4986a3d9f toast: extend_display_time 2026-10-11 17:51:59 +09:00
galister f3f7d97ed6 toast queue, priority toasts 2026-10-11 17:51:59 +09:00
Aleksander 10857739a4 dash-frontend: make WiVRn microphone show up, add volume control support for microphones with mono channel 2026-10-10 18:19:57 +02:00
Aleksander 42e9deb54c wgui: Layout: Fix content_size regression (Closes #679) 2026-10-09 09:29:20 +02:00
Aleksander d6515b3c2a dash-frontend: Tweak home screen buttons, minor logic fix 2026-10-08 22:44:23 +02:00
Aleksander a101c79892 wgui: Fix context menus leaving renderable content bounadry (Closes #668) 2026-10-08 22:25:33 +02:00
galister 82565e975f prevent alpha from going NaN 2026-10-05 14:15:00 +09:00
Aleksander 959f66b271 graphics: change dmabuf log level 2026-10-04 18:45:18 +02:00
oo8dev 745728d90d dash-frontend: diagnostics: list gpus and capabilities (vram info) (#674) 2026-10-03 13:14:58 +02:00
hypevhs 68944184de Embed update information within AppImages (#672)
Let linuxdeploy embed Update Information into each AppImage, allowing
for external apps (Gear Lever, Shelly, AppImageUpdate) to easily
download WayVR updates.

This also requires that a corresponding .zsync file be attached to each
release, for efficient transfer of updated AppImages.

See this section in the AppImage spec:

https://github.com/AppImage/AppImageSpec/blob/master/draft.md#update-information
2026-10-03 11:45:41 +09:00
galister 4590371a4c openvr: add generic_hmd to actions 2026-09-30 12:49:13 +09:00
galister d1255e5f71 openvr: fix eye tracking 2026-09-30 12:47:46 +09:00
galister 537f2f5397 openvr: fix missing toggle dash bind 2026-09-30 12:27:12 +09:00
galister 77730432b1 openvr: frame bindings 2026-09-30 12:22:43 +09:00
galister fd3e9069e4 openvr eye tracking 2026-09-30 06:19:07 +09:00
galister 2226d95834 update ovr_overlay 2026-09-30 05:35:09 +09:00
galister a0d36d7257 openvr: handsfree pointer 2026-09-30 05:13:24 +09:00
galister 38382275ec Revert "headless appimages for frame"
This reverts commit 0a158c102c.
2026-09-30 04:34:42 +09:00
galister 5517c3a809 focus picker to override controller input 2026-09-30 04:09:02 +09:00
galister f0d96802ba wvr_server: fix resize on windows using wl_viewporter 2026-09-30 00:18:19 +09:00
galister 3f43003a0b client-side decorations 2026-09-29 23:24:48 +09:00
galister 28842d6d69 wvr_server: drag and drop support (#669) 2026-09-29 18:58:51 +09:00
Dimo 573bd5da53 Ignore invisible overlays during raycast (#665) 2026-09-29 18:42:13 +09:00
galister da3b19a495 sets_on_watch by default 2026-09-29 13:34:50 +09:00
galister ad0d1aa8a2 fmt 2026-09-29 11:58:54 +09:00
galister b85976bdf0 toasts stay while you look! 2026-09-29 11:58:26 +09:00
galister 2ea97e88bb bump key repeat delay 2026-09-29 03:07:19 +09:00
galister b7b93131c9 [skip-ci] Update readme 2026-09-29 02:56:09 +09:00
galister e7c07c7789 update readme 2026-09-29 02:05:13 +09:00
galister 0a158c102c headless appimages for frame 2026-09-29 02:02:53 +09:00
galister 11a5c8305b rework WGfx to work with ash instead of vulkano 2026-09-29 01:50:42 +09:00
galister d5f0306aab Revert "check vkGetMemoryFdPropertiesKHR on dmabuf import, allow only SAMPLED drm formats"
This reverts commit 6d6e7033ac.
2026-09-29 01:50:42 +09:00
galister 6d6e7033ac check vkGetMemoryFdPropertiesKHR on dmabuf import, allow only SAMPLED drm formats 2026-09-27 21:55:14 +09:00
galister 16bc4383b5 openxr: binding chords support, update frame controller as per 2026-09-27 19:58:19 +09:00
galister 0e6526836e add option for --no-audio 2026-09-27 16:37:19 +09:00
galister 2e8d1589f5 oxr bindings: scroll is actually Vec2; tweak frame_controller 2026-09-26 22:29:24 +09:00
galister 54713b95f4 lax precision on IPD logs 2026-09-26 14:37:32 +09:00
galister 6f761a99dc log available extensions 2026-09-26 14:37:21 +09:00
galister c87bcee358 build aarch64 appimage 2026-09-25 14:59:50 +09:00
oo8dev 0eab390702 dash-frontend: Diagnostics tab (#661)
* dash-frontend: diagnostics

* wgui: support booleans, Button: `adjust_children` tag

* dash-frontend: diagnostics: add tooltips
2026-09-20 11:32:17 +02:00
Aleksander 9dcdf852c7 dash-frontend: audio settings: bugfix: panic after trying to open a non-existent asset path in the card profile selector 2026-09-19 18:51:43 +02:00
galister b3261dbe4f fmt 2026-09-19 12:10:42 +09:00
galister 329a89ca08 setting: Middle-click modifier grabs individual overlays 2026-09-19 11:54:07 +09:00
galister c284162068 fmt 2026-09-18 01:37:22 +09:00
galister f2beabd39a XR_MNDX_composition_layer_alpha_blend_system_ui 2026-09-18 01:37:12 +09:00
galister 126120e52e fmt 2026-09-12 16:55:10 +09:00
galister e986c3591e debug logs for input_capture 2026-09-12 16:55:10 +09:00
galister a0f096b9dc wayvrctl: add window-attrib 2026-09-12 16:55:10 +09:00
galister 7b95f01ff4 wayvrctl: rework window-set-visible 2026-09-12 16:55:10 +09:00
galister d9cc73be8b wayvrctl: rework window-list 2026-09-12 16:55:10 +09:00
galister 548ea36a84 wayvrctl windows-state: add get/set for global 2026-09-12 16:55:10 +09:00
galister d4a5d4c81f wayvrctl: window-state subcommand 2026-09-12 16:55:10 +09:00
galister 443bc01361 missing translations 2026-09-12 16:54:52 +09:00
galister 9b9d1b9f8a avoid using vulkano's approximative gamma correction 2026-09-12 13:35:09 +09:00
oo8dev 40811f219e Add various animations, UI fixes (#651)
* wgui: Animation system refactoring (seconds instead of ticks), dash-frontend: pop-up slide effects

* dash-frontend: audio_settings UI fixes

* wgui: do not swipe in non-scrollable axis, dash-frontend: skymap list xml fixes

* wayvr: notification animations, wgui: animation system refactoring
2026-09-06 16:50:39 +02:00
Aleksander a244c90d05 wgui: Bugfix: Can't click on a scrollable widget with both hands pointing at the overlay 2026-09-06 13:41:24 +02:00
Aleksander f0a1b82db5 dash-frontend: Bugfix: Bindings menu mount failure due to wrong svg path 2026-09-05 19:02:33 +02:00
Mahonzu b45c68cb59 Fix Vive controllers vibrating on touch 2026-09-03 01:57:17 +09:00
Aleksander 234c4a4021 wgui: do not pass AttribPairs with empty values further, dash-frontend: xml refactor, use template children in various places, remove unused files 2026-09-03 00:35:43 +09:00
Aleksander 10e54728fa wgui: Add <CHILDREN/> support in templates (Closes #550) 2026-09-03 00:35:43 +09:00
Aleksander e4daef209b Changes (wgui):
- All new layout xml files now are required to include this metadata
at the top, if they want to be parsed in the new layout v2 behavior:
```xml
<layout version="2">
    <!-- rest of the markup -->
</layout>
```

- Add path expansion using '@' for widget resources and includes
The '@' character is always expanded to the assets root directory
(builtin/internal), or the root xml directory (external).
Paths directing to the built-in resources like:
    `edit/mouse.svg`
are now required to be written as:
    `@/edit/mouse.svg`,
For example:
    ```xml
        <sprite src_builtin="@/edit/mouse.svg" />
    ```

- All paths without '/' at the start are now treated as relative
to the currently parsing XML (paths like `/usr/share/icons/...`
are still accessible)

- Add support for relative paths for widgets instantiated from
templates

- Rename `<theme>` to `<vars>`

Changes (dash-frontend):

- Adapt and refactor XML files

Changes (wayvr):

- Adapt and refactor XML files
2026-09-03 00:35:43 +09:00
galister d318831ecc issue template 2026-08-30 01:24:49 +09:00
galister 48be76c443 update bug report template to discourage AI-generated issues 2026-08-30 01:23:57 +09:00
galister 9d3546b0c4 fix passthru overlay burn-in after edit mode 2026-08-28 10:17:34 +09:00
Aleksander 6163328769 wayvr: fix space rotate quaternion/matrix feedback drift (Closes #636) 2026-08-27 21:35:23 +02:00
galister e79440d03d openvr: only should_render if initialized 2026-08-28 01:50:49 +09:00
galister e0f09d63c2 fix dirty handling in passthru overlay 2026-08-28 01:50:49 +09:00
galister 69dbf331c8 block input to xr-hotas even though headless 2026-08-22 21:33:51 +09:00
oo8dev 5079f31c40 wayvr: Whisper panel: Microphone feedback & processing progress (#631) 2026-08-16 14:58:17 +02:00
GK-Gaming 3c2d0d07f5 Fix x11 pipewire screencast (#609) 2026-08-16 20:40:27 +09:00
oo8dev a50ad00fb0 dash-frontend: Runtime statistics tab, head rotation count (Closes #222) (#627) 2026-08-16 11:12:17 +02:00
galister cb3aa42bd9 Release 26.8.0 2026-08-10 03:32:27 +09:00
Aleksander e6c5142476 dash-frontend: btn_supporter ui fix [skip ci] 2026-08-09 18:06:34 +02:00
Aleksander b02cfa446f wgui: label: fix color palette not triggering any color update 2026-08-09 18:02:11 +02:00
Aleksander 8ad055a483 wayvr: translation strings for notify_send 2026-08-09 21:48:40 +09:00
Aleksander f13562c7dc wayvr: baked toasts 2026-08-09 21:48:40 +09:00
galister 669043035e Supporter chance (#624)
* refactor SupporterTier

* supporter carousel weighted chance

* fix light mode woes
2026-08-09 20:54:14 +09:00
galister 77b5004541 add tests for translation jsons 2026-08-09 18:34:27 +09:00
oo8devandgalister 1a44b54d98 Supporters list (#622)
* Supporters list

* dash-frontend: Random supporter on main screen, wgui: prevent unnecessary redraws

* more creative sponsor messages

---------

Co-authored-by: galister <22305755+galister@users.noreply.github.com>
2026-08-09 17:48:52 +09:00
Aleksander cae2d7c7e2 clippy 2026-08-08 04:03:56 +09:00
hypevhs 6631c004c9 README: update Envision and SteamVR info 2026-08-06 11:16:44 +09:00
Aleksander 98f800c644 translator: Fix english not working at all, minor refactoring 2026-08-03 09:40:17 +02:00
Aleksander 3ae01f59d1 fix typo 2026-08-03 11:43:26 +09:00
Aleksander 6fa434af46 dash-frontend: fix stray '?' character, fix pl.json 2026-08-03 11:43:26 +09:00
Aleksander dcb01fdb6a translator: Update description.txt 2026-08-03 11:43:26 +09:00
galister 3940e8b4f2 dash-frontend translations 2026-08-03 11:43:26 +09:00
galister 97418111fb translations json → csv 2026-08-03 11:43:26 +09:00
Aleksander 38590d9cfb bugfix: whisper options do not show up in vr 2026-08-02 22:47:45 +02:00
galister 2e07818072 use xkb style for variants 2026-08-02 23:53:59 +09:00
galister 5a9133c497 translation keys 2026-08-02 23:41:43 +09:00
galister 84068ca710 typo 2026-08-02 23:39:25 +09:00
galister a7ff06f38a toast when no keymaps configured 2026-08-02 23:38:36 +09:00
galister 7b8fadfaf2 keymap cycling 2026-08-02 23:29:07 +09:00
galister eb2786311a wording for space_drag_affects_world 2026-08-02 17:15:35 +09:00
galister 8e0f27f690 fix auto_movement on Floating 2026-08-02 17:11:58 +09:00
galister e64fb789c7 persist window sizes for wvr & passthru 2026-08-02 17:11:58 +09:00
galister 05aac47716 fix persisting global & static overlays 2026-08-02 17:11:58 +09:00
galister ebb912db68 align_to_hmd for static & floating 2026-08-02 17:11:58 +09:00
galister 75154d8375 monado task switcher: use client id instead of name 2026-08-02 17:11:58 +09:00
galister 4c918b0aaf cleanup 2026-08-02 17:11:58 +09:00
galister 5ba7d1fdad defaults for positioning, opecity, curvature 2026-08-02 17:11:58 +09:00
galister 4eeb0afb0b align_to_hmd regardless of Positioning 2026-08-02 17:11:58 +09:00
galister f4523f3ab1 persistent passthrus 2026-08-02 17:11:58 +09:00
galister c594f6bda3 load state for global overlays 2026-08-02 17:11:58 +09:00
galister 6edf144aee passthru icon 2026-08-02 17:11:58 +09:00
Beyley Cardellio b85077b559 openxr: Add support for ContactGlove2+Magnetra2 2026-08-02 13:20:05 +09:00
Beyley Cardellio 29c5800a61 openxr: Correct check for other extensions 2026-08-02 13:20:05 +09:00
galister 3cfbafa577 focus mode: add keyboard toggle, num keys 2026-08-02 00:01:17 +09:00
galister 05708813be start blocking poses after keyboard was clicked once 2026-08-01 23:43:59 +09:00
galister 4ad6287efc refactor: InterfaceFeats in AppState 2026-08-01 23:30:06 +09:00
galister 98d8a3138d actually pass the params 2026-08-01 21:19:57 +09:00
galister 7261f7fa1f skip attrib woes 2026-08-01 21:19:57 +09:00
galister 7efc4bb0fc don't show options that are incompatible 2026-08-01 21:19:57 +09:00
galister 395e9d1919 passthru windows 2026-08-01 21:19:57 +09:00
galister deccbda473 add skip attribute 2026-08-01 21:19:57 +09:00
galister 7ff096c9ab update gitignore 2026-08-01 21:19:57 +09:00
Aleksander 6f6f9af983 move executor.try_tick() to AppState::tick()
[skip ci]
2026-07-30 08:21:31 +02:00
Aleksander 6b22e4aef1 dash-frontend: minor refactoring for Tasks 2026-07-30 12:58:49 +09:00
Aleksander 707e3a4927 dash-frontend: remove partially downloaded files, cancel download on Downloader view exit 2026-07-30 12:58:49 +09:00
Aleksander 0b4c59f1c7 dash-frontend: download in a separate thread 2026-07-30 12:58:49 +09:00
galister d1f2995846 dependency cleaning 2026-07-30 03:27:06 +09:00
galister 2574784ad3 remove smol-hyper 2026-07-30 03:26:59 +09:00
galister 239337ae76 toast when input capture fails 2026-07-30 03:26:47 +09:00
cubee 67877d6a5f make other shift_world obey space_drag_affects_world, and overlays follow space-rotate 2026-07-28 17:37:40 +09:00
cubee 44b7a2a6ab make space_reset obey space_drag_affects_world 2026-07-28 17:37:40 +09:00
Aleksander 5dffbb9fdb wayvr-ipc: bump to version 4, remove unused WayVR signal broadcast feature, fix broken window-set-visible command 2026-07-26 18:59:26 +09:00
Aleksander c92e27dcf9 get rid of handle.rs in favor of DenseSlotMap 2026-07-26 18:59:26 +09:00
oo8dev e40b953e5a Dynamic color palettes without restart (#594)
* dash-frontend: dynamic color palette switching

* wayvr: add support for color dynamic color palette refresh
2026-07-25 18:40:07 +02:00
galisterandAleksander 9b336535f7 input: InputState: should_disable_lerp (#593)
Co-authored-by: Aleksander <aleksander@oo8.dev>
2026-07-25 18:39:45 +02:00
Aleksander 48da2ca416 dash-frontend: fix pinned_apps not saving 2026-07-25 18:34:51 +02:00
galister b4e2fd782c feat: Space drag moves overlays 2026-07-24 02:57:11 +09:00
galister 0613f94be6 overlays stay in place after reset/recenter/fix_floor 2026-07-23 18:58:28 +09:00
galister b82f781757 overlays stay while space moving 2026-07-23 18:26:54 +09:00
galister 4e4d552bb6 fix playspace center saving 2026-07-23 18:12:05 +09:00
galister 078055dc0f frame-time independent scrolling 2026-07-23 17:48:00 +09:00
galister d56c181e9d fix wl_virtual keyboard not respecting keymap 2026-07-23 17:46:24 +09:00
galister 6a6264347b mouse wheel handling & wl_virtual modifiers 2026-07-23 17:46:24 +09:00
galister 590980e560 input capture rework 2026-07-23 17:46:24 +09:00
galister ca550f356b refactor KeyCombo 2026-07-23 17:46:24 +09:00
galister cf6bfe855e fix ci 2026-07-23 17:46:24 +09:00
galister 43a435aa89 alt-tabbing and stuff 2026-07-23 17:46:24 +09:00
galister 2ab3605116 handsfree alt-tab 2026-07-23 17:46:24 +09:00
galister bc19afad34 wayvrctl input-capture 2026-07-23 17:46:24 +09:00
galister e3829fdebf better key combos 2026-07-23 17:46:24 +09:00
galister f711d9a464 relative mouse, dynamic decor, refactors 2026-07-23 17:46:24 +09:00
galister 302cd14a50 key combos 2026-07-23 17:46:24 +09:00
galister 58dbb1e1b2 input capture #4 - pointer accel config 2026-07-23 17:46:24 +09:00
galister 73ae2b7274 input capture #3 - use libinput instead of evdev 2026-07-23 17:46:24 +09:00
galister c295bf4f0d input capture #2 - mouse 2026-07-23 17:46:24 +09:00
galister 5c158e0353 input capture #1 - keyboard 2026-07-23 17:46:24 +09:00
Aleksander 7f6caca0f8 wgui: MouseCancel event couldn't propagate all the way down (Closes #588) 2026-07-23 11:02:35 +09:00
Aleksander e1fb392297 wgui: account for current scissoring state on widget hover check (Closes #587)
This prevents clicking widgets outside their scissor boundary.
2026-07-23 11:02:35 +09:00
Aleksander 8adff4ca6a wgui: bugfix: scrollable list could start swipe event out-of-bounds (Closes #586) 2026-07-23 11:02:35 +09:00
galister 629de4c8ff fix build without pipewire 2026-07-23 11:02:02 +09:00
galister beae8e82f5 save/reset playspace center 2026-07-22 14:56:13 +09:00
galister a12d1ff8f4 fix build again 2026-07-22 12:11:53 +09:00
galister 447d75acef fix build 2026-07-22 11:53:33 +09:00
galister 4652f708b0 meta → altgr 2026-07-20 16:34:12 +09:00
galister e1879ca891 playspace center? 2026-07-20 00:26:53 +09:00
galister 786660a4d5 fix mirrors only allowing screens 2026-07-19 09:29:17 +09:00
galister 9e43b9b3ad openvr: copy reset_offset logic from openxr 2026-07-19 09:22:35 +09:00
galister 7c16748f88 openvr: copy recenter logic from openxr 2026-07-19 09:22:35 +09:00
galister a29451ceaa build xwayland-satellite for release 2026-07-14 22:19:33 +09:00
galister d93b74cc8a Release 26.7.1 2026-07-14 22:08:11 +09:00
galister 2def8c3a6d fmt 2026-07-14 18:05:04 +09:00
galister 30d786eaa1 feat: window snap angles 2026-07-14 18:04:36 +09:00
galister 779baaf86c fix stereo mouse on apps 2026-07-14 17:36:01 +09:00
galister 7c7e7edbfb fix some xml inconsistencies 2026-07-14 14:33:58 +09:00
galister b1e09910a2 monado tab order switch 2026-07-14 14:18:44 +09:00
galister 5407e53700 fix checkbox tooltips + fmt 2026-07-14 14:14:10 +09:00
galister e895a61ea0 fix openxr recenter 2026-07-14 14:08:42 +09:00
galister 4ed52f0214 clarify some tutorial instructions 2026-07-14 14:08:35 +09:00
galister fcc84e56b3 custom palettes 2026-07-14 00:30:59 +09:00
galister c74c51f7cd fix tooltips staying after parent is gone 2026-07-13 22:03:40 +09:00
galister acaabead52 refactor components_by_widget_id 2026-07-13 22:03:40 +09:00
galister fd8a327395 palette selector improvements 2026-07-13 22:03:40 +09:00
galister 952b6e10b6 nicer palette selector 2026-07-13 15:08:14 +09:00
galister 245666ab06 translations 2026-07-13 13:56:43 +09:00
galister 227e3851bc tweak onBackgroundVariant on Default 2026-07-13 13:54:00 +09:00
galister 4e9b893304 keycaps theming 2026-07-13 13:48:01 +09:00
galister d311813899 standardize button colors 2026-07-13 13:07:54 +09:00
galister 075a6dd63b dont tint app icons 2026-07-13 11:17:08 +09:00
galister 83b9a1920f openxr: recenter also recenters yaw 2026-07-13 10:41:50 +09:00
galister 635cfef63e do not install SteamVR manifest by default 2026-07-13 10:29:38 +09:00
galister a8262c1de4 fix wrapped text flying around 2026-07-13 10:23:02 +09:00
galister a3e3101ab0 log if appimage 2026-07-13 09:46:46 +09:00
galister 28442ac6a8 bundle xwayland-satellite with appimage 2026-07-13 09:41:10 +09:00
galister d6268c0c20 Merge branch 'main' into wgui_named_colors 2026-07-13 09:02:14 +09:00
galister 5c0ae395a2 app launcher button themes 2026-07-13 04:54:13 +09:00
galister 962ed32452 parent_color attrib to fix app icons 2026-07-13 04:50:22 +09:00
galister f3438b1867 screencast.xml colors 2026-07-13 04:04:14 +09:00
galister e0ab4be8e3 fix use_bg_color label anims 2026-07-13 03:48:14 +09:00
galister c4655b7b9a default secondary 2026-07-13 03:30:17 +09:00
Aleksander c32e3ef86e dash-frontend: fix more colors, wgui: fix possible flicker 2026-07-12 20:23:32 +02:00
galister 2ea3b222f3 use_bg_color for label 2026-07-13 03:21:34 +09:00
Aleksander 6f5be3a157 dash-frontend: tweak apps.xml 2026-07-12 20:07:43 +02:00
Aleksander db436d4630 wgui: tweak default theme a little bit 2026-07-12 20:04:47 +02:00
galister 895e95dcf4 dash sidebar + bottom buttons 2026-07-13 02:49:29 +09:00
galister 0516270dcb check box hover 2026-07-13 02:23:51 +09:00
galister 28a9ed2c27 slider & checkbox & keycaps 2026-07-13 01:52:20 +09:00
galister b1fb0d9347 monado tab + group box title colors 2026-07-13 01:39:41 +09:00
galister 031157ea8c settings tab styles 2026-07-13 01:33:51 +09:00
galister 6a064248dc palette requires restart + suppress fake errors 2026-07-13 00:30:22 +09:00
galister 7ab47ada4b fmt 2026-07-13 00:23:33 +09:00
galister 1febd4ed0d hide some palettes to make them fit 2026-07-13 00:22:38 +09:00
galister f2e2c37108 commented out light themes for now 2026-07-13 00:15:26 +09:00
galister b3e4e37992 child labels+sprites to inherit on-color from button 2026-07-13 00:08:51 +09:00
galister fb71975019 button sticky_color 2026-07-12 22:43:19 +09:00
galister 02f1de59b2 tweaks 2026-07-12 22:20:45 +09:00
galister 40430ea94e switch downloader from hyper to urec 2026-07-12 21:31:48 +09:00
galister 867c343c9b swich tokio to smol 2026-07-12 21:31:48 +09:00
galister 2e7a528857 swich tokio to smol 2026-07-12 21:31:48 +09:00
galister 0a7f8340d7 color tweaks & fmt 2026-07-12 21:27:44 +09:00
Aleksander e79dfcb719 dash-frontend: fix light theme everywhere 2026-07-12 13:23:32 +02:00
galister cb99676230 palette config loading 2026-07-12 19:51:43 +09:00
galister bc0fad60d5 color palette translation 2026-07-12 19:30:51 +09:00
Aleksander 3d2689c931 fix dashboard.xml and home.xml 2026-07-12 12:30:25 +02:00
galister dc58c1a555 wip palette selection & persistence 2026-07-12 19:27:47 +09:00
galister a4ce23881a rework palettes; add a range of wip themes 2026-07-12 19:01:17 +09:00
galister 62c210fc1d no num_enum 2026-07-12 16:58:29 +09:00
Aleksander c3cbc43f6f remove stale wgui docs, fix xmls for wayvr 2026-07-11 18:28:44 +02:00
Aleksander 155340b78d dash-frontend: finish theming, wayvr: refactoring, compilable version 2026-07-11 17:33:01 +02:00
galister d7bd243c41 update deps 2026-07-11 23:21:54 +09:00
galister 3c7e91c28c workspace deps sorting 2026-07-11 23:14:19 +09:00
Aleksander a00f2ab8db wgui: Color palette (wip)
(uidev & dash-frontend compilable)
2026-07-11 16:02:03 +02:00
galister b83c54334f format 2026-07-11 22:34:21 +09:00
galister f3dc87fa64 rework to having non-blocking screen cast prompts 2026-07-11 22:33:22 +09:00
Aleksander 9f854d0649 wgui: fix cosmic text not rendering anything 2026-07-10 17:47:55 +02:00
galister 000bc3c166 chore: update wgui deps 2026-07-10 22:51:01 +09:00
galister 1820e2b152 chore: update cosmic-text 2026-07-10 22:51:01 +09:00
galister a10b20aea9 chore: update taffy 2026-07-10 22:51:01 +09:00
oo8dev 80237d36cd dash-frontend: Application pinning (#565)
* dash-frontend: App pinning (wip)
* App pinning and unpinning, preserve settings (done)
2026-07-07 16:53:55 +02:00
Aleksander cfeef62215 wlx-common: Audio runner on a separate thread 2026-07-07 15:34:57 +02:00
galister 730b546e84 [skip ci] update readme 2026-07-07 03:35:13 +09:00
galister afdf744e81 update packages; release 26.7.0-1 2026-07-06 22:03:14 +09:00
galister 4f0250671e Release 26.7.0 2026-07-06 20:11:19 +09:00
galister 17dcc8e0cb kindly ask apps to use wayland 2026-07-06 00:53:03 +09:00
galister 3f071a530c fixed hang when dragging some apps *cough* chromium 2026-07-05 23:36:13 +09:00
galister df1cf668a0 resize lerp 2026-07-05 23:24:52 +09:00
galister 4cf84e19f0 make virtual display square 2026-07-05 23:03:13 +09:00
galister ab578b8e35 dont show edit mode overlay while resizing 2026-07-05 22:56:01 +09:00
galister 5dd7339b61 translations & fmt 2026-07-05 22:17:48 +09:00
galister 21749e22ed done: grabbable resize corner 2026-07-05 22:11:32 +09:00
galister 4f76a4abfb wip: grabbable resize corner 2026-07-05 20:02:36 +09:00
galister 137570f548 add setting for default overlay size 2026-07-05 18:28:50 +09:00
galister b2037feacf wvr_server: scale windows based on resolution 2026-07-05 18:14:33 +09:00
galister 2d820f1d1b wayvrctl handsfree controls 2026-07-05 15:49:37 +09:00
galister 1f79f231c0 --wait argument 2026-07-05 14:21:13 +09:00
galister 88493e3ada wvr_server: simplify wl-surface mouse interactions 2026-07-05 14:01:45 +09:00
galister 054d1fd9f4 spawned overlays to not inherit parent scale 2026-07-05 04:37:54 +09:00
galister a9c6599d63 smarter overlay spawning 2026-07-05 04:14:07 +09:00
galister 1cbae4c3ad refactor overlay spawning 2026-07-05 03:45:29 +09:00
galister e378749619 wvr_server: constrain popups to output bounds 2026-07-05 02:39:57 +09:00
galister ea6a6dc6e7 wvr_server: popup input to respect surface tree 2026-07-05 02:24:57 +09:00
galister c6117d99de wvr_server: fix scrolling in some esoteric apps 2026-07-05 02:15:48 +09:00
galister ac93d3176c wvr_server: render popups as surface tree 2026-07-05 01:43:06 +09:00
galister 0abebddffe wvr_server: fix mouse cursor not rendering on the very top layer 2026-07-05 01:39:15 +09:00
galister dbda3de755 wvr_server: wheel to support both discrete and smooth 2026-07-05 01:20:15 +09:00
galister 82af4671f0 wvr_server: tweak wheel values & cleanup 2026-07-05 00:40:04 +09:00
galister e38dec41be wvr_server: surface-aware mouse wheel handling 2026-07-05 00:24:51 +09:00
galister 7c0c699b9a wvr_server: actually set DISPLAY for xwayland support 2026-07-04 23:13:04 +09:00
galister ba29dc5c17 wvr_server: xwayland-satellite integration 2026-07-04 22:33:33 +09:00
galister 6697935ac2 wvr_server: only send Activated when size is known 2026-07-04 21:56:44 +09:00
galister b45c8656bc wvr_server: actually create ViewporterState 2026-07-04 21:52:54 +09:00
galister 8f09a13917 fix xdg-decoration + add wl-viewporter 2026-07-04 21:34:53 +09:00
galister ee82b4ab93 wvr_server: fix mouse input on subsurfaces 2026-07-04 21:34:32 +09:00
galister 82a8e801c2 wvr_server: drain redraw requests 2026-07-04 21:04:20 +09:00
galister 074787d18e wvr_server: actually use dmabuf cache 2026-07-04 20:48:38 +09:00
galister de9805f1e4 wvr_server: SHM importer to respect stride 2026-07-04 20:47:01 +09:00
galister 0e69eec769 subsurfaces use srgb 2026-07-04 20:44:26 +09:00
galister 8b873060b7 cleanup 2026-07-04 20:05:28 +09:00
galister 59bda287ba wvr_server: context menu graphics fix 2026-07-04 20:04:36 +09:00
galister 9b3f315ff1 wvr_server: context menu mouse fixes 2026-07-04 19:39:43 +09:00
galister f0f3402650 wvr_server: rework popup mouse handling 2026-07-04 19:39:43 +09:00
galister 052253f7f4 wvr_server: callbacks after render, force render cases 2026-07-04 19:39:43 +09:00
galister c98791aeb7 wvr_server: output enter & leave for xdg-toplevel 2026-07-04 19:39:43 +09:00
galister 0cea27c066 wvr_server: release dma buffer after next buffer is loaded 2026-07-04 19:39:43 +09:00
galister 8fa29c0e28 wvr_server: dont release dma buffer 2026-07-04 19:39:43 +09:00
galister e16cc7b077 wvr_server: send configure for xdg-decoration 2026-07-04 19:39:43 +09:00
Aleksander 6aba32ae05 Merge branch 'wgui_tooltip_fixes' 2026-07-03 22:12:45 +02:00
Aleksander b8ae840ca4 wgui: fix label wrap code, correct position of out-of-bounds tooltips 2026-07-03 21:52:10 +02:00
galister 3e6fc12f40 update --show doc 2026-07-04 03:50:24 +09:00
Aleksander 1fb2b9ccf2 wgui: bugfix: always recompute layout before refreshing the component
This allows us to get computed widget boundaries inasted of bogus values
2026-07-03 20:50:09 +02:00
galister 3a6b1a2d00 fix ci 2026-07-04 03:49:51 +09:00
galister 28e164d843 cargo fmt 2026-07-04 03:49:51 +09:00
galister 3e8b2ace93 app.tick() + whisper auto-unload 2026-07-04 03:49:51 +09:00
Aleksander 6f8afea588 whisper: host the models inside wayvr.org 2026-07-04 03:49:51 +09:00
galister 2979469a5e whisper enter key 2026-07-04 03:49:51 +09:00
galister b3594e1afb update translations (dash) 2026-07-04 03:49:51 +09:00
galister ed5b005ca6 update translations 2026-07-04 03:49:51 +09:00
galister 8baac0d298 translator: allow specifying llama url 2026-07-04 03:49:51 +09:00
galister 6dd624e046 whisper working 2026-07-04 03:49:51 +09:00
galister dd9838f5ff whisper ui tweaks + osc send 2026-07-04 03:49:51 +09:00
galister 885ee55722 whisper transcription working 2026-07-04 03:49:51 +09:00
galister 37a161c489 only display whisper settings if built with feature 2026-07-04 03:49:51 +09:00
galister 893df87dec whisper to use rodio 2026-07-04 03:49:51 +09:00
galister d6713176c6 whisper ui 2026-07-04 03:49:51 +09:00
galister 6000986d14 file_downloader to handle redirects 2026-07-04 03:49:51 +09:00
galister 1b8c800de5 wip: whisper stt #2 2026-07-04 03:49:51 +09:00
galister 21a0504601 wip: whisper stt 2026-07-04 03:49:51 +09:00
galister 23f1f32d00 fix ci 2026-07-04 03:38:42 +09:00
galister e3ecef9a65 cargo fmt 2026-07-04 03:24:04 +09:00
galister 00a9dd2b2f app.tick() + whisper auto-unload 2026-07-04 03:20:16 +09:00
Aleksander 90f8ecafe5 whisper: host the models inside wayvr.org 2026-07-03 19:44:29 +02:00
galister 3515b15a71 whisper enter key 2026-07-04 02:02:40 +09:00
galister 77eb7e926e do not show tutorial if started with --show 2026-07-04 01:50:31 +09:00
galister 60e98810d9 update translations (dash) 2026-07-04 01:44:22 +09:00
galister 334e741d19 update translations 2026-07-04 01:36:34 +09:00
galister 843240791f translator: allow specifying llama url 2026-07-04 01:36:25 +09:00
galister 8e84e93293 whisper working 2026-07-04 00:52:25 +09:00
galister a54d1a02bb whisper ui tweaks + osc send 2026-07-04 00:52:25 +09:00
galister 341ee333dc whisper transcription working 2026-07-04 00:52:25 +09:00
galister e032363501 only display whisper settings if built with feature 2026-07-04 00:52:25 +09:00
galister 5ec1866613 whisper to use rodio 2026-07-04 00:52:25 +09:00
galister 6f7bad9bd5 whisper ui 2026-07-04 00:52:25 +09:00
galister a13e393f4c file_downloader to handle redirects 2026-07-04 00:52:25 +09:00
galister 0b2c3052f6 wip: whisper stt #2 2026-07-04 00:52:25 +09:00
galister 4fa811d8be wip: whisper stt 2026-07-04 00:52:25 +09:00
galister 3fe47baa2e fix overlay scale controls 2026-07-04 00:52:12 +09:00
oo8dev ad537c9d92 Merge pull request #558 from wayvr-org/feat/welcome2
Welcome screen continued
2026-07-02 21:29:28 +02:00
Aleksander a92b40afad dash-frontend: update thank you
[skip ci]
2026-07-02 21:28:11 +02:00
Aleksander 61cef3aa79 dash-frontend: add wayvr.org button 2026-07-02 21:16:38 +02:00
Aleksander 4432c3d50f dash-frontend: update donation screen, add avatars 2026-07-02 21:11:55 +02:00
galister 57ae20e67b cargo fmt 2026-07-03 03:50:50 +09:00
Aleksander c6bfcf8b17 dash-frontend: Remove "Show welcome screen" button in the troubleshooting tab 2026-07-02 20:50:13 +02:00
Aleksander c949b20ba1 dash-frontend: fix page 0 elements overflowing 2026-07-02 20:43:52 +02:00
galister d40e0cdb00 fix tutorial_graduated not saving 2026-07-03 03:41:48 +09:00
Aleksander 4140534548 dash-frontend: "Finish tutorial" button, machine-translate strings 2026-07-02 20:07:08 +02:00
galister db960212b6 openxr: playspace reset uses last fix_floor 2026-07-03 02:52:23 +09:00
Aleksander bb43da3b08 dash-frontend: clickable links 2026-07-02 19:47:24 +02:00
Aleksander c3f762a0f3 dash-frontend: Donation screen, translation keys for welcome screen 2026-07-02 19:25:20 +02:00
galister 6090be3d9c dashboard welcome mode 2026-07-03 02:12:40 +09:00
galister 4daff7300f fix scale drift when using align_to_hmd 2026-07-03 00:32:56 +09:00
galister ba8dbc9c14 grab help sprites are color_text 2026-07-03 00:32:43 +09:00
galister 3799ae6629 missing string 2026-07-02 22:41:58 +09:00
Aleksander 2523618522 Machine-translate strings
[skip ci]
2026-07-02 14:35:24 +02:00
galister 6563bbd7de more intuitive bindings order 2026-07-02 20:14:59 +09:00
galister a0c33bc744 fix thresholds being backwards 2026-07-02 20:05:50 +09:00
galister c77e465343 fix CI 2026-07-02 19:58:43 +09:00
galister e2e4ff95c0 cargo fmt 2026-07-02 19:48:08 +09:00
Aleksander e166d46806 Rebase main: integrate wgui changes with the new bindings ui 2026-07-02 19:46:58 +09:00
Aleksander 169fa0d32a dash-frontend: Welcome screen: Add "You're all set" 2026-07-02 19:46:58 +09:00
Aleksander 741ffee62e dash-frontend: Welcome screen: Add center marker video 2026-07-02 19:46:58 +09:00
Aleksander 951dbbd87f dash-frontend: Welcome screen: Improve UX 2026-07-02 19:46:58 +09:00
Aleksander 1742d5f589 wgui: <Video> support [Squash]
commit da9ad32fe4cc80fb5fa3aaa0590a92f297c0d0a2
Author: Aleksander <aleksander@oo8.dev>
Date:   Sat Jun 6 14:44:15 2026 +0200

    wgui: video: variable speed control

commit 683b1115bac91748a84862327cf30d48a8a57258
Author: Aleksander <aleksander@oo8.dev>
Date:   Fri Jun 5 18:44:45 2026 +0200

    wgui: video: framerate control, `looping` parameter in <Video>

commit ddf99d0b43b7caf21f6dd49256feed3055f3f27b
Author: Aleksander <aleksander@oo8.dev>
Date:   Fri Jun 5 12:19:44 2026 +0200

    do not break toml 1.0 syntax compatibility

commit 69803ec6cd1bb1952c672e53556e3d3a875a77ba
Author: Aleksander <aleksander@oo8.dev>
Date:   Fri Jun 5 12:08:25 2026 +0200

    wgui: dav1d video playback works

commit 5c929c4feeba8c3d01bf783dac951cff9760b916
Author: Aleksander <aleksander@oo8.dev>
Date:   Thu Jun 4 23:09:30 2026 +0200

    wgui: use dav1d (wip)

commit 3c2ac4b5f1d84fad439c49f3324c53737244c748
Author: Aleksander <aleksander@oo8.dev>
Date:   Thu Jun 4 21:34:44 2026 +0200

    wgui: <Video> tag (wip), Duck IVF parser (video container), add `video` feature
2026-07-02 19:46:58 +09:00
Aleksander 698ff86c14 update translations, use llama.cpp-compatible API instead of ollama, use gemma4 for translations 2026-07-02 19:16:22 +09:00
Aleksander 0d0b5b8633 wgui: use TemplateParams struct 2026-07-02 19:16:22 +09:00
Aleksander 1a11b475ae Welcome screen basics 2026-07-02 19:16:22 +09:00
galister a9986e6b67 EXT_dpad_binding bindings, odyssey ext 2026-07-02 19:09:22 +09:00
galister 34bd920f3b add setting for input provider 2026-07-02 17:36:36 +09:00
galister 07b7d89be6 dont show thresholds for scroll 2026-07-02 17:00:41 +09:00
galister e93bbdba7b add steam frame default bindings 2026-07-02 17:00:41 +09:00
galister b074983a70 fix warning 2026-07-02 17:00:41 +09:00
galister 3f858e5e2f fix weird range slider behavior 2026-07-02 17:00:41 +09:00
galister a3b1fdcd0d move bindings const to wlx-common, cleanups 2026-07-02 17:00:41 +09:00
galister b906bc6656 per-action thresholds 2026-07-02 17:00:41 +09:00
galister 638af5a608 change default threshold 2026-07-02 17:00:41 +09:00
galister ba598ee77f update default profiles 2026-07-02 17:00:41 +09:00
galister 374f85ee81 controller profiles in rust instead of json 2026-07-02 17:00:41 +09:00
galister 5e316fe0d3 ensure pose & haptics for bindings 2026-07-02 17:00:41 +09:00
galister 025c6a0998 ui for thresholds 2026-07-02 17:00:41 +09:00
galister 8a8c41bd9e clean up some bindings ui code 2026-07-02 17:00:41 +09:00
Aleksander 4edc6053ce dash-frontend: Bindings view UX improvements 2026-07-02 17:00:41 +09:00
Aleksander 0962f4c015 wgui: make context menus unfold from the bottom if the mouse position is at the lower half of the screen 2026-07-02 17:00:41 +09:00
galister d4a64d6490 remove khr simple controller 2026-07-02 17:00:41 +09:00
Aleksander e7a9df17cf Improve "Change input bindings" page a little bit 2026-07-02 17:00:41 +09:00
galister 65fd75eb4a remove some profiles, skip saving none values 2026-07-02 17:00:41 +09:00
galister f3bb2e070b wip: bindings ui 2026-07-02 17:00:41 +09:00
galister 5014cda64a watch sprites to all have color_text 2026-07-02 04:23:29 +09:00
galister 6a24399a9c persist static overlays in world space 2026-06-30 22:14:42 +09:00
galister 42a7175b7f persist global overlays 2026-06-30 22:14:42 +09:00
SparkyTD 28da0347ae Implement zwlr_virtual_pointer_v1 and zwp_virtual_keyboard_v1 for better pointer and keyboard support on monitor overlays (#539)
* Refactor HID subsystem to support zwlr_virtual_pointer_v1/zwp_virtual_keyboard_v1, and only use uinput as a fallback

* Add keymap support to HID providers and refactor related functionality

* Replace `expect` with `context` for improved error handling in wl_virtual.rs

* Run `cargo fmt`

* Replace hard panic with Err on failed seat binding
2026-06-30 22:13:59 +09:00
galister da394ec2c7 when exiting edit mode, pin watch before saving state 2026-06-29 13:10:19 +09:00
galister 3c8f878ede add keyboard button to reload keymap (#548) 2026-06-28 12:33:49 +09:00
at://matrixfurry.com 5723c3c1df readme: add Homebrew installation method (#545) 2026-06-21 12:50:27 +09:00
Hiina 37896620eb wlx-capture: avoid busy loop waiting for screencopy events (#537)
* wlx-capture: avoid busy loop waiting for screencopy events

* wlx-capture: block while waiting for screencopy events
2026-06-09 17:52:31 +09:00
galister 6dc76c881f update deps 2026-06-03 18:25:47 +09:00
galister 4b78e39af7 glyph upload fixes (#531)
* remove unused pass cache, cache imageviews instead

* glyph upload batching

* image upload batching (wip)
2026-06-03 17:29:31 +09:00
oo8dev 7f97dc884f wayvr: Space gravity (#520)
* wayvr: Space gravity (wip)

* dash-frontend: dedicated "Space drag" settings tab, deduplicate overlay shift code in xr&vr, account for gravity shift for static overlays

* space reset & gravity conflict bugfix, add ground friction slider

* Space gravity UI improvements

* space gravity: floor level

* wayvr: space gravity: hide in openvr
2026-06-03 09:51:22 +02:00
art0007i 9806027e19 add watch toggle setting (#526)
* add watch toggle setting

* previous commit broke monado workaround, this fixes it

* use active_state to toggle watch

* use the other monado workaround

* fix whitespace

* cargo fmt
2026-06-03 16:22:09 +09:00
Hiina 066f033a91 fix: preserve screencopy transforms for rotated outputs (#530) 2026-06-03 15:55:50 +09:00
galister 1591466a8d fix some supported settings getting hidden 2026-05-17 18:02:47 +09:00
galister 901c18520e hide unsupported settings depending on backend 2026-05-17 12:46:54 +09:00
Sapphire e39085aa2b openvr: Hide lasers and unblock input when dashboard is open 2026-05-17 12:10:44 +09:00
Sapphire 48d58f61d2 openvr: Hide devices without battery status from battery panel 2026-05-17 12:10:44 +09:00
galister 8691cf99d2 clippy + fmt 2026-05-13 16:39:15 +09:00
galister 80bfb177be range sliders in settings 2026-05-13 16:38:15 +09:00
Aleksander 20743f91eb clippy 2026-05-12 21:59:54 +02:00
Aleksander 5cf7b986f3 wayvr: Remember skymap texture across restarts 2026-05-12 21:39:04 +02:00
Aleksander 3d71746ff2 dash-frontend: watch_view_angle setting (Closes #505), re-format language files 2026-05-12 21:21:04 +02:00
Snemby c7b16c5713 fix space rotate
the change in rotation is computed in the untransformed stage space. To produce the correct rotation change the quaternion needs to be rotated using the space offset
2026-05-13 00:59:27 +09:00
galister ed1d708802 mnd playspace: fetch offset on drag/rotate start 2026-05-12 22:58:42 +09:00
steve hocktailandgalister 557a0775c3 add a toast for uinput errors (#494)
* add a toast for uinput errors

this makes it more obvious if missing uinput permissions are the reason your keyboard and mouse aren't working.

* uinput toaster part 2: the cargo formattening

* increase uinput error toast's timeout to 30 seconds

---------

Co-authored-by: galister <22305755+galister@users.noreply.github.com>
2026-05-12 22:53:14 +09:00
galister 2309f89701 update issue template 2026-05-12 17:11:15 +09:00
oo8dev cdd658d4ea wayvr: IPC: Fix dangling fds (#513) 2026-05-07 22:06:54 +02:00
Aleksander ec2e0501c1 wayvr: skip unsupported config files (Closes #510) 2026-05-03 19:35:49 +02:00
Aleksander f30c650bba wgui: add EventResult::ConsumedExclusive for Slider components
This prevents us from accidentally swipe-scrolling the content if the user tries to change a slider value.
2026-05-03 19:13:45 +02:00
Aleksander 45af52ddf9 wgui: Range sliders, fix swipe scrolling <-> slider conflict 2026-05-03 18:54:31 +02:00
galister 10b14794ed update to upstream pipewire-rs (#508)
* update to upstream pipewire-rs

* CI to use 24.04 without no pipewire ppa

* fix build without openxr feature
2026-05-03 14:36:49 +09:00
oo8dev 6b81f07cc8 wgui: Swipe kinetic scrolling support (#504)
* wgui: use DeviceBitmask instead of usize

* wgui: Swipe logic works (wip)

* wgui: Kinetic scrolling, rubberband effect
2026-05-02 19:21:30 +02:00
galister 9734955ebb dont show skymap tab if not openxr 2026-04-23 19:58:02 +09:00
galister dd3108d423 new built-in sky shader 2026-04-23 19:14:05 +09:00
galister bf7276b2dd skybox downloader: apply button for downloaded skymaps 2026-04-23 19:14:05 +09:00
galister 90c4567505 shuffle some options around 2026-04-23 19:14:03 +09:00
galister 6cddb43b0f default skybox is shader skybox 2026-04-23 19:12:32 +09:00
Aleksander f3732c7087 wayvr: improve grid shader, dash-frontend: make pop-up title non-scrollable 2026-04-22 20:22:45 +02:00
Aleksander 07bd841bc6 dash-frontend: skymap browser ui improvements, wayvr: fix context menus not working 2026-04-22 19:03:47 +02:00
galister 9986b71b26 skybox selector 2026-04-22 19:09:26 +09:00
galister 16446f7808 Merge remote-tracking branch 'origin/feat-skybox-catalog' 2026-04-22 18:24:12 +09:00
galister 5615186654 revert: feat: swipe to type (#451) 2026-04-22 17:43:38 +09:00
galister 244822ffb3 add --no-autostart arg 2026-04-22 17:36:04 +09:00
galister 266b0fd507 reconfigure_environment_blend to handle chroma + skybox + alpha 2026-04-17 14:44:25 +09:00
Aleksander 0d8937ff80 dash-frontend: Dialog boxes, Skymap removal dialog, Skymap resolution selector dialog 2026-04-17 12:10:18 +09:00
Aleksander c59e195d94 dash-frontend: Re-work skymap list, show downloaded resolution pips 2026-04-17 12:10:18 +09:00
galister 994dffc4fb png → dds 2026-04-17 12:10:18 +09:00
Aleksander 701e41296b dash-frontend: Remote skymap downloader finished and fully working 2026-04-17 12:10:18 +09:00
Aleksander b0dba25f36 dash-frontend: File saving, close callbacks 2026-04-17 12:10:18 +09:00
Aleksander 1bee41aea9 dash-frontend: http_client: Progress callback, display download status 2026-04-17 12:10:18 +09:00
Aleksander 2035d9ba76 dash-frontend: ViewTrait, refactoring, download_file::View (wip) 2026-04-17 12:10:18 +09:00
Aleksander 24e3099b7b dash-frontend: remove dangling popups immediately 2026-04-17 12:10:18 +09:00
Aleksander aee5bf69da wgui: Simplify Popup usage 2026-04-17 12:10:18 +09:00
Aleksander 62881c08b3 rebase changes from feat/chroma-key 2026-04-17 12:10:18 +09:00
Aleksander 0c87d47ce6 wgui: Simplify usage and code, no more start_common(), Layout processes alterables 2026-04-17 12:10:18 +09:00
Aleksander 47bb5ab7a2 dash-frontend: skymap downloader dialog 2026-04-17 12:10:18 +09:00
Aleksander e5e798b599 dash-frontend: rename download_skymaps -> remote_skymap_list 2026-04-17 12:10:18 +09:00
Aleksander 68daa5b3df dash-frontend: skymap preview fetch (done), reformat Cargo.toml files 2026-04-17 12:10:18 +09:00
Aleksander f2dcdcc6c3 dash-frontend: list skymaps from the server (wip), loading spinner, wgui: animation bugfix 2026-04-17 12:10:18 +09:00
Aleksander a3460fbe70 dash-frontend: use SettingsTab trait for each settings tab 2026-04-17 12:10:18 +09:00
Aleksander 7f822b6787 dash-frontend: Skymap catalog fetch 2026-04-17 12:10:18 +09:00
Aleksander 1d8b22d992 dash-frontend: "Skybox" tab 2026-04-17 12:10:18 +09:00
galister 1238808d87 fix chroma_key_params not saving 2026-04-14 12:32:54 +09:00
Aleksander 26f5be36b6 dash-frontend: Chroma key settings 2026-04-11 13:48:49 +02:00
Aleksander 0c1b0906c1 wgui: Add ColorSelector component 2026-04-11 00:22:24 +02:00
galister 5eb258e310 update libmonado-rs & oxr chroma key 2026-04-10 20:01:39 +09:00
galister bec00c6f48 fmt 2026-04-10 14:47:36 +09:00
Diamond White db1675d399 feat: swipe to type (#451)
* start to integrate swipetype with keyboardstate

* successful debug implementation

* change to git dependency

* add manual trigger to app image build to test

* use latest swipeType lib to test including binaries

* use clipboard to paste swipe output

* use new prediction engine, move swipe type related logic to its own module

* update appimage bulid to support building ort runtime

* implement swipe selection ui in keyboard overlay

* only add motion data for the device that started the swipe

* process swipes on separate thread to not block ui

* add toggle to settings.rs

* default swipe to type config to false

* remove println, minor fix

* use correct key_dimensions

* use latest swipe_type library version

* optionally use wayvr compositor clipboard when pasting

* remove unused imports

* fix typo in log::error

* fix within key positioning

* run swipes on AltGr keycaps
2026-04-10 14:46:22 +09:00
Aleksander 18f99b5daf dash-frontend: settings: use generics instead of macros, separate each settings tab by a separate file 2026-04-03 00:11:26 +02:00
oo8dev 543f157895 Merge pull request #445 from wayvr-org/feat-monado-timings
feat: Monado debug timings graph
2026-04-02 17:57:46 +02:00
Aleksander 8ad31cfa28 Add feat-monado-timings build feature 2026-04-02 17:43:26 +02:00
Aleksander 80277e0c12 ParserState: add realize_template, fix sliders not being updated 2026-04-02 17:43:26 +02:00
Aleksander 0a4fc34fac dash-interface: fetch client IDs, toggle filter 2026-04-02 17:43:10 +02:00
Aleksander e035fb9d27 separate debug graphs by session ID, selectable session ID list 2026-04-02 17:43:10 +02:00
Aleksander 97fcde1a3b rebase 2026-04-02 17:43:10 +02:00
Aleksander c16c403966 display debug graphs 2026-04-02 17:43:10 +02:00
Aleksander d5148e2107 wgui: ComponentBarGraph, WidgetCustomDraw 2026-04-02 17:43:10 +02:00
Aleksander 0f6f344c97 protobuf parser, read metrics, move async executor to wlx_common 2026-04-02 17:43:10 +02:00
Aleksander 41c6f43a3c dash-frontend: Monado runtime: Tabs, add stub DebugTimings tab 2026-04-02 17:42:38 +02:00
Aleksander f44c4b78bc cargo clippy 2026-03-31 22:15:14 +02:00
Aleksander 5420efa4d3 wayvr: Fix default locale fallback not working properly (regression caused by PR #411) 2026-03-31 21:02:44 +02:00
Aleksander 89f43b95ef Update FUNDING.yml
[skip ci]
2026-03-28 16:57:40 +01:00
founta 00bc179655 Add space reset to openvr actions (#475)
* Add space reset to openvr actions

* remove additional reset state storage
2026-03-28 14:44:14 +09:00
oo8dev a4115f5e4b Merge pull request #478 from wayvr-org/move-doc
docs: move out docs to a separate repo/website, fix typos
2026-03-25 18:39:59 +00:00
Aleksander 6c896bb956 fix typo 2026-03-25 19:39:20 +01:00
galister d9c8689c18 docs move: continuation
Updated links and references to the new GitHub organization.
2026-03-26 03:33:45 +09:00
Aleksander 5df6ce93f8 docs: move out docs to a separate repo/website, fix typos
[skip ci]
2026-03-24 00:19:27 +01:00
Earthgames ee4bb5ca29 Allow the checkbox to be themed (#462) 2026-03-23 12:24:16 +09:00
hare_ware b89ae4726c Revert "fix bindings for wmr controllers"
This reverts commit 285f6db134.
2026-03-23 12:23:01 +09:00
galister b0bbc25083 dont die if autostart app cant be started 2026-03-20 12:48:52 +09:00
Craig McLure 635df298fe Updated the pipewire reference in Cargo.lock 2026-03-18 22:22:00 +09:00
galister 786847cc2f update pipewire-rs to fix build on arch 2026-03-18 12:31:42 +09:00
Aleksander d9f89faf33 wayvr: "Fix floor" countdown timer and sound
- 5-second timeout sound with countdown timer
- sort locale JSON
- modify toast lerp amount
2026-03-16 13:47:51 +09:00
galister 769978560e oops 2026-03-16 13:46:23 +09:00
galister bebc39e766 dbus notify timeout is ms 2026-03-16 13:38:10 +09:00
oo8dev bb15a4e867 Merge pull request #466 from wlx-team/toast-mp3-update
update toast.mp3 sound
2026-03-14 12:23:30 +00:00
Aleksander 84015c7972 update toast.mp3 sound
[skip ci]
2026-03-14 13:20:48 +01:00
galister f2c34fba8f sticky modifier keys explanation in README 2026-03-11 10:44:01 +09:00
Earthgames 1a74eb1507 Use a more common name 2026-03-08 01:18:35 +09:00
Earthgames 6b3f8a7b42 Only convert locale one time 2026-03-08 01:18:35 +09:00
Earthgames ad78fdab24 Hack in full lang codes
Add British
2026-03-08 01:18:35 +09:00
Earthgames 12ceebec6d Used locale in chrono 2026-03-08 01:18:35 +09:00
Earthgames 6f9ca5b3b7 Added documentation for default colors 2026-03-06 12:23:50 +09:00
oo8dev c54b211872 Merge pull request #460 from wlx-team/defaults-globals-refactor
wgui: separate globals from themes
2026-03-05 21:55:46 +00:00
Aleksander cb899235b4 wgui: separate globals and themes 2026-03-05 19:28:42 +01:00
Aleksander a83af3d833 translations 2026-03-05 12:42:04 +01:00
galister e8c8a67fc0 add wiki links to readme 2026-03-03 02:52:51 +09:00
Earthgames 2b4a0b6a0d Changed old link to the new one 2026-03-01 13:53:49 +09:00
galister 5ffa5e59bf skybox cleanups 2026-02-28 13:33:54 +09:00
galister ed8ca1e068 fix copy-paste fail causing stuck images 2026-02-28 13:33:27 +09:00
galister f21776b123 box CompositionLayerColorScaleBiasKHR 2026-02-28 13:10:02 +09:00
Torge Matthies ab3f873a38 fix grid opacity not updating live 2026-02-27 12:30:27 +09:00
oo8dev de6047107e Merge pull request #450 from openglfreak/feat-grid-opacity
add option for grid opacity
2026-02-25 21:14:11 +01:00
Torge Matthies 39152b8548 add option for grid opacity 2026-02-25 20:59:17 +01:00
Kresny b517afc379 Rebind toggle_dashboard and show_hide (#449) 2026-02-25 14:58:30 +09:00
oo8dev b84d565b1e Merge pull request #443 from wlx-team/feat-editbox
Editbox, wgui fixes, doc
2026-02-21 12:23:49 +01:00
Sapphire 46f3a54203 don't block inputs for headless sessions 2026-02-21 14:13:31 +09:00
Sapphire 4afaa6d048 reduce indentations in block_inputs 2026-02-21 14:13:31 +09:00
Sapphire 26f078d512 unblock inputs on exit 2026-02-21 14:13:31 +09:00
Aleksander 124d817752 fix logic bug in push_scissor_stack 2026-02-16 20:33:43 +01:00
Aleksander 2ddb419676 editbox keyboard input, scrollbars fix (scissoring broken atm), clippy 2026-02-14 22:20:51 +01:00
Aleksander 841241a7e6 wgui: Editbox basics, component focus, minor refactoring 2026-02-14 19:24:36 +01:00
Aleksander c902f0cd44 wgui: widgets.md: document tabs 2026-02-14 19:24:36 +01:00
Aleksander 756c42609d use SlotMap 2026-02-14 16:04:36 +01:00
Aleksander 4fc439abe2 uidev: fix color formats
Current implementation picks up the first available color format, which could be HDR (A2R10G10B10_UNORM_PACK32 in my case), but we don't have any color profiles. Stick back to SDR-only instead.
2026-02-14 10:18:41 +01:00
oo8dev 9685576272 Merge pull request #438 from wlx-team/feat-language-selector
Settings: Language selector, "Requires restart" info
2026-02-13 08:33:32 +01:00
galister d2f01c06ec Add Open Collective link 2026-02-13 13:29:53 +09:00
Aleksander 94c36076af Language selector and "requires restart" info 2026-02-12 20:53:06 +01:00
461 changed files with 51595 additions and 16737 deletions

No files matched your search

+1
View File
@@ -0,0 +1 @@
open_collective: wayvr-org
+16 -11
View File
@@ -9,7 +9,9 @@ assignees: ''
## Description
<!--
If this is a regression, please mention which version was working previously.
*** Do NOT use AI to generate a bug report! ***
Simply write down what's wrong and maybe provide screenshots or a video.
If this has worked before, please mention which version was last working.
-->
## System Info
@@ -22,25 +24,28 @@ If this is a regression, please mention which version was working previously.
**Kernel version**:
**VR Runtime**:
- [ ] Monado/WiVRn
- [ ] SteamVR/ALVR
- [ ] Monado
- [ ] WiVRn
- [ ] ALVR
- [ ] SteamLink
- [ ] SteamVR (not SteamLink)
<!-- Run `vulkaninfo --summary` and paste the devices section from the bottom. -->
**GPU models and driver versions**:
## Overlay Logs
<!-- Start the overlay once more with the following environment variables:
RUST_BACKTRACE=full
RUST_LOG=debug
If your issue is graphical or crash or freeze, also add:
VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation
<!-- Start the overlay from terminal, with additional environment variables:
Next, create the empty log file: echo > /tmp/wlx.log
AppImage:
RUST_BACKTRACE=full RUST_LOG=debug /path/to/WayVR.AppImage
Be sure to go and reproduce the issue once more, after these have been set.
System or AUR package:
RUST_BACKTRACE=full RUST_LOG=debug wayvr
Upload the log file from: /tmp/wlx.log
Reproduce the issue once more, while WayVR is running from the terminal.
Upload the log file from: /tmp/wayvr.log
-->
+1 -1
View File
@@ -11,7 +11,7 @@ env:
jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./wayvr
+20 -4
View File
@@ -1,6 +1,7 @@
name: Build AppImage
on:
workflow_dispatch:
push:
branches:
- 'main'
@@ -12,10 +13,17 @@ env:
CARGO_TERM_COLOR: always
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
jobs:
build_appimage:
runs-on: ubuntu-22.04
strategy:
matrix:
include:
- runner: ubuntu-24.04
arch: x86_64
- runner: ubuntu-24.04-arm
arch: aarch64
runs-on: ${{ matrix.runner }}
defaults:
run:
working-directory: ./wayvr
@@ -29,11 +37,19 @@ jobs:
- name: Cargo Build
run: |
../.github/workflows/scripts/appimage_build_wlx.sh
- name: Build xwayland-satellite
run: |
../.github/workflows/scripts/appimage_build_satellite.sh
- name: Package AppImage
run: |
../.github/workflows/scripts/appimage_package.sh
- name: Upload AppImage
uses: actions/upload-artifact@v4
with:
name: WayVR-${{ github.ref_name }}-x86_64.AppImage
path: ./wayvr/WayVR-x86_64.AppImage
name: WayVR-${{ github.ref_name }}-${{ matrix.arch }}.AppImage
path: ./wayvr/WayVR-${{ matrix.arch }}.AppImage
- name: Upload AppImage zsync
uses: actions/upload-artifact@v4
with:
name: WayVR-${{ github.ref_name }}-${{ matrix.arch }}.AppImage.zsync
path: ./wayvr/WayVR-${{ matrix.arch }}.AppImage.zsync
+1 -1
View File
@@ -11,7 +11,7 @@ env:
jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./wayvr
+1 -1
View File
@@ -11,7 +11,7 @@ env:
jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./wayvr
+1 -1
View File
@@ -11,7 +11,7 @@ env:
jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./wayvr
+1 -1
View File
@@ -11,7 +11,7 @@ env:
jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./wayvr
+1 -1
View File
@@ -11,7 +11,7 @@ env:
jobs:
build:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./wayvr
+14 -1
View File
@@ -13,7 +13,7 @@ env:
jobs:
make_release:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
defaults:
run:
working-directory: ./wayvr
@@ -27,6 +27,9 @@ jobs:
- name: Cargo Build
run: |
../.github/workflows/scripts/appimage_build_wlx.sh
- name: Build xwayland-satellite
run: |
../.github/workflows/scripts/appimage_build_satellite.sh
- name: Package AppImage
run: |
../.github/workflows/scripts/appimage_package.sh
@@ -80,6 +83,16 @@ jobs:
asset_name: WayVR-${{ github.ref_name }}-x86_64.AppImage
asset_content_type: application/octet-stream
- name: Upload AppImage zsync
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_KEY }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./wayvr/WayVR-x86_64.AppImage.zsync
asset_name: WayVR-${{ github.ref_name }}-x86_64.AppImage.zsync
asset_content_type: application/octet-stream
- name: Upload vendor tarball
uses: actions/upload-release-asset@v1
env:
+18
View File
@@ -0,0 +1,18 @@
#!/bin/sh
set -eu
sudo apt-get install -y \
xwayland \
libxcb1-dev \
libxcb-cursor-dev \
clang \
pkg-config
git clone https://github.com/Supreeeme/xwayland-satellite.git
cd xwayland-satellite
cargo build --release
chmod +x target/release/xwayland-satellite
cd ..
cp xwayland-satellite/target/release/xwayland-satellite "${APPDIR}/usr/bin"
@@ -1,4 +1,6 @@
#!/bin/sh
set -eu
cargo build --release
chmod +x ../target/release/wayvr
cp ../target/release/wayvr ${APPDIR}/usr/bin
cp ../target/release/wayvr "${APPDIR}/usr/bin"
+34 -3
View File
@@ -1,4 +1,35 @@
#!/bin/sh
export VERSION=$GITHUB_REF_NAME
./linuxdeploy-x86_64.AppImage -dwayvr.desktop -iwayvr.png --appdir=${APPDIR} --output appimage --exclude-library '*libpipewire*'
mv WayVR-$VERSION-x86_64.AppImage WayVR-x86_64.AppImage
set -eu
case "$(uname -m)" in
x86_64|amd64)
APPIMAGE_ARCH=x86_64
;;
aarch64|arm64)
APPIMAGE_ARCH=aarch64
;;
*)
echo "Unsupported architecture: $(uname -m)" >&2
exit 1
;;
esac
LINUXDEPLOY="linuxdeploy-${APPIMAGE_ARCH}.AppImage"
VERSION="${GITHUB_REF_NAME:-dev}"
export VERSION
export LDAI_UPDATE_INFORMATION="gh-releases-zsync|wayvr-org|wayvr|latest|WayVR-*-${APPIMAGE_ARCH}.AppImage.zsync"
echo "Packaging AppImage for ${APPIMAGE_ARCH}"
# linuxdeploy doesn't like multiple -d's being passed
install -Dm 0644 wayvr-headless.desktop "${APPDIR}/usr/share/applications/wayvr-headless.desktop"
"./${LINUXDEPLOY}" \
-dwayvr.desktop \
-iwayvr.png \
--appdir="${APPDIR}" \
--output appimage \
--exclude-library '*libpipewire*'
mv "WayVR-${VERSION}-${APPIMAGE_ARCH}.AppImage" "WayVR-${APPIMAGE_ARCH}.AppImage"
mv "WayVR-${VERSION}-${APPIMAGE_ARCH}.AppImage.zsync" "WayVR-${APPIMAGE_ARCH}.AppImage.zsync"
@@ -1,15 +1,39 @@
#!/bin/sh
set -eu
case "$(uname -m)" in
x86_64|amd64)
APPIMAGE_ARCH=x86_64
;;
aarch64|arm64)
APPIMAGE_ARCH=aarch64
;;
*)
echo "Unsupported architecture: $(uname -m)" >&2
exit 1
;;
esac
LINUXDEPLOY="linuxdeploy-${APPIMAGE_ARCH}.AppImage"
echo "Preparing AppImage environment for ${APPIMAGE_ARCH}"
sudo add-apt-repository -syn universe
sudo add-apt-repository -syn ppa:pipewire-debian/pipewire-upstream || sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 25088A0359807596
sudo apt-get update
sudo apt-get install -y fuse cmake pkg-config fontconfig libasound2-dev libxkbcommon-dev libxkbcommon-x11-0 libxkbcommon-x11-dev libopenxr-dev libfontconfig-dev libdbus-1-dev libpipewire-0.3-0 libpipewire-0.3-dev libspa-0.2-dev libx11-6 libxext6 libxrandr2 libx11-dev libxext-dev libxrandr-dev libopenvr-dev libopenvr-api1 libwayland-dev libegl-dev libxcb-glx0 libxcb-glx0-dev
sudo apt-get install -y fuse cmake pkg-config fontconfig libasound2-dev libxkbcommon-dev libxkbcommon-x11-0 libxkbcommon-x11-dev \
libopenxr-dev libfontconfig-dev libdbus-1-dev libpipewire-0.3-0 libpipewire-0.3-dev libspa-0.2-dev libx11-6 libxext6 libxrandr2 \
libx11-dev libxext-dev libxrandr-dev libopenvr-dev libopenvr-api1t64 libwayland-dev libegl-dev libxcb-glx0 libxcb-glx0-dev \
dav1d libdav1d-dev libvulkan-dev glslc vulkan-tools libudev-dev libudev1 libinput-dev libinput10
rustup update
if [ "$APPDIR" != "" ]; then
test -f linuxdeploy-x86_64.AppImage || wget -q "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
chmod +x linuxdeploy-x86_64.AppImage
if [ -n "${APPDIR:-}" ]; then
if [ ! -f "$LINUXDEPLOY" ]; then
wget -q "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/${LINUXDEPLOY}"
fi
chmod +x "$LINUXDEPLOY"
test -d ${APPDIR} && rm -rf ${APPDIR}
mkdir -p ${APPDIR}/usr/bin
if [ -d "$APPDIR" ]; then
rm -rf "$APPDIR"
fi
mkdir -p "$APPDIR/usr/bin"
fi
+1
View File
@@ -1,3 +1,4 @@
.~lock.*
/target
.gdb_history
.vscode
+46
View File
@@ -0,0 +1,46 @@
# Contributing
Contributions are warmly welcome. Before you start, please read the entire document carefully.
## AI Policy
Do not use LLMs to generate substantial pieces of code. You need to fully understand every line of code you change. No exceptions.
Commits, issues and pull requests must be made by humans. Co-authoring by AI is not allowed.
Looking to create an issue on the project, such as a feature request or bug report? Focus on writing what you know for sure in simple terms. We'll figure it out from there.
Usage of Gen-AI for visuals and audio is prohibited.
The only exception is LLM-translated strings generated by the scripts/translator tool.
## Basics
Before committing, make sure to format your Rust code by running:
```
cargo fmt
```
You should also check for any compiler warnings too:
```
cargo check
```
or even better:
```
cargo clippy
```
## Large contributions
If you want to submit a relatively big pull requests, it's highly advisable to create a separate issue request for it. That way we can discuss the approach and sort out the details first.
## Adding translations
Look at `scripts/translator/run.sh` for more information.
## Licensing
WayVR is developed and published under [GPL-3 License](https://www.gnu.org/licenses/gpl-3.0.en.html).
Generated
+1540 -1808
View File
File diff suppressed because it is too large. Load diff
+47 -36
View File
@@ -1,3 +1,50 @@
[workspace]
resolver = "3"
members = [
"dash-frontend",
"scripts/prost_build",
"uidev",
"wayvr",
"wayvr-ipc",
"wayvrctl",
"wgui",
"wlx-capture",
"wlx-common",
]
[workspace.dependencies]
anyhow = "1.0.100"
async-channel = "2.3"
async-io = "2.1"
bytes = { version = "1.11.1" }
chrono = "0.4.42"
clap = { version = "4.5.53", features = ["derive"] }
dbus = { version = "0.9.12" }
glam = { version = "0.30.9", features = ["mint", "serde"] }
idmap = "0.2.2"
idmap-derive = "0.2.22"
interprocess = { version = "2.2.3" }
libc = "0.2.178"
log = "0.4.29"
pipewire = { version = "0.10", features = ["v0_3_33", "v0_3_65"] }
regex = "1.12.2"
rust-embed = "8.9.0"
serde = { version = "1", features = ["derive"] }
serde_json = "1.0.145"
serde_json5 = "0.2.1"
shell-words = "1.1.1"
slotmap = "1.1.1"
smallvec = "1.15.2"
smol = "2.0.2"
strum = { version = "0.27.2", features = ["derive"] }
tracing-subscriber = { version = "0.3.22", features = ["env-filter"] }
uuid = { version = "1.19.0", features = ["fast-rng", "serde", "v4"] }
wayland-client = { version = "0.31" }
wayland-protocols = { version = "0.32" }
wayland-protocols-misc = { version = "0.3.12" }
winit = "0.30.12"
xdg = "3.0.0"
[profile.dev]
opt-level = 1
debug = true
@@ -19,39 +66,3 @@ incremental = true
[profile.release-with-debug]
inherits = "release"
debug = true
[workspace]
members = [
"uidev",
"wgui",
"wlx-common",
"wayvr",
"wlx-capture",
"dash-frontend",
"wayvr-ipc",
"wayvrctl",
]
resolver = "3"
[patch.crates-io]
vulkano = { git = "https://github.com/galister/vulkano.git", rev = "cf7f92867928a56ce16b376037c1120f2b167678" }
[workspace.dependencies]
anyhow = "1.0.100"
glam = { version = "0.30.9", features = ["mint", "serde"] }
clap = { version = "4.5.53", features = ["derive"] }
xdg = "3.0.0"
idmap = "0.2.2"
idmap-derive = "0.2.22"
log = "0.4.29"
regex = "1.12.2"
rust-embed = "8.9.0"
serde = { version = "1", features = ["derive"] }
serde_json = "1.0.145"
slotmap = "1.1.1"
strum = { version = "0.27.2", features = ["derive"] }
vulkano = { version = "0.35.2", default-features = false, features = [
"macros",
] }
vulkano-shaders = "0.35.0"
wayland-client = { version = "0.31.11" }
+74 -37
View File
@@ -1,4 +1,4 @@
![WayVR splash screen header](https://github.com/wlx-team/wayvr/blob/guide/wayvr-readme-header.webp?raw=true)
![WayVR splash screen header](https://github.com/wayvr-org/wayvr/blob/guide/wayvr-readme-header.webp?raw=true)
# WayVR (previously WlxOverlay-S)
@@ -8,13 +8,13 @@ WayVR lets you access your desktop screens while in VR, and even launch apps dir
In comparison to similar overlays, WayVR aims to run alongside VR games and experiences while having as little performance impact as possible. The UI appearance and rendering techniques are kept as simple and efficient as possible, while still allowing a high degree of customizability.
![Screenshot of WayVR being used as an OpenXR home environment](https://github.com/wlx-team/wayvr/blob/guide/wayvr-readme-screenshot.webp?raw=true)
![Screenshot of WayVR being used as an OpenXR home environment](https://github.com/wayvr-org/wayvr/blob/guide/wayvr-readme-screenshot.webp?raw=true)
## Join the Linux VR Community
We are available on either **Discord** or **Matrix space**:
[![LVRA Discord](https://img.shields.io/discord/1065291958328758352?style=for-the-badge&logo=discord)](https://discord.gg/EHAYe3tTYa) [![LVRA Matrix](https://img.shields.io/matrix/linux-vr-adventures:matrix.org?logo=matrix&style=for-the-badge)](https://matrix.to/#/#linux-vr-adventures:matrix.org)
[![LVRA Discord](https://img.shields.io/discord/1065291958328758352?style=for-the-badge/&logo=discord)](https://discord.gg/EHAYe3tTYa) [![LVRA Matrix](https://img.shields.io/matrix/linux-vr-adventures:matrix.org?logo=matrix&style=for-the-badge)](https://matrix.to/#/#linux-vr-adventures:matrix.org)
Questions/issues specific to WayVR will be handled in the `wayvr` chat room. Feel free to ask anything.
@@ -24,10 +24,11 @@ Questions/issues specific to WayVR will be handled in the `wayvr` chat room. Fee
There are multiple ways to install WayVR:
1. AppImage: Download from [Releases](https://github.com/wlx-team/wayvr/releases)
1. AUR package: [wayvr](https://aur.archlinux.org/packages/wayvr) or [wayvr-git](https://aur.archlinux.org/packages/wayvr-git)
1. AppImage: Download from [Releases](https://github.com/wayvr-org/wayvr/releases)
1. AUR package: [wayvr](https://aur.archlinux.org/packages/wayvr) or [wayvr-git](https://aur.archlinux.org/packages/wayvr-git)
1. Nix package: [wayvr](https://search.nixos.org/packages?channel=unstable&show=wayvr&query=wayvr) or [unstable package from nixpkgs-xr](https://github.com/nix-community/nixpkgs-xr)
1. [Building from source](https://github.com/wlx-team/wayvr/wiki/Building-from-Source).
1. [Homebrew-XR](https://tangled.org/matrixfurry.com/homebrew-xr) package (for Bazzite, etc.): [wayvr](https://tangled.org/matrixfurry.com/homebrew-xr/#installing-applications)
1. [Docs: Building from source](https://wayvr.org/docs/basics/building-from-source/).
### General Setup
@@ -36,11 +37,11 @@ There are multiple ways to install WayVR:
**Note:** If you are using Monado or WiVRn, no additional setup steps are required for Flatpak Steam compatibility—most people use WayVR seamlessly with Monado/WiVRn.
### SteamVR via Steam Flatpak
### SteamVR (PC) via Steam Flatpak
For users specifically running **SteamVR via Steam Flatpak**, follow these steps:
1. Grab the latest AppImage from [Releases](https://github.com/wlx-team/wayvr/releases).
1. Grab the latest AppImage from [Releases](https://github.com/wayvr-org/wayvr/releases).
1. `WayVR-*.AppImage --appimage-extract`
1. `chmod +x squashfs-root/AppRun`
1. Move the newly created `squashfs-root` folder to a location accessible by the Steam Flatpak.
@@ -49,6 +50,20 @@ For users specifically running **SteamVR via Steam Flatpak**, follow these steps
1. Start SteamVR.
1. `flatpak run --command='/path/to/squashfs-root/AppRun' com.valvesoftware.Steam`
### Installing on Steam Frame
Steam Frame support is experimental. Please report issues.
It's possible to install and run WayVR on the Steam Frame in headless mode. You will not have access to your KDE desktop, but you will be able to run applications in 3D space around you.
Steps to install on Steam Frame:
1. Grab the latest aarch64 AppImage
- For nightly AppImages go [here](https://github.com/wayvr-org/wayvr/actions/workflows/build-appimage.yml) and select the topmost list item a ✅️
- The downloads will be on the bottom of the page (GitHub login required).
1. Install the AppImage using GearLever
1. (Recommended) In Frame's SteamVR settings, set overlay quality to High.
1. Start WayVR from the taskbar (same place where you'd start Destkop)
## First Start
**When the screen share pop-up appears, check your notifications or the terminal and select the screens in the order it requests.**
@@ -61,12 +76,11 @@ In case screens were selected in the wrong order:
**WiVRn users**: Select WayVR from the `Application` drop-down. If there's no such entry, select `Custom` and browse to your WayVR executable or AppImage.
**Envision users**: Go to the Plugins menu and select the WayVR plugin. This will download and run the AppImage version of the overlay.
To run a standalone installation (for instance, from the AUR), create a bash script containing `wayvr --openxr --show` and then set this bash script as a custom Envision plugin.
**Envision users**: Go to the Plugins menu and toggle on the WayVR plugin. If WayVR isn't in the Plugins list, or the list is empty, ensure you've installed WayVR fully, such that it appears in your Desktop Environment's application menu. If you've *downloaded* the WayVR AppImage, [Gear Lever](https://github.com/mijorus/gearlever) can *install* it, which creates the application menu entry.
This will show a home environment with headset passthrough enabled by default or a [customizable background](https://github.com/wlx-team/wayvr/wiki/OpenXR-Skybox)!
**SteamVR users**: WayVR no longer registers itself for auto-start, due to bugs in SteamVR. For now, you must start WayVR manually.
**SteamVR users**: WayVR will register itself for auto-start, so there is no need to start it every time. Disclaimer: SteamVR will sometimes disregard this and not start WayVR anyway.
This will show a home environment with headset passthrough enabled by default or a [customizable background](https://wayvr.org/docs/various/openxr-skybox/)!
**Please continue reading the guide below.**
@@ -83,7 +97,9 @@ Show and hide the working set using:
- Non-vive controller: double-tap B or Y on the left controller.
- Vive controller: double-tap the menu button on the left controller (for SteamVR, the `showhide` binding must be bound)
See the [bindings](#default-bindings) section on how to grab, move and resize overlay windows.
Moving overlays: Grab + Joystick
Resizing overlays: Grab + Click + Joystick
### Pointer Modes AKA Laser Colors
@@ -98,20 +114,29 @@ Please see the bindings section below on how to activate these modes.
The guide here uses the colors for ease of getting started.
### Edit mode
Ways to enter Edit mode:
- Edit mode button on Watch face
- Taskbar (top of keyboard) hamburger menu
- Edit mode button on the title bar of WayVR apps (next to X button)
Edit mode lets you grab overlays and reposition them in yourset.
It's also possible to change overlay behavior and tweak your overlays in different way.
While in edit mode, try hovering over various overlays to see their options!
### The watch
Check your left wrist for the watch. The watch is the primary tool for controlling the app.
The top of the watch shows device batteries, and the bottom shows your overlay controls.
Enter edit mode (the leftmost button at the bottom) to edit your overlay sets.
While in edit mode, the watch can also be grabbed and passed between your hands.
After grabbing, the watch will automatically attach to the hand that's opposite from the one that held it.
In edit mode, try hovering over other overlays to see their advanced options!
### The screens
Hovering a pointer over a screen will move the mouse. If more than one pointer is hovering over a screen, the pointer that was last used to click will take precedence.
@@ -125,24 +150,41 @@ The click type depends on the laser color:
### The keyboard
The keyboard sends keys to the screen or WayVR application with the most recent mouse interaction.
On top of the keyboard is the taskbar, which lists WayVR apps as well as screens, mirrors and panels overlays.
Typing
- Use the BLUE laser when typing regularly.
- While using the ORANGE laser, all keystrokes will have SHIFT applied.
- Purple laser is customizable via the settings, no modifier by default.
**Modifier Keys** are sticky. They will remain pressed until a non-modifier key is pressed, the modifier gets toggled off, or the keyboard gets hidden.
**Modifier Keys are sticky**. They will remain pressed until either:
- a non-modifier key is pressed
- the modifier is toggled off by clicking again
- the keyboard is hidden (including via show-hide)
### Default Bindings
![Index Controller Bindings](https://github.com/wlx-team/wayvr/blob/guide/wlx-index.png)
![Index Controller Bindings](https://github.com/wayvr-org/wayvr/blob/guide/wlx-index.png)
![Touch Controller Bindings](https://github.com/wlx-team/wayvr/blob/guide/wlx-oculus.png)
![Touch Controller Bindings](https://github.com/wayvr-org/wayvr/blob/guide/wlx-oculus.png)
To customize bindings on OpenXR, refer to the [OpenXR Bindings wiki page](https://github.com/wlx-team/wayvr/wiki/OpenXR-Bindings).
### Changing Bindings
If your bindings are not supported, please reach out. \
We would like to work with you and include additional bindings.
- SteamVR: Simply change the bindings from the SteamVR bindings section.
- If WayVR doesn't show up on the list, select any other title and then press back on the top left. (SteamVR bug)
- Monado/WiVRn: See WayVR Dashboard → Settings → Controls.
## Customization
See these relevant wiki pages:
- For all available config options, check [Docs: Configuration](https://wayvr.org/docs/basics/configuration/)
- Looking to customize look & feel, or add functionality? See [Docs: Customization](https://wayvr.org/docs/basics/customization/)
- Looking to change the OpenXR background? See [Docs: OpenXR Skybox](https://wayvr.org/docs/various/openxr-skybox/)
## Troubleshooting
@@ -150,18 +192,20 @@ When an error is detected, we often print tips for fixing it into the log file.
Logs will be at `/tmp/wayvr.log` for most distros.
Check [here](https://github.com/wlx-team/wayvr/wiki/Troubleshooting) for tips.
Check [here](https://wayvr.org/docs/various/troubleshooting/) for tips.
## Known Issues
### Mouse is not where it should be
### Mouse movement is wrong
If the mouse is moving on a completely different screen, the screens were likely selected in the wrong order:
**If the mouse is moving on a completely different screen**, the screens were likely selected in the wrong order:
- Go to Settings and press `Clear PipeWire tokens` and then `Restart software`
- Pay attention to your notifications, which tell you in which order to pick the screens.
- If notifications don't show, try starting WayVR from the terminal and look for instructions in there.
**If the mouse is on the correct screen but moves in weird ways**, enter Edit Mode, hover the screen and under Mouse Fixes, select the mode that works.
COSMIC desktop:
- Due to limitations with COSMIC, the mouse can only move on a single display.
@@ -172,19 +216,12 @@ X11 users:
- DPI scaling is not supported and will mess with the mouse.
- Upright screens are not supported and will mess with the mouse.
### Screens are blank or black or frozen on SteamVR 2.14+
### Screens or launched apps don't work when auto-started by SteamVR or WiVRn
As of SteamVR version 2.14.x, PipeWire capture no longer works when using Steam Link.
SteamVR starts WayVR in the Steam runtime, and systemd/flatpak WiVRn can also start WayVR in a sub-optimal environment.
We're unable to completely troubleshoot how and why SteamVR interferes with PipeWire, so consider the following workarounds for the time being:
- Use another streamer, such as WiVRn or ALVR. Note that SteamVR on Linux is considered experimental by Valve themselves [disclaimer](https://github.com/ValveSoftware/SteamVR-for-Linux?tab=readme-ov-file#steamvr-release-notes-and-known-issues).
- If your desktop [supports ScreenCopy](https://wayland.app/protocols/wlr-screencopy-unstable-v1#compositor-support), go to Settings and set `Wayland capture method` to `ScreenCopy`
- If your desktop has an X11 mode, try using that
### Modifiers get stuck
Hiding the keyboard will unpress all of its buttons. Alternatively, go to Settings and use the `Restart software` button.
The easiest fix is to start WayVR separately. It's possible to start WayVR before starting SteamVR/WiVRn by passing `--wait`:
- `wayvr --wait` or `/path/to/WayVR.AppImage --wait`
### X11 limitations
+10 -9
View File
@@ -13,22 +13,23 @@ wgui = { path = "../wgui/" }
wlx-common = { path = "../wlx-common" }
anyhow.workspace = true
chrono.workspace = true
glam = { workspace = true, features = ["mint", "serde"] }
log.workspace = true
xdg.workspace = true
rust-embed.workspace = true
serde = { workspace = true, features = ["rc"] }
serde_json.workspace = true
shell-words.workspace = true
smol = { workspace = true }
strum.workspace = true
uuid.workspace = true
xdg.workspace = true
chrono = "0.4.42"
keyvalues-parser = { git = "https://github.com/CosmicHorrorDev/vdf-rs.git", rev = "fc6dcbea9eb13cacb98dea40063f6f56cde6e145" }
smol = "2.0.2"
hyper = { version = "1.8.1", features = ["client", "http1", "http2"] }
http-body-util = "0.1.3"
async-native-tls = "0.5.0"
smol-hyper = "0.1.1"
keyvalues-parser = "0.2.4"
lz4_flex = { version = "0.13.1", features = ["frame"] }
ureq = "3.3.0"
rand = "0.10.2"
[features]
default = ["monado" ]
default = ["monado"]
monado = []
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M2 21v-2h20v2zm1-3v-7h3v7zm5 0V6h3v12zm5 0V9h3v9zm5 0V3h3v15z"/></svg>

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="#F55" d="m8.4 17l3.6-3.6l3.6 3.6l1.4-1.4l-3.6-3.6L17 8.4L15.6 7L12 10.6L8.4 7L7 8.4l3.6 3.6L7 15.6zm3.6 5q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4T6.325 6.325T4 12t2.325 5.675T12 20m0-8"/></svg>

After

Width:  |  Height:  |  Size: 573 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="#33FF99" d="m9.55 18l-5.7-5.7l1.425-1.425L9.55 15.15l9.175-9.175L20.15 7.4z"/></svg>

After

Width:  |  Height:  |  Size: 295 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M11.7 18q-2.4-.125-4.05-1.85T6 12q0-2.5 1.75-4.25T12 6q2.425 0 4.15 1.65T18 11.7l-2.1-.625q-.325-1.35-1.4-2.212T12 8q-1.65 0-2.825 1.175T8 12q0 1.425.863 2.5t2.212 1.4zm8.825 4.5l-4.275-4.275L15 22l-3-10l10 3l-3.775 1.25l4.275 4.275z"/></svg>

After

Width:  |  Height:  |  Size: 470 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="m12 13.4l-4.9 4.9q-.275.275-.7.275t-.7-.275t-.275-.7t.275-.7l4.9-4.9l-4.9-4.9q-.275-.275-.275-.7t.275-.7t.7-.275t.7.275l4.9 4.9l4.9-4.9q.275-.275.7-.275t.7.275t.275.7t-.275.7L13.4 12l4.9 4.9q.275.275.275.7t-.275.7t-.7.275t-.7-.275z"/></svg>

After

Width:  |  Height:  |  Size: 468 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M9 22q-.825 0-1.412-.587T7 20v-3H4q-.825 0-1.412-.587T2 15v-2h6.45l1.7 2.55q.125.2.35.325t.475.125q.325 0 .6-.2t.375-.5l1.35-4.05l.85 1.3q.15.2.375.325T15 13h7v2q0 .825-.588 1.413T20 17h-3v3q0 .825-.587 1.413T15 22zm1.7-9.25l-.875-1.3q-.125-.2-.35-.325T9 11H2V9q0-.825.588-1.412T4 7h3V4q0-.825.588-1.412T9 2h6q.825 0 1.413.588T17 4v3h3q.825 0 1.413.588T22 9v2h-6.475l-1.7-2.55q-.125-.2-.35-.325T13 8q-.325 0-.587.2t-.363.5z"/></svg>

After

Width:  |  Height:  |  Size: 660 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Iconoir by Luca Burgio - https://github.com/iconoir-icons/iconoir/blob/main/LICENSE --><g fill="none" stroke="currentColor" stroke-linejoin="round" stroke-width="1.5"><path d="M16 6.28a2.28 2.28 0 0 1-.662 1.606c-.976.984-1.923 2.01-2.936 2.958a.597.597 0 0 1-.822-.017l-2.918-2.94a2.28 2.28 0 0 1 0-3.214a2.277 2.277 0 0 1 3.232 0L12 4.78l.106-.107A2.276 2.276 0 0 1 16 6.28Z"/><path stroke-linecap="round" d="m18 20l3.824-3.824a.6.6 0 0 0 .176-.424V10.5A1.5 1.5 0 0 0 20.5 9v0a1.5 1.5 0 0 0-1.5 1.5V15"/><path stroke-linecap="round" d="m18 16l.858-.858a.48.48 0 0 0 .142-.343v0a.49.49 0 0 0-.268-.433l-.443-.221a2 2 0 0 0-2.308.374l-.895.895a2 2 0 0 0-.586 1.414V20M6 20l-3.824-3.824A.6.6 0 0 1 2 15.752V10.5A1.5 1.5 0 0 1 3.5 9v0A1.5 1.5 0 0 1 5 10.5V15"/><path stroke-linecap="round" d="m6 16l-.858-.858A.5.5 0 0 1 5 14.799v0c0-.183.104-.35.268-.433l.443-.221a2 2 0 0 1 2.308.374l.895.895a2 2 0 0 1 .586 1.414V20"/></g></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="32"
height="32"
viewBox="0 0 24 24"
version="1.1"
id="svg1"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs id="defs1" />
<path fill="currentColor" d="m 10,12 c 0,-1.104569 0.895431,-2 2,-2 1.104569,0 2,0.895431 2,2 0,1.104569 -0.895431,2 -2,2 -1.104569,0 -2,-0.895431 -2,-2" id="path1" />
</svg>

After

Width:  |  Height:  |  Size: 422 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="m12 16l-5-5l1.4-1.45l2.6 2.6V4h2v8.15l2.6-2.6L17 11zm-6 4q-.825 0-1.412-.587T4 18v-3h2v3h12v-3h2v3q0 .825-.587 1.413T18 20z"/></svg>

After

Width:  |  Height:  |  Size: 360 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="m12 22l-4.25-4.25l1.425-1.425L11 18.15V13H5.875L7.7 14.8l-1.45 1.45L2 12l4.225-4.225L7.65 9.2L5.85 11H11V5.85L9.175 7.675L7.75 6.25L12 2l4.25 4.25l-1.425 1.425L13 5.85V11h5.125L16.3 9.2l1.45-1.45L22 12l-4.25 4.25l-1.425-1.425L18.15 13H13v5.125l1.8-1.825l1.45 1.45z"/></svg>

After

Width:  |  Height:  |  Size: 500 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="#FF4455" d="M12 17q.425 0 .713-.288T13 16t-.288-.712T12 15t-.712.288T11 16t.288.713T12 17m-1-4h2V7h-2zm1 9q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4T6.325 6.325T4 12t2.325 5.675T12 20m0-8"/></svg>

After

Width:  |  Height:  |  Size: 574 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Lucide by Lucide Contributors - https://github.com/lucide-icons/lucide/blob/main/LICENSE --><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M2 17h18a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H2m0 16V3m5 14v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3"/><circle cx="16" cy="11" r="2"/><circle cx="8" cy="11" r="2"/></g></svg>

After

Width:  |  Height:  |  Size: 462 B

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="32"
height="32"
viewBox="0 0 24 24"
version="1.1"
id="svg1"
sodipodi:docname="gravity.svg"
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="23.234375"
inkscape:cx="17.861466"
inkscape:cy="22.488231"
inkscape:window-width="1582"
inkscape:window-height="1302"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="svg1" />
<defs
id="defs1" />
<!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE -->
<!-- Modified it a little bit, there's no "space gravity" icon available. -->
<path
fill="currentColor"
d="m 15.76786,18.274928 -1.391472,0.295932 -0.674684,-2.9751 -3.051267,-0.735557 -2.4062791,-3.292082 -0.8846145,1.824345 1.561484,2.213127 -1.1706157,0.808349 -1.9932655,-2.862487 1.752944,-3.7745856 Q 7.740355,9.2978686 8.2693798,9.1366908 8.7984057,8.9755132 9.3446883,8.9671549 9.9537305,8.9704882 10.547911,8.8283107 11.142091,8.6861403 11.667399,8.364791 12.192707,8.0434408 12.541821,7.5511898 12.890935,7.0589389 13.170167,6.5208564 l 1.228561,0.6477209 q -0.321651,0.575352 -0.696034,1.1164692 -0.374382,0.5411172 -0.890945,0.9726251 -0.466314,0.3718768 -0.998843,0.6112737 -0.532529,0.2393967 -1.117089,0.3386867 L 12,12 l 2.176682,-1.469824 4.352172,0.934365 -0.326914,1.35612 -3.582453,-0.734464 -2.11263,1.442217 2.281549,0.535655 z M 7.5517982,8.9044443 Q 7.0233673,9.1322023 6.4853273,8.9182692 5.9472884,8.7043353 5.7186139,8.1755407 5.4899403,7.6467461 5.7054294,7.108795 5.9209195,6.5708439 6.4475175,6.3423563 6.9741154,6.1138698 7.5149037,6.3288971 8.0556931,6.5439235 8.2807018,7.07126 8.5057095,7.5985974 8.2948017,8.1383704 8.0838948,8.6781445 7.5517982,8.9044443"
id="path1"
style="stroke-width:0.697484" />
<path
id="path2"
style="fill:none;stroke:currentColor;stroke-width:2.43525;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:0, 7.30575"
d="M 22.480952,12 C 22.480952,17.78847 17.78847,22.480952 12,22.480952 6.2115299,22.480952 1.5190477,17.78847 1.5190477,12 1.5190475,6.2115298 6.2115298,1.5190477 12,1.5190477 c 0.653263,0 1.292568,0.059766 1.912744,0.1741274 C 18.787854,2.5921561 22.480952,6.8647934 22.480952,12 Z"
sodipodi:nodetypes="ssssss" />
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

@@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="48"
height="48"
viewBox="0 0 384.00001 383.99998"
version="1.1"
id="svg1"
sodipodi:docname="hand_left.svg"
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:clip-to-page="false"
inkscape:zoom="8"
inkscape:cx="24"
inkscape:cy="15.9375"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<defs
id="defs1" />
<!-- Icon from Phosphor by Phosphor Icons - https://github.com/phosphor-icons/core/blob/main/LICENSE -->
<path
fill="currentColor"
d="m 223.99926,120.14002 v 90.93 c 0,46.2 -36.85,84.55 -83,85.06 a 83.7,83.7 0 0 1 -60.400003,-24.59 c -21.81,-23.07 -46.45,-79.4 -46.45,-79.4 a 16,16 0 0 1 6.53,-22.23 c 7.66,-4 17.1,-0.84 21.4,6.62 l 21,36.44 a 6.09,6.09 0 0 0 6,3.09 h 0.12 a 8.19,8.19 0 0 0 6.800001,-8.18 v -103.74 A 16,16 0 0 1 112.76926,88.140018 c 8.61,0.4 15.23,7.82 15.23,16.430002 v 63.57 a 8,8 0 0 0 8.53,8 8.17,8.17 0 0 0 7.47,-8.25 V 88.140018 a 16,16 0 0 1 16.77,-15.999999 c 8.61,0.4 15.23,7.82 15.23,16.429999 v 87.570002 a 8,8 0 0 0 8.53,8 8.17,8.17 0 0 0 7.47,-8.25 v -55.3 c 0,-8.61 6.62,-16 15.23,-16.43 a 16,16 0 0 1 16.77,15.98"
id="path1" />
<path
fill="currentColor"
d="M 263.19112,258.73409 V 112.03922 h 18.49095 v 130.25847 h 64.10196 v 16.4364 z"
id="text1"
aria-label="L" />
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="48"
height="48"
viewBox="0 0 384 383.99998"
version="1.1"
id="svg1"
sodipodi:docname="hand_right.svg"
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview1"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="8"
inkscape:cx="24"
inkscape:cy="15.9375"
inkscape:window-width="1920"
inkscape:window-height="1016"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg1" />
<defs
id="defs1" />
<!-- Icon from Phosphor by Phosphor Icons - https://github.com/phosphor-icons/core/blob/main/LICENSE -->
<path
fill="currentColor"
d="M 30.079989,119.60999 V 210.54 c 0,46.2 36.85,84.55 83.000011,85.06 a 83.7,83.7 0 0 0 60.4,-24.59 c 21.81,-23.07 46.45,-79.4 46.45,-79.4 a 16,16 0 0 0 -6.53,-22.23 c -7.66,-4.00001 -17.1,-0.84 -21.4,6.62 l -21,36.44 a 6.09,6.09 0 0 1 -6,3.09 h -0.12 a 8.19,8.19 0 0 1 -6.8,-8.18 V 103.60999 a 16,16 0 0 0 -16.77,-16 c -8.61,0.4 -15.23,7.82 -15.23,16.43 V 167.61 a 8,8 0 0 1 -8.53,8 8.17,8.17 0 0 1 -7.47,-8.25 V 87.60999 A 16,16 0 0 0 93.309986,71.609992 c -8.609997,0.4 -15.229997,7.819999 -15.229997,16.429998 V 175.61 a 8,8 0 0 1 -8.53,8 8.17,8.17 0 0 1 -7.47,-8.25 v -55.30001 c 0,-8.61 -6.62,-16 -15.23,-16.43 a 16,16 0 0 0 -16.77,15.98"
id="path1" />
<path
d="m 301.74274,111.50919 q 27.32551,0 40.26918,10.4782 13.14912,10.27275 13.14912,31.22916 0,11.71094 -4.31456,19.51824 -4.31455,7.80729 -11.09457,12.53275 -6.57456,4.52001 -13.97094,7.19093 l 40.26918,65.7456 h -21.57277 l -35.54372,-60.60923 h -29.17461 v 60.60923 H 261.2681 V 111.50919 Z m -1.02728,16.02549 h -20.95641 v 54.44558 h 21.98369 q 17.87458,0 26.09278,-6.98547 8.2182,-7.19092 8.2182,-20.95642 0,-14.38185 -8.62911,-20.34004 -8.62911,-6.16365 -26.70915,-6.16365 z"
id="text1"
fill="currentColor"
aria-label="R" />
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M15 14v-2h8v2zm-4 7l-3.175-2.85q-1.8-1.625-3.088-2.9t-2.125-2.4t-1.225-2.175T1 8.475q0-2.35 1.575-3.912T6.5 3q1.3 0 2.475.538T11 5.075q.85-1 2.025-1.537T15.5 3q2.125 0 3.563 1.288T20.85 7.3q-.45-.175-.9-.262t-.875-.088q-2.525 0-4.3 1.763T13 13q0 1.3.525 2.463T15 17.45q-.475.425-1.237 1.088T12.45 19.7z"/></svg>

After

Width:  |  Height:  |  Size: 538 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M18.288 16.713Q18 16.425 18 16v-2h-2q-.425 0-.712-.288T15 13t.288-.712T16 12h2v-2q0-.425.288-.712T19 9t.713.288T20 10v2h2q.425 0 .713.288T23 13t-.288.713T22 14h-2v2q0 .425-.288.713T19 17t-.712-.288M1.75 23.626v-3.8zM10.3 20.2q-.35-.125-.625-.4q-1.1-1-2.6-2.275t-2.85-2.737t-2.287-3.063T1 8.475q0-2.35 1.575-3.912T6.5 3q1.3 0 2.475.538T11 5.075q.85-1 2.025-1.537T15.5 3q1.575 0 2.788.738T20.2 5.6q.275.475-.087.963T19.075 7h-.4q-2.125 0-3.9 1.713T13 13q0 1.05.338 1.988T14.4 16.7q.275.3.238.7t-.338.675l-1.975 1.75q-.275.275-.625.388t-.7.112t-.7-.125"/></svg>

After

Width:  |  Height:  |  Size: 785 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M11 17h2v-6h-2zm1.713-8.287Q13 8.425 13 8t-.288-.712T12 7t-.712.288T11 8t.288.713T12 9t.713-.288M12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12t.788-3.9t2.137-3.175T8.1 2.788T12 2t3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22"/></svg>

After

Width:  |  Height:  |  Size: 501 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Design Icons by Pictogrammers - https://github.com/Templarian/MaterialDesign/blob/master/LICENSE --><path fill="currentColor" d="M12 4V2A10 10 0 0 0 2 12h2a8 8 0 0 1 8-8"/></svg>

After

Width:  |  Height:  |  Size: 286 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Design Icons by Pictogrammers - https://github.com/Templarian/MaterialDesign/blob/master/LICENSE --><path fill="currentColor" d="M14.94 19.5L12 17.77L9.06 19.5l.78-3.34l-2.59-2.24l3.41-.29L12 10.5l1.34 3.13l3.41.29l-2.59 2.24M20 2H4v2l4.86 3.64a8 8 0 1 0 6.28 0L20 4m-2 11a6 6 0 1 1-7.18-5.88a5.9 5.9 0 0 1 2.36 0A6 6 0 0 1 18 15m-5.37-8h-1.26l-4-3h9.34Z"/></svg>

After

Width:  |  Height:  |  Size: 470 B

@@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE -->
<path fill="currentColor" d="M12 19q1.65 0 2.825-1.175T16 15v-4q0-1.65-1.175-2.825T12 7T9.175 8.175T8 11v4q0 1.65 1.175 2.825T12 19m-2-3h4v-2h-4zm0-4h4v-2h-4zm2 9q-1.625 0-3.012-.8T6.8 18H4v-2h2.1q-.075-.5-.088-1T6 14H4v-2h2q0-.5.012-1t.088-1H4V8h2.8q.35-.575.788-1.075T8.6 6.05L7 4.4L8.4 3l2.15 2.15q.7-.225 1.425-.225t1.425.225L15.6 3L17 4.4l-1.65 1.65q.575.375 1.038.862T17.2 8H20v2h-2.1q.075.5.088 1T18 12h2v2h-2q0 .5-.013 1t-.087 1H20v2h-2.8q-.8 1.4-2.187 2.2T12 21" />
</svg>

After

Width:  |  Height:  |  Size: 682 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 256 256"><!-- Icon from SVG Logos by Gil Barbara - https://raw.githubusercontent.com/gilbarbara/logos/master/LICENSE.txt --><path fill="#b8d3f4" d="M209.765 128.15c0 16.013-4.9 31.34-13.266 44.575l33.447 33.447a128.9 128.9 0 0 0 25.783-77.35c0-29.265-9.754-55.751-26.47-77.336l-32.776 32.729a79.44 79.44 0 0 1 13.267 43.888z"/><path fill="#7fadf2" d="M127.513 210.355c-45.367-.086-82.125-36.838-82.22-82.205c.069-45.386 36.835-82.166 82.22-82.252c16.732 0 32.058 4.901 44.607 13.267l32.744-32.776A128.97 128.97 0 0 0 127.514.636C57.123.636 0 57.76 0 128.15c0 70.359 57.124 127.513 127.513 127.513a125.13 125.13 0 0 0 77.351-26.501l-33.447-33.431c-11.861 9.754-27.157 14.624-43.904 14.624"/></svg>

After

Width:  |  Height:  |  Size: 772 B

@@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="168"
height="28"
viewBox="0 0 168 28"
fill="none"
version="1.1"
id="svg3"
sodipodi:docname="opencollective_logo.svg"
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs3" />
<sodipodi:namedview
id="namedview3"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="5.9872583"
inkscape:cx="56.286197"
inkscape:cy="5.0941513"
inkscape:window-width="3072"
inkscape:window-height="1664"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg3" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M106.727 5H108.459C108.494 5 108.529 5.03604 108.565 5.10811V20.1712C108.565 20.2432 108.529 20.2793 108.459 20.2793H106.727C106.657 20.2793 106.621 20.2432 106.621 20.1712V5.10811C106.621 5.03604 106.657 5 106.727 5ZM140.011 9.68468H141.954C141.99 9.68468 142.06 9.75676 142.06 9.79279V11.5586C142.06 11.6306 142.025 11.6667 141.954 11.6667H140.011C139.976 11.6667 139.94 11.7027 139.94 11.7387V20.1712C139.94 20.2432 139.905 20.2793 139.834 20.2793H138.103C138.032 20.2793 137.997 20.2432 137.997 20.1712V11.7387C137.997 11.7027 137.962 11.6667 137.926 11.6667H136.018C135.948 11.6667 135.912 11.6306 135.912 11.5586V9.79279C135.912 9.72072 135.948 9.68468 136.018 9.68468H137.926C137.962 9.68468 137.997 9.64865 137.997 9.61261V5.10811C137.997 5.03604 138.032 5 138.103 5H139.834C139.905 5 139.94 5.03604 139.94 5.10811V9.61261C139.94 9.64865 139.976 9.68468 140.011 9.68468ZM145.523 6.2973H143.792C143.721 6.2973 143.686 6.33334 143.686 6.40541V8.17118C143.686 8.24325 143.721 8.27928 143.792 8.27928H145.523C145.594 8.27928 145.629 8.24325 145.629 8.17118V6.40541C145.629 6.33334 145.594 6.2973 145.523 6.2973ZM159.727 17.3243C160.363 18.0451 161.246 18.4775 162.271 18.4775C163.578 18.4775 164.709 17.7207 165.345 16.6397C165.345 16.5676 165.415 16.5676 165.451 16.5676L167.182 16.8919C167.253 16.8919 167.288 16.964 167.253 17.036C166.44 19.018 164.532 20.4234 162.306 20.4234C159.232 20.4234 156.794 17.8288 156.935 14.6937C157.041 11.8829 159.338 9.61263 162.094 9.50452C164.709 9.39641 166.935 11.2342 167.5 13.7207C167.5 13.7568 167.5 13.7928 167.429 13.8288L165.698 14.5856L159.762 17.1442C159.691 17.1802 159.691 17.2523 159.727 17.3243ZM164.815 12.6757C164.214 11.955 163.295 11.4865 162.271 11.4865C160.363 11.4865 158.808 13.036 158.843 15.018V15.3063C158.843 15.3424 158.914 15.4144 158.985 15.3784C159.055 15.3424 164.779 12.8559 164.779 12.8559C164.85 12.8198 164.85 12.7478 164.815 12.6757ZM156.688 9.68469H154.992C154.957 9.68469 154.921 9.72073 154.886 9.75676L152.13 18.009C152.059 18.1892 151.847 18.1892 151.777 18.009L149.021 9.75676C149.021 9.72073 148.985 9.68469 148.915 9.68469H147.219C147.148 9.68469 147.113 9.75676 147.113 9.82884L150.611 20.2072C150.611 20.2433 150.646 20.2793 150.717 20.2793H153.119C153.155 20.2793 153.19 20.2433 153.225 20.2072L156.723 9.82884C156.794 9.75676 156.759 9.68469 156.688 9.68469ZM143.792 9.68469H145.523C145.594 9.68469 145.629 9.75676 145.629 9.7928V20.1712C145.629 20.2433 145.594 20.2793 145.523 20.2793H143.792C143.721 20.2793 143.686 20.2433 143.686 20.1712V9.7928C143.686 9.72073 143.721 9.68469 143.792 9.68469ZM130.612 18.4775C128.492 18.4775 126.832 16.5315 127.22 14.2973C127.432 13.0721 128.634 11.8108 129.835 11.5586C131.142 11.2703 132.379 11.7387 133.156 12.6396C133.192 12.6757 133.262 12.6757 133.298 12.6396L134.534 11.3784C134.57 11.3423 134.57 11.2703 134.534 11.2342C133.51 10.0811 131.99 9.39639 130.33 9.46847C127.609 9.61261 125.348 11.8829 125.206 14.6577C125.065 17.7928 127.503 20.3874 130.577 20.3874C132.132 20.3874 133.545 19.7027 134.534 18.6216C134.57 18.5856 134.57 18.5495 134.534 18.5135L133.298 17.2523C133.262 17.2162 133.192 17.2162 133.156 17.2523C132.556 18.045 131.637 18.4775 130.612 18.4775ZM112.239 5H110.508C110.437 5 110.402 5.03604 110.402 5.10811V20.1712C110.402 20.2432 110.437 20.2793 110.508 20.2793H112.239C112.31 20.2793 112.345 20.2432 112.345 20.1712V5.10811C112.345 5.03604 112.275 5 112.239 5ZM86.7287 14.2973C86.3401 16.5315 88.0007 18.4775 90.1207 18.4775C91.1454 18.4775 92.064 18.045 92.6647 17.2523C92.7 17.2162 92.7707 17.2162 92.806 17.2523L94.0427 18.5135C94.078 18.5495 94.078 18.5856 94.0427 18.6216C93.0533 19.7027 91.64 20.3874 90.0854 20.3874C87.0114 20.3874 84.5734 17.7928 84.7147 14.6577C84.8561 11.8829 87.1174 9.61261 89.838 9.46847C91.4987 9.39639 93.018 10.0811 94.0427 11.2342C94.078 11.2703 94.078 11.3423 94.0427 11.3784L92.806 12.6396C92.7707 12.6757 92.7 12.6757 92.6647 12.6396C91.8873 11.7387 90.6507 11.2703 89.3434 11.5586C88.142 11.8108 86.9407 13.0721 86.7287 14.2973ZM74.6383 9.5045C73.5076 9.5045 72.2003 10.2252 71.5997 11.0901C71.5643 11.1622 71.423 11.1261 71.423 11.0541V9.79279C71.423 9.75675 71.3877 9.68468 71.317 9.68468H69.5857C69.5503 9.68468 69.4797 9.72072 69.4797 9.79279V15.018V20.2072C69.4797 20.2432 69.515 20.3153 69.5857 20.3153H71.317C71.3523 20.3153 71.423 20.2793 71.423 20.2072V15.018C71.423 13.036 72.7303 11.6306 74.603 11.6306C77.0763 11.6306 77.8183 13.2883 77.8183 15.2342V20.2072C77.8183 20.2432 77.8536 20.3153 77.9243 20.3153H79.6556C79.6909 20.3153 79.7616 20.2793 79.7616 20.2072V15.2342C79.7969 12.2072 78.3836 9.5045 74.6383 9.5045ZM60.6818 17.3243C61.3178 18.045 62.2011 18.4775 63.2257 18.4775C64.5331 18.4775 65.6637 17.7207 66.2997 16.6396C66.2997 16.5676 66.3704 16.5676 66.4057 16.5676L68.137 16.8919C68.2077 16.8919 68.243 16.964 68.2077 17.036C67.395 19.018 65.4871 20.4234 63.2611 20.4234C60.1871 20.4234 57.7491 17.8288 57.8905 14.6937C57.9965 11.8829 60.2931 9.61261 63.0491 9.5045C65.663Line truncated
fill="#4B4E52"
id="path1"
style="fill:#ffffff;fill-opacity:1" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M26.009 6.02649C27.5796 8.28932 28.5 11.037 28.5 14C28.5 16.963 27.5796 19.711 26.009 21.9735L22.3826 18.3471C23.0948 17.0585 23.5001 15.5764 23.5001 14C23.5001 12.4236 23.0948 10.9418 22.3826 9.65324L26.009 6.02649Z"
fill="#99CFFF"
id="path2" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M22.4735 2.49111L18.8468 6.11758C17.5582 5.40539 16.0764 5.00002 14.5 5.00002C9.5295 5.00002 5.4999 9.02962 5.4999 14.0001C5.4999 18.9706 9.5295 23.0002 14.5 23.0002C16.0764 23.0002 17.5582 22.5949 18.8468 21.8827L22.4735 25.5091C20.2107 27.0796 17.463 28.0001 14.5 28.0001C6.76808 28.0001 0.5 21.732 0.5 14.0001C0.5 6.26819 6.76808 0.00012207 14.5 0.00012207C17.463 0.00012207 20.2107 0.920596 22.4735 2.49111Z"
fill="#1F87FF"
id="path3" />
</svg>

After

Width:  |  Height:  |  Size: 9.5 KiB

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M9.175 10.825Q8 9.65 8 8t1.175-2.825T12 4t2.825 1.175T16 8t-1.175 2.825T12 12t-2.825-1.175M4 20v-2.8q0-.85.438-1.562T5.6 14.55q1.55-.775 3.15-1.162T12 13t3.25.388t3.15 1.162q.725.375 1.163 1.088T20 17.2V20z"/></svg>

After

Width:  |  Height:  |  Size: 442 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M17 10q-.825 0-1.412-.575T15 8V4q0-.85.588-1.425T17 2q.85 0 1.425.575T19 4v4q0 .85-.575 1.425T17 10M5 22q-.825 0-1.412-.587T3 20V4q0-.825.588-1.412T5 2h8v2H5v16h11v-2h2v2q0 .825-.587 1.413T16 22zm2-4v-2h7v2zm0-3v-2h5v2zm11 1h-2v-2.6q-1.925-.35-3.213-1.862T11.5 8h2q0 1.45 1.025 2.475T17 11.5q1.475 0 2.488-1.025T20.5 8h2q0 2.025-1.275 3.538T18 13.4z"/></svg>

After

Width:  |  Height:  |  Size: 585 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M7 21q-.825 0-1.412-.587T5 19V6H4V4h5V3h6v1h5v2h-1v13q0 .825-.587 1.413T17 21zM17 6H7v13h10zM9 17h2V8H9zm4 0h2V8h-2zM7 6v13z"/></svg>

After

Width:  |  Height:  |  Size: 360 B

+1
View File
@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Google Material Icons by Material Design Authors - https://github.com/material-icons/material-icons/blob/master/LICENSE --><path fill="currentColor" d="M20 12c0-2.54-1.19-4.81-3.04-6.27L16 0H8l-.95 5.73C5.19 7.19 4 9.45 4 12s1.19 4.81 3.05 6.27L8 24h8l.96-5.73A7.98 7.98 0 0 0 20 12M6 12c0-3.31 2.69-6 6-6s6 2.69 6 6s-2.69 6-6 6s-6-2.69-6-6"/></svg>

After

Width:  |  Height:  |  Size: 448 B

@@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Design Icons by Pictogrammers - https://github.com/Templarian/MaterialDesign/blob/master/LICENSE --><path fill="currentColor" d="M1.5 4v1.5c0 4.15 2.21 7.78 5.5 9.8V20h15v-2c0-2.66-5.33-4-8-4h-.25C9 14 5 10 5 5.5V4m9 0a4 4 0 0 0-4 4a4 4 0 0 0 4 4a4 4 0 0 0 4-4a4 4 0 0 0-4-4"/></svg>

After

Width:  |  Height:  |  Size: 391 B

+57 -47
View File
@@ -1,12 +1,20 @@
<layout>
<include src="theme.xml" />
<theme>
<layout version="2">
<vars>
<var key="side_size" value="48" />
<var key="top_size" value="40" />
<var key="side_sprite_size" value="26" />
<var key="side_button_size" value="48" />
</theme>
</vars>
<blueprint name="context_menu_power_options">
<context_menu>
<cell translation="APP_SETTINGS.RESTART_WAYVR" action="restart" sprite_src_builtin="@/dashboard/refresh.svg"/>
<cell translation="APP_SETTINGS.CLOSE_WAYVR" action="close" sprite_src_builtin="@/dashboard/close.svg"/>
<separator/>
<cell translation="POWER_OPTIONS.SUSPEND" action="suspend" sprite_src_builtin="@/dashboard/sleep.svg"/>
<cell translation="POWER_OPTIONS.SHUTDOWN" action="shutdown" sprite_src_builtin="@/dashboard/power.svg"/>
</context_menu>
</blueprint>
<template name="SideButton">
<Button
@@ -14,10 +22,8 @@
round="100%"
width="~side_button_size"
height="~side_button_size"
color="#44444400"
hover_color="#333333ff"
border_color="#00000000"
hover_border_color="#555555ff"
color="background_contrast(transparent)"
border_color="background_contrast"
tooltip="${tooltip}"
tooltip_side="${tooltip_side}"
>
@@ -39,18 +45,18 @@
<rectangle
width="100%"
round="100%"
color="~color_menu_dark"
color="background_contrast"
flex_direction="column"
justify_content="center"
align_items="center"
gap="4"
>
<SideButton id="btn_side_home" src_builtin="dashboard/wayvr_dashboard_mono.svg" tooltip="HOME_SCREEN" tooltip_side="right" />
<SideButton id="btn_side_apps" src_builtin="dashboard/apps.svg" tooltip="APPLICATIONS" tooltip_side="right" />
<SideButton id="btn_side_games" src_builtin="dashboard/games.svg" tooltip="GAMES" tooltip_side="right" />
<SideButton id="btn_side_monado" src_builtin="dashboard/monado.svg" tooltip="MONADO_RUNTIME" tooltip_side="right" />
<rectangle height="2" color="#FFFFFF33" width="~side_sprite_size" />
<SideButton id="btn_side_settings" src_builtin="dashboard/settings.svg" tooltip="SETTINGS" tooltip_side="right" />
<SideButton id="btn_side_home" src_builtin="@/dashboard/wayvr_dashboard_mono.svg" tooltip="HOME_SCREEN" tooltip_side="right" />
<SideButton id="btn_side_apps" src_builtin="@/dashboard/apps.svg" tooltip="APPLICATIONS" tooltip_side="right" />
<SideButton id="btn_side_games" src_builtin="@/dashboard/games.svg" tooltip="GAMES" tooltip_side="right" />
<SideButton id="btn_side_monado" src_builtin="@/dashboard/monado.svg" tooltip="MONADO_RUNTIME" tooltip_side="right" />
<rectangle height="2" color="outline" width="~side_sprite_size" />
<SideButton id="btn_side_settings" src_builtin="@/dashboard/settings.svg" tooltip="SETTINGS" tooltip_side="right" />
</rectangle>
</div>
<!-- REST -->
@@ -65,14 +71,15 @@
<div position="relative" width="100%" height="~top_size" min_height="~top_size" max_height="~top_size" justify_content="end">
<!-- Title bar -->
<div width="100%" align_items="center" justify_content="center">
<rectangle min_width="300" height="100%" consume_mouse_events="1" round="100%" color="~color_top_panel" align_items="center" justify_content="center" gap="8">
<sprite id="sprite_titlebar_icon" width="24" height="24" />
<label id="label_titlebar_title" weight="bold" size="16" text="Title" />
<rectangle min_width="300" height="100%" consume_mouse_events="1" round="100%" color="background_contrast" align_items="center" justify_content="center" gap="8">
<sprite id="sprite_titlebar_icon" width="24" height="24" color="on_background_contrast" />
<label id="label_titlebar_title" weight="bold" size="16" text="Title" color="on_background_contrast" />
</rectangle>
</div>
<!-- Close button -->
<Button position="absolute" id="btn_close" color="~color_top_panel" round="100%" width="~top_size" height="~top_size" tooltip="CLOSE_WINDOW" tooltip_side="left">
<sprite src_builtin="dashboard/close.svg" width="32" height="32" />
<Button position="absolute" id="btn_close" color="background_contrast" border_color="background_contrast" round="100%" width="~top_size" height="~top_size" tooltip="CLOSE_WINDOW" tooltip_side="left"
hover_color="danger" hover_border_color="danger(rgb-mult-0.5)" >
<sprite src_builtin="@/dashboard/close.svg" width="32" height="32" />
</Button>
</div>
@@ -80,32 +87,32 @@
<!-- color and color2 alpha will be modified at runtime -->
<rectangle
id="rect_content"
color2="#0d131a00"
color="#252f5300"
color2="background_contrast"
color="background"
gradient="vertical"
round="8"
flex_grow="1"
width="100%"
overflow_y="scroll"
overflow="scroll"
position="relative"
>
<!-- radial gradient -->
<rectangle
position="absolute" width="100%" height="100%"
gradient="radial" color="#44BBFF11" color2="#00000000" />
gradient="radial" color="background_variant(opacity-0.5)" color2="background_variant(transparent)" />
<div
id="content"
flex_direction="column"
overflow_x="scroll"
overflow_y="scroll"
padding="16"
gap="8"
width="100%"
min_height="100%"
>
<!-- filled-in at runtime -->
<div overflow_x="scroll" overflow_y="scroll" width="100%" height="100%">
<div
id="content"
flex_direction="column"
gap="8"
width="100%"
height="100%"
>
<!-- padding set at runtime -->
<!-- filled-in at runtime -->
</div>
</div>
<div position="absolute" id="popup_manager" width="100%" height="100%" />
</rectangle>
<!-- BOTTOM PANEL -->
@@ -120,39 +127,42 @@
flex_direction="row"
align_items="center"
justify_content="space_between"
color="~color_bottom_panel"
color="background"
>
<!-- left gradient -->
<div position="absolute" width="100%" height="100%" justify_content="start">
<rectangle position="absolute" width="40%" height="100%" color="#0a0a0a" color2="#0a0a0a00" round="8" gradient="horizontal" />
<rectangle position="absolute" width="40%" height="100%" color="shadow" color2="shadow(transparent)" round="8" gradient="horizontal" />
</div>
<!-- right gradient -->
<div position="absolute" width="100%" height="100%" justify_content="end">
<rectangle position="absolute" width="40%" height="100%" color2="#0a0a0a" color="#0a0a0a00" round="8" gradient="horizontal" />
<rectangle position="absolute" width="40%" height="100%" color2="shadow" color="shadow(transparent)" round="8" gradient="horizontal" />
</div>
<!-- top shine -->
<div position="absolute" width="100%" height="100%" justify_content="center">
<rectangle position="absolute" width="99%" height="2" color="#FFFFFF22" round="4" />
<rectangle position="absolute" width="99%" height="2" color="highlight(opacity-0.2)" round="4" />
</div>
<!-- Left bottom side -->
<div margin_left="8">
<Button id="btn_audio" color="#FFFFFF00" border_color="#FFFFFF00" tooltip="AUDIO.VOLUME" tooltip_side="top">
<sprite src_builtin="dashboard/volume.svg" width="24" height="24" margin="8" />
<Button id="btn_power" color="background(transparent)" border_color="background(transparent)" tooltip="POWER_OPTIONS.TITLE" tooltip_side="top">
<sprite src_builtin="@/dashboard/power.svg" width="24" height="24" margin="8" />
</Button>
<Button id="btn_recenter" color="#FFFFFF00" border_color="#FFFFFF00" tooltip="ACTIONS.RECENTER_PLAYSPACE" tooltip_side="top">
<sprite src_builtin="dashboard/recenter.svg" width="24" height="24" margin="8" />
<Button id="btn_audio" color="background(transparent)" border_color="background(transparent)" tooltip="AUDIO.VOLUME" tooltip_side="top">
<sprite src_builtin="@/dashboard/volume.svg" width="24" height="24" margin="8" />
</Button>
<Button id="btn_recenter" color="background(transparent)" border_color="background(transparent)" tooltip="ACTIONS.RECENTER_PLAYSPACE" tooltip_side="top">
<sprite src_builtin="@/dashboard/recenter.svg" width="24" height="24" margin="8" />
</Button>
</div>
<!-- Right bottom side -->
<div margin_right="16">
<label id="label_time" size="16" weight="light" />
<label id="label_time" weight="bold" size="16" color="on_background" />
</div>
</rectangle>
</div>
</div>
</elements>
</layout>
</layout>
@@ -1,25 +1,23 @@
<layout>
<include src="theme.xml" />
<layout version="2">
<macro name="dropdown_button"
flex_direction="row"
border="2"
color="#00000055"
border_color="#FFFFFF66"
color="background"
border_color="outline"
justify_content="space_between" />
<!-- id, text, translation, tooltip -->
<!-- id, text, translation, tooltip, min_width -->
<template name="DropdownButton">
<label text="${text}" translation="${translation}" />
<Button id="${id}" height="32" tooltip="${tooltip}" >
<div padding_left="8" padding_right="8" min_width="200">
<div padding_left="8" padding_right="8" min_width="${min_width}">
<label id="${id}_value" weight="bold" />
</div>
<div gap="2">
<div padding_top="4" padding_bottom="4">
<rectangle width="2" height="100%" color="#FFFFFF66" />
<rectangle width="2" height="100%" color="outline" />
</div>
<sprite margin_left="-4" width="30" height="30" color="~color_text" src_builtin="dashboard/down.svg" />
<sprite margin_left="-4" width="30" height="30" src_builtin="@/dashboard/down.svg" />
</div>
</Button>
</template>
+16 -11
View File
@@ -1,22 +1,27 @@
<layout>
<include src="theme.xml" />
<layout version="2">
<macro name="group_box"
flex_direction="column"
align_items="baseline"
border="2"
color="#00000055"
border_color="#FFFFFF66"
color="background_contrast(opacity-0.5)"
border_color="outline"
padding="12"
gap="8"
round="8" />
round="8"/>
<!-- id -->
<template name="GroupBox">
<rectangle macro="group_box" id="rect">
<CHILDREN/>
</rectangle>
</template>
<!-- src, text, translation -->
<!-- src_builtin, text, translation -->
<template name="GroupBoxTitle">
<div flex_direction="row" align_items="center" gap="8">
<sprite src="${src}" src_builtin="${src_builtin}" width="24" height="24" />
<label text="${text}" translation="${translation}" weight="bold" size="18" />
<sprite src_builtin="${src_builtin}" width="24" height="24" color="secondary" />
<label text="${text}" translation="${translation}" weight="bold" size="18" color="secondary" />
</div>
<rectangle color="#FFFFFF44" width="100%" height="2" />
<rectangle color="outline" width="100%" height="2" />
</template>
</layout>
</layout>
+16
View File
@@ -0,0 +1,16 @@
<layout version="2">
<template name="LoadingWithText">
<div id="root" width="100%" height="100%" align_items="center" justify_content="center">
<div flex_direction="row" gap="8" align_items="center" >
<sprite id="sprite_loading" src_builtin="@/dashboard/loading.svg" width="32" height="32" color="on_background"/>
<label translation="LOADING" weight="bold"/>
</div>
</div>
</template>
<template name="LoadingWithoutText">
<div id="root" width="100%" height="100%" align_items="center" justify_content="center">
<sprite id="sprite_loading" src_builtin="@/dashboard/loading.svg" width="32" height="32" color="on_background"/>
</div>
</template>
</layout>
+4 -8
View File
@@ -1,16 +1,12 @@
<layout>
<include src="theme.xml" />
<layout version="2">
<macro name="home_button" round="8" hover_color="primary" hover_border_color="on_primary" />
<template name="MenuButton">
<Button
id="${id}"
width="120"
height="82"
color="#00000033"
border_color="#FFFFFF77"
hover_color="~color_accent"
hover_border_color="#FFFFFF"
round="8">
macro="home_button">
<div gap="8"
align_items="center"
justify_content="center"
@@ -20,4 +16,4 @@
</div>
</Button>
</template>
</layout>
</layout>
+3 -3
View File
@@ -1,5 +1,5 @@
<layout>
<layout version="2">
<template name="Separator">
<rectangle width="100%" height="1" color="#FFFFFF77" />
<rectangle width="100%" min_height="2" color="outline" />
</template>
</layout>
</layout>
+20 -12
View File
@@ -1,14 +1,14 @@
<layout>
<include src="../theme.xml" />
<layout version="2">
<include src="@/gui/t_group_box.xml" />
<!-- tooltip, src, src_ext, name -->
<template name="AppEntry">
<Button
id="button" width="116" max_width="140" min_height="100" flex_grow="1"
id="button" tooltip_side="bottom" tooltip="${tooltip}" width="116" max_width="140" min_height="100" flex_grow="1"
flex_direction="column" overflow="visible" align_items="center" justify_content="center" gap="4"
color="#3385FF10"
>
<div>
<sprite src="${src}" src_ext="${src_ext}" width="64" height="64" />
<sprite src="${src}" src_ext="${src_ext}" width="64" height="64" color="#FFFFFF" parent_color="ignore" />
</div>
<div align_items="center" justify_content="center">
<label width="116" weight="bold" text="${name}" size="12" wrap="1" align="center" padding_left="16" padding_right="16" />
@@ -17,9 +17,9 @@
</template>
<template name="CategoryText">
<rectangle width="100%" flex_direction="column" round="8" border="2" gradient="vertical" color2="#4477FF09" color="#5588FF10" border_color="#FFFFFF00">
<rectangle width="100%" flex_direction="column" round="8" border="2" gradient="vertical" color2="background" color="background_variant" border_color="outline">
<label margin="8" text="${text}" weight="bold" size="22" />
<rectangle height="2" color="~color_accent" margin_left="4" margin_right="4" />
<rectangle height="2" color="primary" margin_left="4" margin_right="4" />
</rectangle>
</template>
@@ -28,23 +28,31 @@
<!--
<div gap="4" align_items="center">
<Button width="48" height="38">
<sprite src_builtin="dashboard/alphabetical.svg" width="24" height="24" />
<sprite src_builtin="@/dashboard/alphabetical.svg" width="24" height="24" />
</Button>
<Button width="48" height="38">
<sprite src_builtin="dashboard/category_search.svg" width="24" height="24" />
<sprite src_builtin="@/dashboard/category_search.svg" width="24" height="24" />
</Button>
<sprite src_builtin="dashboard/search.svg" width="24" height="24" />
<sprite src_builtin="@/dashboard/search.svg" width="24" height="24" />
<rectangle flex_grow="1" height="100%" color="#1d2e51" border_color="#294774" border="2" round="4" align_items="center" padding_left="12">
<label text="Search" color="#FFFFFF88" weight="bold" />
</rectangle>
</div>
-->
<GroupBox>
<div align_items="center" gap="8">
<sprite src_builtin="@/dashboard/heart_plus.svg" color="primary" min_width="24" min_height="24"/>
<label translation="PINNED_APPS"/>
</div>
<div id="pinned_apps_parent" flex_direction="row" flex_wrap="wrap" gap="4">
<!-- filled-in at runtime -->
</div>
</GroupBox>
<div
id="app_list_parent"
flex_direction="row"
flex_wrap="wrap"
gap="4"
overflow_y="scroll"
/>
</elements>
</layout>
</layout>
+65
View File
@@ -0,0 +1,65 @@
<layout version="2">
<include src="@/gui/t_separator.xml" />
<template name="TierCell">
<div gap="8" align_items="center">
<sprite width="28" height="28" src_builtin="@/dashboard/medal.svg" color="${color}"/>
<label text="${text}" weight="bold" size="18" color="${color}" shadow="shadow"/>
</div>
</template>
<template name="SupporterCell">
<rectangle padding="8" color="background(transparent)" round="8" border="2" border_color="outline" gap="8" align_items="center" flex_direction="row" >
<sprite width="24" height="24" src_builtin="@/dashboard/person.svg"/>
<label text="${username}" weight="bold"/>
</rectangle>
</template>
<!-- icon, nickname -->
<template name="Avatar">
<div flex_direction="column" gap="12" align_items="center">
<image src_builtin="${icon}" width="64" height="64" round="100%" position="relative">
<rectangle position="absolute" margin_left="-2" margin_top="-2" width="68" height="68" color="highlight" round="100%"/>
</image>
<label size="14" text="${nickname}"/>
</div>
</template>
<macro name="half"
width="50%" gap="16" flex_direction="column" overflow_y="scroll"
align_items="center"/>
<elements>
<div flex_direction="row" width="100%" min_height="100%" gap="16">
<div macro="half">
<sprite color="#FFAAAA" src_builtin="@/dashboard/donate.svg" min_width="48" min_height="48"/>
<div gap="16" align_items="center" width="100%">
<label align="justified" wrap="1" size="15" translation="DONATE.DESCRIPTION" color="on_background"/>
</div>
<div flex_direction="column" gap="8" align_items="center">
<Button id="btn_donate" tooltip="DONATE.BUTTON_TOOLTIP" align_self="baseline">
<image src_builtin="@/dashboard/opencollective_logo.svg" width="200" height="32" margin="8" margin_left="16" margin_right="16"/>
</Button>
<label text="opencollective.com/wayvr-org"/>
</div>
<label weight="bold" size="20" translation="DONATE.THANK_YOU_WAYVR" color="on_background"/>
<div gap="32">
<Avatar icon="@/dashboard/avatars/galister.png" nickname="galister"/>
<Avatar icon="@/dashboard/avatars/oo8dev.png" nickname="oo8dev"/>
</div>
</div>
<!-- vertical separator -->
<rectangle height="100%" min_width="2" color="outline"/>
<div macro="half">
<div gap="8" align_items="center">
<label translation="DONATE.CURRENT_SUPPORTERS" size="18" weight="bold" />
<Button round="100%" text="?" tooltip_str="In last 30 days; the list is updated each day" width="24" height="24"/>
</div>
<div id="current_supporters" flex_direction="column" gap="8" width="100%"/>
</div>
</div>
</elements>
</layout>
+3 -3
View File
@@ -1,6 +1,6 @@
<layout>
<layout version="2">
<elements>
<div id="running_games_list_parent" align_self="center" />
<div id="game_list_parent" align_items="center" flex_direction="column" gap="8" overflow_y="scroll" />
<div id="game_list_parent" align_items="center" flex_direction="column" gap="8" />
</elements>
</layout>
</layout>
+45 -11
View File
@@ -1,5 +1,20 @@
<layout>
<include src="../t_menu_button.xml" />
<layout version="2">
<include src="@/gui/t_menu_button.xml" />
<template name="MiscButton">
<Button
id="${id}" macro="home_button"
min_width="64" height="36"
padding_left="8" padding_right="8">
<div gap="8"
align_items="center"
justify_content="center"
flex_direction="row">
<sprite src_builtin="${icon}" width="24" height="24" />
<label weight="bold" size="18" text="${text}" translation="${translation}" />
</div>
</Button>
</template>
<elements>
<div
@@ -7,17 +22,36 @@
justify_content="center"
align_items="center"
flex_grow="1"
gap="24">
<sprite src_builtin="dashboard/wayvr_dashboard.png" width="96" height="96" />
<label id="label_hello" size="32" weight="bold" />
gap="8"
>
<image src_builtin="@/dashboard/splash.png" width="300" height="89" />
<!-- supporters -->
<Button
id="btn_supporter"
width="fit_content"
height="24"
text=" "
border_color="tertiary(transparent)"
hover_border_color="tertiary"
color="background_variant(transparent)"
hover_color="tertiary(transparent)"/>
<label id="label_hello" margin_top="24" size="32" weight="bold" color="on_background" />
<!-- main button list -->
<div flex_direction="row" gap="8">
<MenuButton id="btn_apps" icon="dashboard/apps.svg" translation="APPLICATIONS" />
<MenuButton id="btn_games" icon="dashboard/games.svg" translation="GAMES" />
<MenuButton id="btn_monado" icon="dashboard/monado.svg" text="Monado" />
<MenuButton id="btn_settings" icon="dashboard/settings.svg" translation="SETTINGS" />
<div flex_direction="row" gap="8" margin_top="32">
<MenuButton id="btn_apps" icon="@/dashboard/apps.svg" translation="APPLICATIONS" />
<MenuButton id="btn_games" icon="@/dashboard/games.svg" translation="GAMES" />
<MenuButton id="btn_monado" icon="@/dashboard/monado.svg" text="Monado" />
<MenuButton id="btn_settings" icon="@/dashboard/settings.svg" translation="SETTINGS" />
</div>
<div gap="8">
<MiscButton id="btn_welcome_screen" icon="@/dashboard/welcome.svg" translation="APP_SETTINGS.TUTORIAL"/>
<MiscButton id="btn_website" icon="@/dashboard/globe.svg" text="wayvr.org"/>
<MiscButton id="btn_donate" icon="@/dashboard/opencollective.svg" translation="DONATE.SUPPORT_US"/>
</div>
</div>
</elements>
</layout>
</layout>
+11 -34
View File
@@ -1,37 +1,14 @@
<layout>
<include src="../t_group_box.xml" />
<!-- key: str, value: str -->
<template name="BoolFlag">
<div flex_direction="row" gap="4">
<label text="${key}" />
<label weight="bold" text="${value}" />
</div>
</template>
<!-- name, checked, flag_* -->
<template name="Cell">
<rectangle macro="group_box">
<CheckBox id="checkbox" text="${name}" checked="${checked}" />
<div flex_direction="row" gap="8">
<BoolFlag key="Active:" value="${flag_active}" />
<BoolFlag key="Focused:" value="${flag_focused}" />
<BoolFlag key="IO active:" value="${flag_io_active}" />
<BoolFlag key="Overlay:" value="${flag_overlay}" />
<BoolFlag key="Primary:" value="${flag_primary}" />
<BoolFlag key="Visible:" value="${flag_visible}" />
</div>
</rectangle>
</template>
<layout version="2">
<elements>
<label translation="DISPLAY_BRIGHTNESS" />
<Slider id="slider_brightness" width="300" height="24" min_value="0" max_value="140" />
<label translation="PROCESS_LIST" />
<div id="list_parent" flex_direction="column" gap="8">
<!-- filled at runtime -->
<div gap="4">
<Tabs id="tabs">
<Tab name="process_list" translation="PROCESS_LIST" sprite_src_builtin="@/dashboard/cpu.svg" />
<Tab name="general_settings" translation="GENERAL_SETTINGS" sprite_src_builtin="@/dashboard/settings.svg" />
<Tab name="debug_timings" translation="DEBUG_INFO" sprite_src_builtin="@/dashboard/not_a_bug.svg" />
</Tabs>
<div gap="4" id="content" width="100%">
<!-- filled-in at runtime -->
</div>
</div>
</elements>
</layout>
</layout>
@@ -0,0 +1,27 @@
<layout version="2">
<include src="@/gui/t_group_box.xml" />
<!-- name, limit_min, limit_max -->
<template name="DebugGraph">
<rectangle flex_direction="column" align_items="center" gap="8" border="2" color="#ffffff11" color2="#ffffff22" gradient="vertical" border_color="#ffffff33" round="4" padding="4">
<label text="${name}" size="9" weight="bold" />
<BarGraph id="graph" width="180" height="70" unit="ms" limit_min="${limit_min}" limit_max="${limit_max}" capacity="50" />
</rectangle>
</template>
<!-- text -->
<template name="SessionButton">
<Button id="button" text="${text}" />
</template>
<elements>
<GroupBox>
<GroupBoxTitle src_builtin="@/dashboard/apps.svg" text="Sessions" />
<div id="session_list_parent" flex_wrap="wrap" flex_direction="row" gap="8" />
<GroupBoxTitle src_builtin="@/dashboard/not_a_bug.svg" text="Debug timings" />
<div id="timings_parent" flex_wrap="wrap" flex_direction="row" gap="8">
<label text="Please select which session you want to monitor" />
</div>
</GroupBox>
</elements>
</layout>
@@ -0,0 +1,57 @@
<layout version="2">
<include src="@/gui/t_group_box.xml" />
<template name="CKRow">
<div gap="8" width="~s_width">
<CHILDREN/>
</div>
</template>
<!-- title, id -->
<template name="CKSlider">
<div gap="8" flex_direction="column" width="100%">
<label text="${title}"/>
<Slider id="${id}" min_value="0" max_value="100" width="100%" height="24"/>
</div>
</template>
<!-- title, id -->
<template name="CKColSel">
<div gap="8" flex_direction="column" width="100%">
<label text="${title}"/>
<ColorSelector id="cs_keying" height="24" width="100%"/>
</div>
</template>
<vars>
<var key="s_width" value="500"/>
</vars>
<elements>
<div flex_direction="column" gap="8">
<!-- headset brightness -->
<GroupBox>
<GroupBoxTitle src_builtin="@/dashboard/settings.svg" translation="GENERAL_SETTINGS" />
<label translation="DISPLAY_BRIGHTNESS" />
<Slider id="slider_brightness" width="300" height="24" min_value="0" max_value="140" />
</GroupBox>
<!-- color keying -->
<GroupBox>
<GroupBoxTitle src_builtin="@/dashboard/settings.svg" translation="APP_SETTINGS.COLOR_KEYING" />
<CKRow>
<CKColSel title="Color" id="cs_keying"/>
<CKSlider title="Despill" id="slider_keying_despill"/>
<CKSlider title="Curve (0 = disabled)" id="slider_keying_curve"/>
</CKRow>
<CKRow>
<CKSlider title="Hue range" id="slider_keying_hue_range"/>
<CKSlider title="Saturation range" id="slider_keying_saturation_range"/>
<CKSlider title="Value range" id="slider_keying_value_range"/>
</CKRow>
</GroupBox>
</div>
</elements>
</layout>
@@ -0,0 +1,35 @@
<layout version="2">
<include src="@/gui/t_group_box.xml" />
<!-- key: str, value: str -->
<template name="BoolFlag">
<div flex_direction="row" gap="4">
<label text="${key}" />
<label weight="bold" text="${value}" />
</div>
</template>
<!-- name, checked, flag_* -->
<template name="Cell">
<GroupBox>
<CheckBox id="checkbox" text="${name}" checked="${checked}" />
<div flex_direction="row" gap="8" flex_wrap="wrap">
<BoolFlag key="Active:" value="${flag_active}" />
<BoolFlag key="Focused:" value="${flag_focused}" />
<BoolFlag key="IO active:" value="${flag_io_active}" />
<BoolFlag key="Overlay:" value="${flag_overlay}" />
<BoolFlag key="Primary:" value="${flag_primary}" />
<BoolFlag key="Visible:" value="${flag_visible}" />
</div>
</GroupBox>
</template>
<elements>
<GroupBox>
<GroupBoxTitle src_builtin="@/dashboard/cpu.svg" translation="PROCESS_LIST" />
<div id="list_parent" flex_direction="column" gap="8">
<!-- filled at runtime -->
</div>
</GroupBox>
</elements>
</layout>
+65 -16
View File
@@ -1,6 +1,6 @@
<layout>
<include src="../t_group_box.xml" />
<include src="../t_dropdown_button.xml" />
<layout version="2">
<include src="@/gui/t_group_box.xml" />
<include src="@/gui/t_dropdown_button.xml" />
<template name="SettingsGroupBox">
<rectangle macro="group_box" id="${id}" flex_grow="1">
@@ -13,8 +13,13 @@
</template>
<template name="SliderSetting">
<label text="${text}" translation="${translation}" />
<Slider id="${id}" width="250" height="24" min_value="${min}" max_value="${max}" step="${step}" value="${value}" tooltip="${tooltip}" />
<Slider id="${id}" width="200" height="24" min_value="${min}" max_value="${max}" step="${step}" value="${value}" tooltip="${tooltip}" />
<label text="${text}" weight="bold" translation="${translation}" />
</template>
<template name="RangeSetting">
<Slider id="${id}" width="200" height="24" min_value="${min}" max_value="${max}" step="${step}" value="${value}" value2="${value2}" tooltip="${tooltip}" />
<label text="${text}" weight="bold" translation="${translation}" />
</template>
<template name="SelectSetting">
@@ -26,8 +31,43 @@
<RadioBox text="${text}" translation="${translation}" value="${value}" tooltip="${tooltip}" />
</template>
<!-- title, sprite, color, tooltip_str -->
<template name="DiagnosticsRow">
<div align_items="center">
<label text="${title}" weight="bold" min_width="140"/>
<Button tooltip_str="${tooltip_str}" color="background(transparent)">
<sprite width="24" height="24" color="${color}" src_builtin="${sprite}" parent_color="ignore"/>
</Button>
</div>
</template>
<!-- name, info -->
<template name="DiagnosticsDrmCard">
<GroupBox>
<div gap="8">
<sprite width="24" height="24" src_builtin="@/dashboard/gpu.svg"/>
<label text="${name}"/>
</div>
<label text="${info}"/>
</GroupBox>
</template>
<template name="StatRow">
<div flex_direction="row" justify_content="space_between" align_items="center" gap="12" width="100%">
<label weight="bold" translation="${translation}" />
<label id="${id}" weight="bold" />
</div>
</template>
<template name="ButtonText">
<Button id="${id}" height="32" tooltip="${translation}_HELP" padding="4" gap="8">
<sprite src_builtin="${icon}" height="24" width="24" />
<label align="left" translation="${translation}" weight="bold" min_width="200" />
</Button>
</template>
<template name="DangerButton">
<Button id="${id}" color="#AA3333" height="32" tooltip="${translation}_HELP" padding="4" gap="8">
<Button id="${id}" color="danger" border_color="danger(rgb-mult-0.5)" height="32" tooltip="${translation}_HELP" padding="4" gap="8">
<sprite src_builtin="${icon}" height="24" width="24" />
<label align="left" translation="${translation}" weight="bold" min_width="200" />
</Button>
@@ -35,8 +75,9 @@
<template name="AutostartApp">
<div id="${id}_root" flex_direction="row">
<Button id="${id}" color="#AA3333" height="24" padding="4" margin_top="-2" margin_bottom="-2">
<sprite src_builtin="dashboard/close.svg" height="20" width="20" />
<Button id="${id}" color="#AA3333" height="24" padding="4" margin_top="-2" margin_bottom="-2"
hover_color="danger" hover_border_color="danger(rgb-mult-0.5)" >
<sprite src_builtin="@/dashboard/close.svg" height="20" width="20" />
</Button>
<div padding_left="8">
<label align="left" text="${text}" weight="bold" overflow="hidden" />
@@ -44,17 +85,25 @@
</div>
</template>
<macro name="tab_style" color="background" />
<elements>
<div gap="4">
<Tabs id="tabs">
<Tab name="look_and_feel" translation="APP_SETTINGS.LOOK_AND_FEEL" sprite_src_builtin="dashboard/palette.svg" />
<Tab name="features" translation="APP_SETTINGS.FEATURES" sprite_src_builtin="dashboard/options.svg" />
<Tab name="controls" translation="APP_SETTINGS.CONTROLS" sprite_src_builtin="dashboard/controller.svg" />
<Tab name="misc" translation="APP_SETTINGS.MISC" sprite_src_builtin="dashboard/blocks.svg" />
<Tab name="autostart_apps" translation="APP_SETTINGS.AUTOSTART_APPS" sprite_src_builtin="dashboard/apps.svg" />
<Tab name="troubleshooting" translation="APP_SETTINGS.TROUBLESHOOTING" sprite_src_builtin="dashboard/cpu.svg" />
<Tab macro="tab_style" name="look_and_feel" translation="APP_SETTINGS.LOOK_AND_FEEL" sprite_src_builtin="@/dashboard/palette.svg" />
<Tab macro="tab_style" name="skybox" translation="APP_SETTINGS.SKYBOX" sprite_src_builtin="@/dashboard/globe.svg" />
<Tab macro="tab_style" name="features" translation="APP_SETTINGS.FEATURES" sprite_src_builtin="@/dashboard/options.svg" />
<Tab macro="tab_style" name="controls" translation="APP_SETTINGS.CONTROLS" sprite_src_builtin="@/dashboard/controller.svg" />
<Tab macro="tab_style" name="space_drag" translation="APP_SETTINGS.SPACE_DRAG" sprite_src_builtin="@/dashboard/drag.svg" />
<Tab macro="tab_style" name="misc" translation="APP_SETTINGS.MISC" sprite_src_builtin="@/dashboard/blocks.svg" />
<Tab macro="tab_style" name="autostart_apps" translation="APP_SETTINGS.AUTOSTART_APPS" sprite_src_builtin="@/dashboard/apps.svg" />
<Tab macro="tab_style" name="statistics" translation="APP_SETTINGS.STATISTICS" sprite_src_builtin="@/dashboard/barchart.svg" />
<Tab macro="tab_style" name="diagnostics" translation="APP_SETTINGS.DIAGNOSTICS.TITLE" sprite_src_builtin="@/dashboard/diagnostics.svg" />
<Tab macro="tab_style" name="troubleshooting" translation="APP_SETTINGS.TROUBLESHOOTING" sprite_src_builtin="@/dashboard/cpu.svg" />
</Tabs>
<div flex_wrap="wrap" justify_content="stretch" gap="4" id="settings_root" width="100%" />
<div flex_wrap="wrap" justify_content="stretch" gap="4" id="settings_root" width="100%">
<!-- filled-in at runtime -->
</div>
</div>
</elements>
</layout>
</layout>
@@ -0,0 +1,14 @@
<layout version="2">
<include src="@/gui/t_group_box.xml" />
<elements>
<div id="common_options_parent" flex_direction="column" gap="8"/>
<GroupBox>
<GroupBoxTitle src_builtin="@/dashboard/gravity.svg" translation="APP_SETTINGS.SPACE_GRAVITY_GRAVITY" />
<div id="gravity_enabled_parent"/>
<div id="space_gravity_parent" flex_direction="column" gap="8">
<!-- filled-in at runtime -->
</div>
</GroupBox>
</elements>
</layout>
+24
View File
@@ -0,0 +1,24 @@
<layout version="2">
<template name="Pip">
<rectangle id="pip" width="8" height="8" round="100%" color="${COLOR}"/>
</template>
<elements>
<div position="relative" flex_grow="1">
<!-- Content -->
<div position="absolute" id="content" flex_direction="column" flex_grow="1" align_items="center" justify_content="center" gap="16" width="100%" height="100%">
<!-- filled-in at runtime -->
</div>
<!-- Page buttons -->
<div position="absolute" align_self="end" justify_self="end" width="100%" flex_direction="column" align_items="center" margin_bottom="8">
<div flex_direction="row" gap="8" align_items="center">
<Button id="btn_prev" width="32" height="32" round="100%" sprite_src_builtin="@/dashboard/arrow_left.svg" />
<div id="pips" gap="4" align_items="center">
<!-- filled-in at runtime -->
</div>
<Button id="btn_next" width="32" height="32" round="100%" sprite_src_builtin="@/dashboard/arrow_right.svg" />
</div>
</div>
</div>
</elements>
</layout>
@@ -0,0 +1,31 @@
<layout version="2">
<!-- icon, title -->
<template name="PageTitle">
<div position="absolute" align_self="start" justify_self="center" width="100%" margin_top="16" gap="8" align_items="center" justify_content="center">
<sprite width="48" height="48" src_builtin="${icon}" color="#FFFFFF"/>
<label size="28" weight="bold" translation="${translation}" color="#FFFFFF" shadow="#000000" shadow_x="3" shadow_y="3" />
</div>
</template>
<!-- text -->
<template name="TextDesc">
<label wrap="1" translation="${translation}" size="20" width="500" color="#FFFFFF" shadow="#000000" weight="bold"/>
</template>
<template name="TextDescBig">
<label translation="${translation}" size="24" shadow="#000000" weight="bold" color="${color}"/>
</template>
<macro name="video_overlay_component" looping="1" width="100%" height="auto" max_height="100%" aspect_ratio="1.777777" position="relative"/>
<macro name="video_overlay_content" new_pass="1" position="absolute" width="100%" height="100%" padding_bottom="32"/>
<!-- src_builtin, aspect_ratio -->
<template name="WelcomeVideo">
<Video macro="video_overlay_component" src_builtin="${src_builtin}" aspect_ratio="${aspect_ratio}">
<div macro="video_overlay_content">
<CHILDREN/>
</div>
</Video>
</template>
</layout>
@@ -0,0 +1,26 @@
<layout version="2">
<elements>
<image src_builtin="@/dashboard/splash.png" min_width="336" min_height="100" />
<rectangle color="#FFFFFF11" width="100%" height="2"/>
<label weight="bold" size="28" translation="WELCOME.GREETING"/>
<label weight="bold" size="16" translation="WELCOME.THANKS_FOR_INSTALLING"/>
<label size="20" translation="WELCOME.GUIDE_INTRO"/>
<div gap="4" align_items="center" margin_top="8">
<sprite min_width="16" min_height="16" src_builtin="@/dashboard/info.svg" color="on_background"/>
<label wrap="1" size="14" translation="WELCOME.REPOSITION_THIS_WINDOW_BY_GRABBING"/>
</div>
<div gap="4" align_items="center">
<sprite min_width="16" min_height="16" src_builtin="@/dashboard/info.svg" color="on_background"/>
<label wrap="1" size="14" translation="WELCOME.LAST_PAGE_INFO"/>
</div>
<label size="20" weight="bold" translation="WELCOME.NEXT_BUTTON"/>
<div height="38"/> <!-- empty space -->
</elements>
</layout>
@@ -0,0 +1,14 @@
<layout version="2">
<include src_builtin="welcome_common.xml"/>
<elements>
<rectangle color="#103142" width="100%" height="100%" position="absolute"/>
<WelcomeVideo src_builtin="@/video/onboarding_watch.ivf" aspect_ratio="1.0">
<PageTitle icon="@/dashboard/watch.svg" translation="WELCOME.WATCH"/>
<div position="relative" align_self="end" padding="16">
<TextDesc translation="WELCOME.LOOK_AT_LEFT_WRIST"/>
</div>
</WelcomeVideo>
</elements>
</layout>
@@ -0,0 +1,12 @@
<layout version="2">
<include src_builtin="welcome_common.xml"/>
<elements>
<WelcomeVideo src_builtin="@/video/onboarding_double_press.ivf">
<PageTitle icon="@/dashboard/panorama.svg" translation="WELCOME.WORKING_SET"/>
<div position="relative" align_self="end" padding="16">
<TextDesc translation="WELCOME.DOUBLE_PRESS_TO_TOGGLE"/>
</div>
</WelcomeVideo>
</elements>
</layout>
@@ -0,0 +1,17 @@
<layout version="2">
<include src_builtin="welcome_common.xml"/>
<elements>
<WelcomeVideo src_builtin="@/video/onboarding_laser_colors.ivf">
<PageTitle icon="@/dashboard/click.svg" translation="WELCOME.LASER_COLORS"/>
<div position="relative" flex_direction="row" gap="16" margin="16" align_self="end" justify_self="end" align_items="center">
<rectangle flex_direction="column" gap="8" padding="8" round="4" border_color="outline" border="2" >
<label size="12" weight="bold" color="#00FFFF" translation="WELCOME.REGULAR_MODE_BLUE_LASER"/>
<label size="12" weight="bold" color="#FFAA00" translation="WELCOME.RIGHT_CLICK_MODE_ORANGE_LASER"/>
<label size="12" weight="bold" color="#FF88FF" translation="WELCOME.MIDDLE_CLICK_MODE_PURPLE_LASER"/>
</rectangle>
<label wrap="1" size="18" width="450" weight="bold" color="#ffffff" shadow="#000000" translation="WELCOME.LASER_FUNCTIONALITY"/>
</div>
</WelcomeVideo>
</elements>
</layout>
@@ -0,0 +1,18 @@
<layout version="2">
<include src_builtin="welcome_common.xml"/>
<elements>
<rectangle color="#0A2939" width="100%" height="100%" position="absolute"/>
<WelcomeVideo src_builtin="@/video/onboarding_center_marker.ivf" aspect_ratio="1.33333">
<PageTitle icon="@/dashboard/panorama.svg" translation="WELCOME.MOVING_YOUR_SET"/>
<div position="relative" align_self="end" padding="16" flex_direction="column" gap="4">
<label shadow="#000000" size="14" weight="bold" wrap="1" color="#aaffcc" translation="WELCOME.GRAB_ONE_HAND"/>
<label shadow="#000000" size="14" weight="bold" wrap="1" color="#ccaaff" translation="WELCOME.GRAB_BOTH_HANDS"/>
<div align_items="center" gap="8">
<sprite src_builtin="@/dashboard/info.svg" min_width="48" min_height="48" max_width="48" max_height="48" color="#ffff00"/>
<label shadow="#000000" size="16" weight="bold" wrap="1" color="#ffff00" translation="WELCOME.CENTER_MARKER"/>
</div>
</div>
</WelcomeVideo>
</elements>
</layout>
@@ -0,0 +1,28 @@
<layout version="2">
<include src_builtin="welcome_common.xml"/>
<elements>
<div flex_direction="row" align_items="center">
<image src_builtin="@/dashboard/check_3d.png" width="256" height="256"/>
<div flex_direction="column" gap="16" max_width="480">
<TextDescBig translation="WELCOME.ALL_SET" color="tertiary"/>
<rectangle color="#AAFFAA33" width="100%" min_height="2"/>
<label size="16" wrap="1" translation="WELCOME.BASICS"/>
<label size="16" wrap="1" translation="WELCOME.FEATURES_DOCUMENTATION"/>
<Button id="btn_wayvr_org" align_self="baseline" min_height="32">
<sprite src_builtin="@/dashboard/globe.svg" width="24" height="24" margin="8"/>
<label size="18" weight="bold" text="wayvr.org" margin_right="8" />
</Button>
<rectangle color="#FFFFFF33" width="100%" min_height="2"/>
<Button id="btn_home_screen" min_height="48" >
<sprite src_builtin="@/dashboard/check.svg" width="32" height="32" margin="8"/>
<label color="on_background" size="20" weight="bold" translation="WELCOME.FINISH_TUTORIAL" margin_right="8" />
</Button>
</div>
</div>
</elements>
</layout>
-8
View File
@@ -1,8 +0,0 @@
<layout>
<theme>
<var key="color_menu_dark" value="#0A0A0ACC" />
<var key="color_accent" value="#008cff" />
<var key="color_top_panel" value="#00000099" />
<var key="color_bottom_panel" value="#141e28" />
</theme>
</layout>
+25 -26
View File
@@ -1,8 +1,8 @@
<layout>
<layout version="2">
<template name="Subtext">
<div flex_direction="row" gap="8">
<label weight="bold" text="${title}" />
<label id="${label_id}" />
<div flex_direction="row" gap="8" max_width="100%">
<label weight="bold" text="${title}" wrap="1" />
<label id="${label_id}" wrap="1" />
</div>
</template>
@@ -10,17 +10,15 @@
<sprite src_ext="${path}" width="96" height="96" />
</template>
<include src="../t_separator.xml" />
<include src="../t_group_box.xml" />
<include src="@/gui/t_separator.xml" />
<include src="@/gui/t_group_box.xml" />
<elements>
<div flex_direction="row" gap="16" flex_grow="1">
<rectangle macro="group_box" id="icon_parent" padding="16" color="#0033aa66" color2="#00000022" gradient="vertical" justify_content="center">
</rectangle>
<div flex_direction="column" gap="8" flex_grow="1" max_width="720">
<rectangle macro="group_box" id="icon_parent" padding="16" color="background_variant(opacity-0.5)" color2="background(opacity-0.5)" gradient="vertical" justify_content="center"/>
<div flex_direction="column" gap="8" flex_grow="1">
<label id="label_title" weight="bold" size="32" overflow="hidden" />
<Subtext label_id="label_exec" overflow="hidden" />
<Subtext label_id="label_exec"/>
<Separator />
<RadioGroup id="radio_compositor" flex_direction="row" gap="16">
<RadioBox translation="APP_LAUNCHER.MODE.NATIVE" value="Native" checked="1" />
@@ -30,35 +28,36 @@
<label translation="APP_LAUNCHER.RES_TITLE" />
<RadioGroup id="radio_res" flex_direction="row" gap="16">
<RadioBox text="1440p" value="Res1440" />
<RadioBox text="1080p" value="Res1080" checked="1" />
<RadioBox text="1080p" value="Res1080"/>
<RadioBox text="720p" value="Res720" />
<RadioBox text="480p" value="Res480" />
</RadioGroup>
<Separator />
<label translation="APP_LAUNCHER.ASPECT_TITLE" />
<RadioGroup id="radio_orientation" flex_direction="row" gap="16">
<RadioBox translation="APP_LAUNCHER.ASPECT.WIDE" value="Wide" tooltip_str="16:9" checked="1" />
<RadioBox translation="APP_LAUNCHER.ASPECT.WIDE" value="Wide" tooltip_str="16:9"/>
<RadioBox translation="APP_LAUNCHER.ASPECT.SEMI_WIDE" value="SemiWide" tooltip_str="3:2" />
<RadioBox translation="APP_LAUNCHER.ASPECT.SQUARE" value="Square" tooltip_str="1:1" />
<RadioBox translation="APP_LAUNCHER.ASPECT.SEMI_TALL" value="SemiTall" tooltip_str="2:3" />
<RadioBox translation="APP_LAUNCHER.ASPECT.TALL" value="Tall" tooltip_str="9:16" />
</RadioGroup>
<!-- Separator /> // saved settings override this, so let's hide it for now
<label translation="APP_LAUNCHER.POS_TITLE" />
<RadioGroup id="radio_pos" flex_direction="row" gap="16">
<RadioBox translation="APP_LAUNCHER.POS.FLOATING" value="Floating" tooltip_str="APP_LAUNCHER.POS.FLOATING_HELP" />
<RadioBox translation="APP_LAUNCHER.POS.ANCHORED" value="Anchored" tooltip_str="APP_LAUNCHER.POS.ANCHORED_HELP" checked="1" />
<RadioBox translation="APP_LAUNCHER.POS.STATIC" value="Static" tooltip_str="APP_LAUNCHER.POS.STATIC_HELP" />
</RadioGroup -->
<Separator />
<div flex_direction="row" justify_content="space_between" gap="16">
<CheckBox id="cb_autostart" translation="APP_LAUNCHER.AUTOSTART" />
<Button id="btn_launch" align_self="baseline" color="#44ce22FF" padding_top="4" padding_bottom="4" round="8" padding_right="12" min_height="40">
<sprite src_builtin="dashboard/play.svg" width="32" height="32" />
<label translation="APP_LAUNCHER.LAUNCH" weight="bold" size="17" shadow="#00000099" />
<CheckBox id="cb_autostart" translation="APP_LAUNCHER.AUTOSTART" align_self="baseline"/>
<div flex_direction="row" align_items="end" justify_content="center" gap="8" margin_top="8">
<Button id="btn_unpin" color="danger" padding_left="8" padding_right="8" round="8" min_height="40">
<sprite src_builtin="@/dashboard/heart_minus.svg" width="32" height="32" />
<label translation="REMOVE_FROM_FAVOURITES" weight="bold" size="17" />
</Button>
<Button id="btn_pin" color="secondary" padding_left="8" padding_right="8" round="8" min_height="40" tooltip="ADD_TO_FAVOURITES_HINT">
<sprite src_builtin="@/dashboard/heart_plus.svg" width="32" height="32" />
<label translation="ADD_TO_FAVOURITES" weight="bold" size="17" />
</Button>
<Button id="btn_launch" color="primary" padding_left="8" padding_right="8" round="8" min_width="200" min_height="40">
<sprite src_builtin="@/dashboard/play.svg" width="32" height="32" />
<label translation="APP_LAUNCHER.LAUNCH" weight="bold" size="17" />
</Button>
</div>
</div>
</div>
</elements>
</layout>
</layout>
@@ -1,35 +1,35 @@
<layout>
<include src="../t_group_box.xml" />
<layout version="2">
<include src_builtin="@/gui/t_group_box.xml" />
<!-- device_name, device_icon -->
<template name="DeviceSlider">
<rectangle macro="group_box">
<GroupBox id="rect">
<div width="100%" align_items="center" justify_content="center" gap="8">
<sprite src="${device_icon}" width="16" height="16" />
<label text="${device_name}" margin_right="8" size="12" weight="bold" />
<sprite src_builtin="${device_icon}" width="24" height="24" color="on_background" />
<label text="${device_name}" margin_right="8" size="12" weight="bold" color="on_background" />
</div>
<div width="100%" align_items="center">
<CheckBox id="checkbox" />
<Button sprite_src="${volume_icon}" id="btn_mute" width="32" />
<Slider id="slider" flex_grow="1" height="16" min_value="0" max_value="150" margin_left="8" />
<CheckBox id="checkbox" tooltip="AUDIO.SWITCH_TO_THIS_DEVICE" />
<Slider id="slider" flex_grow="1" height="16" min_value="0" max_value="150" margin_left="8" margin_right="8" />
<Button sprite_src_builtin="${volume_icon}" id="btn_mute" width="32" height="32" />
</div>
</rectangle>
</GroupBox>
</template>
<!-- card_name, profile_name -->
<template name="Card">
<rectangle macro="group_box">
<GroupBox>
<div width="100%" align_items="center" justify_content="center">
<label text="${card_name}" size="12" weight="bold" />
<label text="${card_name}" size="12" weight="bold" color="on_background" />
</div>
<Button id="btn_card" text="${profile_name}" width="100%" height="32" />
</rectangle>
</GroupBox>
</template>
<template name="SelectAudioProfileText">
<div align_items="center" gap="8">
<Button width="48" height="32" id="btn_back">
<sprite src_builtin="dashboard/back.svg" width="24" height="24" />
<sprite src_builtin="@/dashboard/back.svg" width="24" height="24" color="on_background" />
</Button>
<label translation="AUDIO.SELECT_AUDIO_CARD_PROFILE" size="14" weight="bold" />
</div>
@@ -41,30 +41,40 @@
flex_grow="1"
id="${id}"
translation="${translation}"
sprite_src="${src}">
sprite_src_builtin="${src}">
</Button>
</template>
<elements>
<div flex_direction="column" gap="4">
<div id="devices" flex_direction="column" gap="4" max_height="400" overflow_y="scroll">
<!--
this div shouldn't be technically needed, but there's a bug in
the newest taffy version (or we're doing something wrong),
causing the scrollbar to show up, even if it's not overflowing.
OVERFLOW_START_THRESHOLD_UNITS is already set to 3, but it's not
sufficient enough in this case?? (margin_bottom="4" fixes that).
-->
<div width="100%" flex_direction="column" max_height="400" overflow_y="scroll">
<div id="devices" width="100%" flex_direction="column" gap="4" margin_bottom="4">
</div>
</div>
<!-- bottom buttons -->
<div flex_direction="row" gap="4">
<Button
id="btn_auto"
sprite_src_builtin="dashboard/magic_wand.svg"
sprite_src_builtin="@/dashboard/magic_wand.svg"
min_width="32"
tooltip="AUDIO.AUTO_SWITCH_TO_VR_AUDIO"
color="~color_accent"
color="primary"
sprite_color="on_primary"
tooltip_side="right" />
<BottomButton id="btn_sinks" src_builtin="dashboard/volume.svg" translation="AUDIO.SPEAKERS" />
<BottomButton id="btn_sources" src_builtin="dashboard/microphone.svg" translation="AUDIO.MICROPHONES" />
<BottomButton id="btn_cards" src_builtin="dashboard/cpu.svg" translation="AUDIO.CARDS" />
<BottomButton id="btn_sinks" src_builtin="@/dashboard/volume.svg" translation="AUDIO.SPEAKERS" />
<BottomButton id="btn_sources" src_builtin="@/dashboard/microphone.svg" translation="AUDIO.MICROPHONES" />
<BottomButton id="btn_cards" src_builtin="@/dashboard/cpu.svg" translation="AUDIO.CARDS" />
</div>
</div>
</elements>
</layout>
</layout>
@@ -0,0 +1,35 @@
<layout version="2">
<include src="@/gui/t_group_box.xml" />
<!-- used at runtime [!!!] -->
<include src="@/gui/t_dropdown_button.xml" />
<!-- id, min, max, step, value, value2, tooltip -->
<template name="ThresholdSlider">
<Slider id="${id}" width="200" height="24" min_value="${min}" max_value="${max}" step="${step}" value="${value}" value2="${value2}" tooltip="${tooltip}" />
</template>
<!-- id, translation -->
<template name="ActionRow">
<rectangle macro="group_box" id="${id}">
<!-- top row -->
<div flex_direction="row" gap="8" align_items="center">
<sprite src_builtin="@/dashboard/controller.svg" width="24" height="24" color="on_background"/>
<label translation="${translation}" color="primary" weight="bold" size="14" />
</div>
<!-- filled-in at runtime -->
</rectangle>
</template>
<elements>
<div flex_direction="column" gap="8" width="100%">
<div flex_direction="column" gap="8" align_items="center" overflow_y="scroll" width="100%" padding="16">
<div id="list_parent" flex_direction="column" gap="6" width="100%"></div>
</div>
<rectangle color="background_contrast" flex_direction="row" gap="8" justify_content="end" padding="8">
<Button id="btn_cancel" sprite_src_builtin="@/dashboard/cancel.svg" min_width="100" height="32" translation="APP_SETTINGS.CANCEL" />
<Button id="btn_save" sprite_src_builtin="@/dashboard/check.svg" min_width="100" height="32" translation="APP_SETTINGS.SAVE" />
</rectangle>
</div>
</elements>
</layout>
@@ -0,0 +1,27 @@
<layout version="2">
<template name="ColorPaletteButton">
<Button id="${id}" width="350" flex_direction="column" justify_content="space_around" tooltip="${tooltip}" tooltip_side="bottom"
color="${background}" hover_color="${background_variant}" border_color="${outline}" hover_border_color="${highlight}" padding="16" margin="4" >
<label text="${text}" size="24" weight="bold" color="${on_background}" parent_color="ignore"/>
<div flex_direction="row" width="100%" justify_content="space_evenly" padding_top="16" >
<rectangle round="100%" width="32" height="32" color="${primary}" border="2" border_color="${on_primary}" />
<rectangle round="100%" width="32" height="32" color="${secondary}" border="2" border_color="${on_secondary}" />
<rectangle round="100%" width="32" height="32" color="${tertiary}" border="2" border_color="${on_tertiary}" />
<rectangle round="100%" width="32" height="32" color="${danger}" border="2" border_color="${on_danger}" />
</div>
</Button>
</template>
<template name="CustomPaletteButton">
<Button id="custom_btn" width="350" flex_direction="column" justify_content="space_around" padding="16" margin="4" >
<label translation="APP_SETTINGS.COLOR_PALETTE_CUSTOM_URL" size="16" weight="bold" />
<label translation="APP_SETTINGS.COLOR_PALETTE_CUSTOM_URL2" size="14" color="on_background_variant" />
</Button>
</template>
<elements>
<div flex_direction="column" gap="8" width="100%" align_items="center" overflow_y="scroll">
<div id="list_parent" flex_grow="1" flex_wrap="wrap" flex_direction="row" gap="4" width="100%" justify_content="center"></div>
</div>
</elements>
</layout>
@@ -0,0 +1,18 @@
<layout version="2">
<template name="DialogBoxButton">
<Button id="btn" translation="CLOSE_WINDOW" align_self="start" sprite_src_builtin="${icon}"
text_size="16"
padding_left="16" padding_right="16"
padding_top="8" padding_bottom="8"/>
</template>
<elements>
<div flex_direction="column" align_items="center" justify_content="center" width="100%" gap="32">
<label id="label_message" size="18" weight="bold"/>
<div id="buttons" gap="8">
<!-- filled-in at runtime -->
</div>
</div>
</elements>
</layout>
@@ -0,0 +1,22 @@
<layout version="2">
<include src="@/gui/t_separator.xml"/>
<template name="btn_close">
<Button id="btn" translation="CLOSE_WINDOW" align_self="start" sprite_src_builtin="@/dashboard/check.svg"/>
</template>
<elements>
<div align_items="center" justify_content="center" width="100%">
<div id="content" flex_direction="column" gap="8" width="100%">
<label translation="DOWNLOADING_FILE" size="24" weight="bold"/>
<Separator/>
<label id="label_target_path" color="on_background" />
<div gap="8" align_items="center">
<div id="loading_parent"/>
<label id="label_status"/>
</div>
</div>
</div>
</elements>
</layout>
@@ -1,4 +1,4 @@
<layout>
<layout version="2">
<elements>
<div flex_direction="row" gap="16" align_items="center">
<div id="cover_art_parent" />
@@ -9,11 +9,11 @@
<label weight="bold" id="label_author" text="Unknown" />
</div>
<label id="label_description" wrap="1" text="No description available" />
<Button id="btn_launch" align_self="baseline" color="#44ce22FF" padding_top="4" padding_bottom="4" round="8" padding_right="12" min_width="200" min_height="40">
<sprite src_builtin="dashboard/play.svg" width="32" height="32" />
<label text="Launch" weight="bold" size="17" shadow="#00000099" />
<Button id="btn_launch" align_self="baseline" color="primary" border_color="primary(rgb-mult-0.5)" padding_top="4" padding_bottom="4" round="8" padding_right="12" min_width="200" min_height="40">
<sprite src_builtin="@/dashboard/play.svg" width="32" height="32" />
<label text="Launch" weight="bold" size="17" />
</Button>
</div>
</div>
</elements>
</layout>
</layout>
+4 -4
View File
@@ -1,12 +1,12 @@
<layout>
<layout version="2">
<elements>
<div flex_direction="column" padding_top="8" padding_bottom="8">
<div id="list_parent" gap="8" flex_direction="row" flex_wrap="wrap" justify_content="center" />
</div>
<div align_items="center" justify_content="center" gap="16">
<Button id="btn_prev" sprite_src_builtin="dashboard/arrow_left.svg" width="32" height="32" />
<Button id="btn_prev" sprite_src_builtin="@/dashboard/arrow_left.svg" width="32" height="32" />
<label id="label_page" text="Page X" weight="bold" />
<Button id="btn_next" sprite_src_builtin="dashboard/arrow_right.svg" width="32" height="32" />
<Button id="btn_next" sprite_src_builtin="@/dashboard/arrow_right.svg" width="32" height="32" />
</div>
</elements>
</layout>
</layout>
@@ -0,0 +1,15 @@
<layout version="2">
<!-- id, text -->
<template name="InputProfileButton">
<Button id="${id}" width="350" gap="8" justify_content="start" >
<sprite margin_left="8" src_builtin="@/dashboard/controller.svg" min_width="24" min_height="24" />
<label text="${text}" weight="bold"/>
</Button>
</template>
<elements>
<div flex_direction="column" gap="8" width="100%" align_items="center">
<div id="list_parent" flex_grow="1" flex_wrap="wrap" flex_direction="row" gap="4" width="100%" justify_content="center"></div>
</div>
</elements>
</layout>
+21 -17
View File
@@ -1,6 +1,4 @@
<layout>
<include src="../theme.xml" />
<layout version="2">
<elements>
<div
consume_mouse_events="1"
@@ -9,37 +7,43 @@
width="100%"
height="100%"
flex_direction="column"
position="absolute"
>
<!-- Top black bar -->
<!-- Top bar -->
<rectangle
position="relative"
color="#000000"
color="background_contrast"
width="100%" height="48"
>
<!-- Shine effect at the top -->
<rectangle position="absolute" width="100%" height="2" round="4" color="#ffffff22" />
<rectangle position="absolute" width="100%" height="3" round="4" color="highlight(opacity-0.1)" />
<!-- Top bar contents -->
<div gap="16" align_items="center">
<div gap="16" align_items="center" id="top_bar_contents">
<!-- Back button -->
<Button id="but_back" width="48" height="48" color="#ffffff00" border_color="#ffffff00">
<sprite src_builtin="dashboard/back.svg" width="24" height="24" />
<Button id="but_back" width="48" height="48" color="on_background_contrast(transparent)" border_color="on_background_contrast(transparent)">
<sprite src_builtin="@/dashboard/back.svg" width="24" height="24" color="on_background_contrast" />
</Button>
<!-- Title -->
<label id="popup_title" weight="bold" size="18" />
<label id="popup_title" color="on_background_contrast" weight="bold" size="18" />
</div>
</rectangle>
<!-- Content -->
<rectangle height="100%"
color="#010310fe"
color2="#051c55fc"
<rectangle
width="100%"
height="100%"
color="background_contrast(opacity-0.98)"
color2="background(opacity-0.99)"
gradient="vertical"
padding="16"
id="content">
position="relative"
>
<div id="content" width="100%" height="100%" position="absolute" overflow_y="scroll">
<!-- Padding set at runtime -->
<!-- Content, filled-in at runtime -->
</div>
</rectangle>
</div>
</elements>
</layout>
</layout>
@@ -0,0 +1,36 @@
<layout version="2">
<!--
parameters:
"text"
"sprite"
ids:
"button"
-->
<template name="ResolutionButton">
<Button id="button" sprite_src_builtin="${sprite}" text="${text}"/>
</template>
<include src="@/gui/t_separator.xml"/>
<elements>
<div gap="8" flex_direction="column" min_width="100%" overflow_y="scroll">
<div gap="8" flex_direction="column" align_items="center">
<div id="resolution_buttons" gap="8" flex_direction="row">
<!-- filled-in at runtime -->
</div>
<image id="image" width="400" height="200" round="8" border="2" border_color="primary"/>
<label id="label_author" weight="bold"/>
<label id="label_description" wrap="1"/>
<Separator/>
<!-- nerdy stuff below -->
<div gap="24" justify_content="center">
<label size="10" id="label_creation_date"/>
<label size="10" id="label_modification_date"/>
<label size="10" id="label_version"/>
</div>
</div>
</div>
</elements>
</layout>
@@ -0,0 +1,9 @@
<layout version="2">
<elements>
<div flex_direction="column" overflow_y="scroll">
<div id="list" gap="8" flex_direction="row" flex_wrap="wrap">
<!-- filled-in at runtime -->
</div>
</div>
</elements>
</layout>
@@ -1,20 +1,20 @@
<layout>
<include src="../t_group_box.xml" />
<layout version="2">
<include src="@/gui/t_group_box.xml" />
<template name="RunningGameCell">
<rectangle macro="group_box" flex_direction="row">
<Button id="btn_stop" sprite_src_builtin="dashboard/remove_circle.svg" tooltip="PROCESS.STOP" />
<Button id="btn_kill" sprite_src_builtin="dashboard/knife.svg" tooltip="PROCESS.FORCE_KILL" />
<GroupBox>
<Button id="btn_stop" sprite_src_builtin="@/dashboard/remove_circle.svg" tooltip="PROCESS.STOP" />
<Button id="btn_kill" sprite_src_builtin="@/dashboard/knife.svg" tooltip="PROCESS.FORCE_KILL" />
<label id="label_name" weight="bold" />
</rectangle>
</GroupBox>
</template>
<elements>
<div align_items="center" gap="8">
<Button id="btn_refresh" tooltip="REFRESH" width="32" height="32" sprite_src_builtin="dashboard/refresh.svg" />
<sprite src_builtin="dashboard/cpu.svg" width="24" height="24" />
<Button id="btn_refresh" tooltip="REFRESH" width="32" height="32" sprite_src_builtin="@/dashboard/refresh.svg" />
<sprite src_builtin="@/dashboard/cpu.svg" width="24" height="24" />
<label translation="GAME_LIST.RUNNING_GAMES_LIST" />
</div>
<div id="list_parent" gap="8" />
</elements>
</layout>
</layout>
@@ -0,0 +1,11 @@
<layout version="2">
<elements>
<div flex_direction="column" gap="8" width="100%" >
<div flex_direction="row" gap="4" align_self="end">
<Button id="btn_refresh" tooltip="RELOAD_FROM_DISK" width="32" height="32" sprite_src_builtin="@/dashboard/refresh.svg" />
<Button id="btn_download_skymaps" height="32" translation="APP_SETTINGS.BROWSE_ONLINE_CATALOG" sprite_src_builtin="@/dashboard/download.svg"/>
</div>
<div id="list_parent" gap="8" flex_direction="row" flex_wrap="wrap" overflow_y="scroll" justify_content="center"/>
</div>
</elements>
</layout>
@@ -0,0 +1,43 @@
<layout version="2">
<!--
ids:
"button"
"image_preview"
"label_title"
"label_desc"
-->
<template name="Cell">
<Button
id="button"
padding="8"
round="8"
flex_direction="column"
gap="4"
width="256"
max_width="450"
height="200"
align_items="center"
flex_grow="1"
align_self="start">
<image id="image_preview" width="100%" aspect_ratio="2.0" round="6">
<!-- new_pass is required, because we need to render rectangles at the top of the image. Sorry. -->
<div new_pass="1" id="resolution_pips" gap="4" margin="6"/>
</image>
<label id="label_title" wrap="1" weight="bold"/>
<label id="label_author" wrap="1"/>
</Button>
</template>
<!--
params:
"color"
"text"
-->
<template name="ResolutionPip">
<rectangle color="${color}" padding_left="4" padding_right="4" padding_top="2" padding_bottom="2" round="3" align_self="start">
<label text="${text}" weight="bold" size="12" color="#FFFFFF" shadow="#000000" shadow_x="2" shadow_y="2" parent_color="ignore"/>
</rectangle>
</template>
</layout>
@@ -1,9 +0,0 @@
<layout>
<include src="../t_group_box.xml" />
<elements>
<rectangle macro="group_box" flex_direction="row" align_items="center">
<div id="list_parent" gap="8" flex_direction="row" flex_wrap="wrap" flex_grow="1" />
</rectangle>
</elements>
</layout>
@@ -1,16 +0,0 @@
<layout>
<include src="../t_group_box.xml" />
<elements>
<div gap="16" flex_direction="column" width="100%" justify_self="center" align_items="center" justify_content="center">
<rectangle macro="group_box" align_items="center">
<div id="window_parent" />
<div gap="8">
<Button id="btn_show_hide" text="showhide" sprite_src_builtin="dashboard/eye.svg" />
<Button id="btn_close" translation="CLOSE_WINDOW" sprite_src_builtin="dashboard/remove_circle.svg" />
<Button id="btn_kill" translation="TERMINATE_PROCESS" sprite_src_builtin="dashboard/remove_circle.svg" />
</div>
</rectangle>
</div>
</elements>
</layout>
+382 -160
View File
@@ -1,162 +1,384 @@
{
"HOME_SCREEN": "Startbildschirm",
"MONADO_RUNTIME": "Monado-Laufzeitumgebung",
"APPLICATIONS": "Anwendungen",
"GAMES": "Spiele",
"SETTINGS": "Einstellungen",
"HELLO_USER": "Hallo, {USER}!",
"GENERAL_SETTINGS": "Allgemeine Einstellungen",
"APPLICATION_LAUNCHER": "Anwendung Launcher",
"APP_SETTINGS": {
"HIDE_USERNAME": "Benutzernamen ausblenden",
"OPAQUE_BACKGROUND": "Undurchsichtiger Hintergrund",
"WLX": {},
"LOOK_AND_FEEL": "Aussehen und Verhalten",
"HIDE_GRAB_HELP": "Greif-Hilfe ausblenden",
"ANIMATION_SPEED": "UI-Animationsgeschwindigkeit",
"ROUND_MULTIPLIER": "UI-Kantenrundung",
"USE_SKYBOX": "Skybox aktivieren",
"USE_PASSTHROUGH": "Passthrough aktivieren",
"CLOCK_12H": "12-Stunden-Uhr",
"FEATURES": "Funktionen",
"NOTIFICATIONS_ENABLED": "Benachrichtigungen aktivieren",
"NOTIFICATIONS_SOUND_ENABLED": "Benachrichtigungstöne",
"KEYBOARD_SOUND_ENABLED": "Tastengeräusche",
"SPACE_DRAG_MULTIPLIER": "Raum-Drag-Multiplikator",
"SPACE_DRAG_UNLOCKED": "Erlaube Space-Drag auf allen Achsen",
"SPACE_ROTATE_UNLOCKED": "Erlaube Drehungen in allen Achsen",
"BLOCK_GAME_INPUT": "Spieleingabe blockieren",
"BLOCK_GAME_INPUT_IGNORE_WATCH": "Ignoriere Watch beim Blockieren der Eingabe",
"CONTROLS": "Steuerung",
"FOCUS_FOLLOWS_MOUSE_MODE": "Mausbewegung bei Triggerberührung",
"LEFT_HANDED_MOUSE": "Linkshändige Maus",
"ALLOW_SLIDING": "Stabinteraktion während des Greifens",
"INVERT_SCROLL_DIRECTION_X": "Horizontale Scrollrichtung umkehren",
"INVERT_SCROLL_DIRECTION_Y": "Vertikale Bildlaufrichtung umkehren",
"SCROLL_SPEED": "Scrollgeschwindigkeit",
"LONG_PRESS_DURATION": "Dauer für lange Drückvorgänge",
"POINTER_LERP_FACTOR": "Zeigerglättung",
"XR_CLICK_SENSITIVITY": "XR-Klicksensitivität",
"XR_CLICK_SENSITIVITY_RELEASE": "XR-Loslassempfindlichkeit",
"CLICK_FREEZE_TIME_MS": "Klick-Freeze-Zeit (ms)",
"MISC": "Verschiedenes",
"XWAYLAND_BY_DEFAULT": "Standardmäßig Apps im Kompatibilitätsmodus ausführen",
"UPRIGHT_SCREEN_FIX": "Bildschirm-Drehkorrektur",
"DOUBLE_CURSOR_FIX": "Doppelter Cursor Fix",
"SCREEN_RENDER_DOWN": "Bildschirm bei niedrigerer Auflösung rendern",
"UPRIGHT_SCREEN_FIX_HELP": "Behebt hochstehende Bildschirme auf einigen Desktops",
"DOUBLE_CURSOR_FIX_HELP": "Aktivieren Sie dies, wenn Sie 2 Cursor sehen",
"XR_CLICK_SENSITIVITY_HELP": "Analoge Trigger-Empfindlichkeit",
"XR_CLICK_SENSITIVITY_RELEASE_HELP": "Muss niedriger als Klick sein",
"CLICK_FREEZE_TIME_MS_HELP": "Hilft bei der Präzision von Doppelklicks",
"LEFT_HANDED_MOUSE_HELP": "Verwenden Sie diese Option, wenn die Maustasten vertauscht sind",
"BLOCK_GAME_INPUT_HELP": "Blockiert alle Eingaben, wenn ein Overlay angefahren wird",
"BLOCK_GAME_INPUT_IGNORE_WATCH_HELP": "Blockiere die Eingabe nicht, wenn die Überwachung aktiviert ist",
"USE_SKYBOX_HELP": "Zeige einen Skybox, wenn keine Szenen-App oder Passthrough vorhanden ist",
"USE_PASSTHROUGH_HELP": "Aktiviere Passthrough, falls die XR-Laufzeitumgebung dies unterstützt",
"SCREEN_RENDER_DOWN_HELP": "Hilft bei Aliasing auf hochauflösenden Bildschirmen",
"SETS_ON_WATCH": "Sets auf der Watch",
"TROUBLESHOOTING": "Fehlerbehebung",
"CLEAR_SAVED_STATE": "Gespeicherten Zustand löschen",
"CLEAR_PIPEWIRE_TOKENS": "PipeWire Tokens löschen",
"DELETE_ALL_CONFIGS": "Konfiguration löschen",
"RESTART_SOFTWARE": "Software neu starten",
"CLEAR_SAVED_STATE_HELP": "Sets und Overlay-Positionen zurücksetzen",
"CLEAR_PIPEWIRE_TOKENS_HELP": "Bildschirmauswahl beim nächsten Start abfragen",
"DELETE_ALL_CONFIGS_HELP": "Entfernen Sie alle Konfigurationsdateien aus conf.d",
"RESTART_SOFTWARE_HELP": "Einstellungen anwenden, die einen Neustart erfordern",
"CAPTURE_METHOD": "Wayland-Bildschirmaufnahme",
"CAPTURE_METHOD_HELP": "Versuchen Sie, dies zu ändern, wenn Sie\nschwarze oder fehlerhafte Bildschirme erleben",
"KEYBOARD_MIDDLE_CLICK": "Keyboard-Mittelklick",
"KEYBOARD_MIDDLE_CLICK_HELP": "Modifikator bei Eingabe mit violettem Laser",
"OPTION": {
"AUTO": "Automatisch",
"AUTO_HELP": "Bildschirmkopie GPU falls unterstützt,\nansonsten PipeWire GPU.",
"PIPEWIRE_HELP": "Schnelle GPU-Erfassung,\nStandard auf allen Desktops.",
"PW_FALLBACK_HELP": "Langsame Methode mit hoher CPU-Auslastung.\nVersuchen Sie es, falls PipeWire GPU nicht funktioniert.",
"SCREENCOPY_GPU_HELP": "Schnell, keine Bildschirmfreigabe-Popups.\nFunktioniert mit: Hyprland, Niri, River, Sway",
"SCREENCOPY_HELP": "Langsam, keine Bildschirmfreigabe-Popups.\nFunktioniert mit: Hyprland, Niri, River, Sway",
"NONE": "Keine",
"HMD_PINCH": "HMD + Kneifen",
"EYE_PINCH": "Auge + Kneifen",
"EYE_ONLY": "Nur Auge",
"HMD_ONLY": "Nur HMD"
},
"AUTOSTART_APPS": "Anwendungen, die beim Start ausgeführt werden sollen",
"HANDSFREE_POINTER": "Freihändige Modus",
"HANDSFREE_POINTER_HELP": "Eingabe, die bei Bewegung\nder Controller verwendet wird, wenn diese nicht verfügbar sind.\nLinkes Kneifen greift, rechtes klickt.",
"UI_GRADIENT_INTENSITY": "UI-Verlaufsintensität",
"RESET_PLAYSPACE": "Spielbereich zurücksetzen",
"RESET_PLAYSPACE_HELP": "Den Abstand des Spielbereichs zurücksetzen.",
"BLOCK_POSES_ON_KBD_INTERACTION": "Posen beim Interagieren mit der Tastatur blockieren",
"BLOCK_POSES_ON_KBD_INTERACTION_HELP": "Verhindert, dass das Spiel Posen empfängt, wenn die Tastatur angefahren wird und „Spieleingabe blockieren“ aktiviert ist"
},
"HELLO": "Hallo!",
"AUDIO": {
"VOLUME": "Lautstärke",
"SETTINGS": "Audioeinstellungen",
"AUTO_SWITCH_TO_VR_AUDIO": "Automatisch auf VR-Audio umschalten",
"SPEAKERS": "Lautsprecher",
"MICROPHONES": "Mikrofone",
"CARDS": "Sound-Karten",
"SELECT_AUDIO_CARD_PROFILE": "Wählen Sie das Sound-Kartenprofil",
"NO_VR_SPEAKERS_FOUND_SWITCH_MANUALLY": "Keine VR-Lautsprecher gefunden. Schalten Sie diese manuell um.",
"NO_VR_MICROPHONE_SWITCH_MANUALLY": "Kein VR-Mikrofon gefunden. Schalten Sie es manuell um.",
"FAILED_TO_SWITCH_MICROPHONE": "Fehler beim Wechseln des Mikrofons",
"MICROPHONE_SET_SUCCESSFULLY": "Mikrofon erfolgreich umgeschaltet",
"SPEAKERS_SET_SUCCESSFULLY": "Lautsprecher erfolgreich umgeschaltet"
},
"ACTIONS": {
"RECENTER_PLAYSPACE": "Playspace neu zentrieren"
},
"POPUP_ADD_DISPLAY": {
"RESOLUTION": "Auflösung"
},
"WIDTH": "Breite",
"HEIGHT": "Höhe",
"HIDE": "Verbergen",
"REMOVE": "Entfernen",
"SHOW": "Anzeigen",
"FAILED_TO_LAUNCH_APPLICATION": "Fehler beim Starten der Anwendung:",
"APPLICATION_STARTED": "Anwendung gestartet",
"CLOSE_WINDOW": "Fenster schließen",
"GAME_LIST": {
"NO_GAMES_FOUND": "Keine Spiele gefunden",
"RUNNING_GAMES_LIST": "Liste der laufenden Spiele"
},
"TERMINATE_PROCESS": "Prozess beenden",
"GAME_LAUNCHED": "Spiel gestartet",
"APP_LAUNCHER": {
"MODE": {
"NATIVE": "Nativer Modus",
"CAGE": "Kompatibilitätsmodus (Cage)"
},
"RES_TITLE": "Auflösung",
"ASPECT_TITLE": "Seitenverhältnis",
"ASPECT": {
"WIDE": "Breit",
"SEMI_WIDE": "Halb-breit",
"SQUARE": "Quadratisch",
"SEMI_TALL": "Halbhoch",
"TALL": "Hoch"
},
"POS_TITLE": "Positionierung",
"POS": {
"FLOATING": "Schwebend",
"ANCHORED": "Verankert",
"STATIC": "Statisch",
"FLOATING_HELP": "Bewegt sich unabhängig, zentriert sich bei Anzeige neu.",
"ANCHORED_HELP": "Bleibt relativ zur Mittelmarkierung an Ort und Stelle.",
"STATIC_HELP": "Keine Set zugeordnet. Wird nicht zentriert."
},
"AUTOSTART": "Automatisch beim Start ausführen",
"LAUNCH": "Starten"
},
"DISPLAY_BRIGHTNESS": "Bildschirmhelligkeit",
"PROCESS_LIST": "Prozessliste",
"REFRESH": "Aktualisieren",
"PROCESS": {
"STOP": "Stopp",
"FORCE_KILL": "Erzwinge Beenden"
}
"DEFINITIONS": {
"ANCHORED": "Verankert",
"FLOATING": "Schwebend",
"STATIC": "Statisch",
"SET": "Set",
"WATCH": "Handgelenk-Uhr",
"DASHBOARD": "Dashboard",
"EDIT_MODE": "Bearbeitungsmodus",
"SETTINGS": "Einstellungen",
"KEYBOARD": "Tastatur",
"TASKBAR": "Taskleiste",
"FEATURES": "Features",
"OVERLAY": "Overlay",
"SKYMAP": "Skymap",
"PLAYSPACE": "Playspace",
"D_PAD": "Steuerkreuz"
},
"ACTIONS": {
"RECENTER_PLAYSPACE": "Playspace neu zentrieren"
},
"APP_LAUNCHER": {
"ASPECT": {
"SEMI_TALL": "Halbhoch",
"SEMI_WIDE": "Halbweit",
"SQUARE": "Quadratisch",
"TALL": "Hochkant",
"WIDE": "Breitbild"
},
"ASPECT_TITLE": "Seitenverhältnis",
"AUTOSTART": "Automatisch beim Start ausführen",
"LAUNCH": "Starten",
"MODE": {
"CAGE": "Kompatibilitätsmodus (Cage)",
"NATIVE": "Nativer Modus"
},
"RES_TITLE": "Auflösung"
},
"APP_SETTINGS": {
"ALLOW_SLIDING": "Stick-Interaktion beim Greifen",
"ANIMATION_SPEED": "UI-Animationsgeschwindigkeit",
"AUTOSTART_APPS": "Beim Start ausführen",
"BLOCK_GAME_INPUT": "Game-Input blockieren",
"BLOCK_GAME_INPUT_HELP": "Blockiert alle Eingaben, wenn ein Overlay fokussiert ist",
"BLOCK_GAME_INPUT_IGNORE_WATCH": "Uhr beim Blockieren der Eingabe ignorieren",
"BLOCK_GAME_INPUT_IGNORE_WATCH_HELP": "Eingabe nicht blockieren, wenn die Handgelenk-Uhr fokussiert ist",
"BLOCK_POSES_ON_KBD_INTERACTION": "Posen bei Tastaturinteraktion blockieren",
"BLOCK_POSES_ON_KBD_INTERACTION_HELP": "Verhindert die Übertragung von Posen an das Spiel, wenn die Tastatur fokussiert ist und „Spielsteuerung blockieren“ aktiviert ist",
"BINDINGS": {
"COMP": {
"CLICK": "Klicken",
"FORCE": "Druckkraft",
"TOUCH": "Berühren",
"VALUE": "Wert",
"PROXIMITY": "Nähe",
"X_AXIS": "X-Achse",
"Y_AXIS": "Y-Achse"
},
"TYPE": {
"BUMPER": "Bumper",
"DPAD_UP": "Steuerkreuz oben",
"DPAD_DOWN": "Steuerkreuz unten",
"DPAD_LEFT": "Steuerkreuz links",
"DPAD_RIGHT": "Steuerkreuz rechts",
"JOYSTICK": "Joystick",
"MENU": "Menü",
"SHOULDER": "Schulterknopftaste",
"SQUEEZE": "Griff",
"SYSTEM": "System",
"THUMBREST": "Daumenauflage",
"THUMBSTICK": "Thumbstick",
"TRACKPAD": "Trackpad",
"TRIGGER": "Trigger",
"VIEW": "View"
},
"CLICK": {
"ANY": "Beliebig",
"DOUBLE": "Doppeltippen",
"TRIPLE": "Dreifachklick",
"TYPE": "Anzahl der Klicks"
},
"ACTION": {
"CLICK": "Klick*",
"GRAB": "Greifen*",
"ALT_CLICK": "Benutzerdefinierter Shell-Befehl (alt_click in Config festlegen)",
"SHOW_HIDE": "Anzeigen, ausblenden, zentrieren*",
"TOGGLE_DASHBOARD": "Dashboard umschalten",
"SPACE_DRAG": "Playspace ziehen",
"SPACE_ROTATE": "Playspace rotieren",
"SPACE_RESET": "Playspace zurücksetzen",
"CLICK_MODIFIER_RIGHT": "Rechtsklick-Modifikator",
"CLICK_MODIFIER_MIDDLE": "Mittelklick-Modifier",
"MOVE_MOUSE": "Maus bewegen (falls standardmäßig aus)",
"SCROLL": "Scrollen*"
},
"LEFT": "Links",
"RIGHT": "Rechts",
"COMPONENT": "Aktivierungsart",
"SUBPATH": "Bedienelement",
"THRESHOLD": "Aktivieren bei Überschreiten des oberen Wertes\nDeaktivieren bei Unterschreiten des unteren Wertes",
"CHORD": "Chord",
"CHORD_ADD_INPUT": "Chord-Input hinzufügen",
"CHORD_INPUT_HAND": "Eingabehand"
},
"BROWSE_ONLINE_CATALOG": "Online-Katalog durchsuchen...",
"BROWSE_SKYMAPS": "Skymaps durchsuchen",
"CAPTURE_METHOD": "Bildschirmaufnahme-Methode",
"CAPTURE_METHOD_HELP": "Ändere dies, wenn du schwarze oder\nfehlerhafte Bildschirme hast",
"COLOR_KEYING": "Farbschlüsselung",
"COLOR_PALETTE": "Farbpalette",
"COLOR_PALETTE_HELP": "Zum Durchsuchen der Farbpaletten klicken.\nFür eigene Paletten siehe Website!",
"COLOR_PALETTES": "Farbpaletten",
"COLOR_PALETTE_CURRENT": "Aktuelles Thema.",
"COLOR_PALETTE_CUSTOM_URL": "Eigenes Theme hinzufügen!",
"COLOR_PALETTE_CUSTOM_URL2": "Klicken zum Öffnen des Web-Handbuchs.",
"COLOR_PALETTE_ACTIVATE": "Zum Anwenden dieses Themes klicken.",
"CLEAR_PIPEWIRE_TOKENS": "PipeWire-Token löschen",
"CLEAR_PIPEWIRE_TOKENS_HELP": "Bildschirmauswahl beim nächsten Start abfragen",
"CLEAR_SAVED_STATE": "Gespeicherten Zustand löschen",
"CLEAR_SAVED_STATE_HELP": "Sets & Overlay-Positionen zurücksetzen",
"CLICK_FREEZE_TIME_MS": "Klick-Freeze-Zeit (ms)",
"CLICK_FREEZE_TIME_MS_HELP": "Hilft bei der Doppelklick-Präzision",
"CLOCK_12H": "12-Stunden-Uhr",
"CONTROLS": "Steuerung",
"DELETE_ALL_CONFIGS": "Konfiguration zurücksetzen",
"DELETE_ALL_CONFIGS_HELP": "Alle Konfigurationsdateien aus conf.d entfernen",
"DOUBLE_CURSOR_FIX": "Doppelkursor-Fix",
"DOUBLE_CURSOR_FIX_HELP": "Aktivieren, wenn zwei Cursor sichtbar sind",
"DEFAULT_OVERLAY_SCALE": "Standardgröße der Overlays",
"DEFAULT_OVERLAY_SCALE_HELP": "Neue Overlays in dieser Größe spawnen.",
"DEFAULT_CURVATURE": "Standard-Overlay-Krümmung",
"DEFAULT_OPACITY": "Standard-Overlay-Undurchsichtigkeit",
"DEFAULT_POSITIONING": "Standard-Positionierung der Overlays",
"OVERLAY_DEFAULTS_HELP": "Gilt nur für neue Overlays",
"ENABLED": "Aktiviert",
"FEATURES": "Features",
"FOCUS_FOLLOWS_MOUSE_MODE": "Mausbewegung bei Trigger-Berührung",
"HANDSFREE_POINTER": "Freisprechmodus",
"HANDSFREE_POINTER_HELP": "Eingabe, wenn keine Motion-Controller verfügbar sind.\nLinkes Zusammenkneifen zum Greifen, rechtes zum Klicken.",
"HANDSFREE_ALT_TAB": "Ausrichtung des App-Switchers",
"HANDSFREE_ALT_TAB_HELP": "Super+X halten, auf das gewünschte Fenster zielen und dann loslassen, um den Fokus zu wechseln.",
"HIDE_GRAB_HELP": "Greifhilfe ausblenden",
"HIDE_USERNAME": "Benutzernamen ausblenden",
"INPUT_EMULATION_METHOD": "Input-Emulationsmethode",
"INPUT_EMULATION_METHOD_HELP": "Hier ändern, falls Maus- oder\nTastatureingaben nicht registriert werden.",
"INPUT_CAPTURE_METHOD": "Eingabemethode",
"INPUT_CAPTURE_METHOD_HELP": "Ermöglicht die Nutzung physischer Peripheriegeräte in WayVR.\n Super+Z: Eingabe zwischen WayVR und echtem Desktop wechseln\n Super+X: Zwischen WayVR-Apps wechseln",
"INPUT_PROFILES": "Eingabebindungen ändern",
"INPUT_PROFILES_HELP": "OpenXR-Controller-Belegungen",
"INVERT_SCROLL_DIRECTION_X": "Horizontalen Scrollrichtung umkehren",
"INVERT_SCROLL_DIRECTION_Y": "Vertikale Scrollrichtung umkehren",
"KEYBOARD_MIDDLE_CLICK": "Tastatur-Mittelklick",
"KEYBOARD_MIDDLE_CLICK_HELP": "Modifier-Taste bei der Eingabe\nmit dem lila Laser",
"KEYBOARD_SOUND_ENABLED": "Tastatursounds",
"LANGUAGE": "Sprache",
"LEFT_HANDED_MOUSE": "Linkshänder-Maus",
"LEFT_HANDED_MOUSE_HELP": "Nutze dies, wenn die Maustasten vertauscht sind",
"LONG_PRESS_DURATION": "Langpress-Dauer",
"LOOK_AND_FEEL": "Aussehen & Gefühl",
"MISC": "Verschiedenes",
"NOTIFICATIONS_ENABLED": "Benachrichtigungen aktivieren",
"NOTIFICATIONS_SOUND_ENABLED": "Benachrichtigungstöne",
"NOT_SUPPORTED": "Nicht unterstützt",
"NO_SKYMAPS_FOUND": "Keine Skymaps gefunden",
"OPAQUE_BACKGROUND": "Undurchsichtiger Hintergrund",
"OPTION": {
"ANCHORED_HELP": "Bewegt sich mit dem Zentrumsmarker. Empfohlen.",
"FLOATING_HELP": "Bewegt sich unabhängig, zentriert sich neu.\nLeicht zu verlieren; nicht empfohlen.",
"STATIC_HELP": "Bleibt relativ zur Welt an Ort und Stelle.",
"AUTO": "Automatisch",
"AUTO_HELP": "ScreenCopy GPU, falls unterstützt, \nansonsten PipeWire GPU.",
"EYE_ONLY": "Augenlaser",
"EYE_PINCH": "Blick + Pinch",
"HMD_ONLY": "HMD-Laser",
"HMD_PINCH": "HMD + Greifen",
"NONE": "Keine",
"NONE_INPUT_HELP": "Keine Maus- und Tastatur-Emulation.\nInteraktion mit Bildschirmen nicht möglich.",
"NONE_INPUT_CAPTURE_HELP": "Keine Maus- und Tastaturerfassung.\nPhysische Maus oder Tastatur können in\nWayVR gestarteten Apps nicht genutzt werden.",
"PIPEWIRE_HELP": "Schnelle GPU-Erfassung,\nStandard auf allen Desktops.",
"PW_FALLBACK_HELP": "Langsame Methode mit hoher CPU-Auslastung.\nAusprobieren, falls PipeWire GPU nicht funktioniert",
"SCREENCOPY_GPU_HELP": "Schnell, ohne Popups beim Bildschirmausschnitt.\nFunktioniert bei: Hyprland, Niri, River, Sway",
"SCREENCOPY_HELP": "Langsam, keine Pop-ups beim Bildschirmteilen.\nFunktioniert mit: Hyprland, Niri, River, Sway",
"UINPUT": "Geräteemulation",
"UINPUT_HELP": "Nutzt das uinput-Modul zur Geräteemulation.\nFunktioniert auf den meisten Desktops gut.",
"EVDEV_HELP": "Eingabegeräte für die exklusive Nutzung erfassen.\nDein Benutzer muss Mitglied der Gruppe \"input\" sein.",
"WL_VIRTUAL": "Wayland-virtueller Input",
"WL_VIRTUAL_HELP": "Sende Ereignisse an den Wayland-Compositor mittels\nzwlr_virtual_pointer und zwp_virtual_keyboard.\nFunktioniert nur auf einigen Desktops zuverlässig.\nFunktioniert NICHT unter KDE, GNOME oder COSMIC."
},
"POINTER_ACCELERATION": "Mausbeschleunigung",
"POINTER_ACCELERATION_HELP": "An: Adaptive Mausbeschleunigung\nAus: Konstante Geschwindigkeit",
"POINTER_LERP_FACTOR": "Zeiger-Glättung",
"POINTER_SPEED": "Mausgeschwindigkeit",
"REQUIRES_RESTART": "Neustart erforderlich",
"RESET_PLAYSPACE": "Playspace zurücksetzen",
"RESET_PLAYSPACE_HELP": "Playspace-Versatz zurücksetzen.",
"SAVE_PLAYSPACE_CENTER": "Playspace-Zentrum speichern",
"SAVE_PLAYSPACE_CENTER_HELP": "Nutze aktuellen Playspace für die Playspace-Reset-Belegung.",
"RESET_PLAYSPACE_CENTER": "Playspace-Zentrum zurücksetzen",
"RESET_PLAYSPACE_CENTER_HELP": "Vorheriges Playspace-Zentrum zurücksetzen.",
"ROUND_MULTIPLIER": "Abrundung der UI-Kanten",
"SCREEN_RENDER_DOWN": "Bildschirm mit niedrigerer Auflösung rendern",
"SCREEN_RENDER_DOWN_HELP": "Hilft gegen Treppeneffekte bei hochauflösenden Bildschirmen",
"SCROLL_SPEED": "Scrollgeschwindigkeit",
"SELECT_VARIANT": "Variante wählen",
"SNAP_ANGLE_DEG": "Snap-Winkel für Fenster-Neigung & Rollen",
"SNAP_ANGLE_DEG_HELP": "Gegriffene Fenster rasten auf der Nick- und Rollachse in diesem Winkel ein.",
"ENABLE_WATCH": "Handgelenk-Uhr aktivieren",
"SETS_ON_WATCH": "Sets auf Handgelenk-Uhr",
"SKYBOX": "Skymap",
"SKYMAP_ALREADY_DOWNLOADED": "Diese Skymap ist bereits heruntergeladen. Wähle eine Aktion aus.",
"SPACE_DRAG": "Playspace",
"SPACE_DRAG_MULTIPLIER": "Space-Drag-Multiplikator",
"SPACE_DRAG_AFFECTS_WORLD": "Overlays bei Playspace-Verschiebung zurücklassen",
"SPACE_DRAG_UNLOCKED": "Space-drag auf allen Achsen erlauben",
"SPACE_GRAVITY_DAMPING": "Dämpfung",
"SPACE_GRAVITY_DAMPING_HELP": "Künstlicher Widerstand zur Verlangsamung der Bewegung. 0,1 – hoher Widerstand, 1,0 – kein Widerstand",
"SPACE_GRAVITY_FLING_STRENGTH": "Schleuderstärke",
"SPACE_GRAVITY_FLING_STRENGTH_HELP": "Intensitätsmultiplikator der Gravitationskraft nach dem Space-drag.\n0.0 - gar keine Bewegung, 2.0 - doppelte Intensität",
"SPACE_GRAVITY_GRAVITY": "Gravitation",
"SPACE_GRAVITY_GRAVITY_HELP": "Stärke der Abwärtskraft. 0.0 - keine Schwerkraft",
"SPACE_GRAVITY_GROUND_FRICTION": "Bodenreibung",
"SPACE_GRAVITY_GROUND_FRICTION_HELP": "Reibung beim Kontakt mit dem Boden.\n0,0 - keine Reibung (wie auf Eis), 1,0 - raue Oberfläche",
"SPACE_GRAVITY_FLOOR_HEIGHT": "Bodenhöhe",
"SPACE_GRAVITY_FLOOR_HEIGHT_HELP": "Die Y-Position des Bodens. Hier endet die Wirkung der Gravitation.",
"SPACE_ROTATE_UNLOCKED": "Playspace-Rotation auf allen Achsen erlauben",
"TROUBLESHOOTING": "Fehlerbehebung",
"UI_GRADIENT_INTENSITY": "UI-Gradientenintensität",
"UPRIGHT_SCREEN_FIX": "Bildschirm-Ausrichtung korrigieren",
"UPRIGHT_SCREEN_FIX_HELP": "Korrgiert aufrecht ausgerichtete Bildschirme bei einigen Desktops",
"USE_PASSTHROUGH": "Passthrough aktivieren",
"USE_PASSTHROUGH_HELP": "Passthrough zulassen, falls die XR-Runtime dies unterstützt",
"USE_SKYBOX": "Skymap anzeigen",
"USE_SKYBOX_HELP": "Skymap anzeigen, wenn keine Scene-App oder Passthrough aktiv ist",
"WATCH_VIEW_ANGLE": "Sichtwinkel der Handgelenk-Uhr",
"WATCH_VIEW_ANGLE_HELP": "Steuere, wie die Uhr ausblendet",
"WHISPER": {
"NEED_TO_DOWNLOAD_MODEL": "Das ausgewählte Modell muss heruntergeladen werden.\nJetzt herunterladen?",
"REMOVE_UNUSED_MODELS": "Du deaktivierst die Spracherkennungsfunktion.\nMöchtest du die heruntergeladenen Whisper-Modelle entfernen, um Speicherplatz freizugeben?"
},
"WHISPER_MODEL": "Sprache-zu-Text-Modell",
"WHISPER_MODEL_HELP": "Zu verwendendes Whisper-Modell.\nGrößere Modelle liefern präzisere\nErgebnisse, verbrauchen aber mehr VRAM.",
"GRID_OPACITY": "Bodenraster-Deckkraft",
"GRID_OPACITY_HELP": "Deckkraft des Bodengitters, wenn die Skymap aktiviert ist",
"XWAYLAND_BY_DEFAULT": "Apps standardmäßig im Kompatibilitätsmodus starten",
"SAVE": "Speichern",
"CANCEL": "Abbrechen",
"STATISTICS": "Statistiken",
"ROTATIONS": "HMD-Rotationen",
"SESSION_TIME": "Sitzungszeit",
"LENS_SEPARATION_MM": "Linsenabstand (mm)",
"MIDDLE_GRABS_SINGLE": "Mittelklick-Modifier greift einzeln",
"MIDDLE_GRABS_SINGLE_HELP": "Greifen mit dem Mittelklick-Modifier (lila Laser) \ngreift einzelne Overlays statt des gesamten Sets",
"DIAGNOSTICS_REASON": {
"PACTL": "Erforderlich für Lautsprecher-/Mikrofonsteuerung und das Wechseln der Soundkarte",
"CAGE": "Empfohlen bei Inkompatibilitäten mit einigen X11-Anwendungen (Kompatibilitätsmodus)",
"XWAYLAND_SATELLITE": "Empfohlen, wenn X11 (Xwayland) Anwendungen im nativen Modus ausgeführt werden sollen",
"XDG_OPEN": "Erforderlich zum Öffnen von URLs oder Steam-Spielen"
},
"DIAGNOSTICS": {
"CPU_ACCESSIBLE_VRAM": "CPU-zugänglicher VRAM: {NUM} MiB",
"TITLE": "Diagnose",
"ENABLE_REBAR": "Aktiviere resizable bar in den BIOS-Einstellungen für optimale VR-Performance"
},
"TUTORIAL": "Tutorial",
"RESTART_WAYVR": "WayVR neu starten",
"CLOSE_WAYVR": "WayVR schließen",
"SPEECH_TO_TEXT": "Sprache zu Text",
"WHISPER_GPU_SELECT": "GPU auswählen"
},
"APPLICATION_LAUNCHER": "Programmstarter",
"APPLICATION_STARTED": "Anwendung gestartet",
"APPLICATIONS": "Anwendungen",
"AUDIO": {
"AUTO_SWITCH_TO_VR_AUDIO": "Automatisch auf VR-Audio umschalten",
"CARDS": "Soundkarten",
"FAILED_TO_SWITCH_MICROPHONE": "Mikrofonwechsel fehlgeschlagen",
"MICROPHONE_SET_SUCCESSFULLY": "Mikrofon erfolgreich eingestellt",
"MICROPHONES": "Mikrofone",
"NO_VR_MICROPHONE_SWITCH_MANUALLY": "Kein VR-Mikrofon gefunden. Manuell umschalten.",
"NO_VR_SPEAKERS_FOUND_SWITCH_MANUALLY": "Keine VR-Lautsprecher gefunden. Manuell umschalten.",
"SELECT_AUDIO_CARD_PROFILE": "Soundkartenprofil wählen",
"SETTINGS": "Audio-Einstellungen",
"SPEAKERS": "Lautsprecher",
"SPEAKERS_SET_SUCCESSFULLY": "Lautsprecher erfolgreich eingestellt",
"VOLUME": "Lautstärke",
"SWITCH_TO_THIS_DEVICE": "Zu diesem Gerät wechseln"
},
"CLOSE_WINDOW": "Fenster schließen",
"CREATION_DATE": "Erstellungsdatum",
"DEBUG_INFO": "Debug-Infos",
"DISPLAY_BRIGHTNESS": "Displayhelligkeit",
"DONATE": {
"SUPPORT_US": "Unterstützt uns",
"DESCRIPTION": "Wir sind ein kleines Team aus 2 Entwicklern, die WayVR in ihrer Freizeit bauen. Wenn dir die Software gefällt, unterstütze uns bitte – jede Spende hilft uns dabei, weiterzumachen.",
"THANK_YOU_WAYVR": "Danke vom WayVR-Team!",
"BUTTON_TOOLTIP": "Via Open Collective spenden",
"CURRENT_SUPPORTERS": "Aktuelle Unterstützer",
"BROUGHT_TO_YOU_VARIANTS_OFTEN": "Unterstützt von {USER}|Besonderer Dank an {USER}|Gesponsert von {USER}|Ermöglicht durch {USER}|Getragen von Community-Mitgliedern wie {USER}|Mit Hilfe von {USER}|Aufrechterhalten durch {USER}|Ein Beitrag von {USER}|Finanziert durch {USER}",
"BROUGHT_TO_YOU_VARIANTS_RARE": "Kaffee spendiert von {USER}|Angetrieben von {USER}|Ein großes Shoutout an {USER}!|{USER} hält uns am Laufen|Mit {USER} wachsen wir weiter|{USER} hält die Server stabil|In voller Dankbarkeit gegenüber {USER}|Power-up durch {USER}|Unterstützt von Freunden wie {USER}",
"BROUGHT_TO_YOU_VARIANTS_VERY_RARE": "Unterstützt von Legenden wie {USER}|Koffein-Zufuhr gesichert durch {USER}|Eine echte Legende: {USER}|Unser Held des Tages: {USER}|Ein absoluter Superstar: {USER}|Bezahlt gerade die Stromrechnung: {USER}|Der Retter unserer Nerven: {USER}|Der Ruhepol im Chaos: {USER}|Kaffee-zu-Code-Konverter: {USER}|Hält die Production stabil: {USER}|Die eine und einzige(r): {USER}|Bezwinger des dmabuf-Buffers: {USER}"
},
"DOWNLOAD": "Herunterladen",
"DOWNLOADER": "Downloader",
"WELCOME": {
"ALL_SET": "Alles bereit!",
"BASICS": "Diese Grundlagen ermöglichen dir einen einfachen Start mit WayVR.",
"CENTER_MARKER": "Die Zentrierungsmarkierung erscheint beim Recentrieren vor dir. Platziere Overlays darum herum!",
"DOUBLE_PRESS_TO_TOGGLE": "Drücke B (beim Index) oder Y (bei Meta) doppelt, um dein Set anzuzeigen, neu zu zentrieren oder auszublenden. Probier es jetzt aus.",
"FEATURES_DOCUMENTATION": "Es gibt viele weitere anpassbare Funktionen. Weitere Informationen findest du in der Dokumentation unter",
"FINISH_TUTORIAL": "Tutorial beenden",
"GRAB_BOTH_HANDS": "Greif mit beiden Händen zu, wenn du ein bestimmtes Overlay in deinem Set verschieben willst.",
"GRAB_ONE_HAND": "Greife mit einer Hand zu, um dein Set zu bewegen.",
"GREETING": "Hallo!",
"GUIDE_INTRO": "Lass uns dich durch deine ersten Schritte führen.",
"LASER_COLORS": "Laserfarben",
"LASER_FUNCTIONALITY": "Vieles in WayVR hängt davon ab, welche Laserfarbe zur Interaktion mit einem UI-Element genutzt wird. Du musst die Schaltflächen nicht drücken, einfach nur berühren!",
"LAST_PAGE_INFO": "Dieses Tutorial wird nicht mehr angezeigt, sobald du die letzte Seite erreicht hast.",
"LOOK_AT_LEFT_WRIST": "Schau auf dein linkes Handgelenk. Das ist deine Handgelenk-Uhr.",
"MIDDLE_CLICK_MODE_PURPLE_LASER": "Mittelklick-Modus: Lilafarbener Laser",
"MOVING_YOUR_SET": "Set verschieben",
"NEXT_BUTTON": "Drücke unten auf „Weiter“, um zu starten.",
"REGULAR_MODE_BLUE_LASER": "Normalmodus: Blauer Laser",
"REPOSITION_THIS_WINDOW_BY_GRABBING": "Positioniere dieses Fenster neu, indem du die Grip-Taste deines Controllers benutzt.",
"RIGHT_CLICK_MODE_ORANGE_LASER": "Rechtsklick-Modus: Oranger Laser",
"THANKS_FOR_INSTALLING": "Vielen Dank für die Installation von WayVR!",
"WATCH": "Handgelenk-Uhr",
"WORKING_SET": "Aktives Set"
},
"DOWNLOAD_AGAIN": "Erneut herunterladen",
"DOWNLOADING_FILE": "Datei wird heruntergeladen...",
"FAILED_TO_LAUNCH_APPLICATION": "Starten der Anwendung fehlgeschlagen:",
"GAME_LAUNCHED": "Spiel gestartet",
"GAME_LIST": {
"NO_GAMES_FOUND": "Keine Spiele gefunden",
"RUNNING_GAMES_LIST": "Liste der laufenden Spiele"
},
"GAMES": "Spiele",
"GENERAL_SETTINGS": "Allgemeine Einstellungen",
"GETTING_STARTED": "Erste Schritte",
"HEIGHT": "Höhe",
"HELLO": "Hallo!",
"HELLO_USER": "Hallo, {USER}!",
"HIDE": "Ausblenden",
"HOME_SCREEN": "Home",
"MODIFICATION_DATE": "Änderungsdatum",
"MONADO_RUNTIME": "Monado Runtime",
"LOADING": "Lädt...",
"POPUP_ADD_DISPLAY": {
"RESOLUTION": "Auflösung"
},
"PROCESS": {
"FORCE_KILL": "Sofort beenden",
"STOP": "Beenden"
},
"PROCESS_LIST": "Prozessliste",
"REFRESH": "Aktualisieren",
"REMOVE": "Entfernen",
"APPLY": "Anwenden",
"RELOAD_FROM_DISK": "Von Festplatte neu laden",
"SETTINGS": "Einstellungen",
"SHOW": "Anzeigen",
"TARGET_PATH": "Zielpfad",
"TERMINATE_PROCESS": "Prozess beenden",
"VERSION": "Version",
"WIDTH": "Breite",
"PINNED_APPS": "Angeheftete Anwendungen",
"SAVED_TO_FAVOURITES": "Zu den angehefteten Anwendungen hinzugefügt",
"ADD_TO_FAVOURITES": "Zu angehefteten Anwendungen hinzufügen",
"ADD_TO_FAVOURITES_HINT": "Voreinstellung speichern und an die App-Schublade anheften",
"REMOVE_FROM_FAVOURITES": "Aus angehefteten Anwendungen entfernen",
"EMPTY": "Leer",
"INSTALLED": "Installiert",
"NOT_INSTALLED": "Nicht installiert",
"POWER_OPTIONS": {
"TITLE": "Energieoptionen",
"SHUTDOWN": "Herunterfahren",
"SUSPEND": "Ruhezustand",
"SHUTDOWN_ARE_YOU_SURE": "Bist du sicher, dass du den Computer ausschalten willst?",
"NOT_SUPPORTED": "Energieoptionen erfordern systemd oder elogind.",
"SUSPEND_ARE_YOU_SURE": "Bist du sicher, dass du den Computer in den Ruhezustand versetzen willst?"
},
"YES": "Ja",
"NO": "Nein"
}
+369
View File
@@ -0,0 +1,369 @@
DEFINITIONS.ANCHORED,Anchored,"A movement option that makes this window move together with the rest of the workspace. Emphasize the ""moving together"" part as opposed to ""not moving at all""."
DEFINITIONS.FLOATING,Floating,A movement option that lets this window float freely.
DEFINITIONS.STATIC,Static,"A movement option that keeps this window in place relative to the world origin. Emphasize the ""not moving at all"" part, as opposed to the ""moving together"" option which was previously translated as ${DEFINITIONS.ANCHORED}."
DEFINITIONS.SET,Set,A desktop workspace consisting of multiple windows.
DEFINITIONS.WATCH,Watch,Name of the small utility window that hovers around the user's wrist.
DEFINITIONS.DASHBOARD,Dashboard,Name of the window that acts as the main menu / control panel of the application.
DEFINITIONS.EDIT_MODE,Edit Mode,Name of the mode that allows the user to make various tweaks to the current workspace and its windows.
DEFINITIONS.SETTINGS,Settings,The title of the settings panel.
DEFINITIONS.KEYBOARD,Keyboard,Name of the virtual keyboard
DEFINITIONS.TASKBAR,Taskbar,"A long panel showing currently active programs & windows, workspaces and a clock."
DEFINITIONS.FEATURES,Features,The section title of the section panel that deals with software features.
DEFINITIONS.OVERLAY,Overlay,"An overlay window inside VR, similar to a ""desktop window"". Consider it a technical term."
DEFINITIONS.SKYMAP,Skymap,A 360 degree background image that surrounds the user.
DEFINITIONS.PLAYSPACE,Playspace,The VR play space that the user can adjust in different way. Technical term.
DEFINITIONS.D_PAD,D-pad ,Directional pad on a modern game controller. Technical term.
ACTIONS.RECENTER_PLAYSPACE,Re-center playspace,"Tooltip on a button (with recenter icon) in the bottom-left of the VR dashboard. The button resets the user's tracked playspace to the current physical location. ""Playspace"" was previously translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_LAUNCHER.ASPECT.SEMI_TALL,Semi-tall,"Radio button in the App Launcher panel's Aspect section. Sets the window to a 2:3 vertical aspect ratio. Tooltip shows ""2:3""."
APP_LAUNCHER.ASPECT.SEMI_WIDE,Semi-wide,"Radio button in the App Launcher panel's Aspect section. Sets the window to a 3:2 aspect ratio. Tooltip shows ""3:2""."
APP_LAUNCHER.ASPECT.SQUARE,Square,"Radio button in the App Launcher panel's Aspect section. Sets the window to a 1:1 aspect ratio. Tooltip shows ""1:1""."
APP_LAUNCHER.ASPECT.TALL,Tall,"Radio button in the App Launcher panel's Aspect section. Sets the window to a 9:16 vertical aspect ratio. Tooltip shows ""9:16""."
APP_LAUNCHER.ASPECT.WIDE,Wide,"Radio button in the App Launcher panel's Aspect section. Sets the window to a 16:9 aspect ratio (standard widescreen). Tooltip shows ""16:9""."
APP_LAUNCHER.ASPECT_TITLE,Aspect,"Section header label above a row of 5 radio buttons (Wide, Semi-wide, Square, Semi-tall, Tall) in the App Launcher panel. Controls the window aspect ratio for the selected app."
APP_LAUNCHER.AUTOSTART,Run automatically on startup,"Label on a checkbox in the App Launcher panel. When checked, the selected app will launch automatically when the Dash compositor starts."
APP_LAUNCHER.LAUNCH,Launch,Label on the primary (blue/primary color) button at the bottom of the App Launcher panel. Launches the selected app with the configured settings. Has a play icon next to it.
APP_LAUNCHER.MODE.CAGE,Compatibility mode (Cage),"Radio button option in the App Launcher panel's mode selector (next to ""Native mode""). Sets the app to run in Cage compatibility mode."
APP_LAUNCHER.MODE.NATIVE,Native mode,"Radio button option (default/checked) in the App Launcher panel's mode selector (next to ""Compatibility mode (Cage)""). Sets the app to run in native Wayland mode."
APP_LAUNCHER.RES_TITLE,Resolution,"Section header label in the App Launcher panel above a row of 4 radio buttons (1440p, 1080p, 720p, 480p). Controls the rendering resolution for the selected app."
APP_SETTINGS.ALLOW_SLIDING,Stick interaction during grab,Checkbox label in Settings > Features tab. Toggles whether analog stick input works while an overlay is grabbed/moved.
APP_SETTINGS.ANIMATION_SPEED,UI Animation speed,Slider label in Settings > Look & Feel tab. Controls the speed of UI transition animations (range 0.5-5.0).
APP_SETTINGS.AUTOSTART_APPS,Apps to run on startup,Category header in Settings. Label for the section listing apps configured to auto-launch on WayVR startup.
APP_SETTINGS.BLOCK_GAME_INPUT,Block game input,"Checkbox label in Settings > Features tab. When enabled, blocks all in-game input when an overlay is hovered."
APP_SETTINGS.BLOCK_GAME_INPUT_HELP,Blocks all input when an overlay is hovered,Tooltip text appearing next to the Block game input checkbox in Settings > Features.
APP_SETTINGS.BLOCK_GAME_INPUT_IGNORE_WATCH,Ignore watch when blocking input,"Checkbox label in Settings > Features tab. When enabled, hovering the wrist watch does not block game input. ""Watch"" was previously translated as ""${DEFINITIONS.WATCH}""."
APP_SETTINGS.BLOCK_GAME_INPUT_IGNORE_WATCH_HELP,Do not block input when watch is hovered,"Tooltip text next to the Ignore watch when blocking input checkbox. ""Watch"" was previously translated as ""${DEFINITIONS.WATCH}""."
APP_SETTINGS.BLOCK_POSES_ON_KBD_INTERACTION,Block poses when interacting with keyboard,Checkbox label in Settings > Features tab. Blocks game pose input when the on-screen keyboard is hovered (requires Block game input enabled).
APP_SETTINGS.BLOCK_POSES_ON_KBD_INTERACTION_HELP,Blocks the game from receiving poses when the keyboard is hovered and 'Block game input' is enabled,Tooltip explaining the Block poses when interacting with keyboard checkbox.
APP_SETTINGS.BINDINGS.COMP.CLICK,Click,Dropdown option in the controller bindings editor. Selects the Click component of a controller input.
APP_SETTINGS.BINDINGS.COMP.FORCE,Force,Dropdown option in the controller bindings editor. Selects the Force analog component (e.g. how hard a trigger is pressed).
APP_SETTINGS.BINDINGS.COMP.TOUCH,Touch,Dropdown option in the controller bindings editor. Selects the Touch component (whether a button is merely touched vs pressed).
APP_SETTINGS.BINDINGS.COMP.VALUE,Value,Dropdown option in the controller bindings editor. Selects the raw Value analog output of a component.
APP_SETTINGS.BINDINGS.COMP.PROXIMITY,Proximity,Dropdown option in the controller bindings editor. Selects the Proximity component (distance of controller from head/hand).
APP_SETTINGS.BINDINGS.COMP.X_AXIS,X axis,"Dropdown option in the controller bindings editor. Selects the X-axis analog value (e.g. thumbstick X, trackpad X)."
APP_SETTINGS.BINDINGS.COMP.Y_AXIS,Y axis,"Dropdown option in the controller bindings editor. Selects the Y-axis analog value (e.g. thumbstick Y, trackpad Y)."
APP_SETTINGS.BINDINGS.TYPE.BUMPER,Bumper,Dropdown option in the bindings editor. Maps to the Bumper controller subpath (upper shoulder button).
APP_SETTINGS.BINDINGS.TYPE.DPAD_UP,D-pad Up,"Dropdown option in the bindings editor. Maps to the D-pad up direction. ""D-pad"" was previously translated as ""${DEFINITIONS.D_PAD}""."
APP_SETTINGS.BINDINGS.TYPE.DPAD_DOWN,D-pad Down,"Dropdown option in the bindings editor. Maps to the D-pad down direction. ""D-pad"" was previously translated as ""${DEFINITIONS.D_PAD}"". ""D-pad Up"" was previously translated as ""${APP_SETTINGS.BINDINGS.TYPE.DPAD_UP}""."
APP_SETTINGS.BINDINGS.TYPE.DPAD_LEFT,D-pad Left,"Dropdown option in the bindings editor. Maps to the D-pad left direction. ""D-pad"" was previously translated as ""${DEFINITIONS.D_PAD}"". ""D-pad Up"" was previously translated as ""${APP_SETTINGS.BINDINGS.TYPE.DPAD_UP}""."
APP_SETTINGS.BINDINGS.TYPE.DPAD_RIGHT,D-pad Right,"Dropdown option in the bindings editor. Maps to the D-pad right direction. ""D-pad"" was previously translated as ""${DEFINITIONS.D_PAD}"". ""D-pad Up"" was previously translated as ""${APP_SETTINGS.BINDINGS.TYPE.DPAD_UP}""."
APP_SETTINGS.BINDINGS.TYPE.JOYSTICK,Joystick,Dropdown option in the bindings editor. Maps to the joystick subpath.
APP_SETTINGS.BINDINGS.TYPE.MENU,Menu,Dropdown option in the bindings editor. Maps to the Menu controller button.
APP_SETTINGS.BINDINGS.TYPE.SHOULDER,Shoulder,Dropdown option in the bindings editor. Maps to the Shoulder subpath (shoulder strap button).
APP_SETTINGS.BINDINGS.TYPE.SQUEEZE,Grip,Dropdown option in the bindings editor. Maps to the Squeeze component (controller grip action).
APP_SETTINGS.BINDINGS.TYPE.SYSTEM,System,Dropdown option in the bindings editor. Maps to the System controller subpath.
APP_SETTINGS.BINDINGS.TYPE.THUMBREST,Thumbrest,Dropdown option in the bindings editor. Maps to the thumbrest touch sensor.
APP_SETTINGS.BINDINGS.TYPE.THUMBSTICK,Thumbstick,"Dropdown option in the bindings editor. Maps to the thumbstick subpath. Different from ""Joystick"" which was previously translated as ""${APP_SETTINGS.BINDINGS.TYPE.JOYSTICK}""."
APP_SETTINGS.BINDINGS.TYPE.TRACKPAD,Trackpad,Dropdown option in the bindings editor. Maps to the trackpad subpath.
APP_SETTINGS.BINDINGS.TYPE.TRIGGER,Trigger,Dropdown option in the bindings editor. Maps to the trigger subpath.
APP_SETTINGS.BINDINGS.TYPE.VIEW,View,Dropdown option in the bindings editor. Maps to the View controller button.
APP_SETTINGS.BINDINGS.CLICK.ANY,Any,Dropdown option in the bindings editor. Selects any press click type (no double/triple tap requirement).
APP_SETTINGS.BINDINGS.CLICK.DOUBLE,Double-tap,Dropdown option in the bindings editor. Requires a double-tap on the selected button/component.
APP_SETTINGS.BINDINGS.CLICK.TRIPLE,Triple-tap,Dropdown option in the bindings editor. Requires a triple-tap on the selected button/component.
APP_SETTINGS.BINDINGS.CLICK.TYPE,Tap count,Tooltip for the click-type dropdown in the bindings editor. Indicates this dropdown controls how many taps are required.
APP_SETTINGS.BINDINGS.ACTION.CLICK,Click*,Label for the click action row in the controller bindings editor. The asterisk indicates it may have modifiers. Leave the '*' at the end.
APP_SETTINGS.BINDINGS.ACTION.GRAB,Grab*,Label for the grab action row in the bindings editor. Maps to the controller grab/grip action. Leave the '*' at the end.
APP_SETTINGS.BINDINGS.ACTION.ALT_CLICK,Custom shell exec (set alt_click in config),Label for the alt_click action row in the bindings editor. Triggers a custom shell command defined in config.
APP_SETTINGS.BINDINGS.ACTION.SHOW_HIDE,"Show, hide, recenter*",Label for the show_hide action row. Toggles overlay visibility and recenters the set. Leave the '*' at the end.
APP_SETTINGS.BINDINGS.ACTION.TOGGLE_DASHBOARD,Toggle dashboard,Label for the toggle_dashboard action row. Opens or closes the WayVR dashboard.
APP_SETTINGS.BINDINGS.ACTION.SPACE_DRAG,Playspace drag,"Label for the space_drag action row. Allows dragging the entire playspace/set of overlays. ""Playspace"" was previously translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.BINDINGS.ACTION.SPACE_ROTATE,Playspace rotate,"Label for the space_rotate action row. Allows rotating the entire playspace/set. ""Playspace"" was previously translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.BINDINGS.ACTION.SPACE_RESET,Playspace reset,"Label for the space_reset action row. Resets playspace to the original state. ""Playspace"" was previously translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.BINDINGS.ACTION.CLICK_MODIFIER_RIGHT,Right-click modifier,Label for the click_modifier_right action row. Maps a controller input to act as a right-click modifier.
APP_SETTINGS.BINDINGS.ACTION.CLICK_MODIFIER_MIDDLE,Middle-click modifier,Label for the click_modifier_middle action row. Maps a controller input to act as a middle-click modifier.
APP_SETTINGS.BINDINGS.ACTION.MOVE_MOUSE,Move mouse (if off by default),Label for the move_mouse action row. Maps controller input to mouse movement.
APP_SETTINGS.BINDINGS.ACTION.SCROLL,Scroll*,Label for the scroll action row. Maps controller input to scrolling. Leave the '*' at the end.
APP_SETTINGS.BINDINGS.LEFT,Left,Label in the bindings editor. Refers to the left controller/hand configuration.
APP_SETTINGS.BINDINGS.RIGHT,Right,Label in the bindings editor. Refers to the right controller/hand configuration.
APP_SETTINGS.BINDINGS.CHORD,Chord,Label for a group of controller inputs that must all be active together. As in Input Chord
APP_SETTINGS.BINDINGS.CHORD_ADD_INPUT,Add chord input,"Button in the controller bindings editor that adds another physical input to a chord. ""Chord"" was previously translated as ""${APP_SETTINGS.BINDINGS.CHORD}""."
APP_SETTINGS.BINDINGS.CHORD_INPUT_HAND,Input hand,"Selector for the hand to which we will be binding the input action to."
APP_SETTINGS.BINDINGS.COMPONENT,Actuation type,"Tooltip for the component dropdown in the bindings editor. Asks user to select what type of actuation (click, touch, axis, etc.)."
APP_SETTINGS.BINDINGS.SUBPATH,Actuating control,Tooltip for the subpath dropdown in the bindings editor. Asks user to select which controller button/stick/trackpad to bind.
APP_SETTINGS.BINDINGS.THRESHOLD,"Activate when above upper value
Deactivate when below lower value",Tooltip for the threshold slider in the bindings editor. Explains the two-value threshold range for analog inputs.
APP_SETTINGS.BROWSE_ONLINE_CATALOG,Browse online catalog...,Button label in the color palettes popup. Opens a web browser to the WayVR online catalog.
APP_SETTINGS.BROWSE_SKYMAPS,Browse skymaps,"Button label in Settings > Skybox tab. Opens the skymap browser/list. ""Skymap"" was previously translated as ""${DEFINITIONS.SKYMAP}""."
APP_SETTINGS.CAPTURE_METHOD,Screen capture method,"Dropdown label in Settings > Miscellaneous tab. Selects the method for capturing the desktop screen (PipeWire, ScreenCopy, etc.)."
APP_SETTINGS.CAPTURE_METHOD_HELP,"Try changing this if you are
experiencing black or glitchy screens",Tooltip for the Wayland screen capture dropdown in Miscellaneous settings.
APP_SETTINGS.COLOR_KEYING,Color keying,Setting in the look-and-feel / color palette section. Enables or configures chroma-key style color filtering.
APP_SETTINGS.COLOR_PALETTE,Color palette,Button label in Settings > Look & Feel tab. Opens the color palette selection popup.
APP_SETTINGS.COLOR_PALETTE_HELP,"Click to browse color palettes.
To create custom ones, see website!",Tooltip for the Color palette button.
APP_SETTINGS.COLOR_PALETTES,Color palettes,Category/header label in the color palette popup.
APP_SETTINGS.COLOR_PALETTE_CURRENT,Currently active theme.,Label or tooltip showing which color palette is currently applied.
APP_SETTINGS.COLOR_PALETTE_CUSTOM_URL,Add your own custom theme!,Button/label in the color palette popup for adding a custom theme via URL.
APP_SETTINGS.COLOR_PALETTE_CUSTOM_URL2,Click to open web manual.,"Secondary label/button next to the custom URL input, linking to the web manual."
APP_SETTINGS.COLOR_PALETTE_ACTIVATE,Click to use this theme.,Tooltip or button label on a palette card to apply/activate that theme.
APP_SETTINGS.CLEAR_PIPEWIRE_TOKENS,Clear PipeWire tokens,Button label in Settings > Troubleshooting tab. Clears stored PipeWire screen-selection tokens so the user is prompted again on next start.
APP_SETTINGS.CLEAR_PIPEWIRE_TOKENS_HELP,Prompt for screen selection on next start,Tooltip explaining what clearing PipeWire tokens does.
APP_SETTINGS.CLEAR_SAVED_STATE,Clear saved state,Button label in Settings > Troubleshooting tab. Resets overlay positions and set placements to defaults.
APP_SETTINGS.CLEAR_SAVED_STATE_HELP,Reset sets & overlay positions,"Tooltip explaining what clearing saved state does. ""Overlay"" was previously translated as ""${DEFINITIONS.OVERLAY}""."
APP_SETTINGS.CLICK_FREEZE_TIME_MS,Click freeze time (ms),Slider/numeric input in Settings > Features tab. Sets a time window (in milliseconds) to help with double-click precision.
APP_SETTINGS.CLICK_FREEZE_TIME_MS_HELP,Helps with double-click precision,Tooltip for the click freeze time setting.
APP_SETTINGS.CLOCK_12H,12-hour clock,Checkbox label in Settings > Look & Feel tab. Toggles between 12-hour and 24-hour time display.
APP_SETTINGS.CONTROLS,Controls,Category header in Settings. Groups input/controller-related settings.
APP_SETTINGS.DELETE_ALL_CONFIGS,Wipe configuration,Button label in Settings > Troubleshooting tab. Removes all configuration files from conf.d.
APP_SETTINGS.DELETE_ALL_CONFIGS_HELP,Remove all configuration files from conf.d,Tooltip explaining the Wipe configuration button.
APP_SETTINGS.DOUBLE_CURSOR_FIX,Double cursor fix,Checkbox label in Settings > Miscellaneous tab. Enables a workaround for systems that show two cursors.
APP_SETTINGS.DOUBLE_CURSOR_FIX_HELP,Enable this if you see 2 cursors,Tooltip for the double cursor fix checkbox.
APP_SETTINGS.DEFAULT_OVERLAY_SCALE,Default overlay size,Slider label in Settings > Look & Feel tab. Sets the default scale for newly created overlays.
APP_SETTINGS.DEFAULT_OVERLAY_SCALE_HELP,Spawn new overlays at this scale.,"Tooltip for the default overlay size slider. ""Overlay"" was previously translated as ""${DEFINITIONS.OVERLAY}""."
APP_SETTINGS.DEFAULT_CURVATURE,Default overlay curvature,"Slider label in Settings > Look & Feel tab. Sets the default curvature for new overlays. ""Overlay"" was previously translated as ""${DEFINITIONS.OVERLAY}""."
APP_SETTINGS.DEFAULT_OPACITY,Default overlay opacity,"Slider label in Settings > Look & Feel tab. Sets the default opacity for new overlays. ""Overlay"" was previously translated as ""${DEFINITIONS.OVERLAY}""."
APP_SETTINGS.DEFAULT_POSITIONING,Default overlay positioning,"Dropdown label in Settings > Look & Feel tab. Sets the default positioning mode (anchored/floating/static) for new overlays. ""Overlay"" was previously translated as ""${DEFINITIONS.OVERLAY}""."
APP_SETTINGS.OVERLAY_DEFAULTS_HELP,Only applies to new overlays,"Tooltip shared by default overlay settings (curvature, opacity, positioning). Notes these don't affect existing overlays. ""Overlay"" was previously translated as ""${DEFINITIONS.OVERLAY}""."
APP_SETTINGS.ENABLED,Enabled,Label used for enabling space gravity and related physics features in the space drag settings.
APP_SETTINGS.FEATURES,Features,Category header in Settings. Previously translated as ${DEFINITIONS.FEATURES}
APP_SETTINGS.FOCUS_FOLLOWS_MOUSE_MODE,Mouse move on trigger touch,"Setting in Settings > Features tab. When enabled, moving the trigger touch moves the mouse cursor."
APP_SETTINGS.HANDSFREE_POINTER,Handsfree mode,Dropdown label in Settings > Features tab. Selects the input method used when motion controllers are unavailable.
APP_SETTINGS.HANDSFREE_POINTER_HELP,"Input to use when motion
controllers are unavailable.
Left pinch is grab, right is click.",Tooltip for the handsfree mode dropdown.
APP_SETTINGS.HANDSFREE_ALT_TAB,App switcher aim,Dropdown/setting in Settings > Features tab. Controls how the alt-tab app switcher is aimed.
APP_SETTINGS.HANDSFREE_ALT_TAB_HELP,"Hold Super+X, aim at the desired window, then release to switch focus.",Tooltip explaining the handsfree alt-tab behavior.
APP_SETTINGS.DIAGNOSTICS.CPU_ACCESSIBLE_VRAM,"CPU-accessible VRAM: {NUM} MiB","Amount of VRAM accessible by the CPU. For example: 256/4096"
APP_SETTINGS.DIAGNOSTICS.TITLE,"Diagnostics","Tab name for the hardware/software check panel"
APP_SETTINGS.DIAGNOSTICS.ENABLE_REBAR,"Enable Resizable BAR in the BIOS settings for optimal VR performance","Info shown if resizable bar is disabled in the BIOS. Leave [resizable bar] translation as-is."
APP_SETTINGS.DIAGNOSTICS_REASON.PACTL,"Required for speaker/microphone control and audio card switching","Reason for why the given software is recommended"
APP_SETTINGS.DIAGNOSTICS_REASON.CAGE,"Recommended in case if there's an incompatibility with some X11 applications (Compatibility mode)","Reason for why the given software is required or recommended"
APP_SETTINGS.DIAGNOSTICS_REASON.XWAYLAND_SATELLITE,"Recommended in case if you want to run X11 (Xwayland) applications in native mode","Reason for why the given software is required or recommended"
APP_SETTINGS.DIAGNOSTICS_REASON.XDG_OPEN,"Required for opening URLs or Steam games","Reason for why the given software is required or recommended"
APP_SETTINGS.HIDE_GRAB_HELP,Hide grab help,Checkbox label in Settings > Look & Feel tab. Hides the grab help overlay/text.
APP_SETTINGS.HIDE_USERNAME,Hide username,Checkbox label in Settings > Look & Feel tab. Hides the user's username from the UI.
APP_SETTINGS.INPUT_EMULATION_METHOD,Input emulation method,"Dropdown label in Settings > Miscellaneous tab. Selects how WayVR emulates mouse/keyboard input (uinput, Wayland virtual, none)."
APP_SETTINGS.INPUT_EMULATION_METHOD_HELP,"Try change this in case mouse or
keyboard input does not register.",Tooltip for the input emulation method dropdown.
APP_SETTINGS.INPUT_CAPTURE_METHOD,Input capture method,Dropdown label in Settings > Miscellaneous tab. Selects how physical input devices are captured for use inside WayVR.
APP_SETTINGS.INPUT_CAPTURE_METHOD_HELP,"Allows using physical peripherial inside WayVR.
Super+Z: Switch input between WayVR and real desktop
Super+X: Switch between WayVR apps",Tooltip explaining the input capture method setting.
APP_SETTINGS.INPUT_PROFILES,Change Input Bindings,Button label in Settings > Controls tab. Opens the controller bindings editor popup.
APP_SETTINGS.INPUT_PROFILES_HELP,OpenXR controller input bindings,Tooltip for the Change Input Bindings button.
APP_SETTINGS.INVERT_SCROLL_DIRECTION_X,Invert horizontal scroll direction,Checkbox label in Settings > Features tab. Inverts the horizontal scroll direction.
APP_SETTINGS.INVERT_SCROLL_DIRECTION_Y,Invert vertical scroll direction,Checkbox label in Settings > Features tab. Inverts the vertical scroll direction.
APP_SETTINGS.LENS_SEPARATION_MM,Lens separation (mm),"Distance between lens, in milimeters."
APP_SETTINGS.KEYBOARD_MIDDLE_CLICK,Keyboard middle click,Dropdown label in Settings > Features tab. Selects the modifier key used for middle-click when typing with the laser pointer.
APP_SETTINGS.KEYBOARD_MIDDLE_CLICK_HELP,"Modifier to use when typing
with purple laser",Tooltip for the keyboard middle-click setting.
APP_SETTINGS.KEYBOARD_SOUND_ENABLED,Keyboard sounds,Checkbox label in Settings > Features tab. Enables or disables typing sounds when using the on-screen keyboard.
APP_SETTINGS.LANGUAGE,Language,Dropdown label in Settings > Look & Feel tab. Selects the UI language.
APP_SETTINGS.LEFT_HANDED_MOUSE,Left-handed mouse,Checkbox label in Settings > Features tab. Swaps mouse buttons for left-handed users.
APP_SETTINGS.LEFT_HANDED_MOUSE_HELP,Use this if mouse buttons are swapped,Tooltip for the left-handed mouse checkbox.
APP_SETTINGS.LONG_PRESS_DURATION,Long press duration,Setting in Settings > Features tab. Controls how long a press must be held to register as a long press.
APP_SETTINGS.LOOK_AND_FEEL,Look & Feel,"Category header in Settings. Groups visual/customization settings like language, opacity, animation speed, color palettes."
APP_SETTINGS.MISC,Miscellaneous,"Category header in Settings. Groups troubleshooting and system-level settings like capture method, input emulation, xwayland."
APP_SETTINGS.MIDDLE_GRABS_SINGLE,"Middle-click modifier grabs individual","Checkbox label in Settings > Controls tab. When enabled, grabbing with the middle modifier will always grab individual objects, never the entire set of objects. ""Middle-click modifier"" was previously translated as ""${APP_SETTINGS.BINDINGS.ACTION.CLICK_MODIFIER_MIDDLE}"""
APP_SETTINGS.MIDDLE_GRABS_SINGLE_HELP,"Grabbing with the middle-click modifier (purple laser)
will grab individual overlays, not the entire set","Tooltip for the middle modifier grabs single overlays checkbox. ""Middle-click modifier"" was previously translated as ""${APP_SETTINGS.BINDINGS.ACTION.CLICK_MODIFIER_MIDDLE}"""
APP_SETTINGS.NOTIFICATIONS_ENABLED,Enable notifications,Checkbox label in Settings > Features tab. Enables or disables system notifications within WayVR.
APP_SETTINGS.NOTIFICATIONS_SOUND_ENABLED,Notification sounds,Checkbox label in Settings > Features tab. Enables or disables sound effects for notifications.
APP_SETTINGS.NOT_SUPPORTED,Not supported,Label shown in the space drag/physics settings when a feature (like gravity) is not supported by the current backend.
APP_SETTINGS.NO_SKYMAPS_FOUND,No skymaps found,"Label shown in the skymap browser when no skymaps are available locally. ""Skymap"" was previously translated as ""${DEFINITIONS.SKYMAP}""."
APP_SETTINGS.OPAQUE_BACKGROUND,Opaque background,Checkbox label in Settings > Look & Feel tab. Makes overlay backgrounds fully opaque (no transparency).
APP_SETTINGS.OPTION.ANCHORED_HELP,Moves with center marker. Recommended.,Tooltip for the Anchored positioning option.
APP_SETTINGS.OPTION.FLOATING_HELP,"Moves independently, recenters.
Easy to misplace; not recommended.",Tooltip for the Floating positioning option.
APP_SETTINGS.OPTION.STATIC_HELP,Stays in place relative to world.,Tooltip for the Static positioning option.
APP_SETTINGS.OPTION.AUTO,Automatic,"Dropdown option for screen capture method. Uses ScreenCopy GPU if supported, otherwise PipeWire GPU."
APP_SETTINGS.OPTION.AUTO_HELP,"ScreenCopy GPU if supported,
otherwise PipeWire GPU.",Tooltip for the Automatic capture method option.
APP_SETTINGS.OPTION.EYE_ONLY,Eye laser,Dropdown option for handsfree pointer mode. Uses only eye-tracking laser (no pinch).
APP_SETTINGS.OPTION.EYE_PINCH,Eye + pinch,Dropdown option for handsfree pointer mode. Uses eye-tracking for aiming and pinch for click.
APP_SETTINGS.OPTION.HMD_ONLY,HMD laser,Dropdown option for handsfree pointer/alt-tab mode. Uses only the HMD forward laser.
APP_SETTINGS.OPTION.HMD_PINCH,HMD + pinch,Dropdown option for handsfree pointer mode. Uses HMD laser for aiming and pinch for click.
APP_SETTINGS.OPTION.NONE,None,"Dropdown option used as the no binding or disabled choice in various settings (input emulation, input capture, handsfree pointer, alt modifier, whisper model)."
APP_SETTINGS.OPTION.NONE_INPUT_HELP,"Do not emulate mouse and keyboard.
Will not be able to interact with screens.",Tooltip for the None input emulation option.
APP_SETTINGS.OPTION.NONE_INPUT_CAPTURE_HELP,"Do not capture mouse and keyboard.
Will not be able to use physical mouse or
keyboard in apps launched inside WayVR.",Tooltip for the None input capture option.
APP_SETTINGS.OPTION.PIPEWIRE_HELP,"Fast GPU capture,
standard on all desktops.",Tooltip for the PipeWire GPU capture method option.
APP_SETTINGS.OPTION.PW_FALLBACK_HELP,"Slow method with high CPU usage.
Try in case PipeWire GPU doesn't work",Tooltip for the PipeWire CPU (fallback) capture method option.
APP_SETTINGS.OPTION.SCREENCOPY_GPU_HELP,"Fast, no screen share popups.
Works on: Hyprland, Niri, River, Sway",Tooltip for the ScreenCopy GPU capture method option.
APP_SETTINGS.OPTION.SCREENCOPY_HELP,"Slow, no screen share popups.
Works on: Hyprland, Niri, River, Sway",Tooltip for the ScreenCopy CPU capture method option.
APP_SETTINGS.OPTION.UINPUT,Device emulation,Dropdown option for input emulation method. Uses the uinput kernel module to emulate input devices.
APP_SETTINGS.OPTION.UINPUT_HELP,"Uses the uinput module to emulate a device.
Known to work well on most desktops.",Tooltip for the Device emulation (uinput) option.
APP_SETTINGS.OPTION.EVDEV_HELP,"Grab input devices for exclusive use.
Your user must be in the input group.",Tooltip for the evdev input capture method option.
APP_SETTINGS.OPTION.WL_VIRTUAL,Wayland virtual input,Dropdown option for input emulation method. Uses Wayland virtual pointer/keyboard protocols.
APP_SETTINGS.OPTION.WL_VIRTUAL_HELP,"Send events to the Wayland compositor using
zwlr_virtual_pointer and zwp_virtual_keyboard.
Only works reliably on some desktops.
Does NOT work on KDE, GNOME or COSMIC.",Tooltip for the Wayland virtual input option.
APP_SETTINGS.POINTER_ACCELERATION,Mouse acceleration,Checkbox/dropdown in Settings > Features tab. Toggles adaptive mouse acceleration (on) or constant speed (off).
APP_SETTINGS.POINTER_ACCELERATION_HELP,"On: Adaptive mouse acceleration
Off: Constant speed",Tooltip for the mouse acceleration setting.
APP_SETTINGS.POINTER_LERP_FACTOR,Pointer smoothing,Slider in Settings > Features tab. Controls the linear interpolation (smoothing) factor for pointer movement.
APP_SETTINGS.POINTER_SPEED,Mouse speed,Slider in Settings > Features tab. Controls the base mouse pointer speed.
APP_SETTINGS.REQUIRES_RESTART,Requires restart,Label shown below settings that require a software restart to take effect.
APP_SETTINGS.RESET_PLAYSPACE,Reset playspace,"Button in Settings > Space Drag tab. Clears the stage space offset, resetting playspace position. ""Playspace"" was previously translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.RESET_PLAYSPACE_HELP,Clear the stage space offset.,"Tooltip for the Reset playspace button. ""Space"" in this context refers to ""Playspace"" which was translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.SAVE_PLAYSPACE_CENTER,Save playspace center,"Button in Settings > Space Drag tab. Saves the current playspace center as the reset target. ""Playspace"" was previously translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.SAVE_PLAYSPACE_CENTER_HELP,Use current playspace for reset playspace binding.,"Tooltip for the Save playspace center button. ""Playspace"" was previously translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.RESET_PLAYSPACE_CENTER,Reset playspace center,"Button in Settings > Space Drag tab. Clears the previously saved playspace center. ""Playspace"" was previously translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.RESET_PLAYSPACE_CENTER_HELP,Clear previously set playspace center.,"Tooltip for the Reset playspace center button. ""Playspace"" was previously translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.RESTART_WAYVR,Restart WayVR,Button in Settings which restarts WayVR
APP_SETTINGS.CLOSE_WAYVR,Close WayVR,Button in Settings which closes WayVR
APP_SETTINGS.ROUND_MULTIPLIER,UI Edge roundness,Slider in Settings > Look & Feel tab. Controls how rounded the corners of UI elements appear (range 0.1-5.0).
APP_SETTINGS.SCREEN_RENDER_DOWN,Render screen at lower resolution,Checkbox in Settings > Miscellaneous tab. Renders the captured desktop screen at a lower resolution to improve performance or reduce aliasing.
APP_SETTINGS.SCREEN_RENDER_DOWN_HELP,Helps with aliasing on high-res screens,Tooltip for the lower-resolution screen render setting.
APP_SETTINGS.SCROLL_SPEED,Scroll speed,Slider in Settings > Features tab. Controls how fast scrolling occurs.
APP_SETTINGS.SELECT_VARIANT,Select variant,Label/button in the color palette or variant selection UI. Allows choosing between different theme variants.
APP_SETTINGS.SNAP_ANGLE_DEG,Window pitch & roll snap angle,Slider in Settings > Features tab. Sets the angle (in degrees) at which grabbed windows snap on pitch and roll axes.
APP_SETTINGS.SNAP_ANGLE_DEG_HELP,Grabbed windows snap to this angle on pitch and roll axis.,Tooltip for the snap angle setting.
APP_SETTINGS.ENABLE_WATCH,Enable watch,"Checkbox in Settings > Look & Feel tab. Enables the wrist watch UI element. ""Watch"" was previously translated as ""${DEFINITIONS.WATCH}""."
APP_SETTINGS.SETS_ON_WATCH,Sets on watch,"Checkbox in Settings > Look & Feel tab. Shows overlay sets on the wrist watch display. ""Watch"" was previously translated as ""${DEFINITIONS.WATCH}"". ""Set"" was previously translated as ""${DEFINITIONS.SET}""."
APP_SETTINGS.SKYBOX,Skymap,"Category header in Settings > Skymap tab. Groups skymap-related settings. ""Skymap"" was previously translated as ""${DEFINITIONS.SKYMAP}""."
APP_SETTINGS.SKYMAP_ALREADY_DOWNLOADED,This skymap is already downloaded. Select desired action.,"Message shown in a dialog when attempting to download a skymap that is already present locally. ""Skymap"" was previously translated as ""${DEFINITIONS.SKYMAP}""."
APP_SETTINGS.SPACE_DRAG,Playspace,"Category header in Settings. Groups playspace drag/physics settings including reset buttons and gravity. ""Playspace"" was previously translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.SPACE_DRAG_MULTIPLIER,Space drag multiplier,"Setting in the space drag physics panel. Multiplies the force applied during space drag. ""Space"" in this context refers to ""Playspace"" which was translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.SPACE_DRAG_AFFECTS_WORLD,Leave overlays behind during space move,"Checkbox in Settings > Space Drag tab. When enabled, moving the playspace leaves overlays behind instead of moving them with the set. ""Overlay"" was previously translated as ""${DEFINITIONS.OVERLAY}"". ""Space"" in this context refers to ""Playspace"" which was translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.SPACE_DRAG_UNLOCKED,Allow space drag on all axes,"Checkbox in Settings > Space Drag tab. Unlocks space drag to work on all axes instead of a constrained axis. ""Space"" in this context refers to ""Playspace"" which was translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.SPACE_GRAVITY_DAMPING,Damping,"Setting in the space gravity physics panel. Artificial drag to slow movement (0.1 = high drag, 1.0 = no drag)."
APP_SETTINGS.SPACE_GRAVITY_DAMPING_HELP,"Artificial drag to slow down movement. 0.1 - high drag, 1.0 - no drag",Tooltip for the inertial damping setting.
APP_SETTINGS.SPACE_GRAVITY_FLING_STRENGTH,Fling strength,Setting in the space gravity physics panel. Intensity multiplier for the gravitational launch force after space-drag.
APP_SETTINGS.SPACE_GRAVITY_FLING_STRENGTH_HELP,"Intensity multiplier of gravitational launch force after space-drag.
0.0 - no movement at all, 2.0 - double intensity","Tooltip for the fling strength setting. ""Space"" in this context refers to ""Playspace"" which was translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.SPACE_GRAVITY_GRAVITY,Gravity,Setting in the space gravity physics panel. Amount of downward force (0.0 = no gravity).
APP_SETTINGS.SPACE_GRAVITY_GRAVITY_HELP,Amount of downwards force. 0.0 - no gravity,Tooltip for the gravity setting.
APP_SETTINGS.SPACE_GRAVITY_GROUND_FRICTION,Ground friction,"Setting in the space gravity physics panel. Friction when touching the ground (0.0 = ice-like, 1.0 = rough)."
APP_SETTINGS.SPACE_GRAVITY_GROUND_FRICTION_HELP,"Amount of friction slowing you down if you're touching the ground.
0.0 - no friction (just like on ice), 1.0 - rough surface",Tooltip for the ground friction setting.
APP_SETTINGS.SPACE_GRAVITY_FLOOR_HEIGHT,Floor height,Setting in the space gravity physics panel. The Y position where the virtual floor is.
APP_SETTINGS.SPACE_GRAVITY_FLOOR_HEIGHT_HELP,The Y position where the floor is. Gravity stops when you reach this height.,Tooltip for the floor height setting.
APP_SETTINGS.SPACE_ROTATE_UNLOCKED,Allow space rotate on all axes,"Checkbox in Settings > Space Drag tab. Unlocks space rotate to work on all axes. ""Space"" in this context refers to ""Playspace"" which was translated as ""${DEFINITIONS.PLAYSPACE}""."
APP_SETTINGS.ROTATIONS,HMD rotations,Number of full 360-degree rotations of the HMD since startup. Shown in Settings > Statistics.
APP_SETTINGS.SESSION_TIME,Session time,Time since WayVR started. Shown in Settings > Statistics.
APP_SETTINGS.STATISTICS,Statistics,Category header in Settings.
APP_SETTINGS.TROUBLESHOOTING,Troubleshooting,"Category header in Settings. Groups diagnostic/reset actions like clearing tokens, wiping config, and restarting."
APP_SETTINGS.UI_GRADIENT_INTENSITY,UI Gradient intensity,Slider in Settings > Look & Feel tab. Controls the intensity of gradient effects on the UI (range 0.0-1.0).
APP_SETTINGS.UPRIGHT_SCREEN_FIX,Upright screen fix,Checkbox in Settings > Miscellaneous tab. Fixes upright screen orientation on some desktop environments.
APP_SETTINGS.UPRIGHT_SCREEN_FIX_HELP,Fixes upright screens on some desktops,Tooltip for the upright screen fix checkbox.
APP_SETTINGS.USE_PASSTHROUGH,Enable passthrough,Checkbox in Settings > Skybox tab. Allows camera passthrough mode if the XR runtime supports it.
APP_SETTINGS.USE_PASSTHROUGH_HELP,Allow passthrough if the XR runtime supports it,Tooltip for the passthrough checkbox.
APP_SETTINGS.USE_SKYBOX,Show skymap,"Checkbox in Settings > Skybox tab. Shows a skybox when there's no scene app or passthrough active. ""Skymap"" was previously translated as ""${DEFINITIONS.SKYMAP}""."
APP_SETTINGS.USE_SKYBOX_HELP,Show a skymap if there's no scene app or passthrough,"Tooltip for the enable skybox checkbox. ""Skymap"" was previously translated as ""${DEFINITIONS.SKYMAP}""."
APP_SETTINGS.WATCH_VIEW_ANGLE,Watch view angles,"Setting in Settings > Look & Feel tab. Controls the view angles at which the wrist watch fades in/out. ""Watch"" was previously translated as ""${DEFINITIONS.WATCH}""."
APP_SETTINGS.WATCH_VIEW_ANGLE_HELP,Control how the watch fades away,"Tooltip for the watch view angles setting. ""Watch"" was previously translated as ""${DEFINITIONS.WATCH}""."
APP_SETTINGS.WHISPER.NEED_TO_DOWNLOAD_MODEL,"The selected model needs to be downloaded.
Download it right now?",Message shown in a dialog box when the user selects a Whisper model that hasn't been downloaded yet.
APP_SETTINGS.WHISPER.REMOVE_UNUSED_MODELS,"You are turning off the speech-to-text feature.
Would you like to remove downloaded Whisper models to free up space?",Message shown in a dialog box when the user disables the whisper feature.
APP_SETTINGS.WHISPER_MODEL,Speech-to-text model,Dropdown label in Settings > Features tab. Selects which Whisper model to use for speech-to-text.
APP_SETTINGS.WHISPER_MODEL_HELP,"Whisper model to use.
Larger models produce more accurate
results, but consume more VRAM.",Tooltip for the speech-to-text model dropdown.
APP_SETTINGS.SPEECH_TO_TEXT,"Speech to text","Category header in Settings"
APP_SETTINGS.WHISPER_GPU_SELECT,"Select GPU","A list of GPUs the user can select from"
APP_SETTINGS.TUTORIAL,Tutorial,Tooltip for tutorial button in the main screen.
APP_SETTINGS.GRID_OPACITY,Floor grid opacity,Slider in Settings > Skybox tab. Controls the opacity of the floor grid when skybox is enabled.
APP_SETTINGS.GRID_OPACITY_HELP,Opacity of the floor grid when the skymap is enabled,"Tooltip for the floor grid opacity slider. ""Skymap"" was previously translated as ""${DEFINITIONS.SKYMAP}""."
APP_SETTINGS.XWAYLAND_BY_DEFAULT,Run apps in Compatibility mode by default,Checkbox in Settings > Miscellaneous tab. Launches apps in Cage/compatibility mode by default.
APP_SETTINGS.SAVE,Save,Button label in the controller bindings editor popup. Saves the current bindings configuration.
APP_SETTINGS.CANCEL,Cancel,Button label in the controller bindings editor popup and in whisper model dialogs. Cancels/dismisses the dialog without saving.
APPLICATION_LAUNCHER,Application launcher,App launcher configuration popup title - appears as the label for the app launch/options dialog.
APPLICATION_STARTED,Application started,Toast notification shown after a successful app launch.
APPLICATIONS,Applications,Tab label in the dashboard sidebar for the Apps tab.
AUDIO.SWITCH_TO_THIS_DEVICE,Switch to this device,Button in the audio settings dialog
AUDIO.AUTO_SWITCH_TO_VR_AUDIO,Auto-switch to VR audio,Tooltip on the auto-switch audio button in the audio settings popup.
AUDIO.CARDS,Cards,Button label in the audio settings popup for selecting audio card profiles.
AUDIO.FAILED_TO_SWITCH_MICROPHONE,Failed to switch microphone,Error toast shown when switching to a VR microphone fails.
AUDIO.MICROPHONE_SET_SUCCESSFULLY,Microphone set successfully,Toast notification after successfully switching the microphone.
AUDIO.MICROPHONES,Microphones,Button label in the audio settings popup for selecting microphone sources.
AUDIO.NO_VR_MICROPHONE_SWITCH_MANUALLY,No VR microphone found. Switch it manually.,Toast shown when no VR microphone is detected and manual switching is needed.
AUDIO.NO_VR_SPEAKERS_FOUND_SWITCH_MANUALLY,No VR speakers found. Switch them manually.,Toast shown when no VR speakers are detected after auto-switch.
AUDIO.SELECT_AUDIO_CARD_PROFILE,Select audio card profile,Bold label in the audio settings popup for choosing an audio card profile.
AUDIO.SETTINGS,Audio settings,Window title for the audio settings popup opened from the dashboard.
AUDIO.SPEAKERS,Speakers,Button label in the audio settings popup for selecting speaker sinks.
AUDIO.SPEAKERS_SET_SUCCESSFULLY,Speakers set successfully,Toast notification after successfully switching speakers.
AUDIO.VOLUME,Volume,Tooltip on the audio volume button in the dashboard.
CLOSE_WINDOW,Close window,"Close button label used in dialog boxes, download file popup, and window options."
CREATION_DATE,Creation date,Column label in the remote skymap downloader showing file metadata.
DEBUG_INFO,Debug info,Tab name in the Monado runtime section of the dashboard.
DISPLAY_BRIGHTNESS,Display brightness,Label for the display brightness setting in the Monado general settings tab.
DONATE.SUPPORT_US,Support us,Button tooltip on the home screen donate button.
DONATE.DESCRIPTION,"We're a small team of 2 developers building WayVR in our free time. If you enjoy using this software, please consider supporting us - every donation helps us keep going.",Description text on the donate tab explaining the project.
DONATE.THANK_YOU_WAYVR,Thank you from the WayVR Team!,Thank you message displayed on the donate tab.
DONATE.BUTTON_TOOLTIP,Donate via Open Collective,Tooltip on the donate button on the donate tab.
DONATE.CURRENT_SUPPORTERS,Current Supporters,Section header on the donate tab listing supporters.
DONATE.BROUGHT_TO_YOU_VARIANTS_OFTEN,Supported by {USER}|Special thanks to {USER}|Sponsored by {USER}|Backed by {USER}|Driven by community members like {USER}|Made possible by {USER}|Sustained by {USER}|Contributed by {USER}|Funded by {USER},This text will show up a random person from donations page - line below this string will display the supporter user. There are many variants of it.
DONATE.BROUGHT_TO_YOU_VARIANTS_RARE,Coffee provided by {USER}|Fuelled by {USER}|Shoutout to {USER}!|Keeping us going: {USER}|Helping us grow: {USER}|Keeping the servers running: {USER}|With gratitude to {USER}|Powered by {USER}|Supported by friends like {USER},This text will show up a random person from donations page - line below this string will display the supporter user. There are many variants of it (rare versions).
DONATE.BROUGHT_TO_YOU_VARIANTS_VERY_RARE,Supported by legends like {USER}|Caffeine supplied by {USER}|A true legend: {USER}|Our hero of the day: {USER}|An absolute superstar: {USER}|Paying for the electricity bill: {USER}|The savior of our sanity: {USER}|Leading the way: {USER}|Caffeine-to-code converter provided by {USER}|Keeping the production stable: {USER}|The one and only: {USER}|Passing dmabuf buffers: {USER},This text will show up a random person from donations page - line below this string will display the supporter user. There are many variants of it (rare versions).
DOWNLOAD,Download,Button in the Whisper model download dialog to confirm downloading a model.
DOWNLOADER,Downloader,Window title for the file download popup.
WELCOME.ALL_SET,You're all set!,Main heading on the final welcome/tutorial page.
WELCOME.BASICS,These basics will allow you to start using WayVR with ease.,Description text on the final welcome page under the You are all set heading.
WELCOME.CENTER_MARKER,Center marker is what will appear in front of you when recentering. Place overlays around it!,"Description of the center marker on the moving your set tutorial page. ""Overlay"" was previously translated as ""${DEFINITIONS.OVERLAY}""."
WELCOME.DOUBLE_PRESS_TO_TOGGLE,"Double-press B (on Index) or Y (on Meta) to show, recenter or hide your set. Try it now.","Instruction text on the working set tutorial page explaining the double-press gesture. ""Set"" was previously translated as ""${DEFINITIONS.SET}""."
WELCOME.FEATURES_DOCUMENTATION,"There are many other features worth customizing. For more information, check the documentation at",Text on the final welcome page linking to documentation.
WELCOME.FINISH_TUTORIAL,Finish tutorial,Button text on the final welcome page to complete the tutorial.
WELCOME.GRAB_BOTH_HANDS,Grab it with both hands if you want to move a specific overlay in your set.,Instruction text on the moving your set tutorial page for two-hand grab.
WELCOME.GRAB_ONE_HAND,Grab it with one hand to move your set.,Instruction text on the moving your set tutorial page for one-hand grab.
WELCOME.GREETING,Hi there!,Greeting label on the first welcome page.
WELCOME.GUIDE_INTRO,Let us guide you through your first steps.,Intro text on the first welcome page below the greeting.
WELCOME.LASER_COLORS,Laser Colors,Page title on the laser colors tutorial page.
WELCOME.LASER_FUNCTIONALITY,"Much of the functionality in WayVR depends on what color of laser is used to interact with a UI element. You don't need to press these buttons, just touch them!",Description text on the laser colors tutorial page.
WELCOME.LAST_PAGE_INFO,This tutorial will stop showing up once you get to the last page.,Info text on the first welcome page noting the tutorial is near the end.
WELCOME.LOOK_AT_LEFT_WRIST,Look at your left wrist. That's your watch.,"Instruction text on the watch tutorial page. ""Watch"" was previously translated as ""${DEFINITIONS.WATCH}""."
WELCOME.MIDDLE_CLICK_MODE_PURPLE_LASER, Middle-click Mode: Purple laser,Laser mode label on the laser colors tutorial page.
WELCOME.MOVING_YOUR_SET,Moving your set,Page title on the moving your set tutorial page.
WELCOME.NEXT_BUTTON,"Press ""Next"" button below to get started.",Label on the first welcome page pointing to the next button.
WELCOME.REGULAR_MODE_BLUE_LASER,Regular Mode: Blue laser,Laser mode label on the laser colors tutorial page.
WELCOME.REPOSITION_THIS_WINDOW_BY_GRABBING,Reposition this window using your controller's grip action.,Instruction text on the first welcome page about window repositioning.
WELCOME.RIGHT_CLICK_MODE_ORANGE_LASER,Right-click Mode: Orange laser,Laser mode label on the laser colors tutorial page.
WELCOME.THANKS_FOR_INSTALLING,Thank you for installing WayVR!,Thanks text on the first welcome page below the greeting.
WELCOME.WATCH,Watch,"Page title on the watch/tutorial page. ""Watch"" was previously translated as ""${DEFINITIONS.WATCH}""."
WELCOME.WORKING_SET,Working Set,"Page title on the working set tutorial page. ""Set"" was previously translated as ""${DEFINITIONS.SET}"". Working as in ""Current""."
DOWNLOAD_AGAIN,Download again,Button in the skymap already downloaded dialog to re-download a skymap.
DOWNLOADING_FILE,Downloading file...,Status label in the download file popup showing download progress.
FAILED_TO_LAUNCH_APPLICATION,Failed to launch a application:,Error prefix in the toast shown when app launch fails.
GAME_LAUNCHED,Game launched,Toast notification shown after successfully launching a game via Steam.
GAME_LIST.NO_GAMES_FOUND,No games found,Empty state text shown in the game list when no games are installed.
GAME_LIST.RUNNING_GAMES_LIST,List of running games,Section label in the running games list view.
GAMES,Games,Tab label in the dashboard sidebar for the Games tab.
GENERAL_SETTINGS,General settings,Tab name and group box title in the Monado runtime settings.
GETTING_STARTED,Getting started,Tab label in the dashboard sidebar for the Welcome/tutorial tab.
HEIGHT,Height,Label for the height dimension field in the add display popup.
HELLO,Hello!,Fallback greeting on the home screen when username is hidden.
HELLO_USER,"Hello, {USER}!",Greeting on the home screen with the user name substituted in.
HIDE,Hide,Used in the double-press tutorial context for hiding the set.
HOME_SCREEN,Home,Tab label in the dashboard sidebar for the Home tab.
MODIFICATION_DATE,Modification date,Column label in the remote skymap downloader showing file metadata.
MONADO_RUNTIME,Monado runtime,Tab label in the dashboard sidebar for the Monado runtime tab.
LOADING,Loading...,Label in the loading spinner template used across the UI.
POPUP_ADD_DISPLAY.RESOLUTION,Resolution,Label for the resolution field in the add display popup.
POWER_OPTIONS.TITLE,"Power options","A button which allows the user to perform a specific power action"
POWER_OPTIONS.SHUTDOWN,"Shut down","One of the power options: shuts down the computer"
POWER_OPTIONS.SUSPEND,"Suspend","One of the power options: suspends the computer"
POWER_OPTIONS.NOT_SUPPORTED,"Power options require systemd or elogind.","Notification to the user that power options (shutdown and suspend) are not available. 'systemd' and 'elogind' are package names and should not be translated."
POWER_OPTIONS.SHUTDOWN_ARE_YOU_SURE,"Are you sure you want to turn off your computer?","Question dialog box before shutting down the computer"
POWER_OPTIONS.SUSPEND_ARE_YOU_SURE,"Are you sure you want to put your computer to sleep?","Question dialog box before putting the computer in sleep mode"
PROCESS.FORCE_KILL,Force-kill,Tooltip on the kill button in the running games list.
PROCESS.STOP,Stop,Tooltip on the stop button in the running games list.
PROCESS_LIST,Process list,Tab name and group box title in the Monado runtime process list section.
REFRESH,Refresh,Tooltip on the refresh button in the running games list.
REMOVE,Remove,Button label in the skymap already downloaded dialog and Whisper cleanup dialog to remove files.
APPLY,Apply,Button label in the skymap already downloaded dialog to apply the selected skymap.
RELOAD_FROM_DISK,Reload from disk,Tooltip on the reload button in the skymap list view.
SETTINGS,Settings,Tab label in the dashboard sidebar for the Settings tab. Previously translated as ${DEFINITIONS.SETT}
SHOW,Show,Used in the double-press tutorial context for showing the set.
TARGET_PATH,Target path,Label for the target path display in the download file popup.
TERMINATE_PROCESS,Terminate process,Button label in the window options bar to kill a process.
VERSION,Version,Label for the version display in the remote skymap downloader.
WIDTH,Width,Label for the width dimension field in the add display popup.
PINNED_APPS,Pinned applications,"Section header label for the pinned apps list on the Apps tab, a.k.a. ""Favourites"""
SAVED_TO_FAVOURITES,Saved to pinned apps,"Toast notification shown after pinning an app to favourites. ""Pinned apps"" was previously translated as ""${PINNED_APPS}""."
ADD_TO_FAVOURITES,Add to pinned apps,"Label on the pin button in the app launcher popup that is used to add to favourites.. ""Pinned apps"" was previously translated as ""${PINNED_APPS}""."
ADD_TO_FAVOURITES_HINT,Save preset and pin it to the app drawer,"Tooltip on the add to favourites button in the app launcher popup. ""Pinned apps"" was previously translated as ""${PINNED_APPS}""."
REMOVE_FROM_FAVOURITES,Remove from pinned apps,"Label on the unpin section in the app launcher popup. ""Pinned apps"" was previously translated as ""${PINNED_APPS}""."
EMPTY,Empty,Label shown in the pinned apps section when there are no pinned apps.
INSTALLED,"Installed","Installation flag (installed/not installed)"
NOT_INSTALLED,"Not installed","Installation flag (installed/not installed)"
YES,"Yes","Just a simple 'Yes' message, button in the dialog box"
NO,"No","Just a simple 'No' message, button in the dialog box"
1 DEFINITIONS.ANCHORED Anchored A movement option that makes this window move together with the rest of the workspace. Emphasize the "moving together" part as opposed to "not moving at all".
2 DEFINITIONS.FLOATING Floating A movement option that lets this window float freely.
3 DEFINITIONS.STATIC Static A movement option that keeps this window in place relative to the world origin. Emphasize the "not moving at all" part, as opposed to the "moving together" option which was previously translated as ${DEFINITIONS.ANCHORED}.
4 DEFINITIONS.SET Set A desktop workspace consisting of multiple windows.
5 DEFINITIONS.WATCH Watch Name of the small utility window that hovers around the user's wrist.
6 DEFINITIONS.DASHBOARD Dashboard Name of the window that acts as the main menu / control panel of the application.
7 DEFINITIONS.EDIT_MODE Edit Mode Name of the mode that allows the user to make various tweaks to the current workspace and its windows.
8 DEFINITIONS.SETTINGS Settings The title of the settings panel.
9 DEFINITIONS.KEYBOARD Keyboard Name of the virtual keyboard
10 DEFINITIONS.TASKBAR Taskbar A long panel showing currently active programs & windows, workspaces and a clock.
11 DEFINITIONS.FEATURES Features The section title of the section panel that deals with software features.
12 DEFINITIONS.OVERLAY Overlay An overlay window inside VR, similar to a "desktop window". Consider it a technical term.
13 DEFINITIONS.SKYMAP Skymap A 360 degree background image that surrounds the user.
14 DEFINITIONS.PLAYSPACE Playspace The VR play space that the user can adjust in different way. Technical term.
15 DEFINITIONS.D_PAD D-pad Directional pad on a modern game controller. Technical term.
16 ACTIONS.RECENTER_PLAYSPACE Re-center playspace Tooltip on a button (with recenter icon) in the bottom-left of the VR dashboard. The button resets the user's tracked playspace to the current physical location. "Playspace" was previously translated as "${DEFINITIONS.PLAYSPACE}".
17 APP_LAUNCHER.ASPECT.SEMI_TALL Semi-tall Radio button in the App Launcher panel's Aspect section. Sets the window to a 2:3 vertical aspect ratio. Tooltip shows "2:3".
18 APP_LAUNCHER.ASPECT.SEMI_WIDE Semi-wide Radio button in the App Launcher panel's Aspect section. Sets the window to a 3:2 aspect ratio. Tooltip shows "3:2".
19 APP_LAUNCHER.ASPECT.SQUARE Square Radio button in the App Launcher panel's Aspect section. Sets the window to a 1:1 aspect ratio. Tooltip shows "1:1".
20 APP_LAUNCHER.ASPECT.TALL Tall Radio button in the App Launcher panel's Aspect section. Sets the window to a 9:16 vertical aspect ratio. Tooltip shows "9:16".
21 APP_LAUNCHER.ASPECT.WIDE Wide Radio button in the App Launcher panel's Aspect section. Sets the window to a 16:9 aspect ratio (standard widescreen). Tooltip shows "16:9".
22 APP_LAUNCHER.ASPECT_TITLE Aspect Section header label above a row of 5 radio buttons (Wide, Semi-wide, Square, Semi-tall, Tall) in the App Launcher panel. Controls the window aspect ratio for the selected app.
23 APP_LAUNCHER.AUTOSTART Run automatically on startup Label on a checkbox in the App Launcher panel. When checked, the selected app will launch automatically when the Dash compositor starts.
24 APP_LAUNCHER.LAUNCH Launch Label on the primary (blue/primary color) button at the bottom of the App Launcher panel. Launches the selected app with the configured settings. Has a play icon next to it.
25 APP_LAUNCHER.MODE.CAGE Compatibility mode (Cage) Radio button option in the App Launcher panel's mode selector (next to "Native mode"). Sets the app to run in Cage compatibility mode.
26 APP_LAUNCHER.MODE.NATIVE Native mode Radio button option (default/checked) in the App Launcher panel's mode selector (next to "Compatibility mode (Cage)"). Sets the app to run in native Wayland mode.
27 APP_LAUNCHER.RES_TITLE Resolution Section header label in the App Launcher panel above a row of 4 radio buttons (1440p, 1080p, 720p, 480p). Controls the rendering resolution for the selected app.
28 APP_SETTINGS.ALLOW_SLIDING Stick interaction during grab Checkbox label in Settings > Features tab. Toggles whether analog stick input works while an overlay is grabbed/moved.
29 APP_SETTINGS.ANIMATION_SPEED UI Animation speed Slider label in Settings > Look & Feel tab. Controls the speed of UI transition animations (range 0.5-5.0).
30 APP_SETTINGS.AUTOSTART_APPS Apps to run on startup Category header in Settings. Label for the section listing apps configured to auto-launch on WayVR startup.
31 APP_SETTINGS.BLOCK_GAME_INPUT Block game input Checkbox label in Settings > Features tab. When enabled, blocks all in-game input when an overlay is hovered.
32 APP_SETTINGS.BLOCK_GAME_INPUT_HELP Blocks all input when an overlay is hovered Tooltip text appearing next to the Block game input checkbox in Settings > Features.
33 APP_SETTINGS.BLOCK_GAME_INPUT_IGNORE_WATCH Ignore watch when blocking input Checkbox label in Settings > Features tab. When enabled, hovering the wrist watch does not block game input. "Watch" was previously translated as "${DEFINITIONS.WATCH}".
34 APP_SETTINGS.BLOCK_GAME_INPUT_IGNORE_WATCH_HELP Do not block input when watch is hovered Tooltip text next to the Ignore watch when blocking input checkbox. "Watch" was previously translated as "${DEFINITIONS.WATCH}".
35 APP_SETTINGS.BLOCK_POSES_ON_KBD_INTERACTION Block poses when interacting with keyboard Checkbox label in Settings > Features tab. Blocks game pose input when the on-screen keyboard is hovered (requires Block game input enabled).
36 APP_SETTINGS.BLOCK_POSES_ON_KBD_INTERACTION_HELP Blocks the game from receiving poses when the keyboard is hovered and 'Block game input' is enabled Tooltip explaining the Block poses when interacting with keyboard checkbox.
37 APP_SETTINGS.BINDINGS.COMP.CLICK Click Dropdown option in the controller bindings editor. Selects the Click component of a controller input.
38 APP_SETTINGS.BINDINGS.COMP.FORCE Force Dropdown option in the controller bindings editor. Selects the Force analog component (e.g. how hard a trigger is pressed).
39 APP_SETTINGS.BINDINGS.COMP.TOUCH Touch Dropdown option in the controller bindings editor. Selects the Touch component (whether a button is merely touched vs pressed).
40 APP_SETTINGS.BINDINGS.COMP.VALUE Value Dropdown option in the controller bindings editor. Selects the raw Value analog output of a component.
41 APP_SETTINGS.BINDINGS.COMP.PROXIMITY Proximity Dropdown option in the controller bindings editor. Selects the Proximity component (distance of controller from head/hand).
42 APP_SETTINGS.BINDINGS.COMP.X_AXIS X axis Dropdown option in the controller bindings editor. Selects the X-axis analog value (e.g. thumbstick X, trackpad X).
43 APP_SETTINGS.BINDINGS.COMP.Y_AXIS Y axis Dropdown option in the controller bindings editor. Selects the Y-axis analog value (e.g. thumbstick Y, trackpad Y).
44 APP_SETTINGS.BINDINGS.TYPE.BUMPER Bumper Dropdown option in the bindings editor. Maps to the Bumper controller subpath (upper shoulder button).
45 APP_SETTINGS.BINDINGS.TYPE.DPAD_UP D-pad Up Dropdown option in the bindings editor. Maps to the D-pad up direction. "D-pad" was previously translated as "${DEFINITIONS.D_PAD}".
46 APP_SETTINGS.BINDINGS.TYPE.DPAD_DOWN D-pad Down Dropdown option in the bindings editor. Maps to the D-pad down direction. "D-pad" was previously translated as "${DEFINITIONS.D_PAD}". "D-pad Up" was previously translated as "${APP_SETTINGS.BINDINGS.TYPE.DPAD_UP}".
47 APP_SETTINGS.BINDINGS.TYPE.DPAD_LEFT D-pad Left Dropdown option in the bindings editor. Maps to the D-pad left direction. "D-pad" was previously translated as "${DEFINITIONS.D_PAD}". "D-pad Up" was previously translated as "${APP_SETTINGS.BINDINGS.TYPE.DPAD_UP}".
48 APP_SETTINGS.BINDINGS.TYPE.DPAD_RIGHT D-pad Right Dropdown option in the bindings editor. Maps to the D-pad right direction. "D-pad" was previously translated as "${DEFINITIONS.D_PAD}". "D-pad Up" was previously translated as "${APP_SETTINGS.BINDINGS.TYPE.DPAD_UP}".
49 APP_SETTINGS.BINDINGS.TYPE.JOYSTICK Joystick Dropdown option in the bindings editor. Maps to the joystick subpath.
50 APP_SETTINGS.BINDINGS.TYPE.MENU Menu Dropdown option in the bindings editor. Maps to the Menu controller button.
51 APP_SETTINGS.BINDINGS.TYPE.SHOULDER Shoulder Dropdown option in the bindings editor. Maps to the Shoulder subpath (shoulder strap button).
52 APP_SETTINGS.BINDINGS.TYPE.SQUEEZE Grip Dropdown option in the bindings editor. Maps to the Squeeze component (controller grip action).
53 APP_SETTINGS.BINDINGS.TYPE.SYSTEM System Dropdown option in the bindings editor. Maps to the System controller subpath.
54 APP_SETTINGS.BINDINGS.TYPE.THUMBREST Thumbrest Dropdown option in the bindings editor. Maps to the thumbrest touch sensor.
55 APP_SETTINGS.BINDINGS.TYPE.THUMBSTICK Thumbstick Dropdown option in the bindings editor. Maps to the thumbstick subpath. Different from "Joystick" which was previously translated as "${APP_SETTINGS.BINDINGS.TYPE.JOYSTICK}".
56 APP_SETTINGS.BINDINGS.TYPE.TRACKPAD Trackpad Dropdown option in the bindings editor. Maps to the trackpad subpath.
57 APP_SETTINGS.BINDINGS.TYPE.TRIGGER Trigger Dropdown option in the bindings editor. Maps to the trigger subpath.
58 APP_SETTINGS.BINDINGS.TYPE.VIEW View Dropdown option in the bindings editor. Maps to the View controller button.
59 APP_SETTINGS.BINDINGS.CLICK.ANY Any Dropdown option in the bindings editor. Selects any press click type (no double/triple tap requirement).
60 APP_SETTINGS.BINDINGS.CLICK.DOUBLE Double-tap Dropdown option in the bindings editor. Requires a double-tap on the selected button/component.
61 APP_SETTINGS.BINDINGS.CLICK.TRIPLE Triple-tap Dropdown option in the bindings editor. Requires a triple-tap on the selected button/component.
62 APP_SETTINGS.BINDINGS.CLICK.TYPE Tap count Tooltip for the click-type dropdown in the bindings editor. Indicates this dropdown controls how many taps are required.
63 APP_SETTINGS.BINDINGS.ACTION.CLICK Click* Label for the click action row in the controller bindings editor. The asterisk indicates it may have modifiers. Leave the '*' at the end.
64 APP_SETTINGS.BINDINGS.ACTION.GRAB Grab* Label for the grab action row in the bindings editor. Maps to the controller grab/grip action. Leave the '*' at the end.
65 APP_SETTINGS.BINDINGS.ACTION.ALT_CLICK Custom shell exec (set alt_click in config) Label for the alt_click action row in the bindings editor. Triggers a custom shell command defined in config.
66 APP_SETTINGS.BINDINGS.ACTION.SHOW_HIDE Show, hide, recenter* Label for the show_hide action row. Toggles overlay visibility and recenters the set. Leave the '*' at the end.
67 APP_SETTINGS.BINDINGS.ACTION.TOGGLE_DASHBOARD Toggle dashboard Label for the toggle_dashboard action row. Opens or closes the WayVR dashboard.
68 APP_SETTINGS.BINDINGS.ACTION.SPACE_DRAG Playspace drag Label for the space_drag action row. Allows dragging the entire playspace/set of overlays. "Playspace" was previously translated as "${DEFINITIONS.PLAYSPACE}".
69 APP_SETTINGS.BINDINGS.ACTION.SPACE_ROTATE Playspace rotate Label for the space_rotate action row. Allows rotating the entire playspace/set. "Playspace" was previously translated as "${DEFINITIONS.PLAYSPACE}".
70 APP_SETTINGS.BINDINGS.ACTION.SPACE_RESET Playspace reset Label for the space_reset action row. Resets playspace to the original state. "Playspace" was previously translated as "${DEFINITIONS.PLAYSPACE}".
71 APP_SETTINGS.BINDINGS.ACTION.CLICK_MODIFIER_RIGHT Right-click modifier Label for the click_modifier_right action row. Maps a controller input to act as a right-click modifier.
72 APP_SETTINGS.BINDINGS.ACTION.CLICK_MODIFIER_MIDDLE Middle-click modifier Label for the click_modifier_middle action row. Maps a controller input to act as a middle-click modifier.
73 APP_SETTINGS.BINDINGS.ACTION.MOVE_MOUSE Move mouse (if off by default) Label for the move_mouse action row. Maps controller input to mouse movement.
74 APP_SETTINGS.BINDINGS.ACTION.SCROLL Scroll* Label for the scroll action row. Maps controller input to scrolling. Leave the '*' at the end.
75 APP_SETTINGS.BINDINGS.LEFT Left Label in the bindings editor. Refers to the left controller/hand configuration.
76 APP_SETTINGS.BINDINGS.RIGHT Right Label in the bindings editor. Refers to the right controller/hand configuration.
77 APP_SETTINGS.BINDINGS.CHORD Chord Label for a group of controller inputs that must all be active together. As in Input Chord
78 APP_SETTINGS.BINDINGS.CHORD_ADD_INPUT Add chord input Button in the controller bindings editor that adds another physical input to a chord. "Chord" was previously translated as "${APP_SETTINGS.BINDINGS.CHORD}".
79 APP_SETTINGS.BINDINGS.CHORD_INPUT_HAND Input hand Selector for the hand to which we will be binding the input action to.
80 APP_SETTINGS.BINDINGS.COMPONENT Actuation type Tooltip for the component dropdown in the bindings editor. Asks user to select what type of actuation (click, touch, axis, etc.).
81 APP_SETTINGS.BINDINGS.SUBPATH Actuating control Tooltip for the subpath dropdown in the bindings editor. Asks user to select which controller button/stick/trackpad to bind.
82 APP_SETTINGS.BINDINGS.THRESHOLD Activate when above upper value Deactivate when below lower value Tooltip for the threshold slider in the bindings editor. Explains the two-value threshold range for analog inputs.
83 APP_SETTINGS.BROWSE_ONLINE_CATALOG Browse online catalog... Button label in the color palettes popup. Opens a web browser to the WayVR online catalog.
84 APP_SETTINGS.BROWSE_SKYMAPS Browse skymaps Button label in Settings > Skybox tab. Opens the skymap browser/list. "Skymap" was previously translated as "${DEFINITIONS.SKYMAP}".
85 APP_SETTINGS.CAPTURE_METHOD Screen capture method Dropdown label in Settings > Miscellaneous tab. Selects the method for capturing the desktop screen (PipeWire, ScreenCopy, etc.).
86 APP_SETTINGS.CAPTURE_METHOD_HELP Try changing this if you are experiencing black or glitchy screens Tooltip for the Wayland screen capture dropdown in Miscellaneous settings.
87 APP_SETTINGS.COLOR_KEYING Color keying Setting in the look-and-feel / color palette section. Enables or configures chroma-key style color filtering.
88 APP_SETTINGS.COLOR_PALETTE Color palette Button label in Settings > Look & Feel tab. Opens the color palette selection popup.
89 APP_SETTINGS.COLOR_PALETTE_HELP Click to browse color palettes. To create custom ones, see website! Tooltip for the Color palette button.
90 APP_SETTINGS.COLOR_PALETTES Color palettes Category/header label in the color palette popup.
91 APP_SETTINGS.COLOR_PALETTE_CURRENT Currently active theme. Label or tooltip showing which color palette is currently applied.
92 APP_SETTINGS.COLOR_PALETTE_CUSTOM_URL Add your own custom theme! Button/label in the color palette popup for adding a custom theme via URL.
93 APP_SETTINGS.COLOR_PALETTE_CUSTOM_URL2 Click to open web manual. Secondary label/button next to the custom URL input, linking to the web manual.
94 APP_SETTINGS.COLOR_PALETTE_ACTIVATE Click to use this theme. Tooltip or button label on a palette card to apply/activate that theme.
95 APP_SETTINGS.CLEAR_PIPEWIRE_TOKENS Clear PipeWire tokens Button label in Settings > Troubleshooting tab. Clears stored PipeWire screen-selection tokens so the user is prompted again on next start.
96 APP_SETTINGS.CLEAR_PIPEWIRE_TOKENS_HELP Prompt for screen selection on next start Tooltip explaining what clearing PipeWire tokens does.
97 APP_SETTINGS.CLEAR_SAVED_STATE Clear saved state Button label in Settings > Troubleshooting tab. Resets overlay positions and set placements to defaults.
98 APP_SETTINGS.CLEAR_SAVED_STATE_HELP Reset sets & overlay positions Tooltip explaining what clearing saved state does. "Overlay" was previously translated as "${DEFINITIONS.OVERLAY}".
99 APP_SETTINGS.CLICK_FREEZE_TIME_MS Click freeze time (ms) Slider/numeric input in Settings > Features tab. Sets a time window (in milliseconds) to help with double-click precision.
100 APP_SETTINGS.CLICK_FREEZE_TIME_MS_HELP Helps with double-click precision Tooltip for the click freeze time setting.
101 APP_SETTINGS.CLOCK_12H 12-hour clock Checkbox label in Settings > Look & Feel tab. Toggles between 12-hour and 24-hour time display.
102 APP_SETTINGS.CONTROLS Controls Category header in Settings. Groups input/controller-related settings.
103 APP_SETTINGS.DELETE_ALL_CONFIGS Wipe configuration Button label in Settings > Troubleshooting tab. Removes all configuration files from conf.d.
104 APP_SETTINGS.DELETE_ALL_CONFIGS_HELP Remove all configuration files from conf.d Tooltip explaining the Wipe configuration button.
105 APP_SETTINGS.DOUBLE_CURSOR_FIX Double cursor fix Checkbox label in Settings > Miscellaneous tab. Enables a workaround for systems that show two cursors.
106 APP_SETTINGS.DOUBLE_CURSOR_FIX_HELP Enable this if you see 2 cursors Tooltip for the double cursor fix checkbox.
107 APP_SETTINGS.DEFAULT_OVERLAY_SCALE Default overlay size Slider label in Settings > Look & Feel tab. Sets the default scale for newly created overlays.
108 APP_SETTINGS.DEFAULT_OVERLAY_SCALE_HELP Spawn new overlays at this scale. Tooltip for the default overlay size slider. "Overlay" was previously translated as "${DEFINITIONS.OVERLAY}".
109 APP_SETTINGS.DEFAULT_CURVATURE Default overlay curvature Slider label in Settings > Look & Feel tab. Sets the default curvature for new overlays. "Overlay" was previously translated as "${DEFINITIONS.OVERLAY}".
110 APP_SETTINGS.DEFAULT_OPACITY Default overlay opacity Slider label in Settings > Look & Feel tab. Sets the default opacity for new overlays. "Overlay" was previously translated as "${DEFINITIONS.OVERLAY}".
111 APP_SETTINGS.DEFAULT_POSITIONING Default overlay positioning Dropdown label in Settings > Look & Feel tab. Sets the default positioning mode (anchored/floating/static) for new overlays. "Overlay" was previously translated as "${DEFINITIONS.OVERLAY}".
112 APP_SETTINGS.OVERLAY_DEFAULTS_HELP Only applies to new overlays Tooltip shared by default overlay settings (curvature, opacity, positioning). Notes these don't affect existing overlays. "Overlay" was previously translated as "${DEFINITIONS.OVERLAY}".
113 APP_SETTINGS.ENABLED Enabled Label used for enabling space gravity and related physics features in the space drag settings.
114 APP_SETTINGS.FEATURES Features Category header in Settings. Previously translated as ${DEFINITIONS.FEATURES}
115 APP_SETTINGS.FOCUS_FOLLOWS_MOUSE_MODE Mouse move on trigger touch Setting in Settings > Features tab. When enabled, moving the trigger touch moves the mouse cursor.
116 APP_SETTINGS.HANDSFREE_POINTER Handsfree mode Dropdown label in Settings > Features tab. Selects the input method used when motion controllers are unavailable.
117 APP_SETTINGS.HANDSFREE_POINTER_HELP Input to use when motion controllers are unavailable. Left pinch is grab, right is click. Tooltip for the handsfree mode dropdown.
118 APP_SETTINGS.HANDSFREE_ALT_TAB App switcher aim Dropdown/setting in Settings > Features tab. Controls how the alt-tab app switcher is aimed.
119 APP_SETTINGS.HANDSFREE_ALT_TAB_HELP Hold Super+X, aim at the desired window, then release to switch focus. Tooltip explaining the handsfree alt-tab behavior.
120 APP_SETTINGS.DIAGNOSTICS.CPU_ACCESSIBLE_VRAM CPU-accessible VRAM: {NUM} MiB Amount of VRAM accessible by the CPU. For example: 256/4096
121 APP_SETTINGS.DIAGNOSTICS.TITLE Diagnostics Tab name for the hardware/software check panel
122 APP_SETTINGS.DIAGNOSTICS.ENABLE_REBAR Enable Resizable BAR in the BIOS settings for optimal VR performance Info shown if resizable bar is disabled in the BIOS. Leave [resizable bar] translation as-is.
123 APP_SETTINGS.DIAGNOSTICS_REASON.PACTL Required for speaker/microphone control and audio card switching Reason for why the given software is recommended
124 APP_SETTINGS.DIAGNOSTICS_REASON.CAGE Recommended in case if there's an incompatibility with some X11 applications (Compatibility mode) Reason for why the given software is required or recommended
125 APP_SETTINGS.DIAGNOSTICS_REASON.XWAYLAND_SATELLITE Recommended in case if you want to run X11 (Xwayland) applications in native mode Reason for why the given software is required or recommended
126 APP_SETTINGS.DIAGNOSTICS_REASON.XDG_OPEN Required for opening URLs or Steam games Reason for why the given software is required or recommended
127 APP_SETTINGS.HIDE_GRAB_HELP Hide grab help Checkbox label in Settings > Look & Feel tab. Hides the grab help overlay/text.
128 APP_SETTINGS.HIDE_USERNAME Hide username Checkbox label in Settings > Look & Feel tab. Hides the user's username from the UI.
129 APP_SETTINGS.INPUT_EMULATION_METHOD Input emulation method Dropdown label in Settings > Miscellaneous tab. Selects how WayVR emulates mouse/keyboard input (uinput, Wayland virtual, none).
130 APP_SETTINGS.INPUT_EMULATION_METHOD_HELP Try change this in case mouse or keyboard input does not register. Tooltip for the input emulation method dropdown.
131 APP_SETTINGS.INPUT_CAPTURE_METHOD Input capture method Dropdown label in Settings > Miscellaneous tab. Selects how physical input devices are captured for use inside WayVR.
132 APP_SETTINGS.INPUT_CAPTURE_METHOD_HELP Allows using physical peripherial inside WayVR. Super+Z: Switch input between WayVR and real desktop Super+X: Switch between WayVR apps Tooltip explaining the input capture method setting.
133 APP_SETTINGS.INPUT_PROFILES Change Input Bindings Button label in Settings > Controls tab. Opens the controller bindings editor popup.
134 APP_SETTINGS.INPUT_PROFILES_HELP OpenXR controller input bindings Tooltip for the Change Input Bindings button.
135 APP_SETTINGS.INVERT_SCROLL_DIRECTION_X Invert horizontal scroll direction Checkbox label in Settings > Features tab. Inverts the horizontal scroll direction.
136 APP_SETTINGS.INVERT_SCROLL_DIRECTION_Y Invert vertical scroll direction Checkbox label in Settings > Features tab. Inverts the vertical scroll direction.
137 APP_SETTINGS.LENS_SEPARATION_MM Lens separation (mm) Distance between lens, in milimeters.
138 APP_SETTINGS.KEYBOARD_MIDDLE_CLICK Keyboard middle click Dropdown label in Settings > Features tab. Selects the modifier key used for middle-click when typing with the laser pointer.
139 APP_SETTINGS.KEYBOARD_MIDDLE_CLICK_HELP Modifier to use when typing with purple laser Tooltip for the keyboard middle-click setting.
140 APP_SETTINGS.KEYBOARD_SOUND_ENABLED Keyboard sounds Checkbox label in Settings > Features tab. Enables or disables typing sounds when using the on-screen keyboard.
141 APP_SETTINGS.LANGUAGE Language Dropdown label in Settings > Look & Feel tab. Selects the UI language.
142 APP_SETTINGS.LEFT_HANDED_MOUSE Left-handed mouse Checkbox label in Settings > Features tab. Swaps mouse buttons for left-handed users.
143 APP_SETTINGS.LEFT_HANDED_MOUSE_HELP Use this if mouse buttons are swapped Tooltip for the left-handed mouse checkbox.
144 APP_SETTINGS.LONG_PRESS_DURATION Long press duration Setting in Settings > Features tab. Controls how long a press must be held to register as a long press.
145 APP_SETTINGS.LOOK_AND_FEEL Look & Feel Category header in Settings. Groups visual/customization settings like language, opacity, animation speed, color palettes.
146 APP_SETTINGS.MISC Miscellaneous Category header in Settings. Groups troubleshooting and system-level settings like capture method, input emulation, xwayland.
147 APP_SETTINGS.MIDDLE_GRABS_SINGLE Middle-click modifier grabs individual Checkbox label in Settings > Controls tab. When enabled, grabbing with the middle modifier will always grab individual objects, never the entire set of objects. "Middle-click modifier" was previously translated as "${APP_SETTINGS.BINDINGS.ACTION.CLICK_MODIFIER_MIDDLE}"
148 APP_SETTINGS.MIDDLE_GRABS_SINGLE_HELP Grabbing with the middle-click modifier (purple laser) will grab individual overlays, not the entire set Tooltip for the middle modifier grabs single overlays checkbox. "Middle-click modifier" was previously translated as "${APP_SETTINGS.BINDINGS.ACTION.CLICK_MODIFIER_MIDDLE}"
149 APP_SETTINGS.NOTIFICATIONS_ENABLED Enable notifications Checkbox label in Settings > Features tab. Enables or disables system notifications within WayVR.
150 APP_SETTINGS.NOTIFICATIONS_SOUND_ENABLED Notification sounds Checkbox label in Settings > Features tab. Enables or disables sound effects for notifications.
151 APP_SETTINGS.NOT_SUPPORTED Not supported Label shown in the space drag/physics settings when a feature (like gravity) is not supported by the current backend.
152 APP_SETTINGS.NO_SKYMAPS_FOUND No skymaps found Label shown in the skymap browser when no skymaps are available locally. "Skymap" was previously translated as "${DEFINITIONS.SKYMAP}".
153 APP_SETTINGS.OPAQUE_BACKGROUND Opaque background Checkbox label in Settings > Look & Feel tab. Makes overlay backgrounds fully opaque (no transparency).
154 APP_SETTINGS.OPTION.ANCHORED_HELP Moves with center marker. Recommended. Tooltip for the Anchored positioning option.
155 APP_SETTINGS.OPTION.FLOATING_HELP Moves independently, recenters. Easy to misplace; not recommended. Tooltip for the Floating positioning option.
156 APP_SETTINGS.OPTION.STATIC_HELP Stays in place relative to world. Tooltip for the Static positioning option.
157 APP_SETTINGS.OPTION.AUTO Automatic Dropdown option for screen capture method. Uses ScreenCopy GPU if supported, otherwise PipeWire GPU.
158 APP_SETTINGS.OPTION.AUTO_HELP ScreenCopy GPU if supported, otherwise PipeWire GPU. Tooltip for the Automatic capture method option.
159 APP_SETTINGS.OPTION.EYE_ONLY Eye laser Dropdown option for handsfree pointer mode. Uses only eye-tracking laser (no pinch).
160 APP_SETTINGS.OPTION.EYE_PINCH Eye + pinch Dropdown option for handsfree pointer mode. Uses eye-tracking for aiming and pinch for click.
161 APP_SETTINGS.OPTION.HMD_ONLY HMD laser Dropdown option for handsfree pointer/alt-tab mode. Uses only the HMD forward laser.
162 APP_SETTINGS.OPTION.HMD_PINCH HMD + pinch Dropdown option for handsfree pointer mode. Uses HMD laser for aiming and pinch for click.
163 APP_SETTINGS.OPTION.NONE None Dropdown option used as the no binding or disabled choice in various settings (input emulation, input capture, handsfree pointer, alt modifier, whisper model).
164 APP_SETTINGS.OPTION.NONE_INPUT_HELP Do not emulate mouse and keyboard. Will not be able to interact with screens. Tooltip for the None input emulation option.
165 APP_SETTINGS.OPTION.NONE_INPUT_CAPTURE_HELP Do not capture mouse and keyboard. Will not be able to use physical mouse or keyboard in apps launched inside WayVR. Tooltip for the None input capture option.
166 APP_SETTINGS.OPTION.PIPEWIRE_HELP Fast GPU capture, standard on all desktops. Tooltip for the PipeWire GPU capture method option.
167 APP_SETTINGS.OPTION.PW_FALLBACK_HELP Slow method with high CPU usage. Try in case PipeWire GPU doesn't work Tooltip for the PipeWire CPU (fallback) capture method option.
168 APP_SETTINGS.OPTION.SCREENCOPY_GPU_HELP Fast, no screen share popups. Works on: Hyprland, Niri, River, Sway Tooltip for the ScreenCopy GPU capture method option.
169 APP_SETTINGS.OPTION.SCREENCOPY_HELP Slow, no screen share popups. Works on: Hyprland, Niri, River, Sway Tooltip for the ScreenCopy CPU capture method option.
170 APP_SETTINGS.OPTION.UINPUT Device emulation Dropdown option for input emulation method. Uses the uinput kernel module to emulate input devices.
171 APP_SETTINGS.OPTION.UINPUT_HELP Uses the uinput module to emulate a device. Known to work well on most desktops. Tooltip for the Device emulation (uinput) option.
172 APP_SETTINGS.OPTION.EVDEV_HELP Grab input devices for exclusive use. Your user must be in the input group. Tooltip for the evdev input capture method option.
173 APP_SETTINGS.OPTION.WL_VIRTUAL Wayland virtual input Dropdown option for input emulation method. Uses Wayland virtual pointer/keyboard protocols.
174 APP_SETTINGS.OPTION.WL_VIRTUAL_HELP Send events to the Wayland compositor using zwlr_virtual_pointer and zwp_virtual_keyboard. Only works reliably on some desktops. Does NOT work on KDE, GNOME or COSMIC. Tooltip for the Wayland virtual input option.
175 APP_SETTINGS.POINTER_ACCELERATION Mouse acceleration Checkbox/dropdown in Settings > Features tab. Toggles adaptive mouse acceleration (on) or constant speed (off).
176 APP_SETTINGS.POINTER_ACCELERATION_HELP On: Adaptive mouse acceleration Off: Constant speed Tooltip for the mouse acceleration setting.
177 APP_SETTINGS.POINTER_LERP_FACTOR Pointer smoothing Slider in Settings > Features tab. Controls the linear interpolation (smoothing) factor for pointer movement.
178 APP_SETTINGS.POINTER_SPEED Mouse speed Slider in Settings > Features tab. Controls the base mouse pointer speed.
179 APP_SETTINGS.REQUIRES_RESTART Requires restart Label shown below settings that require a software restart to take effect.
180 APP_SETTINGS.RESET_PLAYSPACE Reset playspace Button in Settings > Space Drag tab. Clears the stage space offset, resetting playspace position. "Playspace" was previously translated as "${DEFINITIONS.PLAYSPACE}".
181 APP_SETTINGS.RESET_PLAYSPACE_HELP Clear the stage space offset. Tooltip for the Reset playspace button. "Space" in this context refers to "Playspace" which was translated as "${DEFINITIONS.PLAYSPACE}".
182 APP_SETTINGS.SAVE_PLAYSPACE_CENTER Save playspace center Button in Settings > Space Drag tab. Saves the current playspace center as the reset target. "Playspace" was previously translated as "${DEFINITIONS.PLAYSPACE}".
183 APP_SETTINGS.SAVE_PLAYSPACE_CENTER_HELP Use current playspace for reset playspace binding. Tooltip for the Save playspace center button. "Playspace" was previously translated as "${DEFINITIONS.PLAYSPACE}".
184 APP_SETTINGS.RESET_PLAYSPACE_CENTER Reset playspace center Button in Settings > Space Drag tab. Clears the previously saved playspace center. "Playspace" was previously translated as "${DEFINITIONS.PLAYSPACE}".
185 APP_SETTINGS.RESET_PLAYSPACE_CENTER_HELP Clear previously set playspace center. Tooltip for the Reset playspace center button. "Playspace" was previously translated as "${DEFINITIONS.PLAYSPACE}".
186 APP_SETTINGS.RESTART_WAYVR Restart WayVR Button in Settings which restarts WayVR
187 APP_SETTINGS.CLOSE_WAYVR Close WayVR Button in Settings which closes WayVR
188 APP_SETTINGS.ROUND_MULTIPLIER UI Edge roundness Slider in Settings > Look & Feel tab. Controls how rounded the corners of UI elements appear (range 0.1-5.0).
189 APP_SETTINGS.SCREEN_RENDER_DOWN Render screen at lower resolution Checkbox in Settings > Miscellaneous tab. Renders the captured desktop screen at a lower resolution to improve performance or reduce aliasing.
190 APP_SETTINGS.SCREEN_RENDER_DOWN_HELP Helps with aliasing on high-res screens Tooltip for the lower-resolution screen render setting.
191 APP_SETTINGS.SCROLL_SPEED Scroll speed Slider in Settings > Features tab. Controls how fast scrolling occurs.
192 APP_SETTINGS.SELECT_VARIANT Select variant Label/button in the color palette or variant selection UI. Allows choosing between different theme variants.
193 APP_SETTINGS.SNAP_ANGLE_DEG Window pitch & roll snap angle Slider in Settings > Features tab. Sets the angle (in degrees) at which grabbed windows snap on pitch and roll axes.
194 APP_SETTINGS.SNAP_ANGLE_DEG_HELP Grabbed windows snap to this angle on pitch and roll axis. Tooltip for the snap angle setting.
195 APP_SETTINGS.ENABLE_WATCH Enable watch Checkbox in Settings > Look & Feel tab. Enables the wrist watch UI element. "Watch" was previously translated as "${DEFINITIONS.WATCH}".
196 APP_SETTINGS.SETS_ON_WATCH Sets on watch Checkbox in Settings > Look & Feel tab. Shows overlay sets on the wrist watch display. "Watch" was previously translated as "${DEFINITIONS.WATCH}". "Set" was previously translated as "${DEFINITIONS.SET}".
197 APP_SETTINGS.SKYBOX Skymap Category header in Settings > Skymap tab. Groups skymap-related settings. "Skymap" was previously translated as "${DEFINITIONS.SKYMAP}".
198 APP_SETTINGS.SKYMAP_ALREADY_DOWNLOADED This skymap is already downloaded. Select desired action. Message shown in a dialog when attempting to download a skymap that is already present locally. "Skymap" was previously translated as "${DEFINITIONS.SKYMAP}".
199 APP_SETTINGS.SPACE_DRAG Playspace Category header in Settings. Groups playspace drag/physics settings including reset buttons and gravity. "Playspace" was previously translated as "${DEFINITIONS.PLAYSPACE}".
200 APP_SETTINGS.SPACE_DRAG_MULTIPLIER Space drag multiplier Setting in the space drag physics panel. Multiplies the force applied during space drag. "Space" in this context refers to "Playspace" which was translated as "${DEFINITIONS.PLAYSPACE}".
201 APP_SETTINGS.SPACE_DRAG_AFFECTS_WORLD Leave overlays behind during space move Checkbox in Settings > Space Drag tab. When enabled, moving the playspace leaves overlays behind instead of moving them with the set. "Overlay" was previously translated as "${DEFINITIONS.OVERLAY}". "Space" in this context refers to "Playspace" which was translated as "${DEFINITIONS.PLAYSPACE}".
202 APP_SETTINGS.SPACE_DRAG_UNLOCKED Allow space drag on all axes Checkbox in Settings > Space Drag tab. Unlocks space drag to work on all axes instead of a constrained axis. "Space" in this context refers to "Playspace" which was translated as "${DEFINITIONS.PLAYSPACE}".
203 APP_SETTINGS.SPACE_GRAVITY_DAMPING Damping Setting in the space gravity physics panel. Artificial drag to slow movement (0.1 = high drag, 1.0 = no drag).
204 APP_SETTINGS.SPACE_GRAVITY_DAMPING_HELP Artificial drag to slow down movement. 0.1 - high drag, 1.0 - no drag Tooltip for the inertial damping setting.
205 APP_SETTINGS.SPACE_GRAVITY_FLING_STRENGTH Fling strength Setting in the space gravity physics panel. Intensity multiplier for the gravitational launch force after space-drag.
206 APP_SETTINGS.SPACE_GRAVITY_FLING_STRENGTH_HELP Intensity multiplier of gravitational launch force after space-drag. 0.0 - no movement at all, 2.0 - double intensity Tooltip for the fling strength setting. "Space" in this context refers to "Playspace" which was translated as "${DEFINITIONS.PLAYSPACE}".
207 APP_SETTINGS.SPACE_GRAVITY_GRAVITY Gravity Setting in the space gravity physics panel. Amount of downward force (0.0 = no gravity).
208 APP_SETTINGS.SPACE_GRAVITY_GRAVITY_HELP Amount of downwards force. 0.0 - no gravity Tooltip for the gravity setting.
209 APP_SETTINGS.SPACE_GRAVITY_GROUND_FRICTION Ground friction Setting in the space gravity physics panel. Friction when touching the ground (0.0 = ice-like, 1.0 = rough).
210 APP_SETTINGS.SPACE_GRAVITY_GROUND_FRICTION_HELP Amount of friction slowing you down if you're touching the ground. 0.0 - no friction (just like on ice), 1.0 - rough surface Tooltip for the ground friction setting.
211 APP_SETTINGS.SPACE_GRAVITY_FLOOR_HEIGHT Floor height Setting in the space gravity physics panel. The Y position where the virtual floor is.
212 APP_SETTINGS.SPACE_GRAVITY_FLOOR_HEIGHT_HELP The Y position where the floor is. Gravity stops when you reach this height. Tooltip for the floor height setting.
213 APP_SETTINGS.SPACE_ROTATE_UNLOCKED Allow space rotate on all axes Checkbox in Settings > Space Drag tab. Unlocks space rotate to work on all axes. "Space" in this context refers to "Playspace" which was translated as "${DEFINITIONS.PLAYSPACE}".
214 APP_SETTINGS.ROTATIONS HMD rotations Number of full 360-degree rotations of the HMD since startup. Shown in Settings > Statistics.
215 APP_SETTINGS.SESSION_TIME Session time Time since WayVR started. Shown in Settings > Statistics.
216 APP_SETTINGS.STATISTICS Statistics Category header in Settings.
217 APP_SETTINGS.TROUBLESHOOTING Troubleshooting Category header in Settings. Groups diagnostic/reset actions like clearing tokens, wiping config, and restarting.
218 APP_SETTINGS.UI_GRADIENT_INTENSITY UI Gradient intensity Slider in Settings > Look & Feel tab. Controls the intensity of gradient effects on the UI (range 0.0-1.0).
219 APP_SETTINGS.UPRIGHT_SCREEN_FIX Upright screen fix Checkbox in Settings > Miscellaneous tab. Fixes upright screen orientation on some desktop environments.
220 APP_SETTINGS.UPRIGHT_SCREEN_FIX_HELP Fixes upright screens on some desktops Tooltip for the upright screen fix checkbox.
221 APP_SETTINGS.USE_PASSTHROUGH Enable passthrough Checkbox in Settings > Skybox tab. Allows camera passthrough mode if the XR runtime supports it.
222 APP_SETTINGS.USE_PASSTHROUGH_HELP Allow passthrough if the XR runtime supports it Tooltip for the passthrough checkbox.
223 APP_SETTINGS.USE_SKYBOX Show skymap Checkbox in Settings > Skybox tab. Shows a skybox when there's no scene app or passthrough active. "Skymap" was previously translated as "${DEFINITIONS.SKYMAP}".
224 APP_SETTINGS.USE_SKYBOX_HELP Show a skymap if there's no scene app or passthrough Tooltip for the enable skybox checkbox. "Skymap" was previously translated as "${DEFINITIONS.SKYMAP}".
225 APP_SETTINGS.WATCH_VIEW_ANGLE Watch view angles Setting in Settings > Look & Feel tab. Controls the view angles at which the wrist watch fades in/out. "Watch" was previously translated as "${DEFINITIONS.WATCH}".
226 APP_SETTINGS.WATCH_VIEW_ANGLE_HELP Control how the watch fades away Tooltip for the watch view angles setting. "Watch" was previously translated as "${DEFINITIONS.WATCH}".
227 APP_SETTINGS.WHISPER.NEED_TO_DOWNLOAD_MODEL The selected model needs to be downloaded. Download it right now? Message shown in a dialog box when the user selects a Whisper model that hasn't been downloaded yet.
228 APP_SETTINGS.WHISPER.REMOVE_UNUSED_MODELS You are turning off the speech-to-text feature. Would you like to remove downloaded Whisper models to free up space? Message shown in a dialog box when the user disables the whisper feature.
229 APP_SETTINGS.WHISPER_MODEL Speech-to-text model Dropdown label in Settings > Features tab. Selects which Whisper model to use for speech-to-text.
230 APP_SETTINGS.WHISPER_MODEL_HELP Whisper model to use. Larger models produce more accurate results, but consume more VRAM. Tooltip for the speech-to-text model dropdown.
231 APP_SETTINGS.SPEECH_TO_TEXT Speech to text Category header in Settings
232 APP_SETTINGS.WHISPER_GPU_SELECT Select GPU A list of GPUs the user can select from
233 APP_SETTINGS.TUTORIAL Tutorial Tooltip for tutorial button in the main screen.
234 APP_SETTINGS.GRID_OPACITY Floor grid opacity Slider in Settings > Skybox tab. Controls the opacity of the floor grid when skybox is enabled.
235 APP_SETTINGS.GRID_OPACITY_HELP Opacity of the floor grid when the skymap is enabled Tooltip for the floor grid opacity slider. "Skymap" was previously translated as "${DEFINITIONS.SKYMAP}".
236 APP_SETTINGS.XWAYLAND_BY_DEFAULT Run apps in Compatibility mode by default Checkbox in Settings > Miscellaneous tab. Launches apps in Cage/compatibility mode by default.
237 APP_SETTINGS.SAVE Save Button label in the controller bindings editor popup. Saves the current bindings configuration.
238 APP_SETTINGS.CANCEL Cancel Button label in the controller bindings editor popup and in whisper model dialogs. Cancels/dismisses the dialog without saving.
239 APPLICATION_LAUNCHER Application launcher App launcher configuration popup title - appears as the label for the app launch/options dialog.
240 APPLICATION_STARTED Application started Toast notification shown after a successful app launch.
241 APPLICATIONS Applications Tab label in the dashboard sidebar for the Apps tab.
242 AUDIO.SWITCH_TO_THIS_DEVICE Switch to this device Button in the audio settings dialog
243 AUDIO.AUTO_SWITCH_TO_VR_AUDIO Auto-switch to VR audio Tooltip on the auto-switch audio button in the audio settings popup.
244 AUDIO.CARDS Cards Button label in the audio settings popup for selecting audio card profiles.
245 AUDIO.FAILED_TO_SWITCH_MICROPHONE Failed to switch microphone Error toast shown when switching to a VR microphone fails.
246 AUDIO.MICROPHONE_SET_SUCCESSFULLY Microphone set successfully Toast notification after successfully switching the microphone.
247 AUDIO.MICROPHONES Microphones Button label in the audio settings popup for selecting microphone sources.
248 AUDIO.NO_VR_MICROPHONE_SWITCH_MANUALLY No VR microphone found. Switch it manually. Toast shown when no VR microphone is detected and manual switching is needed.
249 AUDIO.NO_VR_SPEAKERS_FOUND_SWITCH_MANUALLY No VR speakers found. Switch them manually. Toast shown when no VR speakers are detected after auto-switch.
250 AUDIO.SELECT_AUDIO_CARD_PROFILE Select audio card profile Bold label in the audio settings popup for choosing an audio card profile.
251 AUDIO.SETTINGS Audio settings Window title for the audio settings popup opened from the dashboard.
252 AUDIO.SPEAKERS Speakers Button label in the audio settings popup for selecting speaker sinks.
253 AUDIO.SPEAKERS_SET_SUCCESSFULLY Speakers set successfully Toast notification after successfully switching speakers.
254 AUDIO.VOLUME Volume Tooltip on the audio volume button in the dashboard.
255 CLOSE_WINDOW Close window Close button label used in dialog boxes, download file popup, and window options.
256 CREATION_DATE Creation date Column label in the remote skymap downloader showing file metadata.
257 DEBUG_INFO Debug info Tab name in the Monado runtime section of the dashboard.
258 DISPLAY_BRIGHTNESS Display brightness Label for the display brightness setting in the Monado general settings tab.
259 DONATE.SUPPORT_US Support us Button tooltip on the home screen donate button.
260 DONATE.DESCRIPTION We're a small team of 2 developers building WayVR in our free time. If you enjoy using this software, please consider supporting us - every donation helps us keep going. Description text on the donate tab explaining the project.
261 DONATE.THANK_YOU_WAYVR Thank you from the WayVR Team! Thank you message displayed on the donate tab.
262 DONATE.BUTTON_TOOLTIP Donate via Open Collective Tooltip on the donate button on the donate tab.
263 DONATE.CURRENT_SUPPORTERS Current Supporters Section header on the donate tab listing supporters.
264 DONATE.BROUGHT_TO_YOU_VARIANTS_OFTEN Supported by {USER}|Special thanks to {USER}|Sponsored by {USER}|Backed by {USER}|Driven by community members like {USER}|Made possible by {USER}|Sustained by {USER}|Contributed by {USER}|Funded by {USER} This text will show up a random person from donations page - line below this string will display the supporter user. There are many variants of it.
265 DONATE.BROUGHT_TO_YOU_VARIANTS_RARE Coffee provided by {USER}|Fuelled by {USER}|Shoutout to {USER}!|Keeping us going: {USER}|Helping us grow: {USER}|Keeping the servers running: {USER}|With gratitude to {USER}|Powered by {USER}|Supported by friends like {USER} This text will show up a random person from donations page - line below this string will display the supporter user. There are many variants of it (rare versions).
266 DONATE.BROUGHT_TO_YOU_VARIANTS_VERY_RARE Supported by legends like {USER}|Caffeine supplied by {USER}|A true legend: {USER}|Our hero of the day: {USER}|An absolute superstar: {USER}|Paying for the electricity bill: {USER}|The savior of our sanity: {USER}|Leading the way: {USER}|Caffeine-to-code converter provided by {USER}|Keeping the production stable: {USER}|The one and only: {USER}|Passing dmabuf buffers: {USER} This text will show up a random person from donations page - line below this string will display the supporter user. There are many variants of it (rare versions).
267 DOWNLOAD Download Button in the Whisper model download dialog to confirm downloading a model.
268 DOWNLOADER Downloader Window title for the file download popup.
269 WELCOME.ALL_SET You're all set! Main heading on the final welcome/tutorial page.
270 WELCOME.BASICS These basics will allow you to start using WayVR with ease. Description text on the final welcome page under the You are all set heading.
271 WELCOME.CENTER_MARKER Center marker is what will appear in front of you when recentering. Place overlays around it! Description of the center marker on the moving your set tutorial page. "Overlay" was previously translated as "${DEFINITIONS.OVERLAY}".
272 WELCOME.DOUBLE_PRESS_TO_TOGGLE Double-press B (on Index) or Y (on Meta) to show, recenter or hide your set. Try it now. Instruction text on the working set tutorial page explaining the double-press gesture. "Set" was previously translated as "${DEFINITIONS.SET}".
273 WELCOME.FEATURES_DOCUMENTATION There are many other features worth customizing. For more information, check the documentation at Text on the final welcome page linking to documentation.
274 WELCOME.FINISH_TUTORIAL Finish tutorial Button text on the final welcome page to complete the tutorial.
275 WELCOME.GRAB_BOTH_HANDS Grab it with both hands if you want to move a specific overlay in your set. Instruction text on the moving your set tutorial page for two-hand grab.
276 WELCOME.GRAB_ONE_HAND Grab it with one hand to move your set. Instruction text on the moving your set tutorial page for one-hand grab.
277 WELCOME.GREETING Hi there! Greeting label on the first welcome page.
278 WELCOME.GUIDE_INTRO Let us guide you through your first steps. Intro text on the first welcome page below the greeting.
279 WELCOME.LASER_COLORS Laser Colors Page title on the laser colors tutorial page.
280 WELCOME.LASER_FUNCTIONALITY Much of the functionality in WayVR depends on what color of laser is used to interact with a UI element. You don't need to press these buttons, just touch them! Description text on the laser colors tutorial page.
281 WELCOME.LAST_PAGE_INFO This tutorial will stop showing up once you get to the last page. Info text on the first welcome page noting the tutorial is near the end.
282 WELCOME.LOOK_AT_LEFT_WRIST Look at your left wrist. That's your watch. Instruction text on the watch tutorial page. "Watch" was previously translated as "${DEFINITIONS.WATCH}".
283 WELCOME.MIDDLE_CLICK_MODE_PURPLE_LASER Middle-click Mode: Purple laser Laser mode label on the laser colors tutorial page.
284 WELCOME.MOVING_YOUR_SET Moving your set Page title on the moving your set tutorial page.
285 WELCOME.NEXT_BUTTON Press "Next" button below to get started. Label on the first welcome page pointing to the next button.
286 WELCOME.REGULAR_MODE_BLUE_LASER Regular Mode: Blue laser Laser mode label on the laser colors tutorial page.
287 WELCOME.REPOSITION_THIS_WINDOW_BY_GRABBING Reposition this window using your controller's grip action. Instruction text on the first welcome page about window repositioning.
288 WELCOME.RIGHT_CLICK_MODE_ORANGE_LASER Right-click Mode: Orange laser Laser mode label on the laser colors tutorial page.
289 WELCOME.THANKS_FOR_INSTALLING Thank you for installing WayVR! Thanks text on the first welcome page below the greeting.
290 WELCOME.WATCH Watch Page title on the watch/tutorial page. "Watch" was previously translated as "${DEFINITIONS.WATCH}".
291 WELCOME.WORKING_SET Working Set Page title on the working set tutorial page. "Set" was previously translated as "${DEFINITIONS.SET}". Working as in "Current".
292 DOWNLOAD_AGAIN Download again Button in the skymap already downloaded dialog to re-download a skymap.
293 DOWNLOADING_FILE Downloading file... Status label in the download file popup showing download progress.
294 FAILED_TO_LAUNCH_APPLICATION Failed to launch a application: Error prefix in the toast shown when app launch fails.
295 GAME_LAUNCHED Game launched Toast notification shown after successfully launching a game via Steam.
296 GAME_LIST.NO_GAMES_FOUND No games found Empty state text shown in the game list when no games are installed.
297 GAME_LIST.RUNNING_GAMES_LIST List of running games Section label in the running games list view.
298 GAMES Games Tab label in the dashboard sidebar for the Games tab.
299 GENERAL_SETTINGS General settings Tab name and group box title in the Monado runtime settings.
300 GETTING_STARTED Getting started Tab label in the dashboard sidebar for the Welcome/tutorial tab.
301 HEIGHT Height Label for the height dimension field in the add display popup.
302 HELLO Hello! Fallback greeting on the home screen when username is hidden.
303 HELLO_USER Hello, {USER}! Greeting on the home screen with the user name substituted in.
304 HIDE Hide Used in the double-press tutorial context for hiding the set.
305 HOME_SCREEN Home Tab label in the dashboard sidebar for the Home tab.
306 MODIFICATION_DATE Modification date Column label in the remote skymap downloader showing file metadata.
307 MONADO_RUNTIME Monado runtime Tab label in the dashboard sidebar for the Monado runtime tab.
308 LOADING Loading... Label in the loading spinner template used across the UI.
309 POPUP_ADD_DISPLAY.RESOLUTION Resolution Label for the resolution field in the add display popup.
310 POWER_OPTIONS.TITLE Power options A button which allows the user to perform a specific power action
311 POWER_OPTIONS.SHUTDOWN Shut down One of the power options: shuts down the computer
312 POWER_OPTIONS.SUSPEND Suspend One of the power options: suspends the computer
313 POWER_OPTIONS.NOT_SUPPORTED Power options require systemd or elogind. Notification to the user that power options (shutdown and suspend) are not available. 'systemd' and 'elogind' are package names and should not be translated.
314 POWER_OPTIONS.SHUTDOWN_ARE_YOU_SURE Are you sure you want to turn off your computer? Question dialog box before shutting down the computer
315 POWER_OPTIONS.SUSPEND_ARE_YOU_SURE Are you sure you want to put your computer to sleep? Question dialog box before putting the computer in sleep mode
316 PROCESS.FORCE_KILL Force-kill Tooltip on the kill button in the running games list.
317 PROCESS.STOP Stop Tooltip on the stop button in the running games list.
318 PROCESS_LIST Process list Tab name and group box title in the Monado runtime process list section.
319 REFRESH Refresh Tooltip on the refresh button in the running games list.
320 REMOVE Remove Button label in the skymap already downloaded dialog and Whisper cleanup dialog to remove files.
321 APPLY Apply Button label in the skymap already downloaded dialog to apply the selected skymap.
322 RELOAD_FROM_DISK Reload from disk Tooltip on the reload button in the skymap list view.
323 SETTINGS Settings Tab label in the dashboard sidebar for the Settings tab. Previously translated as ${DEFINITIONS.SETT}
324 SHOW Show Used in the double-press tutorial context for showing the set.
325 TARGET_PATH Target path Label for the target path display in the download file popup.
326 TERMINATE_PROCESS Terminate process Button label in the window options bar to kill a process.
327 VERSION Version Label for the version display in the remote skymap downloader.
328 WIDTH Width Label for the width dimension field in the add display popup.
329 PINNED_APPS Pinned applications Section header label for the pinned apps list on the Apps tab, a.k.a. "Favourites"
330 SAVED_TO_FAVOURITES Saved to pinned apps Toast notification shown after pinning an app to favourites. "Pinned apps" was previously translated as "${PINNED_APPS}".
331 ADD_TO_FAVOURITES Add to pinned apps Label on the pin button in the app launcher popup that is used to add to favourites.. "Pinned apps" was previously translated as "${PINNED_APPS}".
332 ADD_TO_FAVOURITES_HINT Save preset and pin it to the app drawer Tooltip on the add to favourites button in the app launcher popup. "Pinned apps" was previously translated as "${PINNED_APPS}".
333 REMOVE_FROM_FAVOURITES Remove from pinned apps Label on the unpin section in the app launcher popup. "Pinned apps" was previously translated as "${PINNED_APPS}".
334 EMPTY Empty Label shown in the pinned apps section when there are no pinned apps.
335 INSTALLED Installed Installation flag (installed/not installed)
336 NOT_INSTALLED Not installed Installation flag (installed/not installed)
337 YES Yes Just a simple 'Yes' message, button in the dialog box
338 NO No Just a simple 'No' message, button in the dialog box
+249 -26
View File
@@ -1,4 +1,21 @@
{
"DEFINITIONS": {
"ANCHORED": "Anchored",
"FLOATING": "Floating",
"STATIC": "Static",
"SET": "Set",
"WATCH": "Watch",
"DASHBOARD": "Dashboard",
"EDIT_MODE": "Edit Mode",
"SETTINGS": "Settings",
"KEYBOARD": "Keyboard",
"TASKBAR": "Taskbar",
"FEATURES": "Features",
"OVERLAY": "Overlay",
"SKYMAP": "Skymap",
"PLAYSPACE": "Playspace",
"D_PAD": "D-pad"
},
"ACTIONS": {
"RECENTER_PLAYSPACE": "Re-center playspace"
},
@@ -17,15 +34,6 @@
"CAGE": "Compatibility mode (Cage)",
"NATIVE": "Native mode"
},
"POS": {
"ANCHORED": "Anchored",
"ANCHORED_HELP": "Stays in place relative to center marker.",
"FLOATING": "Floating",
"FLOATING_HELP": "Moves independently, recenters on show.",
"STATIC": "Static",
"STATIC_HELP": "Not part of any set. Does not recenter."
},
"POS_TITLE": "Positioning",
"RES_TITLE": "Resolution"
},
"APP_SETTINGS": {
@@ -38,8 +46,74 @@
"BLOCK_GAME_INPUT_IGNORE_WATCH_HELP": "Do not block input when watch is hovered",
"BLOCK_POSES_ON_KBD_INTERACTION": "Block poses when interacting with keyboard",
"BLOCK_POSES_ON_KBD_INTERACTION_HELP": "Blocks the game from receiving poses when the keyboard is hovered and 'Block game input' is enabled",
"CAPTURE_METHOD": "Wayland screen capture",
"BINDINGS": {
"COMP": {
"CLICK": "Click",
"FORCE": "Force",
"TOUCH": "Touch",
"VALUE": "Value",
"PROXIMITY": "Proximity",
"X_AXIS": "X axis",
"Y_AXIS": "Y axis"
},
"TYPE": {
"BUMPER": "Bumper",
"DPAD_UP": "D-pad Up",
"DPAD_DOWN": "D-pad Down",
"DPAD_LEFT": "D-pad Left",
"DPAD_RIGHT": "D-pad Right",
"JOYSTICK": "Joystick",
"MENU": "Menu",
"SHOULDER": "Shoulder",
"SQUEEZE": "Grip",
"SYSTEM": "System",
"THUMBREST": "Thumbrest",
"THUMBSTICK": "Thumbstick",
"TRACKPAD": "Trackpad",
"TRIGGER": "Trigger",
"VIEW": "View"
},
"CLICK": {
"ANY": "Any",
"DOUBLE": "Double-tap",
"TRIPLE": "Triple-tap",
"TYPE": "Tap count"
},
"ACTION": {
"CLICK": "Click*",
"GRAB": "Grab*",
"ALT_CLICK": "Custom shell exec (set alt_click in config)",
"SHOW_HIDE": "Show, hide, recenter*",
"TOGGLE_DASHBOARD": "Toggle dashboard",
"SPACE_DRAG": "Playspace drag",
"SPACE_ROTATE": "Playspace rotate",
"SPACE_RESET": "Playspace reset",
"CLICK_MODIFIER_RIGHT": "Right-click modifier",
"CLICK_MODIFIER_MIDDLE": "Middle-click modifier",
"MOVE_MOUSE": "Move mouse (if off by default)",
"SCROLL": "Scroll*"
},
"LEFT": "Left",
"RIGHT": "Right",
"CHORD": "Chord",
"CHORD_ADD_INPUT": "Add chord input",
"CHORD_INPUT_HAND": "Input hand",
"COMPONENT": "Actuation type",
"SUBPATH": "Actuating control",
"THRESHOLD": "Activate when above upper value\nDeactivate when below lower value"
},
"BROWSE_ONLINE_CATALOG": "Browse online catalog...",
"BROWSE_SKYMAPS": "Browse skymaps",
"CAPTURE_METHOD": "Screen capture method",
"CAPTURE_METHOD_HELP": "Try changing this if you are\nexperiencing black or glitchy screens",
"COLOR_KEYING": "Color keying",
"COLOR_PALETTE": "Color palette",
"COLOR_PALETTE_HELP": "Click to browse color palettes.\nTo create custom ones, see website!",
"COLOR_PALETTES": "Color palettes",
"COLOR_PALETTE_CURRENT": "Currently active theme.",
"COLOR_PALETTE_CUSTOM_URL": "Add your own custom theme!",
"COLOR_PALETTE_CUSTOM_URL2": "Click to open web manual.",
"COLOR_PALETTE_ACTIVATE": "Click to use this theme.",
"CLEAR_PIPEWIRE_TOKENS": "Clear PipeWire tokens",
"CLEAR_PIPEWIRE_TOKENS_HELP": "Prompt for screen selection on next start",
"CLEAR_SAVED_STATE": "Clear saved state",
@@ -52,69 +126,152 @@
"DELETE_ALL_CONFIGS_HELP": "Remove all configuration files from conf.d",
"DOUBLE_CURSOR_FIX": "Double cursor fix",
"DOUBLE_CURSOR_FIX_HELP": "Enable this if you see 2 cursors",
"DEFAULT_OVERLAY_SCALE": "Default overlay size",
"DEFAULT_OVERLAY_SCALE_HELP": "Spawn new overlays at this scale.",
"DEFAULT_CURVATURE": "Default overlay curvature",
"DEFAULT_OPACITY": "Default overlay opacity",
"DEFAULT_POSITIONING": "Default overlay positioning",
"OVERLAY_DEFAULTS_HELP": "Only applies to new overlays",
"ENABLED": "Enabled",
"FEATURES": "Features",
"FOCUS_FOLLOWS_MOUSE_MODE": "Mouse move on trigger touch",
"HANDSFREE_POINTER": "Handsfree mode",
"HANDSFREE_POINTER_HELP": "Input to use when motion\ncontrollers are unavailable.\nLeft pinch is grab, right is click.",
"HANDSFREE_ALT_TAB": "App switcher aim",
"HANDSFREE_ALT_TAB_HELP": "Hold Super+X, aim at the desired window, then release to switch focus.",
"DIAGNOSTICS": {
"CPU_ACCESSIBLE_VRAM": "CPU-accessible VRAM: {NUM} MiB",
"TITLE": "Diagnostics",
"ENABLE_REBAR": "Enable Resizable BAR in the BIOS settings for optimal VR performance"
},
"DIAGNOSTICS_REASON": {
"PACTL": "Required for speaker/microphone control and audio card switching",
"CAGE": "Recommended in case if there's an incompatibility with some X11 applications (Compatibility mode)",
"XWAYLAND_SATELLITE": "Recommended in case if you want to run X11 (Xwayland) applications in native mode",
"XDG_OPEN": "Required for opening URLs or Steam games"
},
"HIDE_GRAB_HELP": "Hide grab help",
"HIDE_USERNAME": "Hide username",
"INPUT_EMULATION_METHOD": "Input emulation method",
"INPUT_EMULATION_METHOD_HELP": "Try change this in case mouse or\nkeyboard input does not register.",
"INPUT_CAPTURE_METHOD": "Input capture method",
"INPUT_CAPTURE_METHOD_HELP": "Allows using physical peripherial inside WayVR.\n Super+Z: Switch input between WayVR and real desktop\n Super+X: Switch between WayVR apps",
"INPUT_PROFILES": "Change Input Bindings",
"INPUT_PROFILES_HELP": "OpenXR controller input bindings",
"INVERT_SCROLL_DIRECTION_X": "Invert horizontal scroll direction",
"INVERT_SCROLL_DIRECTION_Y": "Invert vertical scroll direction",
"LENS_SEPARATION_MM": "Lens separation (mm)",
"KEYBOARD_MIDDLE_CLICK": "Keyboard middle click",
"KEYBOARD_MIDDLE_CLICK_HELP": "Modifier to use when typing\nwith purple laser",
"KEYBOARD_SOUND_ENABLED": "Keyboard sounds",
"LANGUAGE": "Language",
"LEFT_HANDED_MOUSE": "Left-handed mouse",
"LEFT_HANDED_MOUSE_HELP": "Use this if mouse buttons are swapped",
"LONG_PRESS_DURATION": "Long press duration",
"LOOK_AND_FEEL": "Look & Feel",
"MISC": "Miscellaneous",
"MIDDLE_GRABS_SINGLE": "Middle-click modifier grabs individual",
"MIDDLE_GRABS_SINGLE_HELP": "Grabbing with the middle-click modifier (purple laser)\nwill grab individual overlays, not the entire set",
"NOTIFICATIONS_ENABLED": "Enable notifications",
"NOTIFICATIONS_SOUND_ENABLED": "Notification sounds",
"NOT_SUPPORTED": "Not supported",
"NO_SKYMAPS_FOUND": "No skymaps found",
"OPAQUE_BACKGROUND": "Opaque background",
"OPTION": {
"ANCHORED_HELP": "Moves with center marker. Recommended.",
"FLOATING_HELP": "Moves independently, recenters.\nEasy to misplace; not recommended.",
"STATIC_HELP": "Stays in place relative to world.",
"AUTO": "Automatic",
"AUTO_HELP": "ScreenCopy GPU if supported,\notherwise PipeWire GPU.",
"EYE_ONLY": "Eye laser",
"EYE_PINCH": "Eye + pinch",
"HMD_ONLY": "HMD laser",
"HMD_PINCH": "HMD + pinch",
"EYE_ONLY": "Eye only",
"HMD_ONLY": "HMD only",
"NONE": "None",
"NONE_INPUT_HELP": "Do not emulate mouse and keyboard.\nWill not be able to interact with screens.",
"NONE_INPUT_CAPTURE_HELP": "Do not capture mouse and keyboard.\nWill not be able to use physical mouse or\nkeyboard in apps launched inside WayVR.",
"PIPEWIRE_HELP": "Fast GPU capture,\nstandard on all desktops.",
"PW_FALLBACK_HELP": "Slow method with high CPU usage.\nTry in case PipeWire GPU doesn't work",
"SCREENCOPY_GPU_HELP": "Fast, no screen share popups.\nWorks on: Hyprland, Niri, River, Sway",
"SCREENCOPY_HELP": "Slow, no screen share popups.\nWorks on: Hyprland, Niri, River, Sway"
"SCREENCOPY_HELP": "Slow, no screen share popups.\nWorks on: Hyprland, Niri, River, Sway",
"UINPUT": "Device emulation",
"UINPUT_HELP": "Uses the uinput module to emulate a device.\nKnown to work well on most desktops.",
"EVDEV_HELP": "Grab input devices for exclusive use.\nYour user must be in the input group.",
"WL_VIRTUAL": "Wayland virtual input",
"WL_VIRTUAL_HELP": "Send events to the Wayland compositor using\nzwlr_virtual_pointer and zwp_virtual_keyboard.\nOnly works reliably on some desktops.\nDoes NOT work on KDE, GNOME or COSMIC."
},
"POINTER_ACCELERATION": "Mouse acceleration",
"POINTER_ACCELERATION_HELP": "On: Adaptive mouse acceleration\nOff: Constant speed",
"POINTER_LERP_FACTOR": "Pointer smoothing",
"POINTER_SPEED": "Mouse speed",
"REQUIRES_RESTART": "Requires restart",
"RESET_PLAYSPACE": "Reset playspace",
"RESET_PLAYSPACE_HELP": "Clear the stage space offset.",
"RESTART_SOFTWARE": "Restart software",
"RESTART_SOFTWARE_HELP": "Apply settings that require a restart",
"SAVE_PLAYSPACE_CENTER": "Save playspace center",
"SAVE_PLAYSPACE_CENTER_HELP": "Use current playspace for reset playspace binding.",
"RESET_PLAYSPACE_CENTER": "Reset playspace center",
"RESET_PLAYSPACE_CENTER_HELP": "Clear previously set playspace center.",
"RESTART_WAYVR": "Restart WayVR",
"CLOSE_WAYVR": "Close WayVR",
"ROUND_MULTIPLIER": "UI Edge roundness",
"SCREEN_RENDER_DOWN": "Render screen at lower resolution",
"SCREEN_RENDER_DOWN_HELP": "Helps with aliasing on high-res screens",
"SCROLL_SPEED": "Scroll speed",
"SELECT_VARIANT": "Select variant",
"SNAP_ANGLE_DEG": "Window pitch & roll snap angle",
"SNAP_ANGLE_DEG_HELP": "Grabbed windows snap to this angle on pitch and roll axis.",
"ENABLE_WATCH": "Enable watch",
"SETS_ON_WATCH": "Sets on watch",
"SKYBOX": "Skymap",
"SKYMAP_ALREADY_DOWNLOADED": "This skymap is already downloaded. Select desired action.",
"SPACE_DRAG": "Playspace",
"SPACE_DRAG_MULTIPLIER": "Space drag multiplier",
"SPACE_DRAG_AFFECTS_WORLD": "Leave overlays behind during space move",
"SPACE_DRAG_UNLOCKED": "Allow space drag on all axes",
"SPACE_GRAVITY_DAMPING": "Damping",
"SPACE_GRAVITY_DAMPING_HELP": "Artificial drag to slow down movement. 0.1 - high drag, 1.0 - no drag",
"SPACE_GRAVITY_FLING_STRENGTH": "Fling strength",
"SPACE_GRAVITY_FLING_STRENGTH_HELP": "Intensity multiplier of gravitational launch force after space-drag.\n0.0 - no movement at all, 2.0 - double intensity",
"SPACE_GRAVITY_GRAVITY": "Gravity",
"SPACE_GRAVITY_GRAVITY_HELP": "Amount of downwards force. 0.0 - no gravity",
"SPACE_GRAVITY_GROUND_FRICTION": "Ground friction",
"SPACE_GRAVITY_GROUND_FRICTION_HELP": "Amount of friction slowing you down if you're touching the ground.\n0.0 - no friction (just like on ice), 1.0 - rough surface",
"SPACE_GRAVITY_FLOOR_HEIGHT": "Floor height",
"SPACE_GRAVITY_FLOOR_HEIGHT_HELP": "The Y position where the floor is. Gravity stops when you reach this height.",
"SPACE_ROTATE_UNLOCKED": "Allow space rotate on all axes",
"ROTATIONS": "HMD rotations",
"SESSION_TIME": "Session time",
"STATISTICS": "Statistics",
"TROUBLESHOOTING": "Troubleshooting",
"UI_GRADIENT_INTENSITY": "UI Gradient intensity",
"UPRIGHT_SCREEN_FIX": "Upright screen fix",
"UPRIGHT_SCREEN_FIX_HELP": "Fixes upright screens on some desktops",
"USE_PASSTHROUGH": "Enable passthrough",
"USE_PASSTHROUGH_HELP": "Allow passthrough if the XR runtime supports it",
"USE_SKYBOX": "Enable skybox",
"USE_SKYBOX_HELP": "Show a skybox if there's no scene app or passthrough",
"XR_CLICK_SENSITIVITY": "XR click sensitivity",
"XR_CLICK_SENSITIVITY_HELP": "Analog trigger sensitivity",
"XR_CLICK_SENSITIVITY_RELEASE": "XR release sensitivity",
"XR_CLICK_SENSITIVITY_RELEASE_HELP": "Must be lower than click",
"XWAYLAND_BY_DEFAULT": "Run apps in Compatibility mode by default"
"USE_SKYBOX": "Show skymap",
"USE_SKYBOX_HELP": "Show a skymap if there's no scene app or passthrough",
"WATCH_VIEW_ANGLE": "Watch view angles",
"WATCH_VIEW_ANGLE_HELP": "Control how the watch fades away",
"WHISPER": {
"NEED_TO_DOWNLOAD_MODEL": "The selected model needs to be downloaded.\nDownload it right now?",
"REMOVE_UNUSED_MODELS": "You are turning off the speech-to-text feature.\nWould you like to remove downloaded Whisper models to free up space?"
},
"WHISPER_MODEL": "Speech-to-text model",
"WHISPER_MODEL_HELP": "Whisper model to use.\nLarger models produce more accurate\nresults, but consume more VRAM.",
"SPEECH_TO_TEXT": "Speech to text",
"WHISPER_GPU_SELECT": "Select GPU",
"TUTORIAL": "Tutorial",
"GRID_OPACITY": "Floor grid opacity",
"GRID_OPACITY_HELP": "Opacity of the floor grid when the skymap is enabled",
"XWAYLAND_BY_DEFAULT": "Run apps in Compatibility mode by default",
"SAVE": "Save",
"CANCEL": "Cancel"
},
"APPLICATION_LAUNCHER": "Application launcher",
"APPLICATION_STARTED": "Application started",
"APPLICATIONS": "Applications",
"AUDIO": {
"SWITCH_TO_THIS_DEVICE": "Switch to this device",
"AUTO_SWITCH_TO_VR_AUDIO": "Auto-switch to VR audio",
"CARDS": "Cards",
"FAILED_TO_SWITCH_MICROPHONE": "Failed to switch microphone",
@@ -129,7 +286,48 @@
"VOLUME": "Volume"
},
"CLOSE_WINDOW": "Close window",
"CREATION_DATE": "Creation date",
"DEBUG_INFO": "Debug info",
"DISPLAY_BRIGHTNESS": "Display brightness",
"DONATE": {
"SUPPORT_US": "Support us",
"DESCRIPTION": "We're a small team of 2 developers building WayVR in our free time. If you enjoy using this software, please consider supporting us - every donation helps us keep going.",
"THANK_YOU_WAYVR": "Thank you from the WayVR Team!",
"BUTTON_TOOLTIP": "Donate via Open Collective",
"CURRENT_SUPPORTERS": "Current Supporters",
"BROUGHT_TO_YOU_VARIANTS_OFTEN": "Supported by {USER}|Special thanks to {USER}|Sponsored by {USER}|Backed by {USER}|Driven by community members like {USER}|Made possible by {USER}|Sustained by {USER}|Contributed by {USER}|Funded by {USER}",
"BROUGHT_TO_YOU_VARIANTS_RARE": "Coffee provided by {USER}|Fuelled by {USER}|Shoutout to {USER}!|Keeping us going: {USER}|Helping us grow: {USER}|Keeping the servers running: {USER}|With gratitude to {USER}|Powered by {USER}|Supported by friends like {USER}",
"BROUGHT_TO_YOU_VARIANTS_VERY_RARE": "Supported by legends like {USER}|Caffeine supplied by {USER}|A true legend: {USER}|Our hero of the day: {USER}|An absolute superstar: {USER}|Paying for the electricity bill: {USER}|The savior of our sanity: {USER}|Leading the way: {USER}|Caffeine-to-code converter provided by {USER}|Keeping the production stable: {USER}|The one and only: {USER}|Passing dmabuf buffers: {USER}"
},
"DOWNLOAD": "Download",
"DOWNLOADER": "Downloader",
"WELCOME": {
"ALL_SET": "You're all set!",
"BASICS": "These basics will allow you to start using WayVR with ease.",
"CENTER_MARKER": "Center marker is what will appear in front of you when recentering. Place overlays around it!",
"DOUBLE_PRESS_TO_TOGGLE": "Double-press B (on Index) or Y (on Meta) to show, recenter or hide your set. Try it now.",
"FEATURES_DOCUMENTATION": "There are many other features worth customizing. For more information, check the documentation at",
"FINISH_TUTORIAL": "Finish tutorial",
"GRAB_BOTH_HANDS": "Grab it with both hands if you want to move a specific overlay in your set.",
"GRAB_ONE_HAND": "Grab it with one hand to move your set.",
"GREETING": "Hi there!",
"GUIDE_INTRO": "Let us guide you through your first steps.",
"LASER_COLORS": "Laser Colors",
"LASER_FUNCTIONALITY": "Much of the functionality in WayVR depends on what color of laser is used to interact with a UI element. You don't need to press these buttons, just touch them!",
"LAST_PAGE_INFO": "This tutorial will stop showing up once you get to the last page.",
"LOOK_AT_LEFT_WRIST": "Look at your left wrist. That's your watch.",
"MIDDLE_CLICK_MODE_PURPLE_LASER": "Middle-click Mode: Purple laser",
"MOVING_YOUR_SET": "Moving your set",
"NEXT_BUTTON": "Press Next button below to get started.",
"REGULAR_MODE_BLUE_LASER": "Regular Mode: Blue laser",
"REPOSITION_THIS_WINDOW_BY_GRABBING": "Reposition this window using your controller's grip action.",
"RIGHT_CLICK_MODE_ORANGE_LASER": "Right-click Mode: Orange laser",
"THANKS_FOR_INSTALLING": "Thank you for installing WayVR!",
"WATCH": "Watch",
"WORKING_SET": "Working Set"
},
"DOWNLOAD_AGAIN": "Download again",
"DOWNLOADING_FILE": "Downloading file...",
"FAILED_TO_LAUNCH_APPLICATION": "Failed to launch a application:",
"GAME_LAUNCHED": "Game launched",
"GAME_LIST": {
@@ -138,24 +336,49 @@
},
"GAMES": "Games",
"GENERAL_SETTINGS": "General settings",
"GETTING_STARTED": "Getting started",
"HEIGHT": "Height",
"HELLO": "Hello!",
"HELLO_USER": "Hello, {USER}!",
"HIDE": "Hide",
"HOME_SCREEN": "Home",
"MODIFICATION_DATE": "Modification date",
"MONADO_RUNTIME": "Monado runtime",
"LOADING": "Loading...",
"POPUP_ADD_DISPLAY": {
"RESOLUTION": "Resolution"
},
"POWER_OPTIONS": {
"TITLE": "Power options",
"SHUTDOWN": "Shut down",
"SUSPEND": "Suspend",
"NOT_SUPPORTED": "Power options require systemd or elogind.",
"SHUTDOWN_ARE_YOU_SURE": "Are you sure you want to turn off your computer?",
"SUSPEND_ARE_YOU_SURE": "Are you sure you want to put your computer to sleep?"
},
"PROCESS": {
"STOP": "Stop",
"FORCE_KILL": "Force-kill"
"FORCE_KILL": "Force-kill",
"STOP": "Stop"
},
"PROCESS_LIST": "Process list",
"REFRESH": "Refresh",
"REMOVE": "Remove",
"APPLY": "Apply",
"RELOAD_FROM_DISK": "Reload from disk",
"SETTINGS": "Settings",
"SHOW": "Show",
"TARGET_PATH": "Target path",
"TERMINATE_PROCESS": "Terminate process",
"WIDTH": "Width"
}
"VERSION": "Version",
"WIDTH": "Width",
"PINNED_APPS": "Pinned applications",
"SAVED_TO_FAVOURITES": "Saved to pinned apps",
"ADD_TO_FAVOURITES": "Add to pinned apps",
"ADD_TO_FAVOURITES_HINT": "Save preset and pin it to the app drawer",
"REMOVE_FROM_FAVOURITES": "Remove from pinned apps",
"EMPTY": "Empty",
"INSTALLED": "Installed",
"NOT_INSTALLED": "Not installed",
"YES": "Yes",
"NO": "No"
}
+382 -160
View File
@@ -1,162 +1,384 @@
{
"HOME_SCREEN": "Inicio",
"MONADO_RUNTIME": "Monado tiempo de ejecución",
"APPLICATIONS": "Aplicaciones",
"GAMES": "Juegos",
"SETTINGS": "Ajustes",
"HELLO_USER": "¡Hola, {USER}!",
"GENERAL_SETTINGS": "Ajustes generales",
"APPLICATION_LAUNCHER": "Lanzador de aplicaciones",
"APP_SETTINGS": {
"HIDE_USERNAME": "Ocultar nombre de usuario",
"OPAQUE_BACKGROUND": "Fondo opaco",
"WLX": {},
"LOOK_AND_FEEL": "Apariencia y estilo",
"HIDE_GRAB_HELP": "Ocultar ayuda para agarrar",
"ANIMATION_SPEED": "Velocidad de animación de la IU",
"ROUND_MULTIPLIER": "Redondeo de bordes de la IU",
"USE_SKYBOX": "Activar skybox",
"USE_PASSTHROUGH": "Activar passthrough",
"CLOCK_12H": "Reloj de 12 horas",
"FEATURES": "Funciones",
"NOTIFICATIONS_ENABLED": "Habilitar notificaciones",
"NOTIFICATIONS_SOUND_ENABLED": "Sonidos de notificación",
"KEYBOARD_SOUND_ENABLED": "Sonidos del teclado",
"SPACE_DRAG_MULTIPLIER": "Multiplicador de arrastre espacial",
"SPACE_DRAG_UNLOCKED": "Permitir arrastre del espacio en todos los ejes",
"SPACE_ROTATE_UNLOCKED": "Permitir rotación espacial en todos los ejes",
"BLOCK_GAME_INPUT": "Bloquear entrada del juego",
"BLOCK_GAME_INPUT_IGNORE_WATCH": "Ignorar watch al bloquear la entrada",
"CONTROLS": "Controles",
"FOCUS_FOLLOWS_MOUSE_MODE": "El movimiento del ratón en el disparador",
"LEFT_HANDED_MOUSE": "Ratón para zurdos",
"ALLOW_SLIDING": "Interacción con el stick durante el agarre",
"INVERT_SCROLL_DIRECTION_X": "Invertir dirección de desplazamiento horizontal",
"INVERT_SCROLL_DIRECTION_Y": "Invertir la dirección del desplazamiento vertical",
"SCROLL_SPEED": "Velocidad de desplazamiento",
"LONG_PRESS_DURATION": "Duración de la pulsación larga",
"POINTER_LERP_FACTOR": "Suavizado del puntero",
"XR_CLICK_SENSITIVITY": "Sensibilidad del clic XR",
"XR_CLICK_SENSITIVITY_RELEASE": "Sensibilidad de liberación de OpenXR",
"CLICK_FREEZE_TIME_MS": "Tiempo de congelación al hacer clic (ms)",
"MISC": "Miscelánea",
"XWAYLAND_BY_DEFAULT": "Ejecutar aplicaciones en modo de compatibilidad por defecto",
"UPRIGHT_SCREEN_FIX": "Corrección de pantalla vertical",
"DOUBLE_CURSOR_FIX": "Solución de doble cursor",
"SCREEN_RENDER_DOWN": "Renderizar pantalla a menor resolución",
"UPRIGHT_SCREEN_FIX_HELP": "Corrige pantallas en posición vertical en algunos escritorios",
"DOUBLE_CURSOR_FIX_HELP": "Habilita esto si ves 2 cursores",
"XR_CLICK_SENSITIVITY_HELP": "Sensibilidad del gatillo analógico",
"XR_CLICK_SENSITIVITY_RELEASE_HELP": "Debe ser inferior a 'click'",
"CLICK_FREEZE_TIME_MS_HELP": "Ayuda con la precisión de los dobles clics",
"LEFT_HANDED_MOUSE_HELP": "Utilice esto si los botones del ratón están intercambiados",
"BLOCK_GAME_INPUT_HELP": "Bloquea toda la entrada cuando se pasa el cursor sobre un overlay",
"BLOCK_GAME_INPUT_IGNORE_WATCH_HELP": "No bloquear la entrada cuando el cursor está sobre la ventana",
"USE_SKYBOX_HELP": "Mostrar una skybox si no hay una aplicación de escena o passthrough",
"USE_PASSTHROUGH_HELP": "Permitir passthrough si el entorno de ejecución XR lo admite",
"SCREEN_RENDER_DOWN_HELP": "Ayuda a reducir el aliasing en pantallas de alta resolución",
"SETS_ON_WATCH": "Conjuntos en el reloj",
"TROUBLESHOOTING": "Solución de problemas",
"CLEAR_SAVED_STATE": "Borrar estado guardado",
"CLEAR_PIPEWIRE_TOKENS": "Limpiar tokens de PipeWire",
"DELETE_ALL_CONFIGS": "Borrar configuración",
"RESTART_SOFTWARE": "Reiniciar software",
"CLEAR_SAVED_STATE_HELP": "Restablecer sets y posiciones de superposición",
"CLEAR_PIPEWIRE_TOKENS_HELP": "Solicitar la selección de pantalla al iniciar la próxima vez",
"DELETE_ALL_CONFIGS_HELP": "Eliminar todos los archivos de configuración de conf.d",
"RESTART_SOFTWARE_HELP": "Aplicar la configuración que requiere un reinicio",
"CAPTURE_METHOD": "Captura de pantalla de Wayland",
"CAPTURE_METHOD_HELP": "Intente cambiar esta opción si\nexperimenta pantallas negras o con fallos",
"KEYBOARD_MIDDLE_CLICK": "Clic del botón central del teclado",
"KEYBOARD_MIDDLE_CLICK_HELP": "Modificador para usar al escribir\ncon láser púrpura",
"OPTION": {
"AUTO": "Automático",
"AUTO_HELP": "Copiar pantalla usando la GPU si es compatible,\nde lo contrario, GPU de PipeWire.",
"PIPEWIRE_HELP": "Captura de GPU rápida,\nestándar en todos los escritorios.",
"PW_FALLBACK_HELP": "Método lento con alto uso de CPU.\nPruébalo si PipeWire GPU no funciona",
"SCREENCOPY_GPU_HELP": "Rápido, sin ventanas emergentes de uso compartido de pantalla.\nFunciona en: Hyprland, Niri, River, Sway",
"SCREENCOPY_HELP": "Lento, sin ventanas emergentes de uso compartido de pantalla.\nFunciona en: Hyprland, Niri, River, Sway",
"NONE": "Ninguno",
"HMD_PINCH": "HMD + pellizco",
"EYE_PINCH": "Ojo + pellizco",
"EYE_ONLY": "Solo ojo",
"HMD_ONLY": "Solo HMD"
},
"AUTOSTART_APPS": "Aplicaciones a ejecutar al inicio",
"HANDSFREE_POINTER": "Modo manos libres",
"HANDSFREE_POINTER_HELP": "Entrada a utilizar cuando no\nestén disponibles los mandos de movimiento.\nPellizco con la izquierda para agarrar, con la derecha para hacer clic.",
"UI_GRADIENT_INTENSITY": "Intensidad del degradado de la IU",
"RESET_PLAYSPACE": "Restablecer espacio de juego",
"RESET_PLAYSPACE_HELP": "Borrar el desplazamiento del espacio de juego.",
"BLOCK_POSES_ON_KBD_INTERACTION": "Bloquear poses al interactuar con el teclado",
"BLOCK_POSES_ON_KBD_INTERACTION_HELP": "Bloquea que el juego reciba poses cuando el teclado está sobre él y 'Bloquear entrada del juego' está habilitado"
},
"HELLO": "¡Hola!",
"AUDIO": {
"VOLUME": "Volumen",
"SETTINGS": "Configuración de audio",
"AUTO_SWITCH_TO_VR_AUDIO": "Conmutar automáticamente al audio VR",
"SPEAKERS": "Altavoces",
"MICROPHONES": "Micrófonos",
"CARDS": "Tarjetas",
"SELECT_AUDIO_CARD_PROFILE": "Seleccionar perfil de tarjeta de audio",
"NO_VR_SPEAKERS_FOUND_SWITCH_MANUALLY": "No se encontraron altavoces VR. Actívelos manualmente.",
"NO_VR_MICROPHONE_SWITCH_MANUALLY": "No se encontró micrófono VR. Actívelo manualmente.",
"FAILED_TO_SWITCH_MICROPHONE": "No se pudo cambiar el micrófono",
"MICROPHONE_SET_SUCCESSFULLY": "Micrófono configurado correctamente",
"SPEAKERS_SET_SUCCESSFULLY": "Altavoces configurados correctamente"
},
"ACTIONS": {
"RECENTER_PLAYSPACE": "Re-centrar espacio de juego"
},
"POPUP_ADD_DISPLAY": {
"RESOLUTION": "Resolución"
},
"WIDTH": "Ancho",
"HEIGHT": "Altura",
"HIDE": "Ocultar",
"REMOVE": "Eliminar",
"SHOW": "Mostrar",
"FAILED_TO_LAUNCH_APPLICATION": "No se pudo iniciar la aplicación:",
"APPLICATION_STARTED": "Aplicación iniciada",
"CLOSE_WINDOW": "Cerrar ventana",
"GAME_LIST": {
"NO_GAMES_FOUND": "No se encontraron juegos",
"RUNNING_GAMES_LIST": "Lista de juegos en ejecución"
},
"TERMINATE_PROCESS": "Finalizar proceso",
"GAME_LAUNCHED": "Juego lanzado",
"APP_LAUNCHER": {
"MODE": {
"NATIVE": "Modo nativo",
"CAGE": "Modo de compatibilidad (Cage)"
},
"RES_TITLE": "Resolución",
"ASPECT_TITLE": "Aspecto",
"ASPECT": {
"WIDE": "Ancho",
"SEMI_WIDE": "Semi-ancho",
"SQUARE": "Cuadrado",
"SEMI_TALL": "Semi alto",
"TALL": "Alto"
},
"POS_TITLE": "Posicionamiento",
"POS": {
"FLOATING": "Flotante",
"ANCHORED": "Anclado",
"STATIC": "Estático",
"FLOATING_HELP": "Se mueve independientemente, se recentra al mostrarse.",
"ANCHORED_HELP": "Se mantiene en su lugar con respecto al marcador central.",
"STATIC_HELP": "No pertenece a ningún conjunto. No se recentra."
},
"AUTOSTART": "Ejecutar automáticamente al inicio",
"LAUNCH": "Iniciar"
},
"DISPLAY_BRIGHTNESS": "Brillo de la pantalla",
"PROCESS_LIST": "Lista de procesos",
"REFRESH": "Actualizar",
"PROCESS": {
"STOP": "Detener",
"FORCE_KILL": "Forzar cierre"
}
"DEFINITIONS": {
"ANCHORED": "Anclado",
"FLOATING": "Flotante",
"STATIC": "Estático",
"SET": "Set",
"WATCH": "Reloj",
"DASHBOARD": "Panel de control",
"EDIT_MODE": "Modo edición",
"SETTINGS": "Ajustes",
"KEYBOARD": "Teclado",
"TASKBAR": "Barra de tareas",
"FEATURES": "Funciones",
"OVERLAY": "Overlay",
"SKYMAP": "Skymap",
"PLAYSPACE": "Espacio de juego",
"D_PAD": "Cruceta"
},
"ACTIONS": {
"RECENTER_PLAYSPACE": "Recentrar espacio de juego"
},
"APP_LAUNCHER": {
"ASPECT": {
"SEMI_TALL": "Semicomprimido vertical",
"SEMI_WIDE": "Semicomprimido",
"SQUARE": "Cuadrado",
"TALL": "Vertical",
"WIDE": "Ancho"
},
"ASPECT_TITLE": "Relación de aspecto",
"AUTOSTART": "Iniciar automáticamente al arrancar",
"LAUNCH": "Lanzar",
"MODE": {
"CAGE": "Modo de compatibilidad (Cage)",
"NATIVE": "Modo nativo"
},
"RES_TITLE": "Resolución"
},
"APP_SETTINGS": {
"ALLOW_SLIDING": "Interacción del stick al agarrar",
"ANIMATION_SPEED": "Velocidad de animación de la interfaz",
"AUTOSTART_APPS": "Aplicaciones al iniciar",
"BLOCK_GAME_INPUT": "Bloquear entrada del juego",
"BLOCK_GAME_INPUT_HELP": "Bloquea toda entrada cuando el cursor está sobre una superposición",
"BLOCK_GAME_INPUT_IGNORE_WATCH": "Ignorar el reloj al bloquear la entrada",
"BLOCK_GAME_INPUT_IGNORE_WATCH_HELP": "No bloquear la entrada al pasar el cursor sobre el reloj",
"BLOCK_POSES_ON_KBD_INTERACTION": "Bloquear poses al interactuar con el teclado",
"BLOCK_POSES_ON_KBD_INTERACTION_HELP": "Bloquea la recepción de poses del juego cuando el cursor está sobre el teclado y 'Bloquear entrada del juego' está activado",
"BINDINGS": {
"COMP": {
"CLICK": "Clic",
"FORCE": "Fuerza",
"TOUCH": "Toque",
"VALUE": "Valor",
"PROXIMITY": "Proximidad",
"X_AXIS": "Eje X",
"Y_AXIS": "Eje Y"
},
"TYPE": {
"BUMPER": "Bumper",
"DPAD_UP": "Cruceta Arriba",
"DPAD_DOWN": "Cruceta Abajo",
"DPAD_LEFT": "Cruceta Izquierda",
"DPAD_RIGHT": "Cruceta Derecha",
"JOYSTICK": "Joystick",
"MENU": "Menú",
"SHOULDER": "Hombro",
"SQUEEZE": "Agarre",
"SYSTEM": "Sistema",
"THUMBREST": "Apoyo del pulgar",
"THUMBSTICK": "Palanca",
"TRACKPAD": "Trackpad",
"TRIGGER": "Gatillo",
"VIEW": "Vista"
},
"CLICK": {
"ANY": "Cualquiera",
"DOUBLE": "Doble toque",
"TRIPLE": "Triple toque",
"TYPE": "Cantidad de toques"
},
"ACTION": {
"CLICK": "Clic*",
"GRAB": "Agarre*",
"ALT_CLICK": "Ejecutable de shell personalizado (configura alt_click en el archivo de config)",
"SHOW_HIDE": "Mostrar, ocultar, recentrar*",
"TOGGLE_DASHBOARD": "Alternar tablero",
"SPACE_DRAG": "Arrastre del espacio de juego",
"SPACE_ROTATE": "Rotar espacio de juego",
"SPACE_RESET": "Restablecer espacio de juego",
"CLICK_MODIFIER_RIGHT": "Modificador de clic derecho",
"CLICK_MODIFIER_MIDDLE": "Modificador de clic central",
"MOVE_MOUSE": "Mover ratón (desactivado por defecto)",
"SCROLL": "Desplazar*"
},
"LEFT": "Izquierda",
"RIGHT": "Derecha",
"COMPONENT": "Tipo de accionamiento",
"SUBPATH": "Control a accionar",
"THRESHOLD": "Activar al superar el valor superior\nDesactivar al caer bajo el valor inferior",
"CHORD": "Acorde",
"CHORD_ADD_INPUT": "Añadir entrada al acorde",
"CHORD_INPUT_HAND": "Mano de entrada"
},
"BROWSE_ONLINE_CATALOG": "Explorar catálogo en línea...",
"BROWSE_SKYMAPS": "Explorar skymaps",
"CAPTURE_METHOD": "Método de captura de pantalla",
"CAPTURE_METHOD_HELP": "Prueba a cambiar esto si tienes\npantallas negras o con errores",
"COLOR_KEYING": "Clave de color",
"COLOR_PALETTE": "Paleta de colores",
"COLOR_PALETTE_HELP": "Haz clic para explorar paletas de colores.\n¡Para crear las tuyas, visita la web!",
"COLOR_PALETTES": "Paletas de colores",
"COLOR_PALETTE_CURRENT": "Tema actualmente activo.",
"COLOR_PALETTE_CUSTOM_URL": "¡Añade tu propio tema personalizado!",
"COLOR_PALETTE_CUSTOM_URL2": "Haz clic para abrir el manual web.",
"COLOR_PALETTE_ACTIVATE": "Haz clic para usar este tema.",
"CLEAR_PIPEWIRE_TOKENS": "Limpiar tokens de PipeWire",
"CLEAR_PIPEWIRE_TOKENS_HELP": "Preguntar por la selección de pantalla al siguiente inicio",
"CLEAR_SAVED_STATE": "Borrar estado guardado",
"CLEAR_SAVED_STATE_HELP": "Restablecer sets y posiciones de los overlays",
"CLICK_FREEZE_TIME_MS": "Tiempo de congelación del clic (ms)",
"CLICK_FREEZE_TIME_MS_HELP": "Ayuda con la precisión del doble clic",
"CLOCK_12H": "Reloj de 12 horas",
"CONTROLS": "Controles",
"DELETE_ALL_CONFIGS": "Borrar configuración",
"DELETE_ALL_CONFIGS_HELP": "Elimina todos los archivos de configuración de conf.d",
"DOUBLE_CURSOR_FIX": "Corrección de doble cursor",
"DOUBLE_CURSOR_FIX_HELP": "Activa esto si ves 2 cursores",
"DEFAULT_OVERLAY_SCALE": "Tamaño predeterminado de la superposición",
"DEFAULT_OVERLAY_SCALE_HELP": "Aparecer nuevos overlays a esta escala.",
"DEFAULT_CURVATURE": "Curvatura predeterminada del overlay",
"DEFAULT_OPACITY": "Opacidad predeterminada del overlay",
"DEFAULT_POSITIONING": "Posicionamiento predeterminado del overlay",
"OVERLAY_DEFAULTS_HELP": "Solo se aplica a los overlays nuevos",
"ENABLED": "Activado",
"FEATURES": "Funciones",
"FOCUS_FOLLOWS_MOUSE_MODE": "Mover ratón al tocar el gatillo",
"HANDSFREE_POINTER": "Modo manos libres",
"HANDSFREE_POINTER_HELP": "Entrada a usar cuando no haya controladores de movimiento.\nPinza izquierda para agarrar, derecha para hacer clic.",
"HANDSFREE_ALT_TAB": "Apuntado del selector de apps",
"HANDSFREE_ALT_TAB_HELP": "Mantén presionado Super+X, apunta a la ventana deseada y suelta para cambiar el foco.",
"HIDE_GRAB_HELP": "Ocultar ayuda de agarre",
"HIDE_USERNAME": "Ocultar nombre de usuario",
"INPUT_EMULATION_METHOD": "Método de emulación de entrada",
"INPUT_EMULATION_METHOD_HELP": "Prueba a cambiar esto si el ratón o\nel teclado no responden.",
"INPUT_CAPTURE_METHOD": "Método de captura de entrada",
"INPUT_CAPTURE_METHOD_HELP": "Permite usar periféricos físicos dentro de WayVR.\n Super+Z: Alternar entrada entre WayVR y el escritorio real\n Super+X: Alternar entre aplicaciones de WayVR",
"INPUT_PROFILES": "Cambiar asignación de controles",
"INPUT_PROFILES_HELP": "Asignaciones de entrada del controlador OpenXR",
"INVERT_SCROLL_DIRECTION_X": "Invertir dirección del desplazamiento horizontal",
"INVERT_SCROLL_DIRECTION_Y": "Invertir dirección del desplazamiento vertical",
"KEYBOARD_MIDDLE_CLICK": "Clic central del teclado",
"KEYBOARD_MIDDLE_CLICK_HELP": "Modificador al escribir\ncon el láser púrpura",
"KEYBOARD_SOUND_ENABLED": "Sonidos del teclado",
"LANGUAGE": "Idioma",
"LEFT_HANDED_MOUSE": "Mouse para zurdos",
"LEFT_HANDED_MOUSE_HELP": "Úsalo si los botones del ratón están invertidos",
"LONG_PRESS_DURATION": "Duración de pulsación larga",
"LOOK_AND_FEEL": "Apariencia",
"MISC": "Diversos",
"NOTIFICATIONS_ENABLED": "Habilitar notificaciones",
"NOTIFICATIONS_SOUND_ENABLED": "Sonidos de notificación",
"NOT_SUPPORTED": "No soportado",
"NO_SKYMAPS_FOUND": "No se encontraron skymaps",
"OPAQUE_BACKGROUND": "Fondo opaco",
"OPTION": {
"ANCHORED_HELP": "Se mueve con el marcador central. Recomendado.",
"FLOATING_HELP": "Se mueve independientemente y se recentra.\nFácil de perder; no recomendado.",
"STATIC_HELP": "Se mantiene fijo respecto al mundo.",
"AUTO": "Automático",
"AUTO_HELP": "ScreenCopy GPU si es compatible,\nsi no, PipeWire GPU.",
"EYE_ONLY": "Láser ocular",
"EYE_PINCH": "Ojo + pinza",
"HMD_ONLY": "Láser del HMD",
"HMD_PINCH": "HMD + pellizco",
"NONE": "Ninguno",
"NONE_INPUT_HELP": "No emular ratón ni teclado.\nNo podrás interactuar con las pantallas.",
"NONE_INPUT_CAPTURE_HELP": "No capturar teclado ni ratón.\nNo podrás usar el ratón o teclado físico en las \naplicaciones lanzadas dentro de WayVR.",
"PIPEWIRE_HELP": "Captura de GPU rápida,\nestándar en todos los escritorios.",
"PW_FALLBACK_HELP": "Método lento con alto uso de CPU.\nPruébalo si PipeWire GPU no funciona",
"SCREENCOPY_GPU_HELP": "Rápido, sin ventanas emergentes al compartir pantalla.\nFunciona en: Hyprland, Niri, River, Sway",
"SCREENCOPY_HELP": "Lento, sin ventanas emergentes al compartir pantalla.\nFunciona en: Hyprland, Niri, River, Sway",
"UINPUT": "Emulación de dispositivo",
"UINPUT_HELP": "Usa el módulo uinput para emular un dispositivo.\nFunciona bien en la mayoría de los escritorios.",
"EVDEV_HELP": "Captura los dispositivos de entrada para uso exclusivo.\nTu usuario debe pertenecer al grupo \"input\".",
"WL_VIRTUAL": "Entrada virtual de Wayland",
"WL_VIRTUAL_HELP": "Envía eventos al compositor Wayland usando\nzwlr_virtual_pointer y zwp_virtual_keyboard.\nSolo funciona de forma fiable en algunos escritorios.\nNO funciona en KDE, GNOME o COSMIC."
},
"POINTER_ACCELERATION": "Aceleración del ratón",
"POINTER_ACCELERATION_HELP": "Act.: Aceleración adaptativa del ratón\nDesact.: Velocidad constante",
"POINTER_LERP_FACTOR": "Suavizado del puntero",
"POINTER_SPEED": "Velocidad del ratón",
"REQUIRES_RESTART": "Requiere reiniciar",
"RESET_PLAYSPACE": "Restablecer espacio de juego",
"RESET_PLAYSPACE_HELP": "Elimina el desplazamiento del espacio de juego.",
"SAVE_PLAYSPACE_CENTER": "Guardar centro del espacio de juego",
"SAVE_PLAYSPACE_CENTER_HELP": "Usa el espacio de juego actual para el comando de reiniciar espacio de juego.",
"RESET_PLAYSPACE_CENTER": "Reiniciar centro del espacio de juego",
"RESET_PLAYSPACE_CENTER_HELP": "Restablece el centro del espacio de juego definido previamente.",
"ROUND_MULTIPLIER": "Redondeo de bordes de la UI",
"SCREEN_RENDER_DOWN": "Renderizar pantalla a resolución menor",
"SCREEN_RENDER_DOWN_HELP": "Ayuda con el aliasing en pantallas de alta resolución",
"SCROLL_SPEED": "Velocidad de desplazamiento",
"SELECT_VARIANT": "Seleccionar variante",
"SNAP_ANGLE_DEG": "Ángulo de ajuste de inclinación y rotación de ventana",
"SNAP_ANGLE_DEG_HELP": "Las ventanas agarradas se ajustan a este ángulo en los ejes de cabeceo y balanceo.",
"ENABLE_WATCH": "Habilitar reloj",
"SETS_ON_WATCH": "Sets en el reloj",
"SKYBOX": "Skymap",
"SKYMAP_ALREADY_DOWNLOADED": "Este skymap ya está descargado. Selecciona la acción deseada.",
"SPACE_DRAG": "Espacio de juego",
"SPACE_DRAG_MULTIPLIER": "Multiplicador de Space-drag",
"SPACE_DRAG_AFFECTS_WORLD": "Dejar overlays atrás al mover el espacio de juego",
"SPACE_DRAG_UNLOCKED": "Permitir espacio-drag en todos los ejes",
"SPACE_GRAVITY_DAMPING": "Amortiguación",
"SPACE_GRAVITY_DAMPING_HELP": "Resistencia artificial para frenar el movimiento. 0.1 - mucha resistencia, 1.0 - sin resistencia",
"SPACE_GRAVITY_FLING_STRENGTH": "Fuerza de impulso",
"SPACE_GRAVITY_FLING_STRENGTH_HELP": "Multiplicador de la intensidad de la fuerza de lanzamiento gravitacional tras el space-drag.\n0.0 - sin movimiento, 2.0 - intensidad doble",
"SPACE_GRAVITY_GRAVITY": "Gravedad",
"SPACE_GRAVITY_GRAVITY_HELP": "Cantidad de fuerza hacia abajo. 0.0 = sin gravedad",
"SPACE_GRAVITY_GROUND_FRICTION": "Fricción del suelo",
"SPACE_GRAVITY_GROUND_FRICTION_HELP": "Cantidad de fricción que te frena al tocar el suelo.\n0.0 - sin fricción (como sobre hielo), 1.0 - superficie rugosa",
"SPACE_GRAVITY_FLOOR_HEIGHT": "Altura del suelo",
"SPACE_GRAVITY_FLOOR_HEIGHT_HELP": "La posición Y donde se encuentra el suelo. La gravedad se detiene al alcanzar esta altura.",
"SPACE_ROTATE_UNLOCKED": "Permitir rotación del espacio en todos los ejes",
"TROUBLESHOOTING": "Solución de problemas",
"UI_GRADIENT_INTENSITY": "Intensidad del degradado de la interfaz",
"UPRIGHT_SCREEN_FIX": "Corrección de pantalla vertical",
"UPRIGHT_SCREEN_FIX_HELP": "Corrige pantallas verticales en algunos escritorios",
"USE_PASSTHROUGH": "Activar passthrough",
"USE_PASSTHROUGH_HELP": "Permite el passthrough si el entorno XR lo soporta",
"USE_SKYBOX": "Mostrar skymap",
"USE_SKYBOX_HELP": "Mostrar un skymap si no hay una aplicación de escena o passthrough",
"WATCH_VIEW_ANGLE": "Ángulos de visión del reloj",
"WATCH_VIEW_ANGLE_HELP": "Controla cómo se desvanece el reloj",
"WHISPER": {
"NEED_TO_DOWNLOAD_MODEL": "El modelo seleccionado necesita descargarse.\n¿Descargarlo ahora?",
"REMOVE_UNUSED_MODELS": "Estás desactivando la función de voz a texto.\n¿Quieres eliminar los modelos de Whisper descargados para liberar espacio?"
},
"WHISPER_MODEL": "Modelo de dictado",
"WHISPER_MODEL_HELP": "Modelo de Whisper a utilizar.\nLos modelos más grandes dan resultados\nmás precisos, pero consumen más VRAM.",
"GRID_OPACITY": "Opacidad de la rejilla del suelo",
"GRID_OPACITY_HELP": "Opacidad de la rejilla del suelo cuando el skymap está activado",
"XWAYLAND_BY_DEFAULT": "Ejecutar apps en modo de compatibilidad por defecto",
"SAVE": "Guardar",
"CANCEL": "Cancelar",
"STATISTICS": "Estadísticas",
"ROTATIONS": "Rotaciones del HMD",
"SESSION_TIME": "Tiempo de sesión",
"LENS_SEPARATION_MM": "Separación de lentes (mm)",
"MIDDLE_GRABS_SINGLE": "El modificador de clic central agarra objetos individuales",
"MIDDLE_GRABS_SINGLE_HELP": "Al agarrar con el modificador de clic central (láser púrpura),\nse agarrarán overlays individuales y no el set completo",
"DIAGNOSTICS_REASON": {
"PACTL": "Necesario para el control de altavoces/micrófono y el cambio de tarjeta de audio",
"CAGE": "Recomendado en caso de incompatibilidad con algunas aplicaciones X11 (Modo de compatibilidad)",
"XWAYLAND_SATELLITE": "Recomendado si quieres ejecutar aplicaciones X11 (Xwayland) en modo nativo",
"XDG_OPEN": "Necesario para abrir URLs o juegos de Steam"
},
"DIAGNOSTICS": {
"CPU_ACCESSIBLE_VRAM": "VRAM accesible por CPU: {NUM} MiB",
"TITLE": "Diagnósticos",
"ENABLE_REBAR": "Activa [resizable bar] en la configuración de la BIOS para un rendimiento óptimo de VR"
},
"TUTORIAL": "Tutorial",
"RESTART_WAYVR": "Reiniciar WayVR",
"CLOSE_WAYVR": "Cerrar WayVR",
"SPEECH_TO_TEXT": "Dictado por voz",
"WHISPER_GPU_SELECT": "Seleccionar GPU"
},
"APPLICATION_LAUNCHER": "Lanzador de aplicaciones",
"APPLICATION_STARTED": "Aplicación iniciada",
"APPLICATIONS": "Aplicaciones",
"AUDIO": {
"AUTO_SWITCH_TO_VR_AUDIO": "Cambiar automáticamente al audio de VR",
"CARDS": "Tarjetas",
"FAILED_TO_SWITCH_MICROPHONE": "Error al cambiar el micrófono",
"MICROPHONE_SET_SUCCESSFULLY": "Micrófono configurado correctamente",
"MICROPHONES": "Micrófonos",
"NO_VR_MICROPHONE_SWITCH_MANUALLY": "No se encontró micrófono de VR. Cámbialo manualmente.",
"NO_VR_SPEAKERS_FOUND_SWITCH_MANUALLY": "No se encontraron altavoces de VR. Cámbialos manualmente.",
"SELECT_AUDIO_CARD_PROFILE": "Selecciona el perfil de la tarjeta de sonido",
"SETTINGS": "Ajustes de audio",
"SPEAKERS": "Altavoces",
"SPEAKERS_SET_SUCCESSFULLY": "Altavoces configurados correctamente",
"VOLUME": "Volumen",
"SWITCH_TO_THIS_DEVICE": "Cambiar a este dispositivo"
},
"CLOSE_WINDOW": "Cerrar ventana",
"CREATION_DATE": "Fecha de creación",
"DEBUG_INFO": "Info de depuración",
"DISPLAY_BRIGHTNESS": "Brillo de pantalla",
"DONATE": {
"SUPPORT_US": "Apóyanos",
"DESCRIPTION": "Somos un pequeño equipo de 2 desarrolladores creando WayVR en nuestro tiempo libre. Si disfrutas usando este software, considera apoyarnos; cada donación nos ayuda a seguir adelante.",
"THANK_YOU_WAYVR": "¡Gracias del equipo de WayVR!",
"BUTTON_TOOLTIP": "Dona a través de Open Collective",
"CURRENT_SUPPORTERS": "Colaboradores actuales",
"BROUGHT_TO_YOU_VARIANTS_OFTEN": "Apoyado por {USER}|Gracias a {USER}|Con el apoyo de {USER}|Patrocinado por {USER}|Un aporte especial de {USER}|Impulsado por {USER}|Haciendo esto posible: {USER}|Sostenible gracias a {USER}|Un agradecimiento a {USER}",
"BROUGHT_TO_YOU_VARIANTS_RARE": "Un gran impulso de {USER}|Todo es gracias a {USER}|Con todo el cariño de {USER}|El motor de hoy: {USER}|Sumando valor con {USER}|Haciendo crecer el proyecto: {USER}|De corazón, gracias a {USER}|Con el respaldo de {USER}|La chispa del día: {USER}",
"BROUGHT_TO_YOU_VARIANTS_VERY_RARE": "¡Un nivel leyenda: {USER}!|Energía pura gracias a {USER}|Nuestra estrella del día: {USER}|El MVP de hoy: {USER}|Rescatando el día: {USER}|Sosteniendo la aplicación: {USER}|El combustible secreto: {USER}|Manteniendo la cordura: {USER}|Conversor de café en código: {USER}|Salvando la producción: {USER}|¡Simplemente increíble: {USER}!|El corazón de todo: {USER}"
},
"DOWNLOAD": "Descargar",
"DOWNLOADER": "Descargador",
"WELCOME": {
"ALL_SET": "¡Todo listo!",
"BASICS": "Estos conceptos básicos te permitirán empezar a usar WayVR con facilidad.",
"CENTER_MARKER": "El marcador de centro es lo que aparecerá frente a ti al recentrar. ¡Coloca los overlays alrededor de él!",
"DOUBLE_PRESS_TO_TOGGLE": "Pulsa dos veces B (en Index) o Y (en Meta) para mostrar, recentrar u ocultar tu Set. Pruébalo ahora.",
"FEATURES_DOCUMENTATION": "Hay muchas otras funciones que vale la pena personalizar. Para más información, consulta la documentación en",
"FINISH_TUTORIAL": "Finalizar tutorial",
"GRAB_BOTH_HANDS": "Agarralo con ambas manos si quieres mover un overlay específico de tu set.",
"GRAB_ONE_HAND": "Agarralo con una mano para mover tu set.",
"GREETING": "¡Hola!",
"GUIDE_INTRO": "Déjanos guiarte en tus primeros pasos.",
"LASER_COLORS": "Colores del láser",
"LASER_FUNCTIONALITY": "Gran parte de la funcionalidad de WayVR depende del color del láser usado para interactuar con un elemento de la interfaz. ¡No hace falta pulsar los botones, basta con tocarlos!",
"LAST_PAGE_INFO": "Este tutorial dejará de aparecer una vez que llegues a la última página.",
"LOOK_AT_LEFT_WRIST": "Mira tu muñeca izquierda. Ahí tienes tu reloj.",
"MIDDLE_CLICK_MODE_PURPLE_LASER": "Modo clic central: Láser púrpura",
"MOVING_YOUR_SET": "Mover tu set",
"NEXT_BUTTON": "Pulsa el botón Siguiente abajo para empezar.",
"REGULAR_MODE_BLUE_LASER": "Modo normal: Láser azul",
"REPOSITION_THIS_WINDOW_BY_GRABBING": "Reposiciona esta ventana usando el agarre (grip) de tu controlador.",
"RIGHT_CLICK_MODE_ORANGE_LASER": "Modo clic derecho: Láser naranja",
"THANKS_FOR_INSTALLING": "¡Gracias por instalar WayVR!",
"WATCH": "Reloj",
"WORKING_SET": "Set actual"
},
"DOWNLOAD_AGAIN": "Descargar de nuevo",
"DOWNLOADING_FILE": "Descargando archivo...",
"FAILED_TO_LAUNCH_APPLICATION": "Error al lanzar la aplicación:",
"GAME_LAUNCHED": "Juego iniciado",
"GAME_LIST": {
"NO_GAMES_FOUND": "No se encontraron juegos",
"RUNNING_GAMES_LIST": "Lista de juegos activos"
},
"GAMES": "Juegos",
"GENERAL_SETTINGS": "Ajustes generales",
"GETTING_STARTED": "Primeros pasos",
"HEIGHT": "Altura",
"HELLO": "¡Hola!",
"HELLO_USER": "¡Hola, {USER}!",
"HIDE": "Ocultar",
"HOME_SCREEN": "Inicio",
"MODIFICATION_DATE": "Fecha de modificación",
"MONADO_RUNTIME": "Runtime de Monado",
"LOADING": "Cargando...",
"POPUP_ADD_DISPLAY": {
"RESOLUTION": "Resolución"
},
"PROCESS": {
"FORCE_KILL": "Forzar cierre",
"STOP": "Detener"
},
"PROCESS_LIST": "Lista de procesos",
"REFRESH": "Actualizar",
"REMOVE": "Eliminar",
"APPLY": "Aplicar",
"RELOAD_FROM_DISK": "Recargar desde disco",
"SETTINGS": "Ajustes",
"SHOW": "Mostrar",
"TARGET_PATH": "Ruta de destino",
"TERMINATE_PROCESS": "Terminar proceso",
"VERSION": "Versión",
"WIDTH": "Ancho",
"PINNED_APPS": "Aplicaciones fijadas",
"SAVED_TO_FAVOURITES": "Guardado en aplicaciones fijadas",
"ADD_TO_FAVOURITES": "Añadir a aplicaciones fijadas",
"ADD_TO_FAVOURITES_HINT": "Guardar ajuste y fijarlo al cajón de aplicaciones",
"REMOVE_FROM_FAVOURITES": "Quitar de aplicaciones fijadas",
"EMPTY": "Vacío",
"INSTALLED": "Instalado",
"NOT_INSTALLED": "No instalado",
"POWER_OPTIONS": {
"TITLE": "Opciones de energía",
"SHUTDOWN": "Apagar",
"SUSPEND": "Suspender",
"SHUTDOWN_ARE_YOU_SURE": "¿Seguro que quieres apagar el ordenador?",
"NOT_SUPPORTED": "Las opciones de energía requieren systemd o elogind.",
"SUSPEND_ARE_YOU_SURE": "¿Estás seguro de que quieres suspender el equipo?"
},
"YES": "Sí",
"NO": "No"
}
+382 -159
View File
@@ -1,161 +1,384 @@
{
"ACTIONS": {
"RECENTER_PLAYSPACE": "Recentra lo spazio di gioco"
},
"APP_LAUNCHER": {
"ASPECT": {
"SEMI_TALL": "Semi-alto",
"SEMI_WIDE": "Semi-ampio",
"SQUARE": "Quadrato",
"TALL": "Alto",
"WIDE": "Ampio"
},
"ASPECT_TITLE": "Proporzioni",
"AUTOSTART": "Avvia automaticamente all'avvio",
"LAUNCH": "Avvia",
"MODE": {
"CAGE": "Modalità compatibilità (Cage)",
"NATIVE": "Modalità nativa"
},
"POS": {
"ANCHORED": "Ancorato",
"ANCHORED_HELP": "Rimane fermo rispetto al marcatore centrale.",
"FLOATING": "Fluttuante",
"FLOATING_HELP": "Si muove in modo indipendente, si recentra quando viene mostrato.",
"STATIC": "Statico",
"STATIC_HELP": "Non fa parte di alcun set. Non recentra."
},
"POS_TITLE": "Posizionamento",
"RES_TITLE": "Risoluzione"
},
"APP_SETTINGS": {
"ALLOW_SLIDING": "Interazione tramite stick durante l'afferrare",
"ANIMATION_SPEED": "Velocità dell'animazione dell'interfaccia utente",
"BLOCK_GAME_INPUT": "Blocca l'input di gioco",
"BLOCK_GAME_INPUT_HELP": "Blocca tutti gli input quando il cursore è sopra un overlay",
"BLOCK_GAME_INPUT_IGNORE_WATCH": "Ignora il Watch quando si blocca l'input",
"BLOCK_GAME_INPUT_IGNORE_WATCH_HELP": "Non bloccare l'input quando il watch è evidenziato",
"CAPTURE_METHOD": "Acquisizione dello schermo Wayland",
"CAPTURE_METHOD_HELP": "Prova a modificare questa impostazione se riscontri schermate nere o con artefatti.",
"CLEAR_PIPEWIRE_TOKENS": "Cancella i token PipeWire",
"CLEAR_PIPEWIRE_TOKENS_HELP": "Richiedi la selezione dello schermo all'avvio successivo",
"CLEAR_SAVED_STATE": "Cancella stato salvato",
"CLEAR_SAVED_STATE_HELP": "Ripristina set e posizioni degli overlay",
"CLICK_FREEZE_TIME_MS": "Tempo di congelamento del click (ms)",
"CLICK_FREEZE_TIME_MS_HELP": "Aiuta con la precisione dei doppi clic",
"CLOCK_12H": "Orologio a 12 ore",
"CONTROLS": "Controlli",
"DELETE_ALL_CONFIGS": "Elimina configurazione",
"DELETE_ALL_CONFIGS_HELP": "Rimuovi tutti i file di configurazione da conf.d",
"DOUBLE_CURSOR_FIX": "Correzione doppio cursore",
"DOUBLE_CURSOR_FIX_HELP": "Abilita questa opzione se vedi 2 cursori",
"FEATURES": "Funzionalità",
"FOCUS_FOLLOWS_MOUSE_MODE": "Movimento del mouse al tocco del grilletto",
"HIDE_GRAB_HELP": "Nascondi l'aiuto per l'afferrare",
"HIDE_USERNAME": "Nascondi nome utente",
"INVERT_SCROLL_DIRECTION_X": "Inverti direzione dello scorrimento orizzontale",
"INVERT_SCROLL_DIRECTION_Y": "Inverti direzione dello scorrimento verticale",
"KEYBOARD_MIDDLE_CLICK": "Click centrale del tasto",
"KEYBOARD_MIDDLE_CLICK_HELP": "Modificatore da usare durante la digitazione\ncon laser viola",
"KEYBOARD_SOUND_ENABLED": "Suoni della tastiera",
"LEFT_HANDED_MOUSE": "Mouse per mancini",
"LEFT_HANDED_MOUSE_HELP": "Usalo se i pulsanti del mouse sono invertiti",
"LONG_PRESS_DURATION": "Durata pressione prolungata",
"LOOK_AND_FEEL": "Aspetto",
"MISC": "Varie",
"NOTIFICATIONS_ENABLED": "Abilita notifiche",
"NOTIFICATIONS_SOUND_ENABLED": "Suoni di notifica",
"OPAQUE_BACKGROUND": "Sfondo opaco",
"OPTION": {
"AUTO": "Automatico",
"AUTO_HELP": "Copia dello schermo tramite GPU se supportata,\naltrimenti tramite GPU PipeWire.",
"PIPEWIRE_HELP": "Acquisizione GPU veloce,\nstandard su tutti i desktop.",
"PW_FALLBACK_HELP": "Metodo lento con elevato utilizzo della CPU.\nProva in caso PipeWire GPU non funzioni",
"SCREENCOPY_GPU_HELP": "Veloce, senza popup di condivisione schermo.\nFunziona su: Hyprland, Niri, River, Sway",
"SCREENCOPY_HELP": "Lento, nessuna finestra pop-up per la condivisione dello schermo.\nFunziona su: Hyprland, Niri, River, Sway",
"NONE": "Nessuno",
"HMD_PINCH": "HMD + pizzico",
"EYE_PINCH": "Occhio + pizzico",
"EYE_ONLY": "Solo occhio",
"HMD_ONLY": "Solo HMD"
},
"POINTER_LERP_FACTOR": "Smussamento puntatore",
"RESTART_SOFTWARE": "Riavvia il software",
"RESTART_SOFTWARE_HELP": "Applica impostazioni che richiedono un riavvio",
"ROUND_MULTIPLIER": "Arrotondamento bordi UI",
"SCREEN_RENDER_DOWN": "Rendering dello schermo a risoluzione inferiore",
"SCREEN_RENDER_DOWN_HELP": "Aiuta a ridurre l'aliasing su schermi ad alta risoluzione",
"SCROLL_SPEED": "Velocità di scorrimento",
"SETS_ON_WATCH": "Set sul Watch",
"SPACE_DRAG_MULTIPLIER": "Moltiplicatore space-drag",
"SPACE_DRAG_UNLOCKED": "Consenti lo space-drag su tutti gli assi",
"SPACE_ROTATE_UNLOCKED": "Consenti la rotazione dello spazio su tutti gli assi",
"TROUBLESHOOTING": "Risoluzione dei problemi",
"UPRIGHT_SCREEN_FIX": "Correzione schermo verticale",
"UPRIGHT_SCREEN_FIX_HELP": "Corregge schermi verticali su alcuni desktop",
"USE_PASSTHROUGH": "Abilita passthrough",
"USE_PASSTHROUGH_HELP": "Consenti il passthrough se supportato dal runtime XR",
"USE_SKYBOX": "Abilita skybox",
"USE_SKYBOX_HELP": "Mostra uno skybox se non c'è un'app di scena o passthrough",
"XR_CLICK_SENSITIVITY": "Sensibilità del click XR",
"XR_CLICK_SENSITIVITY_HELP": "Sensibilità del trigger analogico",
"XR_CLICK_SENSITIVITY_RELEASE": "Sensibilità di rilascio XR",
"XR_CLICK_SENSITIVITY_RELEASE_HELP": "Deve essere inferiore al clic",
"XWAYLAND_BY_DEFAULT": "Esegui le app in modalità Compatibilità per impostazione predefinita",
"AUTOSTART_APPS": "App da avviare all'avvio",
"HANDSFREE_POINTER": "Modalità a mani libere",
"HANDSFREE_POINTER_HELP": "Input da usare quando i\ncontroller di movimento non sono disponibili.\nPizzico sinistro per afferrare, destro per cliccare.",
"UI_GRADIENT_INTENSITY": "Intensità gradiente dell'interfaccia utente",
"RESET_PLAYSPACE": "Ripristina playspace",
"RESET_PLAYSPACE_HELP": "Cancella l'offset dello spazio di gioco.",
"BLOCK_POSES_ON_KBD_INTERACTION": "Blocca le pose durante l'interazione con la tastiera",
"BLOCK_POSES_ON_KBD_INTERACTION_HELP": "Impedisce al gioco di ricevere pose quando la tastiera è evidenziata e 'Blocca input di gioco' è abilitato"
},
"APPLICATION_LAUNCHER": "Lanciatore applicazioni",
"APPLICATION_STARTED": "Applicazione avviata",
"APPLICATIONS": "Applicazioni",
"AUDIO": {
"AUTO_SWITCH_TO_VR_AUDIO": "Passa automaticamente all'audio VR",
"CARDS": "Schede",
"FAILED_TO_SWITCH_MICROPHONE": "Impossibile cambiare microfono",
"MICROPHONE_SET_SUCCESSFULLY": "Microfono impostato con successo",
"MICROPHONES": "Microfoni",
"NO_VR_MICROPHONE_SWITCH_MANUALLY": "Nessun microfono VR trovato. Attivalo manualmente.",
"NO_VR_SPEAKERS_FOUND_SWITCH_MANUALLY": "Nessun altoparlante VR trovato. Selezionali manualmente.",
"SELECT_AUDIO_CARD_PROFILE": "Seleziona profilo scheda audio",
"SETTINGS": "Impostazioni audio",
"SPEAKERS": "Altoparlanti",
"SPEAKERS_SET_SUCCESSFULLY": "Altoparlanti impostati correttamente",
"VOLUME": "Volume"
},
"CLOSE_WINDOW": "Chiudi finestra",
"DISPLAY_BRIGHTNESS": "Luminosità display",
"FAILED_TO_LAUNCH_APPLICATION": "Impossibile avviare l'applicazione:",
"GAME_LAUNCHED": "Gioco lanciato",
"GAME_LIST": {
"NO_GAMES_FOUND": "Nessun gioco trovato",
"RUNNING_GAMES_LIST": "Lista dei giochi in esecuzione"
},
"GAMES": "Giochi",
"GENERAL_SETTINGS": "Impostazioni generali",
"HEIGHT": "Altezza",
"HELLO": "Ciao!",
"HELLO_USER": "Ciao, {USER}!",
"HIDE": "Nascondi",
"HOME_SCREEN": "Home",
"MONADO_RUNTIME": "Runtime Monado",
"POPUP_ADD_DISPLAY": {
"RESOLUTION": "Risoluzione"
},
"REMOVE": "Rimuovi",
"SETTINGS": "Impostazioni",
"SHOW": "Mostra",
"TERMINATE_PROCESS": "Termina processo",
"WIDTH": "Larghezza",
"PROCESS_LIST": "Elenco processi",
"REFRESH": "Aggiorna",
"PROCESS": {
"STOP": "Interrompi",
"FORCE_KILL": "Uccidi forzatamente"
}
"DEFINITIONS": {
"ANCHORED": "Ancorato",
"FLOATING": "Fluttuante",
"STATIC": "Statico",
"SET": "Set",
"WATCH": "Orologio",
"DASHBOARD": "Dashboard",
"EDIT_MODE": "Modalità modifica",
"SETTINGS": "Impostazioni",
"KEYBOARD": "Tastiera",
"TASKBAR": "Barra delle applicazioni",
"FEATURES": "Funzionalità",
"OVERLAY": "Overlay",
"SKYMAP": "Skymap",
"PLAYSPACE": "Playspace",
"D_PAD": "D-pad"
},
"ACTIONS": {
"RECENTER_PLAYSPACE": "Ricentra playspace"
},
"APP_LAUNCHER": {
"ASPECT": {
"SEMI_TALL": "Semi-verticale",
"SEMI_WIDE": "Semi-ampio",
"SQUARE": "Quadrato",
"TALL": "Verticale",
"WIDE": "Widescreen"
},
"ASPECT_TITLE": "Formato",
"AUTOSTART": "Avvia automaticamente all'avvio",
"LAUNCH": "Avvia",
"MODE": {
"CAGE": "Modalità compatibilità (Cage)",
"NATIVE": "Modalità nativa"
},
"RES_TITLE": "Risoluzione"
},
"APP_SETTINGS": {
"ALLOW_SLIDING": "Interazione stick durante il grab",
"ANIMATION_SPEED": "Velocità animazioni UI",
"AUTOSTART_APPS": "App all'avvio",
"BLOCK_GAME_INPUT": "Blocca input di gioco",
"BLOCK_GAME_INPUT_HELP": "Blocca ogni input quando un overlay è selezionato",
"BLOCK_GAME_INPUT_IGNORE_WATCH": "Ignora l'orologio durante il blocco dell'input",
"BLOCK_GAME_INPUT_IGNORE_WATCH_HELP": "Non bloccare l'input quando il cursore è sull'orologio",
"BLOCK_POSES_ON_KBD_INTERACTION": "Blocca pose durante l'interazione con la tastiera",
"BLOCK_POSES_ON_KBD_INTERACTION_HELP": "Blocca la ricezione delle pose del gioco quando il cursore è sul tastiera e l'opzione 'Blocca input gioco' è attiva",
"BINDINGS": {
"COMP": {
"CLICK": "Clic",
"FORCE": "Forza",
"TOUCH": "Tocco",
"VALUE": "Valore",
"PROXIMITY": "Prossimità",
"X_AXIS": "Asse X",
"Y_AXIS": "Asse Y"
},
"TYPE": {
"BUMPER": "Bumper",
"DPAD_UP": "D-pad Su",
"DPAD_DOWN": "D-pad Giù",
"DPAD_LEFT": "D-pad Sinistra",
"DPAD_RIGHT": "D-pad Destra",
"JOYSTICK": "Joystick",
"MENU": "Menu",
"SHOULDER": "Shoulder",
"SQUEEZE": "Impugnatura",
"SYSTEM": "Sistema",
"THUMBREST": "Appoggio pollice",
"THUMBSTICK": "Thumbstick",
"TRACKPAD": "Trackpad",
"TRIGGER": "Trigger",
"VIEW": "Vista"
},
"CLICK": {
"ANY": "Qualsiasi",
"DOUBLE": "Doppio tocco",
"TRIPLE": "Triplo tocco",
"TYPE": "Numero di tap"
},
"ACTION": {
"CLICK": "Clic*",
"GRAB": "Afferra*",
"ALT_CLICK": "Exec shell personalizzato (imposta alt_click nel config)",
"SHOW_HIDE": "Mostra, nascondi, ricentra*",
"TOGGLE_DASHBOARD": "Attiva/disattiva dashboard",
"SPACE_DRAG": "Trascinamento Playspace",
"SPACE_ROTATE": "Rotazione Playspace",
"SPACE_RESET": "Reset playspace",
"CLICK_MODIFIER_RIGHT": "Modificatore click destro",
"CLICK_MODIFIER_MIDDLE": "Modificatore click centrale",
"MOVE_MOUSE": "Sposta mouse (se disattivato per impostazione predefinita)",
"SCROLL": "Scorri*"
},
"LEFT": "Sinistra",
"RIGHT": "Destro",
"COMPONENT": "Tipo di attuazione",
"SUBPATH": "Comando di attivazione",
"THRESHOLD": "Attiva sopra il valore superiore\nDisattiva sotto il valore inferiore",
"CHORD": "Combinazione",
"CHORD_ADD_INPUT": "Aggiungi input combinazione",
"CHORD_INPUT_HAND": "Mano di input"
},
"BROWSE_ONLINE_CATALOG": "Sfoglia catalogo online...",
"BROWSE_SKYMAPS": "Sfoglia skymap",
"CAPTURE_METHOD": "Metodo di cattura schermo",
"CAPTURE_METHOD_HELP": "Prova a cambiarlo se riscontri\nschermi neri o glitch",
"COLOR_KEYING": "Chroma key",
"COLOR_PALETTE": "Tavolozza colori",
"COLOR_PALETTE_HELP": "Clicca per sfogliare le tavolozze dei colori.\nPer crearne di personalizzate, visita il sito web!",
"COLOR_PALETTES": "Tavolozze colori",
"COLOR_PALETTE_CURRENT": "Tema attualmente attivo.",
"COLOR_PALETTE_CUSTOM_URL": "Aggiungi il tuo tema personalizzato!",
"COLOR_PALETTE_CUSTOM_URL2": "Clicca per aprire il manuale web.",
"COLOR_PALETTE_ACTIVATE": "Clicca per usare questo tema.",
"CLEAR_PIPEWIRE_TOKENS": "Svuota token PipeWire",
"CLEAR_PIPEWIRE_TOKENS_HELP": "Chiedi la selezione dello schermo al prossimo avvio",
"CLEAR_SAVED_STATE": "Ripristina stato salvato",
"CLEAR_SAVED_STATE_HELP": "Resetta set e posizioni degli overlay",
"CLICK_FREEZE_TIME_MS": "Tempo di freeze del click (ms)",
"CLICK_FREEZE_TIME_MS_HELP": "Aiuta la precisione del doppio clic",
"CLOCK_12H": "Orologio a 12 ore",
"CONTROLS": "Controlli",
"DELETE_ALL_CONFIGS": "Razzera configurazione",
"DELETE_ALL_CONFIGS_HELP": "Rimuovi tutti i file di configurazione da conf.d",
"DOUBLE_CURSOR_FIX": "Correzione doppio cursore",
"DOUBLE_CURSOR_FIX_HELP": "Attivalo se vedi 2 cursori",
"DEFAULT_OVERLAY_SCALE": "Dimensione overlay predefinita",
"DEFAULT_OVERLAY_SCALE_HELP": "Fai apparire i nuovi overlay a questa scala.",
"DEFAULT_CURVATURE": "Curvatura predefinita overlay",
"DEFAULT_OPACITY": "Opacità predefinita overlay",
"DEFAULT_POSITIONING": "Posizionamento overlay predefinito",
"OVERLAY_DEFAULTS_HELP": "Si applica solo ai nuovi overlay",
"ENABLED": "Attivo",
"FEATURES": "Funzionalità",
"FOCUS_FOLLOWS_MOUSE_MODE": "Muovi mouse al tocco del trigger",
"HANDSFREE_POINTER": "Modalità mani libere",
"HANDSFREE_POINTER_HELP": "Input da usare quando i controller \ndi movimento non sono disponibili.\nPizzico sinistro per afferrare, destro per cliccare.",
"HANDSFREE_ALT_TAB": "Mirino commutatore app",
"HANDSFREE_ALT_TAB_HELP": "Tieni premuto Super+X, punta alla finestra desiderata e rilascia per cambiare focus.",
"HIDE_GRAB_HELP": "Nascondi guida alla presa",
"HIDE_USERNAME": "Nascondi nome utente",
"INPUT_EMULATION_METHOD": "Metodo di emulazione input",
"INPUT_EMULATION_METHOD_HELP": "Prova a cambiarlo se l'input del mouse o\ndella tastiera non viene registrato.",
"INPUT_CAPTURE_METHOD": "Metodo di acquisizione input",
"INPUT_CAPTURE_METHOD_HELP": "Permette di usare le periferiche fisiche all'interno di WayVR.\n Super+Z: Passa l'input tra WayVR e il desktop reale\n Super+X: Passa tra le app di WayVR",
"INPUT_PROFILES": "Cambia assegnazione tasti",
"INPUT_PROFILES_HELP": "Binding degli input del controller OpenXR",
"INVERT_SCROLL_DIRECTION_X": "Inverti direzione scorrimento orizzontale",
"INVERT_SCROLL_DIRECTION_Y": "Inverti direzione scorrimento verticale",
"KEYBOARD_MIDDLE_CLICK": "Tasto centrale tastiera",
"KEYBOARD_MIDDLE_CLICK_HELP": "Tasto modificatore da usare quando si scrive\ncon il laser viola",
"KEYBOARD_SOUND_ENABLED": "Suoni tastiera",
"LANGUAGE": "Lingua",
"LEFT_HANDED_MOUSE": "Mouse per mancini",
"LEFT_HANDED_MOUSE_HELP": "Usalo se i tasti del mouse sono invertiti",
"LONG_PRESS_DURATION": "Durata pressione lunga",
"LOOK_AND_FEEL": "Aspetto e stile",
"MISC": "Varie",
"NOTIFICATIONS_ENABLED": "Attiva notifiche",
"NOTIFICATIONS_SOUND_ENABLED": "Suoni di notifica",
"NOT_SUPPORTED": "Non supportato",
"NO_SKYMAPS_FOUND": "Nessun skymap trovato",
"OPAQUE_BACKGROUND": "Sfondo opaco",
"OPTION": {
"ANCHORED_HELP": "Si muove con il marker centrale. Consigliato.",
"FLOATING_HELP": "Si muove indipendentemente, si ricentra.\nFacile da perdere di vista; non consigliato.",
"STATIC_HELP": "Resta fisso rispetto al mondo.",
"AUTO": "Automatico",
"AUTO_HELP": "ScreenCopy GPU se supportata,\naltrimenti PipeWire GPU.",
"EYE_ONLY": "Laser oculare",
"EYE_PINCH": "Occhio + pinch",
"HMD_ONLY": "Laser HMD",
"HMD_PINCH": "HMD + pinch",
"NONE": "Nessuno",
"NONE_INPUT_HELP": "Non emulare mouse e tastiera.\nNon sarà possibile interagire con gli schermi.",
"NONE_INPUT_CAPTURE_HELP": "Non catturare mouse e tastiera.\nNon sarà possibile usare il mouse o la\ntastiera fisica nelle app lanciate in WayVR.",
"PIPEWIRE_HELP": "Cattura GPU rapida,\nstandard su tutti i desktop.",
"PW_FALLBACK_HELP": "Metodo lento con elevato utilizzo della CPU.\nProva se PipeWire GPU non funziona",
"SCREENCOPY_GPU_HELP": "Veloce, senza popup di condivisione schermo.\nFunziona con: Hyprland, Niri, River, Sway",
"SCREENCOPY_HELP": "Lenta, senza popup di condivisione schermo.\nFunziona su: Hyprland, Niri, River, Sway",
"UINPUT": "Emulazione dispositivo",
"UINPUT_HELP": "Utilizza il modulo uinput per emulare un dispositivo.\nFunziona bene sulla maggior parte dei desktop.",
"EVDEV_HELP": "Cattura i dispositivi di input per l'uso esclusivo.\nL'utente deve appartenere al gruppo 'input'.",
"WL_VIRTUAL": "Input virtuale Wayland",
"WL_VIRTUAL_HELP": "Invia eventi al compositor Wayland usando\nzwlr_virtual_pointer e zwp_virtual_keyboard.\nFunziona in modo affidabile solo su alcuni desktop.\nNON funziona su KDE, GNOME o COSMIC."
},
"POINTER_ACCELERATION": "Accelerazione mouse",
"POINTER_ACCELERATION_HELP": "On: Accelerazione mouse adattiva\nOff: Velocità costante",
"POINTER_LERP_FACTOR": "Smorzamento puntatore",
"POINTER_SPEED": "Velocità mouse",
"REQUIRES_RESTART": "Richiede riavvio",
"RESET_PLAYSPACE": "Resetta playspace",
"RESET_PLAYSPACE_HELP": "Rimuovi l'offset dello spazio del Playspace.",
"SAVE_PLAYSPACE_CENTER": "Salva centro playspace",
"SAVE_PLAYSPACE_CENTER_HELP": "Usa il playspace corrente per il comando di reset del playspace.",
"RESET_PLAYSPACE_CENTER": "Resetta centro playspace",
"RESET_PLAYSPACE_CENTER_HELP": "Rimuovi il centro del playspace impostato precedentemente.",
"ROUND_MULTIPLIER": "Arrotondamento bordi UI",
"SCREEN_RENDER_DOWN": "Rendering schermo a risoluzione inferiore",
"SCREEN_RENDER_DOWN_HELP": "Riduce l'effetto aliasing sugli schermi ad alta risoluzione",
"SCROLL_SPEED": "Velocità scorrimento",
"SELECT_VARIANT": "Seleziona variante",
"SNAP_ANGLE_DEG": "Angolo di snap beccheggio e rollio finestre",
"SNAP_ANGLE_DEG_HELP": "Le finestre afferrate si allineano a questo angolo sugli assi di beccheggio e rollio.",
"ENABLE_WATCH": "Attiva orologio",
"SETS_ON_WATCH": "Set sull'orologio",
"SKYBOX": "Skymap",
"SKYMAP_ALREADY_DOWNLOADED": "Questo skymap è già stato scaricato. Seleziona l'azione desiderata.",
"SPACE_DRAG": "Playspace",
"SPACE_DRAG_MULTIPLIER": "Moltiplicatore Space-drag",
"SPACE_DRAG_AFFECTS_WORLD": "Lascia gli overlay durante lo spostamento del playspace",
"SPACE_DRAG_UNLOCKED": "Permetti space-drag su tutti gli assi",
"SPACE_GRAVITY_DAMPING": "Smorzamento",
"SPACE_GRAVITY_DAMPING_HELP": "Attrito artificiale per rallentare il movimento. 0,1 - attrito elevato, 1,0 - nessun attrito",
"SPACE_GRAVITY_FLING_STRENGTH": "Forza del lancio",
"SPACE_GRAVITY_FLING_STRENGTH_HELP": "Moltiplicatore dell'intensità della spinta gravitazionale dopo lo space-drag.\n0.0 - nessun movimento, 2.0 - intensità doppia",
"SPACE_GRAVITY_GRAVITY": "Gravità",
"SPACE_GRAVITY_GRAVITY_HELP": "Forza verso il basso. 0.0 - assenza di gravità",
"SPACE_GRAVITY_GROUND_FRICTION": "Attrito al suolo",
"SPACE_GRAVITY_GROUND_FRICTION_HELP": "Quantità di attrito che ti rallenta quando tocchi terra.\n0.0 - nessun attrito (come sul ghiaccio), 1.0 - superficie ruvida",
"SPACE_GRAVITY_FLOOR_HEIGHT": "Altezza pavimento",
"SPACE_GRAVITY_FLOOR_HEIGHT_HELP": "La posizione Y del pavimento. La gravità si interrompe quando raggiungi questa altezza.",
"SPACE_ROTATE_UNLOCKED": "Consenti rotazione del playspace su tutti gli assi",
"TROUBLESHOOTING": "Risoluzione problemi",
"UI_GRADIENT_INTENSITY": "Intensità gradiente UI",
"UPRIGHT_SCREEN_FIX": "Correzione orientamento schermo",
"UPRIGHT_SCREEN_FIX_HELP": "Risolve il problema degli schermi verticali su alcuni desktop",
"USE_PASSTHROUGH": "Abilita passthrough",
"USE_PASSTHROUGH_HELP": "Consenti il passthrough se supportato dal runtime XR",
"USE_SKYBOX": "Mostra skymap",
"USE_SKYBOX_HELP": "Mostra una skymap se non c'è un'app di scena o il passthrough",
"WATCH_VIEW_ANGLE": "Angoli di visualizzazione orologio",
"WATCH_VIEW_ANGLE_HELP": "Controlla come scompare l'orologio",
"WHISPER": {
"NEED_TO_DOWNLOAD_MODEL": "Il modello selezionato deve essere scaricato.\nScaricarlo ora?",
"REMOVE_UNUSED_MODELS": "Stai disattivando la funzione di riconoscimento vocale.\nVuoi rimuovere i modelli Whisper scaricati per liberare spazio?"
},
"WHISPER_MODEL": "Modello speech-to-text",
"WHISPER_MODEL_HELP": "Modello Whisper da utilizzare.\nModelli più grandi offrono risultati\npiù precisi, ma consumano più VRAM.",
"GRID_OPACITY": "Opacità griglia pavimento",
"GRID_OPACITY_HELP": "Opacità della griglia del pavimento quando lo skymap è attivo",
"XWAYLAND_BY_DEFAULT": "Avvia le app in modalità compatibilità per impostazione predefinita",
"SAVE": "Salva",
"CANCEL": "Annulla",
"STATISTICS": "Statistiche",
"ROTATIONS": "Rotazioni HMD",
"SESSION_TIME": "Tempo sessione",
"LENS_SEPARATION_MM": "Distanza lenti (mm)",
"MIDDLE_GRABS_SINGLE": "Il modificatore click centrale afferra singoli oggetti",
"MIDDLE_GRABS_SINGLE_HELP": "Afferrando con il modificatore click centrale (laser viola),\nsi afferrano i singoli overlay e non l'intero set",
"DIAGNOSTICS_REASON": {
"PACTL": "Necessario per il controllo di altoparlanti/microfono e il cambio della scheda audio",
"CAGE": "Consigliato in caso di incompatibilità con alcune applicazioni X11 (Modalità compatibilità)",
"XWAYLAND_SATELLITE": "Consigliato per eseguire applicazioni X11 (Xwayland) in modalità nativa",
"XDG_OPEN": "Necessario per aprire URL o giochi Steam"
},
"DIAGNOSTICS": {
"CPU_ACCESSIBLE_VRAM": "VRAM accessibile dalla CPU: {NUM} MiB",
"TITLE": "Diagnostica",
"ENABLE_REBAR": "Abilita Resizable BAR nelle impostazioni del BIOS per prestazioni VR ottimali"
},
"TUTORIAL": "Tutorial",
"RESTART_WAYVR": "Riavvia WayVR",
"CLOSE_WAYVR": "Chiudi WayVR",
"SPEECH_TO_TEXT": "Speech-to-text",
"WHISPER_GPU_SELECT": "Seleziona GPU"
},
"APPLICATION_LAUNCHER": "Avvio applicazioni",
"APPLICATION_STARTED": "Applicazione avviata",
"APPLICATIONS": "Applicazioni",
"AUDIO": {
"AUTO_SWITCH_TO_VR_AUDIO": "Passa automaticamente all'audio VR",
"CARDS": "Schede",
"FAILED_TO_SWITCH_MICROPHONE": "Errore nel cambio microfono",
"MICROPHONE_SET_SUCCESSFULLY": "Microfono impostato correttamente",
"MICROPHONES": "Microfoni",
"NO_VR_MICROPHONE_SWITCH_MANUALLY": "Nessun microfono VR trovato. Selezionalo manualmente.",
"NO_VR_SPEAKERS_FOUND_SWITCH_MANUALLY": "Altoparlanti VR non trovati. Selezionali manualmente.",
"SELECT_AUDIO_CARD_PROFILE": "Seleziona profilo scheda audio",
"SETTINGS": "Impostazioni audio",
"SPEAKERS": "Altoparlanti",
"SPEAKERS_SET_SUCCESSFULLY": "Altoparlanti impostati correttamente",
"VOLUME": "Volume",
"SWITCH_TO_THIS_DEVICE": "Passa a questo dispositivo"
},
"CLOSE_WINDOW": "Chiudi finestra",
"CREATION_DATE": "Data di creazione",
"DEBUG_INFO": "Info debug",
"DISPLAY_BRIGHTNESS": "Luminosità schermo",
"DONATE": {
"SUPPORT_US": "Sostienici",
"DESCRIPTION": "Siamo un piccolo team di 2 sviluppatori che realizza WayVR nel tempo libero. Se ti piace usare questo software, considera di supportarci: ogni donazione ci aiuta a continuare.",
"THANK_YOU_WAYVR": "Grazie dal team di WayVR!",
"BUTTON_TOOLTIP": "Donazione tramite Open Collective",
"CURRENT_SUPPORTERS": "Supporter attuali",
"BROUGHT_TO_YOU_VARIANTS_OFTEN": "Supportato da {USER}|Grazie speciali a {USER}|Sponsorizzato da {USER}|Contributo di {USER}|Sostenuto da membri come {USER}|Reso possibile da {USER}|Sostenuto da {USER}|Grazie a {USER}|Alimentato da {USER}",
"BROUGHT_TO_YOU_VARIANTS_RARE": "Caffè offerto da {USER}|Energia pura grazie a {USER}|Un grande applauso a {USER}!|Ci tiene in piedi: {USER}|Ci aiuta a crescere: {USER}|Mantiene i server accesi: {USER}|Con immensa gratitudine a {USER}|Spinto dalla forza di {USER}|Supportato da amici come {USER}",
"BROUGHT_TO_YOU_VARIANTS_VERY_RARE": "Supportato da leggende come {USER}|Caffeina fornita da {USER}|Una vera leggenda: {USER}|Il nostro eroe del giorno: {USER}|Una superstar assoluta: {USER}|Paga la bolletta della luce: {USER}|Il motore della nostra creatività: {USER}|Il navigatore del nostro percorso: {USER}|Convertitore caffeina-codice fornito da {USER}|Mantiene la produzione stabile: {USER}|L'unico e inimitabile: {USER}|Maestro dei buffer dmabuf: {USER}"
},
"DOWNLOAD": "Scarica",
"DOWNLOADER": "Download",
"WELCOME": {
"ALL_SET": "Sei pronto!",
"BASICS": "Questi concetti base ti permetteranno di usare WayVR con facilità.",
"CENTER_MARKER": "Il marker centrale è ciò che apparirà davanti a te durante il ricentramento. Posiziona gli overlay intorno ad esso!",
"DOUBLE_PRESS_TO_TOGGLE": "Premi due volte B (su Index) o Y (su Meta) per mostrare, ricentrare o nascondere il tuo Set. Prova ora.",
"FEATURES_DOCUMENTATION": "Ci sono molte altre funzioni che vale la pena personalizzare. Per maggiori informazioni, consulta la documentazione su",
"FINISH_TUTORIAL": "Completa tutorial",
"GRAB_BOTH_HANDS": "Afferra con entrambe le mani se vuoi spostare un overlay specifico del tuo set.",
"GRAB_ONE_HAND": "Afferra con una mano per spostare il set.",
"GREETING": "Ciao!",
"GUIDE_INTRO": "Ti guidiamo attraverso i primi passi.",
"LASER_COLORS": "Colori del laser",
"LASER_FUNCTIONALITY": "Gran parte delle funzionalità di WayVR dipende dal colore del laser usato per interagire con gli elementi dell'interfaccia. Non serve premere i pulsanti, basta toccarli!",
"LAST_PAGE_INFO": "Questo tutorial smetterà di apparire una volta raggiunta l'ultima pagina.",
"LOOK_AT_LEFT_WRIST": "Guarda il tuo polso sinistro. Quello è il tuo orologio.",
"MIDDLE_CLICK_MODE_PURPLE_LASER": "Modalità click centrale: laser viola",
"MOVING_YOUR_SET": "Spostare il set",
"NEXT_BUTTON": "Premi Avanti qui sotto per iniziare.",
"REGULAR_MODE_BLUE_LASER": "Modalità standard: laser blu",
"REPOSITION_THIS_WINDOW_BY_GRABBING": "Riposiziona questa finestra usando il tasto grip del controller.",
"RIGHT_CLICK_MODE_ORANGE_LASER": "Modalità tasto destro: Laser arancione",
"THANKS_FOR_INSTALLING": "Grazie per aver installato WayVR!",
"WATCH": "Orologio",
"WORKING_SET": "Set attivo"
},
"DOWNLOAD_AGAIN": "Scarica di nuovo",
"DOWNLOADING_FILE": "Download file in corso...",
"FAILED_TO_LAUNCH_APPLICATION": "Errore nel lancio dell'applicazione:",
"GAME_LAUNCHED": "Gioco avviato",
"GAME_LIST": {
"NO_GAMES_FOUND": "Nessun gioco trovato",
"RUNNING_GAMES_LIST": "Lista giochi in esecuzione"
},
"GAMES": "Giochi",
"GENERAL_SETTINGS": "Impostazioni generali",
"GETTING_STARTED": "Inizia qui",
"HEIGHT": "Altezza",
"HELLO": "Ciao!",
"HELLO_USER": "Ciao, {USER}!",
"HIDE": "Nascondi",
"HOME_SCREEN": "Home",
"MODIFICATION_DATE": "Data modifica",
"MONADO_RUNTIME": "Runtime di Monado",
"LOADING": "Caricamento...",
"POPUP_ADD_DISPLAY": {
"RESOLUTION": "Risoluzione"
},
"PROCESS": {
"FORCE_KILL": "Chiudi forzatamente",
"STOP": "Ferma"
},
"PROCESS_LIST": "Lista processi",
"REFRESH": "Aggiorna",
"REMOVE": "Rimuovi",
"APPLY": "Applica",
"RELOAD_FROM_DISK": "Ricarica dal disco",
"SETTINGS": "Impostazioni",
"SHOW": "Mostra",
"TARGET_PATH": "Percorso di destinazione",
"TERMINATE_PROCESS": "Termina processo",
"VERSION": "Versione",
"WIDTH": "Larghezza",
"PINNED_APPS": "Applicazioni fissate",
"SAVED_TO_FAVOURITES": "Salvato nelle applicazioni fissate",
"ADD_TO_FAVOURITES": "Aggiungi alle applicazioni fissate",
"ADD_TO_FAVOURITES_HINT": "Salva il preset e fissalo al cassetto delle app",
"REMOVE_FROM_FAVOURITES": "Rimuovi dalle app fissate",
"EMPTY": "Vuoto",
"INSTALLED": "Installato",
"NOT_INSTALLED": "Non installato",
"POWER_OPTIONS": {
"TITLE": "Opzioni di alimentazione",
"SHUTDOWN": "Spegni",
"SUSPEND": "Sospendi",
"SHUTDOWN_ARE_YOU_SURE": "Sei sicuro di voler spegnere il computer?",
"NOT_SUPPORTED": "Le opzioni di alimentazione richiedono systemd o elogind.",
"SUSPEND_ARE_YOU_SURE": "Sei sicuro di voler mettere il computer in sospensione?"
},
"YES": "Sì",
"NO": "No"
}
Loaded 100 of 461 files, more files were not shown because too many files have changed in this diff. Show more