Compare commits
2381 Commits
wip/carlos
...
main
Author | SHA1 | Date | |
---|---|---|---|
4a23ddffa8 | |||
b37fa61eb0 | |||
72a6450017 | |||
d8efce0ffd | |||
2250653673 | |||
9604778343 | |||
2fffe91488 | |||
5eddcd3cf2 | |||
c218bb16e2 | |||
1d9d3d2a12 | |||
aba0d0bb1b | |||
254b0ca2ad | |||
748fe074c4 | |||
919c4cf3d5 | |||
7d895874b6 | |||
550b1b2970 | |||
fc77f2e1e0 | |||
242dea15f1 | |||
826083d763 | |||
f8f37e0161 | |||
75e57749f0 | |||
01a23b0553 | |||
34bf17ad27 | |||
ff60137da2 | |||
c3f5aa6c5c | |||
795312b8d5 | |||
9ce6756235 | |||
fd45a6c9d2 | |||
cd46f2f65a | |||
34b6cd0bea | |||
48f8aec676 | |||
66016755c9 | |||
f61cd690ad | |||
2523d7b4a9 | |||
a8c6c1cdd3 | |||
86ab9b9d7a | |||
db4906bb8a | |||
2e275cca25 | |||
b518f2b6af | |||
50abd018f4 | |||
8a62b2a24d | |||
4f5db4371f | |||
4d4d3cdf9b | |||
0177560952 | |||
047691b0d3 | |||
286cfdc6d4 | |||
b93342f72e | |||
4d2b008966 | |||
09ed1c533c | |||
79f448958b | |||
bc32a52108 | |||
ff4ff66498 | |||
69c66b0946 | |||
1d2c85d1b7 | |||
cc5cc0d653 | |||
e7a90d98ae | |||
d7b1264897 | |||
2bf31dc49f | |||
242cff7abf | |||
7e5ee2c282 | |||
7bde02c1cf | |||
2dcbf5f33b | |||
ddb6276a49 | |||
c1c0b34d77 | |||
4e5ddc5459 | |||
ceee53aa0a | |||
5d5bfe492c | |||
4d1ce0de41 | |||
a3dcdaae30 | |||
82e16a206f | |||
c0b89381ac | |||
7f77b6f054 | |||
380d2db1d9 | |||
2bcc6c09ed | |||
3685cb15c6 | |||
5dfc3c1ef8 | |||
b837ca4031 | |||
20c937f5a0 | |||
563437de91 | |||
1bf446b373 | |||
0bf515eb10 | |||
8cb689e2c5 | |||
8a5361c05c | |||
bee43816f4 | |||
f394f2d14a | |||
e6c903f4aa | |||
ffbbdf62fe | |||
dbdeeff0a0 | |||
9cb6d0d4a9 | |||
b1bcf2be7a | |||
767f2c533a | |||
a2d003cde6 | |||
9ef7e0cf8c | |||
f8ec7ea1b5 | |||
72e3e60411 | |||
0eff22ebcd | |||
2e8fdcd8f1 | |||
f6c6523cd4 | |||
743044291d | |||
e9d6468609 | |||
d8b88c24d9 | |||
537f754fb0 | |||
418d86a16f | |||
4d4f3d25d8 | |||
483d1b3177 | |||
36a1fb78cd | |||
46f2c29acc | |||
dd2cd6286c | |||
a628bbc485 | |||
3adad0da81 | |||
2a3e297218 | |||
d474781325 | |||
317f0f5fe0 | |||
3b9e672a09 | |||
7298ee23e9 | |||
3bee7c7f4b | |||
fb177a1cae | |||
eac04888e2 | |||
0fd205ce54 | |||
bc09c1ca24 | |||
757e766a11 | |||
cd1102ff30 | |||
2ee323e37e | |||
07579f05f6 | |||
b90a6d6b14 | |||
0d8e0025d6 | |||
ef70364e81 | |||
b21b43e318 | |||
1d607cf18f | |||
66ba806838 | |||
9b896478c9 | |||
b158e9676d | |||
2f161af85f | |||
5eb82cb54f | |||
66b11171d9 | |||
44d61c62f0 | |||
b8f5e384f5 | |||
196fa34fb4 | |||
b73c05c3c7 | |||
cd2174e110 | |||
c6bcc74649 | |||
6c4089025f | |||
a24a7a8690 | |||
79d633a0cc | |||
d562c70f4e | |||
ae90b50dc7 | |||
3ad569f426 | |||
f14960ff03 | |||
50a14caf1b | |||
6bf20837c0 | |||
f16fda5ea1 | |||
b3bdcbcf3f | |||
4bbbee4dd6 | |||
06c4929493 | |||
0cd882697a | |||
bf5129adc1 | |||
a802bfda39 | |||
f3cbc43f72 | |||
ea6433b2cb | |||
0b8514dc7d | |||
1f3fac047b | |||
5e34dda881 | |||
58722cab8f | |||
80e96b4bd8 | |||
88b2c9a046 | |||
956db078c3 | |||
ea9c4e589d | |||
7c1b30b272 | |||
74d0b066e9 | |||
3121476436 | |||
af03314f20 | |||
5702349c2d | |||
a145361827 | |||
124f2961eb | |||
3ce03beb6c | |||
142492b778 | |||
aec128fdee | |||
a4d2f5d8b4 | |||
91280f7227 | |||
b496c9f956 | |||
414ed9128f | |||
bba799a70c | |||
0cde447891 | |||
e3c06e3c77 | |||
321e07c3c6 | |||
991d9597e0 | |||
8b1e1834f0 | |||
c809a87412 | |||
b3861ca693 | |||
958fb6fddc | |||
0f5881788c | |||
07daa95393 | |||
1550976c51 | |||
5e90e8d385 | |||
2e04f9be8a | |||
e260c24f55 | |||
bb907e42b9 | |||
5791e257e7 | |||
85075192f3 | |||
fb313033ea | |||
4a3e3ee1b8 | |||
2724ecee05 | |||
1deb13e1aa | |||
b9f38f95e3 | |||
53e623e49c | |||
3495873c90 | |||
4b4d422c1e | |||
46b0d3f6cc | |||
5b3036a6bf | |||
941419e165 | |||
6f7df32b0e | |||
474fd47fc0 | |||
f719ea8d69 | |||
506001ebc2 | |||
2fcb7cf3de | |||
c6b72ccd15 | |||
f313eb08ac | |||
508442cef2 | |||
7af01939eb | |||
cc2af75fb4 | |||
a8f1722a9f | |||
4649bb008c | |||
9fa31d83c8 | |||
58dd335b18 | |||
9b7181d706 | |||
26dc0fcd32 | |||
19fc6ef5dd | |||
d28ed122a8 | |||
ee632fb2d5 | |||
957d5595de | |||
e49d8162a9 | |||
9cfc48c0a8 | |||
6e629c0f10 | |||
4bf5f7bdb1 | |||
c58c86e01d | |||
99199b1379 | |||
717a2d30cb | |||
f1320bd250 | |||
770f15207c | |||
8f42053b5f | |||
77b175e763 | |||
1ea4d72fe5 | |||
3fa5e5963c | |||
09cb9cd461 | |||
a4123887c1 | |||
8721c5db37 | |||
162d694d9a | |||
4ae06a2879 | |||
ba428ed6b0 | |||
85ffb96924 | |||
f6553ef5f0 | |||
0b1dfbf6f3 | |||
13562033d7 | |||
67596e7c83 | |||
bb8daaeb2f | |||
8edd6aef64 | |||
6c4b5bf0a0 | |||
9c025ba362 | |||
eee2ccac7a | |||
118d556991 | |||
c17601bdee | |||
678b06fc7e | |||
ca32abc150 | |||
25ece58538 | |||
7dd7714fd2 | |||
da11d8d7ef | |||
bc3ae223f1 | |||
f579e9dd8e | |||
b58f057713 | |||
28f64072ba | |||
df76c3fd11 | |||
56da0f6561 | |||
d8be637dca | |||
e726527604 | |||
733a5e1acb | |||
e3a1d84992 | |||
51a8bbddd5 | |||
81a1e294f8 | |||
2b074882f4 | |||
f164e08688 | |||
f30fa1adc7 | |||
28a42da947 | |||
4440a8210b | |||
d1333cb249 | |||
d53285d71b | |||
25793b9d97 | |||
6203668b6c | |||
37a6434a4d | |||
b156cabdc9 | |||
20d99c69cb | |||
d265dabe03 | |||
5acab6c300 | |||
4340170e94 | |||
7f7b515b84 | |||
df377cc18a | |||
6995c2fa9f | |||
1f4eea12a5 | |||
850d2a33a8 | |||
607a87738e | |||
06b454e32a | |||
2eadd0aa32 | |||
ae3c36c234 | |||
dc1aec5673 | |||
30e49cc3ca | |||
0e72579364 | |||
dc47ca19ba | |||
38d9b35ec8 | |||
3cfbb48f46 | |||
757501b33a | |||
e86871e129 | |||
df069ca191 | |||
0a42907c77 | |||
256a929eca | |||
28045074aa | |||
57d72b9ebc | |||
ee1db9ba0a | |||
374a2b2c51 | |||
6721710932 | |||
82450e1060 | |||
48d5740443 | |||
c08c142f95 | |||
f51fb4bed0 | |||
16d3718735 | |||
006d206f98 | |||
8430aa59da | |||
9e9ed42263 | |||
c449058d44 | |||
3df4b5ec7c | |||
a363f1343a | |||
54a71944ba | |||
f5259a5ce4 | |||
158920924d | |||
6813e246cd | |||
c90fb27a2f | |||
f5be205c09 | |||
3644bd43ba | |||
8be5d33611 | |||
8d042459ee | |||
3f2db31d7e | |||
177b36f82b | |||
5be67eb190 | |||
303fc944d0 | |||
1879ca741e | |||
d8802aafc4 | |||
dc0491ade8 | |||
bed0f43967 | |||
40543bdd28 | |||
a21058e6c9 | |||
c9558c9afa | |||
5339b1e6a2 | |||
e89c6179af | |||
88fa02147e | |||
dfae3281b9 | |||
55fcb3aa00 | |||
f8cd01c6dc | |||
e9119c625d | |||
e6089c83e2 | |||
404ca91941 | |||
d9239e2cee | |||
08fb067d24 | |||
3c6fd75ab7 | |||
cd7572f269 | |||
fe466fafce | |||
8e644ec39b | |||
65a35a9c36 | |||
0ed1a363a3 | |||
81210f5846 | |||
a63c44ba2c | |||
803b944ffd | |||
6fc93b78bc | |||
91a7978711 | |||
ecead8c727 | |||
279db3f168 | |||
0a7507c617 | |||
5423179844 | |||
019229c40e | |||
0ccdb4746f | |||
3eda672929 | |||
2b2a71832a | |||
234024c4f4 | |||
a08355931f | |||
78f82348a2 | |||
954131c1c8 | |||
e7780623fe | |||
bad94ab350 | |||
4e83aaf850 | |||
fcc80407ea | |||
7f90a46f8c | |||
51bf7ec176 | |||
a8a79c0333 | |||
396c12c925 | |||
a472657490 | |||
c17dc9c8ec | |||
79acae4176 | |||
0e917c3dbf | |||
77023135ac | |||
fd0da9606f | |||
4bf2adb4b9 | |||
401b584384 | |||
dedfdb6d0b | |||
724291de7f | |||
588dd6d80a | |||
8cfd4c969b | |||
a97c4b8945 | |||
a56d508d69 | |||
4e35ca8e26 | |||
380d61dc43 | |||
548e18ad7e | |||
82c2f293a0 | |||
40e53492ab | |||
6ee2c4f74c | |||
1cefd589da | |||
d7ad8da48d | |||
1196532493 | |||
1410db2470 | |||
b93bf2bd69 | |||
28723ac088 | |||
d823141360 | |||
7eba5322b5 | |||
7935da6168 | |||
6159a91660 | |||
d9e953e93c | |||
58ed969dd1 | |||
1f0ef7fb46 | |||
f76e6877c7 | |||
62e40a1350 | |||
fab39bbea5 | |||
eb96288738 | |||
ce4ece2c44 | |||
53dd291aba | |||
d3b28e72aa | |||
1d8d2344f3 | |||
dd7d336228 | |||
fc54e0bed8 | |||
dda23fc4c6 | |||
6f0589313d | |||
1b5d71130e | |||
3aa3231a9a | |||
e6be180df1 | |||
d5af1fa098 | |||
b2a5417c3e | |||
2f70e524c3 | |||
4bfb91c5cd | |||
b3f34d12f1 | |||
a7a7ea4af7 | |||
dfc44973de | |||
02b06385ea | |||
687b84c90a | |||
f563424417 | |||
51a7c9a8b8 | |||
2b4e269a5f | |||
4b93f15c5e | |||
116ca88b5c | |||
75cba51b74 | |||
66a0b0a70c | |||
463ade049b | |||
4dfc53cade | |||
554d76a200 | |||
8aa7a376c4 | |||
bf6d668cab | |||
c40d382c56 | |||
f9db8fd309 | |||
ec071ae4c2 | |||
750ade34da | |||
55323e44af | |||
1d5f3f14fa | |||
1f0e4b58ab | |||
c5b18ee66a | |||
a24c1d28eb | |||
4a7c5890a8 | |||
16b0d0d07c | |||
0cf22f4a1b | |||
07a819f62b | |||
5652550688 | |||
f2db9b52c9 | |||
822340fd86 | |||
3c221cea48 | |||
5062c4c9c2 | |||
07f2d32087 | |||
d271a51bfd | |||
d49606bbaa | |||
ae23ad372d | |||
9152d6613b | |||
c239cd398d | |||
d21a0b186e | |||
36b103525c | |||
95ed7c7a06 | |||
7b990daee2 | |||
2cf8b93a7b | |||
95b83575cb | |||
f48e58a81a | |||
3c1074085e | |||
df4c05f834 | |||
c06bc74d6d | |||
3d2812063f | |||
53adc7b733 | |||
b160e44dab | |||
746230f8b6 | |||
7c83cbe135 | |||
3acf840c99 | |||
d8adeba6b6 | |||
6f39d76a3e | |||
9f415f1c89 | |||
f3f0396b7e | |||
cb68bbee36 | |||
91c4c43a7d | |||
a57d66a993 | |||
16c7739170 | |||
e854b26fa7 | |||
db1336120c | |||
095d7c36f7 | |||
59b97a3095 | |||
afb56df55c | |||
650e0960a2 | |||
5792b98f79 | |||
ec4b9b8894 | |||
3e9a08a2e1 | |||
e75f3a8aed | |||
04c781674c | |||
3eb40df06b | |||
5de9166f7a | |||
e6c1db2bc8 | |||
fb1ab4f20b | |||
3669faaa47 | |||
b853316498 | |||
99dd5ece55 | |||
19e5f35569 | |||
606ec25f8b | |||
f6cfefa0be | |||
1066a1bd08 | |||
f9f936e71a | |||
d4ae968d05 | |||
aefafc5f2c | |||
3d9bfbb0f8 | |||
7a57528bd7 | |||
bd7e3f4d6b | |||
35fb221a7e | |||
ff163a03b9 | |||
30f0c9f943 | |||
fac50fb50e | |||
7f99655067 | |||
7771bf4437 | |||
7a5650d868 | |||
0fd394d4ca | |||
0978b87e65 | |||
8e93806453 | |||
b3c46a33c0 | |||
0a144ee54f | |||
9ebfd0874c | |||
31d7770eeb | |||
9b9be4a1a5 | |||
99378b6dae | |||
df9129b2a0 | |||
a27009f926 | |||
613efa72f3 | |||
9bce2a02be | |||
72505227b7 | |||
c4e43efb1e | |||
930d0b6151 | |||
e3f12e3e23 | |||
bc0974618f | |||
ba0b9239d3 | |||
9cd211a99a | |||
9a273e1db2 | |||
40b67a140a | |||
9b24d9c4c0 | |||
ec223f31d9 | |||
9e5b357b0b | |||
ffe11e0560 | |||
c15dce242e | |||
a00db66ffe | |||
d75ed55ed8 | |||
f31c49c40e | |||
0d62dadfbc | |||
f60a469a34 | |||
8cb3825d48 | |||
260f5b0b8d | |||
082eedd968 | |||
a8e6403045 | |||
40121bbe4b | |||
2731d35723 | |||
4eb31e4e18 | |||
09afaf0745 | |||
945e947a54 | |||
767ee518f5 | |||
f28f7eddb1 | |||
1ad45a8232 | |||
46361c9a04 | |||
a6588d054f | |||
6390265ba1 | |||
e2c1407153 | |||
a05005e86e | |||
8eda12e6d7 | |||
404bb7a638 | |||
37672cfbb1 | |||
70ab99452d | |||
fe4fa1d2b0 | |||
95806c6a58 | |||
48ae38c52d | |||
175175fac8 | |||
49b7973177 | |||
c90bde464a | |||
6e384271c3 | |||
cf9ac841d2 | |||
daa019c2e2 | |||
85d0f87067 | |||
49cc0d64ca | |||
8850c579da | |||
ef5b92c596 | |||
ef777426d2 | |||
7f466551fa | |||
80e22740a1 | |||
5cd7434abd | |||
706d7beed7 | |||
e0c0662164 | |||
ea5efbbd52 | |||
63a96a7111 | |||
2d954c07fb | |||
9e8ceeae9d | |||
51348c6020 | |||
adc5f2d81f | |||
b1970b95b8 | |||
1819e34f29 | |||
a17c4283ea | |||
37bcd3d428 | |||
b05280a2cd | |||
9d4f017248 | |||
a976fe90e4 | |||
52c21c32d5 | |||
3c126f4422 | |||
9a50240bbc | |||
fcb70ff654 | |||
0ede01e676 | |||
3208cc68f6 | |||
f55196e7fb | |||
433ba92c43 | |||
55e08a3a2f | |||
bc034d5553 | |||
7d40930cd6 | |||
3795ccbcf3 | |||
ece5220b42 | |||
2fdee8e444 | |||
d3a1557864 | |||
7b1b04f95a | |||
a2751a1b26 | |||
a73bea02e8 | |||
f239179682 | |||
bf8e762178 | |||
2e9715c97e | |||
267c5f84a8 | |||
135c9194cd | |||
63cf60b731 | |||
4ba48b02e8 | |||
494db57d8c | |||
f4b88aac04 | |||
ac6337848f | |||
718a87554f | |||
c769a2f6f0 | |||
bf15ad7f69 | |||
0b16565e70 | |||
c62177e669 | |||
8526776b4a | |||
3346e9923b | |||
0a12405e01 | |||
a6a4e0a504 | |||
8e73143b24 | |||
0580fe6eff | |||
f52cafeb4a | |||
76836fe388 | |||
f7f46ca9ac | |||
cd506d45ef | |||
ddb8782179 | |||
f69727464c | |||
a498d8577e | |||
ea881ed077 | |||
504ca7d4c3 | |||
e135f077fb | |||
8edfe1dcf6 | |||
a24a16c5ac | |||
cf41f4a527 | |||
c01973055f | |||
901ecfb619 | |||
b74900b3a3 | |||
45a5171a95 | |||
1cc20ca6b6 | |||
ef10bb6229 | |||
9ecc1a4cd7 | |||
1ee9278786 | |||
e65e5edee6 | |||
8f9d6a4c13 | |||
1bd2b0123e | |||
8d5fb73695 | |||
629b7394f7 | |||
87558efbf1 | |||
7a2e629bd0 | |||
ed1ace1d99 | |||
75a1798e75 | |||
19c4dce322 | |||
526f0711f1 | |||
6ccd289691 | |||
1158e98913 | |||
53db4b99b8 | |||
f7685dc224 | |||
09602ae2ae | |||
c592a06911 | |||
736f1bc5fc | |||
2f446548b1 | |||
863ba76675 | |||
2799760244 | |||
2445212e35 | |||
cbde13fc65 | |||
0141b66d23 | |||
f1437506ea | |||
b9207e0e19 | |||
1e422faeb8 | |||
2501bc5c8f | |||
8a76508f71 | |||
478b45084c | |||
28f73a175c | |||
bbf1fc28ca | |||
df94055c58 | |||
d31f805817 | |||
30203f2694 | |||
5dafc26b6d | |||
829a096ba1 | |||
85ad1157df | |||
80a7a8ddb9 | |||
ca912f55cc | |||
36fba1a184 | |||
0ccb8e27d4 | |||
c936ca3ea0 | |||
c8bb45b41c | |||
7e77881717 | |||
3e96952fde | |||
b916df1110 | |||
2beca14b8d | |||
74575ee330 | |||
338862f3e6 | |||
ee330eabbd | |||
f788962473 | |||
df9766a239 | |||
c0a4d90847 | |||
1b51ae150d | |||
c8f1dca3c7 | |||
27627bd40a | |||
692b6d2577 | |||
960f87ede6 | |||
3510b88bdc | |||
c1bfdd74d8 | |||
461c65c93b | |||
f9652aab82 | |||
86cefd906b | |||
2e817d3fa8 | |||
d6a1414a94 | |||
5069572f85 | |||
6bea1e7a47 | |||
60d640189b | |||
e8ca92a0ff | |||
bf1fa3879f | |||
9c6d8e2aad | |||
6870f3ccb4 | |||
ca066a4ba6 | |||
87645652e5 | |||
a9f11b1f5a | |||
c09c070b15 | |||
83127bf805 | |||
4cf5898d85 | |||
cbe0180f47 | |||
80d258b20f | |||
b32f414919 | |||
8089d7cbf7 | |||
bce67a27cc | |||
22f4a6b7f6 | |||
d221215ab6 | |||
741d6abb97 | |||
1ad1db406e | |||
b6337a7bf1 | |||
0a8aeebd30 | |||
e6e5a93dec | |||
3887253823 | |||
55510e9cdf | |||
301686ee5f | |||
d02612e790 | |||
21faae480e | |||
9fcbf3d0f9 | |||
0aab90bb7f | |||
3a9acb9602 | |||
5c31ef6ae2 | |||
73b94c3901 | |||
0173a6646f | |||
9aa25eaa0b | |||
6a2ed852e7 | |||
504f2b20ef | |||
218642b807 | |||
9aae1df7a6 | |||
8e6191b436 | |||
bc3c1ea6e3 | |||
a19e6573e1 | |||
fe3c9be5ab | |||
2b9cf73309 | |||
16f74ebc57 | |||
10cafc55c1 | |||
cf87ab04aa | |||
a767e568ea | |||
aa392d45c9 | |||
824cdc9177 | |||
f19c75d9c3 | |||
39d5d6ad13 | |||
5212ac25de | |||
6ac32f1fc0 | |||
cb26a636e8 | |||
7bea63ae4b | |||
473e77e2c5 | |||
d75b64b88f | |||
b90e270dc6 | |||
9e86cdbe71 | |||
0a35735ba0 | |||
89af7e228a | |||
697cccf5da | |||
02ff0f57e9 | |||
86b50a103e | |||
ec3d94e426 | |||
865337fe0f | |||
512016dcb5 | |||
b0a48fad57 | |||
af4e54bfc9 | |||
53ea9ba805 | |||
97b9cdc720 | |||
49690f3962 | |||
29e2b15236 | |||
b0e6972cb7 | |||
0f46a1d650 | |||
c61e1e5c2c | |||
e641547ddf | |||
f5b622a703 | |||
ed628b90d7 | |||
7aa36ad239 | |||
ac8246050d | |||
26a39bdf78 | |||
463000d04d | |||
96d66def8c | |||
30b6816a86 | |||
1adcbaab46 | |||
176ea3b1ef | |||
4cf5b4a6d8 | |||
b64103efca | |||
ed1170906b | |||
1359b272a4 | |||
26c5434222 | |||
3abfc25858 | |||
252f2f5144 | |||
0f1b566918 | |||
a41e294e21 | |||
0064412359 | |||
3ff71ac40e | |||
a9cbbd8017 | |||
5c7436be3e | |||
454394a267 | |||
9ce666ac13 | |||
ae4dab761e | |||
bca654851c | |||
8eba759932 | |||
ee5564015a | |||
9cf300c972 | |||
0f99d46f87 | |||
2f78d32921 | |||
e32ec73315 | |||
269c5ca957 | |||
bebd612a8f | |||
42c2bf709e | |||
30f27412c2 | |||
27a427421e | |||
2bd91e738e | |||
56c118de87 | |||
efa3585bcc | |||
5e10bed458 | |||
bc6849c7a2 | |||
de299f0a90 | |||
779e66ae88 | |||
6ae49092c1 | |||
959639bdc9 | |||
a4bf44734d | |||
39e844ac0c | |||
8d9a92fe98 | |||
ac7dc62da6 | |||
c635ff490a | |||
ec0d8e3a72 | |||
add6dfe2e4 | |||
ba2f198b86 | |||
1a96fba415 | |||
698e67c486 | |||
151a104f9a | |||
1f3a364ffa | |||
059ea648f8 | |||
9062d5dc78 | |||
8eb81ae649 | |||
cfc1f1fd9c | |||
862b5be7a2 | |||
b84eb2437d | |||
ac3faac38c | |||
6e13dbac11 | |||
9db9445b0f | |||
df2181c913 | |||
d368bae503 | |||
451ba5b03a | |||
0d4bce9fa7 | |||
9980c80619 | |||
3ad7b85e25 | |||
99d1529e8c | |||
f17d9676f8 | |||
456b446394 | |||
de15eb3bbc | |||
07c970d90c | |||
a29e002a41 | |||
78f886f42c | |||
0d4eaa6f19 | |||
55d85cd55b | |||
fec745ffb8 | |||
0efa82acf0 | |||
1aee0516d6 | |||
c853de20eb | |||
08ac3c7750 | |||
cffad8b749 | |||
0882074ecc | |||
9f0e7632a6 | |||
7462347905 | |||
e8f46f169c | |||
ddc2e0f4cb | |||
db9a008e8a | |||
022cd683c4 | |||
55439713f4 | |||
9f1eb6da2b | |||
2e9a2e68b7 | |||
62baf524af | |||
bbb2f2603a | |||
eb4f6740c3 | |||
bc2cb9d910 | |||
1eec8eebdc | |||
18cd24e6f4 | |||
8c792969bb | |||
c57a299d57 | |||
a5730d7b30 | |||
353483b052 | |||
de4ac8841e | |||
b3c13d6128 | |||
827c137391 | |||
1e2532cf25 | |||
0a23721364 | |||
97eb4560ef | |||
bd850c3110 | |||
ea02aa399d | |||
5070e6405c | |||
40ac6143a4 | |||
a32df6b7a3 | |||
1a9478c740 | |||
6c3547d3c2 | |||
4ff91aa1ce | |||
4686c25a5c | |||
fc7c08d931 | |||
c5e5514c51 | |||
40b65f21f3 | |||
605d2b56a3 | |||
5d65a424a8 | |||
ecf5e3d3ee | |||
edd34c50d9 | |||
ba039bcce5 | |||
99a796e426 | |||
9bb91ca875 | |||
1016b919f0 | |||
a450550e5f | |||
2189dc61fb | |||
9d14b0c682 | |||
618762ebe0 | |||
1bb0e1b9fc | |||
3af90918a3 | |||
ad6fbaa245 | |||
8eb1792d39 | |||
20a68a609c | |||
c9c7629753 | |||
eb0339e223 | |||
f87f9848c3 | |||
d1468f7f6d | |||
87103374fd | |||
0cbccf7403 | |||
c894ec95cd | |||
a44686affe | |||
d82dcd6f67 | |||
8f9cc4b5c2 | |||
7222bffdf8 | |||
d5ca1bc62f | |||
7458d5ad07 | |||
42ce04b108 | |||
52d271f5c1 | |||
5a028cafa3 | |||
a1175ba5e2 | |||
db049818d2 | |||
1685c77931 | |||
15aabdf287 | |||
da09c67600 | |||
33f166b44e | |||
35d8041656 | |||
1134afd12a | |||
c5019dbf62 | |||
543261e6eb | |||
57f96b28ab | |||
499af2dd81 | |||
eefed95fa7 | |||
b51be0e389 | |||
e73204b9fa | |||
9e47fd3da5 | |||
c48d3dc063 | |||
2d0ef0ed84 | |||
47cd3c5b57 | |||
be279abe9e | |||
b3d57dc4bd | |||
eafbfdfa07 | |||
9ef9a5ff8a | |||
88ac08b542 | |||
3fc5c4c180 | |||
1989a2f9f9 | |||
c401759c1a | |||
3f49c886fa | |||
93115c3d8f | |||
eb95f6a0fa | |||
087bd863b3 | |||
f0deb03bd4 | |||
7b50c38d6d | |||
e85d127ae3 | |||
adaa5ec6bd | |||
8eda814e39 | |||
fc1d1e5362 | |||
8f6477be0a | |||
a7c343292e | |||
6b9f277081 | |||
fe90da82b4 | |||
ec1b099017 | |||
e59069c012 | |||
80a5b55a7a | |||
534f74b065 | |||
715d39870d | |||
99935c746a | |||
c09be8b0a9 | |||
f7019bdd0d | |||
52ccf86599 | |||
e3542d5849 | |||
99b78d3ee8 | |||
ad9c2dd817 | |||
ca0ad6d94b | |||
3cccd829f2 | |||
3cf35ce6df | |||
0c6df924be | |||
71807a4f10 | |||
78d6b13c29 | |||
4e57119f40 | |||
d263f5731c | |||
38d642541c | |||
feb3c6b618 | |||
af5aff3251 | |||
adfcd45bff | |||
cb8b19939d | |||
f54ab9c9ee | |||
659df23ad3 | |||
3e74b5ae9b | |||
aca61ad3ee | |||
9c10c34b07 | |||
cd82691859 | |||
b730875012 | |||
10d91b52e7 | |||
b120b17d01 | |||
7d4ac04a78 | |||
3f09876463 | |||
853644d7fe | |||
c9a6424f2e | |||
491a69a5a2 | |||
f2ee1587da | |||
12d9761c29 | |||
40e22eb524 | |||
c9df2f9370 | |||
5492309755 | |||
595359afa5 | |||
4863c498b2 | |||
34e38a835c | |||
c589f40faa | |||
e667406984 | |||
4ad32ab662 | |||
5b6686095a | |||
588457cb73 | |||
a63ef3885e | |||
ef807619e9 | |||
244c266c9f | |||
ee0f250662 | |||
a314c05fec | |||
3fb0284358 | |||
e8893f4fa4 | |||
96dc6d19dd | |||
07fd0d3f2e | |||
b64020f84b | |||
250bab0115 | |||
1aa7a23427 | |||
e81cab540f | |||
1fbf62f0c6 | |||
408c922148 | |||
2e976cd9bf | |||
e203278d74 | |||
330b44ede5 | |||
237e470238 | |||
e026e3bc9f | |||
51ff9ce444 | |||
6272490b0d | |||
e2945a525c | |||
09a09dd102 | |||
5f7615d3fc | |||
3567820a87 | |||
8a47f1c667 | |||
7521b9c4b2 | |||
adb984cec7 | |||
548d3b62d7 | |||
5d27a5a42a | |||
47dc3043df | |||
25ca8826ed | |||
4401c8fae7 | |||
8c13e3855e | |||
9ef59b3b4f | |||
8eec7ae2d8 | |||
d886d31bf0 | |||
461bbcff15 | |||
62d0c3a661 | |||
0d26472ce6 | |||
197aef3e40 | |||
c86c294d2a | |||
8d43deaad5 | |||
a9a54ba2a3 | |||
709c226fc3 | |||
69516a52c6 | |||
0b2430128a | |||
d318bf539d | |||
012af56b37 | |||
f5d1a2858d | |||
f940b0b139 | |||
b244274d48 | |||
efd1e06fec | |||
4fcbf6c974 | |||
b3659221bd | |||
5cfec80e9d | |||
d19683a84c | |||
0e21904557 | |||
22f691939c | |||
d72da7d246 | |||
6273654376 | |||
bd710ff4fd | |||
a9349fbd3f | |||
a0e87b53ff | |||
6c7ab4f00d | |||
b2a2ea7868 | |||
d9480428b9 | |||
9d5165b1aa | |||
5ece14e558 | |||
6758746f25 | |||
2b44fa893f | |||
6ba3ca5f95 | |||
cc9f66d784 | |||
b41ef2f6e3 | |||
9963f7ce84 | |||
0c14ac7052 | |||
ff6c0ca68c | |||
2321ce2864 | |||
6b1e2df589 | |||
deb78b9ada | |||
b3c106c63b | |||
da36506ea5 | |||
d04daf6a1c | |||
aaff88a6bb | |||
1acbdcc9b3 | |||
33bd038af2 | |||
59549e0b13 | |||
7dafd25ef4 | |||
31591ff029 | |||
75a8697671 | |||
1709592811 | |||
8d84e05a2a | |||
cc3519332c | |||
062c014223 | |||
ffdff07eaf | |||
bfd4d0f7aa | |||
ab9aa5b1f2 | |||
6ce4605c3a | |||
432c2863ab | |||
daa3ddac94 | |||
a9e5004eab | |||
84cff89205 | |||
494e628c38 | |||
3fb321fd21 | |||
7a25d5fd89 | |||
498710c2ec | |||
30d8164ddc | |||
82da51d5a1 | |||
76b03647b3 | |||
3029119c9a | |||
0dd355543d | |||
69901a783e | |||
5014d7e9fc | |||
ff9001d0a4 | |||
92d3c6e051 | |||
386d25e6f8 | |||
b2d6c11ec3 | |||
59ade00b94 | |||
de78ed980c | |||
8ddaa851a4 | |||
7e0e551ef2 | |||
8745a61e40 | |||
e1fa6b5348 | |||
976fbabd54 | |||
e32ae0a332 | |||
c68b1d7f97 | |||
7991dd85f4 | |||
ee3eaf0c0e | |||
26a2e389db | |||
35d9609247 | |||
5b6d72552f | |||
5970018b6c | |||
2ab6edda03 | |||
7f402c1c6b | |||
497f10178c | |||
f7bcde6325 | |||
f9ad8a378d | |||
206d1fa650 | |||
b3f35912be | |||
f8c043800b | |||
ec53df0dc3 | |||
cf997b3230 | |||
69e81e4511 | |||
998e3e62ad | |||
95645e155e | |||
f1bc87bf6d | |||
f7886ac695 | |||
4e195d789a | |||
838428838d | |||
1bc100c9fb | |||
a593f84f91 | |||
6cab57b43c | |||
8e936a271a | |||
eb0276a27d | |||
360aeba9e3 | |||
6550bca2ba | |||
b8ca1fa7a1 | |||
6aed9485ec | |||
99bfe20316 | |||
35346e9511 | |||
77b725c3d2 | |||
852303f71b | |||
ba804de15e | |||
093603b35e | |||
b436f3ebcb | |||
efea769bbe | |||
0e1622af9e | |||
b1f4ac10da | |||
2fc6384bca | |||
6ad9c99040 | |||
56b6e65317 | |||
b80b22e78d | |||
4917b0423b | |||
abfbf1f972 | |||
283e50ab7c | |||
1c0be1a36b | |||
00437750ed | |||
32b1e8d0eb | |||
51cdd34a4b | |||
9dce262192 | |||
03cc09126f | |||
6d9c6ba577 | |||
cbc24b4205 | |||
c85273fa6b | |||
d6d5c42e4b | |||
fce14a43b9 | |||
7fcaf63291 | |||
990c171bed | |||
112b139a9e | |||
923d926345 | |||
3c6f59ae6d | |||
84bbedb3b3 | |||
f541562acc | |||
beddbc0583 | |||
2f840174cb | |||
015559a207 | |||
98d6c4e8dd | |||
1675b54738 | |||
44cbd1e718 | |||
0dc1e1e99a | |||
1029e683d3 | |||
cf1d09b482 | |||
a436226266 | |||
33ff3dc44f | |||
2e77ed712c | |||
9d6ccb6072 | |||
5091eab280 | |||
6d38bc69ca | |||
adc8b1ba89 | |||
38777b41a5 | |||
263320696e | |||
e6153bb578 | |||
c723a1b72a | |||
0b56416d30 | |||
0c5716b018 | |||
1fa1333e13 | |||
6edd3c4b93 | |||
72a8522a10 | |||
b91903555a | |||
6b78f58a75 | |||
e62c0757c3 | |||
9168f6055e | |||
8993de76f0 | |||
01fedeed8f | |||
757e4b6731 | |||
c2b70101f2 | |||
9d4a3a614d | |||
2af7264cff | |||
a96c8d91b5 | |||
3541a57570 | |||
18155fc6ea | |||
b83c93ad62 | |||
d0dab5a6d1 | |||
c9708b140c | |||
dd846f1ba2 | |||
ec3653240a | |||
b689b35b7d | |||
01a927f388 | |||
41d5b1455f | |||
b710c6e275 | |||
4c9f42eea9 | |||
2b0731ab81 | |||
a9b803f075 | |||
73436b5276 | |||
20dcc8aa87 | |||
fdac0602db | |||
e5272c84d7 | |||
1812db7aa8 | |||
260405a49e | |||
71d37bffdf | |||
95436a08b5 | |||
13137aad9d | |||
71f55643b2 | |||
5c550daecb | |||
4e0492c517 | |||
f386103bc1 | |||
26e66aa4fd | |||
4420f52080 | |||
b4082063de | |||
bde974087a | |||
d93b51e135 | |||
730a68dffc | |||
f06c257952 | |||
7afab2c28c | |||
16a18f2ae7 | |||
704e08dc08 | |||
60311aa4d1 | |||
cceb74706a | |||
578ae29ed2 | |||
701d110493 | |||
d1cbf6c7a9 | |||
b64ce217e4 | |||
783dbe2aa9 | |||
f4ce1cf462 | |||
d04d6e069d | |||
40de201056 | |||
18234ea91a | |||
e3f3297cba | |||
e1ea1d2954 | |||
8e23ff8111 | |||
8a50a8e64c | |||
fae207811a | |||
1d86424942 | |||
2bc8175219 | |||
1e31caf0b8 | |||
8e24ac6b26 | |||
427b9ac75f | |||
f50205e9b4 | |||
168cfdd86b | |||
d339c94c18 | |||
97509bf1d2 | |||
4a9c2ee805 | |||
51e1e6d15c | |||
f0d2509dc3 | |||
95bb194356 | |||
de8b43a45d | |||
82be010fd8 | |||
2a0c116757 | |||
6cdaec4001 | |||
ed4baec40f | |||
9e8883c922 | |||
9bb64da895 | |||
049f348e25 | |||
be190cc4d9 | |||
0893789b34 | |||
7b5c6b657a | |||
9363fd3524 | |||
0ad242a81e | |||
7031449f01 | |||
06df79286d | |||
9297d87775 | |||
ef56b14553 | |||
30ff76272e | |||
52a7481ba6 | |||
14cfd74f08 | |||
fa97f7141b | |||
03bcd4c05b | |||
89574abc83 | |||
602078cbde | |||
96f63b08c2 | |||
d66cd0d206 | |||
ff13ad9e71 | |||
5e4b65d37e | |||
51fd0875d1 | |||
75f8903c7e | |||
124eb1ca18 | |||
b5d925817f | |||
c134091268 | |||
ff89693998 | |||
c26860dcb7 | |||
6757c7d20a | |||
751189253a | |||
21187a4cec | |||
b7db56ca9b | |||
261d36ba72 | |||
1e72874192 | |||
f29dbd1f18 | |||
b60836932a | |||
bf47d1b22d | |||
4ea0fca4fc | |||
809f820cd4 | |||
75235624b2 | |||
5ea54426b9 | |||
4aabcd9e7d | |||
918b3eeb42 | |||
482c655590 | |||
86b5a43008 | |||
d7cb2eeebc | |||
770231c2d7 | |||
ecdf62d63e | |||
d885486397 | |||
1524abc947 | |||
cb9842e4a4 | |||
140ab4dec1 | |||
845122497b | |||
d51a622fc0 | |||
e90466347a | |||
73f8c1c482 | |||
0ff75941ea | |||
e4bb2037ca | |||
481014ac9e | |||
6dbcb5f9da | |||
c1f06daf88 | |||
0717f76362 | |||
da738988cd | |||
e86e88ea47 | |||
ae338af1e8 | |||
3f9cc0ed37 | |||
8f8ecdb983 | |||
8f547c9d5d | |||
821f3e8ddf | |||
81be25bbd6 | |||
26d27fdbf8 | |||
c7e597cf72 | |||
e4db68a1da | |||
980a90f8fb | |||
87e4bf52b7 | |||
a368df61ac | |||
5e66b104dc | |||
08a5f41505 | |||
ec36762309 | |||
aa70020bc8 | |||
1e77e6fc79 | |||
68203e7091 | |||
cff0752bcc | |||
45d8e11123 | |||
5aee714b70 | |||
3c3c3b7c69 | |||
6ba2913075 | |||
75c4e1cd63 | |||
fb4a4ca4a2 | |||
4c2c1297be | |||
c5dbdad5fc | |||
4e05bcd3b6 | |||
3555550d5e | |||
8e05fa2728 | |||
d7c3050e2d | |||
89ba8562c3 | |||
82da73baff | |||
b2eeda9b46 | |||
0db41a3773 | |||
8d7f7e61dd | |||
3f4b253dac | |||
e4cbe5126a | |||
8357739ef8 | |||
6bef9334b7 | |||
8c49f45ac8 | |||
46600740fe | |||
c281e868a0 | |||
039431a73f | |||
d4f8ea1c53 | |||
96f5e2b33e | |||
93a542d52c | |||
f4fcba74ff | |||
cadbf7cd8b | |||
dd8e1aef51 | |||
15dc37a139 | |||
c23ad83c59 | |||
4a6f550acb | |||
8078d78c30 | |||
d7185d71c6 | |||
522ecba180 | |||
9b22f6183f | |||
b2c35e4fb0 | |||
af543daf1c | |||
baeb4079ee | |||
f91f9801b4 | |||
c5634335b0 | |||
2b4317349f | |||
96bfd1f8be | |||
33ab53068e | |||
40123ae6da | |||
df149524d4 | |||
f0ee9cdcf8 | |||
a3257e8df5 | |||
d2cf13eff4 | |||
8cd352b72b | |||
c210052dc6 | |||
0561af66e7 | |||
1e9b170d87 | |||
be02f76aa7 | |||
687928e7b7 | |||
ffdf3feb04 | |||
a60b8b3b50 | |||
3d6add68c7 | |||
85e055ffe3 | |||
1691e422e7 | |||
f442c9510e | |||
0de98eb772 | |||
30172b5625 | |||
8ae99a6898 | |||
5cfe5bf8c8 | |||
c790c01a3b | |||
d4a947b475 | |||
60d7999b6a | |||
c040d08b97 | |||
3a53b25873 | |||
d8e6f654a3 | |||
fdfcacf1db | |||
d3efbcce9b | |||
ac34dbe353 | |||
e0f3e13456 | |||
fdd9def922 | |||
771050f4d7 | |||
8451df977c | |||
ff55cf017e | |||
d36a180852 | |||
12c7f693d0 | |||
e0a8cb565e | |||
46547ae027 | |||
68745328df | |||
4582d7a183 | |||
cc5ed2fbf5 | |||
a2545d186a | |||
1ea22a5281 | |||
090057d2df | |||
b3aab7f401 | |||
8154728d09 | |||
5569090d1c | |||
fc3bc7678d | |||
8914a46669 | |||
e7ec373aee | |||
fe131f926d | |||
35d21c0bca | |||
b487846c0a | |||
7bbce1d5ad | |||
bf40d96a83 | |||
2d650e51a5 | |||
85d2837466 | |||
25985868e8 | |||
393c6c6805 | |||
775d6ec431 | |||
988f996407 | |||
315c8820ca | |||
8a89de04a2 | |||
63abfc163d | |||
f58cb34065 | |||
ece1329145 | |||
989118981b | |||
c511c469fe | |||
dac05c7e53 | |||
c90e7ce258 | |||
963f96292d | |||
989ee6593b | |||
2a8eea1ff5 | |||
55c287280b | |||
1fdd4ff313 | |||
3522338b3d | |||
61e3349dc7 | |||
dc27db0897 | |||
f09fbb19cf | |||
846fa77b37 | |||
b57bcf823f | |||
548e19a7cd | |||
4ae04d5aa8 | |||
5d5ca80d17 | |||
d81237b9d6 | |||
71b3b03b2f | |||
8c909e37e9 | |||
6508fa4349 | |||
ce8fb83c36 | |||
58ec607818 | |||
f06223df48 | |||
9a8ced9f5b | |||
67c45e5648 | |||
b88ed3f251 | |||
669b0f193a | |||
9cad7ae975 | |||
48e6a58250 | |||
d2583aa47b | |||
0ab34fe21f | |||
0f947d4ff9 | |||
9dc421875b | |||
9c3c9a155e | |||
faaed642a7 | |||
9b99b67fea | |||
693dd79d28 | |||
400d045a6a | |||
e20cf1ac78 | |||
8d4e650a95 | |||
82fd68b985 | |||
6ddd43f361 | |||
4e2ae30a47 | |||
32bc064d10 | |||
87606c6a6b | |||
955afb8711 | |||
3309031fd1 | |||
a2235c269a | |||
1cf2c9edd0 | |||
64a3ecf9b1 | |||
f144ed6e87 | |||
a47e0f9845 | |||
0737c8f416 | |||
fba350eaad | |||
6d5e93b00b | |||
f526e592fe | |||
751a94ab5d | |||
e0e128e207 | |||
137e6c8493 | |||
72751c2d92 | |||
b84fa852f6 | |||
d20961f323 | |||
5a01395a2b | |||
e59ca7053b | |||
6895592a7b | |||
eed27a2a4c | |||
43c6afa80f | |||
7d60f418e7 | |||
94dca1606f | |||
27774582b6 | |||
7dc08b06b1 | |||
a9d73b1017 | |||
25e4d0ba8b | |||
2d56395921 | |||
0ecddafc20 | |||
af34c8d2f4 | |||
5223599145 | |||
c96af776d6 | |||
34da48453e | |||
13dcd78be1 | |||
3bfa9916da | |||
b17017679b | |||
9d7832ea44 | |||
49605c7b00 | |||
bf8b9cecf5 | |||
c291291304 | |||
e08a4acd06 | |||
0397a104ba | |||
a41c1d4fda | |||
8ae3ed907a | |||
31cd8f738c | |||
a4cd9e0038 | |||
e06109c23c | |||
05485fe04c | |||
13062af7ef | |||
5e254666b0 | |||
d29eb8646a | |||
f1af37f220 | |||
d3880c0bff | |||
4dfa39457e | |||
325ff73c5b | |||
1fa4e3b1b2 | |||
f89091d0f0 | |||
859927df39 | |||
e7512fcd79 | |||
2b70151794 | |||
153b7d525d | |||
2e80995f19 | |||
9232cbf8a7 | |||
55f74bb863 | |||
b02e3719b3 | |||
3ba4304da9 | |||
49d6db34b7 | |||
63a0e521fd | |||
c00d79bae2 | |||
30d902f898 | |||
8f9da6f801 | |||
20648e9207 | |||
614fe202e0 | |||
c3646a7642 | |||
772df91762 | |||
c90910731f | |||
ba69cd99d1 | |||
fb6e341efd | |||
3dc4f01113 | |||
d94d0f60c8 | |||
8d79f6f4c8 | |||
c5e5bb0be1 | |||
8d139bbd95 | |||
fb1bb291eb | |||
3199620a83 | |||
c88bb66369 | |||
a60d57ea1f | |||
527ce66cd4 | |||
40415a6849 | |||
1ff638a51f | |||
2a9ccf2e2c | |||
2909d91c13 | |||
0dba12193d | |||
02f40b3b63 | |||
1fd51efc7f | |||
6f881f232e | |||
be12c71534 | |||
6aa1b817c9 | |||
300961e19e | |||
b191e9ef91 | |||
5ec5978d4a | |||
f4d90bc127 | |||
bfa34914db | |||
8d1e4659d1 | |||
b3b91f1699 | |||
ff4c5270d3 | |||
e240f7ea59 | |||
9f1ad5d86d | |||
a1ab32af0f | |||
3fac0632a8 | |||
c2b518929d | |||
c422d82752 | |||
da0c7fc2b6 | |||
167bc080d9 | |||
7d7a15f978 | |||
1b5cf0b8a8 | |||
306b005943 | |||
d229abf07d | |||
6f6251c0bc | |||
fd034e3551 | |||
f9bee05d49 | |||
37c6fbc6b2 | |||
9719604b79 | |||
b6262f0666 | |||
6c0bd207e9 | |||
91b13effc8 | |||
143ab6ac7f | |||
3e5b90dbba | |||
b82039e324 | |||
83862d04a0 | |||
52d07f6d9b | |||
21de88c3ba | |||
456ca3d3e0 | |||
f4ba3e4ab8 | |||
d4db5a59c1 | |||
4aee87a31b | |||
e8f5a842b1 | |||
5c681a76b6 | |||
53a24e6ddd | |||
b27c89f836 | |||
9f870aa1c7 | |||
c9cfeb8318 | |||
497e66ce6a | |||
bc973b80d7 | |||
85846d88f0 | |||
6b7c85b079 | |||
d80ef67d1d | |||
62f3457a95 | |||
636ab4b0e9 | |||
23e382dd33 | |||
f5a170ce46 | |||
fbd6beea2c | |||
360f5b1642 | |||
f0a785df9d | |||
e2c1bfbedd | |||
7e5a1cfd90 | |||
07deda593a | |||
1ca39e8586 | |||
402fd8ec29 | |||
fbe2e30f38 | |||
fb6ead2881 | |||
7ff7fb5d3b | |||
8030d9ad32 | |||
45bc850715 | |||
51a913730e | |||
0a4974ac8c | |||
1666fa195d | |||
a9df4e7516 | |||
343b3351f1 | |||
407b12c3cb | |||
455a8f3076 | |||
5067bda61a | |||
e138b6e3af | |||
9bc9d5165f | |||
26c2cb9f65 | |||
da44649e6f | |||
a0def23940 | |||
f49b58cf97 | |||
cadd9a99c0 | |||
7061889a29 | |||
764527c8c9 | |||
18742fcc32 | |||
5c33fe4a0a | |||
4f427f4e0d | |||
6d3c740b37 | |||
34c4627db9 | |||
b08b125df6 | |||
50301bcfd4 | |||
c2cacc63ee | |||
c226081a23 | |||
16f4e4dc4c | |||
308b58175f | |||
454e3fd39a | |||
e4d72fb2b0 | |||
f3fcc4adb7 | |||
867587ef4c | |||
b68fb35783 | |||
8dfed7e762 | |||
97fe4f761a | |||
ba8210ea98 | |||
656168543f | |||
8378c9c9e0 | |||
de16fe8dff | |||
793f053309 | |||
bea34da289 | |||
aafec16f49 | |||
73df61f36d | |||
39e6375aff | |||
ed21a4e5c1 | |||
73472ba6a7 | |||
702417ce83 | |||
766e9034e2 | |||
91748aedb7 | |||
4783d767d6 | |||
dedbf0cb09 | |||
e5b7462b94 | |||
48b0a91385 | |||
6170bea283 | |||
dcceb615bf | |||
da673639ca | |||
dd7727e315 | |||
f3ba1e65ba | |||
f8b4696211 | |||
d71d85e90c | |||
660a2b6e62 | |||
cc347bf6d8 | |||
26ffeaae47 | |||
01a57206bc | |||
279072795f | |||
c89d6a633a | |||
fecc0c06ac | |||
512862f2d7 | |||
a90fcb7ddb | |||
6baf490aab | |||
f971b8426d | |||
83c6b2ab48 | |||
24742f3566 | |||
03a46be5c7 | |||
9a26b970f9 | |||
2ef71b62df | |||
766288eec1 | |||
53e8285cf0 | |||
ff844a2a81 | |||
78997cb7eb | |||
f52574bd28 | |||
e6a814fac8 | |||
ddb85c03c3 | |||
66c4b1a8b6 | |||
11daf14e80 | |||
35484151ce | |||
1bccbe7f11 | |||
b4162afa65 | |||
eb51942a05 | |||
23e5cd4e10 | |||
13f3f75303 | |||
3dd8ffc2bb | |||
541847d8b6 | |||
fb9854c003 | |||
c748b9de5c | |||
34e85342d8 | |||
91b7474d5a | |||
d76162c1c0 | |||
2b517e352d | |||
08203c9c1e | |||
d29e5765ba | |||
61beccf733 | |||
ffb8bd5fa7 | |||
7f6e2ff36b | |||
7d94bfa642 | |||
eb3c857f23 | |||
a096ed37d6 | |||
498a743c08 | |||
2c91b6164c | |||
04352ae158 | |||
5c5dc03b78 | |||
8a89e22e8e | |||
8f851e8adf | |||
49e4757c0b | |||
dc002a61eb | |||
bea3987f3e | |||
7cd37a4017 | |||
3d69fa8b9c | |||
3a52bfbc0f | |||
38c0f3bbf2 | |||
7b1533caf7 | |||
afd83d929e | |||
d9e8a525de | |||
b25142c517 | |||
6893fc3810 | |||
13ef33ae0a | |||
f8886468ce | |||
3bf0511f1b | |||
1b485427cf | |||
ebf04e3a95 | |||
2f78b8428b | |||
00eef6cd5d | |||
5c031200ce | |||
4340260c49 | |||
96e534796f | |||
3ee878491b | |||
b92ddc0d39 | |||
c8a4a91681 | |||
e572d5d08c | |||
9829d56bfa | |||
b30d999878 | |||
35b62baf6e | |||
39f61fc41c | |||
d3939a38a3 | |||
b97fc02e57 | |||
ea1adea24d | |||
eb7533bbf1 | |||
69ea038a8f | |||
b80115dc6e | |||
36b8dcbe07 | |||
07fa5ef849 | |||
d9a75412c3 | |||
66f9a9df81 | |||
4bfdd677e3 | |||
002160e524 | |||
f2df347ddb | |||
799bbdb503 | |||
1aff64a38b | |||
574c560677 | |||
f8db5aa106 | |||
b18469427e | |||
72c4f148ef | |||
94f6976ddd | |||
be187f4149 | |||
1b872c1195 | |||
89f2187d72 | |||
943df86cb0 | |||
a5a6c699c3 | |||
a0467bf875 | |||
b1da3ae772 | |||
8af466e34d | |||
66c7616892 | |||
c05098cd12 | |||
4723dd1f4c | |||
7e4c32ec1f | |||
3d443d5b17 | |||
3155d03d9e | |||
989c0ee49e | |||
69f6c43b60 | |||
bf2d012e40 | |||
4d773a5ce9 | |||
711d4ba65c | |||
4490463513 | |||
1ec5117715 | |||
bf367daaba | |||
1de008f2d5 | |||
4baa091bc5 | |||
cb7d1925ef | |||
3ddae9d815 | |||
e22421a25a | |||
09a1e61c63 | |||
7345a6f276 | |||
fda938175e | |||
3a39fb5ab8 | |||
1a0ec782b5 | |||
a96753f085 | |||
4ff94f80a0 | |||
e6d4581959 | |||
07bbcb1b48 | |||
f4ea9074d0 | |||
d4ee2e8bbf | |||
cf82d5ba85 | |||
5e04f6eb23 | |||
0dd171a7c8 | |||
837fbbf417 | |||
d7b61e7281 | |||
073da0806c | |||
ff54b0d35e | |||
ff2a736193 | |||
c6cf81f28b | |||
104d1ae151 | |||
12e14884ef | |||
3c4a5a67e2 | |||
e4f9efc134 | |||
bd665df321 | |||
bd197789c1 | |||
daff787a62 | |||
ff1343611f | |||
da05c85f3c | |||
648179a2db | |||
a5ad81d923 | |||
abfa61abc5 | |||
abdfaeb444 | |||
06b690ff21 | |||
d0226c7897 | |||
19e084036a | |||
a7d974e670 | |||
7a0c866d97 | |||
cc3f439323 | |||
51b7eb7a2b | |||
023859ee4b | |||
09acd0a3db | |||
bf213af362 | |||
bfb0bc7a29 | |||
c00f1d040b | |||
ba7cfff90c | |||
548c41d164 | |||
172d21cf50 | |||
5c8f3a65f7 | |||
07369125b6 | |||
59cae58f25 | |||
e07b9a75b5 | |||
19fc7c4d31 | |||
d66f5ab3c6 | |||
c773c8c162 | |||
9a3ed0056e | |||
b3999e4078 | |||
d0a587d42f | |||
2bb8e1be9b | |||
967a6ae44d | |||
89ca5e71d4 | |||
4c4d23ed83 | |||
7173ec1df7 | |||
bc465ab006 | |||
fe4973b585 | |||
0d0384ebb1 | |||
27ef8eb9a0 | |||
24a3fd4c4d | |||
d9f8e04478 | |||
b9f6032ddd | |||
d62391c8f1 | |||
ab24ee7a7e | |||
c52fd9373c | |||
1249655d0a | |||
120b907c33 | |||
3848513cf4 | |||
725c72e020 | |||
0b113094b4 | |||
3633e1feca | |||
4759197200 | |||
1d39afabdc | |||
483607311c | |||
d90a79fe7a | |||
87ed0118d1 | |||
1f5eccbc70 | |||
dac2274993 | |||
39db86e755 | |||
255627bd69 | |||
0afac36713 | |||
c0c027c608 | |||
e938986a74 | |||
32fa060a62 | |||
38da479ee8 | |||
574ab04e9f | |||
ee6635282c | |||
ff39b3274b | |||
2c1d654035 | |||
1bdb065ffa | |||
57669bca1b | |||
e647ceb4d1 | |||
4d9e84f6f7 | |||
5171bdd45f | |||
9ab0071aa5 | |||
cf39b2db87 | |||
8a1c0f3a42 | |||
4b42879a2c | |||
394121f77d | |||
f4f8982825 | |||
7220f6d25b | |||
059fb5c7cb | |||
0057c19bfc | |||
05409b949f | |||
affbec73ef | |||
e781e1fdba | |||
12de4e67f8 | |||
9201701c95 | |||
6e7344b837 | |||
b8f8e1710b | |||
8b0a67fe64 | |||
1eb1b1be4e | |||
de5a4a98c9 | |||
26a49168ba | |||
ff4623454f | |||
cf5204760d | |||
46c13349fc | |||
2a3875775d | |||
38b38732d3 | |||
24c8f5bb70 | |||
c02296a9b9 | |||
4eb122ea8d | |||
90d5d16343 | |||
45c8f0b76c | |||
236ee9e483 | |||
459b200cc0 | |||
45bc8ae292 | |||
fbfe5a1988 | |||
87a6dc1b95 | |||
1b11f0673e | |||
3a4dd55c11 | |||
1219a304fb | |||
9d941f8202 | |||
0c232876c3 | |||
dcbc7236a0 | |||
80a869e768 | |||
b7d874d36b | |||
9f9f4a4cf6 | |||
217a2f3216 | |||
84e94db275 | |||
5f2a6003e1 | |||
2876a8afe1 | |||
6f12864776 | |||
5934dc16d3 | |||
bcc652632d | |||
95ebbb9360 | |||
775c3345eb | |||
c8734b8f35 | |||
9f2dbfd463 | |||
d6c0a53db9 | |||
9c7098816e | |||
8834088f3b | |||
0d766dcf70 | |||
41da4b0681 | |||
5cad5c20e9 | |||
133b623204 | |||
d44a4a6a62 | |||
06565542e7 | |||
ead73e5195 | |||
c395a1d1cd | |||
4f1174ccbb | |||
b78f09de78 | |||
9eff9adaae | |||
41b4c51341 | |||
9bada1f2fb | |||
7e27a2db3d | |||
523eec521c | |||
77890c6000 | |||
40a50f77ea | |||
ccc64e2621 | |||
b58eaeb3e7 | |||
e206e3ba59 | |||
71ec81cff7 | |||
37adbf610d | |||
6ed3d3d05d | |||
c023eba22c | |||
c7fb61984b | |||
65b1e04f13 | |||
90786509bb | |||
ebaf969a05 | |||
d2a62bcc7f | |||
66a8f2860d | |||
d96131793a | |||
6c6c89c634 | |||
e57768e2e8 | |||
d43401cc74 | |||
9e5071849c | |||
55bfc4d820 | |||
6577a295da | |||
a0db95e00f | |||
1562d6c63a | |||
8d3277cb37 | |||
c65d820390 | |||
9f5f6aa9b2 | |||
261d6d35f5 | |||
0f34cbb658 | |||
077a1d2309 | |||
ea6b34de0f | |||
66835c6e15 | |||
99e81b32f4 | |||
fe69dacaf1 | |||
6daeb048af | |||
db4dfd8fa5 | |||
0b150a17c5 | |||
43a45c091d | |||
f4e35a9e82 | |||
cc5adcbeef | |||
848cc1bb19 | |||
654093dc40 | |||
aebea82474 | |||
a6b29d6501 | |||
9766562062 | |||
c6a79fafc9 | |||
7fc4fe9a97 | |||
ee0a36e6a3 | |||
a5972d2882 | |||
2fdc627257 | |||
77f77b4305 | |||
910a1aed96 | |||
bf0bd21757 | |||
e1be4ba434 | |||
7c8ed95330 | |||
f351cfa2f7 | |||
d26bb38be9 | |||
b75e61d5c8 | |||
ca35ae4364 | |||
f6fa08fa75 | |||
46f94241eb | |||
ea2ddaa9dd | |||
b4d491a4d2 | |||
463dcc6b93 | |||
f755905c75 | |||
b70fb5b69a | |||
8b64d88091 | |||
b66c8b1411 | |||
d6a746dceb | |||
224ab2e543 | |||
dee738e24f | |||
84c7890917 | |||
fd484099ae | |||
727c84251d | |||
37e55df298 | |||
2644f62318 | |||
893bde0ca1 | |||
bd0bf3d3d0 | |||
05c918dc1a | |||
3651cb2047 | |||
b9c7631a55 | |||
b59c9c6946 | |||
f02313c1c6 | |||
6493789bc9 | |||
4081b97462 | |||
c20451c2e7 | |||
16dcb1ac15 | |||
c1ee656c35 | |||
cd09144069 | |||
7851069d9c | |||
e42700a308 | |||
febc0690c1 | |||
308b4f81b5 | |||
66a3ad42da | |||
1b84a3ecb2 | |||
78fd9d9e4f | |||
baa5bfcf49 | |||
5d88729fc1 | |||
15b59414d6 | |||
2b39d6e95a | |||
73eaf0df9f | |||
54e2d3ceb7 | |||
d3cfb5801b | |||
143cda628e | |||
e90940ae10 | |||
34207cc457 | |||
cedcda0ccc | |||
cfcf1d5192 | |||
8d9bc4bc4c | |||
d456e938d2 | |||
f15208e26d | |||
1999a359fa | |||
3c180bc8f7 | |||
8de42d1f63 | |||
1769a96362 | |||
37a3d0d09a | |||
e16def0c43 | |||
83d083f189 | |||
b1ea4f6c35 | |||
60c540e93a | |||
f3b56e0eb1 | |||
c8d02be14a | |||
42b50051ac | |||
bda18888c0 | |||
c150fe95b9 | |||
8b4b9d396b | |||
9c0f069f86 | |||
8929c89d1f | |||
881eab7669 | |||
141652b7ec | |||
b5651e38c7 | |||
33ae220ad2 | |||
6ec996e45b | |||
4f3e847897 | |||
07a1f107cc | |||
e062f27edc | |||
36c417e6d9 | |||
87ca1e034f | |||
dbf1ffc9d4 | |||
c5bed7e963 | |||
fa915ff7ea | |||
cbced1ce28 | |||
900d36d0ea | |||
62441ebeb4 | |||
051f081db7 | |||
ddbc4ef42e | |||
fc4dfa11c3 | |||
60f12da3cd | |||
40f7d61524 | |||
1263f84c3f | |||
9d91b586d8 | |||
ab8bce35f1 | |||
7287ee3651 | |||
9d7a319721 | |||
b7df1133b8 | |||
dfb8737007 | |||
a06a418ac1 | |||
35063c9e7c | |||
ded4586781 | |||
89790ac723 | |||
d253b0671b | |||
e58dcd3040 | |||
050a1898ab | |||
79a8fa2ede | |||
7819f8f82e | |||
5c570460cf | |||
07882c4b6a | |||
f26eb304f5 | |||
7b33e240ed | |||
a205f4e249 | |||
e16c64dbdd | |||
404ae0a897 | |||
9e00e8a0fb | |||
529829a561 | |||
ed84541050 | |||
075f4a5efc | |||
f1bd94a367 | |||
db69ad876a | |||
c6f297e4e5 | |||
1067642300 | |||
059524b007 | |||
1d72f28a1c | |||
5b92e3a9a8 | |||
8795668c41 | |||
872c84a1c3 | |||
b47879d0a7 | |||
679fc20765 | |||
db85e7084c | |||
1afd2c6ad2 | |||
a74a9f6443 | |||
f49e20bbae | |||
9916989272 | |||
1054f7533a | |||
5f457f6ed2 | |||
9df2edc87e | |||
28eb94402e | |||
d2bf869c16 | |||
05ea1bdac2 | |||
454e85f0a9 | |||
45c5f21f6c | |||
59bd2dd1e3 | |||
3c47923953 | |||
dbaf5687dd | |||
20895c7791 | |||
ddeb2fa05d | |||
7a1f4f9af3 | |||
dc578a9e79 | |||
040c1638ea | |||
ded8412a2a | |||
2f3738fae0 | |||
a59da75830 | |||
2b184a10d6 | |||
fc36837606 | |||
4871845d01 | |||
53ac00eabb | |||
75905ebd3c | |||
12f033ee0f | |||
964106513e |
@ -1,3 +1,8 @@
|
||||
extends:
|
||||
- ./lint/eslintrc-gjs.yml
|
||||
- ./lint/eslintrc-shell.yml
|
||||
overrides:
|
||||
- files:
|
||||
- js/ui/init.js
|
||||
parserOptions:
|
||||
sourceType: module
|
1
.gitignore
vendored
@ -60,7 +60,6 @@ src/calendar-server/evolution-calendar.desktop
|
||||
src/calendar-server/org.gnome.Shell.CalendarServer.service
|
||||
src/gnome-shell
|
||||
src/gnome-shell-calendar-server
|
||||
src/gnome-shell-extension-prefs
|
||||
src/gnome-shell-extension-tool
|
||||
src/gnome-shell-hotplug-sniffer
|
||||
src/gnome-shell-perf-helper
|
||||
|
356
.gitlab-ci.yml
@ -1,98 +1,288 @@
|
||||
include:
|
||||
- remote: 'https://gitlab.gnome.org/GNOME/citemplates/raw/HEAD/flatpak/flatpak_ci_initiative.yml'
|
||||
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
|
||||
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/ci-fairy.yml'
|
||||
|
||||
stages:
|
||||
- review
|
||||
- build
|
||||
- test
|
||||
- pre_review
|
||||
- prep
|
||||
- review
|
||||
- build
|
||||
- test
|
||||
- analyze
|
||||
- deploy
|
||||
|
||||
default:
|
||||
# Cancel jobs if newer commits are pushed to the branch
|
||||
interruptible: true
|
||||
# Auto-retry jobs in case of infra failures
|
||||
retry:
|
||||
max: 1
|
||||
when:
|
||||
- 'runner_system_failure'
|
||||
- 'stuck_or_timeout_failure'
|
||||
- 'scheduler_failure'
|
||||
- 'api_failure'
|
||||
|
||||
variables:
|
||||
JS_LOG: "js-report.txt"
|
||||
POT_LOG: "pot-update.txt"
|
||||
FDO_UPSTREAM_REPO: GNOME/gnome-shell
|
||||
BUNDLE: "extensions-git.flatpak"
|
||||
JS_LOG: "js-report.txt"
|
||||
LINT_LOG: "eslint-report.xml"
|
||||
LINT_MR_LOG: "eslint-mr-report.xml"
|
||||
|
||||
.only_default: &only_default
|
||||
only:
|
||||
- branches
|
||||
- tags
|
||||
- merge_requests
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/fedora/34:x86_64-2021-09-04.1
|
||||
|
||||
workflow:
|
||||
rules:
|
||||
- if: '$CI_MERGE_REQUEST_IID'
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
- if: '$CI_COMMIT_BRANCH'
|
||||
|
||||
.pipeline_guard: &pipeline_guard
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
- if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'
|
||||
- if: '$CI_COMMIT_BRANCH =~ /^gnome-[0-9-]+$/'
|
||||
- when: 'manual'
|
||||
|
||||
.gnome-shell.fedora:34:
|
||||
variables:
|
||||
FDO_DISTRIBUTION_VERSION: 34
|
||||
FDO_DISTRIBUTION_TAG: '2021-08-12.0'
|
||||
FDO_DISTRIBUTION_PACKAGES: >
|
||||
findutils mozjs78-devel nodejs npm meson
|
||||
pkgconfig(gio-2.0) pkgconfig(gio-unix-2.0)
|
||||
pkgconfig(gnome-autoar-0) pkgconfig(json-glib-1.0)
|
||||
FDO_DISTRIBUTION_EXEC: |
|
||||
# For static analysis with eslint
|
||||
npm install -g eslint eslint-plugin-jsdoc &&
|
||||
|
||||
dnf group install -y 'Development Tools' \
|
||||
'C Development Tools and Libraries' &&
|
||||
|
||||
./.gitlab-ci/install-meson-project.sh \
|
||||
-Dman=false \
|
||||
https://gitlab.gnome.org/GNOME/gnome-shell.git \
|
||||
3.38.0 \
|
||||
subprojects/extensions-tool/ \
|
||||
./generate-translations.sh &&
|
||||
|
||||
dnf clean all
|
||||
|
||||
check_commit_log:
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v3
|
||||
stage: review
|
||||
variables:
|
||||
GIT_DEPTH: "100"
|
||||
script:
|
||||
- ./.gitlab-ci/check-commit-log.sh
|
||||
only:
|
||||
- merge_requests
|
||||
extends:
|
||||
- .fdo.ci-fairy
|
||||
stage: pre_review
|
||||
variables:
|
||||
GIT_DEPTH: "100"
|
||||
script:
|
||||
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
|
||||
then
|
||||
ci-fairy check-commits --junit-xml=commit-message-junit-report.xml ;
|
||||
else
|
||||
echo "Not a merge request" ;
|
||||
fi
|
||||
<<: *pipeline_guard
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
paths:
|
||||
- commit-message-junit-report.xml
|
||||
reports:
|
||||
junit: commit-message-junit-report.xml
|
||||
|
||||
check-merge-request:
|
||||
extends:
|
||||
- .fdo.ci-fairy
|
||||
stage: pre_review
|
||||
script:
|
||||
- if [[ x"$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" != "x" ]] ;
|
||||
then
|
||||
ci-fairy check-merge-request --require-allow-collaboration --junit-xml=check-merge-request-report.xml ;
|
||||
else
|
||||
echo "Not a merge request" ;
|
||||
fi
|
||||
<<: *pipeline_guard
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
paths:
|
||||
- check-merge-request-report.xml
|
||||
reports:
|
||||
junit: check-merge-request-report.xml
|
||||
|
||||
build-fedora-container:
|
||||
extends:
|
||||
- .fdo.container-build@fedora@x86_64
|
||||
- .gnome-shell.fedora:34
|
||||
stage: prep
|
||||
|
||||
js_check:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
stage: review
|
||||
script:
|
||||
- find js -name '*.js' -exec js60 -c -s '{}' ';' 2>&1 | tee $JS_LOG
|
||||
- (! grep -q . $JS_LOG)
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
paths:
|
||||
- ${JS_LOG}
|
||||
when: on_failure
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell.fedora:34
|
||||
stage: review
|
||||
script:
|
||||
- find js -name '*.js' $(printf "! -wholename %s " $(cat .jscheckignore)) -exec js78 -c '{}' ';' 2>&1 | tee $JS_LOG
|
||||
- (! grep -q . $JS_LOG)
|
||||
artifacts:
|
||||
paths:
|
||||
- ${JS_LOG}
|
||||
when: on_failure
|
||||
|
||||
eslint:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v1
|
||||
stage: review
|
||||
script:
|
||||
- ./.gitlab-ci/run-eslint.sh
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
paths:
|
||||
- reports
|
||||
when: always
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell.fedora:34
|
||||
stage: review
|
||||
script:
|
||||
- export NODE_PATH=$(npm root -g)
|
||||
- ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit
|
||||
artifacts:
|
||||
reports:
|
||||
junit: ${LINT_LOG}
|
||||
when: always
|
||||
|
||||
eslint_mr:
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell.fedora:34
|
||||
stage: review
|
||||
script:
|
||||
- export NODE_PATH=$(npm root -g)
|
||||
- ./.gitlab-ci/run-eslint --output-file ${LINT_MR_LOG} --format junit
|
||||
--remote ${CI_MERGE_REQUEST_PROJECT_URL}.git
|
||||
--branch ${CI_MERGE_REQUEST_TARGET_BRANCH_NAME}
|
||||
only:
|
||||
- merge_requests
|
||||
artifacts:
|
||||
reports:
|
||||
junit: ${LINT_MR_LOG}
|
||||
when: always
|
||||
|
||||
potfile_c_check:
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell.fedora:34
|
||||
stage: review
|
||||
script:
|
||||
- ./.gitlab-ci/check-potfiles.sh
|
||||
|
||||
potfile_js_check:
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell.fedora:34
|
||||
stage: review
|
||||
script:
|
||||
- js78 -m .gitlab-ci/check-potfiles.js
|
||||
|
||||
no_template_check:
|
||||
extends:
|
||||
- .fdo.distribution-image@fedora
|
||||
- .gnome-shell.fedora:34
|
||||
stage: review
|
||||
script:
|
||||
- ./.gitlab-ci/check-template-strings.sh
|
||||
|
||||
build:
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v3
|
||||
stage: build
|
||||
before_script:
|
||||
- .gitlab-ci/checkout-mutter.sh
|
||||
- meson mutter mutter/build --prefix=/usr -Dtests=false
|
||||
- ninja -C mutter/build install
|
||||
script:
|
||||
- meson . build -Dbuiltype=debugoptimized -Dman=false --werror
|
||||
- ninja -C build
|
||||
- ninja -C build install
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
expire_in: 1 day
|
||||
paths:
|
||||
- mutter
|
||||
- build
|
||||
stage: build
|
||||
needs: ["check_commit_log"]
|
||||
before_script:
|
||||
- .gitlab-ci/checkout-mutter.sh
|
||||
- meson mutter mutter/build --prefix=/usr
|
||||
- meson install -C mutter/build
|
||||
script:
|
||||
- meson . build -Dbuildtype=debugoptimized -Dman=false --werror
|
||||
- meson compile -C build
|
||||
- meson install -C build
|
||||
artifacts:
|
||||
expire_in: 1 day
|
||||
paths:
|
||||
- mutter
|
||||
- build
|
||||
|
||||
test:
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v3
|
||||
stage: test
|
||||
variables:
|
||||
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
|
||||
NO_AT_BRIDGE: "1"
|
||||
before_script:
|
||||
- ninja -C mutter/build install
|
||||
script:
|
||||
- dbus-run-session -- xvfb-run meson test -C build --no-rebuild
|
||||
<<: *only_default
|
||||
artifacts:
|
||||
expire_in: 1 day
|
||||
paths:
|
||||
- build/meson-logs/testlog.txt
|
||||
when: on_failure
|
||||
stage: test
|
||||
needs: ["build"]
|
||||
variables:
|
||||
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
|
||||
NO_AT_BRIDGE: "1"
|
||||
before_script:
|
||||
- meson install -C mutter/build
|
||||
script:
|
||||
- dbus-run-session -- xvfb-run meson test -C build --no-rebuild
|
||||
artifacts:
|
||||
expire_in: 1 day
|
||||
paths:
|
||||
- build/meson-logs/testlog.txt
|
||||
reports:
|
||||
junit: build/meson-logs/testlog.junit.xml
|
||||
when: on_failure
|
||||
|
||||
test-pot:
|
||||
image: registry.gitlab.gnome.org/gnome/mutter/master:v3
|
||||
stage: test
|
||||
before_script:
|
||||
- ninja -C mutter/build install
|
||||
script:
|
||||
# Check that pot files are generated correctly:
|
||||
# https://savannah.gnu.org/bugs/?50920#comment5
|
||||
- ninja -C build gnome-shell-pot 2>&1 | awk '
|
||||
BEGIN { start=0; }
|
||||
start==1 { print $0; }
|
||||
/gnome-shell-pot/ { start=1; }
|
||||
' | tee $POT_LOG
|
||||
- (! grep -q . $POT_LOG)
|
||||
<<: *only_default
|
||||
test-coverity:
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "schedule" && $GNOME_SHELL_SCHEDULED_JOB == "coverity"'
|
||||
when: always
|
||||
- when: manual
|
||||
needs: ["build"]
|
||||
stage: analyze
|
||||
allow_failure: true
|
||||
before_script:
|
||||
- meson install -C mutter/build
|
||||
script:
|
||||
- .gitlab-ci/download-coverity-tarball.sh
|
||||
- CC=clang meson coverity-build -Dman=false
|
||||
- ./coverity/cov-analysis-linux64-*/bin/cov-build --fs-capture-search js --dir cov-int meson compile -C coverity-build
|
||||
- tar czf cov-int.tar.gz cov-int
|
||||
- curl https://scan.coverity.com/builds?project=GNOME+Shell
|
||||
--form token=$COVERITY_TOKEN --form email=carlosg@gnome.org
|
||||
--form file=@cov-int.tar.gz --form version="`git describe --tags`"
|
||||
--form description="GitLab CI build"
|
||||
cache:
|
||||
key: coverity-tarball
|
||||
paths:
|
||||
- coverity
|
||||
|
||||
flatpak:
|
||||
stage: build
|
||||
needs: ["check_commit_log"]
|
||||
variables:
|
||||
SUBPROJECT: "subprojects/extensions-app"
|
||||
# Your manifest path
|
||||
MANIFEST_PATH: "$SUBPROJECT/build-aux/flatpak/org.gnome.Extensions.json"
|
||||
RUNTIME_REPO: "https://nightly.gnome.org/gnome-nightly.flatpakrepo"
|
||||
FLATPAK_MODULE: "gnome-extensions-app"
|
||||
APP_ID: "org.gnome.Extensions.Devel"
|
||||
extends: .flatpak
|
||||
|
||||
nightly:
|
||||
extends: '.publish_nightly'
|
||||
variables:
|
||||
BUNDLES: '$BUNDLE'
|
||||
|
||||
dist:
|
||||
variables:
|
||||
XDG_RUNTIME_DIR: "$CI_PROJECT_DIR/runtime-dir"
|
||||
NO_AT_BRIDGE: "1"
|
||||
stage: deploy
|
||||
needs: ["build"]
|
||||
before_script:
|
||||
- meson install -C mutter/build
|
||||
- mkdir -m 700 $XDG_RUNTIME_DIR
|
||||
script:
|
||||
- dbus-run-session xvfb-run meson dist -C build
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
changes:
|
||||
- "**/meson.build"
|
||||
- meson/*
|
||||
|
||||
|
||||
dist-tarball:
|
||||
extends: dist
|
||||
artifacts:
|
||||
expose_as: 'Get tarball here'
|
||||
paths:
|
||||
- build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
@ -1,18 +0,0 @@
|
||||
FROM registry.fedoraproject.org/fedora:latest
|
||||
|
||||
RUN dnf -y update && dnf -y upgrade && \
|
||||
dnf install -y 'dnf-command(copr)' git && \
|
||||
|
||||
# For syntax checks with `find . -name '*.js' -exec js60 -c -s '{}' ';'`
|
||||
dnf install -y findutils mozjs60-devel && \
|
||||
|
||||
# For static analysis with eslint
|
||||
dnf install -y nodejs && \
|
||||
npm install -g eslint && \
|
||||
|
||||
# Shameless plug for my own tooling; useful for generating zip
|
||||
dnf copr enable -y fmuellner/gnome-shell-ci && \
|
||||
dnf install -y gnome-extensions-tool meson && \
|
||||
|
||||
dnf clean all && \
|
||||
rm -rf /var/cache/dnf
|
@ -1,31 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
|
||||
echo Cannot review non-merge request
|
||||
exit 1
|
||||
fi
|
||||
|
||||
git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||
|
||||
branch_point=$(git merge-base HEAD FETCH_HEAD)
|
||||
|
||||
commits=$(git log --format='format:%H' $branch_point..$CI_COMMIT_SHA)
|
||||
|
||||
if [ -z "$commits" ]; then
|
||||
echo Commit range empty
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function commit_message_has_url() {
|
||||
commit=$1
|
||||
commit_message=$(git show -s --format='format:%b' $commit)
|
||||
echo "$commit_message" | grep -qe "\($CI_MERGE_REQUEST_PROJECT_URL/\(issues\|merge_requests\)/[0-9]\+\|https://bugzilla.gnome.org/show_bug.cgi?id=[0-9]\+\)"
|
||||
return $?
|
||||
}
|
||||
|
||||
for commit in $commits; do
|
||||
if ! commit_message_has_url $commit; then
|
||||
echo "Missing merge request or issue URL on commit $(echo $commit | cut -c -8)"
|
||||
exit 1
|
||||
fi
|
||||
done
|
202
.gitlab-ci/check-potfiles.js
Normal file
@ -0,0 +1,202 @@
|
||||
const gettextFuncs = new Set([
|
||||
'_',
|
||||
'N_',
|
||||
'C_',
|
||||
'NC_',
|
||||
'dcgettext',
|
||||
'dgettext',
|
||||
'dngettext',
|
||||
'dpgettext',
|
||||
'gettext',
|
||||
'ngettext',
|
||||
'pgettext',
|
||||
]);
|
||||
|
||||
function dirname(file) {
|
||||
const split = file.split('/');
|
||||
split.pop();
|
||||
return split.join('/');
|
||||
}
|
||||
|
||||
const scriptDir = dirname(import.meta.url);
|
||||
const root = dirname(scriptDir);
|
||||
|
||||
const excludedFiles = new Set();
|
||||
const foundFiles = new Set()
|
||||
|
||||
function addExcludes(filename) {
|
||||
const contents = os.file.readFile(filename);
|
||||
const lines = contents.split('\n')
|
||||
.filter(l => l && !l.startsWith('#'));
|
||||
lines.forEach(line => excludedFiles.add(line));
|
||||
}
|
||||
|
||||
addExcludes(`${root}/po/POTFILES.in`);
|
||||
addExcludes(`${root}/po/POTFILES.skip`);
|
||||
|
||||
function walkAst(node, func) {
|
||||
func(node);
|
||||
nodesToWalk(node).forEach(n => walkAst(n, func));
|
||||
}
|
||||
|
||||
function findGettextCalls(node) {
|
||||
switch(node.type) {
|
||||
case 'CallExpression':
|
||||
if (node.callee.type === 'Identifier' &&
|
||||
gettextFuncs.has(node.callee.name))
|
||||
throw new Error();
|
||||
if (node.callee.type === 'MemberExpression' &&
|
||||
node.callee.object.type === 'Identifier' &&
|
||||
node.callee.object.name === 'Gettext' &&
|
||||
node.callee.property.type === 'Identifier' &&
|
||||
gettextFuncs.has(node.callee.property.name))
|
||||
throw new Error();
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function nodesToWalk(node) {
|
||||
switch(node.type) {
|
||||
case 'ArrayPattern':
|
||||
case 'BreakStatement':
|
||||
case 'CallSiteObject': // i.e. strings passed to template
|
||||
case 'ContinueStatement':
|
||||
case 'DebuggerStatement':
|
||||
case 'EmptyStatement':
|
||||
case 'Identifier':
|
||||
case 'Literal':
|
||||
case 'MetaProperty': // i.e. new.target
|
||||
case 'Super':
|
||||
case 'ThisExpression':
|
||||
return [];
|
||||
case 'ArrowFunctionExpression':
|
||||
case 'FunctionDeclaration':
|
||||
case 'FunctionExpression':
|
||||
return [...node.defaults, node.body].filter(n => !!n);
|
||||
case 'AssignmentExpression':
|
||||
case 'BinaryExpression':
|
||||
case 'ComprehensionBlock':
|
||||
case 'LogicalExpression':
|
||||
return [node.left, node.right];
|
||||
case 'ArrayExpression':
|
||||
case 'TemplateLiteral':
|
||||
return node.elements.filter(n => !!n);
|
||||
case 'BlockStatement':
|
||||
case 'Program':
|
||||
return node.body;
|
||||
case 'CallExpression':
|
||||
case 'NewExpression':
|
||||
case 'TaggedTemplate':
|
||||
return [node.callee, ...node.arguments];
|
||||
case 'CatchClause':
|
||||
return [node.body, node.guard].filter(n => !!n);
|
||||
case 'ClassExpression':
|
||||
case 'ClassStatement':
|
||||
return [...node.body, node.superClass].filter(n => !!n);
|
||||
case 'ClassMethod':
|
||||
return [node.name, node.body];
|
||||
case 'ComprehensionExpression':
|
||||
case 'GeneratorExpression':
|
||||
return [node.body, ...node.blocks, node.filter].filter(n => !!n);
|
||||
case 'ComprehensionIf':
|
||||
return [node.test];
|
||||
case 'ComputedName':
|
||||
return [node.name];
|
||||
case 'ConditionalExpression':
|
||||
case 'IfStatement':
|
||||
return [node.test, node.consequent, node.alternate].filter(n => !!n);
|
||||
case 'DoWhileStatement':
|
||||
case 'WhileStatement':
|
||||
return [node.body, node.test];
|
||||
case 'ExportDeclaration':
|
||||
return [node.declaration, node.source].filter(n => !!n);
|
||||
case 'ImportDeclaration':
|
||||
return [...node.specifiers, node.source];
|
||||
case 'LetStatement':
|
||||
return [...node.head, node.body];
|
||||
case 'ExpressionStatement':
|
||||
return [node.expression];
|
||||
case 'ForInStatement':
|
||||
case 'ForOfStatement':
|
||||
return [node.body, node.left, node.right];
|
||||
case 'ForStatement':
|
||||
return [node.init, node.test, node.update, node.body].filter(n => !!n);
|
||||
case 'LabeledStatement':
|
||||
return [node.body];
|
||||
case 'MemberExpression':
|
||||
return [node.object, node.property];
|
||||
case 'ObjectExpression':
|
||||
case 'ObjectPattern':
|
||||
return node.properties;
|
||||
case 'OptionalExpression':
|
||||
return [node.expression];
|
||||
case 'OptionalMemberExpression':
|
||||
return [node.object, node.property];
|
||||
case 'Property':
|
||||
case 'PrototypeMutation':
|
||||
return [node.value];
|
||||
case 'ReturnStatement':
|
||||
case 'ThrowStatement':
|
||||
case 'UnaryExpression':
|
||||
case 'UpdateExpression':
|
||||
case 'YieldExpression':
|
||||
return node.argument ? [node.argument] : [];
|
||||
case 'SequenceExpression':
|
||||
return node.expressions;
|
||||
case 'SpreadExpression':
|
||||
return [node.expression];
|
||||
case 'SwitchCase':
|
||||
return [node.test, ...node.consequent].filter(n => !!n);
|
||||
case 'SwitchStatement':
|
||||
return [node.discriminant, ...node.cases];
|
||||
case 'TryStatement':
|
||||
return [node.block, node.handler, node.finalizer].filter(n => !!n);
|
||||
case 'VariableDeclaration':
|
||||
return node.declarations;
|
||||
case 'VariableDeclarator':
|
||||
return node.init ? [node.init] : [];
|
||||
case 'WithStatement':
|
||||
return [node.object, node.body];
|
||||
default:
|
||||
print(`Ignoring ${node.type}, you should probably fix this in the script`);
|
||||
}
|
||||
}
|
||||
|
||||
function walkDir(dir) {
|
||||
os.file.listDir(dir).forEach(child => {
|
||||
if (child.startsWith('.'))
|
||||
return;
|
||||
|
||||
const path = os.path.join(dir, child);
|
||||
const relativePath = path.replace(`${root}/`, '');
|
||||
if (excludedFiles.has(relativePath))
|
||||
return;
|
||||
|
||||
if (!child.endsWith('.js')) {
|
||||
try {
|
||||
walkDir(path);
|
||||
} catch (e) {
|
||||
// not a directory
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const script = os.file.readFile(path);
|
||||
const ast = Reflect.parse(script);
|
||||
walkAst(ast, findGettextCalls);
|
||||
} catch (e) {
|
||||
foundFiles.add(path);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
walkDir(root);
|
||||
|
||||
if (foundFiles.size === 0)
|
||||
quit(0);
|
||||
|
||||
print('The following files are missing from po/POTFILES.in:')
|
||||
foundFiles.forEach(f => print(` ${f}`));
|
||||
quit(1);
|
30
.gitlab-ci/check-potfiles.sh
Executable file
@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
srcdirs="src subprojects/extensions-tool"
|
||||
|
||||
# find source files that contain gettext keywords
|
||||
files=$(grep -lR --include='*.c' '\(gettext\|[^I_)]_\)(' $srcdirs)
|
||||
|
||||
# filter out excluded files
|
||||
if [ -f po/POTFILES.skip ]; then
|
||||
files=$(for f in $files; do ! grep -q ^$f po/POTFILES.skip && echo $f; done)
|
||||
fi
|
||||
|
||||
# find those that aren't listed in POTFILES.in
|
||||
missing=$(for f in $files; do ! grep -q ^$f po/POTFILES.in && echo $f; done)
|
||||
|
||||
if [ ${#missing} -eq 0 ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cat >&2 <<EOT
|
||||
|
||||
The following files are missing from po/POTFILES.po:
|
||||
|
||||
EOT
|
||||
for f in $missing; do
|
||||
echo " $f" >&2
|
||||
done
|
||||
echo >&2
|
||||
|
||||
exit 1
|
23
.gitlab-ci/check-template-strings.sh
Executable file
@ -0,0 +1,23 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# find files from POTFILES.in that use js template strings
|
||||
baddies=$(grep -l '${' $(grep ^js po/POTFILES.in))
|
||||
|
||||
if [ ${#baddies} -eq 0 ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cat >&2 <<EOT
|
||||
|
||||
xgettext cannot handle template strings properly, so we ban their use
|
||||
in files with translatable strings.
|
||||
|
||||
The following files are listed in po/POTFILES.in and use template strings:
|
||||
|
||||
EOT
|
||||
for f in $baddies; do
|
||||
echo " $f" >&2
|
||||
done
|
||||
echo >&2
|
||||
|
||||
exit 1
|
@ -1,11 +1,19 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
fetch() {
|
||||
local remote=$1
|
||||
local ref=$2
|
||||
|
||||
git fetch --quiet --depth=1 $remote $ref 2>/dev/null
|
||||
}
|
||||
|
||||
mutter_target=
|
||||
|
||||
git clone https://gitlab.gnome.org/GNOME/mutter.git
|
||||
|
||||
if [ $? -ne 0 ]; then
|
||||
echo Checkout failed
|
||||
echo -n Cloning into mutter ...
|
||||
if git clone --quiet --depth=1 https://gitlab.gnome.org/GNOME/mutter.git; then
|
||||
echo \ done
|
||||
else
|
||||
echo \ failed
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -15,19 +23,33 @@ if [ "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
|
||||
merge_request_remote=${CI_MERGE_REQUEST_SOURCE_PROJECT_URL//gnome-shell/mutter}
|
||||
merge_request_branch=$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
|
||||
|
||||
echo Looking for $merge_request_branch on remote ...
|
||||
if git fetch -q $merge_request_remote $merge_request_branch 2>/dev/null; then
|
||||
echo -n Looking for $merge_request_branch on remote ...
|
||||
if fetch $merge_request_remote $merge_request_branch; then
|
||||
echo \ found
|
||||
mutter_target=FETCH_HEAD
|
||||
else
|
||||
mutter_target=origin/$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||
echo Using $mutter_target instead
|
||||
echo \ not found
|
||||
|
||||
echo -n Looking for $CI_MERGE_REQUEST_TARGET_BRANCH_NAME instead ...
|
||||
if fetch origin $CI_MERGE_REQUEST_TARGET_BRANCH_NAME; then
|
||||
echo \ found
|
||||
mutter_target=FETCH_HEAD
|
||||
else
|
||||
echo \ not found
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -z "$mutter_target" ]; then
|
||||
mutter_target=$(git branch -r -l origin/$CI_COMMIT_REF_NAME)
|
||||
mutter_target=${mutter_target:-origin/master}
|
||||
echo Using $mutter_target instead
|
||||
echo -n Looking for $CI_COMMIT_REF_NAME on remote ...
|
||||
if fetch origin $CI_COMMIT_REF_NAME; then
|
||||
echo \ found
|
||||
mutter_target=FETCH_HEAD
|
||||
else
|
||||
echo \ not found
|
||||
mutter_target=HEAD
|
||||
echo Using $mutter_target instead
|
||||
fi
|
||||
fi
|
||||
|
||||
git checkout -q $mutter_target
|
||||
|
16
.gitlab-ci/commit-rules.yml
Normal file
@ -0,0 +1,16 @@
|
||||
patterns:
|
||||
deny:
|
||||
- regex: '^$CI_MERGE_REQUEST_PROJECT_URL/(-/)?merge_requests/$CI_MERGE_REQUEST_IID$'
|
||||
message: Commit message must not contain a link to its own merge request
|
||||
- regex: '^(st-|St)'
|
||||
message: Commit message subject should not be prefixed with 'st-' or 'St', use 'st/' instead
|
||||
where: subject
|
||||
- regex: '^[^:]+: [a-z]'
|
||||
message: "Commit message subject should be properly Capitalized. E.g. 'window: Marginalize extradicity'"
|
||||
where: subject
|
||||
- regex: '^\S*\.(js|c|h):'
|
||||
message: Commit message subject prefix should not include .c, .h etc.
|
||||
where: subject
|
||||
- regex: '([^.]\.|[:,;])\s*$'
|
||||
message: Commit message subject should not end with punctuation
|
||||
where: subject
|
38
.gitlab-ci/download-coverity-tarball.sh
Executable file
@ -0,0 +1,38 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
# We need a coverity token to fetch the tarball
|
||||
if [ -x $COVERITY_TOKEN ]
|
||||
then
|
||||
echo "No coverity token. Run this job from a protected branch."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
mkdir -p coverity
|
||||
|
||||
# Download and check MD5 first
|
||||
curl https://scan.coverity.com/download/linux64 \
|
||||
--data "token=$COVERITY_TOKEN&project=GNOME+Shell&md5=1" \
|
||||
--output /tmp/coverity_tool.md5
|
||||
|
||||
diff /tmp/coverity_tool.md5 coverity/coverity_tool.md5 >/dev/null 2>&1
|
||||
|
||||
if [ $? -eq 0 -a -d coverity/cov-analysis* ]
|
||||
then
|
||||
echo "Coverity tarball is up-to-date"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Download and extract coverity tarball
|
||||
curl https://scan.coverity.com/download/linux64 \
|
||||
--data "token=$COVERITY_TOKEN&project=GNOME+Shell" \
|
||||
--output /tmp/coverity_tool.tgz
|
||||
|
||||
rm -rf ./coverity/cov-analysis*
|
||||
|
||||
tar zxf /tmp/coverity_tool.tgz -C coverity/
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
mv /tmp/coverity_tool.md5 coverity/
|
||||
fi
|
||||
|
||||
rm /tmp/coverity_tool.tgz
|
34
.gitlab-ci/install-meson-project.sh
Executable file
@ -0,0 +1,34 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
if [[ $# -lt 4 ]]; then
|
||||
echo Usage: $0 [options] [repo-url] [commit] [subdir]
|
||||
echo Options:
|
||||
echo -Dkey=val
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MESON_OPTIONS=()
|
||||
|
||||
while [[ $1 =~ ^-D ]]; do
|
||||
MESON_OPTIONS+=( "$1" )
|
||||
shift
|
||||
done
|
||||
|
||||
REPO_URL="$1"
|
||||
COMMIT="$2"
|
||||
SUBDIR="$3"
|
||||
PREPARE="$4"
|
||||
|
||||
REPO_DIR="$(basename ${REPO_URL%.git})"
|
||||
|
||||
git clone --depth 1 "$REPO_URL" -b "$COMMIT"
|
||||
pushd "$REPO_DIR"
|
||||
pushd "$SUBDIR"
|
||||
sh -c "$PREPARE"
|
||||
meson --prefix=/usr _build "${MESON_OPTIONS[@]}"
|
||||
meson install -C _build
|
||||
popd
|
||||
popd
|
||||
rm -rf "$REPO_DIR"
|
128
.gitlab-ci/run-eslint
Executable file
@ -0,0 +1,128 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
const { ESLint } = require('eslint');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
const { spawn } = require('child_process');
|
||||
|
||||
function createConfig(config) {
|
||||
const options = {
|
||||
cache: true,
|
||||
cacheLocation: `.eslintcache-${config}`,
|
||||
};
|
||||
|
||||
if (config === 'legacy')
|
||||
options.overrideConfigFile='lint/eslintrc-legacy.yml';
|
||||
|
||||
return new ESLint(options);
|
||||
}
|
||||
|
||||
function git(...args) {
|
||||
const git = spawn('git', args, { stdio: ['ignore', null, 'ignore'] });
|
||||
git.stdout.setEncoding('utf8');
|
||||
|
||||
return new Promise(resolve => {
|
||||
let out = '';
|
||||
git.stdout.on('data', chunk => out += chunk);
|
||||
git.stdout.on('end', () => resolve(out.trim()));
|
||||
});
|
||||
}
|
||||
|
||||
function createCommon(report1, report2, ignoreColumn=false) {
|
||||
return report1.map(result => {
|
||||
const { filePath, messages } = result;
|
||||
const match =
|
||||
report2.find(r => r.filePath === filePath) || { messages: [] };
|
||||
|
||||
const filteredMessages = messages.filter(
|
||||
msg => match.messages.some(
|
||||
m => m.line === msg.line && (ignoreColumn || m.column === msg.column)));
|
||||
|
||||
const [errorCount, warningCount] = filteredMessages.reduce(
|
||||
([e, w], msg) => {
|
||||
return [
|
||||
e + Number(msg.severity === 2),
|
||||
w + Number(msg.severity === 1)];
|
||||
}, [0, 0]);
|
||||
|
||||
return {
|
||||
filePath,
|
||||
messages: filteredMessages,
|
||||
errorCount,
|
||||
warningCount,
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
async function getMergeRequestChanges(remote, branch) {
|
||||
await git('fetch', remote, branch);
|
||||
const branchPoint = await git('merge-base', 'HEAD', 'FETCH_HEAD');
|
||||
const diff = await git('diff', '-U0', `${branchPoint}...HEAD`);
|
||||
|
||||
const report = [];
|
||||
let messages = null;
|
||||
for (const line of diff.split('\n')) {
|
||||
if (line.startsWith('+++ b/')) {
|
||||
const filePath = path.resolve(line.substring(6));
|
||||
messages = filePath.endsWith('.js') ? [] : null;
|
||||
if (messages)
|
||||
report.push({ filePath, messages });
|
||||
} else if (messages && line.startsWith('@@ ')) {
|
||||
[, , changes] = line.split(' ');
|
||||
[start, count] = `${changes},1`.split(',').map(i => parseInt(i));
|
||||
for (let i = start; i < start + count; i++)
|
||||
messages.push({ line: i });
|
||||
}
|
||||
}
|
||||
|
||||
return report;
|
||||
}
|
||||
|
||||
function getOption(...names) {
|
||||
const optIndex =
|
||||
process.argv.findIndex(arg => names.includes(arg)) + 1;
|
||||
|
||||
if (optIndex === 0)
|
||||
return undefined;
|
||||
|
||||
return process.argv[optIndex];
|
||||
}
|
||||
|
||||
(async function main() {
|
||||
const outputOption = getOption('--output-file', '-o');
|
||||
const outputPath = outputOption ? path.resolve(outputOption) : null;
|
||||
|
||||
const sourceDir = path.dirname(process.argv[1]);
|
||||
process.chdir(path.resolve(sourceDir, '..'));
|
||||
|
||||
const remote = getOption('--remote') || 'origin';
|
||||
const branch = getOption('--branch', '-b');
|
||||
|
||||
const sources = ['js', 'subprojects/extensions-app/js'];
|
||||
const regular = createConfig('regular');
|
||||
|
||||
const ops = [];
|
||||
ops.push(regular.lintFiles(sources));
|
||||
if (branch)
|
||||
ops.push(getMergeRequestChanges(remote, branch));
|
||||
else
|
||||
ops.push(createConfig('legacy').lintFiles(sources));
|
||||
|
||||
const results = await Promise.all(ops);
|
||||
const commonResults = createCommon(...results, branch !== undefined);
|
||||
|
||||
const formatter = await regular.loadFormatter(getOption('--format', '-f'));
|
||||
const resultText = formatter.format(commonResults);
|
||||
|
||||
if (outputPath) {
|
||||
fs.mkdirSync(path.dirname(outputPath), { recursive: true });
|
||||
fs.writeFileSync(outputPath, resultText);
|
||||
} else {
|
||||
console.log(resultText);
|
||||
}
|
||||
|
||||
process.exitCode = commonResults.some(r => r.errorCount > 0) ? 1 : 0;
|
||||
})().catch((error) => {
|
||||
process.exitCode = 1;
|
||||
console.error(error);
|
||||
});
|
@ -1,114 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
OUTPUT_REGULAR=reports/lint-regular-report.txt
|
||||
OUTPUT_LEGACY=reports/lint-legacy-report.txt
|
||||
OUTPUT_FINAL=reports/lint-common-report.txt
|
||||
|
||||
OUTPUT_MR=reports/lint-mr-report.txt
|
||||
|
||||
LINE_CHANGES=changed-lines.txt
|
||||
|
||||
is_empty() {
|
||||
(! grep -q . $1)
|
||||
}
|
||||
|
||||
run_eslint() {
|
||||
ARGS_LEGACY='--config lint/eslintrc-legacy.yml'
|
||||
|
||||
local extra_args=ARGS_$1
|
||||
local output_var=OUTPUT_$1
|
||||
local output=${!output_var}
|
||||
|
||||
# ensure output exists even if eslint doesn't report any errors
|
||||
mkdir -p $(dirname $output)
|
||||
touch $output
|
||||
|
||||
eslint -f unix ${!extra_args} -o $output js
|
||||
}
|
||||
|
||||
list_commit_range_additions() {
|
||||
# Turn raw context-less git-diff into a list of
|
||||
# filename:lineno pairs of new (+) lines
|
||||
git diff -U0 "$@" -- js |
|
||||
awk '
|
||||
BEGIN { file=""; }
|
||||
/^+++ b/ { file=substr($0,7); }
|
||||
/^@@ / {
|
||||
len = split($3,a,",")
|
||||
start=a[1]
|
||||
count=(len > 1) ? a[2] : 1
|
||||
|
||||
for (line=start; line<start+count; line++)
|
||||
printf "%s/%s:%d:\n",ENVIRON["PWD"],file,line;
|
||||
}'
|
||||
}
|
||||
|
||||
copy_matched_lines() {
|
||||
local source=$1
|
||||
local matches=$2
|
||||
local target=$3
|
||||
|
||||
echo -n > $target
|
||||
for l in $(<$matches); do
|
||||
grep $l $source >> $target
|
||||
done
|
||||
}
|
||||
|
||||
create_common() {
|
||||
# comm requires sorted input;
|
||||
# we also strip the error message to make the following a "common" error:
|
||||
# regular:
|
||||
# file.js:42:23 Indentation of 55, expected 42
|
||||
# legacy:
|
||||
# file.js:42:23 Indentation of 55, extected 24
|
||||
prepare() {
|
||||
sed 's: .*::' $1 | sort
|
||||
}
|
||||
|
||||
comm -12 <(prepare $OUTPUT_REGULAR) <(prepare $OUTPUT_LEGACY) >$OUTPUT_FINAL.tmp
|
||||
|
||||
# Now add back the stripped error messages
|
||||
copy_matched_lines $OUTPUT_REGULAR $OUTPUT_FINAL.tmp $OUTPUT_FINAL
|
||||
rm $OUTPUT_FINAL.tmp
|
||||
}
|
||||
|
||||
# Disable MR handling for now. We aren't ready to enforce
|
||||
# non-legacy style just yet ...
|
||||
unset CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||
|
||||
REMOTE=${1:-$CI_MERGE_REQUEST_PROJECT_URL.git}
|
||||
BRANCH_NAME=${2:-$CI_MERGE_REQUEST_TARGET_BRANCH_NAME}
|
||||
|
||||
if [ "$BRANCH_NAME" ]; then
|
||||
git fetch $REMOTE $BRANCH_NAME
|
||||
branch_point=$(git merge-base HEAD FETCH_HEAD)
|
||||
commit_range=$branch_point...HEAD
|
||||
|
||||
list_commit_range_additions $commit_range > $LINE_CHANGES
|
||||
|
||||
# Don't bother with running lint when no JS changed
|
||||
if is_empty $LINE_CHANGES; then
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
echo Generating lint report using regular configuration
|
||||
run_eslint REGULAR
|
||||
echo Generating lint report using legacy configuration
|
||||
run_eslint LEGACY
|
||||
echo Done.
|
||||
create_common
|
||||
|
||||
if ! is_empty $OUTPUT_FINAL; then
|
||||
cat $OUTPUT_FINAL
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Just show the report and succeed when not testing a MR
|
||||
if [ -z "$BRANCH_NAME" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
copy_matched_lines $OUTPUT_REGULAR $LINE_CHANGES $OUTPUT_MR
|
||||
cat $OUTPUT_MR
|
||||
is_empty $OUTPUT_MR
|
@ -8,7 +8,7 @@ first to ensure that you create a clear and specific issue.
|
||||
<!--
|
||||
Provide at least the following information:
|
||||
* Your OS and version
|
||||
* Affected GNOME Shell version
|
||||
* Affected GNOME Shell version (see https://wiki.gnome.org/Schedule for currently supported versions)
|
||||
* Does this issue appear in XOrg and/or Wayland
|
||||
-->
|
||||
|
||||
|
1
.jscheckignore
Normal file
@ -0,0 +1 @@
|
||||
js/ui/init.js
|
@ -131,7 +131,7 @@ whenever possible, that is when not inheriting from GObjects.
|
||||
};
|
||||
```
|
||||
|
||||
For GObject inheritence, we use the GObject.registerClass() function provided
|
||||
For GObject inheritance, we use the GObject.registerClass() function provided
|
||||
by gjs.
|
||||
```javascript
|
||||
var MyActor = GObject.registerClass(
|
||||
|
734
NEWS
@ -1,3 +1,721 @@
|
||||
41.0
|
||||
====
|
||||
|
||||
Translators:
|
||||
Goran Vidović [hr], Jordi Mas [ca], Aman Alam [pa], Balázs Úr [hu],
|
||||
Piotr Drąg [pl], Nathan Follens [nl], Quentin PAGÈS [oc], Jiri Grönroos [fi],
|
||||
Alexander Shopov [bg], Alan Mortensen [da], Efstathios Iosifidis [el]
|
||||
|
||||
41.rc.1
|
||||
=======
|
||||
* Make tests optional [Florian; !1975]
|
||||
* Misc. bug fixes [Florian; !1974]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
Translators:
|
||||
Daniel Șerbănescu [ro]
|
||||
|
||||
41.rc
|
||||
=====
|
||||
* Optimize rendering of fullscreen zoom [Daniel; !1899]
|
||||
* Fix glitchy launch animations when leaving overview [Daniel; !1440]
|
||||
* Show low priority notifications only in message list [Florian; #4265]
|
||||
* Support Soup 3 instead of 2.4 [Florian; !1940, !1966]
|
||||
* Set log domain for extensions that use console.log() [Evan; !1958]
|
||||
* Fix wrong separator position in dash [Raghuveer; !1804]
|
||||
* Fix OSK not registering button presses on X11 [Sebastian; !1955]
|
||||
* Fix work area getting messed up by hidden panels [Florian; #4569]
|
||||
* Fix IM candidate popover position [Florian; #4593]
|
||||
* Restrict callers of private D-Bus APIs [Florian; !1970]
|
||||
* Support committing preedit string on focus loss [Carlos; !1929]
|
||||
* Misc. bug fixes and cleanups [Florian, Ivan, Sebastian, José, Robert; !1956,
|
||||
!1949, !1937, !1961, !1962, !1871, !1964, !1946, !1957, !1959, !1879, !1968]
|
||||
|
||||
Contributors:
|
||||
José Expósito, Carlos Garnacho, Raghuveer Kasaraneni, Sebastian Keller,
|
||||
Robert Mader, Ivan Molodetskikh, Florian Müllner, Daniel van Vugt, Evan Welsh
|
||||
|
||||
Translators:
|
||||
Yuri Chornoivan [uk], Quentin PAGÈS [oc], Asier Sarasua Garmendia [eu],
|
||||
Hugo Carvalho [pt], Rafael Fontenelle [pt_BR], Jordi Mas [ca],
|
||||
Alexey Rubtsov [ru], Danial Behzadi [fa], Kukuh Syafaat [id],
|
||||
Marek Černocký [cs], Fran Dieguez [gl], Daniel Mustieles [es],
|
||||
Źmicier Turok [be], Jiri Grönroos [fi], Emin Tufan Çetin [tr],
|
||||
Baurzhan Muftakhidinov [kk], Bruce Cowan [en_GB], Philipp Kiemle [de],
|
||||
Matej Urbančič [sl], Dušan Kazik [sk], Charles Monzat [fr],
|
||||
Luna Jernberg [sv], Aurimas Černius [lt], Boyuan Yang [zh_CN],
|
||||
Changwoo Ryu [ko]
|
||||
|
||||
41.beta
|
||||
=======
|
||||
* Unbreak Xwayland apps when not using systemd in user session [Olivier; !1850]
|
||||
* extension-tool: Always print location on successful creation [Leleat; !1856]
|
||||
* Fix distributed man pages [Florian; !1859]
|
||||
* Immediately start app grid drags for non-touch devices [Georges; !1866]
|
||||
* Avoid unnecessary icon shadow changes [Daniel; !1869]
|
||||
* Handle screencast failures more gracefully [Florian; !1878]
|
||||
* Fix glitch in app grid → session transition [Harshad; !1886]
|
||||
* Use symbolic icons in looking glass toolbar [Chris; !1671]
|
||||
* Fix IM popup visibility when in fullscreen [Florian; !1900]
|
||||
* magnifier: Fix view jumps when using caret tracking [Lee; !1823]
|
||||
* Fix shadow rendering glitches [Daniel; !1897]
|
||||
* Allow overriding super+number shortcuts in Settings [Florian; #1250]
|
||||
* Fix vertical scrollbars in RTL locales [Florian; !1910]
|
||||
* Don't include hidden search results in keynav [Florian; #4470]
|
||||
* Use anaccelerated deltas in swipe tracker [Alexander; !1763]
|
||||
* status/network: Do not disable on login screen [Florian; !1874]
|
||||
* Always take workarea into account when allocating workspaces [Marco; !1892]
|
||||
* location: Split out geoclue agent from indicator [Ian; !1919]
|
||||
* Add focus indication for switches [vanadiae; !1920]
|
||||
* Honor switch-user lockdown settings in unlock screen [Ray; !1833]
|
||||
* Fix glitch when dragging window preview in overview [Sebastian; #4292]
|
||||
* Lock down "Show Text" in password entries [Ray; !687]
|
||||
* Add power mode selection to status menu [Florian; !1907]
|
||||
* workspace: Handle skip-taskbar changes [Daniel; !1925]
|
||||
* status/network: Use WWan settings panel for GSM/LTE modems [Mohammed; !1942]
|
||||
* extensionUtils: Add gettext convenience helpers [Florian; !1941]
|
||||
* screenShield: Fix suspend inhibitor accounting [Sebastian; !1927, !1952]
|
||||
* Unify app context menus [Florian; !1948]
|
||||
* Use consistent terminology in window menu [nitinosiris; !1834]
|
||||
* Fixed crashes [Gustavo, Florian; !1848, !1885, !1935]
|
||||
* Misc. bug fixes and cleanups [Jonas Å., Florian, Georges, Daniel, Olivier,
|
||||
Carlos, Robert, Sebastian, Jakub, Jonas D., Fionn; !1838, !1854, !1860,
|
||||
!1872, !1876, !1880, !1888, !1890, !1891, !1894, !1902, !1901, !1903,
|
||||
!1841, !1904, !1786, !1906, !1909, !1908, !1840, !1913, !1917, !1914,
|
||||
!1857, !1922, !1924, !1931, !1926, !953, !1932, !1939, !1938, !1944,
|
||||
!1936, !1947, !1945, !1950]
|
||||
|
||||
Contributors:
|
||||
Marco Trevisan (Treviño), Jonas Dreßler, Olivier Fourdan, Carlos Garnacho,
|
||||
Harshad Gavali, Tjipke van der Heide, Fionn Kelleher, Sebastian Keller, Lee,
|
||||
Leleat, Robert Mader, Chris Mayo, Alexander Mikhaylenko, Florian Müllner,
|
||||
Georges Basile Stavracas Neto, nitinosiris, Mohammed Sadiq, Ian Douglas Scott,
|
||||
Gustavo Noronha Silva, Jakub Steiner, Ray Strode, Daniel van Vugt, vanadiae,
|
||||
Jonas Ådahl
|
||||
|
||||
Translators:
|
||||
Quentin PAGÈS [oc], Cheng-Chia Tseng [zh_TW], Jordi Mas [ca],
|
||||
Hugo Carvalho [pt], Julia Dronova [ru], Efstathios Iosifidis [el],
|
||||
Alexander Shopov [bg], Florentina Mușat [ro], Yuri Chornoivan [uk],
|
||||
Alexey Rubtsov [ru], Rafael Fontenelle [pt_BR], Yaron Shahrabani [he],
|
||||
Daniel Mustieles [es], Matej Urbančič [sl], Danial Behzadi [fa],
|
||||
Kukuh Syafaat [id], Fran Dieguez [gl], Boyuan Yang [zh_CN], Fabio Tomat [fur],
|
||||
Tjipke van der Heide [fy], Emin Tufan Çetin [tr], Luna Jernberg [sv],
|
||||
Daniel Șerbănescu [ro]
|
||||
|
||||
40.1
|
||||
====
|
||||
* Fix keyboard preview for IM that use 'default' layout [Peng; !1756]
|
||||
* extensions: Fix copying technical details on prefs crash [Jan; !1795, !1796]
|
||||
* Make window previews as large as possible [Jonas D.; !1670, !1813]
|
||||
* Fix PgUp/PgDown handling in overview [Florian; !1798]
|
||||
* Fix scroll view following keyboard focus [Andrew; !1802]
|
||||
* Fix word suggestions in on-screen keyboard [Jia; !1806]
|
||||
* Support animated backgrounds set via the wallpaper portal [Alexander; !1816]
|
||||
* Fix freeze after cancelling (some) system-modal dialogs [Florian; !1819]
|
||||
* Support double-super when animations are disabled [Florian; !1811]
|
||||
* gdm: Allow timed login with disabled user list [Ray; !1809]
|
||||
* status: Report real battery percentage when full [Prajna; !1787]
|
||||
* Allow tap-drag-release to select variants in OSK [Carlos; !1789]
|
||||
* Fix password authentication after fingerprint failure [Ray, Benjamin; !1821]
|
||||
* Fix screen blanking on idle [Florian; !1824]
|
||||
* Fix oversized system action icons in search [Sebastian; !1777]
|
||||
* Only show 'Open Windows' in app menus if there are multiple [Leleat; !1827]
|
||||
* Fix duplicated workspaces in minimap [Sebastian; !1828]
|
||||
* Fix repeated letters in type-to-find overview search [Sebastian; !1828]
|
||||
* Improve workspace placeholder in overview minimap [Joonas; !1801]
|
||||
* screencasts: Improve default gstreamer pipeline [Jonas D.; !1633]
|
||||
* Leave overview when activating app via shortcut [Nishal; !1839]
|
||||
* Fix invisible scroll bars in faded views [Florian; !1831]
|
||||
* Correct arrow navigation in alt-tab switcher in RTL locales [Leleat; !1835]
|
||||
* Improve touch interaction of app grid actions [Carlos; !1774]
|
||||
* Fixed crashes [Jonas Å., Sebastian; !1810, !1817]
|
||||
* Misc. bug fixes and cleanups [Carlos, Yuri, Sebastian, Suryashankar, Zander,
|
||||
arushsharma24, Florian, Georges, Jonas D., Frederic, Leleat, Jakub,
|
||||
theRealPadster, Simon, Olivier; !1770, !1781, !1782, !1775, !1769, !1791,
|
||||
!1764, !1793, !1799, !1805, !1484, !1815, !1820, !1807, !1825, !1822, !1800,
|
||||
!1818, !1830, !1790, !1812, !1771, !1844, !1845, !1837, !1842]
|
||||
|
||||
Contributors:
|
||||
Jonas Ådahl, arushsharma24, Benjamin Berg, Zander Brown, Jia Chao,
|
||||
Frederic Crozat, Suryashankar Das, Jonas Dreßler, Olivier Fourdan,
|
||||
Carlos Garnacho, Joonas Henriksson, Sebastian Keller, Yuri Konotopov,
|
||||
Nishal Kulkarni, Leleat, Alexander Mikhaylenko, Florian Müllner,
|
||||
Georges Basile Stavracas Neto, Prajna Sariputra, Simon Schneegans,
|
||||
Jakub Steiner, Ray Strode, theRealPadster, Jan Tojnar, Peng Wu, Andrew Zaech
|
||||
|
||||
Translators:
|
||||
Timo Jyrinki [fi], Boyuan Yang [zh_CN], Hannie Dumoleyn [nl], Dz Chen [zh_CN],
|
||||
Ngọc Quân Trần [vi], Hugo Carvalho [pt], Yosef Or Boczko [he],
|
||||
Yaron Shahrabani [he], Nathan Follens [nl], Cédric Valmary [oc],
|
||||
Carmen Bianca BAKKER [eo], Emin Tufan Çetin [tr], Dušan Kazik [sk],
|
||||
Stas Solovey [ru], Pawan Chitrakar [ne], Jordi Mas [ca], Quentin PAGÈS [oc]
|
||||
|
||||
40.0
|
||||
====
|
||||
|
||||
Translators:
|
||||
Zander Brown [en_GB], Dušan Kazik [sk]
|
||||
|
||||
40.rc
|
||||
=====
|
||||
* Define default app grid arrangement [Allan; !1700]
|
||||
* Fix shading behind system modal dialogs [Florian; !1712]
|
||||
* Only show logout-inhibiting apps in end-session dialog [Michael; !1424]
|
||||
* Fix minimap previews on multi-monitor systems [Florian; !1721]
|
||||
* Drop strict extension version match for unstable releases [Florian; !1719]
|
||||
* Fix missing app menu after overview gesture [Florian; !1726]
|
||||
* Improve app folder appearance [Jakub; !1714]
|
||||
* Fix window previews becoming undraggable after workspace switch
|
||||
[Sebastian; !1717]
|
||||
* Fix dragging icons to a different page in RTL locales [Carlos; !1734]
|
||||
* Support double super for opening app grid [Florian; !1736]
|
||||
* Improve workspace handling on secondary monitors [Florian; !1735]
|
||||
* Improve interaction when dragging between app grid pages [Carlos; !1630]
|
||||
* Fix launching on requested workspace on wayland [Florian; !1316]
|
||||
* Make wifi strength indicator consistent with icons in Settings [Remi; !1432]
|
||||
* Start session in overview [Georges; !1678]
|
||||
* Tweak window preview layout in overview [Jonas D.; !1702, !1737]
|
||||
* Improve overview performance [Jonas D.; !1713, !1733, !1743, !1755]
|
||||
* Fix new workspaces being invisible in minimap [Florian; !1716]
|
||||
* Fix glitch after dragging window preview from second monitor [Ivan; !1727]
|
||||
* Do not switch workspaces when scrolling during super-tab [Florian; !1746]
|
||||
* Make OSK shifting up windows more reliable [Jonas D.; !1728, !1760]
|
||||
* Fix swipe gesture glitches [Alexander; !1731]
|
||||
* Fix mis-scaled preview icons in window picker [Sebastian; !1751]
|
||||
* Fix unintended app grid changes during icon DND in dash [Sebastian; !1767]
|
||||
* Fix missing X11 fallback icons [Florian; !1761]
|
||||
* Fixed crashes [Sebastian; !1718]
|
||||
* Misc. bug fixes and cleanups [Jonas Å., Sebastian, Abderrahim, Florian,
|
||||
Alexander, Felix, Ivan, Jonas D., Jakub, Daniel; !1710, !1707, !1720, !1722,
|
||||
!1724, !1732, !1246, !1738, !1740] !1742, !1741, !1745, !1748, !1749, !1765,
|
||||
!1766, !1757, !1758]
|
||||
|
||||
Contributors:
|
||||
Jonas Ådahl, arushsharma24, Allan Day, Felix Divo, Jonas Dreßler,
|
||||
Carlos Garnacho, Sebastian Keller, Abderrahim Kitouni, Alexander Mikhaylenko,
|
||||
Ivan Molodetskikh, Florian Müllner, Georges Basile Stavracas Neto,
|
||||
Remi Salmon, Jakub Steiner, Michael Terry, Daniel van Vugt
|
||||
|
||||
Translators:
|
||||
Fran Dieguez [gl], Balázs Meskó [hu], Baurzhan Muftakhidinov [kk],
|
||||
Goran Vidović [hr], Christian Kirbach [de], Марко Костић [sr],
|
||||
Asier Sarasua Garmendia [eu], Guillaume Bernard [fr], Tim Sabsch [de],
|
||||
Philipp Kiemle [de], Danial Behzadi [fa], Piotr Drąg [pl],
|
||||
Rūdolfs Mazurs [lv], Daniel Mustieles [es], Marek Černocký [cs],
|
||||
Fabio Tomat [fur], Changwoo Ryu [ko], Kjartan Maraas [nb], A S Alam [pa],
|
||||
Milo Casagrande [it]
|
||||
|
||||
40.beta
|
||||
=======
|
||||
* Overview redesign
|
||||
- Move dash to the bottom [Georges, Abderrahim, Jakub; !1559]
|
||||
- Do not duplicate dash icons in app grid [Florian; !1580]
|
||||
- Separate favorites from running apps in dash [Florian; !1606, !1610, !1659]
|
||||
- Change to a horizontal workspace layout [Georges; !1593, !1603]
|
||||
- Move background to workspaces [Georges, Florian, Jakub; !1599]
|
||||
- Overhaul window preview style [Florian, Jakub; !1605, !1654, !1657]
|
||||
- Rework workspace switching animation [Alexander; !1326]
|
||||
- Show workspace side-by-side [Georges; !1613]
|
||||
- Allow switching workspaces with super+scroll on wayland [Florian; !1612]
|
||||
- Allow swiping through more than one workspace at a time [Alexander; !1647]
|
||||
- Extend active dash area to the screen edge [Florian; !1660]
|
||||
- Change overall overview layout [Georges, Florian; !1624]
|
||||
- Refine workspace activation in overview [Georges; !1645]
|
||||
- Add vertical swipe gesture to shift through overview [Carlos; !1643]
|
||||
- Add shortcuts for shifting through overview [Florian; !1695]
|
||||
- Round background corners in overview [Jonas D.; !1651, !1697]
|
||||
- Hide workspace minimap when using less than two workspaces [Florian; !1696]
|
||||
- Scale down backgrounds in window picker [Georges; !1691]
|
||||
- Minor improvements and bug fixes [Florian, Abderrahim, Georges, Sebastian,
|
||||
Jakub, Pascal, Jonas D.; !1594, !1609, !1608, !1620, !1629, !1625, !1634,
|
||||
!1640, #3669, !1636, !1655, !1656, !1665, !1667, !1638, !1680, !1682, !1684,
|
||||
!1681, !1687, !1693, !1694, !1692]
|
||||
* Fix glitch in app folder icons on smaller displays [Sebastian; !1581]
|
||||
* Remove arrows from top bar menus [Doan, Florian, Razze; !1583, !1618, !1615]
|
||||
* Fix stuck grab after failed area screenshots [Sebastian; !1600]
|
||||
* Prefer image-data hint over app-icon in notifications [Guilherme; !1616]
|
||||
* Fix drag actor position when animations are turned off [Sebastian; !1627]
|
||||
* Improve spacing in MPRIS notifications with small text [Sebastian; !1632]
|
||||
* Add Welcome dialog after major updates [Bastien; !1619]
|
||||
* Do not save empty commands in run dialog history [Lucas; !1442, !1653]
|
||||
* Consider device type for fingerprint hint on login screen [Razze; !1572]
|
||||
* Add tooltip to Extensions app to view unellipsized description [Leleat; !1663]
|
||||
* Fix stuck polkit dialog when using non-password auth [Florian; !1662]
|
||||
* Provide screenshot feedback (flash, shutter) before writing file to disk
|
||||
[Brion, Jonas; !1658]
|
||||
* Improve Thai layout in on-screen keyboard [Panawat; !1427]
|
||||
* Improve error handling for fingerprint auth [Marco; !1652]
|
||||
* Handle a large number of window previews more gracefully [Sebastian; !1685]
|
||||
* Follow swipe gesture when bringing up on-screen keyboard [Carlos; !1668]
|
||||
* Disable out-of-date extensions by default (again) [Evan; !1706]
|
||||
* Fixed crashes [Jonas D., Carlos; !1673, !1672]
|
||||
* Misc. bug fixes and cleanups [Florian, Sebastian, Razze, Georges, Daniel,
|
||||
Robert, Jonas D., Jonas Å., Marco, Bastien, TerraAr, Carlos; !1575, !1579,
|
||||
!1577, !1578, !1585, !1587, !1588, !1590, !1591, !1592, !1595, !1596, !1597,
|
||||
!1598, !1582, !1589, !1617, !1611, !1637, !1635, !1641, !1646, !1546, !1648,
|
||||
!1650, !1649, !1644, !1661, !1622, !1075, !1674, !1556, !1686, !1683, !1688,
|
||||
!1699, !1698, !1701, !1709]
|
||||
|
||||
Contributors:
|
||||
Jonas Ådahl, Jonas Dreßler, Carlos Garnacho, Sebastian Keller,
|
||||
Abderrahim Kitouni, Leleat, Robert Mader, Alexander Mikhaylenko,
|
||||
Florian Müllner, Georges Basile Stavracas Neto, Bastien Nocera, Pascal Nowack,
|
||||
Razze, Guilherme Silva, Jakub Steiner, TerraAr, Marco Trevisan (Treviño),
|
||||
Brion Vibber, Doan Nam Long Vu, Daniel van Vugt, Evan Welsh,
|
||||
Lucas Werkmeister, Panawat Wong-kleaw
|
||||
|
||||
Translators:
|
||||
Balázs Úr [hu], Danial Behzadi [fa], Rafael Fontenelle [pt_BR], A S Alam [pa],
|
||||
Anders Jonsson [sv], Yuri Chornoivan [uk], Marek Černocký [cs],
|
||||
Hugo Carvalho [pt], Fran Dieguez [gl], Daniel Șerbănescu [ro],
|
||||
Florentina Mușat [ro], Daniel Mustieles [es], Jordi Mas [ca],
|
||||
Matej Urbančič [sl], Kukuh Syafaat [id], Bruno Lopes da Silva [pt_BR],
|
||||
Аляксей [be], Balázs Meskó [hu], Марко Костић [sr], Enrico Nicoletto [pt_BR],
|
||||
Emin Tufan Çetin [tr], Jiri Grönroos [fi], Aurimas Černius [lt]
|
||||
|
||||
40.alpha.1.1
|
||||
============
|
||||
* Adapt to settings moving to gsettings-desktop-schemas [Florian; !1573]
|
||||
* Misc. bug fixes [Georges, Florian; !1571, !1574]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, Georges Basile Stavracas Neto
|
||||
|
||||
Translators:
|
||||
Марко Костић [sr], Marek Černocký [cs], Fabio Tomat [fur]
|
||||
|
||||
40.alpha.1
|
||||
==========
|
||||
* Restore app picker fade during swipes [Georges, Florian; !1519, !1569]
|
||||
* Sort extensions in Looking Glass alphabetically [Florijan; !1516]
|
||||
* Fix screenshots of unredirected fullscreen windows on X11
|
||||
[Jonas Å., LuK1337; !1534, !1549]
|
||||
* Use GPU to render (most) shadows [Georges; !1539]
|
||||
* Refine avatar styling [Joonas; !1490]
|
||||
* Fix storing VPN secrets [Sebastian; !1535]
|
||||
* Don't depend on asciidoc and sassc when building from tarball
|
||||
[Florian; !1553, !1555]
|
||||
* Use horizontal pages in app picker [Georges; !1554]
|
||||
* Avoid costly icon theme lookups unless when needed [Ivan; !1558]
|
||||
* Properly expose locked state to logind [Florian; !1561]
|
||||
* Use 3 fingers for system swipe gestures [Georges; !1562]
|
||||
* Fix glitches in overview transitions [Jonas Å., Ivan; !1545, !1550]
|
||||
* Improve login screen accessibility [Mike; !1567]
|
||||
* Overhaul top bar styling [Jonas D.; !1397]
|
||||
* Allow changing input volume by scrolling over microphone icon [Razze; !1566]
|
||||
* Port Extensions app and portal to GTK4 [Florian; !1495]
|
||||
* Fixed crashes [Jonas Å.; !1527]
|
||||
* Misc. bug fixes and cleanups [Georges, Florian, Tom, Hans, Jonas D., Ivan,
|
||||
Sebastian, Daniel; !1518, !1521, !1523, !1525, !1520, !1526, !1472, !1339,
|
||||
!1529, !1531, !1532, !1533, !1528, !1350] !1542, !1537, !1548, !1551, !1557,
|
||||
!1543, !1560, !1544, !1565]
|
||||
|
||||
Contributors:
|
||||
Jonas Ådahl, Jonas Dreßler, Mike Gerow, Florijan Hamzic, Joonas Henriksson,
|
||||
Sebastian Keller, Tom Levy, LuK1337, Ivan Molodetskikh, Florian Müllner,
|
||||
Georges Basile Stavracas Neto, Hans Ulrich Niedermann, Razze, Daniel van Vugt
|
||||
|
||||
Translators:
|
||||
Florentina Mușat [ro], Fabio Tomat [fur], Hugo Carvalho [pt],
|
||||
Jordi Mas i Hernandez [ca], Philipp Kiemle [de], Fran Dieguez [gl],
|
||||
Jordi Mas [ca], Kukuh Syafaat [id], Kjartan Maraas [nb],
|
||||
Daniel Șerbănescu [ro], Matej Urbančič [sl]
|
||||
|
||||
40.alpha
|
||||
========
|
||||
* Handle @content properties in ease() functions [Andre; !1461]
|
||||
* Fix screencast indicator on Xorg [Jonas Å.; !1466]
|
||||
* Expand ellipsized app picker labels on hover [Georges; !1477, !1496]
|
||||
* Fix inline-replies in chat notifications [Florian; #3226]
|
||||
* Refine MPRIS notification layout [Harry; !1480]
|
||||
* Improve do-not-disturb support [Florian; #2873, !1511]
|
||||
* Fix mobile broadband support [Popax21; #3203]
|
||||
* Add extension filtering in Extensions app [Florian; #3382]
|
||||
* Improve app picker spacing on larger resolutions [Georges; !1510]
|
||||
* Plugged leaks [Ray; !1460, !1459]
|
||||
* Fixed crashes [Daniel, Florian; !1453, #3258, !1507]
|
||||
* Misc. bug fixes and cleanups [Florian, Georges, Carlos, Joonas, Jan,
|
||||
Jonas Å., Robert, Jonas D., Ian, Daniel, Sebastian, Jordan; !1456, !1436,
|
||||
!1405, !1421, #3252, !1464, !1469, !1465, !1473, !1475, #3307, !1479,
|
||||
!1482, !1470, !1486, #3335, #3342, #3388, !1497, !1498, !1491, !1501,
|
||||
!1492, !1489, !1502, !1505, !1504, !1506, !1503, !1483, !1508, !1481,
|
||||
!1509, !1512, !1417, !1517]
|
||||
|
||||
Contributors:
|
||||
Jonas Dreßler, Carlos Garnacho, Joonas Henriksson, Sebastian Keller,
|
||||
Robert Mader, Andre Moreira Magalhaes, Daniel García Moreno, Harry Míchal,
|
||||
Florian Müllner, Georges Basile Stavracas Neto, Jordan Petridis, Popax21,
|
||||
Ian Douglas Scott, Ray Strode, Jan Tojnar, Olav Vitters, Daniel van Vugt,
|
||||
Jonas Ådahl
|
||||
|
||||
Translators:
|
||||
Juliano de Souza Camargo [pt], Fabio Tomat [fur], Akarshan Biswas [bn_IN],
|
||||
Carmen Bianca BAKKER [eo], Daniel Mustieles [es],
|
||||
Asier Sarasua Garmendia [eu], Ask Hjorth Larsen [da], Yuri Chornoivan [uk],
|
||||
Anders Jonsson [sv], Kjartan Maraas [nb]
|
||||
|
||||
3.38.1
|
||||
======
|
||||
* Add screen recordings to recent items [Florian; #3171]
|
||||
* Tweak peek-password feature [Florian; #3138]
|
||||
* Fix workspace glitches in overview [Florian; #3208, #3211]
|
||||
* Improve DND behavior in app picker [Georges; !1447]
|
||||
* Misc. bug fixes and cleanups [Florian, Daniel, Georges, Bastien, Christopher,
|
||||
yun341, Carlos; #3169, !1434, !1441, !1444, !379, !1443, #2230, !1448,
|
||||
!1451, #3209]
|
||||
|
||||
Contributors:
|
||||
Yacine Bouklif, Christopher Davis, Carlos Garnacho, Daniel García Moreno,
|
||||
Florian Müllner, Georges Basile Stavracas Neto, Bastien Nocera, yun341
|
||||
|
||||
Translators:
|
||||
Juliano de Souza Camargo [pt], Yacine Bouklif [kab], Charles Monzat [fr],
|
||||
Cheng-Chia Tseng [zh_TW], Yosef Or Boczko [he]
|
||||
|
||||
3.38.0
|
||||
======
|
||||
* Misc. bug fixes and cleanups [Andy, Florian; #3147, !1438]
|
||||
|
||||
Contributors:
|
||||
Andy Holmes, Florian Müllner
|
||||
|
||||
Translators:
|
||||
Anders Jonsson [sv], Balázs Úr [hu], Dušan Kazik [sk], Alan Mortensen [da],
|
||||
Tim Sabsch [de], Claude Paroz [fr], Jiri Grönroos [fi], Juliano Camargo [pt],
|
||||
Milo Casagrande [it], Aron Xu [zh_CN], Rūdolfs Mazurs [lv]
|
||||
|
||||
3.37.92
|
||||
=======
|
||||
* Fix screen recorder shortcut [Florian; #3097]
|
||||
* Support cycle-group cycling only over windows in the workspac3 [Mitar; #3116]
|
||||
* Misc. bug fixes and cleanups [Georges, Daniel, Carlos; !1428, !1423,
|
||||
!1311, #2968]
|
||||
|
||||
|
||||
Contributors:
|
||||
Carlos Garnacho, Mitar, Florian Müllner, Georges Basile Stavracas Neto,
|
||||
Daniel van Vugt
|
||||
|
||||
Translators:
|
||||
Yuri Chornoivan [uk], Zander Brown [en_GB], Rafael Fontenelle [pt_BR],
|
||||
Nathan Follens [nl], Danial Behzadi [fa], Kukuh Syafaat [id],
|
||||
Aurimas Černius [lt], Marek Černocký [cs], Fabio Tomat [fur],
|
||||
Changwoo Ryu [ko], Марко Костић [sr], Daniel Mustieles [es], Dušan Kazik [sk],
|
||||
Thibault Martin [fr], Jordi Mas [ca]
|
||||
|
||||
3.37.91
|
||||
=======
|
||||
* Fix potential stack overflow in libcroco [Michael; !1404]
|
||||
* Fix page removal in app picker [Georges; !1406]
|
||||
* Fix "old style" VPN authentication [Florian; !1407]
|
||||
* Fix X11 session login [Benjamin; !1418]
|
||||
* Fix week number alignment when using font-scaling [Joonas; !1415]
|
||||
* Fix lock screen on systems without GLSL shader support [Zephaniah; #3071]
|
||||
* Misc. bug fixes and cleanups [Florian, Jonas, Georges, Andre, Will, Björn;
|
||||
!1396, !1359, !1408, !1409, !1414, !1413, !1416, #3073]
|
||||
|
||||
Contributors:
|
||||
Jonas Ådahl, Benjamin Berg, Michael Catanzaro, Björn Daase, Joonas Henriksson,
|
||||
Zephaniah E. Loss-Cutler-Hull, Andre Moreira Magalhaes, Florian Müllner,
|
||||
Georges Basile Stavracas Neto, Will Thompson
|
||||
|
||||
Translators:
|
||||
Fran Dieguez [gl], Jordi Mas [ca], Daniel Mustieles [es],
|
||||
Florentina Mușat [ro], Akarshan Biswas [bn_IN], Baurzhan Muftakhidinov [kk],
|
||||
Piotr Drąg [pl], Rafael Fontenelle [pt_BR], Emin Tufan Çetin [tr],
|
||||
sicklylife [ja], Danial Behzadi [fa], Jiri Grönroos [fi], Goran Vidović [hr],
|
||||
Matej Urbančič [sl], Boyuan Yang [zh_CN]
|
||||
|
||||
3.37.90
|
||||
=======
|
||||
* Fix extension updates when many extensions are installed [Jeremias; !1363]
|
||||
* Fix missing icons in on-screen keyboard [Emre; #2631, #3007]
|
||||
* Fix delay when showing calendar events [Sebastian; #2992]
|
||||
* Allow rearranging items in app picker [Georges; !1284]
|
||||
* Fix top bar navigation when NumLock is active [Olivier; #550]
|
||||
* Delay login animation until wallpaper has loaded [Michael; #734996]
|
||||
* Reset auth prompt on login screen on VT switch before fade in [Ray; #2997]
|
||||
* Move screencasting into a separate service [Jonas Å.; !1372]
|
||||
* Replace loaded terms with more descriptive one [Olivier; !1393]
|
||||
* Add "Boot Options" support to restart dialog [Hans; !199]
|
||||
* Move "Restart" into a separate menu item/dialog [Florian; #2202]
|
||||
* Default to not installing updates on low battery [Michael; #2717]
|
||||
* Misc. bug fixes and cleanups [Florian, Daniel V., Georges, Jonas Å.,
|
||||
Daniel G., Carlos, Benjamin, Piotr, Andre, Jonas D., Andy; !1357, !1356,
|
||||
#2969, #2969, !1358, !1371, #3005, !1380, #3022, !1381, !895, !1387, !1386,
|
||||
!1385, #3037, !1389, !1390, !1391, !1383, !1399, #2983, !1403]
|
||||
|
||||
Contributors:
|
||||
Jonas Ådahl, Benjamin Berg, Michael Catanzaro, Piotr Drąg, Jonas Dreßler,
|
||||
Olivier Fourdan, Carlos Garnacho, Hans de Goede, Andy Holmes,
|
||||
Sebastian Keller, Andre Moreira Magalhaes, Daniel García Moreno,
|
||||
Florian Müllner, Georges Basile Stavracas Neto, Jeremias Ortega, Ray Strode,
|
||||
Emre Uyguroglu, Daniel van Vugt
|
||||
|
||||
Translators:
|
||||
Tim Sabsch [de], Boyuan Yang [zh_CN], Fabio Tomat [fur],
|
||||
Efstathios Iosifidis [el], Rafael Fontenelle [pt_BR], Yuri Chornoivan [uk],
|
||||
Daniel Șerbănescu [ro], Jordi Mas [ca], Daniel Mustieles [es],
|
||||
Emin Tufan Çetin [tr], Asier Sarasua Garmendia [eu]
|
||||
|
||||
3.37.3
|
||||
======
|
||||
* Refactor and clean up window picker
|
||||
[Jonas D., Florian; !1297, !1298, !1305, !1345, !1353]
|
||||
* Move calendar events out of notifications list [Florian; !1282]
|
||||
* Refine app folder dialogs [Georges; !1301]
|
||||
* Hide switch-user button on lock screen if unsupported [Chingkai; #2687]
|
||||
* Refactor and clean up app picker pagination [Georges; !1271]
|
||||
* Add API to retrieve specified mimetypes from clipboards [Carlos; !1321]
|
||||
* Support prepending workspace with horizontal layouts [Florian; #2916]
|
||||
* Update microphone icon on input volume changes [fludixx; #2902]
|
||||
* Cache labels on GPU [Daniel; !1329]
|
||||
* Fix regressions in redesigned modal dialogs [Florian, Jonas D.; #2491, !1336]
|
||||
* Use GIcon for all application icons [Florian; !1342]
|
||||
* Support pre-authenticated logins in vmware environments [yun341; #1983]
|
||||
* Better support sandboxed apps with multiple .desktop files [Florian; #219]
|
||||
* Fix on-screen keyboard size in portrait orientation [Florian; #2349]
|
||||
* Plugged leaks [Sebastian, Daniel, Florian; !1306, !1319, !1341]
|
||||
* Misc. bug fixes and cleanups [Jonas D., Georges, Marco, Florian, Sebastian,
|
||||
MOZGIII, Daniel, Mariana, Jonas Å.; !1296, !1295, #2643, !1300, !1309,
|
||||
!1119, #2901, !1313, !1251, !1285, !1307, !1318, !1310, !1320, !1327, !1315,
|
||||
!1289, !1331, !1332, !1333, !1334, !1340, !1287, !1308, !1346, !1299, !1343,
|
||||
!1351, !1352, !1322]
|
||||
|
||||
Contributors:
|
||||
Marco Trevisan (Treviño), Chingkai, Jonas Dreßler, Carlos Garnacho,
|
||||
Sebastian Keller, MOZGIII, Florian Müllner, Georges Basile Stavracas Neto,
|
||||
Mariana Picolo, Daniel van Vugt, fludixx, yun341, Jonas Ådahl
|
||||
|
||||
Translators:
|
||||
Daniel Mustieles [es], Boyuan Yang [zh_CN], Yuri Chornoivan [uk],
|
||||
Jordi Mas [ca], sicklylife [ja], Emin Tufan Çetin [tr],
|
||||
Baurzhan Muftakhidinov [kk], Florentina Mușat [ro], Aurimas Černius [lt],
|
||||
Rūdolfs Mazurs [lv]
|
||||
|
||||
3.37.2
|
||||
======
|
||||
* Add support for "PrefersNonDefaultGPU" desktop key [Bastien; !1226]
|
||||
* Only start systemd units when running under systemd
|
||||
[Carlos, Florian; #2755, !1242, !1252]
|
||||
* Fix "ghost" media controls [Bryan; #2776]
|
||||
* Fix zombie sockets from extensions downloader [Michael; #2774]
|
||||
* Update world clocks offsets when timezone changes [Bryan; #2209]
|
||||
* Support scrolling anywhere in slider menu items [Peter; #2795]
|
||||
* Fix "Do Not Disturb" setting getting reset on startup [Florian; #2804]
|
||||
* Only allow updates for extensions that aren't cached [Florian; !1248]
|
||||
* Fix matching notifications by PID [Florian; #2592]
|
||||
* Indicate extension errors in Extensions app [Florian; #2337]
|
||||
* Add clipboard API for querying supported mimetypes [Andy; #2819]
|
||||
* Add preview to color picker [Florian; #451]
|
||||
* Improve world clocks styling [PrOF-kk; #2825]
|
||||
* Remove Frequent view from app picker [Georges; !880]
|
||||
* Fix pad OSD glitches [Carlos; !1290]
|
||||
* Expose actor tree in looking glass [Georges; !1292]
|
||||
* Fixed crashes [Jonas D., Florian; #2709, #2757]
|
||||
* Misc. bug fixes and cleanups [Florian, AsciiWolf, Michael, Piotr, Ting-Wei,
|
||||
Amr, Alexander, Bryan, Georges, Jonas D., Andy, Björn, Koki, Carlos; !1229,
|
||||
!1231, !1233, !1235, #2578, #2735, #2751, #2602, #2777, !1249, #2796, !1268,
|
||||
!1269, !1265, !1245, !1273, #2816, !1274, !1263, !1188, !1276, #2652, !1277,
|
||||
!1281, #2286, !1267, !1286, !1279, !1288, !1293, !1294, !1291]
|
||||
|
||||
Contributors:
|
||||
AsciiWolf, Michael Catanzaro, Björn Daase, Jonas Dreßler, Bryan Dunsmore,
|
||||
Koki Fukuda, Carlos Garnacho, Andy Holmes, Amr Ibrahim, Soslan Khubulov,
|
||||
Ting-Wei Lan, Michael Lass, Alexander Mikhaylenko, Florian Müllner,
|
||||
Georges Basile Stavracas Neto, Bastien Nocera, PrOF-kk, Peter Simonyi
|
||||
|
||||
Translators:
|
||||
Fabio Tomat [fur], Cheng-Chia Tseng [zh_TW], Yuri Chornoivan [uk],
|
||||
Dušan Kazik [sk], Piotr Drąg [pl], Soslan Khubulov [os],
|
||||
Daniel Mustieles [es], Nathan Follens [nl], Bruce Cowan [en_GB],
|
||||
Florentina Mușat [ro], Milo Casagrande [it], Anders Jonsson [sv],
|
||||
Charles Monzat [fr], Danial Behzadi [fa], sicklylife [ja], Kukuh Syafaat [id],
|
||||
Jordi Mas [ca], Emin Tufan Çetin [tr], Jiri Grönroos [fi], Марко Костић [sr],
|
||||
Christian Kirbach [de], Changwoo Ryu [ko], Matej Urbančič [sl]
|
||||
|
||||
3.37.1
|
||||
======
|
||||
* Improve bluetooth submenu title [Mariana; #2340]
|
||||
* Add openPrefs() convenience method for extensions [Florian; !1163]
|
||||
* Bring back support for empty StIcons [Andre, Jonas D.; !1173, !1178]
|
||||
* Wake up screen when unlocking programmatically [Florian; !1158]
|
||||
* Improve extensions tool error reporting [Florian; #2391]
|
||||
* Improve handling of scale-factor changes [Georges; !1176]
|
||||
* Tone down weekend days with events in calendar [Jakub; #2588]
|
||||
* Fix showing bluetooth submenu when devices were set up [Florian; !1174]
|
||||
* Add support for parental controls filtering [Philip W.; !465]
|
||||
* Provide alternative extension templates [Florian; !812]
|
||||
* Improve weather section's empty state [Mariana; #2179]
|
||||
* Fix translations of folder names [Florian; #2623]
|
||||
* Drop Tweener [Jonas Å.; !1200]
|
||||
* Match ASCII alternatives of system actions [Will; #2688]
|
||||
* Fix delay on lock screen after entering wrong password [Jonas D.; #2655]
|
||||
* Use globalThis instead of window [Andy; #2322]
|
||||
* Inhibit remote access when disabled by session mode [Jonas Å.; !1210]
|
||||
* Improve calendar-server performance [Milan; #1875]
|
||||
* Add gnome-shell-extension-prefs wrapper for compatibility [Florian; !1220]
|
||||
* Fix stuck lock screen after unlock [Jonas D., Florian; #2446]
|
||||
* Fixed crashes [Jonas D., Florian, Carlos; #2584, #2625, !1223, !1218]
|
||||
* Misc. bug fixes and cleanups [Florian, Jonas Å., Marco, Andre, Georges,
|
||||
Jonas D., Jan, Philip Ch.,, Xiaoguang, Will, Jordan, Matthew, qarmin;
|
||||
!1126, !1155, !1156, !1165, !1168, !1169, #2551, #2563, !1172, !1175, !1179,
|
||||
!1160, #2562, #2578, !1184, #2559, !1186, #2607, !1191, !1194, !1199, !1203,
|
||||
#2649, #2628, !1205, !1206, !1208, !1207, !1211, !1214, !1213, !1192, !1217,
|
||||
!1219, #1615, #2691, !1094, !1177]
|
||||
|
||||
Contributors:
|
||||
Marco Trevisan (Treviño), Philip Chimento, Milan Crha, Jonas Dreßler,
|
||||
Carlos Garnacho, Andy Holmes, Matthew Leeds, Andre Moreira Magalhaes,
|
||||
Florian Müllner, Georges Basile Stavracas Neto, Jordan Petridis,
|
||||
Mariana Picolo, Jakub Steiner, Will Thompson, Jan Tojnar, Xiaoguang Wang,
|
||||
Philip Withnall, qarmin, Jonas Ådahl
|
||||
|
||||
Translators:
|
||||
Fabio Tomat [fur], Cheng-Chia Tseng [zh_TW], Danial Behzadi [fa],
|
||||
Jiri Grönroos [fi], Ibai Oihanguren Sala [eu], Марко Костић [sr],
|
||||
Rūdolfs Mazurs [lv], Yuri Chornoivan [uk], Carmen Bianca BAKKER [eo],
|
||||
Dingzhong Chen [zh_CN], Rafael Fontenelle [pt_BR], Petr Kovář [cs],
|
||||
Asier Sarasua Garmendia [eu], Daniel Mustieles [es], Emin Tufan Çetin [tr]
|
||||
|
||||
3.36.0
|
||||
======
|
||||
* Fix off-by-1900 error in date conversions [Florian; !1061]
|
||||
* Fix crash on startup with topIcons* extension enabled [Florian; #2308]
|
||||
* Don't require gsd-xsettings for X11 support on wayland [Olivier; !1065]
|
||||
* Fix ibus support in Xorg session [Carlos; #1690]
|
||||
* Improve Extensions D-Bus API [Florian; !1074]
|
||||
* Allow session modes to specify alternative resource name [Marco; !1063]
|
||||
* Fix link to location settings in aggregate menu [Sebastian; #2316]
|
||||
* Fix illegible app folder titles with light theme [ub; !1059]
|
||||
* Really fix visual glitch in sliders [Jonas; #1569]
|
||||
|
||||
Contributors:
|
||||
Marco Trevisan (Treviño), Jonas Dreßler, Olivier Fourdan, Carlos Garnacho,
|
||||
Sebastian Keller, Florian Müllner, ub
|
||||
|
||||
Translators:
|
||||
Aman Alam [pa], Goran Vidović [hr], Aurimas Černius [lt],
|
||||
Milo Casagrande [it], Daniel Korostil [uk], sicklylife [ja],
|
||||
Marek Černocký [cs], Nathan Follens [nl]
|
||||
|
||||
3.35.92
|
||||
=======
|
||||
* Plug a memory leak [Jonas D.; !1015]
|
||||
* Fix missing "back" button on login screen [Florian; #2228]
|
||||
* Fix width of window preview titles in overview [Jonas D.; #58]
|
||||
* Fix looking glass text with light style variant [Feichtmeier; !1023]
|
||||
* Center unlock entry [Florian; !1021]
|
||||
* Hide overlay scrollbars in notification popup [Jonas D.; !1013]
|
||||
* Work around add_actor() slowness in icon spring animation [Daniel; !1002]
|
||||
* Add disable-animations heuristics [Jonas Å.; !757]
|
||||
* Fix visual glitches in on-screen keyboard [Carlos; #2214]
|
||||
* Fix clearing changed textures from cache [Florian; #2244]
|
||||
* Fix visual glitch in sliders [Daniel; #1569]
|
||||
* Stop using dedicated lock screen background [Florian; !1001]
|
||||
* Fix entries disappearing after authentication errors [Florian; #2236]
|
||||
* Fix crash when animations are disabled [Florian; #2255]
|
||||
* Fix passing pointer events to clients when magnified [Jonas D.; !993]
|
||||
* Fix keynav on new lock screen [Florian; #2210]
|
||||
* Avoid short-lived allocations on actor removal [Christian; #2263]
|
||||
* Fix super-sized default avatars in user list [Florian, Sam; #2242]
|
||||
* Leave overview when locking the screen [Jonas D.; !1043]
|
||||
* Hide message list on login screen [Florian; #2241]
|
||||
* Avoid IO on the main thread [Christian, Florian; !1050, !1051]
|
||||
* Fix window animations getting stuck when client doesn't respond [Jonas; !1055]
|
||||
* Only subscribe to touchpad events for touchpad gestures [Daniel; !925]
|
||||
* Start X11 session services before Xwayland clients [Carlos; !836, !1056]
|
||||
* Only show switch-user button with unlock prompt [Florian; !1029]
|
||||
* Misc. bug fixes and cleanups [Jonas D., Florian, Georges, Jonas Å., Daniel,
|
||||
Jakub, Philippe; !1018, !1020, !1024, !1027, !1026, !1022, !1031, !1035,
|
||||
!1032, !1025, !1039, #2157, !1037, !1042, !1047, !1048, #2270, !1046,
|
||||
!167, !1016]
|
||||
|
||||
Contributors:
|
||||
Jonas Dreßler, Feichtmeier, Carlos Garnacho, Christian Hergert, Sam Hewitt,
|
||||
Florian Müllner, Georges Basile Stavracas Neto, Jakub Steiner, Philippe Troin,
|
||||
Daniel van Vugt, Jonas Ådahl
|
||||
|
||||
Translators:
|
||||
Danial Behzadi [fa], Efstathios Iosifidis [el], Daniel Mustieles [es],
|
||||
Sabri Ünal [tr], sicklylife [ja], Piotr Drąg [pl], Jordi Mas [ca],
|
||||
Anders Jonsson [sv], Chao-Hsiung Liao [zh_TW], Asier Sarasua Garmendia [eu],
|
||||
Rafael Fontenelle [pt_BR], Марко Костић [sr], Changwoo Ryu [ko],
|
||||
Charles Monzat [fr], Jiri Grönroos [fi], Jor Teron [mjw], Bruce Cowan [en_GB],
|
||||
Emin Tufan Çetin [tr], Alan Mortensen [da], Balázs Úr [hu], Fran Dieguez [gl],
|
||||
Kukuh Syafaat [id]
|
||||
|
||||
3.35.91
|
||||
=======
|
||||
* Improve magnifier [Carlos; !984]
|
||||
* Only enable OSK automatically if touch-mode is enabled [Carlos; #872]
|
||||
* Merge screen shield and unlock dialog to new lock screen [Georges; !872]
|
||||
* Improve ShellBlur effect [Jonas; !991]
|
||||
* Adapt user avatar for new lock screen [Umang, Georges; !922]
|
||||
* Animate prompt transition on lock screen [Florian; !972]
|
||||
* Reduce font-size in dialog titles if text doesn't fit [Jonas; !1012]
|
||||
* Various lock screen improvements and bug fixes [Jakub, Florian, Georges;
|
||||
!996, !997, !999, #2212, !998, !1006, #2215, #2213]
|
||||
* Misc. bug fixes and cleanups [Daniel, Florian, Jakub, nana-4, Jonas; #2170,
|
||||
#2167, !936, !988, #2187, !994, !995, !938, #2194, #2203, !1004, !977, !1014]
|
||||
|
||||
Contributors:
|
||||
Jonas Dreßler, Carlos Garnacho, Umang Jain, Daniel Mustieles, Florian Müllner,
|
||||
Georges Basile Stavracas Neto, Jakub Steiner, Daniel van Vugt, nana-4
|
||||
|
||||
Translators:
|
||||
Daniel Mustieles [es, pt_BR], Rafael Fontenelle [pt_BR], Danial Behzadi [fa],
|
||||
Anders Jonsson [sv], Asier Sarasua Garmendia [eu], Aurimas Černius [lt],
|
||||
Bruce Cowan [en_GB], sicklylife [ja], Fran Dieguez [gl], Kukuh Syafaat [id],
|
||||
Emin Tufan Çetin [tr], Jiri Grönroos [fi], Jordi Mas [ca], Claude Paroz [fr],
|
||||
Ask Hjorth Larsen [da], Марко Костић [sr], Piotr Drąg [pl],
|
||||
Charles Monzat [fr], Balázs Úr [hu]
|
||||
|
||||
3.35.90
|
||||
=======
|
||||
* Update default favorite apps [Michael; !907]
|
||||
* Add Shell.Blur effect [Georges; !864, !924]
|
||||
* Overhaul scroll/swipe gestures [Alexander; !821, !825, !826]
|
||||
* Fix VPN connections when delaying request [Florian; #2008]
|
||||
* Overhaul theme [Sam, Jakub, nana-4; !904, !931, !957]
|
||||
* Improve visual appearance of Weather integration [Florian; #1143]
|
||||
* Implement new system dialog designs [Jonas; #1343]
|
||||
* Animate position changes of app icons [Georges; !882]
|
||||
* Add St.Viewport [Georges; !929]
|
||||
* Make app folders behave as dialogs [Georges; !896]
|
||||
* Add do-not-disturb functionality to calendar popup [Florian; #239]
|
||||
* Show hint actor in focused entries [Jonas; !944]
|
||||
* Switch screen-recorder back to VP8 [Björn; #256]
|
||||
* Allow to run perf-tool as wayland compositor [Olivier; !941]
|
||||
* Handle extension updates [Florian; !945]
|
||||
* Animate showing and hiding caps-lock warning [Jonas; !952]
|
||||
* Support "auto" lengths in CSS [Florian; !971]
|
||||
* Turn extension-prefs into the official Extensions app [Florian; #1968]
|
||||
* Sandbox the portal helper [Michael; !983]
|
||||
* Misc. bug fixes and cleanups [Florian, Björn, Jakub, Alexander, Daniel V.,
|
||||
Jonas, nana-4, Carlos, Sebastian, Daniel G., Georges, Piotr; !918, !917,
|
||||
!919, !920, #763, #791659, !927, #2091, !930, !926, !888, !934, !168, #2133,
|
||||
#682, #2142, #2131, !943, #2132, #1958, #2146, !951, #1779, #2130, !964,
|
||||
!965, !948, #2151, #1746, !967, !760, !968, !970, !973, #2169, #2176, !978,
|
||||
!980, !979, #2177, !981, #2180, !974]
|
||||
|
||||
Contributors:
|
||||
Michael Catanzaro, Björn Daase, Jonas Dreßler, Piotr Drąg, Olivier Fourdan,
|
||||
Carlos Garnacho, Sam Hewitt, Sebastian Keller, Andre Klapper,
|
||||
Alexander Mikhaylenko, Daniel García Moreno, Florian Müllner,
|
||||
Georges Basile Stavracas Neto, Jakub Steiner, Daniel van Vugt, nana-4
|
||||
|
||||
Translators:
|
||||
Asier Sarasua Garmendia [eu], Daniel Mustieles [es], Andrej Shadura [sk],
|
||||
Carmen Bianca BAKKER [eo], Sucipto [id], Dušan Kazik [sk], Goran Vidović [hr],
|
||||
sicklylife [ja], Kukuh Syafaat [id], Yi-Jyun Pan [zh_TW],
|
||||
Rafael Fontenelle [pt_BR], Jordi Mas [ca], Jiri Grönroos [fi],
|
||||
Fabio Tomat [fur], Umarzuki Bin Mochlis Moktar [ms], Daniel Korostil [uk],
|
||||
Jor Teron [mjw], Anders Jonsson [sv], Aurimas Černius [lt]
|
||||
|
||||
3.35.3
|
||||
======
|
||||
* Add discrete GPU support for NVidia drivers [Bastien; #1810]
|
||||
@ -264,7 +982,7 @@ Translators:
|
||||
======
|
||||
* Fix keeping actors visible in scrollviews [Marco; #1061]
|
||||
* Move some chrome above popup windows [Jonas D.; !358]
|
||||
* Include 'sandboxed-app-id' in winodw introspection info [Florian; #1289]
|
||||
* Include 'sandboxed-app-id' in window introspection info [Florian; #1289]
|
||||
* Port to libecal-2.0 [Milan; !501]
|
||||
* Support TCRYPT in mount password dialog [segfault; !126]
|
||||
* Misc. bug fixes and cleanups [Florian, Marco, Veerasamy; !517, #745, !499,
|
||||
@ -813,7 +1531,7 @@ Translations:
|
||||
* gdm: Fix "Not listed" focus indication [Florian; #784040]
|
||||
* Fix missing icons in freedesktop notifications [Florian; #784245]
|
||||
* gdm: Disable user list when empty [Xiaoguang; #731320]
|
||||
* gdm: Allow empty reponse to PAM messages [Ray; #784360]
|
||||
* gdm: Allow empty response to PAM messages [Ray; #784360]
|
||||
* Fix blocked clicks in shutdown dialog [Florian; #781738]
|
||||
* Show OSD popup when changing volume via scroll wheel [Florian; #781028]
|
||||
* Refine list search results [Rares; #749957]
|
||||
@ -2273,7 +2991,7 @@ Translations:
|
||||
* Merge the wayland branch [Giovanni, Neil; #707467]
|
||||
* Make search entry behave better in RTL locales [Matthias, Florian; #705779]
|
||||
* Allow to change app pages with pageUp/pageDown keys [Carlos; #707979]
|
||||
* Set approriate a11y states on expandable menu items [Alejandro; #708038]
|
||||
* Set appropriate a11y states on expandable menu items [Alejandro; #708038]
|
||||
* Improve page indicator animation [Carlos; #707565]
|
||||
* Misc bug fixes and cleanups [Florian, Olivier, Jasper, Giovanni, Magdalen,
|
||||
Adel, Carlos, Rico, Joanmarie; #707308, #707430, #707508, #707557, #707600,
|
||||
@ -3557,7 +4275,7 @@ Translations:
|
||||
* Update the calendar code to use ECalClient [Giovanni; #671177]
|
||||
* Update jhbuild script to use the main moduleset [Owen, Will; #668440]
|
||||
* StTextureCache: code cleanup, evict unused icons, merge together
|
||||
simulataneous requests for the same icon [Jasper; #670771, #671656, #672273]
|
||||
simultaneous requests for the same icon [Jasper; #670771, #671656, #672273]
|
||||
* Clean up St for recent Clutter changes and fix bugs. StContainer and
|
||||
StGroup are removed [Jasper, Florian; #670034, #670640, #670904]
|
||||
* Code cleanup [Adel, Jasper, Rui; #613194, #671086, #671103]
|
||||
@ -3692,7 +4410,7 @@ Translations:
|
||||
[Stefano; #664201]
|
||||
- Delay rearranging windows in the overview as long as the pointer
|
||||
is over a window [Vit; #645325]
|
||||
* Add a GConf => DConf migration file for overriden Mutter settings
|
||||
* Add a GConf => DConf migration file for overridden Mutter settings
|
||||
[Florian; #667636]
|
||||
* When a VPN connection is active, show that as the network icon
|
||||
[Giovanni; #665115]
|
||||
@ -3939,7 +4657,7 @@ Translations:
|
||||
- Add fingerprint reader support [Ray; #657823]
|
||||
- Add a power button offering the choice of Suspend/Restart/Power off
|
||||
[Ray; #657822]
|
||||
- Remove the option to view the current keyboad layout [Matthias; #659164]
|
||||
- Remove the option to view the current keyboard layout [Matthias; #659164]
|
||||
- Make Control-Alt-Tab work for full keyboard access [Ray; #659177]
|
||||
* Frequently initiate a full garbage collection; Spidermonkey isn't very good
|
||||
at tracking the amount of resources we have allocated so this hopefully will
|
||||
@ -4156,7 +4874,7 @@ Translations:
|
||||
* Fix selection highlighting for light-on-dark entries [Jasper; #643768]
|
||||
* Make control-Return in the overview open a new window [Maxim]
|
||||
* Delay showing the alt-Tab switcher to reduce visual noise when
|
||||
flipping betweeen windows [Dan; #652346]
|
||||
flipping between windows [Dan; #652346]
|
||||
* When we have vertically stacked monitors, put the message tray
|
||||
on the bottom one [Dan; #636963]
|
||||
* Fix various problems with keynav and the Activities button
|
||||
@ -4307,7 +5025,7 @@ Translations:
|
||||
- Fix missing device descriptions with multiple devices of the
|
||||
same type [Giovanni]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=646074
|
||||
- Label ad-hoc neworks with an appropriate icon [Dan]
|
||||
- Label ad-hoc networks with an appropriate icon [Dan]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=646141
|
||||
- Fix displaying some devices states as "invalid" [Dan]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=646946
|
||||
|
17
README.md
@ -1,5 +1,5 @@
|
||||
# GNOME Shell
|
||||
GNOME Shell provides core user interface functions for the GNOME 3 desktop,
|
||||
GNOME Shell provides core user interface functions for the GNOME desktop,
|
||||
like switching to windows and launching applications. GNOME Shell takes
|
||||
advantage of the capabilities of modern graphics hardware and introduces
|
||||
innovative user interface concepts to provide a visually attractive and
|
||||
@ -10,6 +10,7 @@ to build GNOME Shell from source and how to get involved with the project,
|
||||
see the [project wiki][project-wiki].
|
||||
|
||||
Bugs should be reported to the GNOME [bug tracking system][bug-tracker].
|
||||
Please refer to the [*Schedule* wiki page][schedule] to see the supported versions.
|
||||
|
||||
## Contributing
|
||||
|
||||
@ -19,10 +20,24 @@ Commit messages should follow the [GNOME commit message
|
||||
guidelines](https://wiki.gnome.org/Git/CommitMessages). We require an URL
|
||||
to either an issue or a merge request in each commit.
|
||||
|
||||
## Default branch
|
||||
|
||||
The default development branch is `main`. If you still have a local
|
||||
checkout under the old name, use:
|
||||
```sh
|
||||
git checkout master
|
||||
git branch -m master main
|
||||
git fetch
|
||||
git branch --unset-upstream
|
||||
git branch -u origin/main
|
||||
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main
|
||||
```
|
||||
|
||||
## License
|
||||
GNOME Shell is distributed under the terms of the GNU General Public License,
|
||||
version 2 or later. See the [COPYING][license] file for details.
|
||||
|
||||
[project-wiki]: https://wiki.gnome.org/Projects/GnomeShell
|
||||
[bug-tracker]: https://gitlab.gnome.org/GNOME/gnome-shell/issues
|
||||
[schedule]: https://wiki.gnome.org/Schedule
|
||||
[license]: COPYING
|
||||
|
@ -13,6 +13,9 @@
|
||||
/* Define to 1 if you have the `mallinfo' function. */
|
||||
#mesondefine HAVE_MALLINFO
|
||||
|
||||
/* Define to 1 if you have the `mallinfo2' function. */
|
||||
#mesondefine HAVE_MALLINFO2
|
||||
|
||||
/* Define to 1 fi you have the <sys/resource.h> header file. */
|
||||
#mesondefine HAVE_SYS_RESOURCE_H
|
||||
|
||||
|
45
data/50-gnome-shell-launchers.xml
Normal file
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<KeyListEntries schema="org.gnome.shell.keybindings"
|
||||
group="system"
|
||||
name="Launchers"
|
||||
wm_name="GNOME Shell"
|
||||
package="gnome-shell">
|
||||
|
||||
<KeyListEntry name="switch-to-application-1"
|
||||
description="Activate favorite application 1"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-2"
|
||||
description="Activate favorite application 2"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-3"
|
||||
description="Activate favorite application 3"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-4"
|
||||
description="Activate favorite application 4"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-5"
|
||||
description="Activate favorite application 5"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-6"
|
||||
description="Activate favorite application 6"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-7"
|
||||
description="Activate favorite application 7"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-8"
|
||||
description="Activate favorite application 8"
|
||||
hidden="true"/>
|
||||
|
||||
<KeyListEntry name="switch-to-application-9"
|
||||
description="Activate favorite application 9"
|
||||
hidden="true"/>
|
||||
|
||||
</KeyListEntries>
|
||||
|
@ -123,7 +123,7 @@ def locale_to_xkb(locale, name):
|
||||
if xkb:
|
||||
return xkb
|
||||
else:
|
||||
raise KeyError("layout %s explicitely disabled in overrides"
|
||||
raise KeyError("layout %s explicitly disabled in overrides"
|
||||
% locale)
|
||||
xkb_names = sorted(name_to_xkb.keys())
|
||||
if name in xkb_names:
|
||||
@ -161,12 +161,16 @@ def convert_file(source_file, destination_path):
|
||||
try:
|
||||
xkb_name = locale_to_xkb(root["locale"], root["name"])
|
||||
except KeyError as e:
|
||||
logging.warn(e)
|
||||
logging.warning(e)
|
||||
return False
|
||||
destination_file = os.path.join(destination_path, xkb_name + ".json")
|
||||
|
||||
with open(destination_file, 'w', encoding="utf-8") as dest_fd:
|
||||
json.dump(root, dest_fd, ensure_ascii=False, indent=2, sort_keys=True)
|
||||
try:
|
||||
with open(destination_file, 'x', encoding="utf-8") as dest_fd:
|
||||
json.dump(root, dest_fd, ensure_ascii=False, indent=2, sort_keys=True)
|
||||
except FileExistsError as e:
|
||||
logging.info("File %s exists, not updating", destination_file)
|
||||
return False
|
||||
|
||||
logging.debug("written %s", destination_file)
|
||||
|
76
data/dbus-interfaces/net.hadess.PowerProfiles.xml
Normal file
@ -0,0 +1,76 @@
|
||||
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
||||
|
||||
<node>
|
||||
|
||||
<!--
|
||||
net.hadess.PowerProfiles:
|
||||
@short_description: Power Profiles daemon
|
||||
|
||||
The power-profiles-daemon API is meant to be used by parts of the OS or
|
||||
desktop environment to switch system power profiles based on user choice,
|
||||
or user intent.
|
||||
|
||||
OS components would typically use the "Profiles" property to construct
|
||||
their UI (2 or 3 profiles available), and monitor the "ActiveProfile"
|
||||
and the "PerformanceInhibited" properties to update that UI. The UI
|
||||
would try to set the "ActiveProfile" property if the user selected
|
||||
a different one.
|
||||
|
||||
Note that the reason why the project exists and how it is different from
|
||||
existing projects is explained <ulink href=" https://gitlab.freedesktop.org/hadess/power-profiles-daemon/-/blob/master/README.md">
|
||||
in the project's README file</ulink>.
|
||||
|
||||
The object path will be "/net/hadess/PowerProfiles".
|
||||
-->
|
||||
<interface name="net.hadess.PowerProfiles">
|
||||
<!--
|
||||
ActiveProfile:
|
||||
|
||||
The type of the currently active profile. It might change automatically
|
||||
if the "performance" profile was selected but it got inhibited, in which
|
||||
case the "PerformanceInhibited" property will reflect the reason.
|
||||
-->
|
||||
<property name="ActiveProfile" type="s" access="readwrite"/>
|
||||
|
||||
<!--
|
||||
PerformanceInhibited:
|
||||
|
||||
This will be set if the performance power profile is unavailable, with
|
||||
the value being used to identify the reason for unavailability. As new
|
||||
reasons can be added, it is recommended that front-ends show a generic
|
||||
reason if they do not recognise the value. Possible values are:
|
||||
- "lap-detected" (the computer is sitting on the user's lap)
|
||||
- "high-operating-temperature" (the computer is close to overheating)
|
||||
- "" (the empty string, if not inhibited)
|
||||
-->
|
||||
<property name="PerformanceInhibited" type="s" access="read"/>
|
||||
|
||||
<!--
|
||||
Profiles:
|
||||
|
||||
An array of key-pair values representing each profile. The key named
|
||||
"Driver" (s) identifies the power-profiles-daemon backend code used to
|
||||
implement the profile.
|
||||
|
||||
The key named "Profile" (s) will be one of:
|
||||
- "power-saver" (battery saving profile)
|
||||
- "balanced" (the default profile)
|
||||
- "performance" (a profile that does not care about noise or battery consumption)
|
||||
|
||||
Only one of each type of profile will be listed, with the daemon choosing the
|
||||
more appropriate "driver" for each profile type.
|
||||
-->
|
||||
<property name="Profiles" type="aa{sv}" access="read"/>
|
||||
|
||||
<!--
|
||||
Actions:
|
||||
|
||||
An array of strings listing each one of the "actions" implemented in
|
||||
the running daemon. This is used by API users to figure out whether
|
||||
particular functionality is available in a version of the daemon.
|
||||
-->
|
||||
<property name="Actions" type="as" access="read"/>
|
||||
|
||||
</interface>
|
||||
</node>
|
78
data/dbus-interfaces/net.reactivated.Fprint.Device.xml
Normal file
@ -0,0 +1,78 @@
|
||||
<!DOCTYPE node PUBLIC
|
||||
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
||||
|
||||
<node>
|
||||
<interface name="net.reactivated.Fprint.Device">
|
||||
<method name="ListEnrolledFingers">
|
||||
<arg type="s" name="username" direction="in">
|
||||
</arg>
|
||||
<arg type="as" name="enrolled_fingers" direction="out">
|
||||
</arg>
|
||||
</method>
|
||||
|
||||
<method name="DeleteEnrolledFingers">
|
||||
<arg type="s" name="username" direction="in">
|
||||
</arg>
|
||||
</method>
|
||||
|
||||
<method name="DeleteEnrolledFingers2">
|
||||
</method>
|
||||
|
||||
<method name="Claim">
|
||||
<arg type="s" name="username" direction="in">
|
||||
</arg>
|
||||
</method>
|
||||
|
||||
<method name="Release">
|
||||
</method>
|
||||
|
||||
<method name="VerifyStart">
|
||||
<arg type="s" name="finger_name" direction="in">
|
||||
</arg>
|
||||
</method>
|
||||
|
||||
<method name="VerifyStop">
|
||||
</method>
|
||||
|
||||
<signal name="VerifyFingerSelected">
|
||||
<arg type="s" name="finger_name">
|
||||
</arg>
|
||||
</signal>
|
||||
|
||||
<signal name="VerifyStatus">
|
||||
<arg type="s" name="result">
|
||||
</arg>
|
||||
|
||||
<arg type="b" name="done">
|
||||
</arg>
|
||||
|
||||
</signal>
|
||||
|
||||
<method name="EnrollStart">
|
||||
<arg type="s" name="finger_name" direction="in">
|
||||
</arg>
|
||||
</method>
|
||||
|
||||
<method name="EnrollStop">
|
||||
</method>
|
||||
|
||||
<signal name="EnrollStatus">
|
||||
<arg type="s" name="result">
|
||||
</arg>
|
||||
|
||||
<arg type="b" name="done">
|
||||
</arg>
|
||||
</signal>
|
||||
|
||||
<property name="name" type="s" access="read">
|
||||
</property>
|
||||
|
||||
<property name="num-enroll-stages" type="i" access="read">
|
||||
</property>
|
||||
|
||||
<property name="scan-type" type="s" access="read">
|
||||
</property>
|
||||
|
||||
</interface>
|
||||
</node>
|
18
data/dbus-interfaces/net.reactivated.Fprint.Manager.xml
Normal file
@ -0,0 +1,18 @@
|
||||
<!DOCTYPE node PUBLIC
|
||||
"-//freedesktop//DTD D-BUS Object Introspection 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
|
||||
<node>
|
||||
<interface name="net.reactivated.Fprint.Manager">
|
||||
|
||||
<method name="GetDevices">
|
||||
<arg type="ao" name="devices" direction="out">
|
||||
</arg>
|
||||
</method>
|
||||
|
||||
<method name="GetDefaultDevice">
|
||||
<arg type="o" name="device" direction="out">
|
||||
</arg>
|
||||
</method>
|
||||
|
||||
</interface>
|
||||
</node>
|
@ -20,6 +20,12 @@
|
||||
<method name="ListSessions">
|
||||
<arg name="sessions" type="a(susso)" direction="out"/>
|
||||
</method>
|
||||
<method name="CanRebootToBootLoaderMenu">
|
||||
<arg type="s" direction="out"/>
|
||||
</method>
|
||||
<method name="SetRebootToBootLoaderMenu">
|
||||
<arg type="t" direction="in"/>
|
||||
</method>
|
||||
<signal name="PrepareForSleep">
|
||||
<arg type="b" direction="out"/>
|
||||
</signal>
|
||||
|
@ -1,26 +0,0 @@
|
||||
<node>
|
||||
<interface name="org.gnome.Magnifier.ZoomRegion">
|
||||
<method name="setMagFactor">
|
||||
<arg type="d" direction="in"/>
|
||||
<arg type="d" direction="in"/>
|
||||
</method>
|
||||
<method name="getMagFactor">
|
||||
<arg type="d" direction="out"/>
|
||||
<arg type="d" direction="out"/>
|
||||
</method>
|
||||
<method name="setRoi">
|
||||
<arg type="ai" direction="in"/>
|
||||
</method>
|
||||
<method name="getRoi">
|
||||
<arg type="ai" direction="out"/>
|
||||
</method>
|
||||
<method name="shiftContentsTo">
|
||||
<arg type="i" direction="in"/>
|
||||
<arg type="i" direction="in"/>
|
||||
<arg type="b" direction="out"/>
|
||||
</method>
|
||||
<method name="moveResize">
|
||||
<arg type="ai" direction="in"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>
|
@ -1,54 +0,0 @@
|
||||
<node>
|
||||
<interface name="org.gnome.Magnifier">
|
||||
<method name="setActive">
|
||||
<arg type="b" direction="in"/>
|
||||
</method>
|
||||
<method name="isActive">
|
||||
<arg type="b" direction="out"/>
|
||||
</method>
|
||||
<method name="showCursor"/>
|
||||
<method name="hideCursor"/>
|
||||
<method name="createZoomRegion">
|
||||
<arg type="d" direction="in"/>
|
||||
<arg type="d" direction="in"/>
|
||||
<arg type="ai" direction="in"/>
|
||||
<arg type="ai" direction="in"/>
|
||||
<arg type="o" direction="out"/>
|
||||
</method>
|
||||
<method name="addZoomRegion">
|
||||
<arg type="o" direction="in"/>
|
||||
<arg type="b" direction="out"/>
|
||||
</method>
|
||||
<method name="getZoomRegions">
|
||||
<arg type="ao" direction="out"/>
|
||||
</method>
|
||||
<method name="clearAllZoomRegions"/>
|
||||
<method name="fullScreenCapable">
|
||||
<arg type="b" direction="out"/>
|
||||
</method>
|
||||
<method name="setCrosswireSize">
|
||||
<arg type="i" direction="in"/>
|
||||
</method>
|
||||
<method name="getCrosswireSize">
|
||||
<arg type="i" direction="out"/>
|
||||
</method>
|
||||
<method name="setCrosswireLength">
|
||||
<arg type="i" direction="in"/>
|
||||
</method>
|
||||
<method name="getCrosswireLength">
|
||||
<arg type="i" direction="out"/>
|
||||
</method>
|
||||
<method name="setCrosswireClip">
|
||||
<arg type="b" direction="in"/>
|
||||
</method>
|
||||
<method name="getCrosswireClip">
|
||||
<arg type="b" direction="out"/>
|
||||
</method>
|
||||
<method name="setCrosswireColor">
|
||||
<arg type="u" direction="in"/>
|
||||
</method>
|
||||
<method name="getCrosswireColor">
|
||||
<arg type="u" direction="out"/>
|
||||
</method>
|
||||
</interface>
|
||||
</node>
|
191
data/dbus-interfaces/org.gnome.Mutter.ScreenCast.xml
Normal file
@ -0,0 +1,191 @@
|
||||
<!DOCTYPE node PUBLIC
|
||||
'-//freedesktop//DTD D-BUS Object Introspection 1.0//EN'
|
||||
'http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd'>
|
||||
<node>
|
||||
|
||||
<!--
|
||||
org.gnome.Mutter.ScreenCast:
|
||||
@short_description: Screen cast interface
|
||||
|
||||
This API is private and not intended to be used outside of the integrated
|
||||
system that uses libmutter. No compatibility between versions are
|
||||
promised.
|
||||
-->
|
||||
<interface name="org.gnome.Mutter.ScreenCast">
|
||||
|
||||
<!--
|
||||
CreateSession:
|
||||
@properties: Properties
|
||||
@session_path: Path to the new session object
|
||||
|
||||
* "remote-desktop-session-id" (s): The ID of a remote desktop session.
|
||||
Remote desktop driven screen casts
|
||||
are started and stopped by the remote
|
||||
desktop session.
|
||||
* "disable-animations" (b): Set to "true" if the screen cast application
|
||||
would prefer animations to be globally
|
||||
disabled, while the session is running. Default
|
||||
is "false". Available since version 3.
|
||||
-->
|
||||
<method name="CreateSession">
|
||||
<arg name="properties" type="a{sv}" direction="in" />
|
||||
<arg name="session_path" type="o" direction="out" />
|
||||
</method>
|
||||
|
||||
<!--
|
||||
Version:
|
||||
@short_description: API version
|
||||
-->
|
||||
<property name="Version" type="i" access="read" />
|
||||
|
||||
</interface>
|
||||
|
||||
<!--
|
||||
org.gnome.Mutter.ScreenCast.Session:
|
||||
@short_description: Screen cast session
|
||||
-->
|
||||
<interface name="org.gnome.Mutter.ScreenCast.Session">
|
||||
|
||||
<!--
|
||||
Start:
|
||||
|
||||
Start the screen cast session
|
||||
-->
|
||||
<method name="Start" />
|
||||
|
||||
<!--
|
||||
Stop:
|
||||
|
||||
Stop the screen cast session
|
||||
-->
|
||||
<method name="Stop" />
|
||||
|
||||
<!--
|
||||
Closed:
|
||||
|
||||
The session has closed.
|
||||
-->
|
||||
<signal name="Closed" />
|
||||
|
||||
<!--
|
||||
RecordMonitor:
|
||||
@connector: Connector of the monitor to record
|
||||
@properties: Properties
|
||||
@stream_path: Path to the new stream object
|
||||
|
||||
Record a single monitor.
|
||||
|
||||
Available @properties include:
|
||||
|
||||
* "cursor-mode" (u): Cursor mode. Default: 'hidden' (see below)
|
||||
Available since API version 2.
|
||||
* "is-recording" (b): Whether this is a screen recording. May be
|
||||
be used for choosing panel icon.
|
||||
Default: false. Available since API version 4.
|
||||
|
||||
Available cursor mode values:
|
||||
|
||||
0: hidden - cursor is not included in the stream
|
||||
1: embedded - cursor is included in the framebuffer
|
||||
2: metadata - cursor is included as metadata in the PipeWire stream
|
||||
-->
|
||||
<method name="RecordMonitor">
|
||||
<arg name="connector" type="s" direction="in" />
|
||||
<arg name="properties" type="a{sv}" direction="in" />
|
||||
<arg name="stream_path" type="o" direction="out" />
|
||||
</method>
|
||||
|
||||
<!--
|
||||
RecordWindow:
|
||||
@properties: Properties used determining what window to select
|
||||
@stream_path: Path to the new stream object
|
||||
|
||||
Supported since API version 2.
|
||||
|
||||
Record a single window. The cursor will not be included.
|
||||
|
||||
Available @properties include:
|
||||
|
||||
* "window-id" (t): Id of the window to record.
|
||||
* "cursor-mode" (u): Cursor mode. Default: 'hidden' (see RecordMonitor).
|
||||
* "is-recording" (b): Whether this is a screen recording. May be
|
||||
be used for choosing panel icon.
|
||||
Default: false. Available since API version 4.
|
||||
|
||||
-->
|
||||
<method name="RecordWindow">
|
||||
<arg name="properties" type="a{sv}" direction="in" />
|
||||
<arg name="stream_path" type="o" direction="out" />
|
||||
</method>
|
||||
|
||||
<!--
|
||||
RecordArea:
|
||||
@x: X position of the recorded area
|
||||
@y: Y position of the recorded area
|
||||
@width: width of the recorded area
|
||||
@height: height of the recorded area
|
||||
@properties: Properties
|
||||
@stream_path: Path to the new stream object
|
||||
|
||||
Record an area of the stage. The coordinates are in stage coordinates.
|
||||
The size of the stream does not necessarily match the size of the
|
||||
recorded area, and will depend on DPI scale of the affected monitors.
|
||||
|
||||
Available @properties include:
|
||||
|
||||
* "cursor-mode" (u): Cursor mode. Default: 'hidden' (see below)
|
||||
Available since API version 2.
|
||||
* "is-recording" (b): Whether this is a screen recording. May be
|
||||
be used for choosing panel icon.
|
||||
Default: false. Available since API version 4.
|
||||
|
||||
Available cursor mode values:
|
||||
|
||||
0: hidden - cursor is not included in the stream
|
||||
1: embedded - cursor is included in the framebuffer
|
||||
2: metadata - cursor is included as metadata in the PipeWire stream
|
||||
-->
|
||||
<method name="RecordArea">
|
||||
<arg name="x" type="i" direction="in" />
|
||||
<arg name="y" type="i" direction="in" />
|
||||
<arg name="width" type="i" direction="in" />
|
||||
<arg name="height" type="i" direction="in" />
|
||||
<arg name="properties" type="a{sv}" direction="in" />
|
||||
<arg name="stream_path" type="o" direction="out" />
|
||||
</method>
|
||||
</interface>
|
||||
|
||||
<!--
|
||||
org.gnome.Mutter.ScreenCast.Stream:
|
||||
@short_description: Screen cast stream
|
||||
-->
|
||||
<interface name="org.gnome.Mutter.ScreenCast.Stream">
|
||||
|
||||
<!--
|
||||
PipeWireStreamAdded:
|
||||
@short_description: Pipewire stream added
|
||||
|
||||
A signal emitted when PipeWire stream for the screen cast stream has
|
||||
been created. The @node_id corresponds to the PipeWire stream node.
|
||||
-->
|
||||
<signal name="PipeWireStreamAdded">
|
||||
<annotation name="org.gtk.GDBus.C.Name" value="pipewire-stream-added"/>
|
||||
<arg name="node_id" type="u" direction="out" />
|
||||
</signal>
|
||||
|
||||
<!--
|
||||
Parameters:
|
||||
@short_description: Optional stream parameters
|
||||
|
||||
Available parameters include:
|
||||
|
||||
* "position" (ii): Position of the source of the stream in the
|
||||
compositor coordinate space.
|
||||
* "size" (ii): Size of the source of the stream in the compositor
|
||||
coordinate space.
|
||||
-->
|
||||
<property name="Parameters" type="a{sv}" access="read" />
|
||||
|
||||
</interface>
|
||||
|
||||
</node>
|
@ -3,6 +3,9 @@
|
||||
<method name="GetAppId">
|
||||
<arg type="s" direction="out"/>
|
||||
</method>
|
||||
<method name="GetFlags">
|
||||
<arg type="u" direction="out"/>
|
||||
</method>
|
||||
<method name="GetReason">
|
||||
<arg type="s" direction="out"/>
|
||||
</method>
|
||||
|
@ -1,12 +1,19 @@
|
||||
<node>
|
||||
<interface name="org.gnome.Shell.CalendarServer">
|
||||
<method name="GetEvents">
|
||||
<arg type="x" direction="in" />
|
||||
<arg type="x" direction="in" />
|
||||
<arg type="b" direction="in" />
|
||||
<arg type="a(sssbxxa{sv})" direction="out" />
|
||||
<method name="SetTimeRange">
|
||||
<arg type="x" name="since" direction="in"/>
|
||||
<arg type="x" name="until" direction="in"/>
|
||||
<arg type="b" name="force_reload" direction="in"/>
|
||||
</method>
|
||||
<signal name="EventsAddedOrUpdated">
|
||||
<arg type="a(ssxxa{sv})" name="events" direction="out"/>
|
||||
</signal>
|
||||
<signal name="EventsRemoved">
|
||||
<arg type="as" name="ids" direction="out"/>
|
||||
</signal>
|
||||
<signal name="ClientDisappeared">
|
||||
<arg type="s" name="source_uid" direction="out"/>
|
||||
</signal>
|
||||
<property name="HasCalendars" type="b" access="read" />
|
||||
<signal name="Changed" />
|
||||
</interface>
|
||||
</node>
|
||||
|
@ -180,10 +180,10 @@
|
||||
|
||||
Enable an extension.
|
||||
-->
|
||||
<method name="EnableExtension"> \
|
||||
<arg type="s" direction="in" name="uuid"/> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
</method> \
|
||||
<method name="EnableExtension">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
DisableExtension:
|
||||
@ -192,21 +192,44 @@
|
||||
|
||||
Disable an extension.
|
||||
-->
|
||||
<method name="DisableExtension"> \
|
||||
<arg type="s" direction="in" name="uuid"/> \
|
||||
<arg type="b" direction="out" name="success"/> \
|
||||
</method> \
|
||||
<method name="DisableExtension">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
<arg type="b" direction="out" name="success"/>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
LaunchExtensionPrefs:
|
||||
@uuid: The UUID of the extension
|
||||
|
||||
Launch preferences of an extension.
|
||||
Deprecated for OpenExtensionPrefs
|
||||
-->
|
||||
<method name="LaunchExtensionPrefs">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
OpenExtensionPrefs:
|
||||
@uuid: The UUID of the extension
|
||||
@parent_window: Identifier for the application window
|
||||
@options: Vardict with further options
|
||||
|
||||
Opens the prefs dialog of extension @uuid.
|
||||
|
||||
The following @options are recognized:
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>modal b</term>
|
||||
<listitem>
|
||||
<para>Whether the prefs window should be modal, default: false</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
-->
|
||||
<method name="OpenExtensionPrefs">
|
||||
<arg type="s" direction="in" name="uuid"/>
|
||||
<arg type="s" direction="in" name="parent_window"/>
|
||||
<arg type="a{sv}" direction="in" name="options"/>
|
||||
</method>
|
||||
|
||||
<!--
|
||||
CheckForUpdates:
|
||||
Update all extensions for which updates are available
|
||||
@ -234,5 +257,11 @@
|
||||
-->
|
||||
<property name="ShellVersion" type="s" access="read"/>
|
||||
|
||||
<!--
|
||||
UserExtensionsEnabled:
|
||||
Whether user extensions are enabled
|
||||
-->
|
||||
<property name="UserExtensionsEnabled" type="b" access="readwrite"/>
|
||||
|
||||
</interface>
|
||||
</node>
|
||||
|
@ -57,5 +57,27 @@
|
||||
<method name="GetWindows">
|
||||
<arg name="windows" direction="out" type="a{ta{sv}}" />
|
||||
</method>
|
||||
|
||||
<!--
|
||||
AnimationsEnabled:
|
||||
@short_description: Whether the shell animations are enabled
|
||||
|
||||
By default determined by the org.gnome.desktop.interface enable-animations
|
||||
gsetting, but may be overridden, e.g. if there is an active screen cast or
|
||||
remote desktop session that asked for animations to be disabled.
|
||||
|
||||
Since: 2
|
||||
-->
|
||||
<property name="AnimationsEnabled" type="b" access="read"/>
|
||||
|
||||
<!--
|
||||
ScreenSize:
|
||||
@short_description: The size of the screen
|
||||
|
||||
Since: 3
|
||||
-->
|
||||
<property name="ScreenSize" type="(ii)" access="read"/>
|
||||
|
||||
<property name="version" type="u" access="read"/>
|
||||
</interface>
|
||||
</node>
|
||||
|
@ -1,8 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<gresources>
|
||||
<gresource prefix="/org/gnome/shell/dbus-interfaces">
|
||||
<file preprocess="xml-stripblanks">net.hadess.PowerProfiles.xml</file>
|
||||
<file preprocess="xml-stripblanks">net.hadess.SensorProxy.xml</file>
|
||||
<file preprocess="xml-stripblanks">net.hadess.SwitcherooControl.xml</file>
|
||||
<file preprocess="xml-stripblanks">net.reactivated.Fprint.Device.xml</file>
|
||||
<file preprocess="xml-stripblanks">net.reactivated.Fprint.Manager.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.Application.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Device.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.bolt1.Manager.xml</file>
|
||||
@ -27,8 +29,7 @@
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.realmd.Service.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.UPower.Device.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.freedesktop.UPower.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.Magnifier.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.Magnifier.ZoomRegion.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.Mutter.ScreenCast.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.ScreenSaver.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.SessionManager.EndSessionDialog.xml</file>
|
||||
<file preprocess="xml-stripblanks">org.gnome.SessionManager.Inhibitor.xml</file>
|
||||
|
@ -1,8 +0,0 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Shell Extensions
|
||||
Comment=Configure GNOME Shell Extensions
|
||||
Exec=@bindir@/gnome-shell-extension-prefs %u
|
||||
Categories=GNOME;GTK;
|
||||
OnlyShowIn=GNOME;
|
||||
NoDisplay=true
|
@ -1,4 +0,0 @@
|
||||
[org.gnome.shell.overrides]
|
||||
attach-modal-dialogs = /desktop/gnome/shell/windows/attach_modal_dialogs
|
||||
edge-tiling = /desktop/gnome/shell/windows/edge_tiling
|
||||
workspaces-only-on-primary = /desktop/gnome/shell/windows/workspaces_only_on_primary
|
@ -2,36 +2,41 @@
|
||||
<gresources>
|
||||
<gresource prefix="/org/gnome/shell/theme">
|
||||
<file>calendar-today.svg</file>
|
||||
<file alias="icons/scalable/status/carousel-arrow-next-24-symbolic.svg">carousel-arrow-next-24-symbolic.svg</file>
|
||||
<file alias="icons/scalable/status/carousel-arrow-back-24-symbolic.svg">carousel-arrow-back-24-symbolic.svg</file>
|
||||
<file>checkbox-focused.svg</file>
|
||||
<file>checkbox-off-focused.svg</file>
|
||||
<file>checkbox-off.svg</file>
|
||||
<file>checkbox.svg</file>
|
||||
<file>dash-placeholder.svg</file>
|
||||
<file alias="icons/scalable/actions/color-pick.svg">color-pick.svg</file>
|
||||
<file>gnome-shell.css</file>
|
||||
<file>gnome-shell-high-contrast.css</file>
|
||||
<file>key-enter.svg</file>
|
||||
<file>key-hide.svg</file>
|
||||
<file>key-layout.svg</file>
|
||||
<file>key-shift.svg</file>
|
||||
<file>key-shift-uppercase.svg</file>
|
||||
<file>key-shift-latched-uppercase.svg</file>
|
||||
<file alias="icons/message-indicator-symbolic.svg">message-indicator-symbolic.svg</file>
|
||||
<file>gnome-shell-start.svg</file>
|
||||
<file alias="icons/scalable/status/message-indicator-symbolic.svg">message-indicator-symbolic.svg</file>
|
||||
<file>no-events.svg</file>
|
||||
<file>no-notifications.svg</file>
|
||||
<file>noise-texture.png</file>
|
||||
<file>pad-osd.css</file>
|
||||
<file alias="icons/eye-open-negative-filled-symbolic.svg">eye-open-negative-filled-symbolic.svg</file>
|
||||
<file alias="icons/eye-not-looking-symbolic.svg">eye-not-looking-symbolic.svg</file>
|
||||
<file alias="icons/pointer-double-click-symbolic.svg">pointer-double-click-symbolic.svg</file>
|
||||
<file alias="icons/pointer-drag-symbolic.svg">pointer-drag-symbolic.svg</file>
|
||||
<file alias="icons/pointer-primary-click-symbolic.svg">pointer-primary-click-symbolic.svg</file>
|
||||
<file alias="icons/pointer-secondary-click-symbolic.svg">pointer-secondary-click-symbolic.svg</file>
|
||||
<file alias="icons/scalable/status/eye-open-negative-filled-symbolic.svg">eye-open-negative-filled-symbolic.svg</file>
|
||||
<file alias="icons/scalable/status/eye-not-looking-symbolic.svg">eye-not-looking-symbolic.svg</file>
|
||||
<file alias="icons/scalable/actions/pointer-double-click-symbolic.svg">pointer-double-click-symbolic.svg</file>
|
||||
<file alias="icons/scalable/actions/pointer-drag-symbolic.svg">pointer-drag-symbolic.svg</file>
|
||||
<file alias="icons/scalable/actions/pointer-primary-click-symbolic.svg">pointer-primary-click-symbolic.svg</file>
|
||||
<file alias="icons/scalable/actions/pointer-secondary-click-symbolic.svg">pointer-secondary-click-symbolic.svg</file>
|
||||
<file alias="icons/scalable/actions/preview-close-symbolic.svg">window-close-24-symbolic.svg</file>
|
||||
<file alias="icons/scalable/status/keyboard-caps-lock-filled-symbolic.svg">keyboard-caps-lock-filled-symbolic.svg</file>
|
||||
<file alias="icons/scalable/status/keyboard-enter-symbolic.svg">keyboard-enter-symbolic.svg</file>
|
||||
<file alias="icons/scalable/status/keyboard-hide-symbolic.svg">keyboard-hide-symbolic.svg</file>
|
||||
<file alias="icons/scalable/status/keyboard-layout-filled-symbolic.svg">keyboard-layout-filled-symbolic.svg</file>
|
||||
<file alias="icons/scalable/status/keyboard-shift-filled-symbolic.svg">keyboard-shift-filled-symbolic.svg</file>
|
||||
<file>process-working.svg</file>
|
||||
<file alias="icons/scalable/status/screen-privacy-disabled-symbolic.svg">screen-privacy-disabled-symbolic.svg</file>
|
||||
<file alias="icons/scalable/status/screen-privacy-symbolic.svg">screen-privacy-symbolic.svg</file>
|
||||
<file>toggle-off.svg</file>
|
||||
<file>toggle-off-dark.svg</file>
|
||||
<file>toggle-off-hc.svg</file>
|
||||
<file>toggle-on.svg</file>
|
||||
<file>toggle-on-dark.svg</file>
|
||||
<file>toggle-on-hc.svg</file>
|
||||
<file>workspace-placeholder.svg</file>
|
||||
</gresource>
|
||||
</gresources>
|
||||
|
@ -1,27 +0,0 @@
|
||||
[Unit]
|
||||
Description=GNOME Shell on Wayland
|
||||
# On wayland, force a session shutdown
|
||||
OnFailure=gnome-shell-disable-extensions.service gnome-session-shutdown.target
|
||||
OnFailureJobMode=replace-irreversibly
|
||||
CollectMode=inactive-or-failed
|
||||
RefuseManualStart=on
|
||||
RefuseManualStop=on
|
||||
|
||||
After=gnome-session-manager.target
|
||||
|
||||
Requisite=gnome-session-initialized.target
|
||||
PartOf=gnome-session-initialized.target
|
||||
Before=gnome-session-initialized.target
|
||||
|
||||
# The units already conflict because they use the same BusName
|
||||
#Conflicts=gnome-shell-x11.service
|
||||
|
||||
[Service]
|
||||
Type=notify
|
||||
ExecStart=@bindir@/gnome-shell
|
||||
# Exit code 1 means we are probably *not* dealing with an extension failure
|
||||
SuccessExitStatus=1
|
||||
# On wayland we cannot restart
|
||||
Restart=no
|
||||
# Kill any stubborn child processes after this long
|
||||
TimeoutStopSec=5
|
@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=GNOME Shell on Wayland
|
||||
DefaultDependencies=no
|
||||
|
||||
Requisite=gnome-session-initialized.target
|
||||
PartOf=gnome-session-initialized.target
|
||||
Before=gnome-session-initialized.target
|
||||
|
||||
Requires=gnome-shell-wayland.service
|
||||
After=gnome-shell-wayland.service
|
@ -1,4 +1,4 @@
|
||||
[portal]
|
||||
DBusName=org.freedesktop.impl.portal.desktop.gnome
|
||||
DBusName=org.gnome.Shell.Portal
|
||||
Interfaces=org.freedesktop.impl.portal.Access
|
||||
UseIn=gnome
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M6.5 1.031c-.371 0-.742-.035-1.11.016-.367.05-.73.203-.972.476-.125.141-.215.309-.266.485-.047.18-.054.367-.02.55.032.184.102.356.192.516.09.164.203.309.317.457L5 4H2a1.8 1.8 0 00-.41.035.791.791 0 00-.36.195.791.791 0 00-.195.36C1 4.723 1 4.863 1 5v2.75l.77-.344c.265-.117.542-.23.832-.242.289-.016.586.074.812.254.227.18.383.441.465.723.082.277.101.57.121.859.02.316.04.637-.016.95-.058.312-.199.616-.43.831a1.264 1.264 0 01-.874.32c-.317-.007-.618-.128-.91-.257L1 10.5V14c0 .137.004.277.035.41a.791.791 0 00.195.36c.098.097.227.16.36.195.133.035.273.035.41.035h3l-.328-.68c-.14-.293-.274-.597-.29-.922-.015-.32.095-.652.31-.894.214-.242.523-.39.84-.453.316-.067.644-.059.968-.059.324 0 .652-.008.969.059.316.062.625.21.84.453.214.242.324.574.308.894-.015.325-.148.63-.289.922L8 15h3a1.8 1.8 0 00.41-.035.791.791 0 00.36-.195.791.791 0 00.195-.36C12 14.277 12 14.137 12 14v-3.563l.703.297c.29.125.59.239.902.246.313.004.63-.101.864-.308.238-.203.386-.496.46-.8C15 9.565 15 9.25 15 8.937c0-.313 0-.63-.07-.934-.075-.305-.223-.598-.461-.8a1.288 1.288 0 00-.864-.31c-.312.008-.613.122-.902.247L12 7.437V5a1.8 1.8 0 00-.035-.41.791.791 0 00-.195-.36.791.791 0 00-.36-.195C11.277 4 11.137 4 11 4H8l.36-.469c.113-.148.226-.293.316-.457.09-.16.16-.332.191-.515a1.248 1.248 0 00-.02-.551 1.256 1.256 0 00-.265-.485c-.242-.273-.605-.425-.973-.476-.367-.05-.738-.016-1.109-.016zm0 0" fill="#474747"/></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
data/icons/meson.build
Normal file
@ -0,0 +1 @@
|
||||
install_subdir('hicolor', install_dir: icondir)
|
@ -1,6 +1,6 @@
|
||||
desktop_files = [
|
||||
'org.gnome.Shell.desktop',
|
||||
'gnome-shell-extension-prefs.desktop'
|
||||
'org.gnome.Shell.Extensions.desktop',
|
||||
]
|
||||
service_files = []
|
||||
|
||||
@ -41,8 +41,10 @@ foreach service_file : service_files
|
||||
)
|
||||
endforeach
|
||||
|
||||
theme_deps = []
|
||||
|
||||
subdir('dbus-interfaces')
|
||||
subdir('icons')
|
||||
subdir('theme')
|
||||
|
||||
data_resources = [
|
||||
@ -71,9 +73,13 @@ configure_file(
|
||||
install_dir: pkgdatadir
|
||||
)
|
||||
|
||||
keybinding_files = [
|
||||
'50-gnome-shell-launchers.xml',
|
||||
'50-gnome-shell-system.xml',
|
||||
]
|
||||
|
||||
install_data('gnome-shell.portal', install_dir: portaldir)
|
||||
install_data('50-gnome-shell-system.xml', install_dir: keysdir)
|
||||
install_data(keybinding_files, install_dir: keysdir)
|
||||
|
||||
|
||||
schemaconf = configuration_data()
|
||||
@ -100,22 +106,21 @@ if have_systemd
|
||||
unitconf.set('bindir', bindir)
|
||||
|
||||
configure_file(
|
||||
input: 'gnome-shell-x11.service.in',
|
||||
output: 'gnome-shell-x11.service',
|
||||
input: 'org.gnome.Shell@x11.service.in',
|
||||
output: 'org.gnome.Shell@x11.service',
|
||||
configuration: unitconf,
|
||||
install_dir: systemduserunitdir
|
||||
)
|
||||
|
||||
configure_file(
|
||||
input: 'gnome-shell-wayland.service.in',
|
||||
output: 'gnome-shell-wayland.service',
|
||||
input: 'org.gnome.Shell@wayland.service.in',
|
||||
output: 'org.gnome.Shell@wayland.service',
|
||||
configuration: unitconf,
|
||||
install_dir: systemduserunitdir
|
||||
)
|
||||
|
||||
units = files('gnome-shell-x11.target',
|
||||
'gnome-shell-wayland.target',
|
||||
'gnome-shell-disable-extensions.service')
|
||||
units = files('org.gnome.Shell.target',
|
||||
'org.gnome.Shell-disable-extensions.service')
|
||||
|
||||
install_data(units, install_dir: systemduserunitdir)
|
||||
endif
|
||||
@ -126,5 +131,3 @@ custom_target('compile-schemas',
|
||||
output: 'gschemas.compiled',
|
||||
command: [find_program('glib-compile-schemas'), meson.current_build_dir()],
|
||||
build_by_default: true)
|
||||
|
||||
install_data('gnome-shell-overrides.convert', install_dir: convertdir)
|
||||
|
10
data/org.gnome.Shell.Extensions.desktop.in.in
Normal file
@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Type=Application
|
||||
# Keep in sync with subprojects/extensions-app
|
||||
Name=Extensions
|
||||
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
|
||||
Icon=org.gnome.Shell.Extensions
|
||||
# Never launch this, just provide name+icon to portal dialog
|
||||
Exec=false
|
||||
OnlyShowIn=GNOME;
|
||||
NoDisplay=true
|
@ -1,10 +1,10 @@
|
||||
[Unit]
|
||||
Description=GNOME Shell on X11
|
||||
Description=GNOME Shell
|
||||
DefaultDependencies=no
|
||||
|
||||
Requisite=gnome-session-initialized.target
|
||||
PartOf=gnome-session-initialized.target
|
||||
Before=gnome-session-initialized.target
|
||||
|
||||
Requires=gnome-shell-x11.service
|
||||
After=gnome-shell-x11.service
|
||||
Wants=org.gnome.Shell@wayland.service
|
||||
Wants=org.gnome.Shell@x11.service
|
34
data/org.gnome.Shell@wayland.service.in
Normal file
@ -0,0 +1,34 @@
|
||||
[Unit]
|
||||
Description=GNOME Shell on Wayland
|
||||
# On wayland, force a session shutdown
|
||||
OnFailure=org.gnome.Shell-disable-extensions.service gnome-session-shutdown.target
|
||||
OnFailureJobMode=replace-irreversibly
|
||||
CollectMode=inactive-or-failed
|
||||
RefuseManualStart=on
|
||||
RefuseManualStop=on
|
||||
|
||||
After=gnome-session-manager.target
|
||||
|
||||
Requisite=gnome-session-initialized.target
|
||||
PartOf=gnome-session-initialized.target
|
||||
Before=gnome-session-initialized.target
|
||||
|
||||
[Service]
|
||||
Slice=session.slice
|
||||
Type=notify
|
||||
# NOTE: This can be replaced with ConditionEnvironment=XDG_SESSION_TYPE=%I in
|
||||
# the [Unit] section with systemd >= 246. Also, the current solution is
|
||||
# kind of painful as systemd had a bug where it retries the condition.
|
||||
# Only start if the template instance matches the session type.
|
||||
ExecCondition=/bin/sh -c 'test "$XDG_SESSION_TYPE" = "%I" || exit 2'
|
||||
ExecStart=@bindir@/gnome-shell
|
||||
# Exit code 1 means we are probably *not* dealing with an extension failure
|
||||
SuccessExitStatus=1
|
||||
|
||||
# unset some environment variables that were set by the shell and won't work now that the shell is gone
|
||||
ExecStopPost=-/bin/sh -c 'test "$SERVICE_RESULT" != "exec-condition" && systemctl --user unset-environment GNOME_SETUP_DISPLAY WAYLAND_DISPLAY DISPLAY XAUTHORITY'
|
||||
|
||||
# On wayland we cannot restart
|
||||
Restart=no
|
||||
# Kill any stubborn child processes after this long
|
||||
TimeoutStopSec=5
|
@ -1,7 +1,7 @@
|
||||
[Unit]
|
||||
Description=GNOME Shell on X11
|
||||
# On X11, try to show the GNOME Session Failed screen
|
||||
OnFailure=gnome-shell-disable-extensions.service gnome-session-failed.target
|
||||
OnFailure=org.gnome.Shell-disable-extensions.service gnome-session-failed.target
|
||||
OnFailureJobMode=replace
|
||||
CollectMode=inactive-or-failed
|
||||
RefuseManualStart=on
|
||||
@ -13,18 +13,24 @@ Requisite=gnome-session-initialized.target
|
||||
PartOf=gnome-session-initialized.target
|
||||
Before=gnome-session-initialized.target
|
||||
|
||||
# The units already conflict because they use the same BusName
|
||||
#Conflicts=gnome-shell-wayland.service
|
||||
|
||||
# Limit startup frequency more than the default
|
||||
StartLimitIntervalSec=15s
|
||||
StartLimitBurst=3
|
||||
|
||||
[Service]
|
||||
Slice=session.slice
|
||||
Type=notify
|
||||
# NOTE: This can be replaced with ConditionEnvironment=XDG_SESSION_TYPE=%I in
|
||||
# the [Unit] section with systemd >= 246. Also, the current solution is
|
||||
# kind of painful as systemd had a bug where it retries the condition.
|
||||
# Only start if the template instance matches the session type.
|
||||
ExecCondition=/bin/sh -c 'test "$XDG_SESSION_TYPE" = "%I" || exit 2'
|
||||
ExecStart=@bindir@/gnome-shell
|
||||
# Exit code 1 means we are probably *not* dealing with an extension failure
|
||||
SuccessExitStatus=1
|
||||
|
||||
# On X11 we do not need to unset any variables
|
||||
|
||||
# On X11 we want to restart on-success (Alt+F2 + r) and on-failure.
|
||||
Restart=always
|
||||
# Do not wait before restarting the shell
|
@ -41,7 +41,7 @@
|
||||
</description>
|
||||
</key>
|
||||
<key name="disable-extension-version-validation" type="b">
|
||||
<default>true</default>
|
||||
<default>false</default>
|
||||
<summary>Disables the validation of extension version compatibility</summary>
|
||||
<description>
|
||||
GNOME Shell will only load extensions that claim to support the current
|
||||
@ -50,20 +50,13 @@
|
||||
</description>
|
||||
</key>
|
||||
<key name="favorite-apps" type="as">
|
||||
<default>[ 'org.gnome.Epiphany.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
||||
<default>[ 'org.gnome.Epiphany.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Nautilus.desktop', 'org.gnome.Software.desktop' ]</default>
|
||||
<summary>List of desktop file IDs for favorite applications</summary>
|
||||
<description>
|
||||
The applications corresponding to these identifiers
|
||||
will be displayed in the favorites area.
|
||||
</description>
|
||||
</key>
|
||||
<key name="app-picker-view" type="u">
|
||||
<default>0</default>
|
||||
<summary>App Picker View</summary>
|
||||
<description>
|
||||
Index of the currently selected view in the application picker.
|
||||
</description>
|
||||
</key>
|
||||
<key name="command-history" type="as">
|
||||
<default>[]</default>
|
||||
<summary>History for command (Alt-F2) dialog</summary>
|
||||
@ -101,12 +94,49 @@
|
||||
adapter is ever seen not to have devices associated to it.
|
||||
</description>
|
||||
</key>
|
||||
<key name="introspect" type="b">
|
||||
<default>false</default>
|
||||
<summary>Enable introspection API</summary>
|
||||
<key name="welcome-dialog-last-shown-version" type="s">
|
||||
<default>''</default>
|
||||
<summary>The last version the “Welcome to GNOME” dialog was shown for</summary>
|
||||
<description>
|
||||
Enables a D-Bus API that allows to introspect the application state of
|
||||
the shell.
|
||||
This key determines for which version the “Welcome to GNOME” dialog was
|
||||
last shown. An empty string represents the oldest possible version, and
|
||||
a huge number will represent versions that do not exist yet. This huge
|
||||
number can be used to effectively disable the dialog.
|
||||
</description>
|
||||
</key>
|
||||
<key name="app-picker-layout" type="aa{sv}">
|
||||
<default><![CDATA[
|
||||
[{
|
||||
'org.gnome.Geary.desktop': <{'position': <0>}>,
|
||||
'org.gnome.Contacts.desktop': <{'position': <1>}>,
|
||||
'org.gnome.Weather.desktop': <{'position': <2>}>,
|
||||
'org.gnome.clocks.desktop': <{'position': <3>}>,
|
||||
'org.gnome.Maps.desktop': <{'position': <4>}>,
|
||||
'org.gnome.Books.desktop': <{'position': <5>}>,
|
||||
'org.gnome.Photos.desktop': <{'position': <6>}>,
|
||||
'org.gnome.Totem.desktop': <{'position': <7>}>,
|
||||
'org.gnome.Calculator.desktop': <{'position': <8>}>,
|
||||
'org.gnome.gedit.desktop': <{'position': <9>}>,
|
||||
'simple-scan.desktop': <{'position': <10>}>,
|
||||
'gnome-control-center.desktop': <{'position': <11>}>,
|
||||
'gnome-system-monitor.desktop': <{'position': <12>}>,
|
||||
'org.gnome.Boxes.desktop': <{'position': <13>}>,
|
||||
'org.gnome.Terminal.desktop': <{'position': <14>}>,
|
||||
'Utilities': <{'position': <15>}>,
|
||||
'org.gnome.Characters.desktop': <{'position': <16>}>,
|
||||
'yelp.desktop': <{'position': <17>}>,
|
||||
'org.gnome.Screenshot.desktop': <{'position': <18>}>,
|
||||
'org.gnome.Cheese.desktop': <{'position': <19>}>,
|
||||
'org.gnome.font-viewer.desktop': <{'position': <20>}>
|
||||
}]
|
||||
]]></default>
|
||||
<summary>Layout of the app picker</summary>
|
||||
<description>
|
||||
Layout of the app picker. Each entry in the array is a page. Pages are
|
||||
stored in the order they appear in GNOME Shell. Each page contains an
|
||||
“application id” → 'data' pair. Currently, the following values are
|
||||
stored as 'data':
|
||||
• “position”: the position of the application icon in the page
|
||||
</description>
|
||||
</key>
|
||||
<child name="keybindings" schema="org.gnome.shell.keybindings"/>
|
||||
@ -121,6 +151,20 @@
|
||||
Keybinding to open the application menu.
|
||||
</description>
|
||||
</key>
|
||||
<key name="shift-overview-up" type="as">
|
||||
<default>["<Super><Alt>Up"]</default>
|
||||
<summary>Keybinding to shift between overview states</summary>
|
||||
<description>
|
||||
Keybinding to shift between session, window picker and app grid
|
||||
</description>
|
||||
</key>
|
||||
<key name="shift-overview-down" type="as">
|
||||
<default>["<Super><Alt>Down"]</default>
|
||||
<summary>Keybinding to shift between overview states</summary>
|
||||
<description>
|
||||
Keybinding to shift between app grid, window picker and session
|
||||
</description>
|
||||
</key>
|
||||
<key name="toggle-application-view" type="as">
|
||||
<default>["<Super>a"]</default>
|
||||
<summary>Keybinding to open the “Show Applications” view</summary>
|
||||
|
@ -12,7 +12,9 @@
|
||||
"w"
|
||||
],
|
||||
[
|
||||
"e"
|
||||
"e",
|
||||
"é",
|
||||
"ë"
|
||||
],
|
||||
[
|
||||
"r"
|
||||
@ -21,30 +23,58 @@
|
||||
"t"
|
||||
],
|
||||
[
|
||||
"y"
|
||||
"y",
|
||||
"ý",
|
||||
"ÿ"
|
||||
],
|
||||
[
|
||||
"u"
|
||||
"u",
|
||||
"ú",
|
||||
"ü",
|
||||
"û",
|
||||
"ù",
|
||||
"ū"
|
||||
],
|
||||
[
|
||||
"i"
|
||||
"i",
|
||||
"í",
|
||||
"ï"
|
||||
],
|
||||
[
|
||||
"o"
|
||||
"o",
|
||||
"ó",
|
||||
"ô",
|
||||
"ò",
|
||||
"õ",
|
||||
"œ",
|
||||
"ō"
|
||||
],
|
||||
[
|
||||
"p"
|
||||
],
|
||||
[
|
||||
"å"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"a"
|
||||
"a",
|
||||
"á",
|
||||
"ä",
|
||||
"à",
|
||||
"â",
|
||||
"ã",
|
||||
"ā"
|
||||
],
|
||||
[
|
||||
"s"
|
||||
"s",
|
||||
"ß",
|
||||
"ś",
|
||||
"š"
|
||||
],
|
||||
[
|
||||
"d"
|
||||
"d",
|
||||
"ð"
|
||||
],
|
||||
[
|
||||
"f"
|
||||
@ -62,7 +92,16 @@
|
||||
"k"
|
||||
],
|
||||
[
|
||||
"l"
|
||||
"l",
|
||||
"ł"
|
||||
],
|
||||
[
|
||||
"ø",
|
||||
"ö"
|
||||
],
|
||||
[
|
||||
"æ",
|
||||
"ä"
|
||||
]
|
||||
],
|
||||
[
|
||||
@ -82,7 +121,9 @@
|
||||
"b"
|
||||
],
|
||||
[
|
||||
"n"
|
||||
"n",
|
||||
"ñ",
|
||||
"ń"
|
||||
],
|
||||
[
|
||||
"m"
|
||||
@ -121,7 +162,9 @@
|
||||
"W"
|
||||
],
|
||||
[
|
||||
"E"
|
||||
"E",
|
||||
"É",
|
||||
"Ë"
|
||||
],
|
||||
[
|
||||
"R"
|
||||
@ -130,30 +173,58 @@
|
||||
"T"
|
||||
],
|
||||
[
|
||||
"Y"
|
||||
"Y",
|
||||
"Ý",
|
||||
"Ÿ"
|
||||
],
|
||||
[
|
||||
"U"
|
||||
"U",
|
||||
"Ú",
|
||||
"Ü",
|
||||
"Û",
|
||||
"Ù",
|
||||
"Ū"
|
||||
],
|
||||
[
|
||||
"I"
|
||||
"I",
|
||||
"Í",
|
||||
"Ï"
|
||||
],
|
||||
[
|
||||
"O"
|
||||
"O",
|
||||
"Ó",
|
||||
"Ô",
|
||||
"Ò",
|
||||
"Õ",
|
||||
"Œ",
|
||||
"Ō"
|
||||
],
|
||||
[
|
||||
"P"
|
||||
],
|
||||
[
|
||||
"Å"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"A"
|
||||
"A",
|
||||
"Á",
|
||||
"Ä",
|
||||
"À",
|
||||
"Â",
|
||||
"Ã",
|
||||
"Ā"
|
||||
],
|
||||
[
|
||||
"S"
|
||||
"S",
|
||||
"SS",
|
||||
"Ś",
|
||||
"Š"
|
||||
],
|
||||
[
|
||||
"D"
|
||||
"D",
|
||||
"Ð"
|
||||
],
|
||||
[
|
||||
"F"
|
||||
@ -171,7 +242,16 @@
|
||||
"K"
|
||||
],
|
||||
[
|
||||
"L"
|
||||
"L",
|
||||
"Ł"
|
||||
],
|
||||
[
|
||||
"Ø",
|
||||
"Ö"
|
||||
],
|
||||
[
|
||||
"Æ",
|
||||
"Ä"
|
||||
]
|
||||
],
|
||||
[
|
||||
@ -191,7 +271,9 @@
|
||||
"B"
|
||||
],
|
||||
[
|
||||
"N"
|
||||
"N",
|
||||
"Ñ",
|
||||
"Ń"
|
||||
],
|
||||
[
|
||||
"M"
|
||||
@ -277,10 +359,10 @@
|
||||
"#"
|
||||
],
|
||||
[
|
||||
"$",
|
||||
"€",
|
||||
"¢",
|
||||
"£",
|
||||
"€",
|
||||
"$",
|
||||
"¥",
|
||||
"₱"
|
||||
],
|
||||
@ -419,13 +501,14 @@
|
||||
"£"
|
||||
],
|
||||
[
|
||||
"¥"
|
||||
],
|
||||
[
|
||||
"$",
|
||||
"¢"
|
||||
],
|
||||
[
|
||||
"€"
|
||||
],
|
||||
[
|
||||
"¥"
|
||||
"¢"
|
||||
],
|
||||
[
|
||||
"^",
|
||||
@ -504,4 +587,4 @@
|
||||
],
|
||||
"locale": "nb",
|
||||
"name": "Norwegian Bokmål"
|
||||
}
|
||||
}
|
||||
|
@ -176,7 +176,186 @@
|
||||
"-",
|
||||
":",
|
||||
"'",
|
||||
"@"
|
||||
"@",
|
||||
" ๎",
|
||||
"๏",
|
||||
"๛",
|
||||
"๚"
|
||||
]
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"level": "shift",
|
||||
"mode": "latched",
|
||||
"rows": [
|
||||
[
|
||||
[
|
||||
"+"
|
||||
],
|
||||
[
|
||||
"๑"
|
||||
],
|
||||
[
|
||||
"๒"
|
||||
],
|
||||
[
|
||||
"๓"
|
||||
],
|
||||
[
|
||||
"๔"
|
||||
],
|
||||
[
|
||||
"ู"
|
||||
],
|
||||
[
|
||||
"฿"
|
||||
],
|
||||
[
|
||||
"๕"
|
||||
],
|
||||
[
|
||||
"๖"
|
||||
],
|
||||
[
|
||||
"๗"
|
||||
],
|
||||
[
|
||||
"๘"
|
||||
],
|
||||
[
|
||||
"๙"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"๐"
|
||||
],
|
||||
[
|
||||
"\""
|
||||
],
|
||||
[
|
||||
"ฎ"
|
||||
],
|
||||
[
|
||||
"ฑ"
|
||||
],
|
||||
[
|
||||
"ธ"
|
||||
],
|
||||
[
|
||||
"ํ"
|
||||
],
|
||||
[
|
||||
"๊"
|
||||
],
|
||||
[
|
||||
"ณ"
|
||||
],
|
||||
[
|
||||
"ฯ"
|
||||
],
|
||||
[
|
||||
"ญ"
|
||||
],
|
||||
[
|
||||
"ฐ"
|
||||
],
|
||||
[
|
||||
","
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"ฤ"
|
||||
],
|
||||
[
|
||||
"ฆ"
|
||||
],
|
||||
[
|
||||
"ฏ"
|
||||
],
|
||||
[
|
||||
"โ"
|
||||
],
|
||||
[
|
||||
"ฌ"
|
||||
],
|
||||
[
|
||||
"็"
|
||||
],
|
||||
[
|
||||
"๋"
|
||||
],
|
||||
[
|
||||
"ษ"
|
||||
],
|
||||
[
|
||||
"ศ"
|
||||
],
|
||||
[
|
||||
"ซ"
|
||||
],
|
||||
[
|
||||
"."
|
||||
],
|
||||
[
|
||||
"ฅ"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
"("
|
||||
],
|
||||
[
|
||||
")"
|
||||
],
|
||||
[
|
||||
"ฉ"
|
||||
],
|
||||
[
|
||||
"ฮ"
|
||||
],
|
||||
[
|
||||
"ฺ"
|
||||
],
|
||||
[
|
||||
"์"
|
||||
],
|
||||
[
|
||||
"?"
|
||||
],
|
||||
[
|
||||
"ฒ"
|
||||
],
|
||||
[
|
||||
"ฬ"
|
||||
],
|
||||
[
|
||||
"ฦ"
|
||||
]
|
||||
],
|
||||
[
|
||||
[
|
||||
","
|
||||
],
|
||||
[
|
||||
" "
|
||||
],
|
||||
[
|
||||
".",
|
||||
"#",
|
||||
"!",
|
||||
",",
|
||||
"?",
|
||||
"-",
|
||||
":",
|
||||
"'",
|
||||
"@",
|
||||
" ๎",
|
||||
"๏",
|
||||
"๛",
|
||||
"๚"
|
||||
]
|
||||
]
|
||||
]
|
||||
|
36
data/theme/carousel-arrow-back-24-symbolic.svg
Normal file
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24.000001"
|
||||
version="1.1"
|
||||
id="svg19258">
|
||||
<defs
|
||||
id="defs19252" />
|
||||
<metadata
|
||||
id="metadata19255">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="g834"
|
||||
transform="rotate(-90,-246.75894,471.75774)"
|
||||
style="fill:#241f31">
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 213.0007,724.40348 -10.3711,7.3945 v 0 a 1.5,1.5 0 0 0 -0.6308,1.2187 v 1.5 h 1.5 a 1.5,1.5 0 0 0 0.8711,-0.2793 l 8.6289,-6.1523 8.6289,6.1523 a 1.5,1.5 0 0 0 0.8711,0.2793 h 1.5 v -1.5 a 1.5,1.5 0 0 0 -0.6309,-1.2187 v 0 z"
|
||||
id="path832" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
36
data/theme/carousel-arrow-next-24-symbolic.svg
Normal file
@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24.000001"
|
||||
version="1.1"
|
||||
id="svg19258">
|
||||
<defs
|
||||
id="defs19252" />
|
||||
<metadata
|
||||
id="metadata19255">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="g872"
|
||||
transform="matrix(0,-1,-1,0,742.51668,224.9988)"
|
||||
style="fill:#241f31">
|
||||
<path
|
||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#241f31;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||
d="m 213.0007,724.40348 -10.3711,7.3945 v 0 a 1.5,1.5 0 0 0 -0.6308,1.2187 v 1.5 h 1.5 a 1.5,1.5 0 0 0 0.8711,-0.2793 l 8.6289,-6.1523 8.6289,6.1523 a 1.5,1.5 0 0 0 0.8711,0.2793 h 1.5 v -1.5 a 1.5,1.5 0 0 0 -0.6309,-1.2187 v 0 z"
|
||||
id="path870" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.3 KiB |
94
data/theme/color-pick.svg
Normal file
@ -0,0 +1,94 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="5.4116011mm"
|
||||
height="5.1374583mm"
|
||||
viewBox="0 0 5.4116011 5.1374583"
|
||||
version="1.1"
|
||||
id="svg5595"
|
||||
inkscape:version="0.92.4 (unknown)"
|
||||
sodipodi:docname="color-pick.svg">
|
||||
<defs
|
||||
id="defs5589">
|
||||
<filter
|
||||
inkscape:collect="always"
|
||||
x="-0.10291173"
|
||||
width="1.2058235"
|
||||
y="-0.065432459"
|
||||
height="1.1308649"
|
||||
id="filter5601"
|
||||
style="color-interpolation-filters:sRGB">
|
||||
<feGaussianBlur
|
||||
inkscape:collect="always"
|
||||
stdDeviation="0.610872"
|
||||
id="feGaussianBlur5603" />
|
||||
</filter>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="15.839192"
|
||||
inkscape:cx="39.387731"
|
||||
inkscape:cy="12.554326"
|
||||
inkscape:document-units="mm"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1016"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0" />
|
||||
<metadata
|
||||
id="metadata5592">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-103.12753,-146.26461)">
|
||||
<circle
|
||||
r="8.4810486"
|
||||
cy="9.82623"
|
||||
cx="10.226647"
|
||||
id="circle7584"
|
||||
style="color:#000000;display:inline;overflow:visible;opacity:0.6;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;filter:url(#filter5601)"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,103.12753,146.26461)" />
|
||||
<path
|
||||
style="color:#000000;display:inline;overflow:visible;opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0.26399338;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
|
||||
d="m 108.07728,148.64122 c 0,1.2393 -1.00465,2.24394 -2.24395,2.24394 -1.23929,0 -2.24716,-1.00465 -2.25221,-2.24394 l -0.009,-2.24458 2.26136,6.4e-4 c 1.2393,3.4e-4 2.24395,1.00464 2.24395,2.24394 z"
|
||||
id="path7523-7"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ssscss" />
|
||||
<circle
|
||||
style="color:#000000;display:inline;overflow:visible;opacity:1;vector-effect:none;fill:#50dbb5;fill-opacity:1;stroke:none;stroke-width:0.36885914;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal"
|
||||
id="path7482-1"
|
||||
cx="105.83707"
|
||||
cy="148.64352"
|
||||
r="1.844296" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.7 KiB |
@ -11,7 +11,32 @@ stage {
|
||||
}
|
||||
|
||||
.toggle-switch { width: 48px; }
|
||||
.toggle-switch-us, .toggle-switch-intl {
|
||||
background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg");
|
||||
&:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); }
|
||||
.toggle-switch {
|
||||
background-image: url("resource:///org/gnome/shell/theme/toggle-off-hc.svg");
|
||||
&:checked { background-image: url("resource:///org/gnome/shell/theme/toggle-on-hc.svg"); }
|
||||
}
|
||||
|
||||
//force opaque panel
|
||||
#panel {
|
||||
&.login-screen,
|
||||
&.unlock-screen,
|
||||
&:overview {
|
||||
background-color: #000;
|
||||
|
||||
.panel-corner {
|
||||
-panel-corner-opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
.panel-button {
|
||||
color: #fff !important;
|
||||
}
|
||||
}
|
||||
|
||||
//thumbnail app icons no dropshadow and forced color
|
||||
.window-picker .icon-dropshadow {
|
||||
icon-shadow: none;
|
||||
background-color: $osd_bg_color;
|
||||
padding: $base_padding * 2;
|
||||
border-radius: $modal_radius;
|
||||
}
|
||||
|
@ -11,6 +11,6 @@ will then be synchronized periodically before releases.
|
||||
GNOME Shell Sass is distributed under the terms of the GNU General Public
|
||||
License, version 2 or later. See the [COPYING][license] file for details.
|
||||
|
||||
[shell-subtree]: https://gitlab.gnome.org/GNOME/gnome-shell/tree/master/data/theme/gnome-shell-sass
|
||||
[shell-subtree]: https://gitlab.gnome.org/GNOME/gnome-shell/tree/HEAD/data/theme/gnome-shell-sass
|
||||
[sass-repo]: https://gitlab.gnome.org/GNOME/gnome-shell-sass
|
||||
[license]: COPYING
|
||||
|
@ -19,15 +19,16 @@ $error_color: #ff8080;
|
||||
$success_color: if($variant == 'light', #33d17a, darken(#33d17a, 10%));
|
||||
$destructive_color: if($variant == 'light', #e01b24, darken(#e01b24, 10%));
|
||||
|
||||
$osd_fg_color: $fg_color;
|
||||
$osd_text_color: if($variant == 'light', #000, #fff);
|
||||
$osd_bg_color: if($variant == 'light', rgba(255,255,255,0.9), transparentize(darken(desaturate(#3d3846, 100%), 12%),0.04));
|
||||
$osd_fg_color: #eeeeec;
|
||||
$osd_text_color: white;
|
||||
$osd_bg_color: transparentize(darken(desaturate(#3d3846, 100%), 12%),0.04);
|
||||
$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
|
||||
$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%);
|
||||
$osd_borders_color: if($variant == 'light', rgba(255,255,255,0.1), rgba(0,0,0,0.7));
|
||||
$osd_outer_borders_color: if($variant == 'light', rgba(0,0,0,0.1), lighten($osd_bg_color, 7%));
|
||||
$osd_borders_color: transparentize(black, 0.3);
|
||||
$osd_outer_borders_color: transparentize(white, 0.84);
|
||||
|
||||
$shadow_color: if($variant == 'light', rgba(0,0,0,0.1), rgba(0,0,0,0.2));
|
||||
$system_bg_color: desaturate(#241f31,100%); //neutralize the HIG color
|
||||
|
||||
//insensitive state derived colors
|
||||
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
|
||||
@ -40,4 +41,4 @@ $backdrop_bg_color: $bg_color;
|
||||
$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
|
||||
$backdrop_insensitive_color: if($variant =='light', darken($backdrop_bg_color,15%), lighten($backdrop_bg_color,15%));
|
||||
$backdrop_borders_color: mix($borders_color, $bg_color, 90%);
|
||||
$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
|
||||
$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
|
||||
|
@ -31,7 +31,7 @@ $base_margin: 4px;
|
||||
$base_spacing: 6px;
|
||||
|
||||
// border radii
|
||||
$base_border_radius: 5px;
|
||||
$base_border_radius: 8px;
|
||||
|
||||
$modal_radius:$base_border_radius * 2;
|
||||
|
||||
@ -54,8 +54,8 @@ $base_font_size: 11;
|
||||
$text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.2));
|
||||
|
||||
// icons
|
||||
// $base_icon_size: 1.09em;
|
||||
$base_icon_size: 16px;
|
||||
$base_icon_size: 1.09em;
|
||||
// $base_icon_size: 16px;
|
||||
|
||||
// Stage
|
||||
stage {
|
||||
@ -76,28 +76,23 @@ stage {
|
||||
%osd_panel {
|
||||
color: $osd_fg_color;
|
||||
background-color: $osd_bg_color;
|
||||
border: 1px solid $osd_outer_borders_color;
|
||||
//border: 1px solid $osd_outer_borders_color;
|
||||
border-radius: $base_border_radius * 2 + 4px;
|
||||
padding: $base_padding * 2;
|
||||
}
|
||||
|
||||
// Overview panels
|
||||
// Overview panels
|
||||
// for the dash and workspace switcher
|
||||
%overview_panel {
|
||||
color: $osd_fg_color;
|
||||
background-color: transparentize($osd_bg_color, 0.2);
|
||||
border: 1px solid $osd_outer_borders_color;
|
||||
background-color: transparentize($osd_fg_color, 0.9);
|
||||
}
|
||||
|
||||
// icon tiles
|
||||
%icon_tile {
|
||||
background-color: transparent; // no background
|
||||
color: $osd_fg_color;
|
||||
border-radius: $base_border_radius + 4px;
|
||||
padding: $base_padding;
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-color: transparent;
|
||||
border: 2px solid transparent;
|
||||
transition-duration: 100ms;
|
||||
text-align: center;
|
||||
}
|
||||
@ -121,7 +116,7 @@ stage {
|
||||
&:focus { @include button(focus);}
|
||||
&:hover { @include button(hover);}
|
||||
&:insensitive { @include button(insensitive);}
|
||||
&:active { @include button(active);}
|
||||
&:active, &:checked { @include button(active);}
|
||||
}
|
||||
|
||||
// buttons in dialogs
|
||||
@ -134,8 +129,8 @@ stage {
|
||||
border-bottom-width: 0;
|
||||
|
||||
&:insensitive { @include button(insensitive, $shadow: none); }
|
||||
&:hover { @include button(hover, $shadow: none); }
|
||||
&:focus { @include button(focus, $shadow: none); }
|
||||
&:hover { @include button(hover, $shadow: none); }
|
||||
&:active { @include button(active, $shadow: none); }
|
||||
|
||||
// radius is 2 pixel less to fit in bubble
|
||||
@ -147,7 +142,7 @@ stage {
|
||||
border-right-width: 0;
|
||||
border-radius: 0 0 $modal_radius - 2px 0;
|
||||
}
|
||||
|
||||
|
||||
&:first-child:last-child {
|
||||
border-radius: 0 0 $modal_radius - 2px $modal_radius - 2px;
|
||||
}
|
||||
@ -155,14 +150,17 @@ stage {
|
||||
|
||||
|
||||
// notification styling
|
||||
%notification_bubble {
|
||||
@mixin notification_bubble($flat: false) {
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-radius:$base_border_radius + 2px;
|
||||
padding: 0;
|
||||
border-radius: $base_border_radius + 2px;
|
||||
margin: $base_margin;
|
||||
|
||||
@include button(normal);
|
||||
@if $flat {
|
||||
@include button(undecorated);
|
||||
} @else {
|
||||
@include button(normal);
|
||||
}
|
||||
|
||||
&:focus {
|
||||
@include button(focus);
|
||||
|
@ -46,7 +46,7 @@
|
||||
border-color: if($fc==$selected_bg_color,
|
||||
$selected_borders_color,
|
||||
darken($fc,35%));
|
||||
box-shadow: inset 0 0 0 1px $fc;
|
||||
box-shadow: inset 0 0 0 2px $fc;
|
||||
}
|
||||
@if $t==hover { }
|
||||
@if $t==insensitive {
|
||||
@ -79,7 +79,7 @@
|
||||
|
||||
@function draw_button_hilight_color($c) {
|
||||
//
|
||||
// calculate the right top hilight color for buttons
|
||||
// calculate the right top highlight color for buttons
|
||||
//
|
||||
// $c: base color;
|
||||
//
|
||||
@ -137,7 +137,7 @@
|
||||
// normal button
|
||||
@if $t==normal {
|
||||
color: $tc;
|
||||
background-color: lighten($c, 3%) !important;
|
||||
background-color: lighten($c, 3%);
|
||||
border-color: draw_border_color($c);
|
||||
@include draw_shadows($button_shadow);
|
||||
// box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
|
||||
@ -150,14 +150,14 @@
|
||||
color: $tc;
|
||||
text-shadow: 0 1px $text_shadow_color;
|
||||
icon-shadow: 0 1px $text_shadow_color;
|
||||
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.7);
|
||||
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
|
||||
//border-color: $selected_bg_color;
|
||||
}
|
||||
|
||||
// hover button
|
||||
@else if $t==hover {
|
||||
color: $tc;
|
||||
background-color: lighten($c, if($variant == 'light', 8%, 5%)) !important;
|
||||
background-color: lighten($c, if($variant == 'light', 8%, 5%));
|
||||
border-color: if($variant == 'light', draw_border_color(lighten($c, 7%)), draw_border_color($c));
|
||||
@include draw_shadows($button_shadow);
|
||||
text-shadow: 0 1px $text_shadow_color;
|
||||
@ -167,7 +167,7 @@
|
||||
// active button
|
||||
@else if $t==active {
|
||||
color: $tc;
|
||||
background-color: darken($c,3%) !important;
|
||||
background-color: darken($c,3%);
|
||||
border-color: draw_border_color(if($variant == 'light', $c, darken($c,7%)));
|
||||
text-shadow: none;
|
||||
icon-shadow: none;
|
||||
@ -178,7 +178,7 @@
|
||||
@else if $t==insensitive {
|
||||
color: $insensitive_fg_color;
|
||||
border-color: $insensitive_borders_color;
|
||||
background-color: $insensitive_bg_color !important;
|
||||
background-color: $insensitive_bg_color;
|
||||
box-shadow: none;
|
||||
text-shadow: none;
|
||||
icon-shadow: none;
|
||||
@ -194,3 +194,39 @@
|
||||
icon-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
// overview icons
|
||||
@mixin overview-icon($color) {
|
||||
.overview-icon {
|
||||
@extend %icon_tile;
|
||||
color: $color;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:selected {
|
||||
.overview-icon {
|
||||
background-color: transparentize($color, .9);
|
||||
}
|
||||
}
|
||||
|
||||
&:focus {
|
||||
.overview-icon {
|
||||
background-color: transparentize($color, .7);
|
||||
// border-color: $selected_bg_color;
|
||||
}
|
||||
}
|
||||
|
||||
&:drop {
|
||||
.overview-icon {
|
||||
border: 2px solid $selected_bg_color; //already 2px transparent so no jumping
|
||||
background-color: transparentize($selected_bg_color, .8);
|
||||
}
|
||||
}
|
||||
|
||||
&:active,
|
||||
&:checked {
|
||||
.overview-icon {
|
||||
background-color: transparentize(darken($osd_bg_color, 10%), .5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -26,6 +26,7 @@ $osd_borders_color: rgba(0,0,0, 0.7);
|
||||
$osd_outer_borders_color: rgba(255,255,255, 0.1);
|
||||
|
||||
$shadow_color: rgba(0,0,0, 0.1);
|
||||
$system_bg_color: desaturate(#241f31,100%); //neutralize the HIG color
|
||||
|
||||
//insensitive state derived colors
|
||||
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
|
||||
|
@ -5,34 +5,47 @@
|
||||
//
|
||||
|
||||
/* WIDGETS */
|
||||
@import 'widgets/app-grid';
|
||||
@import 'widgets/app-switcher';
|
||||
@import 'widgets/buttons';
|
||||
@import 'widgets/calendar';
|
||||
@import 'widgets/check-box';
|
||||
@import 'widgets/corner-ripple';
|
||||
@import 'widgets/dash';
|
||||
@import 'widgets/dialogs';
|
||||
|
||||
// Primary widgets
|
||||
@import 'widgets/base';
|
||||
@import 'widgets/entries';
|
||||
@import 'widgets/hotplug';
|
||||
@import 'widgets/ibus-popup';
|
||||
@import 'widgets/keyboard';
|
||||
@import 'widgets/login-dialog';
|
||||
@import 'widgets/looking-glass';
|
||||
@import 'widgets/message-list';
|
||||
@import 'widgets/notifications';
|
||||
@import 'widgets/misc';
|
||||
@import 'widgets/network-dialog';
|
||||
@import 'widgets/osd';
|
||||
@import 'widgets/overview';
|
||||
@import 'widgets/panel';
|
||||
@import 'widgets/popovers';
|
||||
@import 'widgets/screen-shield';
|
||||
@import 'widgets/buttons';
|
||||
@import 'widgets/check-box';
|
||||
@import 'widgets/switches';
|
||||
@import 'widgets/slider';
|
||||
@import 'widgets/scrollbars';
|
||||
// Popovers
|
||||
@import 'widgets/popovers';
|
||||
@import 'widgets/calendar';
|
||||
@import 'widgets/message-list';
|
||||
@import 'widgets/ibus-popup';
|
||||
// Notifications
|
||||
@import 'widgets/notifications';
|
||||
@import 'widgets/hotplug';
|
||||
// Dialogs
|
||||
@import 'widgets/dialogs';
|
||||
@import 'widgets/network-dialog';
|
||||
// OSDs
|
||||
@import 'widgets/osd';
|
||||
@import 'widgets/switcher-popup';
|
||||
@import 'widgets/workspace-switcher';
|
||||
// Panel
|
||||
@import 'widgets/panel';
|
||||
@import 'widgets/corner-ripple';
|
||||
// Overview
|
||||
@import 'widgets/overview';
|
||||
@import 'widgets/window-picker';
|
||||
@import 'widgets/search-entry';
|
||||
@import 'widgets/search-results';
|
||||
@import 'widgets/slider';
|
||||
@import 'widgets/switches';
|
||||
@import 'widgets/dash';
|
||||
@import 'widgets/app-grid';
|
||||
@import 'widgets/workspace-thumbnails';
|
||||
// A11y / misc
|
||||
@import 'widgets/a11y';
|
||||
@import 'widgets/misc';
|
||||
@import 'widgets/tiled-previews';
|
||||
@import 'widgets/window-picker';
|
||||
@import 'widgets/workspace-switcher';
|
||||
@import 'widgets/keyboard';
|
||||
@import 'widgets/looking-glass';
|
||||
// Lock / login screens
|
||||
@import 'widgets/login-dialog';
|
||||
@import 'widgets/screen-shield';
|
||||
|
24
data/theme/gnome-shell-sass/widgets/_a11y.scss
Normal file
@ -0,0 +1,24 @@
|
||||
// Pointer location
|
||||
.ripple-pointer-location {
|
||||
width: $ripple_size;
|
||||
height: $ripple_size;
|
||||
border-radius: $ripple_size * 0.5; // radius equals the size of the box to give us the curve
|
||||
background-color: lighten(transparentize($selected_bg_color, 0.7), 30%);
|
||||
box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
|
||||
}
|
||||
|
||||
// Pointer accessibility notifications
|
||||
.pie-timer {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
-pie-border-width: 3px;
|
||||
-pie-border-color: $selected_bg_color;
|
||||
-pie-background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
|
||||
}
|
||||
|
||||
// Screen zoom/Magnifier
|
||||
.magnifier-zoom-region {
|
||||
border: 2px solid $selected_bg_color;
|
||||
|
||||
&.full-screen { border-width: 0; }
|
||||
}
|
@ -1,110 +1,63 @@
|
||||
/* App Grid */
|
||||
|
||||
$app_icon_size: 96px;
|
||||
$app_icon_padding: 24px;
|
||||
|
||||
// app icons
|
||||
.icon-grid {
|
||||
-shell-grid-horizontal-item-size: $app_icon_size + $app_icon_padding * 2;
|
||||
-shell-grid-vertical-item-size: $app_icon_size + $app_icon_padding * 2;
|
||||
spacing: $base_spacing * 6;
|
||||
|
||||
.overview-icon {
|
||||
icon-size: $app_icon_size;
|
||||
StIcon { margin-bottom: $base_margin; } // margin on icon so label isn't close
|
||||
}
|
||||
row-spacing: $base_spacing * 2;
|
||||
column-spacing: $base_spacing * 2;
|
||||
max-row-spacing: $base_spacing * 12;
|
||||
max-column-spacing: $base_spacing * 12;
|
||||
page-padding-top: $base_padding * 4;
|
||||
page-padding-bottom: $base_padding * 4;
|
||||
page-padding-left: $base_padding * 2;
|
||||
page-padding-right: $base_padding * 2;
|
||||
}
|
||||
|
||||
//.app-display { spacing: 20px; }
|
||||
|
||||
/* App Icons */
|
||||
|
||||
$app_grid_fg_color: #fff;
|
||||
|
||||
// Outline for low res icons
|
||||
.lowres-icon {
|
||||
icon-shadow: 0 1px 2px rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
// Dropshadow for large icons
|
||||
.icon-dropshadow {
|
||||
icon-shadow: 0 1px 2px rgba(0,0,0,0.4);
|
||||
}
|
||||
|
||||
// Icon tiles in the app grid
|
||||
.app-well-app,
|
||||
.app-folder {
|
||||
%app-well-app {
|
||||
@include overview-icon($app_grid_fg_color);
|
||||
|
||||
.overview-icon {
|
||||
@extend %icon_tile;
|
||||
color: $app_grid_fg_color !important;
|
||||
}
|
||||
.overview-icon.overview-icon-with-label {
|
||||
padding: 10px 8px 5px 8px;
|
||||
|
||||
&:selected {
|
||||
.overview-icon {
|
||||
background-color: transparentize($osd_bg_color,0.7);
|
||||
color: $app_grid_fg_color;
|
||||
}
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:selected {
|
||||
.overview-icon {
|
||||
background-color: transparentize($osd_fg_color,0.9);
|
||||
color: $osd_fg_color;
|
||||
}
|
||||
}
|
||||
|
||||
&:focus {
|
||||
.overview-icon {
|
||||
background-color: transparentize($osd_fg_color,0.7 );
|
||||
// border-color: $selected_bg_color;
|
||||
color: $app_grid_fg_color;
|
||||
}
|
||||
}
|
||||
|
||||
&:drop {
|
||||
.overview-icon {
|
||||
background-color: transparentize($selected_bg_color,.15);
|
||||
}
|
||||
}
|
||||
|
||||
&:active,
|
||||
&:checked {
|
||||
.overview-icon {
|
||||
background-color: transparentize(darken($osd_bg_color,10%), 0.5);
|
||||
> StBoxLayout {
|
||||
spacing: $base_spacing;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* App Folders */
|
||||
.app-folder {
|
||||
.overview-icon {
|
||||
@extend %icon_tile;
|
||||
}
|
||||
.app-well-app.app-folder {
|
||||
background-color: $dash_background_color;
|
||||
border-radius: $base_border_radius + 4px; // same as %icon_tile
|
||||
}
|
||||
|
||||
// expanded folder
|
||||
.app-folder-dialog {
|
||||
border-radius: 8px;
|
||||
spacing: 24px;
|
||||
background-color: transparentize(darken($osd_bg_color,10%), 0.05);
|
||||
.app-folder-dialog { //style like the dash
|
||||
border-radius: $modal_radius * 1.5;
|
||||
background-color: $dash_background_color;
|
||||
padding: 12px 0px 12px 0px;
|
||||
|
||||
& .folder-name-container {
|
||||
padding: 12px 18px;
|
||||
padding: 24px 36px 0;
|
||||
spacing: 12px;
|
||||
|
||||
& .folder-name-label,
|
||||
& .folder-name-entry {
|
||||
font-size: 18pt;
|
||||
font-weight: bold;
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
& .folder-name-entry { width: 300px }
|
||||
|
||||
/* FIXME: this is to keep the label in sync with the entry */
|
||||
& .folder-name-label { padding: 5px 7px }
|
||||
& .folder-name-label { padding: 5px 7px; color: $osd_fg_color; }
|
||||
|
||||
& .edit-folder-button {
|
||||
@extend %button;
|
||||
@ -117,20 +70,26 @@ $app_grid_fg_color: #fff;
|
||||
& > StIcon { icon-size: 16px }
|
||||
}
|
||||
}
|
||||
|
||||
& .icon-grid {
|
||||
row-spacing: $base_spacing * 2;
|
||||
column-spacing: $base_spacing * 5;
|
||||
page-padding-top: 0;
|
||||
page-padding-bottom: 0;
|
||||
page-padding-left: 0;
|
||||
page-padding-right: 0;
|
||||
}
|
||||
|
||||
& .page-indicators {
|
||||
margin-bottom: 18px;
|
||||
}
|
||||
}
|
||||
.app-folder-dialog-container {
|
||||
padding: 12px;
|
||||
width: 800px;
|
||||
height: 600px;
|
||||
width: 620px;
|
||||
height: 620px;
|
||||
}
|
||||
|
||||
.app-folder-icon {
|
||||
padding: $base_padding;
|
||||
spacing-rows: $base_spacing;
|
||||
spacing-columns: $base_spacing;
|
||||
}
|
||||
|
||||
|
||||
// Running app indicator (also shown in dash)
|
||||
.app-well-app-running-dot {
|
||||
height: 5px;
|
||||
@ -149,14 +108,13 @@ $app_grid_fg_color: #fff;
|
||||
}
|
||||
|
||||
// right-click app menu
|
||||
.app-menu,
|
||||
.app-well-menu {
|
||||
.app-menu {
|
||||
max-width: 27.25em;
|
||||
}
|
||||
|
||||
// App Grid pagination indicators
|
||||
.page-indicator {
|
||||
padding: 15px 20px;
|
||||
padding: $base_padding $base_padding * 2 0;
|
||||
|
||||
.page-indicator-icon {
|
||||
width: 10px;
|
||||
@ -166,21 +124,10 @@ $app_grid_fg_color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
// Some hacks I don't even know
|
||||
.all-apps,
|
||||
.frequent-apps > StBoxLayout {
|
||||
// horizontal padding to make sure scrollbars or dash don't overlap content
|
||||
padding: 0px 88px 10px 88px;
|
||||
.apps-scroll-view {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.app-well-app > .overview-icon.overview-icon-with-label {
|
||||
padding: 10px 8px 5px 8px;
|
||||
spacing: $base_spacing;
|
||||
}
|
||||
|
||||
// Label when no frequent apps
|
||||
.no-frequent-applications-label { @extend %status_text; }
|
||||
|
||||
// shutdown and other actions in the grid
|
||||
.system-action-icon {
|
||||
background-color: rgba(0,0,0,0.8);
|
||||
@ -189,49 +136,32 @@ $app_grid_fg_color: #fff;
|
||||
icon-size: $app_icon_size * 0.5;
|
||||
}
|
||||
|
||||
/* Frequent | All toggle */
|
||||
.page-navigation-hint {
|
||||
width: 300px;
|
||||
|
||||
// container
|
||||
.app-view-controls {
|
||||
padding-bottom: 32px;
|
||||
}
|
||||
|
||||
// buttons
|
||||
.app-view-control {
|
||||
padding: $base_padding $base_padding*5;
|
||||
margin: 0;
|
||||
background-color: transparentize($osd_bg_color, 0.5);
|
||||
border-width: 1px;
|
||||
color: darken($osd_fg_color, 25%);
|
||||
|
||||
&:hover {
|
||||
background-color: transparentize($osd_bg_color, 0.5) !important;
|
||||
box-shadow:none !important;
|
||||
color: darken($osd_fg_color, 25%);
|
||||
&.dnd {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
&:active {
|
||||
box-shadow: none;
|
||||
background-color: $selected_bg_color !important;
|
||||
&:hover {
|
||||
background-color: lighten($selected_bg_color, 11%) !important;
|
||||
}
|
||||
&.next:ltr,
|
||||
&.previous:rtl {
|
||||
background-gradient-start: rgba(255, 255, 255, 0.05);
|
||||
background-gradient-end: transparent;
|
||||
background-gradient-direction: horizontal;
|
||||
border-radius: 15px 0px 0px 15px;
|
||||
}
|
||||
|
||||
&:checked {
|
||||
background-color: $selected_bg_color !important;
|
||||
color: $selected_fg_color;
|
||||
box-shadow: none;
|
||||
&:active { background-color: darken($selected_bg_color, 4%) !important; }
|
||||
&:hover { background-color: lighten($selected_bg_color, 7%) !important; }
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
border-right-width: 0 !important;
|
||||
border-radius: $base_border_radius 0 0 $base_border_radius;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
border-radius: 0 $base_border_radius $base_border_radius 0;
|
||||
&.previous:ltr,
|
||||
&.next:rtl {
|
||||
background-gradient-start: transparent;
|
||||
background-gradient-end: rgba(255, 255, 255, 0.05);
|
||||
background-gradient-direction: horizontal;
|
||||
border-radius: 0px 15px 15px 0px;
|
||||
}
|
||||
}
|
||||
|
||||
.page-navigation-arrow {
|
||||
margin: 6px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
18
data/theme/gnome-shell-sass/widgets/_base.scss
Normal file
@ -0,0 +1,18 @@
|
||||
// Links
|
||||
.shell-link {
|
||||
color: $link_color;
|
||||
|
||||
&:hover {
|
||||
color: lighten($link_color, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
// Outline for low res icons
|
||||
.lowres-icon {
|
||||
icon-shadow: 0 1px 2px rgba(black, 0.3);
|
||||
}
|
||||
|
||||
// Dropshadow for large icons
|
||||
.icon-dropshadow {
|
||||
icon-shadow: 0 1px 5px rgba(black, 0.8);
|
||||
}
|
@ -1,87 +1,65 @@
|
||||
/* Date/Time Menu */
|
||||
|
||||
.clock-display-box { spacing: $base_spacing; }
|
||||
.clock-display-box {
|
||||
spacing: 2px;
|
||||
|
||||
.clock {
|
||||
padding-left: $base_padding * 2;
|
||||
padding-right: $base_padding * 2;
|
||||
}
|
||||
}
|
||||
|
||||
// overall menu
|
||||
#calendarArea {
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
// Calendar menu side column
|
||||
.datemenu-calendar-column {
|
||||
spacing: 0;
|
||||
spacing: $base_spacing;
|
||||
border: 0 solid $bubble_borders_color;
|
||||
padding: $base_padding * 2;
|
||||
padding-bottom: 3em; // account for the notifications clear button
|
||||
padding-top:0;
|
||||
padding: 0 $base_padding * 2;
|
||||
|
||||
&:ltr {margin-right: $base_margin * 2; border-left-width: 1px; }
|
||||
&:rtl {margin-left: $base_margin * 2; border-right-width: 1px; }
|
||||
|
||||
// today button (the date)
|
||||
.datemenu-today-button {
|
||||
padding: $base_padding * 1.5;
|
||||
margin: $base_margin;
|
||||
border: 1px solid transparent;
|
||||
border-radius: $base_border_radius + 2px;
|
||||
|
||||
&:hover { @include button(hover);}
|
||||
&:focus { @include button(focus);}
|
||||
|
||||
&:active {
|
||||
@include button(active);
|
||||
}
|
||||
|
||||
// weekday label
|
||||
.day-label {
|
||||
@include fontsize($base_font_size+1);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
// date label
|
||||
.date-label {
|
||||
@include fontsize($base_font_size+7);
|
||||
font-weight: 1000;
|
||||
}
|
||||
}
|
||||
|
||||
// calendar
|
||||
.calendar {
|
||||
@extend %notification_bubble;
|
||||
margin:$base_margin !important;
|
||||
margin-bottom: $base_padding + $base_margin !important;
|
||||
padding:$base_padding !important;
|
||||
|
||||
// more below for sub-elements
|
||||
}
|
||||
|
||||
.datemenu-displays-section {
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.datemenu-displays-box {
|
||||
spacing: $base_spacing;
|
||||
margin:0;
|
||||
|
||||
// world clocks and weather
|
||||
.world-clocks-button,
|
||||
.weather-button {
|
||||
@extend %notification_bubble;
|
||||
padding:$base_padding !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.events-section-title {
|
||||
@include notification_bubble($flat: true);
|
||||
color: desaturate(darken($fg_color,40%), 10%);
|
||||
font-weight: bold;
|
||||
border-radius: 4px;
|
||||
padding: .4em;
|
||||
}
|
||||
|
||||
/* today button (the date) */
|
||||
.datemenu-today-button {
|
||||
@include notification_bubble($flat: true);
|
||||
padding: $base_padding * 1.5;
|
||||
|
||||
// weekday label
|
||||
.day-label {
|
||||
@include fontsize($base_font_size+1);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
// date label
|
||||
.date-label {
|
||||
@include fontsize($base_font_size+7);
|
||||
font-weight: 1000;
|
||||
}
|
||||
}
|
||||
|
||||
/* Calendar */
|
||||
.calendar {
|
||||
@include notification_bubble;
|
||||
padding: $base_padding;
|
||||
|
||||
// month
|
||||
.calendar-month-label {
|
||||
@ -132,6 +110,7 @@
|
||||
@include fontsize($base_font_size - 4);
|
||||
}
|
||||
}
|
||||
|
||||
.calendar-day { //border collapse hack - see calendar.js
|
||||
border-width: 0;
|
||||
}
|
||||
@ -140,8 +119,12 @@
|
||||
border-top-width: 1px;
|
||||
}
|
||||
|
||||
.calendar-day-left { border-left-width: 1px; }
|
||||
.calendar-day-left {
|
||||
border-left-width: 1px;
|
||||
}
|
||||
|
||||
.calendar-work-day {}
|
||||
|
||||
.calendar-nonwork-day {
|
||||
color: $insensitive_fg_color;
|
||||
}
|
||||
@ -161,22 +144,24 @@
|
||||
&:active,&:selected {
|
||||
background-color: $selected_bg_color;
|
||||
color: $selected_fg_color;
|
||||
|
||||
&:hover,&:focus {
|
||||
background-color:lighten($selected_bg_color, 3%);
|
||||
color: $selected_fg_color;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.calendar-day-with-events {
|
||||
color: lighten($fg_color,10%);
|
||||
font-weight: bold;
|
||||
background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg");
|
||||
&.calendar-work-day {
|
||||
color: lighten($fg_color,10%);
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
.calendar-other-month-day {
|
||||
color: transparentize($fg_color ,0.5);
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.calendar-week-number {
|
||||
@ -185,22 +170,97 @@
|
||||
height: 1.8em;
|
||||
width: 2.3em;
|
||||
border-radius: 2px;
|
||||
padding: 0.5em 0 0;
|
||||
margin: 6px;
|
||||
background-color: darken($bg_color, 2%);
|
||||
color: lighten($fg_color, 5%);
|
||||
}
|
||||
}
|
||||
|
||||
/* Events */
|
||||
.events-button {
|
||||
@include notification_bubble;
|
||||
padding: $base_padding * 2;
|
||||
|
||||
.events-box {
|
||||
spacing: $base_spacing;
|
||||
}
|
||||
|
||||
.events-list {
|
||||
spacing: 2 * $base_spacing;
|
||||
}
|
||||
|
||||
.events-title {
|
||||
color: desaturate(darken($fg_color,40%), 10%);
|
||||
font-weight: bold;
|
||||
margin-bottom: $base_margin;
|
||||
}
|
||||
|
||||
.event-time {
|
||||
color: darken($fg_color,20%);
|
||||
font-feature-settings: "tnum";
|
||||
@include fontsize($base_font_size - 1);
|
||||
}
|
||||
}
|
||||
|
||||
/* World clocks */
|
||||
.world-clocks-button {
|
||||
@include notification_bubble;
|
||||
padding: $base_padding * 2;
|
||||
|
||||
.world-clocks-grid {
|
||||
spacing-rows: $base_spacing;
|
||||
spacing-columns: $base_spacing * 2;
|
||||
}
|
||||
|
||||
// title
|
||||
.world-clocks-header {
|
||||
color: desaturate(darken($fg_color,40%), 10%);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
// city label
|
||||
.world-clocks-city {
|
||||
color: $fg_color;
|
||||
@include fontsize($base_font_size);
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
// timezone time
|
||||
.world-clocks-time {
|
||||
font-weight: bold;
|
||||
color: $fg_color;
|
||||
font-feature-settings: "tnum";
|
||||
@include fontsize($base_font_size);
|
||||
|
||||
&:ltr { text-align: right; }
|
||||
&:rtl { text-align: left; }
|
||||
}
|
||||
|
||||
// timezone offset label
|
||||
.world-clocks-timezone {
|
||||
color: darken($fg_color,20%);
|
||||
font-feature-settings: "tnum";
|
||||
@include fontsize($base_font_size - 1);
|
||||
}
|
||||
}
|
||||
|
||||
/* Weather */
|
||||
.weather-box {
|
||||
spacing: $base_spacing;
|
||||
padding:$base_padding;
|
||||
.weather-button {
|
||||
@include notification_bubble;
|
||||
padding: $base_padding * 2;
|
||||
|
||||
.weather-box {
|
||||
spacing: $base_spacing + $base_margin;
|
||||
}
|
||||
|
||||
.weather-header-box {
|
||||
spacing: $base_spacing;
|
||||
}
|
||||
|
||||
.weather-header {
|
||||
color: desaturate(darken($fg_color,40%), 10%);
|
||||
font-weight: bold;
|
||||
|
||||
&.location {
|
||||
font-weight: normal;
|
||||
@include fontsize($base_font_size - 1);
|
||||
@ -208,7 +268,6 @@
|
||||
}
|
||||
|
||||
.weather-grid {
|
||||
margin-top: $base_margin;
|
||||
spacing-rows: $base_spacing;
|
||||
spacing-columns: $base_spacing * 2;
|
||||
}
|
||||
@ -230,39 +289,3 @@
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
|
||||
/* World clocks */
|
||||
.world-clocks-grid {
|
||||
padding:$base_padding;
|
||||
spacing-rows: $base_spacing;
|
||||
spacing-columns: $base_spacing * 2;
|
||||
|
||||
// title
|
||||
.world-clocks-header {
|
||||
color: desaturate(darken($fg_color,40%), 10%);
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
// city label
|
||||
.world-clocks-city {
|
||||
color: $fg_color;
|
||||
@include fontsize($base_font_size);
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
// timezone time
|
||||
.world-clocks-time {
|
||||
font-weight: bold;
|
||||
color: $fg_color;
|
||||
font-feature-settings: "lnum";
|
||||
@include fontsize($base_font_size);
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
// timezone offset label
|
||||
.world-clocks-timezone {
|
||||
color: darken($fg_color,20%);
|
||||
font-feature-settings: "tnum";
|
||||
@include fontsize($base_font_size - 1);
|
||||
}
|
||||
}
|
||||
|
@ -13,12 +13,3 @@ $ripple_size: 50px;
|
||||
// just a simple change to the border radius position
|
||||
&:rtl { border-radius: 0 0 0 $ripple_size + 2px; }
|
||||
}
|
||||
|
||||
// Pointer location
|
||||
.ripple-pointer-location {
|
||||
width: $ripple_size;
|
||||
height: $ripple_size;
|
||||
border-radius: $ripple_size * 0.5; // radius equals the size of the box to give us the curve
|
||||
background-color: lighten(transparentize($selected_bg_color, 0.7), 30%);
|
||||
box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
|
||||
}
|
||||
|
@ -1,21 +1,18 @@
|
||||
/* Dash */
|
||||
|
||||
$dash_background_color: #3b3b3b;
|
||||
$dash_placeholder_size: 32px;
|
||||
$dash_spacing: $base_padding + 4px;
|
||||
$dash_padding: $base_padding + 4px; // 10px
|
||||
$dash_spacing: $base_padding / 4;
|
||||
|
||||
$dash_bottom_margin: $base_margin * 4;
|
||||
|
||||
$dash_border_radius: $modal_radius * 1.5;
|
||||
|
||||
#dash {
|
||||
@extend %overview_panel;
|
||||
@include fontsize($base_font_size - 2);
|
||||
padding: ($dash_spacing / 2) 0;
|
||||
|
||||
//fixme: can't have non uniform borders :(
|
||||
border-radius: 0 $dash_border_radius $dash_border_radius 0;
|
||||
border-left-width: 0 !important;
|
||||
&:rtl {
|
||||
border-radius: $dash_border_radius 0 0 $dash_border_radius;
|
||||
border-right-width: 0 !important;
|
||||
}
|
||||
margin-top: $base_spacing * 3;
|
||||
padding: 0 $dash_padding;
|
||||
|
||||
.placeholder {
|
||||
// background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
|
||||
@ -28,58 +25,49 @@ $dash_border_radius: $modal_radius * 1.5;
|
||||
width: $dash_placeholder_size;
|
||||
height: $dash_placeholder_size;
|
||||
}
|
||||
|
||||
.overview-icon {
|
||||
padding: $dash_padding / 2;
|
||||
}
|
||||
}
|
||||
|
||||
.dash-background {
|
||||
background-color: $dash_background_color;
|
||||
margin-bottom: $dash_bottom_margin;
|
||||
padding: $dash_padding;
|
||||
border-radius: $dash_border_radius;
|
||||
}
|
||||
|
||||
// Dash Items
|
||||
.dash-item-container > StWidget {
|
||||
padding: ($dash_spacing / 2) $dash_spacing;
|
||||
.dash-item-container .app-well-app, .show-apps {
|
||||
padding: $dash_padding $dash_spacing $dash_padding + $dash_bottom_margin;
|
||||
}
|
||||
|
||||
.dash-separator {
|
||||
width: 1px;
|
||||
margin: 0 ($dash_spacing + ($dash_padding / 2)) $dash_bottom_margin;
|
||||
background-color: transparentize($osd_fg_color,0.7);
|
||||
}
|
||||
|
||||
// OSD Tooltip
|
||||
.dash-label {
|
||||
background-color: transparentize($osd_bg_color,0.05);
|
||||
border-radius: $base_border_radius + 2px;
|
||||
border:none;
|
||||
box-shadow:0 0 0 1px $osd_outer_borders_color;
|
||||
color: $osd_fg_color;
|
||||
padding: $base_padding $base_padding + 2px;
|
||||
background-color: $osd_bg_color;
|
||||
border-radius: 99px;
|
||||
padding: $base_padding $base_padding * 2;
|
||||
text-align: center;
|
||||
-x-offset: $base_margin * 2; // distance from the dash edge
|
||||
-y-offset: $base_margin * 3; // distance from the dash edge
|
||||
}
|
||||
|
||||
// Show apps button
|
||||
.show-apps {
|
||||
color: $osd_fg_color;
|
||||
@include overview-icon($osd_fg_color);
|
||||
|
||||
& .overview-icon {
|
||||
@extend %icon_tile;
|
||||
color: $osd_fg_color;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:selected {
|
||||
&:checked {
|
||||
.overview-icon {
|
||||
background-color: transparentize($osd_fg_color,0.9);
|
||||
color: $osd_fg_color;
|
||||
}
|
||||
}
|
||||
|
||||
&:drop .overview-icon {
|
||||
background-color: transparentize($selected_bg_color,.15);
|
||||
}
|
||||
|
||||
&:active, &:checked {
|
||||
.overview-icon {
|
||||
background-color: darken($osd_bg_color,10%);
|
||||
}
|
||||
}
|
||||
|
||||
&:checked, &:focus {
|
||||
.show-apps-icon {
|
||||
background-color: transparentize($osd_bg_color,0.5);
|
||||
color: $fg_color;
|
||||
transition-duration: 100ms;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,9 @@
|
||||
/* Modal Dialogs */
|
||||
|
||||
.headline {
|
||||
@include fontsize($base_font_size + 1);
|
||||
}
|
||||
|
||||
.modal-dialog {
|
||||
border-radius: $modal_radius;
|
||||
@extend %bubble_panel;
|
||||
@ -15,12 +19,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
.mount-dialog-subject {
|
||||
@include fontsize($base_font_size + 3);
|
||||
}
|
||||
|
||||
/* End Session Dialog */
|
||||
|
||||
.end-session-dialog {
|
||||
width: 30em;
|
||||
|
||||
@ -38,6 +37,11 @@
|
||||
text-align: center;
|
||||
font-size: 18pt;
|
||||
font-weight: 800;
|
||||
|
||||
&.lightweight {
|
||||
font-size: 13pt;
|
||||
font-weight: 800;
|
||||
}
|
||||
}
|
||||
.message-dialog-description { text-align: center; }
|
||||
}
|
||||
@ -84,76 +88,54 @@
|
||||
/* Password or Authentication Dialog */
|
||||
|
||||
.prompt-dialog {
|
||||
//this is the width of the entire modal popup
|
||||
width: 34em;
|
||||
width: 28em;
|
||||
|
||||
.message-dialog-content { spacing: $base_spacing * 4; }
|
||||
.message-dialog-title { color: lighten($fg_color,15%); }
|
||||
.modal-dialog-content-box {
|
||||
margin-bottom: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
.prompt-dialog-description:rtl {
|
||||
text-align: right;
|
||||
.prompt-dialog-password-grid {
|
||||
spacing-rows: 8px;
|
||||
spacing-columns: 4px;
|
||||
|
||||
.prompt-dialog-password-entry {
|
||||
width: auto;
|
||||
|
||||
// 4px (spacing) + 16px (spinner-width)
|
||||
&:ltr { margin-left: 20px; }
|
||||
&:rtl { margin-right: 20px; }
|
||||
}
|
||||
}
|
||||
|
||||
.prompt-dialog-password-box {
|
||||
spacing: 1em;
|
||||
padding-bottom: 1em;
|
||||
.prompt-dialog-password-layout {
|
||||
spacing: 8px;
|
||||
}
|
||||
|
||||
.prompt-dialog-password-entry {
|
||||
width: 20em;
|
||||
}
|
||||
|
||||
.prompt-dialog-error-label,
|
||||
.prompt-dialog-info-label,
|
||||
.prompt-dialog-null-label {
|
||||
text-align: center;
|
||||
@include fontsize($base_font_size - 1);
|
||||
}
|
||||
|
||||
.prompt-dialog-error-label {
|
||||
@include fontsize($base_font_size - 1);
|
||||
color: $warning_color;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.prompt-dialog-info-label {
|
||||
@include fontsize($base_font_size - 1);
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.prompt-dialog-null-label {
|
||||
@include fontsize($base_font_size - 1);
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.prompt-dialog-pim-box {
|
||||
spacing: 1em;
|
||||
}
|
||||
|
||||
.prompt-dialog-grid {
|
||||
spacing-rows: 15px;
|
||||
spacing-columns: 1em;
|
||||
}
|
||||
|
||||
.prompt-dialog-keyfiles-box {
|
||||
spacing: 1em;
|
||||
}
|
||||
|
||||
.prompt-dialog-button.button {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
|
||||
/* Polkit Dialog */
|
||||
|
||||
.polkit-dialog-user-layout {
|
||||
padding-left: 10px;
|
||||
spacing: 10px;
|
||||
&:rtl {
|
||||
padding-left: 0px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
}
|
||||
text-align: center;
|
||||
spacing: 8px;
|
||||
margin-bottom: 6px;
|
||||
|
||||
.polkit-dialog-user-root-label {
|
||||
color: $warning_color;
|
||||
}
|
||||
|
||||
.polkit-dialog-user-icon {
|
||||
border-radius: 99px;
|
||||
background-size: contain;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
.polkit-dialog-user-root-label { color: $warning_color; }
|
||||
}
|
||||
|
||||
/* Audio selection dialog */
|
||||
@ -181,19 +163,11 @@
|
||||
icon-size: $base_icon_size * 4;
|
||||
}
|
||||
|
||||
/* Access Dialog */
|
||||
.access-dialog {
|
||||
spacing: 30px;
|
||||
}
|
||||
|
||||
/* Network Agent Dialog */
|
||||
|
||||
.network-dialog-secret-table {
|
||||
spacing-rows: 15px;
|
||||
spacing-columns: 1em;
|
||||
}
|
||||
|
||||
.keyring-dialog-control-table {
|
||||
spacing-rows: 15px;
|
||||
spacing-columns: 1em;
|
||||
/* Welcome dialog */
|
||||
.welcome-dialog-image {
|
||||
background-image: url("resource:///org/gnome/shell/theme/gnome-shell-start.svg");
|
||||
background-size: contain;
|
||||
/* Reasonable maximum dimensions */
|
||||
height: 300px;
|
||||
width: 300px;
|
||||
}
|
||||
|
@ -3,7 +3,7 @@
|
||||
StEntry {
|
||||
border-radius: $base_border_radius;
|
||||
padding: 8px;
|
||||
border-width: 1px;
|
||||
border-width: 0;
|
||||
color: $fg_color;
|
||||
@include entry(normal);
|
||||
//&:hover { @include entry(hover);}
|
||||
|
@ -1,4 +1,9 @@
|
||||
// IBus Candidate Popup
|
||||
|
||||
.candidate-popup-boxpointer {
|
||||
@extend .popup-menu-boxpointer;
|
||||
}
|
||||
|
||||
.candidate-popup-content {
|
||||
padding: 0.5em;
|
||||
spacing: 0.3em;
|
||||
|
@ -10,7 +10,7 @@ $default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten
|
||||
// draw keys using button function
|
||||
#keyboard {
|
||||
background-color: transparentize(if($variant=='light', darken($bg_color, 5%), darken($bg_color, 8%)), 0.1);
|
||||
box-shadow: inset 0 1px 0 0 $osd_outer_borders_color !important;
|
||||
box-shadow: inset 0 1px 0 0 $osd_outer_borders_color;
|
||||
|
||||
.page-indicator {
|
||||
padding: $base_padding;
|
||||
@ -52,10 +52,6 @@ $default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten
|
||||
|
||||
// non-character keys
|
||||
&.default-key {
|
||||
|
||||
// size of the icon asset
|
||||
background-size: 24px;
|
||||
|
||||
@include button(normal, $c:$default_key_bg_color);
|
||||
&:hover, &:checked {@include button(hover, $c: $default_key_bg_color);}
|
||||
&:active { @include button(active, $c: $default_key_bg_color);}
|
||||
@ -63,19 +59,14 @@ $default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten
|
||||
|
||||
// enter key is suggested-action
|
||||
&.enter-key {
|
||||
background-image: url("resource:///org/gnome/shell/theme/key-enter.svg");
|
||||
|
||||
@include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
|
||||
&:hover, &:checked { @include button(hover, $c: lighten($selected_bg_color, 3%));}
|
||||
&:active {@include button(active, $c: darken($selected_bg_color, 2%));}
|
||||
}
|
||||
|
||||
// key assets
|
||||
&.shift-key-lowercase {background-image: url("resource:///org/gnome/shell/theme/key-shift.svg");}
|
||||
&.shift-key-uppercase {background-image: url("resource:///org/gnome/shell/theme/key-shift-uppercase.svg");}
|
||||
&.shift-key-uppercase:latched {background-image: url("resource:///org/gnome/shell/theme/key-shift-latched-uppercase.svg");}
|
||||
&.hide-key {background-image: url("resource:///org/gnome/shell/theme/key-hide.svg");}
|
||||
&.layout-key {background-image: url("resource:///org/gnome/shell/theme/key-layout.svg");}
|
||||
&.shift-key-uppercase { color: $selected_bg_color }
|
||||
|
||||
StIcon { icon-size: 1.125em; }
|
||||
}
|
||||
|
||||
// long press on a key popup
|
||||
@ -121,4 +112,4 @@ $default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten
|
||||
@include fontsize($base_font_size + 3);
|
||||
spacing: 12px;
|
||||
min-height: 20pt;
|
||||
}
|
||||
}
|
||||
|
@ -5,18 +5,19 @@
|
||||
max-width: 23em;
|
||||
}
|
||||
|
||||
.login-dialog {
|
||||
.login-dialog,
|
||||
.unlock-dialog {
|
||||
//reset
|
||||
border: none;
|
||||
background-color: transparent;
|
||||
|
||||
$_gdm_bg: lighten(#2e3436, 19%);
|
||||
$_gdm_bg: $system_bg_color;
|
||||
|
||||
StEntry {
|
||||
@if $variant=='dark' {
|
||||
$_gdm_entry_bg: transparentize(lighten(desaturate(#241f31, 20%), 2%), 0.5);
|
||||
$_gdm_entry_bg: darken($system_bg_color, 3%);
|
||||
background-color: $_gdm_entry_bg;
|
||||
color: $osd_fg_color;
|
||||
color: $fg_color;
|
||||
}
|
||||
}
|
||||
|
||||
@ -24,9 +25,9 @@
|
||||
.modal-dialog-button {
|
||||
padding: 4px 18px;
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.2);
|
||||
background-color: $_gdm_bg;
|
||||
border-color: $_gdm_bg;
|
||||
color: $fg_color;
|
||||
background-color: darken($system_bg_color, 3%);
|
||||
border-color: darken($system_bg_color, 3%);
|
||||
color: $osd_fg_color;
|
||||
|
||||
$_hover_c: lighten($_gdm_bg, 5%);
|
||||
&:hover, &:focus {
|
||||
@ -43,7 +44,7 @@
|
||||
@include button(insensitive);
|
||||
border-color: darken($_gdm_bg, 5%);
|
||||
background-color: darken($_gdm_bg, 5%);
|
||||
color: transparentize($fg_color, 0.3);
|
||||
color: transparentize($osd_fg_color, 0.3);
|
||||
}
|
||||
&:default {
|
||||
@include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
|
||||
@ -68,13 +69,30 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.cancel-button,
|
||||
.switch-user-button,
|
||||
.login-dialog-session-list-button {
|
||||
padding: 0;
|
||||
border-radius: 99px;
|
||||
width: $base_icon_size * 2;
|
||||
height: $base_icon_size * 2;
|
||||
border-color: darken($system_bg_color, 3%);
|
||||
background-color: darken($system_bg_color, 3%);
|
||||
|
||||
StIcon { icon-size: $base_icon_size; }
|
||||
}
|
||||
|
||||
.caps-lock-warning-label,
|
||||
.login-dialog-message-warning {
|
||||
color: $osd_fg_color;
|
||||
}
|
||||
}
|
||||
|
||||
.login-dialog-logo-bin { padding: 24px 0px; }
|
||||
.login-dialog-banner { color: darken($osd_fg_color,10%); }
|
||||
.login-dialog-button-box { spacing: 5px; }
|
||||
.login-dialog-message-warning { color: $warning_color; }
|
||||
.login-dialog-message-hint { padding-top: 0; padding-bottom: 20px; }
|
||||
.login-dialog-button-box { width: 23em; spacing: 5px; }
|
||||
.login-dialog-message { text-align: center; }
|
||||
.login-dialog-user-selection-box { padding: 100px 0px; }
|
||||
.login-dialog-not-listed-label {
|
||||
padding-left: 2px;
|
||||
@ -100,7 +118,7 @@
|
||||
}
|
||||
|
||||
.login-dialog-user-list-item {
|
||||
border-radius: 5px;
|
||||
border-radius: $base_border_radius + 4px;
|
||||
padding: 6px;
|
||||
color: darken($osd_fg_color,30%);
|
||||
&:ltr .user-widget { padding-right: 1em; }
|
||||
@ -113,18 +131,29 @@
|
||||
&:focus .login-dialog-timed-login-indicator { background-color: $selected_fg_color; }
|
||||
}
|
||||
|
||||
.login-dialog-username,
|
||||
.user-widget-label {
|
||||
color: $osd_fg_color;
|
||||
@include fontsize($base_font_size + 2);
|
||||
font-weight: bold;
|
||||
text-align: left;
|
||||
padding-left: 15px;
|
||||
}
|
||||
|
||||
.user-widget-label {
|
||||
&:ltr { padding-left: 14px; }
|
||||
&:rtl { padding-right: 14px; }
|
||||
.user-widget.horizontal .user-widget-label {
|
||||
@include fontsize($base_font_size + 2);
|
||||
font-weight: bold;
|
||||
padding-left: 15px;
|
||||
|
||||
&:ltr { padding-left: 14px; text-align: left; }
|
||||
&:rtl { padding-right: 14px; text-align: right; }
|
||||
}
|
||||
|
||||
.user-widget.vertical .user-widget-label {
|
||||
@include fontsize($base_font_size + 5);
|
||||
text-align: center;
|
||||
font-weight: normal;
|
||||
padding-top: 16px;
|
||||
}
|
||||
|
||||
.login-dialog-timed-login-indicator {
|
||||
height: 2px;
|
||||
background-color: darken($fg_color,40%);
|
||||
}
|
||||
|
||||
.login-dialog-prompt-layout {
|
||||
@ -134,18 +163,12 @@
|
||||
width: 23em;
|
||||
}
|
||||
|
||||
.login-dialog-prompt-entry {
|
||||
height: 1.5em;
|
||||
}
|
||||
|
||||
.login-dialog-prompt-label {
|
||||
color: darken($osd_fg_color, 20%);
|
||||
@include fontsize($base_font_size + 1);
|
||||
padding-top: 1em;
|
||||
}
|
||||
|
||||
.login-dialog-session-list-button StIcon {
|
||||
icon-size: 1.25em;
|
||||
}
|
||||
|
||||
.login-dialog-session-list-button {
|
||||
color: darken($osd_fg_color,30%);
|
||||
&:hover,&:focus { color: $osd_fg_color; }
|
||||
&:active { color: darken($osd_fg_color, 50%); }
|
||||
}
|
@ -1,18 +1,20 @@
|
||||
/* Looking Glass */
|
||||
|
||||
$text_fg_color: #ccc;
|
||||
|
||||
// Dialog
|
||||
#LookingGlassDialog {
|
||||
background-color: $osd_bg_color;
|
||||
spacing: $base_spacing;
|
||||
padding: 4px;
|
||||
border: 2px solid transparentize($osd_fg_color, 0.8);
|
||||
border-top-width:0;
|
||||
border-radius: 0 0 $base_border_radius $base_border_radius;
|
||||
border: 1px solid transparentize($osd_fg_color, 0.8);
|
||||
border-radius: $base_border_radius;
|
||||
color: $osd_fg_color;
|
||||
|
||||
& > #Toolbar {
|
||||
border: none;
|
||||
border-radius: $base_border_radius;
|
||||
background-color: darken($osd_bg_color, 10%);
|
||||
background-color: $osd_bg_color;
|
||||
}
|
||||
|
||||
.labels { spacing: $base_spacing; }
|
||||
@ -20,19 +22,18 @@
|
||||
-natural-hpadding: $base_padding * 2;
|
||||
-minimum-hpadding: 6px;
|
||||
font-weight: bold;
|
||||
color: $fg_color;
|
||||
color: darken($osd_fg_color, 15%);
|
||||
transition-duration: 100ms;
|
||||
padding-left: .3em;
|
||||
padding-right: .3em;
|
||||
border-bottom-width: 2px;
|
||||
&:hover {
|
||||
color: white;
|
||||
text-shadow: black 0px 2px 2px;
|
||||
color: $osd_fg_color;
|
||||
}
|
||||
&:selected {
|
||||
border-bottom-width: 2px;
|
||||
border-color: lighten($selected_bg_color,5%);
|
||||
color: white;
|
||||
text-shadow: black 0px 2px 2px;
|
||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color, 5%);
|
||||
color: $osd_fg_color;
|
||||
}
|
||||
}
|
||||
StBoxLayout#EvalBox { padding: 4px; spacing: $base_spacing; }
|
||||
@ -41,12 +42,22 @@
|
||||
|
||||
.lg-dialog {
|
||||
StEntry {
|
||||
selection-background-color: #bbbbbb;
|
||||
selected-color: $osd_bg_color;
|
||||
background-color: transparentize(lighten($osd_bg_color, 5%), 0.4);
|
||||
color: $osd_fg_color;
|
||||
border-color: transparentize($osd_fg_color, 0.8);
|
||||
min-height: 22px;
|
||||
selection-background-color: $selected_bg_color;
|
||||
selected-color: $selected_fg_color;
|
||||
}
|
||||
.shell-link {
|
||||
color: #999999;
|
||||
&:hover { color: #dddddd; }
|
||||
color: $link_color;
|
||||
&:hover { color: lighten($link_color, 10%); }
|
||||
&:active { color: darken($link_color, 10%); }
|
||||
}
|
||||
.actor-link {
|
||||
color: $text_fg_color;
|
||||
&:hover { color: lighten($text_fg_color, 20%); }
|
||||
&:active { color: darken($text_fg_color, 20%); }
|
||||
}
|
||||
}
|
||||
|
||||
@ -60,7 +71,7 @@
|
||||
}
|
||||
|
||||
.lg-obj-inspector-button {
|
||||
border: 1px solid gray;
|
||||
border: 1px solid $osd_borders_color;
|
||||
padding: 4px;
|
||||
border-radius: $base_border_radius;
|
||||
&:hover { border: 1px solid #ffffff; }
|
||||
@ -75,7 +86,8 @@
|
||||
}
|
||||
|
||||
.lg-extension {
|
||||
border: 1px solid $osd_borders_color;
|
||||
border: 1px solid lighten($osd_borders_color, 5%);
|
||||
background-color: lighten($osd_bg_color, 5%);
|
||||
border-radius: $base_border_radius;
|
||||
padding: 4px;
|
||||
}
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
.message-list-sections {
|
||||
spacing: $base_spacing;
|
||||
margin: $base_margin * 4; // to account for scrollbar
|
||||
margin: 0 $base_margin * 4; // to account for scrollbar
|
||||
}
|
||||
|
||||
.message-list-section,
|
||||
@ -19,40 +19,77 @@
|
||||
spacing: $base_spacing;
|
||||
}
|
||||
|
||||
.message-list-section-list {
|
||||
&:ltr {padding:0;}
|
||||
&:rtl {padding:0;}
|
||||
}
|
||||
|
||||
// do-not-disturb + clear button
|
||||
.message-list-controls {
|
||||
margin: $base_margin $base_margin*2;
|
||||
spacing: $base_spacing;
|
||||
margin: ($base_margin * 2) ($base_margin * 4) 0;
|
||||
// NOTE: remove the padding if notification_bubble could remove margin for drop shadow
|
||||
padding: $base_margin;
|
||||
spacing: $base_spacing * 2;
|
||||
|
||||
.dnd-button {
|
||||
// We need this because the focus outline isn't inset like for the buttons
|
||||
// so the dnd button would grow when it gets focus if we didn't change only
|
||||
// its color when focusing.
|
||||
border-width: 2px;
|
||||
border-color: transparent;
|
||||
border-radius: 99px;
|
||||
border-style: solid;
|
||||
|
||||
&:focus {
|
||||
border-color: transparentize($selected_bg_color, 0.4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// message bubbles
|
||||
.message {
|
||||
@extend %notification_bubble;
|
||||
@include notification_bubble;
|
||||
|
||||
// title
|
||||
.message-title {
|
||||
color: $fg_color;
|
||||
font-weight: bold;
|
||||
margin-bottom:4px;
|
||||
// icon container
|
||||
.message-icon-bin {
|
||||
padding: ($base_padding * 3) 0 ($base_padding * 3) ($base_padding * 2);
|
||||
|
||||
&:rtl {
|
||||
padding: ($base_padding * 3) ($base_padding * 2) ($base_padding * 3) 0;
|
||||
}
|
||||
|
||||
// icon size and color
|
||||
> StIcon {
|
||||
icon-size: $base_icon_size*2; // 32px
|
||||
-st-icon-style: symbolic;
|
||||
}
|
||||
|
||||
// fallback
|
||||
> .fallback-app-icon {
|
||||
width: $base_icon_size;
|
||||
height: $base_icon_size;
|
||||
}
|
||||
}
|
||||
|
||||
// content
|
||||
.message-content {
|
||||
color: darken($fg_color, 10%);
|
||||
padding: $base_padding 0;
|
||||
margin:$base_margin * 2;
|
||||
&:ltr {
|
||||
margin-left: $base_margin;
|
||||
padding-right:$base_padding;
|
||||
}
|
||||
&:rtl {
|
||||
margin-right: $base_margin;
|
||||
padding-left:$base_padding;
|
||||
padding: $base_padding + $base_margin * 2;
|
||||
spacing: 4px;
|
||||
}
|
||||
|
||||
// title
|
||||
.message-title {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
// secondary container in title box
|
||||
.message-secondary-bin {
|
||||
padding: 0 $base_margin * 2;
|
||||
|
||||
// notification time stamp
|
||||
> .event-time {
|
||||
color: transparentize($fg_color, 0.5);
|
||||
@include fontsize($base_font_size - 2);
|
||||
/* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
|
||||
padding-bottom: 0.13em;
|
||||
|
||||
&:ltr { text-align: right };
|
||||
&:rtl { text-align: left };
|
||||
}
|
||||
}
|
||||
|
||||
@ -63,53 +100,20 @@
|
||||
&:active { color: if($variant=='light', lighten($fg_color, 40%), darken($fg_color, 20%)); }
|
||||
}
|
||||
|
||||
|
||||
// icon container
|
||||
.message-icon-bin {
|
||||
padding: $base_padding;
|
||||
margin:$base_padding 0;
|
||||
|
||||
&:rtl {
|
||||
// padding: $base_padding;
|
||||
}
|
||||
|
||||
// icon size and color
|
||||
> StIcon {
|
||||
color: $fg_color;
|
||||
icon-size: $base_icon_size*2; // 32px
|
||||
-st-icon-style: symbolic;
|
||||
|
||||
padding:0;
|
||||
margin:$base_padding;
|
||||
}
|
||||
|
||||
// fallback
|
||||
> .fallback-app-icon {
|
||||
width: $base_icon_size;
|
||||
height: $base_icon_size;
|
||||
}
|
||||
}
|
||||
|
||||
// secondary container in title box
|
||||
.message-secondary-bin {
|
||||
padding: 0;
|
||||
|
||||
// notification time stamp
|
||||
> .event-time {
|
||||
color: transparentize($fg_color, 0.5);
|
||||
@include fontsize($base_font_size - 2);
|
||||
text-align: right;
|
||||
margin: 0 $base_margin * 2;
|
||||
/* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
|
||||
padding-bottom: $base_padding;
|
||||
}
|
||||
// body
|
||||
.message-body {
|
||||
color: darken($fg_color, 10%);
|
||||
}
|
||||
}
|
||||
|
||||
// URLs in messages
|
||||
.url-highlighter {
|
||||
link-color: $link_color;
|
||||
}
|
||||
|
||||
/* Media Controls */
|
||||
.message-media-control {
|
||||
padding: $base_padding * 2 $base_padding * 4;
|
||||
padding: $base_padding * 2 1.64em; // $base_padding * 4 = 24px
|
||||
color: darken($fg_color, 15%);
|
||||
|
||||
// uses $hover_bg_color since the media controls are in a notification_bubble
|
||||
@ -125,9 +129,9 @@
|
||||
|
||||
&:insensitive { color: darken($fg_color,40%); }
|
||||
|
||||
// fix border-radius for last button on hover
|
||||
&:last-child:ltr { &:hover {border-radius: 0 $base_border_radius+2 $base_border_radius+2 0;} }
|
||||
&:last-child:rtl { &:hover {border-radius: $base_border_radius+2 0 0 $base_border_radius+2;} }
|
||||
// fix border-radius for last button
|
||||
&:last-child:ltr { border-radius: 0 $base_border_radius+2 $base_border_radius+2 0; }
|
||||
&:last-child:rtl { border-radius: $base_border_radius+2 0 0 $base_border_radius+2; }
|
||||
}
|
||||
|
||||
// album-art
|
||||
@ -142,6 +146,5 @@
|
||||
border: 1px solid transparent;
|
||||
border-radius: $base_border_radius;
|
||||
icon-size: $base_icon_size * 2 !important;
|
||||
padding: $base_padding * 2;
|
||||
}
|
||||
}
|
||||
|
@ -1,56 +1,42 @@
|
||||
// Links/URLs
|
||||
.shell-link {
|
||||
color: $link_color;
|
||||
&:hover { color: lighten($link_color,10%); }
|
||||
}
|
||||
|
||||
.url-highlighter { link-color: $link_color; }
|
||||
|
||||
// Rubberband for select-area screenshots
|
||||
.select-area-rubberband {
|
||||
background-color: transparentize($selected_bg_color,0.7);
|
||||
border: 1px solid $selected_bg_color;
|
||||
}
|
||||
|
||||
// Pointer accessibility notifications
|
||||
.pie-timer {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
-pie-border-width: 3px;
|
||||
-pie-border-color: $selected_bg_color;
|
||||
-pie-background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
|
||||
}
|
||||
|
||||
// Screen zoom/Magnifier
|
||||
.magnifier-zoom-region {
|
||||
border: 2px solid $selected_bg_color;
|
||||
&.full-screen { border-width: 0; }
|
||||
}
|
||||
|
||||
// User icon
|
||||
.user-icon {
|
||||
background-size: contain;
|
||||
color: $osd_fg_color;
|
||||
border-radius: 99px;
|
||||
icon-size: $base_icon_size * 4; // 64px
|
||||
&:hover {
|
||||
color: lighten($osd_fg_color,30%);
|
||||
}
|
||||
|
||||
& StIcon {
|
||||
background-color: transparentize($osd_fg_color,0.95);
|
||||
border-radius: 99px;
|
||||
padding: $base_padding * 2 ; // 12px
|
||||
width: $base_icon_size * 2.5; height: $base_icon_size * 2.5; // 40px;
|
||||
}
|
||||
|
||||
&.user-avatar {
|
||||
border: 2px $osd_fg_color;
|
||||
}
|
||||
}
|
||||
|
||||
// Input Source Switcher
|
||||
.input-source-switcher-symbol {
|
||||
font-size: 34pt;
|
||||
width: 96px;
|
||||
height: 96px;
|
||||
.user-widget.vertical .user-icon {
|
||||
icon-size: $base_icon_size * 6; // 128px
|
||||
|
||||
& StIcon {
|
||||
padding: $base_padding * 3 + 2px; // 20px
|
||||
padding-top: $base_padding * 3; // 18 px
|
||||
padding-bottom: $base_padding * 3 + 4px; // 22px
|
||||
width: $base_icon_size * 5.5; height: $base_icon_size * 5.5; // 88px;
|
||||
}
|
||||
}
|
||||
|
||||
// Window cycler highlight
|
||||
.cycler-highlight {
|
||||
border: 5px solid $selected_bg_color;
|
||||
}
|
||||
|
||||
// Text
|
||||
.headline { @include fontsize($base_font_size + 1); }
|
||||
.lightbox { background-color: black; }
|
||||
.flashspot { background-color: white; }
|
||||
|
||||
@ -60,8 +46,14 @@
|
||||
|
||||
// Caps-lock warning
|
||||
.caps-lock-warning-label {
|
||||
text-align: center;
|
||||
padding-bottom: 8px;
|
||||
padding-left: 6.2em;
|
||||
@include fontsize($base_font_size - 1);
|
||||
color: $warning_color;
|
||||
}
|
||||
|
||||
/* Workspace animation */
|
||||
|
||||
.workspace-animation {
|
||||
background-color: $system_bg_color;
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Notifications & Mesage Tray */
|
||||
/* Notifications & Message Tray */
|
||||
|
||||
$notification_banner_height: 64px;
|
||||
$notification_banner_width: 34em;
|
||||
@ -7,39 +7,8 @@ $notification_banner_width: 34em;
|
||||
.notification-banner {
|
||||
min-height: $notification_banner_height;
|
||||
width: $notification_banner_width;
|
||||
@include fontsize($base_font_size);
|
||||
margin: $base_margin;
|
||||
border-radius: $modal_radius;
|
||||
|
||||
.message-title { color: $fg_color }
|
||||
.message-content { color: $fg_color; }
|
||||
|
||||
&:hover { background: $bg_color; }
|
||||
&, &:focus, &:active {
|
||||
background-color: $bg_color;
|
||||
.message-title { color: $fg_color }
|
||||
.message-content { color: $fg_color; }
|
||||
}
|
||||
|
||||
// icon
|
||||
.message-icon-bin > StIcon {
|
||||
icon-size: $base_icon_size * 2;
|
||||
color: $fg_color;
|
||||
}
|
||||
|
||||
.notification-icon {
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.notification-content {
|
||||
padding: 5px;
|
||||
spacing: 5px;
|
||||
}
|
||||
|
||||
.secondary-icon { icon-size: $base_icon_size; }
|
||||
|
||||
.notification-actions {
|
||||
padding-top: 0;
|
||||
spacing: 0;
|
||||
}
|
||||
|
||||
@ -63,8 +32,6 @@ $notification_banner_width: 34em;
|
||||
border-radius: 0.9em; // should be 0.8 but whatever; wish I could do 50%;
|
||||
}
|
||||
|
||||
.secondary-icon { icon-size: $base_icon_size; }
|
||||
|
||||
// chat bubbles
|
||||
.chat-body { spacing: 5px; }
|
||||
.chat-response { margin: 5px; }
|
||||
@ -87,4 +54,4 @@ $notification_banner_width: 34em;
|
||||
font-weight: bold;
|
||||
color: lighten($fg_color,18%);
|
||||
&:rtl { padding-left: 0; padding-right: 4px; }
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,13 @@
|
||||
/* OVERVIEW */
|
||||
|
||||
#overview {
|
||||
spacing: 24px;
|
||||
background-color: transparent;
|
||||
.controls-manager, .secondary-monitor-workspaces {
|
||||
spacing: $base_spacing * 2;
|
||||
}
|
||||
|
||||
#overviewGroup {
|
||||
background-color: $system_bg_color;
|
||||
}
|
||||
|
||||
.overview-controls {
|
||||
padding-bottom: 32px;
|
||||
}
|
||||
}
|
||||
|
@ -2,45 +2,37 @@
|
||||
// a.k.a. the panel
|
||||
|
||||
$panel_corner_radius: $base_border_radius+1;
|
||||
$panel_bg_color: if($variant == 'light', rgba(0,0,0,0.9), #000);
|
||||
$panel_fg_color: if($variant == 'light', darken($fg_color, 15%), darken($fg_color, 10%));
|
||||
$panel_height: 1.86em;
|
||||
|
||||
$panel_bg_color: #000;
|
||||
$panel_fg_color: #ddd;
|
||||
$panel_height: 2.2em;
|
||||
$panel_transition_duration: 250ms; // same as the overview transition duration
|
||||
|
||||
#panel {
|
||||
background-color: $panel_bg_color;
|
||||
font-weight: bold;
|
||||
height: $panel_height;
|
||||
font-feature-settings: "tnum";
|
||||
transition-duration: $panel_transition_duration;
|
||||
|
||||
// transparent panel on lock & login screens
|
||||
&.unlock-screen,
|
||||
&.login-screen,
|
||||
&.lock-screen {
|
||||
&:overview {
|
||||
background-color: transparent;
|
||||
|
||||
.panel-corner {
|
||||
-panel-corner-radius: 0;
|
||||
-panel-corner-background-color: transparent;
|
||||
-panel-corner-border-color: transparent;
|
||||
-panel-corner-opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
// spacing between activities, app menu and such
|
||||
#panelLeft, #panelCenter {
|
||||
spacing: $base_spacing;
|
||||
}
|
||||
|
||||
// the rounded outset corners
|
||||
.panel-corner {
|
||||
-panel-corner-radius: $panel_corner_radius;
|
||||
-panel-corner-background-color: $panel_bg_color;
|
||||
-panel-corner-border-width: 2px;
|
||||
-panel-corner-border-color: transparent;
|
||||
|
||||
&:active, &:overview, &:focus {
|
||||
-panel-corner-border-color: lighten($selected_bg_color,5%);
|
||||
}
|
||||
-panel-corner-opacity: 1;
|
||||
transition-duration: $panel_transition_duration;
|
||||
}
|
||||
|
||||
// panel menus
|
||||
@ -49,38 +41,70 @@ $panel_height: 1.86em;
|
||||
color: $panel_fg_color;
|
||||
-natural-hpadding: $base_padding * 2;
|
||||
-minimum-hpadding: $base_padding;
|
||||
transition-duration: 150ms;
|
||||
border: 3px solid transparent;
|
||||
border-radius: 99px;
|
||||
|
||||
&:hover {
|
||||
color: lighten($panel_fg_color, 20%);
|
||||
&.clock-display {
|
||||
.clock {
|
||||
transition-duration: 150ms;
|
||||
border: 3px solid transparent;
|
||||
border-radius: 99px;
|
||||
}
|
||||
}
|
||||
|
||||
&:active, &:overview, &:focus, &:checked {
|
||||
background-color: $panel_bg_color; // Trick due to St limitations. It needs a background to draw a box-shadow
|
||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
|
||||
&:hover, &:active, &:overview, &:focus, &:checked {
|
||||
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.20);
|
||||
|
||||
color: lighten($panel_fg_color, 20%);
|
||||
// The clock display needs to have the background on .clock because
|
||||
// we want to exclude the do-not-disturb indicator from the background
|
||||
&.clock-display {
|
||||
box-shadow: none;
|
||||
|
||||
.clock {
|
||||
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.20);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// status area icons
|
||||
.system-status-icon {
|
||||
icon-size: $base_icon_size;
|
||||
padding: $base_padding - 1px;
|
||||
margin: 0 $base_margin;
|
||||
}
|
||||
|
||||
.panel-status-indicators-box .system-status-icon,
|
||||
.panel-status-menu-box .system-status-icon {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
// app menu icon
|
||||
.app-menu-icon {
|
||||
margin-left: $base_margin;
|
||||
margin-right: $base_margin;
|
||||
-st-icon-style: symbolic;
|
||||
// dimensions of the icon are hardcoded
|
||||
}
|
||||
|
||||
// lock & login screen styles
|
||||
.unlock-screen &,
|
||||
.login-screen &,
|
||||
.lock-screen & {
|
||||
color: lighten($fg_color, 10%);
|
||||
&:focus, &:hover, &:active { color: lighten($fg_color, 10%); }
|
||||
&#panelActivities {
|
||||
-natural-hpadding: $base_padding * 3;
|
||||
}
|
||||
}
|
||||
|
||||
&.unlock-screen,
|
||||
&.login-screen,
|
||||
&:overview {
|
||||
.panel-button {
|
||||
&:hover, &:active, &:overview, &:focus, &:checked {
|
||||
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.15);
|
||||
|
||||
&.clock-display {
|
||||
box-shadow: none;
|
||||
|
||||
.clock {
|
||||
box-shadow: inset 0 0 0 100px rgba(255, 255, 255, 0.15);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -104,3 +128,8 @@ $panel_height: 1.86em;
|
||||
spacing: $base_spacing;
|
||||
.label-shadow { color: transparent; }
|
||||
}
|
||||
|
||||
#appMenu .panel-status-menu-box {
|
||||
padding: 0 $base_padding;
|
||||
spacing: $base_spacing;
|
||||
}
|
||||
|
@ -3,8 +3,7 @@
|
||||
$popover_arrow_height: 12px;
|
||||
|
||||
//.the popover itself
|
||||
.popup-menu-boxpointer,
|
||||
.candidate-popup-boxpointer {
|
||||
.popup-menu-boxpointer {
|
||||
-arrow-border-radius: $base_border_radius+4;
|
||||
-arrow-background-color: $bg_color;
|
||||
-arrow-border-width: 1px;
|
||||
@ -77,17 +76,28 @@ $popover_arrow_height: 12px;
|
||||
|
||||
// container for radio and check boxes
|
||||
.popup-menu-ornament {
|
||||
text-align: right;
|
||||
width: 1.2em;
|
||||
|
||||
&:ltr { text-align: right };
|
||||
&:rtl { text-align: left };
|
||||
}
|
||||
|
||||
// separator
|
||||
.popup-separator-menu-item {
|
||||
//-margin-horizontal: 24px;
|
||||
height: 1px; //not really the whole box
|
||||
margin: 6px 64px;
|
||||
background-color: lighten($borders_color, 2%);
|
||||
border: none !important;
|
||||
padding: 0;
|
||||
|
||||
.popup-separator-menu-item-separator {
|
||||
//-margin-horizontal: 24px;
|
||||
height: 1px; //not really the whole box
|
||||
margin: 6px 64px;
|
||||
background-color: lighten($borders_color, 2%);
|
||||
.popup-sub-menu & { //submenu separators
|
||||
margin: 0 64px 0 32px;
|
||||
@if $variant == 'dark' {
|
||||
background-color: lighten($bg_color,10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// desktop background menu
|
||||
@ -118,4 +128,4 @@ $popover_arrow_height: 12px;
|
||||
margin-right: $base_icon_size;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,68 +1,64 @@
|
||||
/* Screen Shield */
|
||||
|
||||
$_screenshield_shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
|
||||
|
||||
.screen-shield-arrows {
|
||||
padding-bottom: 3em;
|
||||
}
|
||||
|
||||
.screen-shield-arrows Gjs_Arrow {
|
||||
.unlock-dialog-clock {
|
||||
color: white;
|
||||
width: 80px;
|
||||
height: 48px;
|
||||
-arrow-thickness: 12px;
|
||||
-arrow-shadow: $_screenshield_shadow;
|
||||
}
|
||||
|
||||
.screen-shield-clock {
|
||||
color: white;
|
||||
text-shadow: $_screenshield_shadow;
|
||||
font-weight: bold;
|
||||
font-weight: 300;
|
||||
text-align: center;
|
||||
padding-bottom: 1.5em;
|
||||
spacing: 24px;
|
||||
padding-bottom: 2.5em;
|
||||
}
|
||||
|
||||
.screen-shield-clock-time {
|
||||
font-size: 72pt;
|
||||
text-shadow: $_screenshield_shadow;
|
||||
.unlock-dialog-clock-time {
|
||||
font-size: 64pt;
|
||||
padding-top: 42px;
|
||||
font-feature-settings: "tnum";
|
||||
}
|
||||
|
||||
.screen-shield-clock-date {
|
||||
font-size: 28pt;
|
||||
.unlock-dialog-clock-date {
|
||||
font-size: 16pt;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.screen-shield-notifications-container {
|
||||
.unlock-dialog-clock-hint {
|
||||
font-weight: normal;
|
||||
padding-top: 48px;
|
||||
}
|
||||
|
||||
.unlock-dialog-notifications-container {
|
||||
margin: 12px 0;
|
||||
spacing: 6px;
|
||||
width: 30em;
|
||||
width: 23em;
|
||||
background-color: transparent;
|
||||
max-height: 500px;
|
||||
.summary-notification-stack-scrollview {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0;
|
||||
}
|
||||
|
||||
.notification,
|
||||
.screen-shield-notification-source {
|
||||
.unlock-dialog-notification-source {
|
||||
padding: 12px 6px;
|
||||
border: 1px solid $osd_outer_borders_color;
|
||||
background-color: transparentize($osd_bg_color,0.5);
|
||||
border: none;
|
||||
background-color: transparentize($osd_bg_color,0.7);
|
||||
color: $osd_fg_color;
|
||||
border-radius: 4px;
|
||||
border-radius: $modal_radius;
|
||||
|
||||
&.critical { background-color: transparentize($osd_bg_color,0.1) }
|
||||
}
|
||||
.notification { margin-right: 15px; } //compensate for space allocated to the scrollbar
|
||||
}
|
||||
|
||||
|
||||
.screen-shield-notification-label {
|
||||
font-weight: bold;
|
||||
.unlock-dialog-notification-label {
|
||||
padding: 0px 0px 0px 12px;
|
||||
}
|
||||
|
||||
.screen-shield-notification-count-text { padding: 0px 0px 0px 12px; }
|
||||
.unlock-dialog-notification-count-text {
|
||||
weight: bold;
|
||||
padding: 0 6px;
|
||||
color: $osd_bg_color;
|
||||
background-color: transparentize($osd_fg_color, 0.7);
|
||||
border-radius: 99px;
|
||||
margin-right: 12px;
|
||||
|
||||
#panel.lock-screen { background-color: transparentize($osd_bg_color, 0.5); }
|
||||
}
|
||||
|
||||
.screen-shield-background { //just the shadow, really
|
||||
background: black;
|
||||
@ -70,14 +66,13 @@ $_screenshield_shadow: 0px 0px 6px rgba(0, 0, 0, 0.726);
|
||||
}
|
||||
|
||||
#lockDialogGroup {
|
||||
background: lighten(#2e3436, 8%) url(resource:///org/gnome/shell/theme/noise-texture.png);
|
||||
background-repeat: repeat;
|
||||
background-color: $system_bg_color;
|
||||
}
|
||||
|
||||
#screenShieldNotifications {
|
||||
#unlockDialogNotifications {
|
||||
StButton#vhandle, StButton#hhandle {
|
||||
background-color: transparentize($bg_color,0.7);
|
||||
&:hover, &:focus { background-color: transparentize($bg_color,0.5); }
|
||||
&:active { background-color: transparentize($selected_bg_color,0.5); }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,17 +10,16 @@ $search_entry_height: 36px;
|
||||
border-radius: $search_entry_height * 0.5; // half the height
|
||||
color: transparentize($fg_color,0.3);
|
||||
background-color: $bg_color;
|
||||
border-color: $borders_color;
|
||||
|
||||
margin-top: $base_spacing * 2;
|
||||
margin-bottom: $base_spacing;
|
||||
border-width: 2px;
|
||||
border-color: transparent;
|
||||
&:hover {
|
||||
background-color: $hover_bg_color;
|
||||
border-color: $hover_borders_color;
|
||||
color: $hover_fg_color;
|
||||
}
|
||||
|
||||
&:focus {
|
||||
padding: $base_padding $base_padding+2; // 1px less to account for wider border
|
||||
border-width: 2px;
|
||||
border-style: solid;
|
||||
border-color: $selected_bg_color;
|
||||
color: $fg_color;
|
||||
@ -32,4 +31,4 @@ $search_entry_height: 36px;
|
||||
padding: 0 4px;
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3,19 +3,16 @@
|
||||
// search overview container
|
||||
#searchResultsContent {
|
||||
max-width: 1024px;
|
||||
spacing: $base_margin * 2;
|
||||
}
|
||||
|
||||
// search results sections "the boxes"
|
||||
.search-section {
|
||||
// This should be equal to #searchResultsContent spacing
|
||||
spacing: $base_margin * 2;
|
||||
padding:0 !important;
|
||||
margin:0 !important;
|
||||
background-color:transparent;
|
||||
box-shadow:none;
|
||||
border:none;
|
||||
|
||||
// separator
|
||||
.search-section-separator {
|
||||
// margin-top: $base_padding * 2;
|
||||
// height: 1px;
|
||||
// background-color: $osd_outer_borders_color;
|
||||
height: 0;
|
||||
@ -32,8 +29,24 @@
|
||||
text-shadow: 0 1px if($variant == 'light', rgba(255,255,255,0.2), rgba(0,0,0,0.2));
|
||||
color: $osd_fg_color;
|
||||
padding: $base_padding * 3;
|
||||
margin: $base_margin 0;
|
||||
spacing: 0;
|
||||
// This is the space between the provider icon and the results container
|
||||
spacing: $base_margin * 2;
|
||||
}
|
||||
|
||||
%search-section-content-item {
|
||||
@extend %icon_tile;
|
||||
|
||||
&:focus,
|
||||
&:hover,
|
||||
&:selected {
|
||||
background-color: transparentize($osd_fg_color, .9);
|
||||
transition-duration: 200ms;
|
||||
}
|
||||
|
||||
&:active,
|
||||
&:checked {
|
||||
background-color: transparentize(darken($osd_bg_color, 10%), .1);
|
||||
}
|
||||
}
|
||||
|
||||
// "no results" text
|
||||
@ -41,56 +54,18 @@
|
||||
@extend %status_text;
|
||||
}
|
||||
|
||||
.grid-search-results {
|
||||
spacing: $base_spacing * 6;
|
||||
}
|
||||
|
||||
// Search results with icons
|
||||
.grid-search-result {
|
||||
> .overview-icon {
|
||||
@extend %icon_tile;
|
||||
color: $osd_fg_color;
|
||||
}
|
||||
|
||||
> .overview-icon.overview-icon-with-label {
|
||||
padding: 10px 8px 5px 8px;
|
||||
spacing: $base_spacing;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:selected {
|
||||
.overview-icon {
|
||||
background-color: transparentize($osd_bg_color,0.8);
|
||||
color: $osd_fg_color;
|
||||
}
|
||||
}
|
||||
|
||||
&:drop .overview-icon {
|
||||
background-color: transparentize($selected_bg_color,.15);
|
||||
}
|
||||
|
||||
&:active .overview-icon,
|
||||
&:checked .overview-icon {
|
||||
background-color: transparentize(darken($osd_bg_color,10%), 0.5);
|
||||
}
|
||||
@extend %app-well-app;
|
||||
}
|
||||
|
||||
// search result provider
|
||||
.search-provider-icon {
|
||||
@extend %icon_tile;
|
||||
|
||||
padding: $base_padding;
|
||||
spacing: 0;
|
||||
margin-right: $base_margin * 2;
|
||||
|
||||
&:focus,
|
||||
&:selected,
|
||||
&:hover {
|
||||
background-color: transparentize($osd_fg_color,.9);
|
||||
transition-duration: 200ms;
|
||||
}
|
||||
|
||||
&:active,
|
||||
&:checked {
|
||||
background-color: transparentize(darken($osd_bg_color,10%),.1);
|
||||
}
|
||||
@extend %search-section-content-item;
|
||||
|
||||
// content
|
||||
.list-search-provider-content {
|
||||
@ -113,34 +88,16 @@
|
||||
|
||||
// search result listitem
|
||||
.list-search-result {
|
||||
@extend %icon_tile;
|
||||
spacing: 0;
|
||||
padding: $base_padding;
|
||||
color: $osd_fg_color;
|
||||
|
||||
border-radius: $base_border_radius + 2px !important;
|
||||
|
||||
&:focus,
|
||||
&:selected,
|
||||
&:hover {
|
||||
background-color: transparentize($osd_fg_color,.9);
|
||||
transition-duration: 200ms;
|
||||
}
|
||||
&:active,
|
||||
&:checked {
|
||||
background-color: transparentize(darken($osd_bg_color,10%),.1);
|
||||
}
|
||||
@extend %search-section-content-item;
|
||||
|
||||
// content
|
||||
.list-search-result-content {
|
||||
spacing: 0;
|
||||
spacing: $base_padding;
|
||||
}
|
||||
|
||||
// list item title
|
||||
// list item title (with leading icon)
|
||||
.list-search-result-title {
|
||||
color: $osd_fg_color;
|
||||
spacing: $base_spacing * 2;
|
||||
padding-right: $base_padding;
|
||||
// font-weight: bold;
|
||||
}
|
||||
|
||||
|
@ -16,7 +16,7 @@ $slider_size: 15px;
|
||||
-barlevel-overdrive-color: $destructive_color;
|
||||
-barlevel-overdrive-border-color: if($variant == 'light', darken($destructive_color, 4%), lighten($destructive_color, 2%)); //trough border when red;
|
||||
-barlevel-overdrive-separator-width:1px;
|
||||
// slider hander
|
||||
// slider handler
|
||||
-slider-handle-radius: $slider_size * 0.5; // half the size of the size
|
||||
-slider-handle-border-width: 1px;
|
||||
-slider-handle-border-color: if($variant == 'light', $borders_color, $fg_color);
|
||||
|
@ -15,13 +15,11 @@
|
||||
border: 1px solid transparent;
|
||||
|
||||
&:outlined {
|
||||
border: 1px solid darken($borders_color,5%);
|
||||
background-color: transparentize($osd_fg_color, 0.9);
|
||||
box-shadow: inset 0 2px 2px 0 rgba(0,0,0,0.4);
|
||||
background-color: transparentize($osd_fg_color, 0.7);
|
||||
}
|
||||
|
||||
&:selected {
|
||||
background-color: transparentize($osd_fg_color, 0.9);
|
||||
background-color: transparentize($osd_fg_color, 0.7);
|
||||
color: $osd_fg_color;
|
||||
}
|
||||
}
|
||||
@ -52,4 +50,16 @@
|
||||
&:highlighted {
|
||||
color: $fg_color;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Input Source Switcher
|
||||
.input-source-switcher-symbol {
|
||||
font-size: 34pt;
|
||||
width: 96px;
|
||||
height: 96px;
|
||||
}
|
||||
|
||||
// Window cycler highlight
|
||||
.cycler-highlight {
|
||||
border: 5px solid $selected_bg_color;
|
||||
}
|
@ -1,66 +1,52 @@
|
||||
/* Window Picker */
|
||||
|
||||
$window_picker_spacing: $base_spacing * 8; // 48px
|
||||
$window_picker_padding: $base_padding * 10; // 60px
|
||||
$window_picker_spacing: $base_spacing; // 6px
|
||||
$window_picker_padding: $base_padding * 2; // 12px
|
||||
|
||||
$window_thumbnail_border_color:transparentize($selected_fg_color, 0.65);
|
||||
$window_thumbnail_label_color: transparentize($osd_bg_color, 0.4);
|
||||
|
||||
$window_close_button_size: 24px;
|
||||
$window_close_button_size: 30px;
|
||||
$window_close_button_padding: 3px;
|
||||
|
||||
|
||||
// Window picker
|
||||
.window-picker {
|
||||
// Space between window thumbnails
|
||||
-horizontal-spacing: $window_picker_spacing;
|
||||
-vertical-spacing: $window_picker_spacing;
|
||||
// Padding for container around window thumbnails
|
||||
padding: $window_picker_padding;
|
||||
|
||||
&.external-monitor { padding: $window_picker_padding; }
|
||||
}
|
||||
|
||||
// Borders on window thumbnails
|
||||
.window-clone-border {
|
||||
border-width: 6px;
|
||||
border-style: solid;
|
||||
border-color: $window_thumbnail_border_color;
|
||||
border-radius: $base_border_radius + 2;
|
||||
// For window decorations with round corners we can't match
|
||||
// the exact shape when the window is scaled. So apply a shadow
|
||||
// to fix that case
|
||||
box-shadow: inset 0 0 0 1px transparentize($borders_color, 0.8);
|
||||
spacing: $window_picker_spacing;
|
||||
}
|
||||
|
||||
// Window titles
|
||||
.window-caption {
|
||||
color: $osd_fg_color;
|
||||
background-color: $osd_bg_color;
|
||||
border:1px solid $osd_outer_borders_color;
|
||||
border-radius: $base_border_radius + 1;
|
||||
border-radius: 99px;
|
||||
padding: $base_padding $base_padding * 2;
|
||||
font-weight: bold;
|
||||
@include fontsize($base_font_size + 1);
|
||||
}
|
||||
|
||||
// Close button
|
||||
.window-close {
|
||||
background-color: $selected_bg_color;
|
||||
color: $selected_fg_color;
|
||||
border: none;
|
||||
background-color: $osd_bg_color;
|
||||
color: $osd_fg_color;
|
||||
border-radius: $window_close_button_size * 0.5 + $window_close_button_padding * 2;
|
||||
padding: $window_close_button_padding;
|
||||
height: $window_close_button_size;
|
||||
width: $window_close_button_size;
|
||||
box-shadow: -1px 1px 5px 0px rgba(0,0,0,0.5);
|
||||
transition-duration: 300ms;
|
||||
|
||||
-shell-close-overlap: $window_close_button_size * 0.5;
|
||||
& StIcon { icon-size: 24px; }
|
||||
|
||||
&:hover {
|
||||
background-color: lighten($selected_bg_color, 5%);
|
||||
background-color: lighten($osd_bg_color, 15%);
|
||||
}
|
||||
|
||||
&:active {
|
||||
background-color: darken($selected_bg_color, 5%);
|
||||
color: transparentize($osd_fg_color, 0.2);
|
||||
background-color: darken($osd_bg_color, 5%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.workspace-background {
|
||||
// keep in sync with BACKGROUND_CORNER_RADIUS_PIXELS in workspace.js
|
||||
border-radius: 30px;
|
||||
box-shadow: 0 4px 16px 4px transparentize(darken($osd_bg_color, 30%), 0.7);
|
||||
}
|
||||
|
@ -16,7 +16,6 @@
|
||||
}
|
||||
|
||||
.ws-switcher-box {
|
||||
// background: transparent;
|
||||
background: transparent;
|
||||
height: 50px;
|
||||
background-size: 32px;
|
||||
@ -29,44 +28,9 @@
|
||||
.ws-switcher-active-down,
|
||||
.ws-switcher-active-left,
|
||||
.ws-switcher-active-right {
|
||||
height: 52px;
|
||||
background-color: $selected_bg_color;
|
||||
border: 1px solid if($variant=='light', darken($selected_bg_color, 8%), lighten($selected_bg_color, 5%));
|
||||
border-radius: $base_border_radius + 3px;
|
||||
color: $selected_fg_color;
|
||||
}
|
||||
|
||||
/* Workspace pager */
|
||||
|
||||
// thumbnails in overview
|
||||
.workspace-thumbnails {
|
||||
@extend %overview_panel;
|
||||
visible-width: 32px; //amount visible before hover
|
||||
spacing: $base_spacing;
|
||||
padding: $base_padding;
|
||||
|
||||
border-radius: $modal_radius 0 0 $modal_radius;
|
||||
border-right-width: 0 !important;
|
||||
//fixme: can't have non uniform borders :(
|
||||
border-top-left-radius:0 !important;
|
||||
border-bottom-left-radius:0 !important;
|
||||
|
||||
&:rtl {
|
||||
border-radius: 0 $modal_radius $modal_radius 0;
|
||||
border-left-width: 0 !important;
|
||||
}
|
||||
|
||||
// drag and drop indicator
|
||||
.placeholder {
|
||||
background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
|
||||
background-size: contain;
|
||||
height: 24px;
|
||||
}
|
||||
}
|
||||
|
||||
// selected indicator
|
||||
.workspace-thumbnail-indicator {
|
||||
border: 3px solid $selected_bg_color;
|
||||
border-radius: 3px;
|
||||
padding: 0px;
|
||||
// background-color: transparentize($selected_bg_color, 0.9);
|
||||
}
|
@ -0,0 +1,28 @@
|
||||
/* Workspace pager */
|
||||
|
||||
// thumbnails in overview
|
||||
.workspace-thumbnails {
|
||||
visible-width: 32px; //amount visible before hover
|
||||
spacing: $base_spacing;
|
||||
padding: $base_padding;
|
||||
|
||||
.workspace-thumbnail {
|
||||
@extend %overview_panel;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
// drag and drop indicator
|
||||
.placeholder {
|
||||
background-image: url("resource:///org/gnome/shell/theme/workspace-placeholder.svg");
|
||||
background-size: contain;
|
||||
width: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
// selected indicator
|
||||
.workspace-thumbnail-indicator {
|
||||
border: 3px solid $selected_bg_color;
|
||||
border-radius: 3px;
|
||||
padding: 0px;
|
||||
// background-color: transparentize($selected_bg_color, 0.9);
|
||||
}
|
343
data/theme/gnome-shell-start.svg
Normal file
@ -0,0 +1,343 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
|
||||
id="svg8"
|
||||
version="1.1"
|
||||
viewBox="0 0 600 400"
|
||||
height="400"
|
||||
width="600"
|
||||
sodipodi:docname="gnome-shell-start.svg">
|
||||
<defs
|
||||
id="defs2">
|
||||
<linearGradient
|
||||
id="a">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#eef4fc"
|
||||
id="stop3"
|
||||
style="stop-color:#b2cdf1;stop-opacity:1" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#fff"
|
||||
id="stop5" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient10562"
|
||||
id="linearGradient10564"
|
||||
x1="-1179.9999"
|
||||
y1="1314.5198"
|
||||
x2="-940.00006"
|
||||
y2="1314.5198"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3993149,0,0,1.3993149,1306.25,-919.42736)" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient10562">
|
||||
<stop
|
||||
style="stop-color:#3580e4;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop10558" />
|
||||
<stop
|
||||
style="stop-color:#8abfdd;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop10560" />
|
||||
</linearGradient>
|
||||
<clipPath
|
||||
id="e-3"
|
||||
clipPathUnits="userSpaceOnUse">
|
||||
<path
|
||||
d="m 65,177 c -18.502,0 -33.5,14.998 -33.5,33.5 0.008,7.371 4.131,15.807 11.388,23.526 l 12.617,13.171 H 75.02 l 12.137,-13.245 c 6.636,-7.059 11.33,-16.117 11.344,-23.452 0,-18.502 -14.998,-33.5 -33.5,-33.5 z"
|
||||
style="marker:none"
|
||||
fill="#ffffff"
|
||||
stroke-width="2"
|
||||
id="path34-6" />
|
||||
</clipPath>
|
||||
<radialGradient
|
||||
r="33.5"
|
||||
fy="48.405998"
|
||||
fx="79.091003"
|
||||
cy="48.405998"
|
||||
cx="79.091003"
|
||||
gradientTransform="matrix(0.00476,1.62228,-1.43419,0.00422,141.702,-82.047)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="f-7"
|
||||
xlink:href="#b" />
|
||||
<linearGradient
|
||||
id="b">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#fff"
|
||||
id="stop11" />
|
||||
<stop
|
||||
offset=".519"
|
||||
stop-color="#fff"
|
||||
id="stop13" />
|
||||
<stop
|
||||
offset=".734"
|
||||
stop-color="#cfcfcf"
|
||||
id="stop15" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#dcdcdc"
|
||||
id="stop17" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
r="12"
|
||||
fy="54.102001"
|
||||
fx="71.473999"
|
||||
cy="54.102001"
|
||||
cx="71.473999"
|
||||
gradientTransform="matrix(4.50607,0,0,4.76661,-259.306,-59.706)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="g-2"
|
||||
xlink:href="#c" />
|
||||
<linearGradient
|
||||
id="c">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#ed686f"
|
||||
id="stop20" />
|
||||
<stop
|
||||
offset=".865"
|
||||
stop-color="#a51d2d"
|
||||
id="stop22" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#e01b24"
|
||||
id="stop24" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
r="14.583"
|
||||
fy="49.777"
|
||||
fx="40.152"
|
||||
cy="49.777"
|
||||
cx="40.152"
|
||||
gradientTransform="matrix(0.87016,4.27869,-2.56693,0.52204,148.394,-163.306)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="h-7"
|
||||
xlink:href="#d" />
|
||||
<linearGradient
|
||||
id="d">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#ed686f"
|
||||
id="stop27" />
|
||||
<stop
|
||||
offset=".911"
|
||||
stop-color="#a51d2d"
|
||||
id="stop29" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#e01b24"
|
||||
id="stop31" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
r="14.583"
|
||||
fy="49.777"
|
||||
fx="40.152"
|
||||
cy="49.777"
|
||||
cx="40.152"
|
||||
gradientTransform="matrix(0.87016,4.27869,-2.56693,0.52204,148.394,-163.306)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="i-6"
|
||||
xlink:href="#d" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient860"
|
||||
id="linearGradient22"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-1.575111,0,0,1.575111,1217.8748,47.173672)"
|
||||
x1="85"
|
||||
y1="107.162"
|
||||
x2="85"
|
||||
y2="86" />
|
||||
<linearGradient
|
||||
id="linearGradient860">
|
||||
<stop
|
||||
offset="0"
|
||||
stop-color="#eef4fc"
|
||||
id="stop856"
|
||||
style="stop-color:#c5dcf7;stop-opacity:1" />
|
||||
<stop
|
||||
offset="1"
|
||||
stop-color="#fff"
|
||||
id="stop858" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient860"
|
||||
id="linearGradient24"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(-2.1158457,0,0,2.1158457,1459.4994,-118.92278)"
|
||||
x1="85"
|
||||
y1="110.30392"
|
||||
x2="85"
|
||||
y2="86.986084" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient860"
|
||||
id="linearGradient23"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.5463767,0,0,1.5463767,655.03375,-16.075361)"
|
||||
x1="85"
|
||||
y1="107.162"
|
||||
x2="85"
|
||||
y2="82.13472" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
units="px"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
showgrid="false"
|
||||
inkscape:document-rotation="0"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:document-units="px"
|
||||
inkscape:cy="75.603256"
|
||||
inkscape:cx="199.00314"
|
||||
inkscape:zoom="0.98994949"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:pageopacity="0"
|
||||
borderopacity="1"
|
||||
bordercolor="#383838"
|
||||
pagecolor="#1f1f1f"
|
||||
id="base"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1011"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="0"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:object-paths="true"
|
||||
inkscape:snap-intersection-paths="true"
|
||||
inkscape:snap-smooth-nodes="true"
|
||||
inkscape:snap-midpoints="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid900" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata5">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Notice" />
|
||||
<cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Attribution" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
id="layer1"
|
||||
inkscape:groupmode="layer"
|
||||
inkscape:label="Layer 1"
|
||||
transform="translate(-620,9.4371882)">
|
||||
<g
|
||||
id="g4043"
|
||||
transform="translate(-15.793175)">
|
||||
<circle
|
||||
style="fill:url(#linearGradient10564);fill-opacity:1;stroke:none;stroke-width:3.66905;stroke-linecap:round;stroke-linejoin:round"
|
||||
id="path10517"
|
||||
cx="-177.02397"
|
||||
cy="920"
|
||||
r="167.91774"
|
||||
transform="rotate(-90)" />
|
||||
<path
|
||||
d="m 1066.6646,147.98131 c 12.3048,0.0174 23.474,7.19166 28.6008,18.37784 a 23.631877,23.631877 0 0 1 10.7762,-2.62748 c 12.4288,0.0178 22.7209,9.65384 23.5474,22.05492 h 0.08 c 8.6991,0 15.7508,7.05171 15.7508,15.75083 0,8.69911 -7.0522,15.75083 -15.7513,15.75083 h -88.2056 a 18.901933,18.901933 0 0 1 -18.9019,-18.901 18.901933,18.901933 0 0 1 12.6566,-17.81853 33.12417,33.12417 0 0 1 -0.056,-1.08246 c 0,-17.39824 14.1038,-31.50213 31.5025,-31.50213 z"
|
||||
id="path10"
|
||||
style="fill:url(#linearGradient22);stroke-width:0.577558" />
|
||||
<g
|
||||
id="g245"
|
||||
transform="matrix(1.5161629,0,0,1.5161629,396.40481,-143.42807)">
|
||||
<g
|
||||
id="g126"
|
||||
transform="matrix(0.75000161,0,0,0.75000161,154.45946,111.99828)">
|
||||
<g
|
||||
id="g265">
|
||||
<g
|
||||
transform="matrix(3.12129,0,0,2.9344,91.063695,-499.94397)"
|
||||
clip-path="url(#e-3)"
|
||||
id="g47-0">
|
||||
<path
|
||||
transform="translate(-8,156)"
|
||||
d="M 73,21 C 54.498,21 39.5,35.998 39.5,54.5 39.508,61.871 43,68.922 46.44,74.879 L 58,98 H 88 L 99.605,74.79 C 103,68.91 106.485,61.835 106.5,54.5 106.5,35.998 91.502,21 73,21 Z"
|
||||
style="fill:url(#f-7);marker:none"
|
||||
fill="url(#f)"
|
||||
id="path39-6" />
|
||||
<path
|
||||
d="m 64,177 c 0,0 -18.332,12.132 -18.332,30.989 0,14.571 16.174,46.011 16.174,46.011 H 67 c 0,0 1.333,-31.44 1.333,-46.011 C 68.333,189.132 64,177 64,177 Z"
|
||||
fill="url(#g)"
|
||||
id="path41-2"
|
||||
style="fill:url(#g-2)" />
|
||||
<path
|
||||
transform="translate(-8,156)"
|
||||
d="m 71.983,21.106 c -8.207,0.147 -16.328,3.285 -22.5,8.695 -6.174,5.409 -10.35,13.047 -11.574,21.163 -1.24,8.225 0.567,16.874 4.995,23.915 L 61.902,98 h 6.432 L 55.002,81.27 C 50.702,75.875 46.53,70.2 44.406,63.636 42.283,57.072 42.24,49.836 44.409,43.288 A 32.824,32.824 0 0 1 54.925,28.13 32.824,32.824 0 0 1 71.983,21.105 Z"
|
||||
fill="url(#h)"
|
||||
id="path43-6"
|
||||
style="fill:url(#h-7)" />
|
||||
<path
|
||||
transform="matrix(-1,0,0,1,137.16,155.823)"
|
||||
d="M 73.003,21.303 C 65.294,19.756 57.033,21.149 50.257,25.138 43.481,29.127 38.255,35.675 35.867,43.167 A 32.484,32.484 0 0 0 35.11,59.972 32.484,32.484 0 0 0 42.904,74.879 L 54.11,98 H 67.493 L 54.16,74.356 C 51.292,69.269 48.603,63.95 47.733,58.175 46.863,52.4 47.769,46.404 50.107,41.052 54.28,31.502 62.943,24.03 73.002,21.304 Z"
|
||||
fill="url(#i)"
|
||||
id="path45-1"
|
||||
style="fill:url(#i-6)" />
|
||||
</g>
|
||||
<path
|
||||
style="marker:none"
|
||||
d="m 271.0607,256.22128 v 19.397 a 9.702,9.702 0 0 0 9.724,9.726 h 26.326 c 5.388,0 8.594,-4.457 9.725,-9.726 v -19.397 z"
|
||||
fill="#e5a50a"
|
||||
id="path49-8" />
|
||||
<path
|
||||
style="marker:none"
|
||||
d="m 271.0607,252.06028 v 19.397 a 9.702,9.702 0 0 0 9.724,9.724 h 26.326 c 5.388,0 8.594,-4.455 9.725,-9.724 v -19.397 z"
|
||||
fill="#e5a50a"
|
||||
id="path51-7" />
|
||||
<path
|
||||
style="marker:none"
|
||||
d="m 300.1907,252.06028 v 29.121 h 6.92 c 5.388,0 8.594,-4.455 9.725,-9.724 v -19.397 z"
|
||||
fill="#f3af0b"
|
||||
id="path53-9" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
style="font-variation-settings:normal;fill:url(#linearGradient24);fill-opacity:1;stroke-width:0.822282"
|
||||
d="m 1051.0577,24.011554 a 37.111799,37.111799 0 0 0 -36.9465,35.120895 c -13.3251,2.089947 -23.45686,13.564137 -23.45686,27.494149 0,15.421302 12.41476,27.836692 27.83666,27.836692 h 72.3273 c 11.9284,0 21.5316,-9.60251 21.5316,-21.530902 0,-11.928386 -9.6032,-21.532163 -21.5316,-21.532163 h -3.9868 a 37.111799,37.111799 0 0 0 1.4509,-10.27624 37.111799,37.111799 0 0 0 -37.1118,-37.111798 37.111799,37.111799 0 0 0 -0.1123,0 z"
|
||||
id="path12" />
|
||||
<path
|
||||
d="m 803.48555,82.893284 c -12.0805,0.0171 -23.046,7.06046 -28.0791,18.042576 a 23.200767,23.200767 0 0 0 -10.5796,-2.579546 c -12.2021,0.0175 -22.3064,9.477716 -23.1179,21.652566 h -0.079 c -8.5404,0 -15.4634,6.92307 -15.4634,15.46349 0,8.54042 6.9235,15.46349 15.4639,15.46349 h 86.5965 a 18.55711,18.55711 0 0 0 18.5571,-18.55619 18.55711,18.55711 0 0 0 -12.4257,-17.49347 32.519894,32.519894 0 0 0 0.055,-1.06272 c 0,-17.080836 -13.8466,-30.927426 -30.9279,-30.927426 z"
|
||||
id="path21"
|
||||
style="fill:url(#linearGradient23);fill-opacity:1;stroke-width:0.999999" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 12 KiB |
@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="keyboard-key" width="24" height="24">
|
||||
<path overflow="visible" font-weight="400" style="line-height:normal;-inkscape-font-specification:'Bitstream Vera Sans';text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none" d="M10 23H8.5c-.398 0-.796-.14-1.079-.422L.345 15.5l7.078-7.078C7.704 8.14 8.102 8 8.5 8H10v1.5c0 .398-.14.796-.422 1.079L4.657 15.5l4.921 4.922c.282.282.422.68.422 1.078z" color="#000" font-family="Bitstream Vera Sans" fill="#fff"/>
|
||||
<path overflow="visible" d="M22 1.5v9a5 5 0 01-5 5H4" style="marker:none" color="#000" fill="none" stroke="#fff" stroke-width="3"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 676 B |
@ -1,3 +0,0 @@
|
||||
<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg" width="24" height="24">
|
||||
<path d="M12 20.875L.562 9.438C.171 9.046 0 8.51 0 8V6h2c.511 0 1.046.17 1.438.563L12 15.125l8.563-8.562C20.953 6.17 21.488 6 22 6h2v2c0 .511-.17 1.046-.563 1.438z" fill="#e5e5e5"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 278 B |
@ -1,5 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" class="keyboard-key" width="24" height="24">
|
||||
<path d="M4.5 2v21" fill="#e5e5e5" fill-rule="evenodd" stroke="#e5e5e5" stroke-width="3"/>
|
||||
<path d="M4 12h6l2 4h8V6h-6l-2-4H4z" fill="none" stroke="#e5e5e5" stroke-width="2" stroke-linejoin="round"/>
|
||||
<path d="M4 12h6l2 4h8V6h-6l-2-4H4z" fill="#e5e5e5" fill-rule="evenodd"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 378 B |
@ -1,3 +0,0 @@
|
||||
<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg" width="24" height="24">
|
||||
<path style="marker:none" d="M12 0L2 12h6v6h8v-6h6zM8 21v3h8v-3z" color="#000" overflow="visible" fill="#3584e4"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 211 B |
@ -1,3 +0,0 @@
|
||||
<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg" width="24" height="24">
|
||||
<path d="M8 22v-8H2L12 2l10 12h-6v8z" style="marker:none" color="#000" overflow="visible" fill="#3584e4"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 203 B |
@ -1,3 +0,0 @@
|
||||
<svg class="keyboard-key" xmlns="http://www.w3.org/2000/svg" width="24" height="24">
|
||||
<path d="M8 22v-8H2L12 2l10 12h-6v8z" style="marker:none" color="#000" overflow="visible" fill="#bebebe"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 203 B |