Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
94326603b5 | ||
|
|
340397f872 | ||
|
|
48e1818367 | ||
|
|
299b61b240 | ||
|
|
a244c90d05 | ||
|
|
f0a1b82db5 | ||
|
|
b45c68cb59 | ||
|
|
234c4a4021 | ||
|
|
10e54728fa | ||
|
|
e4daef209b | ||
|
|
d318831ecc | ||
|
|
48be76c443 | ||
|
|
9d3546b0c4 | ||
|
|
6163328769 | ||
|
|
e79440d03d | ||
|
|
e0f09d63c2 | ||
|
|
69dbf331c8 | ||
|
|
5079f31c40 | ||
|
|
3c2d0d07f5 | ||
|
|
a50ad00fb0 | ||
|
|
cb3aa42bd9 | ||
|
|
e6c5142476 | ||
|
|
b02cfa446f | ||
|
|
8ad055a483 | ||
|
|
f13562c7dc | ||
|
|
669043035e | ||
|
|
77b5004541 | ||
|
|
1a44b54d98 | ||
|
|
cae2d7c7e2 | ||
|
|
6631c004c9 | ||
|
|
98f800c644 | ||
|
|
3ae01f59d1 | ||
|
|
6fa434af46 | ||
|
|
dcb01fdb6a | ||
|
|
3940e8b4f2 | ||
|
|
97418111fb | ||
|
|
38590d9cfb | ||
|
|
2e07818072 | ||
|
|
5a9133c497 | ||
|
|
84068ca710 | ||
|
|
a7ff06f38a | ||
|
|
7b8fadfaf2 | ||
|
|
eb2786311a | ||
|
|
8e0f27f690 | ||
|
|
e64fb789c7 | ||
|
|
05aac47716 | ||
|
|
ebb912db68 | ||
|
|
75154d8375 | ||
|
|
4c918b0aaf | ||
|
|
5ba7d1fdad | ||
|
|
4eeb0afb0b | ||
|
|
f4523f3ab1 | ||
|
|
c594f6bda3 | ||
|
|
6edf144aee | ||
|
|
b85077b559 | ||
|
|
29c5800a61 | ||
|
|
3cfbafa577 | ||
|
|
05708813be | ||
|
|
4ad6287efc | ||
|
|
98d8a3138d | ||
|
|
7261f7fa1f | ||
|
|
7efc4bb0fc | ||
|
|
395e9d1919 | ||
|
|
deccbda473 | ||
|
|
7ff096c9ab | ||
|
|
6f6f9af983 | ||
|
|
6b22e4aef1 | ||
|
|
707e3a4927 | ||
|
|
0b4c59f1c7 | ||
|
|
d1f2995846 | ||
|
|
2574784ad3 | ||
|
|
239337ae76 | ||
|
|
67877d6a5f | ||
|
|
44b7a2a6ab | ||
|
|
5dffbb9fdb | ||
|
|
c92e27dcf9 | ||
|
|
e40b953e5a | ||
|
|
9b336535f7 | ||
|
|
48da2ca416 | ||
|
|
b4e2fd782c | ||
|
|
0613f94be6 | ||
|
|
b82f781757 | ||
|
|
4e4d552bb6 | ||
|
|
078055dc0f | ||
|
|
d56c181e9d | ||
|
|
6a6264347b | ||
|
|
590980e560 | ||
|
|
ca550f356b | ||
|
|
cf6bfe855e | ||
|
|
43a435aa89 | ||
|
|
2ab3605116 | ||
|
|
bc19afad34 | ||
|
|
e3829fdebf | ||
|
|
f711d9a464 | ||
|
|
302cd14a50 | ||
|
|
58dbb1e1b2 | ||
|
|
73ae2b7274 | ||
|
|
c295bf4f0d | ||
|
|
5c158e0353 | ||
|
|
7f6caca0f8 | ||
|
|
e1fb392297 | ||
|
|
8adff4ca6a | ||
|
|
629de4c8ff | ||
|
|
beae8e82f5 | ||
|
|
a12d1ff8f4 | ||
|
|
447d75acef | ||
|
|
4652f708b0 | ||
|
|
e1879ca891 | ||
|
|
786660a4d5 | ||
|
|
9e43b9b3ad | ||
|
|
7c16748f88 | ||
|
|
a29451ceaa | ||
|
|
d93b74cc8a | ||
|
|
2def8c3a6d | ||
|
|
30d786eaa1 | ||
|
|
779baaf86c | ||
|
|
7c7e7edbfb | ||
|
|
b1e09910a2 | ||
|
|
5407e53700 | ||
|
|
e895a61ea0 | ||
|
|
4ed52f0214 | ||
|
|
fcc84e56b3 | ||
|
|
c74c51f7cd | ||
|
|
acaabead52 | ||
|
|
fd8a327395 | ||
|
|
952b6e10b6 | ||
|
|
245666ab06 | ||
|
|
227e3851bc | ||
|
|
4e9b893304 | ||
|
|
d311813899 | ||
|
|
075a6dd63b | ||
|
|
83b9a1920f | ||
|
|
635cfef63e | ||
|
|
a8262c1de4 | ||
|
|
a3e3101ab0 | ||
|
|
28442ac6a8 | ||
|
|
d6268c0c20 | ||
|
|
5c0ae395a2 | ||
|
|
962ed32452 | ||
|
|
f3438b1867 | ||
|
|
e0ab4be8e3 | ||
|
|
c4655b7b9a | ||
|
|
c32e3ef86e | ||
|
|
2ea3b222f3 | ||
|
|
6f5be3a157 | ||
|
|
db436d4630 | ||
|
|
895e95dcf4 | ||
|
|
0516270dcb | ||
|
|
28a9ed2c27 | ||
|
|
b1fb0d9347 | ||
|
|
031157ea8c | ||
|
|
6a064248dc | ||
|
|
7ab47ada4b | ||
|
|
1febd4ed0d | ||
|
|
f2e2c37108 | ||
|
|
b3e4e37992 | ||
|
|
fb71975019 | ||
|
|
02f1de59b2 | ||
|
|
40430ea94e | ||
|
|
867c343c9b | ||
|
|
2e7a528857 | ||
|
|
0a7f8340d7 | ||
|
|
e79dfcb719 | ||
|
|
cb99676230 | ||
|
|
bc0fad60d5 | ||
|
|
3d2689c931 | ||
|
|
dc58c1a555 | ||
|
|
a4ce23881a | ||
|
|
62c210fc1d | ||
|
|
c3cbc43f6f | ||
|
|
155340b78d | ||
|
|
d7bd243c41 | ||
|
|
3c7e91c28c | ||
|
|
a00f2ab8db | ||
|
|
b83c54334f | ||
|
|
f3dc87fa64 | ||
|
|
9f854d0649 | ||
|
|
000bc3c166 | ||
|
|
1820e2b152 | ||
|
|
a10b20aea9 | ||
|
|
80237d36cd | ||
|
|
cfeef62215 | ||
|
|
730b546e84 | ||
|
|
afdf744e81 | ||
|
|
4f0250671e | ||
|
|
17dcc8e0cb | ||
|
|
3f071a530c | ||
|
|
df1cf668a0 | ||
|
|
4cf84e19f0 | ||
|
|
ab578b8e35 | ||
|
|
5dd7339b61 | ||
|
|
21749e22ed | ||
|
|
4f76a4abfb | ||
|
|
137570f548 | ||
|
|
b2037feacf | ||
|
|
2d820f1d1b | ||
|
|
1f79f231c0 | ||
|
|
88493e3ada | ||
|
|
054d1fd9f4 | ||
|
|
a9c6599d63 | ||
|
|
1cbae4c3ad | ||
|
|
e378749619 | ||
|
|
ea6a6dc6e7 | ||
|
|
c6117d99de | ||
|
|
ac93d3176c | ||
|
|
0abebddffe | ||
|
|
dbda3de755 | ||
|
|
82af4671f0 | ||
|
|
e38dec41be | ||
|
|
7c0c699b9a | ||
|
|
ba29dc5c17 | ||
|
|
6697935ac2 | ||
|
|
b45c8656bc | ||
|
|
8f09a13917 | ||
|
|
ee82b4ab93 | ||
|
|
82a8e801c2 | ||
|
|
074787d18e | ||
|
|
de9805f1e4 | ||
|
|
0e69eec769 | ||
|
|
8b873060b7 | ||
|
|
59bda287ba | ||
|
|
9b3f315ff1 | ||
|
|
f0f3402650 | ||
|
|
052253f7f4 | ||
|
|
c98791aeb7 | ||
|
|
0cea27c066 | ||
|
|
8fa29c0e28 | ||
|
|
e16cc7b077 | ||
|
|
6aba32ae05 | ||
|
|
b8ae840ca4 | ||
|
|
3e6fc12f40 | ||
|
|
1fb2b9ccf2 | ||
|
|
3a6b1a2d00 | ||
|
|
28e164d843 | ||
|
|
3e8b2ace93 | ||
|
|
6f8afea588 | ||
|
|
2979469a5e | ||
|
|
b3594e1afb | ||
|
|
ed5b005ca6 | ||
|
|
8baac0d298 | ||
|
|
6dd624e046 | ||
|
|
dd9838f5ff | ||
|
|
885ee55722 | ||
|
|
37a161c489 | ||
|
|
893df87dec | ||
|
|
d6713176c6 | ||
|
|
6000986d14 | ||
|
|
1b8c800de5 | ||
|
|
21a0504601 | ||
|
|
23f1f32d00 | ||
|
|
e3ecef9a65 | ||
|
|
00a9dd2b2f | ||
|
|
90f8ecafe5 | ||
|
|
3515b15a71 | ||
|
|
77eb7e926e | ||
|
|
60e98810d9 | ||
|
|
334e741d19 | ||
|
|
843240791f | ||
|
|
8e84e93293 | ||
|
|
a54d1a02bb | ||
|
|
341ee333dc | ||
|
|
e032363501 | ||
|
|
5ec1866613 | ||
|
|
6f7bad9bd5 | ||
|
|
a13e393f4c | ||
|
|
0b2c3052f6 | ||
|
|
4fa811d8be | ||
|
|
3fe47baa2e | ||
|
|
ad537c9d92 | ||
|
|
a92b40afad | ||
|
|
61cef3aa79 | ||
|
|
4432c3d50f | ||
|
|
57ae20e67b | ||
|
|
c6bfcf8b17 | ||
|
|
c949b20ba1 | ||
|
|
d40e0cdb00 | ||
|
|
4140534548 | ||
|
|
db960212b6 | ||
|
|
bb43da3b08 | ||
|
|
c3f762a0f3 | ||
|
|
6090be3d9c | ||
|
|
4daff7300f | ||
|
|
ba8dbc9c14 | ||
|
|
3799ae6629 | ||
|
|
2523618522 | ||
|
|
6563bbd7de | ||
|
|
a0c33bc744 | ||
|
|
c77e465343 | ||
|
|
e2e4ff95c0 | ||
|
|
e166d46806 | ||
|
|
169fa0d32a | ||
|
|
741ffee62e | ||
|
|
951dbbd87f | ||
|
|
1742d5f589 | ||
|
|
698ff86c14 | ||
|
|
0d0b5b8633 | ||
|
|
1a11b475ae | ||
|
|
a9986e6b67 | ||
|
|
34bd920f3b | ||
|
|
07b7d89be6 | ||
|
|
e93bbdba7b | ||
|
|
b074983a70 | ||
|
|
3f858e5e2f | ||
|
|
a3b1fdcd0d | ||
|
|
b906bc6656 | ||
|
|
638af5a608 | ||
|
|
ba598ee77f | ||
|
|
374f85ee81 | ||
|
|
5e316fe0d3 | ||
|
|
025c6a0998 | ||
|
|
8a8c41bd9e | ||
|
|
4edc6053ce | ||
|
|
0962f4c015 | ||
|
|
d4a64d6490 | ||
|
|
e7a9df17cf | ||
|
|
65fd75eb4a | ||
|
|
f3bb2e070b | ||
|
|
5014cda64a | ||
|
|
6a24399a9c | ||
|
|
42a7175b7f | ||
|
|
28da0347ae | ||
|
|
da394ec2c7 | ||
|
|
3c8f878ede | ||
|
|
5723c3c1df | ||
|
|
37896620eb | ||
|
|
6dc76c881f | ||
|
|
4b78e39af7 | ||
|
|
7f97dc884f | ||
|
|
9806027e19 | ||
|
|
066f033a91 | ||
|
|
1591466a8d | ||
|
|
901c18520e | ||
|
|
e39085aa2b | ||
|
|
48d58f61d2 | ||
|
|
8691cf99d2 | ||
|
|
80bfb177be | ||
|
|
20743f91eb | ||
|
|
5cf7b986f3 | ||
|
|
3d71746ff2 | ||
|
|
c7b16c5713 | ||
|
|
ed1d708802 | ||
|
|
557a0775c3 | ||
|
|
2309f89701 | ||
|
|
cdd658d4ea | ||
|
|
ec2e0501c1 | ||
|
|
f30c650bba | ||
|
|
45af52ddf9 | ||
|
|
10b14794ed | ||
|
|
6b81f07cc8 | ||
|
|
9734955ebb | ||
|
|
dd3108d423 | ||
|
|
bf7276b2dd | ||
|
|
90c4567505 | ||
|
|
6cddb43b0f | ||
|
|
f3732c7087 | ||
|
|
07bd841bc6 | ||
|
|
9986b71b26 | ||
|
|
16446f7808 | ||
|
|
5615186654 | ||
|
|
244822ffb3 | ||
|
|
266b0fd507 | ||
|
|
0d8937ff80 | ||
|
|
c59e195d94 | ||
|
|
994dffc4fb | ||
|
|
701e41296b | ||
|
|
b0dba25f36 | ||
|
|
1bee41aea9 | ||
|
|
2035d9ba76 | ||
|
|
24e3099b7b | ||
|
|
aee5bf69da | ||
|
|
62881c08b3 | ||
|
|
0c87d47ce6 | ||
|
|
47bb5ab7a2 | ||
|
|
e5e798b599 | ||
|
|
68daa5b3df | ||
|
|
f2dcdcc6c3 | ||
|
|
a3460fbe70 | ||
|
|
7f822b6787 | ||
|
|
1d8b22d992 | ||
|
|
1238808d87 | ||
|
|
26f5be36b6 | ||
|
|
0c1b0906c1 | ||
|
|
5eb258e310 | ||
|
|
bec00c6f48 | ||
|
|
db1675d399 | ||
|
|
18f99b5daf | ||
|
|
543f157895 | ||
|
|
8ad31cfa28 | ||
|
|
80277e0c12 | ||
|
|
0a4fc34fac | ||
|
|
e035fb9d27 | ||
|
|
97fcde1a3b | ||
|
|
c16c403966 | ||
|
|
d5148e2107 | ||
|
|
0f6f344c97 | ||
|
|
41c6f43a3c | ||
|
|
f44c4b78bc | ||
|
|
5420efa4d3 | ||
|
|
89f43b95ef | ||
|
|
00bc179655 | ||
|
|
a4115f5e4b | ||
|
|
6c896bb956 | ||
|
|
d9c8689c18 | ||
|
|
5df6ce93f8 | ||
|
|
ee4bb5ca29 | ||
|
|
b89ae4726c | ||
|
|
b0bbc25083 | ||
|
|
635df298fe | ||
|
|
786847cc2f | ||
|
|
d9f89faf33 | ||
|
|
769978560e | ||
|
|
bebc39e766 | ||
|
|
bb15a4e867 | ||
|
|
84015c7972 | ||
|
|
f2c34fba8f | ||
|
|
1a74eb1507 | ||
|
|
6b3f8a7b42 | ||
|
|
ad78fdab24 | ||
|
|
12ceebec6d | ||
|
|
6f9ca5b3b7 | ||
|
|
c54b211872 | ||
|
|
cb899235b4 | ||
|
|
a83af3d833 | ||
|
|
e8c8a67fc0 | ||
|
|
2b4a0b6a0d | ||
|
|
5ffa5e59bf | ||
|
|
ed8ca1e068 | ||
|
|
f21776b123 | ||
|
|
ab3f873a38 | ||
|
|
de6047107e | ||
|
|
39152b8548 | ||
|
|
b517afc379 | ||
|
|
b84d565b1e | ||
|
|
46f3a54203 | ||
|
|
4afaa6d048 | ||
|
|
26f078d512 | ||
|
|
124d817752 | ||
|
|
2ddb419676 | ||
|
|
841241a7e6 | ||
|
|
c902f0cd44 | ||
|
|
756c42609d | ||
|
|
4fc439abe2 | ||
|
|
9685576272 | ||
|
|
d2f01c06ec | ||
|
|
94c36076af | ||
|
|
a4134030fe | ||
|
|
ebacbf175a | ||
|
|
6c987b4492 | ||
|
|
8acb2236bd | ||
|
|
5dae6f8387 | ||
|
|
5ab242f8e0 | ||
|
|
fcbb5fab73 | ||
|
|
f9a57e58bb | ||
|
|
d713302d0d | ||
|
|
d398e6fb5a | ||
|
|
903a6b351c | ||
|
|
b3e09b330f | ||
|
|
c63089b944 | ||
|
|
ca770c1c05 | ||
|
|
ac65bca05a | ||
|
|
e61fd66210 | ||
|
|
1dc7d4340c | ||
|
|
a22bb2bf1a | ||
|
|
e1c72fa446 | ||
|
|
676a96b2cd | ||
|
|
4821123c73 | ||
|
|
32c8b7ae62 | ||
|
|
d97bbfc796 | ||
|
|
19083cfd83 | ||
|
|
2c60196ead | ||
|
|
b17de39ef0 | ||
|
|
46e54db969 | ||
|
|
554029aacf | ||
|
|
a5146e0396 | ||
|
|
6960652379 | ||
|
|
3ec1dd7f4e | ||
|
|
157c88127f | ||
|
|
18e628f083 | ||
|
|
ab83d44a5e | ||
|
|
fa6492a422 | ||
|
|
160e84120d | ||
|
|
c222c25ddf | ||
|
|
ee8391a45f | ||
|
|
3ac6f70725 | ||
|
|
d23b058d0e | ||
|
|
37fde4c642 | ||
|
|
2ade8c542e | ||
|
|
03a1f449b5 | ||
|
|
7b3a2a1e48 | ||
|
|
dabd122a1d | ||
|
|
0181119393 | ||
|
|
2e1d07abc2 | ||
|
|
fe61319fc2 | ||
|
|
da644c97d3 | ||
|
|
b67914b956 | ||
|
|
e4caa1d6d4 | ||
|
|
ea62be8ad7 | ||
|
|
6ab1db9a76 | ||
|
|
cd0d49eaf6 | ||
|
|
a97ee2cee2 | ||
|
|
9d43068271 | ||
|
|
c7ebb7492e | ||
|
|
c5356724fd | ||
|
|
d02efc2657 | ||
|
|
40cd532134 | ||
|
|
869c0ba5e2 | ||
|
|
fd24060d7b | ||
|
|
1318f23947 | ||
|
|
d2385fd3b2 | ||
|
|
7059a85742 | ||
|
|
2e5dcd62c1 | ||
|
|
72e64ad965 | ||
|
|
0e004e7b3f | ||
|
|
91bc46defe | ||
|
|
b8f266ea6a | ||
|
|
a33d4ec9d0 | ||
|
|
4c3500ea16 | ||
|
|
bc1c993e17 | ||
|
|
3889c9d2ea | ||
|
|
8eda46fb5e | ||
|
|
a0451408aa | ||
|
|
84d4fb7cc2 | ||
|
|
b48320c7bc | ||
|
|
ce5191ddd1 | ||
|
|
37e3ab1bda | ||
|
|
6b98d5f188 | ||
|
|
f059c5668a | ||
|
|
e7fc7be950 | ||
|
|
6136fae885 | ||
|
|
9505352f37 | ||
|
|
07cb0e7ab8 | ||
|
|
285f6db134 | ||
|
|
c7757500b0 | ||
|
|
7f2d62b506 | ||
|
|
7deb2a30db | ||
|
|
df7e9be13d | ||
|
|
1d605888a3 | ||
|
|
1394c143ae | ||
|
|
fcba21ef53 | ||
|
|
9a23fdc541 |
No files matched your search
@@ -0,0 +1 @@
|
||||
open_collective: wayvr-org
|
||||
@@ -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
|
||||
|
||||
-->
|
||||
|
||||
@@ -11,7 +11,7 @@ env:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./wayvr
|
||||
|
||||
@@ -15,7 +15,7 @@ env:
|
||||
|
||||
jobs:
|
||||
build_appimage:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./wayvr
|
||||
@@ -29,6 +29,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
|
||||
|
||||
@@ -11,7 +11,7 @@ env:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./wayvr
|
||||
|
||||
@@ -11,7 +11,7 @@ env:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./wayvr
|
||||
|
||||
@@ -11,7 +11,7 @@ env:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./wayvr
|
||||
|
||||
@@ -11,7 +11,7 @@ env:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./wayvr
|
||||
|
||||
@@ -11,7 +11,7 @@ env:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
runs-on: ubuntu-24.04
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./wayvr
|
||||
|
||||
@@ -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
|
||||
@@ -36,10 +39,9 @@ jobs:
|
||||
cargo build --release
|
||||
- name: Make tarball
|
||||
run: |
|
||||
pip install portage pycargoebuild
|
||||
wget https://github.com/gentoo/gentoo/raw/refs/heads/master/metadata/license-mapping.conf
|
||||
mkdir dist
|
||||
pycargoebuild --distdir dist --license-mapping license-mapping.conf --crate-tarball --crate-tarball-path wayvr-crates.tar.xz
|
||||
cargo vendor > vendor-config.toml
|
||||
mv vendor-config.toml vendor
|
||||
tar --xz -cf vendor.tar.xz vendor
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
uses: actions/create-release@v1
|
||||
@@ -81,12 +83,12 @@ jobs:
|
||||
asset_name: WayVR-${{ github.ref_name }}-x86_64.AppImage
|
||||
asset_content_type: application/octet-stream
|
||||
|
||||
- name: Upload crates tarball
|
||||
- name: Upload vendor tarball
|
||||
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-crates.tar.xz
|
||||
asset_name: WayVR-${{ github.ref_name }}-crates.tar.xz
|
||||
asset_path: ./wayvr/vendor.tar.xz
|
||||
asset_name: vendor.tar.xz
|
||||
asset_content_type: application/x-gtar
|
||||
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
sudo apt install \
|
||||
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,9 +1,11 @@
|
||||
#!/bin/sh
|
||||
|
||||
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-api1 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
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
.~lock.*
|
||||
/target
|
||||
.gdb_history
|
||||
.vscode
|
||||
|
||||
@@ -1,3 +1,63 @@
|
||||
[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"
|
||||
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"] }
|
||||
vulkano = {
|
||||
version = "0.35.2",
|
||||
default-features = false,
|
||||
features = [
|
||||
"macros",
|
||||
]
|
||||
}
|
||||
vulkano-shaders = "0.35.0"
|
||||
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"
|
||||
|
||||
[patch.crates-io]
|
||||
vulkano = {
|
||||
git = "https://github.com/galister/vulkano.git",
|
||||
rev = "cf7f92867928a56ce16b376037c1120f2b167678"
|
||||
}
|
||||
|
||||
[profile.dev]
|
||||
opt-level = 1
|
||||
debug = true
|
||||
@@ -19,39 +79,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" }
|
||||
@@ -0,0 +1,674 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
@@ -1,20 +1,20 @@
|
||||

|
||||

|
||||
|
||||
# WayVR
|
||||
# WayVR (previously WlxOverlay-S)
|
||||
|
||||
A lightweight OpenXR/OpenVR overlay for Wayland and X11 desktops, inspired by XSOverlay.
|
||||
A lightweight OpenXR/OpenVR overlay for Wayland and X11 desktops.
|
||||
|
||||
WayVR lets you to access your desktop screens while in VR.
|
||||
WayVR lets you access your desktop screens while in VR, and even launch apps directly in VR.
|
||||
|
||||
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.
|
||||
|
||||

|
||||

|
||||
|
||||
## Join the Linux VR Community
|
||||
|
||||
We are available on either **Discord** or **Matrix space**:
|
||||
|
||||
[](https://discord.gg/EHAYe3tTYa) [](https://matrix.to/#/#linux-vr-adventures:matrix.org)
|
||||
[](https://discord.gg/EHAYe3tTYa) [](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,14 +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/galister/wlx-overlay-s/releases)
|
||||
1. AUR package: [wlx-overlay-s-git](https://aur.archlinux.org/packages/wlx-overlay-s-git)
|
||||
1. Homebrew:
|
||||
|
||||
- Add AtomicXR tap: `brew tap matrixfurry.com/atomicxr https://tangled.sh/@matrixfurry.com/homebrew-atomicxr`
|
||||
- Install WayVR: `brew install wlx-overlay-s`
|
||||
|
||||
1. [Building from source](https://github.com/galister/wlx-overlay-s/wiki/Building-from-Source).
|
||||
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. [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
|
||||
|
||||
@@ -44,7 +41,7 @@ There are multiple ways to install WayVR:
|
||||
|
||||
For users specifically running **SteamVR via Steam Flatpak**, follow these steps:
|
||||
|
||||
1. Grab the latest AppImage from [Releases](https://github.com/galister/wlx-overlay-s/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.
|
||||
@@ -60,17 +57,16 @@ For users specifically running **SteamVR via Steam Flatpak**, follow these steps
|
||||
In case screens were selected in the wrong order:
|
||||
|
||||
- Go to Settings and press `Clear PipeWire tokens` and then `Restart software`
|
||||
- Pay attention to your notifications, it tells you in which order to pick the screens.
|
||||
- If notifications don't show, try start WayVR from the terminal and look for instructions in there.
|
||||
- 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.
|
||||
|
||||
**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.
|
||||
In order 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 by default or a [customizable background](https://github.com/galister/wlx-overlay-s/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.**
|
||||
|
||||
@@ -78,7 +74,7 @@ This will show a home environment with headset passthrough by default or a [cust
|
||||
|
||||
### Working Set
|
||||
|
||||
The working set consists of all currently selected overlays; screens, mirrors, keyboard, etc.
|
||||
The working set consists of all currently selected overlays: screens, mirrors, keyboard, etc.
|
||||
|
||||
The working set appears in front of the headset when shown, and can be re-centered by hiding and showing again.
|
||||
|
||||
@@ -87,7 +83,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
|
||||
|
||||
@@ -102,25 +100,32 @@ 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 (leftmost button on bottom) to edit your overlay sets.
|
||||
|
||||
While in edit mode, the watch can also be grabbed, and passed between your hands.
|
||||
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 other overlays to see their advanced options!
|
||||
|
||||

|
||||
|
||||
### The screens
|
||||
|
||||
Hovering a pointer over a screen will move the mouse. If there are more than one pointers hovering a screen, the pointer that was last used to click will take precedence.
|
||||
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.
|
||||
|
||||
The click type depends on the laser color:
|
||||
|
||||
@@ -131,42 +136,61 @@ 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 ORANGE laser, all keystrokes will have SHIFT applied.
|
||||
- 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
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
To customize bindings on OpenXR, refer to the [OpenXR Bindings wiki page](https://github.com/galister/wlx-overlay-s/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
|
||||
|
||||
When an error is detected, we often print tips for fixing into the log file.
|
||||
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/galister/wlx-overlay-s/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, it tells you in which order to pick the screens.
|
||||
- If notifications don't show, try start WayVR from the terminal and look for instructions in there.
|
||||
- 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:
|
||||
|
||||
@@ -178,23 +202,16 @@ 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 Steam Link
|
||||
### 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 Steam Link interferes with PipeWire, so consider the following workarounds for the time being:
|
||||
|
||||
- Use another streamer, such as WiVRn or ALVR
|
||||
- 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 un-press 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
|
||||
|
||||
- X11 capture can generally seem slow. This is because zero-copy GPU capture is not supported on the general X11 desktop. Consider trying Wayland.
|
||||
- DPI scaling is not supported and may cause the mouse to not follow the laser properly.
|
||||
- Upright screens are not supported and can cause the mouse to not follow the laser properly.
|
||||
- Screen changes (connecting / disconnecting a display, resolution changes, etc) are not handled at runtime. Restart the overlay for these to take effect.
|
||||
- Screen changes (connecting/disconnecting a display, resolution changes, etc) are not handled at runtime. Restart the overlay for these to take effect.
|
||||
@@ -2,6 +2,10 @@
|
||||
name = "dash-frontend"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
description = "The dashboard frontend for WayVR"
|
||||
license = "GPL-3.0-only"
|
||||
authors = ["galister", "oo8dev"]
|
||||
repository = "https://github.com/wlx-team/wayvr"
|
||||
|
||||
[dependencies]
|
||||
wayvr-ipc = { path = "../wayvr-ipc", default-features = false }
|
||||
@@ -9,22 +13,22 @@ 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
|
||||
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 = []
|
||||
@@ -0,0 +1,674 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU General Public License is a free, copyleft license for
|
||||
software and other kinds of works.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
the GNU General Public License is intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users. We, the Free Software Foundation, use the
|
||||
GNU General Public License for most of our software; it applies also to
|
||||
any other work released this way by its authors. You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to prevent others from denying you
|
||||
these rights or asking you to surrender the rights. Therefore, you have
|
||||
certain responsibilities if you distribute copies of the software, or if
|
||||
you modify it: responsibilities to respect the freedom of others.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must pass on to the recipients the same
|
||||
freedoms that you received. You must make sure that they, too, receive
|
||||
or can get the source code. And you must show them these terms so they
|
||||
know their rights.
|
||||
|
||||
Developers that use the GNU GPL protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License
|
||||
giving you legal permission to copy, distribute and/or modify it.
|
||||
|
||||
For the developers' and authors' protection, the GPL clearly explains
|
||||
that there is no warranty for this free software. For both users' and
|
||||
authors' sake, the GPL requires that modified versions be marked as
|
||||
changed, so that their problems will not be attributed erroneously to
|
||||
authors of previous versions.
|
||||
|
||||
Some devices are designed to deny users access to install or run
|
||||
modified versions of the software inside them, although the manufacturer
|
||||
can do so. This is fundamentally incompatible with the aim of
|
||||
protecting users' freedom to change the software. The systematic
|
||||
pattern of such abuse occurs in the area of products for individuals to
|
||||
use, which is precisely where it is most unacceptable. Therefore, we
|
||||
have designed this version of the GPL to prohibit the practice for those
|
||||
products. If such problems arise substantially in other domains, we
|
||||
stand ready to extend this provision to those domains in future versions
|
||||
of the GPL, as needed to protect the freedom of users.
|
||||
|
||||
Finally, every program is threatened constantly by software patents.
|
||||
States should not allow patents to restrict development and use of
|
||||
software on general-purpose computers, but in those that do, we wish to
|
||||
avoid the special danger that patents applied to a free program could
|
||||
make it effectively proprietary. To prevent this, the GPL assures that
|
||||
patents cannot be used to render the program non-free.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Use with the GNU Affero General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU Affero General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the special requirements of the GNU Affero General Public License,
|
||||
section 13, concerning interaction through a network will apply to the
|
||||
combination as such.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program does terminal interaction, make it output a short
|
||||
notice like this when it starts in an interactive mode:
|
||||
|
||||
<program> Copyright (C) <year> <name of author>
|
||||
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, your program's commands
|
||||
might be different; for a GUI interface, you would use an "about box".
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU GPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
|
||||
The GNU General Public License does not permit incorporating your program
|
||||
into proprietary programs. If your program is a subroutine library, you
|
||||
may consider it more useful to permit linking proprietary applications with
|
||||
the library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License. But first, please read
|
||||
<https://www.gnu.org/licenses/why-not-lgpl.html>.
|
||||
@@ -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="m10 18l-6-6l6-6l1.4 1.45L7.85 11H20v2H7.85l3.55 3.55z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 294 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="m14 18l-1.4-1.45L16.15 13H4v-2h12.15L12.6 7.45L14 6l6 6z" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 297 B |
|
After Width: | Height: | Size: 6.7 KiB |
|
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 |
|
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 |
@@ -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 |
|
After Width: | Height: | Size: 22 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="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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
@@ -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 |
|
After Width: | Height: | Size: 25 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="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 |
@@ -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 |
|
After Width: | Height: | Size: 22 KiB |
@@ -1,110 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
width="30"
|
||||
height="30"
|
||||
viewBox="0 0 7.9375004 7.9375004"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||
sodipodi:docname="dashboard_logo.svg"
|
||||
inkscape:export-filename="dashboard_logo.png"
|
||||
inkscape:export-xdpi="409.60001"
|
||||
inkscape:export-ydpi="409.60001"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
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="true"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="11.8125"
|
||||
inkscape:cy="16.78125"
|
||||
inkscape:window-width="1836"
|
||||
inkscape:window-height="1185"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
showguides="false">
|
||||
<inkscape:grid
|
||||
id="grid2"
|
||||
units="mm"
|
||||
originx="0"
|
||||
originy="0"
|
||||
spacingx="0.26458333"
|
||||
spacingy="0.26458333"
|
||||
empcolor="#0099e5"
|
||||
empopacity="0.30196078"
|
||||
color="#0099e5"
|
||||
opacity="0.14901961"
|
||||
empspacing="5"
|
||||
enabled="true"
|
||||
visible="true" />
|
||||
</sodipodi:namedview>
|
||||
<defs
|
||||
id="defs1">
|
||||
<linearGradient
|
||||
id="linearGradient1"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
style="stop-color:#ad70ff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop1" />
|
||||
<stop
|
||||
style="stop-color:#00ffff;stop-opacity:1;"
|
||||
offset="0.99844205"
|
||||
id="stop2" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient1"
|
||||
id="linearGradient2"
|
||||
x1="0"
|
||||
y1="8.4666653"
|
||||
x2="8.4664993"
|
||||
y2="0"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="scale(0.93751843,0.93750002)" />
|
||||
</defs>
|
||||
<g
|
||||
inkscape:label="back"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
style="font-variation-settings:'wght' 700;fill:url(#linearGradient2);stroke-width:0.468754;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="rect1"
|
||||
width="7.9380002"
|
||||
height="7.9375"
|
||||
x="0"
|
||||
y="0"
|
||||
rx="1.5874999"
|
||||
ry="1.5874999" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 1.5874998,3.7041664 v 1.3229167 h 1.3229166 v 1.3229165 l 1.3229165,-1e-7"
|
||||
id="path3"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:1.05833;stroke-linecap:butt;stroke-linejoin:miter;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="M 1.5874998,2.6458332 V 1.5875 c 3.1749997,-2e-7 4.7624995,1.5874997 4.7624995,4.7624995 H 5.2916661"
|
||||
id="path4"
|
||||
sodipodi:nodetypes="cccc" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:groupmode="layer"
|
||||
id="layer2"
|
||||
inkscape:label="front"
|
||||
style="stroke-width:2.11667;stroke-dasharray:none" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 3.4 KiB |
@@ -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 |
@@ -1,11 +1,10 @@
|
||||
<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>
|
||||
|
||||
<template name="SideButton">
|
||||
<Button
|
||||
@@ -13,10 +12,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}"
|
||||
>
|
||||
@@ -25,13 +22,6 @@
|
||||
</template>
|
||||
|
||||
<elements>
|
||||
<div position="absolute" width="100%" justify_content="space_between">
|
||||
<div />
|
||||
<div padding="6">
|
||||
<Button id="btn_close" sprite_src_builtin="dashboard/close.svg" color="#000000" border="2" border_color="~color_faded" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- left/right separator (menu and rest) -->
|
||||
<div flex_direction="row" gap="8" width="100%" height="100%" padding="4" interactable="0">
|
||||
<!-- LEFT MENU -->
|
||||
@@ -45,63 +35,74 @@
|
||||
<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" />
|
||||
<!-- SideButton id="btn_side_processes" src_builtin="dashboard/window.svg" tooltip="PROCESSES" 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 -->
|
||||
<!-- content/bottom panel separator -->
|
||||
<!-- top/content/bottom panel separator -->
|
||||
<div
|
||||
flex_direction="column"
|
||||
gap="8"
|
||||
width="100%"
|
||||
height="100%"
|
||||
overflow_x="scroll">
|
||||
<!-- CONTENT -->
|
||||
<!-- TOP PANEL -->
|
||||
<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="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="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>
|
||||
|
||||
<!-- CONTENT -->
|
||||
<!-- 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_top="8"
|
||||
padding_bottom="8"
|
||||
padding_left="16"
|
||||
padding_right="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 -->
|
||||
@@ -116,36 +117,36 @@
|
||||
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_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="#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_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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -1,15 +1,14 @@
|
||||
<layout>
|
||||
<include src="t_tab_title.xml" />
|
||||
<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" />
|
||||
@@ -18,35 +17,42 @@
|
||||
</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>
|
||||
|
||||
<elements>
|
||||
<TabTitle translation="APPLICATIONS" icon="dashboard/apps.svg" />
|
||||
<!-- placeholders for now -->
|
||||
<!--
|
||||
<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>
|
||||
@@ -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>
|
||||
@@ -1,8 +1,6 @@
|
||||
<layout>
|
||||
<include src="t_tab_title.xml" />
|
||||
|
||||
<layout version="2">
|
||||
<elements>
|
||||
<TabTitle translation="GAMES" icon="dashboard/games.svg" />
|
||||
<div id="game_list_parent" align_items="center" />
|
||||
<div id="running_games_list_parent" align_self="center" />
|
||||
<div id="game_list_parent" align_items="center" flex_direction="column" gap="8" />
|
||||
</elements>
|
||||
</layout>
|
||||
</layout>
|
||||
@@ -1,5 +1,5 @@
|
||||
<layout>
|
||||
<include src="../t_menu_button.xml" />
|
||||
<layout version="2">
|
||||
<include src="@/gui/t_menu_button.xml" />
|
||||
|
||||
<elements>
|
||||
<div
|
||||
@@ -7,17 +7,43 @@
|
||||
justify_content="center"
|
||||
align_items="center"
|
||||
flex_grow="1"
|
||||
gap="24">
|
||||
<sprite src_builtin="dashboard/wayvr_dashboard.svg" 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_processes" icon="dashboard/window.svg" translation="PROCESSES" /-->
|
||||
<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">
|
||||
<Button id="btn_welcome_screen" macro="home_button" tooltip="APP_SETTINGS.SHOW_WELCOME_SCREEN">
|
||||
<sprite src_builtin="@/dashboard/welcome.svg" width="32" height="32" margin="16" />
|
||||
</Button>
|
||||
|
||||
<Button id="btn_website" macro="home_button" tooltip_str="wayvr.org">
|
||||
<sprite src_builtin="@/dashboard/globe.svg" width="32" height="32" margin="16" />
|
||||
</Button>
|
||||
|
||||
<Button id="btn_donate" macro="home_button" tooltip="DONATE.SUPPORT_US">
|
||||
<sprite src_builtin="@/dashboard/opencollective.svg" width="32" height="32" margin="16" />
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</elements>
|
||||
|
||||
@@ -1,40 +1,14 @@
|
||||
<layout>
|
||||
<include src="t_tab_title.xml" />
|
||||
<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>
|
||||
<TabTitle translation="MONADO_RUNTIME" icon="dashboard/monado.svg" />
|
||||
<label translation="DISPLAY_BRIGHTNESS" />
|
||||
<Slider id="slider_brightness" width="300" height="24" min_value="0" max_value="140" />
|
||||
|
||||
<label translation="LIST_OF_PROCESSES" />
|
||||
<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>
|
||||
@@ -1,10 +0,0 @@
|
||||
<layout>
|
||||
<include src="t_tab_title.xml" />
|
||||
|
||||
<elements>
|
||||
<TabTitle translation="LIST_OF_WINDOWS" icon="dashboard/window.svg" />
|
||||
<div id="window_list_parent" />
|
||||
<TabTitle translation="LIST_OF_PROCESSES" icon="dashboard/cpu.svg" />
|
||||
<div id="process_list_parent" />
|
||||
</elements>
|
||||
</layout>
|
||||
@@ -1,7 +1,6 @@
|
||||
<layout>
|
||||
<include src="t_tab_title.xml" />
|
||||
<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">
|
||||
@@ -14,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">
|
||||
@@ -27,8 +31,22 @@
|
||||
<RadioBox text="${text}" translation="${translation}" value="${value}" tooltip="${tooltip}" />
|
||||
</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>
|
||||
@@ -36,17 +54,34 @@
|
||||
|
||||
<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"/>
|
||||
<div padding_left="8">
|
||||
<label align="left" text="${text}" weight="bold" overflow="hidden" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<macro name="tab_style" color="background" />
|
||||
|
||||
<elements>
|
||||
<TabTitle translation="SETTINGS" icon="dashboard/settings.svg" />
|
||||
<div flex_wrap="wrap" justify_content="stretch" gap="4" id="settings_root" />
|
||||
<div gap="4">
|
||||
<Tabs id="tabs">
|
||||
<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="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%">
|
||||
<!-- filled-in at runtime -->
|
||||
</div>
|
||||
</div>
|
||||
</elements>
|
||||
</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>
|
||||
@@ -1,9 +0,0 @@
|
||||
<layout>
|
||||
<!-- translation, icon -->
|
||||
<template name="TabTitle">
|
||||
<div gap="8" align_items="center">
|
||||
<sprite src_builtin="${icon}" width="24" height="24" />
|
||||
<label translation="${translation}" size="18" weight="bold" />
|
||||
</div>
|
||||
</template>
|
||||
</layout>
|
||||
@@ -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>
|
||||
@@ -1,7 +0,0 @@
|
||||
<layout>
|
||||
<theme>
|
||||
<var key="color_menu_dark" value="#0A0A0ACC" />
|
||||
<var key="color_accent" value="#008cff" />
|
||||
<var key="color_bottom_panel" value="#141e28" />
|
||||
</theme>
|
||||
</layout>
|
||||
@@ -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,32 +28,33 @@
|
||||
<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="16:9" checked="1" />
|
||||
<RadioBox translation="APP_LAUNCHER.ASPECT.SEMI_WIDE" value="SemiWide" tooltip="3:2" />
|
||||
<RadioBox translation="APP_LAUNCHER.ASPECT.SQUARE" value="Square" tooltip="1:1" />
|
||||
<RadioBox translation="APP_LAUNCHER.ASPECT.SEMI_TALL" value="SemiTall" tooltip="2:3" />
|
||||
<RadioBox translation="APP_LAUNCHER.ASPECT.TALL" value="Tall" tooltip="9:16" />
|
||||
<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="APP_LAUNCHER.POS.FLOATING_HELP" />
|
||||
<RadioBox translation="APP_LAUNCHER.POS.ANCHORED" value="Anchored" tooltip="APP_LAUNCHER.POS.ANCHORED_HELP" checked="1" />
|
||||
<RadioBox translation="APP_LAUNCHER.POS.STATIC" value="Static" tooltip="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>
|
||||
|
||||
@@ -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="16" height="16" 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" />
|
||||
<Button sprite_src_builtin="${volume_icon}" id="btn_mute" width="32" />
|
||||
<Slider id="slider" flex_grow="1" height="16" min_value="0" max_value="150" margin_left="8" />
|
||||
</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,28 +41,40 @@
|
||||
flex_grow="1"
|
||||
id="${id}"
|
||||
translation="${translation}"
|
||||
sprite_src="${src}">
|
||||
sprite_src_builtin="${src}">
|
||||
</Button>
|
||||
</template>
|
||||
|
||||
<elements>
|
||||
<div id="devices" flex_direction="column" gap="4">
|
||||
<div flex_direction="column" gap="4">
|
||||
<!--
|
||||
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>
|
||||
</div>
|
||||
|
||||
<!-- bottom buttons -->
|
||||
<div flex_direction="row" gap="4">
|
||||
<Button
|
||||
id="btn_auto"
|
||||
sprite_src_builtin="dashboard/magic_wand.svg"
|
||||
min_width="32"
|
||||
tooltip="AUDIO.AUTO_SWITCH_TO_VR_AUDIO"
|
||||
color="~color_accent"
|
||||
tooltip_side="right" />
|
||||
<!-- bottom buttons -->
|
||||
<div flex_direction="row" gap="4">
|
||||
<Button
|
||||
id="btn_auto"
|
||||
sprite_src_builtin="@/dashboard/magic_wand.svg"
|
||||
min_width="32"
|
||||
tooltip="AUDIO.AUTO_SWITCH_TO_VR_AUDIO"
|
||||
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,15 @@
|
||||
<layout version="2">
|
||||
<template name="DialogBoxButton">
|
||||
<Button id="btn" translation="CLOSE_WINDOW" align_self="start" sprite_src_builtin="${icon}"/>
|
||||
</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>
|
||||
@@ -1,7 +1,12 @@
|
||||
<layout>
|
||||
<include src="../t_group_box.xml" />
|
||||
|
||||
<layout version="2">
|
||||
<elements>
|
||||
<div id="list_parent" gap="8" flex_direction="row" flex_wrap="wrap" justify_content="center" />
|
||||
<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" />
|
||||
<label id="label_page" text="Page X" weight="bold" />
|
||||
<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>
|
||||
@@ -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>
|
||||
@@ -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="column" flex_wrap="wrap" flex_grow="1" />
|
||||
</rectangle>
|
||||
</elements>
|
||||
</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>
|
||||
@@ -0,0 +1,20 @@
|
||||
<layout version="2">
|
||||
<include src="@/gui/t_group_box.xml" />
|
||||
|
||||
<template name="RunningGameCell">
|
||||
<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" />
|
||||
</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" />
|
||||
<label translation="GAME_LIST.RUNNING_GAMES_LIST" />
|
||||
</div>
|
||||
<div id="list_parent" gap="8" />
|
||||
</elements>
|
||||
</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"/>
|
||||
</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>
|
||||
@@ -1,153 +1,353 @@
|
||||
{
|
||||
"HOME_SCREEN": "Startbildschirm",
|
||||
"MONADO_RUNTIME": "Monado-Laufzeitumgebung",
|
||||
"APPLICATIONS": "Anwendungen",
|
||||
"GAMES": "Spiele",
|
||||
"SETTINGS": "Einstellungen",
|
||||
"PROCESSES": "Prozesse",
|
||||
"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"
|
||||
},
|
||||
"AUTOSTART_APPS": "Anwendungen, die beim Start ausgeführt werden sollen"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"LIST_OF_PROCESSES": "Prozessliste",
|
||||
"POPUP_ADD_DISPLAY": {
|
||||
"RESOLUTION": "Auflösung"
|
||||
},
|
||||
"WIDTH": "Breite",
|
||||
"HEIGHT": "Höhe",
|
||||
"HIDE": "Verbergen",
|
||||
"REMOVE": "Entfernen",
|
||||
"SHOW": "Anzeigen",
|
||||
"PROCESS_LIST": {
|
||||
"NO_PROCESSES_FOUND": "Keine Prozesse gefunden",
|
||||
"LOCATED_ON": "auf",
|
||||
"TERMINATE_PROCESS_NAMED_X": "Prozess \"{PROCESS_NAME}\" beenden"
|
||||
},
|
||||
"FAILED_TO_LAUNCH_APPLICATION": "Fehler beim Starten der Anwendung:",
|
||||
"NO_WINDOWS_FOUND": "Keine Fenster gefunden",
|
||||
"WINDOW_OPTIONS": "Fensteroptionen",
|
||||
"APPLICATION_STARTED": "Anwendung gestartet",
|
||||
"LIST_OF_WINDOWS": "Fensterliste",
|
||||
"CLOSE_WINDOW": "Fenster schließen",
|
||||
"GAME_LIST": {
|
||||
"NO_GAMES_FOUND": "Keine Spiele gefunden"
|
||||
},
|
||||
"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"
|
||||
"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"
|
||||
},
|
||||
"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.",
|
||||
"RESTART_SOFTWARE": "Software neu starten",
|
||||
"RESTART_SOFTWARE_HELP": "Einstellungen übernehmen, die einen Neustart erfordern",
|
||||
"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",
|
||||
"SHOW_WELCOME_SCREEN": "Willkommensbildschirm anzeigen",
|
||||
"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)"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
||||
@@ -0,0 +1,343 @@
|
||||
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.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.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.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_SOFTWARE,Restart software,Button in Settings > Troubleshooting tab. Restarts the WayVR software to apply settings that require a restart.
|
||||
APP_SETTINGS.RESTART_SOFTWARE_HELP,Apply settings that require a restart,Tooltip for the Restart software button.
|
||||
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.SHOW_WELCOME_SCREEN,Show welcome screen,Checkbox in Settings > Features tab. Controls whether the welcome/tutorial screen is shown on first launch.
|
||||
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.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.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.
|
||||
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.
|
||||
|
@@ -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,26 +34,83 @@
|
||||
"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": {
|
||||
"ALLOW_SLIDING": "Stick interaction during grab",
|
||||
"ANIMATION_SPEED": "UI Animation speed",
|
||||
"AUTOSTART_APPS": "Apps to run on startup",
|
||||
"BLOCK_GAME_INPUT": "Block game input",
|
||||
"BLOCK_GAME_INPUT_HELP": "Blocks all input when an overlay is hovered",
|
||||
"BLOCK_GAME_INPUT_IGNORE_WATCH": "Ignore watch when blocking input",
|
||||
"BLOCK_GAME_INPUT_IGNORE_WATCH_HELP": "Do not block input when watch is hovered",
|
||||
"CAPTURE_METHOD": "Wayland screen capture",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
@@ -49,15 +123,34 @@
|
||||
"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.",
|
||||
"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",
|
||||
@@ -65,39 +158,96 @@
|
||||
"MISC": "Miscellaneous",
|
||||
"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",
|
||||
"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.",
|
||||
"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_SOFTWARE": "Restart software",
|
||||
"RESTART_SOFTWARE_HELP": "Apply settings that require a restart",
|
||||
"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",
|
||||
"SHOW_WELCOME_SCREEN": "Show welcome screen",
|
||||
"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",
|
||||
"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.",
|
||||
"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",
|
||||
"AUTOSTART_APPS": "Apps to run on startup"
|
||||
"SAVE": "Save",
|
||||
"CANCEL": "Cancel"
|
||||
},
|
||||
"APPLICATION_LAUNCHER": "Application launcher",
|
||||
"APPLICATION_STARTED": "Application started",
|
||||
@@ -117,36 +267,87 @@
|
||||
"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": {
|
||||
"NO_GAMES_FOUND": "No games found"
|
||||
"NO_GAMES_FOUND": "No games found",
|
||||
"RUNNING_GAMES_LIST": "List of running games"
|
||||
},
|
||||
"GAMES": "Games",
|
||||
"GENERAL_SETTINGS": "General settings",
|
||||
"GETTING_STARTED": "Getting started",
|
||||
"HEIGHT": "Height",
|
||||
"HELLO": "Hello!",
|
||||
"HELLO_USER": "Hello, {USER}!",
|
||||
"HIDE": "Hide",
|
||||
"HOME_SCREEN": "Home",
|
||||
"LIST_OF_PROCESSES": "Process list",
|
||||
"LIST_OF_WINDOWS": "Window list",
|
||||
"MODIFICATION_DATE": "Modification date",
|
||||
"MONADO_RUNTIME": "Monado runtime",
|
||||
"NO_WINDOWS_FOUND": "No windows found",
|
||||
"LOADING": "Loading...",
|
||||
"POPUP_ADD_DISPLAY": {
|
||||
"RESOLUTION": "Resolution"
|
||||
},
|
||||
"PROCESS_LIST": {
|
||||
"LOCATED_ON": "on",
|
||||
"NO_PROCESSES_FOUND": "No processes found",
|
||||
"TERMINATE_PROCESS_NAMED_X": "Terminate process \"{PROCESS_NAME}\""
|
||||
"PROCESS": {
|
||||
"FORCE_KILL": "Force-kill",
|
||||
"STOP": "Stop"
|
||||
},
|
||||
"PROCESSES": "Processes",
|
||||
"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",
|
||||
"VERSION": "Version",
|
||||
"WIDTH": "Width",
|
||||
"WINDOW_OPTIONS": "Window options"
|
||||
}
|
||||
"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"
|
||||
}
|
||||
@@ -1,153 +1,353 @@
|
||||
{
|
||||
"HOME_SCREEN": "Inicio",
|
||||
"MONADO_RUNTIME": "Monado tiempo de ejecución",
|
||||
"APPLICATIONS": "Aplicaciones",
|
||||
"GAMES": "Juegos",
|
||||
"SETTINGS": "Ajustes",
|
||||
"PROCESSES": "Procesos",
|
||||
"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"
|
||||
},
|
||||
"AUTOSTART_APPS": "Aplicaciones a ejecutar al inicio"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"LIST_OF_PROCESSES": "Lista de procesos",
|
||||
"POPUP_ADD_DISPLAY": {
|
||||
"RESOLUTION": "Resolución"
|
||||
},
|
||||
"WIDTH": "Ancho",
|
||||
"HEIGHT": "Altura",
|
||||
"HIDE": "Ocultar",
|
||||
"REMOVE": "Eliminar",
|
||||
"SHOW": "Mostrar",
|
||||
"PROCESS_LIST": {
|
||||
"NO_PROCESSES_FOUND": "No se encontraron procesos",
|
||||
"LOCATED_ON": "en",
|
||||
"TERMINATE_PROCESS_NAMED_X": "Terminar proceso \"{PROCESS_NAME}\""
|
||||
},
|
||||
"FAILED_TO_LAUNCH_APPLICATION": "No se pudo iniciar la aplicación:",
|
||||
"NO_WINDOWS_FOUND": "No se encontraron ventanas",
|
||||
"WINDOW_OPTIONS": "Opciones de ventana",
|
||||
"APPLICATION_STARTED": "Aplicación iniciada",
|
||||
"LIST_OF_WINDOWS": "Lista de ventanas",
|
||||
"CLOSE_WINDOW": "Cerrar ventana",
|
||||
"GAME_LIST": {
|
||||
"NO_GAMES_FOUND": "No se encontraron juegos"
|
||||
},
|
||||
"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"
|
||||
"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"
|
||||
},
|
||||
"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.",
|
||||
"RESTART_SOFTWARE": "Reiniciar software",
|
||||
"RESTART_SOFTWARE_HELP": "Aplicar ajustes que requieren reiniciar",
|
||||
"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",
|
||||
"SHOW_WELCOME_SCREEN": "Mostrar pantalla de bienvenida",
|
||||
"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)"
|
||||
},
|
||||
"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"
|
||||
},
|
||||
"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"
|
||||
}
|
||||