Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
db777d7937 | ||
|
|
f94c0c4ace | ||
|
|
5f4c97794c | ||
|
|
d9288a877c | ||
|
|
dff4b0067a | ||
|
|
adf852971f | ||
|
|
074d2de7aa | ||
|
|
e8d9a35714 | ||
|
|
36f9fab5c6 | ||
|
|
058792fc8e | ||
|
|
ef934e0b02 | ||
|
|
c42e992a62 | ||
|
|
41d7a0b3d2 | ||
|
|
471e4be946 | ||
|
|
26afa57fe3 | ||
|
|
d120617abe | ||
|
|
351b24533c | ||
|
|
09ed96542f | ||
|
|
9b89622ff9 | ||
|
|
346c6391ef | ||
|
|
e850c2c8b6 | ||
|
|
5360697828 | ||
|
|
3a869e3c35 | ||
|
|
b3ac55474f | ||
|
|
a4986a3d9f | ||
|
|
f3f7d97ed6 | ||
|
|
10857739a4 | ||
|
|
42e9deb54c | ||
|
|
d6515b3c2a | ||
|
|
a101c79892 | ||
|
|
82565e975f | ||
|
|
959f66b271 | ||
|
|
745728d90d | ||
|
|
68944184de | ||
|
|
4590371a4c | ||
|
|
d1255e5f71 | ||
|
|
537f2f5397 | ||
|
|
77730432b1 | ||
|
|
fd3e9069e4 | ||
|
|
2226d95834 | ||
|
|
a0d36d7257 | ||
|
|
38382275ec | ||
|
|
5517c3a809 | ||
|
|
f0d96802ba | ||
|
|
3f43003a0b | ||
|
|
28842d6d69 | ||
|
|
573bd5da53 | ||
|
|
da3b19a495 | ||
|
|
ad0d1aa8a2 | ||
|
|
b85976bdf0 | ||
|
|
2ea97e88bb | ||
|
|
b7b93131c9 | ||
|
|
e7c07c7789 | ||
|
|
0a158c102c | ||
|
|
11a5c8305b | ||
|
|
d5f0306aab | ||
|
|
6d6e7033ac | ||
|
|
16bc4383b5 | ||
|
|
0e6526836e | ||
|
|
2e8d1589f5 | ||
|
|
54713b95f4 | ||
|
|
6f761a99dc | ||
|
|
c87bcee358 | ||
|
|
0eab390702 | ||
|
|
9dcdf852c7 | ||
|
|
b3261dbe4f | ||
|
|
329a89ca08 | ||
|
|
c284162068 | ||
|
|
f2beabd39a | ||
|
|
126120e52e | ||
|
|
e986c3591e | ||
|
|
a0f096b9dc | ||
|
|
7b95f01ff4 | ||
|
|
d9cc73be8b | ||
|
|
548ea36a84 | ||
|
|
d4a5d4c81f | ||
|
|
443bc01361 | ||
|
|
9b9d1b9f8a | ||
|
|
40811f219e | ||
|
|
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 |
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
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
name: Build AppImage
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- 'main'
|
||||
@@ -12,10 +13,17 @@ env:
|
||||
CARGO_TERM_COLOR: always
|
||||
SCCACHE_GHA_ENABLED: "true"
|
||||
RUSTC_WRAPPER: "sccache"
|
||||
|
||||
|
||||
jobs:
|
||||
build_appimage:
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- runner: ubuntu-24.04
|
||||
arch: x86_64
|
||||
- runner: ubuntu-24.04-arm
|
||||
arch: aarch64
|
||||
runs-on: ${{ matrix.runner }}
|
||||
defaults:
|
||||
run:
|
||||
working-directory: ./wayvr
|
||||
@@ -29,11 +37,19 @@ jobs:
|
||||
- name: Cargo Build
|
||||
run: |
|
||||
../.github/workflows/scripts/appimage_build_wlx.sh
|
||||
- name: Build xwayland-satellite
|
||||
run: |
|
||||
../.github/workflows/scripts/appimage_build_satellite.sh
|
||||
- name: Package AppImage
|
||||
run: |
|
||||
../.github/workflows/scripts/appimage_package.sh
|
||||
- name: Upload AppImage
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: WayVR-${{ github.ref_name }}-x86_64.AppImage
|
||||
path: ./wayvr/WayVR-x86_64.AppImage
|
||||
name: WayVR-${{ github.ref_name }}-${{ matrix.arch }}.AppImage
|
||||
path: ./wayvr/WayVR-${{ matrix.arch }}.AppImage
|
||||
- name: Upload AppImage zsync
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: WayVR-${{ github.ref_name }}-${{ matrix.arch }}.AppImage.zsync
|
||||
path: ./wayvr/WayVR-${{ matrix.arch }}.AppImage.zsync
|
||||
@@ -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,22 @@ jobs:
|
||||
asset_name: WayVR-${{ github.ref_name }}-x86_64.AppImage
|
||||
asset_content_type: application/octet-stream
|
||||
|
||||
- name: Upload crates tarball
|
||||
- name: Upload AppImage zsync
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.RELEASE_KEY }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./wayvr/wayvr-crates.tar.xz
|
||||
asset_name: WayVR-${{ github.ref_name }}-crates.tar.xz
|
||||
asset_path: ./wayvr/WayVR-x86_64.AppImage.zsync
|
||||
asset_name: WayVR-${{ github.ref_name }}-x86_64.AppImage.zsync
|
||||
asset_content_type: application/octet-stream
|
||||
|
||||
- name: Upload vendor tarball
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.RELEASE_KEY }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./wayvr/vendor.tar.xz
|
||||
asset_name: vendor.tar.xz
|
||||
asset_content_type: application/x-gtar
|
||||
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
sudo apt-get install -y \
|
||||
xwayland \
|
||||
libxcb1-dev \
|
||||
libxcb-cursor-dev \
|
||||
clang \
|
||||
pkg-config
|
||||
|
||||
git clone https://github.com/Supreeeme/xwayland-satellite.git
|
||||
cd xwayland-satellite
|
||||
|
||||
cargo build --release
|
||||
chmod +x target/release/xwayland-satellite
|
||||
cd ..
|
||||
|
||||
cp xwayland-satellite/target/release/xwayland-satellite "${APPDIR}/usr/bin"
|
||||
@@ -1,4 +1,6 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
cargo build --release
|
||||
chmod +x ../target/release/wayvr
|
||||
cp ../target/release/wayvr ${APPDIR}/usr/bin
|
||||
cp ../target/release/wayvr "${APPDIR}/usr/bin"
|
||||
@@ -1,4 +1,35 @@
|
||||
#!/bin/sh
|
||||
export VERSION=$GITHUB_REF_NAME
|
||||
./linuxdeploy-x86_64.AppImage -dwayvr.desktop -iwayvr.png --appdir=${APPDIR} --output appimage --exclude-library '*libpipewire*'
|
||||
mv WayVR-$VERSION-x86_64.AppImage WayVR-x86_64.AppImage
|
||||
set -eu
|
||||
|
||||
case "$(uname -m)" in
|
||||
x86_64|amd64)
|
||||
APPIMAGE_ARCH=x86_64
|
||||
;;
|
||||
aarch64|arm64)
|
||||
APPIMAGE_ARCH=aarch64
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported architecture: $(uname -m)" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
LINUXDEPLOY="linuxdeploy-${APPIMAGE_ARCH}.AppImage"
|
||||
VERSION="${GITHUB_REF_NAME:-dev}"
|
||||
export VERSION
|
||||
export LDAI_UPDATE_INFORMATION="gh-releases-zsync|wayvr-org|wayvr|latest|WayVR-*-${APPIMAGE_ARCH}.AppImage.zsync"
|
||||
|
||||
echo "Packaging AppImage for ${APPIMAGE_ARCH}"
|
||||
|
||||
# linuxdeploy doesn't like multiple -d's being passed
|
||||
install -Dm 0644 wayvr-headless.desktop "${APPDIR}/usr/share/applications/wayvr-headless.desktop"
|
||||
|
||||
"./${LINUXDEPLOY}" \
|
||||
-dwayvr.desktop \
|
||||
-iwayvr.png \
|
||||
--appdir="${APPDIR}" \
|
||||
--output appimage \
|
||||
--exclude-library '*libpipewire*'
|
||||
|
||||
mv "WayVR-${VERSION}-${APPIMAGE_ARCH}.AppImage" "WayVR-${APPIMAGE_ARCH}.AppImage"
|
||||
mv "WayVR-${VERSION}-${APPIMAGE_ARCH}.AppImage.zsync" "WayVR-${APPIMAGE_ARCH}.AppImage.zsync"
|
||||
@@ -1,15 +1,39 @@
|
||||
#!/bin/sh
|
||||
set -eu
|
||||
|
||||
case "$(uname -m)" in
|
||||
x86_64|amd64)
|
||||
APPIMAGE_ARCH=x86_64
|
||||
;;
|
||||
aarch64|arm64)
|
||||
APPIMAGE_ARCH=aarch64
|
||||
;;
|
||||
*)
|
||||
echo "Unsupported architecture: $(uname -m)" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
LINUXDEPLOY="linuxdeploy-${APPIMAGE_ARCH}.AppImage"
|
||||
|
||||
echo "Preparing AppImage environment for ${APPIMAGE_ARCH}"
|
||||
|
||||
sudo add-apt-repository -syn universe
|
||||
sudo add-apt-repository -syn ppa:pipewire-debian/pipewire-upstream || sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 25088A0359807596
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y fuse cmake pkg-config fontconfig libasound2-dev libxkbcommon-dev libxkbcommon-x11-0 libxkbcommon-x11-dev libopenxr-dev libfontconfig-dev libdbus-1-dev libpipewire-0.3-0 libpipewire-0.3-dev libspa-0.2-dev libx11-6 libxext6 libxrandr2 libx11-dev libxext-dev libxrandr-dev libopenvr-dev libopenvr-api1 libwayland-dev libegl-dev libxcb-glx0 libxcb-glx0-dev
|
||||
sudo apt-get install -y fuse cmake pkg-config fontconfig libasound2-dev libxkbcommon-dev libxkbcommon-x11-0 libxkbcommon-x11-dev \
|
||||
libopenxr-dev libfontconfig-dev libdbus-1-dev libpipewire-0.3-0 libpipewire-0.3-dev libspa-0.2-dev libx11-6 libxext6 libxrandr2 \
|
||||
libx11-dev libxext-dev libxrandr-dev libopenvr-dev libopenvr-api1t64 libwayland-dev libegl-dev libxcb-glx0 libxcb-glx0-dev \
|
||||
dav1d libdav1d-dev libvulkan-dev glslc vulkan-tools libudev-dev libudev1 libinput-dev libinput10
|
||||
|
||||
rustup update
|
||||
|
||||
if [ "$APPDIR" != "" ]; then
|
||||
test -f linuxdeploy-x86_64.AppImage || wget -q "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
|
||||
chmod +x linuxdeploy-x86_64.AppImage
|
||||
if [ -n "${APPDIR:-}" ]; then
|
||||
if [ ! -f "$LINUXDEPLOY" ]; then
|
||||
wget -q "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/${LINUXDEPLOY}"
|
||||
fi
|
||||
chmod +x "$LINUXDEPLOY"
|
||||
|
||||
test -d ${APPDIR} && rm -rf ${APPDIR}
|
||||
mkdir -p ${APPDIR}/usr/bin
|
||||
if [ -d "$APPDIR" ]; then
|
||||
rm -rf "$APPDIR"
|
||||
fi
|
||||
mkdir -p "$APPDIR/usr/bin"
|
||||
fi
|
||||
@@ -1,3 +1,4 @@
|
||||
.~lock.*
|
||||
/target
|
||||
.gdb_history
|
||||
.vscode
|
||||
|
||||
@@ -1,3 +1,50 @@
|
||||
[workspace]
|
||||
resolver = "3"
|
||||
members = [
|
||||
"dash-frontend",
|
||||
"scripts/prost_build",
|
||||
"uidev",
|
||||
"wayvr",
|
||||
"wayvr-ipc",
|
||||
"wayvrctl",
|
||||
"wgui",
|
||||
"wlx-capture",
|
||||
"wlx-common",
|
||||
]
|
||||
|
||||
[workspace.dependencies]
|
||||
anyhow = "1.0.100"
|
||||
async-channel = "2.3"
|
||||
async-io = "2.1"
|
||||
bytes = { version = "1.11.1" }
|
||||
chrono = "0.4.42"
|
||||
clap = { version = "4.5.53", features = ["derive"] }
|
||||
dbus = { version = "0.9.12" }
|
||||
glam = { version = "0.30.9", features = ["mint", "serde"] }
|
||||
idmap = "0.2.2"
|
||||
idmap-derive = "0.2.22"
|
||||
interprocess = { version = "2.2.3" }
|
||||
libc = "0.2.178"
|
||||
log = "0.4.29"
|
||||
pipewire = { version = "0.10", features = ["v0_3_33", "v0_3_65"] }
|
||||
regex = "1.12.2"
|
||||
rust-embed = "8.9.0"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1.0.145"
|
||||
serde_json5 = "0.2.1"
|
||||
shell-words = "1.1.1"
|
||||
slotmap = "1.1.1"
|
||||
smallvec = "1.15.2"
|
||||
smol = "2.0.2"
|
||||
strum = { version = "0.27.2", features = ["derive"] }
|
||||
tracing-subscriber = { version = "0.3.22", features = ["env-filter"] }
|
||||
uuid = { version = "1.19.0", features = ["fast-rng", "serde", "v4"] }
|
||||
wayland-client = { version = "0.31" }
|
||||
wayland-protocols = { version = "0.32" }
|
||||
wayland-protocols-misc = { version = "0.3.12" }
|
||||
winit = "0.30.12"
|
||||
xdg = "3.0.0"
|
||||
|
||||
[profile.dev]
|
||||
opt-level = 1
|
||||
debug = true
|
||||
@@ -19,39 +66,3 @@ incremental = true
|
||||
[profile.release-with-debug]
|
||||
inherits = "release"
|
||||
debug = true
|
||||
|
||||
[workspace]
|
||||
members = [
|
||||
"uidev",
|
||||
"wgui",
|
||||
"wlx-common",
|
||||
"wayvr",
|
||||
"wlx-capture",
|
||||
"dash-frontend",
|
||||
"wayvr-ipc",
|
||||
"wayvrctl",
|
||||
]
|
||||
resolver = "3"
|
||||
|
||||
[patch.crates-io]
|
||||
vulkano = { git = "https://github.com/galister/vulkano.git", rev = "cf7f92867928a56ce16b376037c1120f2b167678" }
|
||||
|
||||
[workspace.dependencies]
|
||||
anyhow = "1.0.100"
|
||||
glam = { version = "0.30.9", features = ["mint", "serde"] }
|
||||
clap = { version = "4.5.53", features = ["derive"] }
|
||||
xdg = "3.0.0"
|
||||
idmap = "0.2.2"
|
||||
idmap-derive = "0.2.22"
|
||||
log = "0.4.29"
|
||||
regex = "1.12.2"
|
||||
rust-embed = "8.9.0"
|
||||
serde = { version = "1", features = ["derive"] }
|
||||
serde_json = "1.0.145"
|
||||
slotmap = "1.1.1"
|
||||
strum = { version = "0.27.2", features = ["derive"] }
|
||||
vulkano = { version = "0.35.2", default-features = false, features = [
|
||||
"macros",
|
||||
] }
|
||||
vulkano-shaders = "0.35.0"
|
||||
wayland-client = { version = "0.31.11" }
|
||||
@@ -1,20 +1,20 @@
|
||||

|
||||

|
||||
|
||||
# WayVR (previously WlxOverlay-S)
|
||||
|
||||
A lightweight OpenXR/OpenVR overlay for Wayland and X11 desktops.
|
||||
|
||||
WayVR lets you to access your desktop screens while in VR, and even launch apps directly 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/wlx-team/wayvr/releases)
|
||||
1. AUR package: [wayvr](https://aur.archlinux.org/packages/wayvr) or [wayvr-git](https://aur.archlinux.org/packages/wayvr-git)
|
||||
1. 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/wlx-team/wayvr/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
|
||||
|
||||
@@ -40,11 +37,11 @@ There are multiple ways to install WayVR:
|
||||
|
||||
**Note:** If you are using Monado or WiVRn, no additional setup steps are required for Flatpak Steam compatibility—most people use WayVR seamlessly with Monado/WiVRn.
|
||||
|
||||
### SteamVR via Steam Flatpak
|
||||
### SteamVR (PC) via Steam Flatpak
|
||||
|
||||
For users specifically running **SteamVR via Steam Flatpak**, follow these steps:
|
||||
|
||||
1. Grab the latest AppImage from [Releases](https://github.com/wlx-team/wayvr/releases).
|
||||
1. Grab the latest AppImage from [Releases](https://github.com/wayvr-org/wayvr/releases).
|
||||
1. `WayVR-*.AppImage --appimage-extract`
|
||||
1. `chmod +x squashfs-root/AppRun`
|
||||
1. Move the newly created `squashfs-root` folder to a location accessible by the Steam Flatpak.
|
||||
@@ -53,6 +50,20 @@ For users specifically running **SteamVR via Steam Flatpak**, follow these steps
|
||||
1. Start SteamVR.
|
||||
1. `flatpak run --command='/path/to/squashfs-root/AppRun' com.valvesoftware.Steam`
|
||||
|
||||
### Installing on Steam Frame
|
||||
|
||||
Steam Frame support is experimental. Please report issues.
|
||||
|
||||
It's possible to install and run WayVR on the Steam Frame in headless mode. You will not have access to your KDE desktop, but you will be able to run applications in 3D space around you.
|
||||
|
||||
Steps to install on Steam Frame:
|
||||
1. Grab the latest aarch64 AppImage
|
||||
- For nightly AppImages go [here](https://github.com/wayvr-org/wayvr/actions/workflows/build-appimage.yml) and select the topmost list item a ✅️
|
||||
- The downloads will be on the bottom of the page (GitHub login required).
|
||||
1. Install the AppImage using GearLever
|
||||
1. (Recommended) In Frame's SteamVR settings, set overlay quality to High.
|
||||
1. Start WayVR from the taskbar (same place where you'd start Destkop)
|
||||
|
||||
## First Start
|
||||
|
||||
**When the screen share pop-up appears, check your notifications or the terminal and select the screens in the order it requests.**
|
||||
@@ -60,17 +71,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/wlx-team/wayvr/wiki/OpenXR-Skybox)!
|
||||
**SteamVR users**: WayVR no longer registers itself for auto-start, due to bugs in SteamVR. For now, you must start WayVR manually.
|
||||
|
||||
**SteamVR users**: WayVR will register itself for auto-start, so there is no need to start it every time. Disclaimer: SteamVR will sometimes disregard this and not start WayVR anyway.
|
||||
This will show a home environment with headset passthrough enabled by default or a [customizable background](https://wayvr.org/docs/various/openxr-skybox/)!
|
||||
|
||||
**Please continue reading the guide below.**
|
||||
|
||||
@@ -78,7 +88,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 +97,9 @@ Show and hide the working set using:
|
||||
- Non-vive controller: double-tap B or Y on the left controller.
|
||||
- Vive controller: double-tap the menu button on the left controller (for SteamVR, the `showhide` binding must be bound)
|
||||
|
||||
See the [bindings](#default-bindings) section on how to grab, move and resize overlay windows.
|
||||
Moving overlays: Grab + Joystick
|
||||
|
||||
Resizing overlays: Grab + Click + Joystick
|
||||
|
||||
### Pointer Modes AKA Laser Colors
|
||||
|
||||
@@ -102,23 +114,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:
|
||||
|
||||
@@ -129,42 +150,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/wlx-team/wayvr/wiki/OpenXR-Bindings).
|
||||
### Changing Bindings
|
||||
|
||||
If your bindings are not supported, please reach out. \
|
||||
We would like to work with you and include additional bindings.
|
||||
- SteamVR: Simply change the bindings from the SteamVR bindings section.
|
||||
- If WayVR doesn't show up on the list, select any other title and then press back on the top left. (SteamVR bug)
|
||||
- Monado/WiVRn: See WayVR Dashboard → Settings → Controls.
|
||||
|
||||
## Customization
|
||||
|
||||
See these relevant wiki pages:
|
||||
|
||||
- For all available config options, check [Docs: Configuration](https://wayvr.org/docs/basics/configuration/)
|
||||
- Looking to customize look & feel, or add functionality? See [Docs: Customization](https://wayvr.org/docs/basics/customization/)
|
||||
- Looking to change the OpenXR background? See [Docs: OpenXR Skybox](https://wayvr.org/docs/various/openxr-skybox/)
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
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/wlx-team/wayvr/wiki/Troubleshooting) for tips.
|
||||
Check [here](https://wayvr.org/docs/various/troubleshooting/) for tips.
|
||||
|
||||
## Known Issues
|
||||
|
||||
### Mouse is not where it should be
|
||||
### Mouse movement is wrong
|
||||
|
||||
If the mouse is moving on a completely different screen, the screens were likely selected in the wrong order:
|
||||
**If the mouse is moving on a completely different screen**, the screens were likely selected in the wrong order:
|
||||
|
||||
- Go to Settings and press `Clear PipeWire tokens` and then `Restart software`
|
||||
- Pay attention to your notifications, 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:
|
||||
|
||||
@@ -176,23 +216,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.
|
||||
@@ -13,22 +13,23 @@ wgui = { path = "../wgui/" }
|
||||
wlx-common = { path = "../wlx-common" }
|
||||
|
||||
anyhow.workspace = true
|
||||
chrono.workspace = true
|
||||
glam = { workspace = true, features = ["mint", "serde"] }
|
||||
log.workspace = true
|
||||
xdg.workspace = true
|
||||
rust-embed.workspace = true
|
||||
serde = { workspace = true, features = ["rc"] }
|
||||
serde_json.workspace = true
|
||||
shell-words.workspace = true
|
||||
smol = { workspace = true }
|
||||
strum.workspace = true
|
||||
uuid.workspace = true
|
||||
xdg.workspace = true
|
||||
|
||||
chrono = "0.4.42"
|
||||
keyvalues-parser = { git = "https://github.com/CosmicHorrorDev/vdf-rs.git", rev = "fc6dcbea9eb13cacb98dea40063f6f56cde6e145" }
|
||||
smol = "2.0.2"
|
||||
hyper = { version = "1.8.1", features = ["client", "http1", "http2"] }
|
||||
http-body-util = "0.1.3"
|
||||
async-native-tls = "0.5.0"
|
||||
smol-hyper = "0.1.1"
|
||||
keyvalues-parser = "0.2.4"
|
||||
lz4_flex = { version = "0.13.1", features = ["frame"] }
|
||||
ureq = "3.3.0"
|
||||
rand = "0.10.2"
|
||||
|
||||
[features]
|
||||
default = ["monado" ]
|
||||
default = ["monado"]
|
||||
monado = []
|
||||
@@ -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 Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="m12 13.4l-4.9 4.9q-.275.275-.7.275t-.7-.275t-.275-.7t.275-.7l4.9-4.9l-4.9-4.9q-.275-.275-.275-.7t.275-.7t.7-.275t.7.275l4.9 4.9l4.9-4.9q.275-.275.7-.275t.7.275t.275.7t-.275.7L13.4 12l4.9 4.9q.275.275.275.7t-.275.7t-.7.275t-.7-.275z"/></svg>
|
||||
|
After Width: | Height: | Size: 468 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M9 22q-.825 0-1.412-.587T7 20v-3H4q-.825 0-1.412-.587T2 15v-2h6.45l1.7 2.55q.125.2.35.325t.475.125q.325 0 .6-.2t.375-.5l1.35-4.05l.85 1.3q.15.2.375.325T15 13h7v2q0 .825-.588 1.413T20 17h-3v3q0 .825-.587 1.413T15 22zm1.7-9.25l-.875-1.3q-.125-.2-.35-.325T9 11H2V9q0-.825.588-1.412T4 7h3V4q0-.825.588-1.412T9 2h6q.825 0 1.413.588T17 4v3h3q.825 0 1.413.588T22 9v2h-6.475l-1.7-2.55q-.125-.2-.35-.325T13 8q-.325 0-.587.2t-.363.5z"/></svg>
|
||||
|
After Width: | Height: | Size: 660 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Iconoir by Luca Burgio - https://github.com/iconoir-icons/iconoir/blob/main/LICENSE --><g fill="none" stroke="currentColor" stroke-linejoin="round" stroke-width="1.5"><path d="M16 6.28a2.28 2.28 0 0 1-.662 1.606c-.976.984-1.923 2.01-2.936 2.958a.597.597 0 0 1-.822-.017l-2.918-2.94a2.28 2.28 0 0 1 0-3.214a2.277 2.277 0 0 1 3.232 0L12 4.78l.106-.107A2.276 2.276 0 0 1 16 6.28Z"/><path stroke-linecap="round" d="m18 20l3.824-3.824a.6.6 0 0 0 .176-.424V10.5A1.5 1.5 0 0 0 20.5 9v0a1.5 1.5 0 0 0-1.5 1.5V15"/><path stroke-linecap="round" d="m18 16l.858-.858a.48.48 0 0 0 .142-.343v0a.49.49 0 0 0-.268-.433l-.443-.221a2 2 0 0 0-2.308.374l-.895.895a2 2 0 0 0-.586 1.414V20M6 20l-3.824-3.824A.6.6 0 0 1 2 15.752V10.5A1.5 1.5 0 0 1 3.5 9v0A1.5 1.5 0 0 1 5 10.5V15"/><path stroke-linecap="round" d="m6 16l-.858-.858A.5.5 0 0 1 5 14.799v0c0-.183.104-.35.268-.433l.443-.221a2 2 0 0 1 2.308.374l.895.895a2 2 0 0 1 .586 1.414V20"/></g></svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="32"
|
||||
height="32"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs id="defs1" />
|
||||
<path fill="currentColor" d="m 10,12 c 0,-1.104569 0.895431,-2 2,-2 1.104569,0 2,0.895431 2,2 0,1.104569 -0.895431,2 -2,2 -1.104569,0 -2,-0.895431 -2,-2" id="path1" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 422 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="m12 16l-5-5l1.4-1.45l2.6 2.6V4h2v8.15l2.6-2.6L17 11zm-6 4q-.825 0-1.412-.587T4 18v-3h2v3h12v-3h2v3q0 .825-.587 1.413T18 20z"/></svg>
|
||||
|
After Width: | Height: | Size: 360 B |
@@ -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 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Lucide by Lucide Contributors - https://github.com/lucide-icons/lucide/blob/main/LICENSE --><g fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2"><path d="M2 17h18a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H2m0 16V3m5 14v3a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-3"/><circle cx="16" cy="11" r="2"/><circle cx="8" cy="11" r="2"/></g></svg>
|
||||
|
After Width: | Height: | Size: 462 B |
@@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="32"
|
||||
height="32"
|
||||
viewBox="0 0 24 24"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="gravity.svg"
|
||||
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="23.234375"
|
||||
inkscape:cx="17.861466"
|
||||
inkscape:cy="22.488231"
|
||||
inkscape:window-width="1582"
|
||||
inkscape:window-height="1302"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="svg1" />
|
||||
<defs
|
||||
id="defs1" />
|
||||
<!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE -->
|
||||
<!-- Modified it a little bit, there's no "space gravity" icon available. -->
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="m 15.76786,18.274928 -1.391472,0.295932 -0.674684,-2.9751 -3.051267,-0.735557 -2.4062791,-3.292082 -0.8846145,1.824345 1.561484,2.213127 -1.1706157,0.808349 -1.9932655,-2.862487 1.752944,-3.7745856 Q 7.740355,9.2978686 8.2693798,9.1366908 8.7984057,8.9755132 9.3446883,8.9671549 9.9537305,8.9704882 10.547911,8.8283107 11.142091,8.6861403 11.667399,8.364791 12.192707,8.0434408 12.541821,7.5511898 12.890935,7.0589389 13.170167,6.5208564 l 1.228561,0.6477209 q -0.321651,0.575352 -0.696034,1.1164692 -0.374382,0.5411172 -0.890945,0.9726251 -0.466314,0.3718768 -0.998843,0.6112737 -0.532529,0.2393967 -1.117089,0.3386867 L 12,12 l 2.176682,-1.469824 4.352172,0.934365 -0.326914,1.35612 -3.582453,-0.734464 -2.11263,1.442217 2.281549,0.535655 z M 7.5517982,8.9044443 Q 7.0233673,9.1322023 6.4853273,8.9182692 5.9472884,8.7043353 5.7186139,8.1755407 5.4899403,7.6467461 5.7054294,7.108795 5.9209195,6.5708439 6.4475175,6.3423563 6.9741154,6.1138698 7.5149037,6.3288971 8.0556931,6.5439235 8.2807018,7.07126 8.5057095,7.5985974 8.2948017,8.1383704 8.0838948,8.6781445 7.5517982,8.9044443"
|
||||
id="path1"
|
||||
style="stroke-width:0.697484" />
|
||||
<path
|
||||
id="path2"
|
||||
style="fill:none;stroke:currentColor;stroke-width:2.43525;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:0, 7.30575"
|
||||
d="M 22.480952,12 C 22.480952,17.78847 17.78847,22.480952 12,22.480952 6.2115299,22.480952 1.5190477,17.78847 1.5190477,12 1.5190475,6.2115298 6.2115298,1.5190477 12,1.5190477 c 0.653263,0 1.292568,0.059766 1.912744,0.1741274 C 18.787854,2.5921561 22.480952,6.8647934 22.480952,12 Z"
|
||||
sodipodi:nodetypes="ssssss" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 384.00001 383.99998"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="hand_left.svg"
|
||||
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:clip-to-page="false"
|
||||
inkscape:zoom="8"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="15.9375"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<defs
|
||||
id="defs1" />
|
||||
<!-- Icon from Phosphor by Phosphor Icons - https://github.com/phosphor-icons/core/blob/main/LICENSE -->
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="m 223.99926,120.14002 v 90.93 c 0,46.2 -36.85,84.55 -83,85.06 a 83.7,83.7 0 0 1 -60.400003,-24.59 c -21.81,-23.07 -46.45,-79.4 -46.45,-79.4 a 16,16 0 0 1 6.53,-22.23 c 7.66,-4 17.1,-0.84 21.4,6.62 l 21,36.44 a 6.09,6.09 0 0 0 6,3.09 h 0.12 a 8.19,8.19 0 0 0 6.800001,-8.18 v -103.74 A 16,16 0 0 1 112.76926,88.140018 c 8.61,0.4 15.23,7.82 15.23,16.430002 v 63.57 a 8,8 0 0 0 8.53,8 8.17,8.17 0 0 0 7.47,-8.25 V 88.140018 a 16,16 0 0 1 16.77,-15.999999 c 8.61,0.4 15.23,7.82 15.23,16.429999 v 87.570002 a 8,8 0 0 0 8.53,8 8.17,8.17 0 0 0 7.47,-8.25 v -55.3 c 0,-8.61 6.62,-16 15.23,-16.43 a 16,16 0 0 1 16.77,15.98"
|
||||
id="path1" />
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="M 263.19112,258.73409 V 112.03922 h 18.49095 v 130.25847 h 64.10196 v 16.4364 z"
|
||||
id="text1"
|
||||
aria-label="L" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.9 KiB |
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
width="48"
|
||||
height="48"
|
||||
viewBox="0 0 384 383.99998"
|
||||
version="1.1"
|
||||
id="svg1"
|
||||
sodipodi:docname="hand_right.svg"
|
||||
inkscape:version="1.4.4 (dcaf3e7d9e, 2026-05-05)"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<sodipodi:namedview
|
||||
id="namedview1"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pagecheckerboard="0"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:zoom="8"
|
||||
inkscape:cx="24"
|
||||
inkscape:cy="15.9375"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="svg1" />
|
||||
<defs
|
||||
id="defs1" />
|
||||
<!-- Icon from Phosphor by Phosphor Icons - https://github.com/phosphor-icons/core/blob/main/LICENSE -->
|
||||
<path
|
||||
fill="currentColor"
|
||||
d="M 30.079989,119.60999 V 210.54 c 0,46.2 36.85,84.55 83.000011,85.06 a 83.7,83.7 0 0 0 60.4,-24.59 c 21.81,-23.07 46.45,-79.4 46.45,-79.4 a 16,16 0 0 0 -6.53,-22.23 c -7.66,-4.00001 -17.1,-0.84 -21.4,6.62 l -21,36.44 a 6.09,6.09 0 0 1 -6,3.09 h -0.12 a 8.19,8.19 0 0 1 -6.8,-8.18 V 103.60999 a 16,16 0 0 0 -16.77,-16 c -8.61,0.4 -15.23,7.82 -15.23,16.43 V 167.61 a 8,8 0 0 1 -8.53,8 8.17,8.17 0 0 1 -7.47,-8.25 V 87.60999 A 16,16 0 0 0 93.309986,71.609992 c -8.609997,0.4 -15.229997,7.819999 -15.229997,16.429998 V 175.61 a 8,8 0 0 1 -8.53,8 8.17,8.17 0 0 1 -7.47,-8.25 v -55.30001 c 0,-8.61 -6.62,-16 -15.23,-16.43 a 16,16 0 0 0 -16.77,15.98"
|
||||
id="path1" />
|
||||
<path
|
||||
d="m 301.74274,111.50919 q 27.32551,0 40.26918,10.4782 13.14912,10.27275 13.14912,31.22916 0,11.71094 -4.31456,19.51824 -4.31455,7.80729 -11.09457,12.53275 -6.57456,4.52001 -13.97094,7.19093 l 40.26918,65.7456 h -21.57277 l -35.54372,-60.60923 h -29.17461 v 60.60923 H 261.2681 V 111.50919 Z m -1.02728,16.02549 h -20.95641 v 54.44558 h 21.98369 q 17.87458,0 26.09278,-6.98547 8.2182,-7.19092 8.2182,-20.95642 0,-14.38185 -8.62911,-20.34004 -8.62911,-6.16365 -26.70915,-6.16365 z"
|
||||
id="text1"
|
||||
fill="currentColor"
|
||||
aria-label="R" />
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M15 14v-2h8v2zm-4 7l-3.175-2.85q-1.8-1.625-3.088-2.9t-2.125-2.4t-1.225-2.175T1 8.475q0-2.35 1.575-3.912T6.5 3q1.3 0 2.475.538T11 5.075q.85-1 2.025-1.537T15.5 3q2.125 0 3.563 1.288T20.85 7.3q-.45-.175-.9-.262t-.875-.088q-2.525 0-4.3 1.763T13 13q0 1.3.525 2.463T15 17.45q-.475.425-1.237 1.088T12.45 19.7z"/></svg>
|
||||
|
After Width: | Height: | Size: 538 B |
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 24 24"><!-- Icon from Material Symbols by Google - https://github.com/google/material-design-icons/blob/master/LICENSE --><path fill="currentColor" d="M18.288 16.713Q18 16.425 18 16v-2h-2q-.425 0-.712-.288T15 13t.288-.712T16 12h2v-2q0-.425.288-.712T19 9t.713.288T20 10v2h2q.425 0 .713.288T23 13t-.288.713T22 14h-2v2q0 .425-.288.713T19 17t-.712-.288M1.75 23.626v-3.8zM10.3 20.2q-.35-.125-.625-.4q-1.1-1-2.6-2.275t-2.85-2.737t-2.287-3.063T1 8.475q0-2.35 1.575-3.912T6.5 3q1.3 0 2.475.538T11 5.075q.85-1 2.025-1.537T15.5 3q1.575 0 2.788.738T20.2 5.6q.275.475-.087.963T19.075 7h-.4q-2.125 0-3.9 1.713T13 13q0 1.05.338 1.988T14.4 16.7q.275.3.238.7t-.338.675l-1.975 1.75q-.275.275-.625.388t-.7.112t-.7-.125"/></svg>
|
||||
|
After Width: | Height: | Size: 785 B |
@@ -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="M17 10q-.825 0-1.412-.575T15 8V4q0-.85.588-1.425T17 2q.85 0 1.425.575T19 4v4q0 .85-.575 1.425T17 10M5 22q-.825 0-1.412-.587T3 20V4q0-.825.588-1.412T5 2h8v2H5v16h11v-2h2v2q0 .825-.587 1.413T16 22zm2-4v-2h7v2zm0-3v-2h5v2zm11 1h-2v-2.6q-1.925-.35-3.213-1.862T11.5 8h2q0 1.45 1.025 2.475T17 11.5q1.475 0 2.488-1.025T20.5 8h2q0 2.025-1.275 3.538T18 13.4z"/></svg>
|
||||
|
After Width: | Height: | Size: 585 B |
@@ -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,20 @@
|
||||
<layout>
|
||||
<include src="theme.xml" />
|
||||
|
||||
<theme>
|
||||
<layout version="2">
|
||||
<vars>
|
||||
<var key="side_size" value="48" />
|
||||
<var key="top_size" value="40" />
|
||||
<var key="side_sprite_size" value="26" />
|
||||
<var key="side_button_size" value="48" />
|
||||
</theme>
|
||||
</vars>
|
||||
|
||||
<blueprint name="context_menu_power_options">
|
||||
<context_menu>
|
||||
<cell translation="APP_SETTINGS.RESTART_WAYVR" action="restart" sprite_src_builtin="@/dashboard/refresh.svg"/>
|
||||
<cell translation="APP_SETTINGS.CLOSE_WAYVR" action="close" sprite_src_builtin="@/dashboard/close.svg"/>
|
||||
<separator/>
|
||||
<cell translation="POWER_OPTIONS.SUSPEND" action="suspend" sprite_src_builtin="@/dashboard/sleep.svg"/>
|
||||
<cell translation="POWER_OPTIONS.SHUTDOWN" action="shutdown" sprite_src_builtin="@/dashboard/power.svg"/>
|
||||
</context_menu>
|
||||
</blueprint>
|
||||
|
||||
<template name="SideButton">
|
||||
<Button
|
||||
@@ -13,10 +22,8 @@
|
||||
round="100%"
|
||||
width="~side_button_size"
|
||||
height="~side_button_size"
|
||||
color="#44444400"
|
||||
hover_color="#333333ff"
|
||||
border_color="#00000000"
|
||||
hover_border_color="#555555ff"
|
||||
color="background_contrast(transparent)"
|
||||
border_color="background_contrast"
|
||||
tooltip="${tooltip}"
|
||||
tooltip_side="${tooltip_side}"
|
||||
>
|
||||
@@ -25,13 +32,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 +45,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 +127,39 @@
|
||||
flex_direction="row"
|
||||
align_items="center"
|
||||
justify_content="space_between"
|
||||
color="~color_bottom_panel"
|
||||
color="background"
|
||||
>
|
||||
<!-- left gradient -->
|
||||
<div position="absolute" width="100%" height="100%" justify_content="start">
|
||||
<rectangle position="absolute" width="40%" height="100%" color="#0a0a0a" color2="#0a0a0a00" round="8" gradient="horizontal" />
|
||||
<rectangle position="absolute" width="40%" height="100%" color="shadow" color2="shadow(transparent)" round="8" gradient="horizontal" />
|
||||
</div>
|
||||
|
||||
<!-- right gradient -->
|
||||
<div position="absolute" width="100%" height="100%" justify_content="end">
|
||||
<rectangle position="absolute" width="40%" height="100%" color2="#0a0a0a" color="#0a0a0a00" round="8" gradient="horizontal" />
|
||||
<rectangle position="absolute" width="40%" height="100%" color2="shadow" color="shadow(transparent)" round="8" gradient="horizontal" />
|
||||
</div>
|
||||
|
||||
<!-- top shine -->
|
||||
<div position="absolute" width="100%" height="100%" justify_content="center">
|
||||
<rectangle position="absolute" width="99%" height="2" color="#FFFFFF22" round="4" />
|
||||
<rectangle position="absolute" width="99%" height="2" color="highlight(opacity-0.2)" round="4" />
|
||||
</div>
|
||||
|
||||
<!-- Left bottom side -->
|
||||
<div margin_left="8">
|
||||
<Button id="btn_audio" color="#FFFFFF00" border_color="#FFFFFF00" tooltip="AUDIO.VOLUME" tooltip_side="top">
|
||||
<sprite src_builtin="dashboard/volume.svg" width="24" height="24" margin="8" />
|
||||
<Button id="btn_power" color="background(transparent)" border_color="background(transparent)" tooltip="POWER_OPTIONS.TITLE" tooltip_side="top">
|
||||
<sprite src_builtin="@/dashboard/power.svg" width="24" height="24" margin="8" />
|
||||
</Button>
|
||||
<Button id="btn_recenter" color="#FFFFFF00" border_color="#FFFFFF00" tooltip="ACTIONS.RECENTER_PLAYSPACE" tooltip_side="top">
|
||||
<sprite src_builtin="dashboard/recenter.svg" width="24" height="24" margin="8" />
|
||||
<Button id="btn_audio" color="background(transparent)" border_color="background(transparent)" tooltip="AUDIO.VOLUME" tooltip_side="top">
|
||||
<sprite src_builtin="@/dashboard/volume.svg" width="24" height="24" margin="8" />
|
||||
</Button>
|
||||
<Button id="btn_recenter" color="background(transparent)" border_color="background(transparent)" tooltip="ACTIONS.RECENTER_PLAYSPACE" tooltip_side="top">
|
||||
<sprite src_builtin="@/dashboard/recenter.svg" width="24" height="24" margin="8" />
|
||||
</Button>
|
||||
</div>
|
||||
|
||||
<!-- Right bottom side -->
|
||||
<div margin_right="16">
|
||||
<label id="label_time" size="16" weight="light" />
|
||||
<label id="label_time" weight="bold" size="16" color="on_background" />
|
||||
</div>
|
||||
</rectangle>
|
||||
</div>
|
||||
|
||||
@@ -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,20 @@
|
||||
<layout>
|
||||
<include src="../t_menu_button.xml" />
|
||||
<layout version="2">
|
||||
<include src="@/gui/t_menu_button.xml" />
|
||||
|
||||
<template name="MiscButton">
|
||||
<Button
|
||||
id="${id}" macro="home_button"
|
||||
min_width="64" height="36"
|
||||
padding_left="8" padding_right="8">
|
||||
<div gap="8"
|
||||
align_items="center"
|
||||
justify_content="center"
|
||||
flex_direction="row">
|
||||
<sprite src_builtin="${icon}" width="24" height="24" />
|
||||
<label weight="bold" size="18" text="${text}" translation="${translation}" />
|
||||
</div>
|
||||
</Button>
|
||||
</template>
|
||||
|
||||
<elements>
|
||||
<div
|
||||
@@ -7,17 +22,35 @@
|
||||
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">
|
||||
<MiscButton id="btn_welcome_screen" icon="@/dashboard/welcome.svg" translation="APP_SETTINGS.TUTORIAL"/>
|
||||
<MiscButton id="btn_website" icon="@/dashboard/globe.svg" text="wayvr.org"/>
|
||||
<MiscButton id="btn_donate" icon="@/dashboard/opencollective.svg" translation="DONATE.SUPPORT_US"/>
|
||||
</div>
|
||||
</div>
|
||||
</elements>
|
||||
|
||||
@@ -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,43 @@
|
||||
<RadioBox text="${text}" translation="${translation}" value="${value}" tooltip="${tooltip}" />
|
||||
</template>
|
||||
|
||||
<!-- title, sprite, color, tooltip_str -->
|
||||
<template name="DiagnosticsRow">
|
||||
<div align_items="center">
|
||||
<label text="${title}" weight="bold" min_width="140"/>
|
||||
<Button tooltip_str="${tooltip_str}" color="background(transparent)">
|
||||
<sprite width="24" height="24" color="${color}" src_builtin="${sprite}" parent_color="ignore"/>
|
||||
</Button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<!-- name, info -->
|
||||
<template name="DiagnosticsDrmCard">
|
||||
<GroupBox>
|
||||
<div gap="8">
|
||||
<sprite width="24" height="24" src_builtin="@/dashboard/gpu.svg"/>
|
||||
<label text="${name}"/>
|
||||
</div>
|
||||
<label text="${info}"/>
|
||||
</GroupBox>
|
||||
</template>
|
||||
|
||||
<template name="StatRow">
|
||||
<div flex_direction="row" justify_content="space_between" align_items="center" gap="12" width="100%">
|
||||
<label weight="bold" translation="${translation}" />
|
||||
<label id="${id}" weight="bold" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template name="ButtonText">
|
||||
<Button id="${id}" height="32" tooltip="${translation}_HELP" padding="4" gap="8">
|
||||
<sprite src_builtin="${icon}" height="24" width="24" />
|
||||
<label align="left" translation="${translation}" weight="bold" min_width="200" />
|
||||
</Button>
|
||||
</template>
|
||||
|
||||
<template name="DangerButton">
|
||||
<Button id="${id}" color="#AA3333" height="32" tooltip="${translation}_HELP" padding="4" gap="8" >
|
||||
<Button id="${id}" color="danger" border_color="danger(rgb-mult-0.5)" height="32" tooltip="${translation}_HELP" padding="4" gap="8">
|
||||
<sprite src_builtin="${icon}" height="24" width="24" />
|
||||
<label align="left" translation="${translation}" weight="bold" min_width="200" />
|
||||
</Button>
|
||||
@@ -36,17 +75,35 @@
|
||||
|
||||
<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="diagnostics" translation="APP_SETTINGS.DIAGNOSTICS.TITLE" sprite_src_builtin="@/dashboard/diagnostics.svg" />
|
||||
<Tab macro="tab_style" name="troubleshooting" translation="APP_SETTINGS.TROUBLESHOOTING" sprite_src_builtin="@/dashboard/cpu.svg" />
|
||||
</Tabs>
|
||||
<div flex_wrap="wrap" justify_content="stretch" gap="4" id="settings_root" width="100%">
|
||||
<!-- 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="24" height="24" color="on_background" />
|
||||
<label text="${device_name}" margin_right="8" size="12" weight="bold" color="on_background" />
|
||||
</div>
|
||||
<div width="100%" align_items="center">
|
||||
<CheckBox id="checkbox" />
|
||||
<Button sprite_src="${volume_icon}" id="btn_mute" width="32" />
|
||||
<Slider id="slider" flex_grow="1" height="16" min_value="0" max_value="150" margin_left="8" />
|
||||
<CheckBox id="checkbox" tooltip="AUDIO.SWITCH_TO_THIS_DEVICE" />
|
||||
<Slider id="slider" flex_grow="1" height="16" min_value="0" max_value="150" margin_left="8" margin_right="8" />
|
||||
<Button sprite_src_builtin="${volume_icon}" id="btn_mute" width="32" height="32" />
|
||||
</div>
|
||||
</rectangle>
|
||||
</GroupBox>
|
||||
</template>
|
||||
|
||||
<!-- card_name, profile_name -->
|
||||
<template name="Card">
|
||||
<rectangle macro="group_box">
|
||||
<GroupBox>
|
||||
<div width="100%" align_items="center" justify_content="center">
|
||||
<label text="${card_name}" size="12" weight="bold" />
|
||||
<label text="${card_name}" size="12" weight="bold" color="on_background" />
|
||||
</div>
|
||||
<Button id="btn_card" text="${profile_name}" width="100%" height="32" />
|
||||
</rectangle>
|
||||
</GroupBox>
|
||||
</template>
|
||||
|
||||
<template name="SelectAudioProfileText">
|
||||
<div align_items="center" gap="8">
|
||||
<Button width="48" height="32" id="btn_back">
|
||||
<sprite src_builtin="dashboard/back.svg" width="24" height="24" />
|
||||
<sprite src_builtin="@/dashboard/back.svg" width="24" height="24" color="on_background" />
|
||||
</Button>
|
||||
<label translation="AUDIO.SELECT_AUDIO_CARD_PROFILE" size="14" weight="bold" />
|
||||
</div>
|
||||
@@ -41,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,18 @@
|
||||
<layout version="2">
|
||||
<template name="DialogBoxButton">
|
||||
<Button id="btn" translation="CLOSE_WINDOW" align_self="start" sprite_src_builtin="${icon}"
|
||||
text_size="16"
|
||||
padding_left="16" padding_right="16"
|
||||
padding_top="8" padding_bottom="8"/>
|
||||
</template>
|
||||
|
||||
<elements>
|
||||
<div flex_direction="column" align_items="center" justify_content="center" width="100%" gap="32">
|
||||
<label id="label_message" size="18" weight="bold"/>
|
||||
|
||||
<div id="buttons" gap="8">
|
||||
<!-- filled-in at runtime -->
|
||||
</div>
|
||||
</div>
|
||||
</elements>
|
||||
</layout>
|
||||
@@ -0,0 +1,22 @@
|
||||
<layout version="2">
|
||||
<include src="@/gui/t_separator.xml"/>
|
||||
|
||||
<template name="btn_close">
|
||||
<Button id="btn" translation="CLOSE_WINDOW" align_self="start" sprite_src_builtin="@/dashboard/check.svg"/>
|
||||
</template>
|
||||
|
||||
<elements>
|
||||
<div align_items="center" justify_content="center" width="100%">
|
||||
<div id="content" flex_direction="column" gap="8" width="100%">
|
||||
<label translation="DOWNLOADING_FILE" size="24" weight="bold"/>
|
||||
<Separator/>
|
||||
<label id="label_target_path" color="on_background" />
|
||||
|
||||
<div gap="8" align_items="center">
|
||||
<div id="loading_parent"/>
|
||||
<label id="label_status"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</elements>
|
||||
</layout>
|
||||
@@ -1,4 +1,4 @@
|
||||
<layout>
|
||||
<layout version="2">
|
||||
<elements>
|
||||
<div flex_direction="row" gap="16" align_items="center">
|
||||
<div id="cover_art_parent" />
|
||||
@@ -9,11 +9,11 @@
|
||||
<label weight="bold" id="label_author" text="Unknown" />
|
||||
</div>
|
||||
<label id="label_description" wrap="1" text="No description available" />
|
||||
<Button id="btn_launch" align_self="baseline" color="#44ce22FF" padding_top="4" padding_bottom="4" round="8" padding_right="12" min_width="200" min_height="40">
|
||||
<sprite src_builtin="dashboard/play.svg" width="32" height="32" />
|
||||
<label text="Launch" weight="bold" size="17" shadow="#00000099" />
|
||||
<Button id="btn_launch" align_self="baseline" color="primary" border_color="primary(rgb-mult-0.5)" padding_top="4" padding_bottom="4" round="8" padding_right="12" min_width="200" min_height="40">
|
||||
<sprite src_builtin="@/dashboard/play.svg" width="32" height="32" />
|
||||
<label text="Launch" weight="bold" size="17" />
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</elements>
|
||||
</layout>
|
||||
</layout>
|
||||
@@ -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" parent_color="ignore"/>
|
||||
</rectangle>
|
||||
</template>
|
||||
</layout>
|
||||
@@ -1,9 +0,0 @@
|
||||
<layout>
|
||||
<include src="../t_group_box.xml" />
|
||||
|
||||
<elements>
|
||||
<rectangle macro="group_box" flex_direction="row" align_items="center">
|
||||
<div id="list_parent" gap="8" flex_direction="row" flex_wrap="wrap" flex_grow="1" />
|
||||
</rectangle>
|
||||
</elements>
|
||||
</layout>
|
||||