Compare commits
765
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6e66faf8f | ||
|
|
ee0bb2c636 | ||
|
|
1edb245e85 | ||
|
|
6bee46bf1a | ||
|
|
de48d02c62 | ||
|
|
ac3e095e27 | ||
|
|
95a58358f8 | ||
|
|
cc72a34973 | ||
|
|
7a010d5a72 | ||
|
|
9e4b7488b3 | ||
|
|
18cf40a521 | ||
|
|
ed6d806617 | ||
|
|
f4347d240a | ||
|
|
77b35dcda3 | ||
|
|
6ebb41b1e8 | ||
|
|
11cb22bd24 | ||
|
|
6fc3f5cea2 | ||
|
|
c8484e77d3 | ||
|
|
98c5d4a739 | ||
|
|
4f5e421539 | ||
|
|
72868ac7c5 | ||
|
|
5dea503cbd | ||
|
|
81b8ad4499 | ||
|
|
01d3d8fd6d | ||
|
|
47c2834ffa | ||
|
|
8f8292afb3 | ||
|
|
d505f75c9b | ||
|
|
a8a2729531 | ||
|
|
aeee81a82c | ||
|
|
9f88e98d1b | ||
|
|
4b7055d0da | ||
|
|
563d7770d3 | ||
|
|
d62b58b1d9 | ||
|
|
4f78bb96a7 | ||
|
|
c94678e2be | ||
|
|
3c515d42f2 | ||
|
|
9306ee7a5d | ||
|
|
e8c8c7d940 | ||
|
|
871c9c39dc | ||
|
|
fcefdc3271 | ||
|
|
bb5869f8df | ||
|
|
faaa66eb3f | ||
|
|
14c60eb954 | ||
|
|
0234cd74f7 | ||
|
|
f637e81c8c | ||
|
|
ea82830a9f | ||
|
|
8b62c38e20 | ||
|
|
4667b4704d | ||
|
|
fe60614b41 | ||
|
|
1e833f542f | ||
|
|
faabfa11c2 | ||
|
|
ecc955b4cd | ||
|
|
7e5f7eb0aa | ||
|
|
1c3407c05f | ||
|
|
7a017c1e76 | ||
|
|
959782835d | ||
|
|
412762ae9d | ||
|
|
6e4f4126b6 | ||
|
|
5dc212d1e5 | ||
|
|
26fb856ffc | ||
|
|
9d2b15ba26 | ||
|
|
28cdc1df1a | ||
|
|
b2455f0ecd | ||
|
|
a02c9b6589 | ||
|
|
18e18f240f | ||
|
|
0c501f84b9 | ||
|
|
96bdc7c74a | ||
|
|
812b96a571 | ||
|
|
a51145f9db | ||
|
|
c6d5ea5934 | ||
|
|
36fc042e27 | ||
|
|
54f39318ba | ||
|
|
cbd5c2438d | ||
|
|
29e032d89c | ||
|
|
72a9696249 | ||
|
|
9ca89cdf63 | ||
|
|
047f939b63 | ||
|
|
3d693372ad | ||
|
|
a33802d3e5 | ||
|
|
573aba17d7 | ||
|
|
227c900d1c | ||
|
|
49b304f3b7 | ||
|
|
ac77f0b879 | ||
|
|
54e02b1925 | ||
|
|
1489e42c46 | ||
|
|
684004bd89 | ||
|
|
d483244ecb | ||
|
|
8e39e0d363 | ||
|
|
2762830b10 | ||
|
|
df1df4b8e1 | ||
|
|
210e86641b | ||
|
|
2117c42d74 | ||
|
|
80e68be9fa | ||
|
|
06af10e0d3 | ||
|
|
95b8aa38cb | ||
|
|
b010bff5d9 | ||
|
|
a8b73861a6 | ||
|
|
bd002fa96d | ||
|
|
5712dd05d9 | ||
|
|
694b0552c2 | ||
|
|
d9f5726d45 | ||
|
|
a8a49e3c65 | ||
|
|
bfe26eaf84 | ||
|
|
60a08debff | ||
|
|
132bd9259e | ||
|
|
5eb4dcf6bf | ||
|
|
5edffcd859 | ||
|
|
295fb67225 | ||
|
|
a2c271d677 | ||
|
|
3c5a56b440 | ||
|
|
725cf83551 | ||
|
|
f91275ffd2 | ||
|
|
f0e46f4b12 | ||
|
|
57f7f21ecb | ||
|
|
9f673f27ef | ||
|
|
08db193b31 | ||
|
|
0be8b10995 | ||
|
|
b35df9062c | ||
|
|
f6f34c6341 | ||
|
|
22e4ca8925 | ||
|
|
4fd2be744e | ||
|
|
6901f6187d | ||
|
|
31e48437ec | ||
|
|
78f1bb3cc9 | ||
|
|
14cdb5fa16 | ||
|
|
533cd07cfd | ||
|
|
7232118978 | ||
|
|
7a1286ec1c | ||
|
|
a51a52268e | ||
|
|
6db43f9603 | ||
|
|
f7b5836c75 | ||
|
|
ffb2b27477 | ||
|
|
dd3c524c49 | ||
|
|
b92973df00 | ||
|
|
0b7e8f9720 | ||
|
|
f6342d3b52 | ||
|
|
013b3fb73c | ||
|
|
69527857f8 | ||
|
|
e0128a7817 | ||
|
|
62628b25c6 | ||
|
|
3f89b57c96 | ||
|
|
01537b401f | ||
|
|
30e846274c | ||
|
|
d340922fea | ||
|
|
8dd8d6f561 | ||
|
|
cdaa837d48 | ||
|
|
7576b5c602 | ||
|
|
fac3d8b8c4 | ||
|
|
cecf778381 | ||
|
|
0663a989f4 | ||
|
|
7b2d9d0b73 | ||
|
|
f220e11bce | ||
|
|
af4165d3e5 | ||
|
|
c82ca68c03 | ||
|
|
e2ee6bacd0 | ||
|
|
bc6c24fc4e | ||
|
|
58f72a073d | ||
|
|
d8b526a715 | ||
|
|
a5b6871562 | ||
|
|
deb6031381 | ||
|
|
486cb59aff | ||
|
|
de9a3df7bd | ||
|
|
02e5029eb6 | ||
|
|
d98153ba9e | ||
|
|
4d913adcec | ||
|
|
5729d0b84a | ||
|
|
4a26cecd7d | ||
|
|
e5a3fa4cfa | ||
|
|
6268e82f35 | ||
|
|
348a5777d3 | ||
|
|
594af0c412 | ||
|
|
d6a81150b6 | ||
|
|
38b3413e94 | ||
|
|
762ec75601 | ||
|
|
6da9a39959 | ||
|
|
2938a1a312 | ||
|
|
eb517c8517 | ||
|
|
a79d2afb2d | ||
|
|
c83a75766c | ||
|
|
c016fb531c | ||
|
|
1615745a1f | ||
|
|
dc50382d22 | ||
|
|
a5b84379f4 | ||
|
|
d168261fa5 | ||
|
|
db131fc7da | ||
|
|
e83760388f | ||
|
|
396f4ef566 | ||
|
|
c26b4803c3 | ||
|
|
4ccf12e988 | ||
|
|
82d19a5433 | ||
|
|
74121fce78 | ||
|
|
0a7491d747 | ||
|
|
68bf3e7ff7 | ||
|
|
93dd8f535d | ||
|
|
0b993525f5 | ||
|
|
5dfdb68c75 | ||
|
|
443d1dc42b | ||
|
|
34f6c9514a | ||
|
|
2f2619403a | ||
|
|
d25cc847f3 | ||
|
|
769ad859e6 | ||
|
|
7ba0e5b42c | ||
|
|
e3e39728ce | ||
|
|
76dfb8ef31 | ||
|
|
544cf566b5 | ||
|
|
da88313488 | ||
|
|
2aa0720e93 | ||
|
|
80c6656c4f | ||
|
|
be536ee32e | ||
|
|
339e06634f | ||
|
|
ff9527ea52 | ||
|
|
201339345d | ||
|
|
6ee4205f1e | ||
|
|
2307e2cabe | ||
|
|
4becaa28ce | ||
|
|
a5a3523df8 | ||
|
|
cc45bd63ab | ||
|
|
757bcee4e2 | ||
|
|
1340b209f9 | ||
|
|
8f362d57fe | ||
|
|
d0b9c9b54a | ||
|
|
6284b0c489 | ||
|
|
06acd9ff25 | ||
|
|
1a1d45d9e4 | ||
|
|
1d3775b3d1 | ||
|
|
8a211f98fd | ||
|
|
d6633397b7 | ||
|
|
0d06cc685e | ||
|
|
8de89a44a4 | ||
|
|
f3b1f10f6c | ||
|
|
15c83db793 | ||
|
|
cc021589b8 | ||
|
|
2bced47762 | ||
|
|
7ba9b87064 | ||
|
|
a642c439ce | ||
|
|
d421bbfa60 | ||
|
|
3539ce1139 | ||
|
|
5e316d37cb | ||
|
|
28dbb47937 | ||
|
|
619de9d5ee | ||
|
|
561b8aeb03 | ||
|
|
94b907f46d | ||
|
|
1e04622eb4 | ||
|
|
519269be9d | ||
|
|
7d6670ce3c | ||
|
|
4286fd1bcc | ||
|
|
3bb0897bc1 | ||
|
|
50bd597baa | ||
|
|
12eedcf6f7 | ||
|
|
4403b54fbc | ||
|
|
08d382facc | ||
|
|
e2369147b1 | ||
|
|
5e559c4444 | ||
|
|
e30762ea43 | ||
|
|
1fa4a078d8 | ||
|
|
3e87fa8aa5 | ||
|
|
e52ca120c4 | ||
|
|
3eadbba8a1 | ||
|
|
41f9451070 | ||
|
|
d9ae9a023a | ||
|
|
d2f5bfdbfd | ||
|
|
b4a1953372 | ||
|
|
d6648b0b5c | ||
|
|
96a1de92db | ||
|
|
861e5c0be6 | ||
|
|
bf86b84d6c | ||
|
|
cc2f46b837 | ||
|
|
605dd02217 | ||
|
|
b33a62f2dc | ||
|
|
8a320eb0a1 | ||
|
|
83c4ced407 | ||
|
|
e094dead91 | ||
|
|
6cdf86b6b3 | ||
|
|
3e8bbb07ea | ||
|
|
e3ddd8e7d0 | ||
|
|
aa67982129 | ||
|
|
8aa645ae5d | ||
|
|
20540cb843 | ||
|
|
d338930d69 | ||
|
|
35c1763792 | ||
|
|
7a87bdcb1b | ||
|
|
50b6bd1884 | ||
|
|
db853d9023 | ||
|
|
5be44705f7 | ||
|
|
fdfa46099b | ||
|
|
f987e5f13d | ||
|
|
c766230118 | ||
|
|
bb2b1204b4 | ||
|
|
cf3690a434 | ||
|
|
7062acf10f | ||
|
|
7ace9c4d51 | ||
|
|
23887ce2a3 | ||
|
|
e8b8677bfe | ||
|
|
3603bc7c6a | ||
|
|
1e44941db6 | ||
|
|
f71da9e843 | ||
|
|
1b4a20a8af | ||
|
|
d8e179ed09 | ||
|
|
8016cf7ae9 | ||
|
|
7774426eb9 | ||
|
|
9fa522c29a | ||
|
|
b92295ad2c | ||
|
|
d7c8a5d193 | ||
|
|
0d8d6dceb0 | ||
|
|
8a5e793b3d | ||
|
|
8fcbed6481 | ||
|
|
ac2ed286e1 | ||
|
|
3c3c1f702d | ||
|
|
c33be29f56 | ||
|
|
d8ae2dcba2 | ||
|
|
3b14c0a04e | ||
|
|
0e3d6465eb | ||
|
|
d381a0b89b | ||
|
|
5df0fa145b | ||
|
|
f0ff0e1400 | ||
|
|
53f5a92dc8 | ||
|
|
d5c31273ee | ||
|
|
22ea58a849 | ||
|
|
67d96993ce | ||
|
|
96dd4f9835 | ||
|
|
3bef6be7c1 | ||
|
|
b83d38a72e | ||
|
|
5b73960f34 | ||
|
|
505a7f4ac9 | ||
|
|
e8acfb2b51 | ||
|
|
dcd5dc4c7f | ||
|
|
2702cdf889 | ||
|
|
669e7c32a2 | ||
|
|
294eb0feb5 | ||
|
|
a7ddbd0d53 | ||
|
|
c745dd6362 | ||
|
|
a4cf9f956e | ||
|
|
02aa68b24a | ||
|
|
db1342e5ff | ||
|
|
86c5057d62 | ||
|
|
779dea8408 | ||
|
|
544f374e44 | ||
|
|
b55d783cc2 | ||
|
|
9f25047e24 | ||
|
|
fb66afbf71 | ||
|
|
365fa6abc9 | ||
|
|
d7a824f35f | ||
|
|
0d8e412220 | ||
|
|
991f6ef508 | ||
|
|
37f03f5e2e | ||
|
|
b4a4ff0a06 | ||
|
|
de8876bd5e | ||
|
|
5ad272e628 | ||
|
|
3b22582752 | ||
|
|
4e731e1dce | ||
|
|
eee341e907 | ||
|
|
aad96bb1c4 | ||
|
|
50d3ee5703 | ||
|
|
08dfb78815 | ||
|
|
6949a5d075 | ||
|
|
893d3b0473 | ||
|
|
f5128e13f2 | ||
|
|
8318ea919f | ||
|
|
bde20e78f0 | ||
|
|
02db9525e7 | ||
|
|
8d4586bd57 | ||
|
|
8872659621 | ||
|
|
46c7677643 | ||
|
|
e734fcbd21 | ||
|
|
435879c121 | ||
|
|
4b9f4b1b63 | ||
|
|
b64c93897b | ||
|
|
a7939f18d1 | ||
|
|
15efbc29be | ||
|
|
6e5466a4ec | ||
|
|
737c897624 | ||
|
|
c317a876dd | ||
|
|
72c67aacc4 | ||
|
|
ba7e3fc0b5 | ||
|
|
61cf679b8c | ||
|
|
ba55bacab4 | ||
|
|
9445bd2205 | ||
|
|
ed81650f55 | ||
|
|
1276a880de | ||
|
|
6ed1f45ffd | ||
|
|
81be1d2e2f | ||
|
|
52abf74088 | ||
|
|
623bc6dbf3 | ||
|
|
04b23ec68f | ||
|
|
584016c291 | ||
|
|
b65f362f0d | ||
|
|
4e948b2b48 | ||
|
|
b6bce374ad | ||
|
|
6cbd8abdca | ||
|
|
5947f38421 | ||
|
|
41664b152c | ||
|
|
7c30f35b12 | ||
|
|
9e976f06b4 | ||
|
|
369801dbeb | ||
|
|
2c3c7e8a73 | ||
|
|
29b24e391a | ||
|
|
0cdb80a9e0 | ||
|
|
bb8f34de83 | ||
|
|
6c98658fe1 | ||
|
|
a8907d6fb1 | ||
|
|
4851a66c57 | ||
|
|
1d5c2091cc | ||
|
|
e5abcaf7c8 | ||
|
|
d5733eed90 | ||
|
|
8957c277a1 | ||
|
|
a22cc0dc4e | ||
|
|
3f06c2bc04 | ||
|
|
9e38b091a9 | ||
|
|
62d7b883f0 | ||
|
|
e56a9c5681 | ||
|
|
03aa180472 | ||
|
|
bbb0775e1a | ||
|
|
c41d285131 | ||
|
|
cc63876b7e | ||
|
|
08769ec0b6 | ||
|
|
5615c21797 | ||
|
|
48d2b4c902 | ||
|
|
a43db7233d | ||
|
|
276f6a1c6f | ||
|
|
e161e32b63 | ||
|
|
e31a351c56 | ||
|
|
f728c0172b | ||
|
|
136644d45e | ||
|
|
24308612fd | ||
|
|
1ae3e89b57 | ||
|
|
8b9be8f120 | ||
|
|
c1bb6ca349 | ||
|
|
25143c92f4 | ||
|
|
c4ab7e9bbf | ||
|
|
1d082fc026 | ||
|
|
75919911f5 | ||
|
|
bf1f129854 | ||
|
|
59bcc0a6a7 | ||
|
|
61a54add2e | ||
|
|
17d07239c1 | ||
|
|
bf8a31a6c8 | ||
|
|
1d2fdf5c19 | ||
|
|
f6ada58f5f | ||
|
|
ebfbc397be | ||
|
|
02290e8bba | ||
|
|
1537ac39d4 | ||
|
|
e39c3b4561 | ||
|
|
80030687d9 | ||
|
|
3859c09318 | ||
|
|
a41cd3c19a | ||
|
|
fcbdeba8c5 | ||
|
|
116f074e3b | ||
|
|
9a78c7e4f4 | ||
|
|
9a2d6d68ff | ||
|
|
bc49778100 | ||
|
|
67d2e2f623 | ||
|
|
eff625fcb8 | ||
|
|
3742f79d4b | ||
|
|
b6a3503f5e | ||
|
|
f449ab31c9 | ||
|
|
920b925b12 | ||
|
|
ad5e70b03b | ||
|
|
7beebc11f6 | ||
|
|
1391acd71f | ||
|
|
761fdf1036 | ||
|
|
7f2c39cdb2 | ||
|
|
b5ff860118 | ||
|
|
aeaba3f379 | ||
|
|
f96943a4dc | ||
|
|
60ad2e37ff | ||
|
|
8c53fd9590 | ||
|
|
867ace0b0a | ||
|
|
a74862e745 | ||
|
|
c16f9828bd | ||
|
|
608a8b1639 | ||
|
|
7bc9b282a2 | ||
|
|
9db7b96f24 | ||
|
|
c87cfc822a | ||
|
|
b03d1b9cc7 | ||
|
|
3ce0485742 | ||
|
|
100651a74c | ||
|
|
ff94c5a143 | ||
|
|
81f999f761 | ||
|
|
17b5c0400a | ||
|
|
ac937b9549 | ||
|
|
0c223de045 | ||
|
|
564235d44c | ||
|
|
92a2361306 | ||
|
|
9f27654729 | ||
|
|
f4013c7a5c | ||
|
|
9e7eff4a3e | ||
|
|
5b2bdd138a | ||
|
|
90d3c5c51d | ||
|
|
b00e531626 | ||
|
|
b1c1b01184 | ||
|
|
739b1e11a0 | ||
|
|
a3541ff0d9 | ||
|
|
8fb5476a1c | ||
|
|
fc8a46f15a | ||
|
|
2e21f7cf72 | ||
|
|
a317d79016 | ||
|
|
4722b89cc3 | ||
|
|
5a4b71ba90 | ||
|
|
a6ee142f21 | ||
|
|
35427ed4f1 | ||
|
|
bce63d3168 | ||
|
|
0426d1d8d5 | ||
|
|
f9aaa732b2 | ||
|
|
7b82c5e12b | ||
|
|
5138e30a2a | ||
|
|
a69fa591da | ||
|
|
7f2a3eb2ca | ||
|
|
db305687d5 | ||
|
|
f527fe3774 | ||
|
|
e45cc8cdc0 | ||
|
|
3c8edd7b3a | ||
|
|
855832d08b | ||
|
|
9f07981fe5 | ||
|
|
a27d6d3c7e | ||
|
|
2a4da355f1 | ||
|
|
ca47fbc16b | ||
|
|
5a3c3de1a4 | ||
|
|
ff9062ac17 | ||
|
|
9486fc3f98 | ||
|
|
28e873b5e0 | ||
|
|
39d532ca3f | ||
|
|
07a602e404 | ||
|
|
a448e48cdb | ||
|
|
092a3ee21a | ||
|
|
88cfcdbd2e | ||
|
|
f3378c7b6f | ||
|
|
50545c1486 | ||
|
|
ff678d06ea | ||
|
|
6345449d50 | ||
|
|
8951266183 | ||
|
|
6911624d4d | ||
|
|
da6efff220 | ||
|
|
cc99aff03b | ||
|
|
cdc5210c25 | ||
|
|
4838833d72 | ||
|
|
0fad184fda | ||
|
|
6d8c96d665 | ||
|
|
e6c1a3b052 | ||
|
|
71add2e391 | ||
|
|
61abd2a48f | ||
|
|
6ba2f49866 | ||
|
|
2fd2cf9074 | ||
|
|
d0d40f248d | ||
|
|
cc2a2ca153 | ||
|
|
2307b639dd | ||
|
|
1e0ea36a81 | ||
|
|
4e1250a6ba | ||
|
|
56d2852004 | ||
|
|
3fa8edcb1a | ||
|
|
edb14ea03c | ||
|
|
a2f554bc1e | ||
|
|
a289bbfb93 | ||
|
|
5486c2040d | ||
|
|
84c95be03f | ||
|
|
d9e6c6c4c5 | ||
|
|
25559e758c | ||
|
|
89ce4aee4a | ||
|
|
ba9d2e7919 | ||
|
|
9d0c742f34 | ||
|
|
1e69961bc7 | ||
|
|
e4ddc4c14e | ||
|
|
be149bab3d | ||
|
|
1b4bbe19e3 | ||
|
|
2e6b602a04 | ||
|
|
5b9012152c | ||
|
|
efd20bb4f7 | ||
|
|
7d595e4774 | ||
|
|
7b4c3085c0 | ||
|
|
7045a5dcea | ||
|
|
777bae87b5 | ||
|
|
06ae867c2f | ||
|
|
77ebd3d202 | ||
|
|
227f999001 | ||
|
|
e37782c2ce | ||
|
|
f210be5ab4 | ||
|
|
12b1a0639e | ||
|
|
34098b871b | ||
|
|
cc2ebff0e3 | ||
|
|
7c21766dd5 | ||
|
|
965dfd2d39 | ||
|
|
49e598b4b7 | ||
|
|
40f13f3afa | ||
|
|
356e2054fa | ||
|
|
dab22e927b | ||
|
|
a1f60be674 | ||
|
|
e0ec59d30b | ||
|
|
abc1c9ef7e | ||
|
|
3e4a778978 | ||
|
|
ca85495a1c | ||
|
|
41dc03222c | ||
|
|
3cf56d8270 | ||
|
|
9436564a76 | ||
|
|
142065d58b | ||
|
|
2ffd3d95bb | ||
|
|
6b9f87dbea | ||
|
|
3b2aee92fb | ||
|
|
12dac8ee62 | ||
|
|
f8df77051b | ||
|
|
fd9c0f6be4 | ||
|
|
cf05510b0d | ||
|
|
207923a1b6 | ||
|
|
fbbcb058fa | ||
|
|
cef1736de2 | ||
|
|
da10cfc062 | ||
|
|
7cbf2533fe | ||
|
|
1a9d1c235c | ||
|
|
5c8a19f54f | ||
|
|
44fe593f8a | ||
|
|
b8d1af4e50 | ||
|
|
18f189b887 | ||
|
|
c9776c97de | ||
|
|
57a4241749 | ||
|
|
163ff997b1 | ||
|
|
449e9879ce | ||
|
|
84350c3776 | ||
|
|
91027ae9a4 | ||
|
|
9db80785a5 | ||
|
|
a876817127 | ||
|
|
3a0c70aef7 | ||
|
|
bbb6a73af1 | ||
|
|
51119ec213 | ||
|
|
2690ee46f2 | ||
|
|
bc2e456a6a | ||
|
|
b27c3719f0 | ||
|
|
147482d5e8 | ||
|
|
514403e1ba | ||
|
|
109d3aad6a | ||
|
|
15779e204d | ||
|
|
49e403f822 | ||
|
|
ffb5b76f4e | ||
|
|
b21932ffd9 | ||
|
|
46d8f1c8d9 | ||
|
|
8caffac3d7 | ||
|
|
40da5360a4 | ||
|
|
5b9f91991f | ||
|
|
a565f2d984 | ||
|
|
0b7269a4b8 | ||
|
|
c7805b4b40 | ||
|
|
e6b65be75a | ||
|
|
7043fe592c | ||
|
|
f7d35c41ae | ||
|
|
afb4942a72 | ||
|
|
4f7bd0918b | ||
|
|
fb8d34254a | ||
|
|
2a390c4c25 | ||
|
|
040fbf72e9 | ||
|
|
395e9aea3c | ||
|
|
bb3508327f | ||
|
|
068ae45f6c | ||
|
|
02ff0f658b | ||
|
|
3c14d9b524 | ||
|
|
8de00babad | ||
|
|
59768f0514 | ||
|
|
e185fe30f8 | ||
|
|
0d20be43d4 | ||
|
|
356632063c | ||
|
|
3a592ddb59 | ||
|
|
652ade33b5 | ||
|
|
05e6188921 | ||
|
|
b222ebed80 | ||
|
|
179d9b9ae1 | ||
|
|
ab7f50d2c8 | ||
|
|
51cc3c7cd1 | ||
|
|
d51f14529a | ||
|
|
563dfc3d4d | ||
|
|
3ad72a04af | ||
|
|
d43130f779 | ||
|
|
ce997ff4fd | ||
|
|
7a5d530358 | ||
|
|
dd0520f334 | ||
|
|
aab9143c13 | ||
|
|
b689ec2ef4 | ||
|
|
c9c2da444b | ||
|
|
9c931c175c | ||
|
|
39db8f1768 | ||
|
|
f7ed9ff131 | ||
|
|
4423126272 | ||
|
|
5294bc510b | ||
|
|
1b599315a2 | ||
|
|
b561655503 | ||
|
|
64923382b4 | ||
|
|
5ef6525be7 | ||
|
|
6dc066f7dd | ||
|
|
380cf61811 | ||
|
|
4624ca952e | ||
|
|
6f1475e944 | ||
|
|
22256eec46 | ||
|
|
31a5de2577 | ||
|
|
269e008541 | ||
|
|
79d866e9b5 | ||
|
|
6d4341f8a4 | ||
|
|
61dd96a29e | ||
|
|
9e2a8e0fb2 | ||
|
|
82ff7afe2b | ||
|
|
0017eaebfc | ||
|
|
fa729854b8 | ||
|
|
5644aebac7 | ||
|
|
941f5e43b4 | ||
|
|
a595407d39 | ||
|
|
60417b361e | ||
|
|
c3adf1724c | ||
|
|
435bbff3b0 | ||
|
|
706ea0dd7e | ||
|
|
e7c37a9d54 | ||
|
|
a7f66d648e | ||
|
|
013dc818e3 | ||
|
|
9430670019 | ||
|
|
67c795b610 | ||
|
|
42158401ac | ||
|
|
06a9891d77 | ||
|
|
c53e5325c3 | ||
|
|
6161d531fc | ||
|
|
ad52e75e97 | ||
|
|
2db7b6756d | ||
|
|
2f70c6c8a7 | ||
|
|
8fd8943460 | ||
|
|
695b533be1 | ||
|
|
491e9fb3e9 | ||
|
|
4d8bccc861 | ||
|
|
88b5fea2f9 | ||
|
|
91e886c564 | ||
|
|
1e8ff58d82 | ||
|
|
0b84052458 | ||
|
|
4abc92ef44 | ||
|
|
d12833afc4 | ||
|
|
8de34e23a3 | ||
|
|
3158caa1be | ||
|
|
8a6d13c416 | ||
|
|
90fe2cfb36 | ||
|
|
c91d5ebec1 | ||
|
|
5a00d5e117 | ||
|
|
1b938d9d5b | ||
|
|
62cbbef068 | ||
|
|
684547a66d | ||
|
|
261569c9fd | ||
|
|
e8d3ad369a | ||
|
|
f81ae009f9 | ||
|
|
8b954a2937 | ||
|
|
1e58f48f1d | ||
|
|
1a0e9905fb | ||
|
|
8a04a843f6 | ||
|
|
814e57fbd0 | ||
|
|
f69389a76b | ||
|
|
3f9b1357ff | ||
|
|
e0cb098823 | ||
|
|
bc470533bf | ||
|
|
84d4e7efe3 | ||
|
|
39b900243e | ||
|
|
017aedadd2 | ||
|
|
7c06399818 | ||
|
|
26646997b0 | ||
|
|
1b3f651c7e | ||
|
|
23b002adaa | ||
|
|
d9118a8653 | ||
|
|
245714aa0c | ||
|
|
2618620d04 | ||
|
|
1d3d0585a2 | ||
|
|
2e263b1cdc | ||
|
|
f4aece9488 | ||
|
|
c1928689da | ||
|
|
6972b3458d | ||
|
|
bb6634bbb0 | ||
|
|
1b2a6bdc72 | ||
|
|
901c12671e | ||
|
|
3c564fd613 |
+170
@@ -0,0 +1,170 @@
|
|||||||
|
include:
|
||||||
|
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
|
||||||
|
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- pre_review
|
||||||
|
- prepare
|
||||||
|
- review
|
||||||
|
- build
|
||||||
|
- deploy
|
||||||
|
|
||||||
|
default:
|
||||||
|
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/35:2022-02-18.0
|
||||||
|
# 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:
|
||||||
|
FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions
|
||||||
|
LINT_LOG: "eslint-report.xml"
|
||||||
|
|
||||||
|
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-extensions.fedora:34:
|
||||||
|
variables:
|
||||||
|
FDO_DISTRIBUTION_VERSION: 34
|
||||||
|
FDO_DISTRIBUTION_TAG: '2021-08-31.0'
|
||||||
|
FDO_DISTRIBUTION_PACKAGES: >
|
||||||
|
meson git gettext sassc
|
||||||
|
|
||||||
|
.prereview_req: &prereview_req
|
||||||
|
needs:
|
||||||
|
- check_commit_log
|
||||||
|
- check-merge-request
|
||||||
|
|
||||||
|
check_commit_log:
|
||||||
|
extends:
|
||||||
|
- .fdo.ci-fairy
|
||||||
|
stage: pre_review
|
||||||
|
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-extensions.fedora:34
|
||||||
|
stage: prepare
|
||||||
|
<<: *prereview_req
|
||||||
|
|
||||||
|
js_check:
|
||||||
|
stage: review
|
||||||
|
<<: *prereview_req
|
||||||
|
script:
|
||||||
|
- gjs-check-syntax
|
||||||
|
|
||||||
|
eslint:
|
||||||
|
stage: review
|
||||||
|
<<: *prereview_req
|
||||||
|
script:
|
||||||
|
- eslint -o $LINT_LOG -f junit --resolve-plugins-relative-to $(npm root -g) extensions
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- ${LINT_LOG}
|
||||||
|
reports:
|
||||||
|
junit: ${LINT_LOG}
|
||||||
|
|
||||||
|
build-bundles:
|
||||||
|
stage: build
|
||||||
|
<<: *prereview_req
|
||||||
|
script:
|
||||||
|
- ./export-zips.sh
|
||||||
|
artifacts:
|
||||||
|
name: 'Extension bundles'
|
||||||
|
expose_as: 'Get Extension bundles here'
|
||||||
|
paths:
|
||||||
|
- zip-files/
|
||||||
|
|
||||||
|
fedora-build:
|
||||||
|
extends:
|
||||||
|
- .fdo.distribution-image@fedora
|
||||||
|
- .gnome-shell-extensions.fedora:34
|
||||||
|
stage: build
|
||||||
|
needs:
|
||||||
|
- build-fedora-container
|
||||||
|
variables:
|
||||||
|
GIT_SUBMODULE_STRATEGY: normal
|
||||||
|
script:
|
||||||
|
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true
|
||||||
|
- meson compile -C build
|
||||||
|
- meson test -C build
|
||||||
|
- meson install -C build
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- build
|
||||||
|
|
||||||
|
fedora-dist:
|
||||||
|
extends:
|
||||||
|
- .fdo.distribution-image@fedora
|
||||||
|
- .gnome-shell-extensions.fedora:34
|
||||||
|
stage: deploy
|
||||||
|
needs:
|
||||||
|
- fedora-build
|
||||||
|
variables:
|
||||||
|
GIT_SUBMODULE_STRATEGY: normal
|
||||||
|
script:
|
||||||
|
- meson dist -C build
|
||||||
|
rules:
|
||||||
|
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||||
|
changes:
|
||||||
|
- "**/meson.build"
|
||||||
|
- meson/*
|
||||||
|
|
||||||
|
fedora-dist-tarball:
|
||||||
|
extends: fedora-dist
|
||||||
|
artifacts:
|
||||||
|
expose_as: 'Get tarball here'
|
||||||
|
paths:
|
||||||
|
- build/meson-dist/$CI_PROJECT_NAME-$CI_COMMIT_TAG.tar.xz
|
||||||
|
rules:
|
||||||
|
- if: '$CI_COMMIT_TAG'
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
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: '^extensions/'
|
||||||
|
message: Commit message subject should not be prefixed with 'extensions/', use the extension name instead
|
||||||
|
where: subject
|
||||||
|
- regex: '^[^:]+: [a-z]'
|
||||||
|
message: "Commit message subject should be properly Capitalized. E.g. 'window: Marginalize extradicity'"
|
||||||
|
where: subject
|
||||||
|
- regex: '^\S*\.js:'
|
||||||
|
message: Commit message subject prefix should not include .js
|
||||||
|
where: subject
|
||||||
+1
-1
@@ -28,4 +28,4 @@ imports (like imports.lang or imports.dbus) and introspection,
|
|||||||
the other for Shell API. Within the same group, put everything
|
the other for Shell API. Within the same group, put everything
|
||||||
in alphabetic order.
|
in alphabetic order.
|
||||||
|
|
||||||
[coding-style]: https://gitlab.gnome.org/GNOME/gjs/blob/master/doc/Style_Guide.md
|
[coding-style]: https://gitlab.gnome.org/GNOME/gjs/blob/HEAD/doc/Style_Guide.md
|
||||||
|
|||||||
@@ -1,17 +1,326 @@
|
|||||||
3.36.2
|
43.1
|
||||||
======
|
====
|
||||||
* Misc. bug fixes and cleanups [Florian, Xiaoguang; !113, !106]
|
* Fixed crash [Florian; !243]
|
||||||
|
* Misc. bug fixes and cleanups [mowemcfc; !244]
|
||||||
|
|
||||||
Contributors:
|
Contributors:
|
||||||
Florian Müllner, Xiaoguang Wang
|
Florian Müllner, mowemcfc
|
||||||
|
|
||||||
Translators:
|
Translators:
|
||||||
Yosef Or Boczko [he], Kristjan SCHMIDT [eo]
|
Sabri Ünal [tr]
|
||||||
3.36.1
|
|
||||||
|
43.0
|
||||||
|
====
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Pawan Chitrakar [ne], Zurab Kargareteli [ka], Aleksandr Melman [ru]
|
||||||
|
|
||||||
|
43.rc
|
||||||
|
=====
|
||||||
|
* Misc. bug fixes and cleanups [Florian; !240]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
43.beta
|
||||||
|
=======
|
||||||
|
* Misc. bug fixes and cleanups [Florian; !237, !238]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Nart Tlisha [ab]
|
||||||
|
|
||||||
|
43.alpha
|
||||||
|
========
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Marco Ciampa [it]
|
||||||
|
|
||||||
|
42.3
|
||||||
|
====
|
||||||
|
* screenshot-window-sizer: Fix reported sizes on wayland [Florian; !232]
|
||||||
|
* window-list: Improve touch support [Florian; !233]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
42.2
|
||||||
|
====
|
||||||
|
* native-window-placement: Adjust to gnome-shell 42 changes [Florian; !229]
|
||||||
|
* window-list: Fix visibility on non-primary monitors [Jason; !230]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Jason Lynch, Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Cheng-Chia Tseng [zh_TW]
|
||||||
|
|
||||||
|
42.1
|
||||||
|
====
|
||||||
|
* Misc. bug fixes and cleanups [Florian; !223, !222, !225]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Milo Casagrande [it], Rūdolfs Mazurs [lv], Nathan Follens [nl],
|
||||||
|
Ngọc Quân Trần [vi], Zurab Kargareteli [ka]
|
||||||
|
|
||||||
|
42.0
|
||||||
|
====
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Philipp Kiemle [de], Balázs Úr [hu], Марко Костић [sr], sicklylife [ja],
|
||||||
|
Baurzhan Muftakhidinov [kk]
|
||||||
|
|
||||||
|
42.rc
|
||||||
|
=====
|
||||||
|
* Misc. bug fixes and cleanups [Florian; !215, !218]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Marek Černocký [cs], Dušan Kazik [sk], Piotr Drąg [pl], Jiri Grönroos [fi],
|
||||||
|
Luna Jernberg [sv], Alan Mortensen [da], Charles Monzat [fr],
|
||||||
|
Changwoo Ryu [ko]
|
||||||
|
|
||||||
|
42.beta
|
||||||
|
=======
|
||||||
|
* workspace-indicator: Fix cancelling editing with Esc [Florian; !208]
|
||||||
|
* window-list: Update window tracking to avoid missing icons [Florian; !207]
|
||||||
|
* Use libadwaita for preferences [Florian; !209, !213]
|
||||||
|
* Adapt to Clutter grab API changes [Florian; !212]
|
||||||
|
* Misc. bug fixes and cleanups [Jan, Florian; !210, !214]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Jan Beich, Florian Müllner, Naala Nanba
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Boyuan Yang [zh_CN], Matej Urbančič [sl], Naala Nanba [ab],
|
||||||
|
Alexander Shopov [bg], Emin Tufan Çetin [tr]
|
||||||
|
|
||||||
|
42.alpha
|
||||||
|
========
|
||||||
|
* native-window-placement: Fix distorted layout in app grid [Sebastian; !189]
|
||||||
|
* window-list: Fix on-screen keyboard [Florian; !199]
|
||||||
|
* Misc. bug fixes and cleanups [Neal; Just; !195, !197]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Piotr Drąg, Neal Gompa, Sebastian Keller, Florian Müllner, Just Perfection
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Goran Vidović [hr], Sveinn í Felli [is], Yuri Chornoivan [uk],
|
||||||
|
Fabio Tomat [fur], Quentin PAGÈS [oc], Hugo Carvalho [pt],
|
||||||
|
Yaron Shahrabani [he], Jordi Mas i Hernandez [ca], MohammadSaleh Kamyab [fa],
|
||||||
|
Fran Dieguez [gl], Daniel Mustieles [es], Aleksandr Melman [ru],
|
||||||
|
Aurimas Černius [lt], Asier Sarasua Garmendia [eu], Kukuh Syafaat [id],
|
||||||
|
Rafael Fontenelle [pt_BR]
|
||||||
|
|
||||||
|
41.0
|
||||||
|
====
|
||||||
|
* Bump version
|
||||||
|
|
||||||
|
41.rc.1
|
||||||
|
=======
|
||||||
|
* Fix pre-generating stylesheets in tarball [Florian; !190]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
41.rc
|
||||||
|
=====
|
||||||
|
* window-list: Adapt to overview-on-startup [Florian; !185]
|
||||||
|
* apps-menu: Use a custom 'toggle-menu' shortcut [Florian; !173]
|
||||||
|
* Misc. bug fixes and cleanups [Florian; !186]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
41.beta
|
||||||
|
=======
|
||||||
|
* window-list: Extend reactive area of minimap to screen edges [Adam; !171]
|
||||||
|
* drive-menu: Improve detection of network mounts [Florian; !27, !176]
|
||||||
|
* Use distinct gettext domain for e.g.o uploads [Florian; #335]
|
||||||
|
* Misc. bug fixes and cleanups [Florian; !172, !174, !177, !167, !178, !180,
|
||||||
|
!181, !182, !183]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Marco Trevisan (Treviño), Adam Goode, Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Hugo Carvalho [pt], Juliano de Souza Camargo [pt], Alexander Shopov [bg]
|
||||||
|
|
||||||
|
40.1
|
||||||
|
====
|
||||||
|
* Disable welcome dialog in classic session [Florian; !169]
|
||||||
|
* windowsNavigator: Adjust to a late gnome-shell change [Florian; !170]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Ngọc Quân Trần [vi], Anders Jonsson [sv], Carmen Bianca BAKKER [eo],
|
||||||
|
Pawan Chitrakar [ne], Quentin PAGÈS [oc]
|
||||||
|
|
||||||
|
40.0
|
||||||
|
====
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Jiri Grönroos [fi]
|
||||||
|
|
||||||
|
40.rc
|
||||||
|
=====
|
||||||
|
* native-window-placement: Adjust to gnome-shell changes [Florian; !164]
|
||||||
|
* windows-navigator: Adjust to gnome-shell changes [Florian; !163]
|
||||||
|
* window-list, workspace-indicator: Only show previews for up to six workspaces
|
||||||
|
[Florian; !165]
|
||||||
|
* window-list, workspace-indicator: Improve workspace preview appearance
|
||||||
|
[Florian; !166]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Fran Dieguez [gl]
|
||||||
|
|
||||||
|
40.beta
|
||||||
|
=======
|
||||||
|
* Add tooltips to workspace thumbnails [Florian; !155]
|
||||||
|
* Drop arrows from top bar menus [Florian; !156]
|
||||||
|
* drive-menu: Mark mounts that can be unmounted as removable [Michael; !152]
|
||||||
|
* Remove horizontal-workspaces extension [Florian; !158]
|
||||||
|
* Adjust to shell overview changes [Florian; !159, !160]
|
||||||
|
* Fix crashes [Daniel; !157]
|
||||||
|
* Misc. bug fixes and cleanups [Florian; !154, !161]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Michael Lawton, Florian Müllner, Daniel van Vugt
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Аляксей [be], A S Alam [pa]
|
||||||
|
|
||||||
|
40.alpha.1
|
||||||
|
==========
|
||||||
|
* Don't depend on sassc when building from tarball [Florian; !150]
|
||||||
|
* Port extensions preferences to GTK4 [Florian; !148]
|
||||||
|
* Misc. bug fixes and cleanups [Florian, Jonas; !149, !151, !153]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Jonas Dreßler, Florian Müllner
|
||||||
|
|
||||||
|
40.alpha
|
||||||
|
========
|
||||||
|
* window-list: Honor changes in skip-taskbar property [Sergio; !130]
|
||||||
|
* window-list, workspace-indicator: Adjust to 3.38 changes [Florian; !133]
|
||||||
|
* window-list, workspace-indicator: Improve previews in workspace thumbs
|
||||||
|
[Florian; #260, !142]
|
||||||
|
* auto-move: Improve behavior on multi-monitor setups [Florian; !135]
|
||||||
|
* windowNavigator: Adjust to 3.38 changes [Thun; #259]
|
||||||
|
* Misc. bug fixes and cleanups [Florian, Jonas Å, Jordan, Ray; !131, !136,
|
||||||
|
!137, !140, !141, !144, !146, !145]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Sergio Costas, Florian Müllner, Jordan Petridis, Thun Pin, Ray Strode,
|
||||||
|
Jonas Ådahl
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Fabio Tomat [fur], Jordi Mas [ca]
|
||||||
|
|
||||||
|
3.38.1
|
||||||
|
======
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Yacine Bouklif, Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Yacine Bouklif [kab], Cheng-Chia Tseng [zh_TW], Stas Solovey [ru],
|
||||||
|
Yosef Or Boczko [he]
|
||||||
|
|
||||||
|
3.38.0
|
||||||
======
|
======
|
||||||
|
|
||||||
Translators:
|
Translators:
|
||||||
Daniel Korostil [uk]
|
Balázs Meskó [hu], Alan Mortensen [da], Juliano Camargo [pt], Tim Sabsch [de],
|
||||||
|
Milo Casagrande [it], Rūdolfs Mazurs [lv]
|
||||||
|
|
||||||
|
3.37.92
|
||||||
|
=======
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Nathan Follens [nl], Zander Brown [en_GB], Aurimas Černius [lt],
|
||||||
|
Marek Černocký [cs], Changwoo Ryu [ko], Dušan Kazik [sk]
|
||||||
|
|
||||||
|
3.37.91
|
||||||
|
=======
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Fran Dieguez [gl], Akarshan Biswas [bn_IN], Kukuh Syafaat [id],
|
||||||
|
Piotr Drąg [pl], Rafael Fontenelle [pt_BR], Jiri Grönroos [fi],
|
||||||
|
Марко Костић [sr], Goran Vidović [hr]
|
||||||
|
|
||||||
|
3.37.90
|
||||||
|
=======
|
||||||
|
* Misc. bug fixes and cleanups [Florian, Piotr; !126, !128]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Piotr Drąg, Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Fabio Tomat [fur], Efstathios Iosifidis [el], Anders Jonsson [sv],
|
||||||
|
Asier Sarasua Garmendia [eu], Alexandre Franke [fr]
|
||||||
|
|
||||||
|
3.37.3
|
||||||
|
======
|
||||||
|
* window-list, native-window-placement: Adjust to shell changes [Florian; !124]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Jordi Mas [ca], sicklylife [ja], Boyuan Yang [zh_CN],
|
||||||
|
Baurzhan Muftakhidinov [kk]
|
||||||
|
|
||||||
|
3.37.2
|
||||||
|
======
|
||||||
|
* window-list, auto-move: Modernize preference dialogs [Florian; !121]
|
||||||
|
* Adjust to gnome-shell changes [Florian; !122]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Florian Müllner
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Cheng-Chia Tseng [zh_TW], Yuri Chornoivan [uk], Daniel Mustieles [es],
|
||||||
|
Emin Tufan Çetin [tr], Danial Behzadi [fa], Daniel Șerbănescu [ro],
|
||||||
|
Matej Urbančič [sl]
|
||||||
|
|
||||||
|
3.37.1
|
||||||
|
======
|
||||||
|
* drive-menu: Emphasize eject buttons [Florian; #223]
|
||||||
|
* user-theme: Add preference dialog [Florian; !117]
|
||||||
|
* window-list: Fix inconsistent state in preference dialog [Milan; !119]
|
||||||
|
* workspace-indicator: Overhaul preference dialog [Florian; !120]
|
||||||
|
* user-theme: Support session mode styles [Florian; !118]
|
||||||
|
* Misc. bug fixes and cleanups [Florian, Xiaoguang; !113, !106, !114, !116]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Milan Crha, Florian Müllner, Xiaoguang Wang
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Daniel Korostil [uk], Yosef Or Boczko [he], Kristjan SCHMIDT [eo],
|
||||||
|
Dz Chen [zh_CN], Danial Behzadi [fa], Yuri Chornoivan [uk],
|
||||||
|
Anders Jonsson [sv], Daniel Mustieles [es]
|
||||||
|
|
||||||
3.36.0
|
3.36.0
|
||||||
======
|
======
|
||||||
|
|||||||
@@ -69,6 +69,19 @@ GSettings key.
|
|||||||
|
|
||||||
Adds a simple workspace switcher to the top bar.
|
Adds a simple workspace switcher to the top bar.
|
||||||
|
|
||||||
|
## 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/master
|
||||||
|
git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main
|
||||||
|
```
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
GNOME Shell Extensions are distributed under the terms of the GNU General
|
GNOME Shell Extensions are distributed under the terms of the GNU General
|
||||||
|
|||||||
@@ -1,178 +0,0 @@
|
|||||||
<?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: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"
|
|
||||||
width="24"
|
|
||||||
height="24"
|
|
||||||
id="svg10621"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="calendar-today.svg">
|
|
||||||
<defs
|
|
||||||
id="defs10623">
|
|
||||||
<radialGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient34508-1-3"
|
|
||||||
id="radialGradient99561-1"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
|
||||||
cx="51"
|
|
||||||
cy="30"
|
|
||||||
fx="51"
|
|
||||||
fy="30"
|
|
||||||
r="42" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
id="linearGradient34508-1-3">
|
|
||||||
<stop
|
|
||||||
style="stop-color:#ffffff;stop-opacity:1;"
|
|
||||||
offset="0"
|
|
||||||
id="stop34510-1-9" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#ffffff;stop-opacity:0;"
|
|
||||||
offset="1"
|
|
||||||
id="stop34512-4-5" />
|
|
||||||
</linearGradient>
|
|
||||||
<radialGradient
|
|
||||||
r="42"
|
|
||||||
fy="30"
|
|
||||||
fx="51"
|
|
||||||
cy="30"
|
|
||||||
cx="51"
|
|
||||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
id="radialGradient10592"
|
|
||||||
xlink:href="#linearGradient34508-1-3"
|
|
||||||
inkscape:collect="always" />
|
|
||||||
<radialGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient34508-1-3"
|
|
||||||
id="radialGradient3770"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
|
||||||
cx="51"
|
|
||||||
cy="30"
|
|
||||||
fx="51"
|
|
||||||
fy="30"
|
|
||||||
r="42" />
|
|
||||||
<radialGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient34508-1-3"
|
|
||||||
id="radialGradient3001"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
|
||||||
cx="51"
|
|
||||||
cy="30"
|
|
||||||
fx="51"
|
|
||||||
fy="30"
|
|
||||||
r="42" />
|
|
||||||
<radialGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient34508-1-3"
|
|
||||||
id="radialGradient3007"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
|
||||||
cx="51"
|
|
||||||
cy="30"
|
|
||||||
fx="51"
|
|
||||||
fy="30"
|
|
||||||
r="42" />
|
|
||||||
<radialGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient34508-1-3"
|
|
||||||
id="radialGradient3067"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
|
||||||
cx="51"
|
|
||||||
cy="30"
|
|
||||||
fx="51"
|
|
||||||
fy="30"
|
|
||||||
r="42" />
|
|
||||||
<radialGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient34508-1-3"
|
|
||||||
id="radialGradient3072"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
|
||||||
cx="51"
|
|
||||||
cy="30"
|
|
||||||
fx="51"
|
|
||||||
fy="30"
|
|
||||||
r="42" />
|
|
||||||
<radialGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient34508-1-3"
|
|
||||||
id="radialGradient2997"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
|
||||||
cx="51"
|
|
||||||
cy="30"
|
|
||||||
fx="51"
|
|
||||||
fy="30"
|
|
||||||
r="42" />
|
|
||||||
</defs>
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#d3d3d3"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="8"
|
|
||||||
inkscape:cx="-55.349829"
|
|
||||||
inkscape:cy="-31.442864"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
showgrid="false"
|
|
||||||
fit-margin-top="0"
|
|
||||||
fit-margin-left="0"
|
|
||||||
fit-margin-right="0"
|
|
||||||
fit-margin-bottom="0"
|
|
||||||
inkscape:window-width="2133"
|
|
||||||
inkscape:window-height="1241"
|
|
||||||
inkscape:window-x="238"
|
|
||||||
inkscape:window-y="89"
|
|
||||||
inkscape:window-maximized="0"
|
|
||||||
borderlayer="true"
|
|
||||||
inkscape:showpageshadow="false">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid3109"
|
|
||||||
empspacing="5"
|
|
||||||
visible="true"
|
|
||||||
enabled="true"
|
|
||||||
snapvisiblegridlinesonly="true" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<metadata
|
|
||||||
id="metadata10626">
|
|
||||||
<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(-469.08263,-537.99307)">
|
|
||||||
<circle
|
|
||||||
style="color:#000000;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;fill:#555753;fill-opacity:0.23756906;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
||||||
id="path7305"
|
|
||||||
cx="481.57138"
|
|
||||||
cy="559.4649"
|
|
||||||
r="1.5" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 5.6 KiB |
@@ -1,262 +0,0 @@
|
|||||||
<?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: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"
|
|
||||||
width="65"
|
|
||||||
height="22"
|
|
||||||
id="svg10865"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="classic-toggle-off-intl.svg">
|
|
||||||
<defs
|
|
||||||
id="defs10867">
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient62852-6-5">
|
|
||||||
<stop
|
|
||||||
id="stop62854-6-7"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#ffffff;stop-opacity:1" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#eeeeec;stop-opacity:1"
|
|
||||||
offset="0.97726452"
|
|
||||||
id="stop62858-8-0" />
|
|
||||||
<stop
|
|
||||||
id="stop62860-5-3"
|
|
||||||
offset="1"
|
|
||||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
|
||||||
</linearGradient>
|
|
||||||
<inkscape:path-effect
|
|
||||||
is_visible="true"
|
|
||||||
id="path-effect62989-8-0"
|
|
||||||
effect="spiro" />
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient62821-5-8">
|
|
||||||
<stop
|
|
||||||
id="stop62823-2-4"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
|
||||||
<stop
|
|
||||||
id="stop62825-3-8"
|
|
||||||
offset="1"
|
|
||||||
style="stop-color:#ebebeb;stop-opacity:1;" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient62852-6-5-3">
|
|
||||||
<stop
|
|
||||||
id="stop62854-6-7-6"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#ffffff;stop-opacity:1" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#eeeeec;stop-opacity:1"
|
|
||||||
offset="0.97726452"
|
|
||||||
id="stop62858-8-0-3" />
|
|
||||||
<stop
|
|
||||||
id="stop62860-5-3-9"
|
|
||||||
offset="1"
|
|
||||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
|
||||||
</linearGradient>
|
|
||||||
<inkscape:path-effect
|
|
||||||
effect="spiro"
|
|
||||||
id="path-effect62829-6-8-0"
|
|
||||||
is_visible="true" />
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient62821-5-8-1">
|
|
||||||
<stop
|
|
||||||
id="stop62823-2-4-2"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
|
||||||
<stop
|
|
||||||
id="stop62825-3-8-9"
|
|
||||||
offset="1"
|
|
||||||
style="stop-color:#ebebeb;stop-opacity:1;" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
y2="507.42715"
|
|
||||||
x2="702.58966"
|
|
||||||
y1="484.49405"
|
|
||||||
x1="702.58966"
|
|
||||||
gradientTransform="matrix(1.3066667,0,0,1,-841.64667,-483)"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
id="linearGradient11647"
|
|
||||||
xlink:href="#linearGradient62821-5-8-1"
|
|
||||||
inkscape:collect="always" />
|
|
||||||
<clipPath
|
|
||||||
clipPathUnits="userSpaceOnUse"
|
|
||||||
id="clipPath65663">
|
|
||||||
<rect
|
|
||||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new"
|
|
||||||
id="rect65665"
|
|
||||||
width="96.999924"
|
|
||||||
height="24.292892"
|
|
||||||
x="708.71954"
|
|
||||||
y="406.96973"
|
|
||||||
rx="3.1139846"
|
|
||||||
ry="1.9595497"
|
|
||||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/content selection/content-selection.png"
|
|
||||||
inkscape:export-xdpi="90"
|
|
||||||
inkscape:export-ydpi="90" />
|
|
||||||
</clipPath>
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9"
|
|
||||||
id="linearGradient65582"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.5250827,0,0,0.72144839,620.16092,156.4917)"
|
|
||||||
x1="207.17195"
|
|
||||||
y1="497.39584"
|
|
||||||
x2="207.17195"
|
|
||||||
y2="531.48669" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
id="linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9">
|
|
||||||
<stop
|
|
||||||
style="stop-color:#f4f6f4;stop-opacity:1"
|
|
||||||
offset="0"
|
|
||||||
id="stop5380-6-1-1-9-3-6-3-6-45-6-4-4-9-9-8-9" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#d7dad7;stop-opacity:1"
|
|
||||||
offset="1"
|
|
||||||
id="stop5382-06-3-6-4-2-4-6-8-0-9-6-8-7-7-6-7" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
id="linearGradient65584">
|
|
||||||
<stop
|
|
||||||
style="stop-color:#f1f1f1;stop-opacity:1"
|
|
||||||
offset="0"
|
|
||||||
id="stop65586" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#a7aba7;stop-opacity:0;"
|
|
||||||
offset="1"
|
|
||||||
id="stop65588" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9"
|
|
||||||
id="linearGradient65582-5"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.5250827,0,0,0.72144839,-75.348673,-359.16458)"
|
|
||||||
x1="207.17195"
|
|
||||||
y1="497.39584"
|
|
||||||
x2="207.17195"
|
|
||||||
y2="531.48669" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient65584"
|
|
||||||
id="linearGradient65590-6"
|
|
||||||
x1="716.62506"
|
|
||||||
y1="537.23358"
|
|
||||||
x2="716.62506"
|
|
||||||
y2="535.23358"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(1.0139469,0,0,1.0139469,-705.52354,-521.99915)" />
|
|
||||||
</defs>
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="1"
|
|
||||||
inkscape:cx="23.565368"
|
|
||||||
inkscape:cy="19.596892"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="g62929"
|
|
||||||
showgrid="false"
|
|
||||||
borderlayer="true"
|
|
||||||
inkscape:showpageshadow="false"
|
|
||||||
inkscape:snap-nodes="false"
|
|
||||||
inkscape:snap-bbox="true"
|
|
||||||
inkscape:bbox-paths="true"
|
|
||||||
inkscape:snap-others="false"
|
|
||||||
inkscape:window-width="2560"
|
|
||||||
inkscape:window-height="1342"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="28"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
showborder="false">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid11512" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<metadata
|
|
||||||
id="metadata10870">
|
|
||||||
<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 />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(0,-1030.3622)">
|
|
||||||
<g
|
|
||||||
inkscape:export-ydpi="90"
|
|
||||||
inkscape:export-xdpi="90"
|
|
||||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
|
||||||
style="display:inline"
|
|
||||||
id="g62929"
|
|
||||||
transform="translate(-643.91421,517.29894)">
|
|
||||||
<g
|
|
||||||
transform="translate(0,30)"
|
|
||||||
id="g62931">
|
|
||||||
<rect
|
|
||||||
style="fill:#cecece;fill-opacity:1;stroke:#a7a7a7;stroke-width:1;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;color:#000000;color-interpolation:sRGB;color-interpolation-filters:linearRGB;fill-rule:nonzero;stroke-linejoin:miter;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new;clip-rule:nonzero;opacity:1;isolation:auto;mix-blend-mode:normal;solid-color:#000000;solid-opacity:1;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto"
|
|
||||||
id="rect62935"
|
|
||||||
width="63.856125"
|
|
||||||
height="21.093594"
|
|
||||||
x="644.5"
|
|
||||||
y="483.5"
|
|
||||||
rx="2"
|
|
||||||
ry="2" />
|
|
||||||
<rect
|
|
||||||
style="fill:url(#linearGradient65582);fill-opacity:1;stroke:#a7a7a7;stroke-width:0.97313344;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline;color:#000000;clip-rule:nonzero;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;fill-rule:nonzero;stroke-linejoin:miter;stroke-dashoffset:0;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
||||||
id="rect62937"
|
|
||||||
width="29.97398"
|
|
||||||
height="17.022524"
|
|
||||||
x="646.55896"
|
|
||||||
y="485.61429"
|
|
||||||
rx="1"
|
|
||||||
ry="1" />
|
|
||||||
<g
|
|
||||||
transform="translate(-38.048674,-1.9445437)"
|
|
||||||
id="g62939" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:original-d="m 647.78241,486.57192 27.73523,0"
|
|
||||||
inkscape:path-effect="#path-effect62989-8-0"
|
|
||||||
id="path62947"
|
|
||||||
d="m 647.78241,486.57192 27.73523,0"
|
|
||||||
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g11665"
|
|
||||||
transform="matrix(0.78906097,0,0,0.78906097,178.78814,111.57844)" />
|
|
||||||
<path
|
|
||||||
sodipodi:type="arc"
|
|
||||||
id="path3016"
|
|
||||||
sodipodi:cx="50.375"
|
|
||||||
sodipodi:cy="11.875"
|
|
||||||
sodipodi:rx="4.625"
|
|
||||||
sodipodi:ry="4.625"
|
|
||||||
d="M 55,11.875 A 4.625,4.625 0 0 1 50.375,16.5 4.625,4.625 0 0 1 45.75,11.875 4.625,4.625 0 0 1 50.375,7.25 4.625,4.625 0 0 1 55,11.875 Z"
|
|
||||||
transform="translate(642.41421,512.02037)"
|
|
||||||
style="fill:none;stroke:#2e3436;stroke-width:2;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 9.5 KiB |
@@ -1,222 +0,0 @@
|
|||||||
<?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: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"
|
|
||||||
width="65"
|
|
||||||
height="22"
|
|
||||||
id="svg10865"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="classic-toggle-off-us.svg">
|
|
||||||
<defs
|
|
||||||
id="defs10867">
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient62852-6-5">
|
|
||||||
<stop
|
|
||||||
id="stop62854-6-7"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#ffffff;stop-opacity:1" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#eeeeec;stop-opacity:1"
|
|
||||||
offset="0.97726452"
|
|
||||||
id="stop62858-8-0" />
|
|
||||||
<stop
|
|
||||||
id="stop62860-5-3"
|
|
||||||
offset="1"
|
|
||||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
|
||||||
</linearGradient>
|
|
||||||
<inkscape:path-effect
|
|
||||||
is_visible="true"
|
|
||||||
id="path-effect62989-8-0"
|
|
||||||
effect="spiro" />
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient62821-5-8">
|
|
||||||
<stop
|
|
||||||
id="stop62823-2-4"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
|
||||||
<stop
|
|
||||||
id="stop62825-3-8"
|
|
||||||
offset="1"
|
|
||||||
style="stop-color:#ebebeb;stop-opacity:1;" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient62852-6-5-3">
|
|
||||||
<stop
|
|
||||||
id="stop62854-6-7-6"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#ffffff;stop-opacity:1" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#eeeeec;stop-opacity:1"
|
|
||||||
offset="0.97726452"
|
|
||||||
id="stop62858-8-0-3" />
|
|
||||||
<stop
|
|
||||||
id="stop62860-5-3-9"
|
|
||||||
offset="1"
|
|
||||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
|
||||||
</linearGradient>
|
|
||||||
<inkscape:path-effect
|
|
||||||
effect="spiro"
|
|
||||||
id="path-effect62829-6-8-0"
|
|
||||||
is_visible="true" />
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient62821-5-8-1">
|
|
||||||
<stop
|
|
||||||
id="stop62823-2-4-2"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#d1d3d1;stop-opacity:1;" />
|
|
||||||
<stop
|
|
||||||
id="stop62825-3-8-9"
|
|
||||||
offset="1"
|
|
||||||
style="stop-color:#ebebeb;stop-opacity:1;" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
y2="507.42715"
|
|
||||||
x2="702.58966"
|
|
||||||
y1="484.49405"
|
|
||||||
x1="702.58966"
|
|
||||||
gradientTransform="matrix(1.3066667,0,0,1,-841.64667,-483)"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
id="linearGradient11647"
|
|
||||||
xlink:href="#linearGradient62821-5-8-1"
|
|
||||||
inkscape:collect="always" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9"
|
|
||||||
id="linearGradient65582"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.5250827,0,0,0.72144839,620.16092,156.4917)"
|
|
||||||
x1="207.17195"
|
|
||||||
y1="497.39584"
|
|
||||||
x2="207.17195"
|
|
||||||
y2="531.48669" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
id="linearGradient5378-2-5-9-9-0-80-7-6-8-4-5-7-3-6-2-9">
|
|
||||||
<stop
|
|
||||||
style="stop-color:#f4f6f4;stop-opacity:1"
|
|
||||||
offset="0"
|
|
||||||
id="stop5380-6-1-1-9-3-6-3-6-45-6-4-4-9-9-8-9" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#d7dad7;stop-opacity:1"
|
|
||||||
offset="1"
|
|
||||||
id="stop5382-06-3-6-4-2-4-6-8-0-9-6-8-7-7-6-7" />
|
|
||||||
</linearGradient>
|
|
||||||
<inkscape:path-effect
|
|
||||||
is_visible="true"
|
|
||||||
id="path-effect62989-8-0-6"
|
|
||||||
effect="spiro" />
|
|
||||||
</defs>
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="1"
|
|
||||||
inkscape:cx="78.222729"
|
|
||||||
inkscape:cy="-3.6620078"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="g62929"
|
|
||||||
showgrid="false"
|
|
||||||
borderlayer="true"
|
|
||||||
inkscape:showpageshadow="false"
|
|
||||||
inkscape:snap-nodes="false"
|
|
||||||
inkscape:snap-bbox="true"
|
|
||||||
inkscape:bbox-paths="true"
|
|
||||||
inkscape:snap-others="false"
|
|
||||||
inkscape:window-width="2560"
|
|
||||||
inkscape:window-height="1342"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="28"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
showborder="false">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid11512" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<metadata
|
|
||||||
id="metadata10870">
|
|
||||||
<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 />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(0,-1030.3622)">
|
|
||||||
<g
|
|
||||||
inkscape:export-ydpi="90"
|
|
||||||
inkscape:export-xdpi="90"
|
|
||||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
|
||||||
style="display:inline"
|
|
||||||
id="g62929"
|
|
||||||
transform="translate(-643.91421,517.29894)">
|
|
||||||
<g
|
|
||||||
style="display:inline"
|
|
||||||
transform="translate(0,30)"
|
|
||||||
id="g62931">
|
|
||||||
<rect
|
|
||||||
style="color:#000000;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;fill:#cecece;fill-opacity:1;fill-rule:nonzero;stroke:#a7a7a7;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:new"
|
|
||||||
id="rect62935"
|
|
||||||
width="63.856125"
|
|
||||||
height="21.093594"
|
|
||||||
x="644.5"
|
|
||||||
y="483.5"
|
|
||||||
rx="2"
|
|
||||||
ry="2" />
|
|
||||||
<rect
|
|
||||||
style="color:#000000;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;fill:url(#linearGradient65582);fill-opacity:1;fill-rule:nonzero;stroke:#a7a7a7;stroke-width:0.97313344;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
||||||
id="rect62937"
|
|
||||||
width="29.97398"
|
|
||||||
height="17.022524"
|
|
||||||
x="646.55896"
|
|
||||||
y="485.61429"
|
|
||||||
rx="1"
|
|
||||||
ry="1" />
|
|
||||||
<g
|
|
||||||
transform="translate(-38.048674,-1.9445437)"
|
|
||||||
id="g62939" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:original-d="m 647.78241,486.57192 27.73523,0"
|
|
||||||
inkscape:path-effect="#path-effect62989-8-0-6"
|
|
||||||
id="path62947"
|
|
||||||
d="m 647.78241,486.57192 27.73523,0"
|
|
||||||
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g11665"
|
|
||||||
transform="matrix(0.78906097,0,0,0.78906097,167.78814,111.57844)">
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:12.69556618px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#2e3436;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
|
||||||
x="644.46393"
|
|
||||||
y="533.87158"
|
|
||||||
id="text62949"
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
transform="scale(1.0113976,0.98873084)"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan62951"
|
|
||||||
x="644.46393"
|
|
||||||
y="533.87158">OFF</tspan></text>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 8.0 KiB |
@@ -1,175 +0,0 @@
|
|||||||
<?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: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"
|
|
||||||
width="65"
|
|
||||||
height="22"
|
|
||||||
id="svg10865"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="classic-toggle-on-intl.svg">
|
|
||||||
<defs
|
|
||||||
id="defs10867">
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient62852-6-5">
|
|
||||||
<stop
|
|
||||||
id="stop62854-6-7"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#ffffff;stop-opacity:1" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#eeeeec;stop-opacity:1"
|
|
||||||
offset="0.97726452"
|
|
||||||
id="stop62858-8-0" />
|
|
||||||
<stop
|
|
||||||
id="stop62860-5-3"
|
|
||||||
offset="1"
|
|
||||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
|
||||||
</linearGradient>
|
|
||||||
<inkscape:path-effect
|
|
||||||
is_visible="true"
|
|
||||||
id="path-effect62989-8-0"
|
|
||||||
effect="spiro" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient38513"
|
|
||||||
id="linearGradient38519"
|
|
||||||
x1="690"
|
|
||||||
y1="506.25049"
|
|
||||||
x2="690"
|
|
||||||
y2="480.93414"
|
|
||||||
gradientUnits="userSpaceOnUse" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
id="linearGradient38513">
|
|
||||||
<stop
|
|
||||||
style="stop-color:#729fcf;stop-opacity:1"
|
|
||||||
offset="0"
|
|
||||||
id="stop38515" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#6f9ccd;stop-opacity:1"
|
|
||||||
offset="1"
|
|
||||||
id="stop38517" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient62852-6-5"
|
|
||||||
id="linearGradient62981-1-1"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.85639946,0,0,0.81059641,57.747905,92.132229)"
|
|
||||||
x1="740"
|
|
||||||
y1="486.10501"
|
|
||||||
x2="740"
|
|
||||||
y2="505.3204" />
|
|
||||||
<inkscape:path-effect
|
|
||||||
is_visible="true"
|
|
||||||
id="path-effect62989-8-0-8"
|
|
||||||
effect="spiro" />
|
|
||||||
</defs>
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="1"
|
|
||||||
inkscape:cx="9.3225163"
|
|
||||||
inkscape:cy="-0.1588306"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="g62929"
|
|
||||||
showgrid="false"
|
|
||||||
borderlayer="true"
|
|
||||||
inkscape:showpageshadow="false"
|
|
||||||
inkscape:snap-nodes="false"
|
|
||||||
inkscape:snap-bbox="true"
|
|
||||||
inkscape:bbox-paths="true"
|
|
||||||
inkscape:snap-others="false"
|
|
||||||
inkscape:window-width="2560"
|
|
||||||
inkscape:window-height="1342"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="28"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
showborder="false">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid11512" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<metadata
|
|
||||||
id="metadata10870">
|
|
||||||
<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 />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(0,-1030.3622)">
|
|
||||||
<g
|
|
||||||
inkscape:export-ydpi="90"
|
|
||||||
inkscape:export-xdpi="90"
|
|
||||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
|
||||||
style="display:inline"
|
|
||||||
id="g62929"
|
|
||||||
transform="translate(-643.91421,517.29894)">
|
|
||||||
<g
|
|
||||||
style="display:inline"
|
|
||||||
transform="translate(0,30)"
|
|
||||||
id="g62931">
|
|
||||||
<rect
|
|
||||||
style="color:#000000;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;fill:url(#linearGradient38519);fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
||||||
id="rect62935"
|
|
||||||
width="63.856125"
|
|
||||||
height="21.093594"
|
|
||||||
x="644.5"
|
|
||||||
y="483.5"
|
|
||||||
rx="2"
|
|
||||||
ry="2" />
|
|
||||||
<rect
|
|
||||||
style="display:inline;fill:url(#linearGradient62981-1-1);fill-opacity:1;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
|
||||||
id="rect62937"
|
|
||||||
width="29.97398"
|
|
||||||
height="17.022524"
|
|
||||||
x="676.49646"
|
|
||||||
y="485.67679"
|
|
||||||
rx="1"
|
|
||||||
ry="1" />
|
|
||||||
<g
|
|
||||||
transform="translate(-7.9861743,-1.9445437)"
|
|
||||||
id="g62939" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:original-d="m 677.59874,486.57192 27.94632,0"
|
|
||||||
inkscape:path-effect="#path-effect62989-8-0-8"
|
|
||||||
id="path62947"
|
|
||||||
d="m 677.59874,486.57192 27.94632,0"
|
|
||||||
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
|
||||||
</g>
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path4444"
|
|
||||||
d="m 661.91421,522.09451 0,7"
|
|
||||||
style="fill:#3465a4;stroke:#3465a4;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;color:#000000;fill-opacity:1;fill-rule:nonzero;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#ffffff;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
|
|
||||||
d="m 18,7.96875 0,7"
|
|
||||||
id="path3922"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
transform="translate(643.91421,513.06326)" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 6.2 KiB |
@@ -1,209 +0,0 @@
|
|||||||
<?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: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"
|
|
||||||
width="65"
|
|
||||||
height="22"
|
|
||||||
id="svg10865"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.91 r13725"
|
|
||||||
sodipodi:docname="classic-toggle-on-us.svg">
|
|
||||||
<defs
|
|
||||||
id="defs10867">
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient62852-6-5"
|
|
||||||
id="linearGradient62981-1-1"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(0.85639946,0,0,0.81059641,57.747905,92.132229)"
|
|
||||||
x1="740"
|
|
||||||
y1="486.10501"
|
|
||||||
x2="740"
|
|
||||||
y2="505.3204" />
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient62852-6-5">
|
|
||||||
<stop
|
|
||||||
id="stop62854-6-7"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#ffffff;stop-opacity:1" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#eeeeec;stop-opacity:1"
|
|
||||||
offset="0.97726452"
|
|
||||||
id="stop62858-8-0" />
|
|
||||||
<stop
|
|
||||||
id="stop62860-5-3"
|
|
||||||
offset="1"
|
|
||||||
style="stop-color:#f5f5f4;stop-opacity:1" />
|
|
||||||
</linearGradient>
|
|
||||||
<inkscape:path-effect
|
|
||||||
is_visible="true"
|
|
||||||
id="path-effect62989-8-0"
|
|
||||||
effect="spiro" />
|
|
||||||
<clipPath
|
|
||||||
clipPathUnits="userSpaceOnUse"
|
|
||||||
id="clipPath65663">
|
|
||||||
<rect
|
|
||||||
style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;enable-background:new"
|
|
||||||
id="rect65665"
|
|
||||||
width="96.999924"
|
|
||||||
height="24.292892"
|
|
||||||
x="708.71954"
|
|
||||||
y="406.96973"
|
|
||||||
rx="3.1139846"
|
|
||||||
ry="1.9595497"
|
|
||||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/content selection/content-selection.png"
|
|
||||||
inkscape:export-xdpi="90"
|
|
||||||
inkscape:export-ydpi="90" />
|
|
||||||
</clipPath>
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient38513"
|
|
||||||
id="linearGradient38519"
|
|
||||||
x1="690"
|
|
||||||
y1="506.25049"
|
|
||||||
x2="690"
|
|
||||||
y2="480.93414"
|
|
||||||
gradientUnits="userSpaceOnUse" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
id="linearGradient38513">
|
|
||||||
<stop
|
|
||||||
style="stop-color:#729fcf;stop-opacity:1"
|
|
||||||
offset="0"
|
|
||||||
id="stop38515" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#6f9ccd;stop-opacity:1"
|
|
||||||
offset="1"
|
|
||||||
id="stop38517" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
gradientTransform="translate(-644,-483)"
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient38513"
|
|
||||||
id="linearGradient38519-3"
|
|
||||||
x1="690"
|
|
||||||
y1="506.25049"
|
|
||||||
x2="690"
|
|
||||||
y2="480.93414"
|
|
||||||
gradientUnits="userSpaceOnUse" />
|
|
||||||
</defs>
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="1"
|
|
||||||
inkscape:cx="20.775745"
|
|
||||||
inkscape:cy="7.0434022"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="g62929"
|
|
||||||
showgrid="false"
|
|
||||||
borderlayer="true"
|
|
||||||
inkscape:showpageshadow="false"
|
|
||||||
inkscape:snap-nodes="false"
|
|
||||||
inkscape:snap-bbox="true"
|
|
||||||
inkscape:bbox-paths="true"
|
|
||||||
inkscape:snap-others="false"
|
|
||||||
inkscape:window-width="2560"
|
|
||||||
inkscape:window-height="1342"
|
|
||||||
inkscape:window-x="0"
|
|
||||||
inkscape:window-y="28"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
showborder="false">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid11512" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<metadata
|
|
||||||
id="metadata10870">
|
|
||||||
<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 />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(0,-1030.3622)">
|
|
||||||
<g
|
|
||||||
inkscape:export-ydpi="90"
|
|
||||||
inkscape:export-xdpi="90"
|
|
||||||
inkscape:export-filename="/home/lapo.fedora/SparkleShare/gnome-mockups/system-settings/network/network-panel-summary.png"
|
|
||||||
style="display:inline"
|
|
||||||
id="g62929"
|
|
||||||
transform="translate(-643.91421,517.29894)">
|
|
||||||
<g
|
|
||||||
transform="translate(0,30)"
|
|
||||||
id="g62931">
|
|
||||||
<rect
|
|
||||||
style="fill:url(#linearGradient38519);fill-opacity:1;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;color:#000000;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;fill-rule:nonzero;stroke-linejoin:miter;stroke-dashoffset:0;marker:none;marker-start:none;marker-mid:none;marker-end:none;paint-order:normal;filter-blend-mode:normal;filter-gaussianBlur-deviation:0;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
|
||||||
id="rect62935"
|
|
||||||
width="63.856125"
|
|
||||||
height="21.093594"
|
|
||||||
x="644.5"
|
|
||||||
y="483.5"
|
|
||||||
rx="2"
|
|
||||||
ry="2" />
|
|
||||||
<rect
|
|
||||||
style="fill:url(#linearGradient62981-1-1);fill-opacity:1;stroke:#3465a4;stroke-width:1;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
|
||||||
id="rect62937"
|
|
||||||
width="29.97398"
|
|
||||||
height="17.022524"
|
|
||||||
x="676.49646"
|
|
||||||
y="485.67679"
|
|
||||||
rx="1"
|
|
||||||
ry="1" />
|
|
||||||
<g
|
|
||||||
transform="translate(-7.9861743,-1.9445437)"
|
|
||||||
id="g62939" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:original-d="m 677.59874,486.57192 27.94632,0"
|
|
||||||
inkscape:path-effect="#path-effect62989-8-0"
|
|
||||||
id="path62947"
|
|
||||||
d="m 677.59874,486.57192 27.94632,0"
|
|
||||||
style="fill:none;stroke:#ffffff;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
|
||||||
</g>
|
|
||||||
<text
|
|
||||||
transform="scale(1.0113976,0.98873084)"
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text62949-7"
|
|
||||||
y="534.96918"
|
|
||||||
x="646.71399"
|
|
||||||
style="font-size:10.01104736px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#3465a4;fill-opacity:1;stroke:none;display:inline;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold;"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
y="534.96918"
|
|
||||||
x="646.71399"
|
|
||||||
id="tspan62951-7"
|
|
||||||
sodipodi:role="line">ON</tspan></text>
|
|
||||||
<text
|
|
||||||
transform="scale(1.0113976,0.98873084)"
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text62949"
|
|
||||||
y="533.94482"
|
|
||||||
x="646.71399"
|
|
||||||
style="font-size:10.01104736px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
y="533.94482"
|
|
||||||
x="646.71399"
|
|
||||||
id="tspan62951"
|
|
||||||
sodipodi:role="line">ON</tspan></text>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
||||||
|
Before Width: | Height: | Size: 7.5 KiB |
@@ -2,9 +2,10 @@
|
|||||||
"parentMode": "user",
|
"parentMode": "user",
|
||||||
"stylesheetName": "gnome-classic.css",
|
"stylesheetName": "gnome-classic.css",
|
||||||
"hasOverview": false,
|
"hasOverview": false,
|
||||||
|
"showWelcomeDialog": false,
|
||||||
"enabledExtensions": [@CLASSIC_EXTENSIONS@],
|
"enabledExtensions": [@CLASSIC_EXTENSIONS@],
|
||||||
"panel": { "left": ["appMenu"],
|
"panel": { "left": ["appMenu"],
|
||||||
"center": [],
|
"center": [],
|
||||||
"right": ["a11y", "keyboard", "dateMenu", "aggregateMenu"]
|
"right": ["a11y", "keyboard", "dateMenu", "quickSettings"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=GNOME Classic on Wayland
|
||||||
|
Comment=This session logs you into GNOME Classic
|
||||||
|
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
|
||||||
|
TryExec=gnome-session
|
||||||
|
Type=Application
|
||||||
|
DesktopNames=GNOME-Classic;GNOME;
|
||||||
|
X-GDM-SessionRegisters=true
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Name=GNOME Classic on Xorg
|
||||||
|
Comment=This session logs you into GNOME Classic
|
||||||
|
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
|
||||||
|
TryExec=gnome-session
|
||||||
|
Type=Application
|
||||||
|
DesktopNames=GNOME-Classic;GNOME;
|
||||||
|
X-GDM-SessionRegisters=true
|
||||||
@@ -1,7 +1,8 @@
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=GNOME Classic
|
Name=GNOME Classic
|
||||||
Comment=This session logs you into GNOME Classic
|
Comment=This session logs you into GNOME Classic
|
||||||
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session --session gnome-classic
|
Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
|
||||||
TryExec=gnome-session
|
TryExec=gnome-session
|
||||||
Type=Application
|
Type=Application
|
||||||
DesktopNames=GNOME-Classic;GNOME;
|
DesktopNames=GNOME-Classic;GNOME;
|
||||||
|
X-GDM-SessionRegisters=true
|
||||||
|
|||||||
+13
-14
@@ -33,6 +33,18 @@ $variant: 'light';
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
color: $fg_color;
|
color: $fg_color;
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
|
transition-duration: 0ms;
|
||||||
|
border: 0;
|
||||||
|
border-radius: 0px;
|
||||||
|
|
||||||
|
&.clock-display {
|
||||||
|
.clock {
|
||||||
|
transition-duration: 0ms;
|
||||||
|
border: 0;
|
||||||
|
border-radius: 0px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: lighten($fg_color,10%);
|
color: lighten($fg_color,10%);
|
||||||
text-shadow: none;
|
text-shadow: none;
|
||||||
@@ -69,12 +81,11 @@ $variant: 'light';
|
|||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
.panel-button { color: $osd_fg_color; }
|
.panel-button { color: $osd_fg_color; }
|
||||||
}
|
}
|
||||||
.popup-menu-arrow { width: 0; height: 0; } // shell's display: none;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#appMenu {
|
#appMenu {
|
||||||
padding: 0 8px 0 8px;
|
|
||||||
spinner-image: url("classic-process-working.svg");
|
spinner-image: url("classic-process-working.svg");
|
||||||
|
.panel-status-menu-box { padding: 0; }
|
||||||
}
|
}
|
||||||
.tile-preview-left.on-primary,
|
.tile-preview-left.on-primary,
|
||||||
.tile-preview-right.on-primary,
|
.tile-preview-right.on-primary,
|
||||||
@@ -82,15 +93,3 @@ $variant: 'light';
|
|||||||
/* keep in sync with -panel-corner-radius */
|
/* keep in sync with -panel-corner-radius */
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@each $v in us, intl {
|
|
||||||
.toggle-switch-#{$v} {
|
|
||||||
background-image: url("classic-toggle-off-#{$v}.svg");
|
|
||||||
&:checked { background-image: url("classic-toggle-on-#{$v}.svg"); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-day-with-events {
|
|
||||||
background-image: url("calendar-today.svg");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
[GNOME Session]
|
|
||||||
Name=GNOME Classic
|
|
||||||
RequiredComponents=org.gnome.Shell;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.ScreensaverProxy;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;
|
|
||||||
@@ -11,6 +11,6 @@ will then be synchronized periodically before releases.
|
|||||||
GNOME Shell Sass is distributed under the terms of the GNU General Public
|
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.
|
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
|
[sass-repo]: https://gitlab.gnome.org/GNOME/gnome-shell-sass
|
||||||
[license]: COPYING
|
[license]: COPYING
|
||||||
|
|||||||
@@ -1,34 +1,53 @@
|
|||||||
// When color definition differs for dark and light variant,
|
// When color definition differs for dark and light variant,
|
||||||
// it gets @if ed depending on $variant
|
// it gets @if-ed depending on $variant
|
||||||
|
|
||||||
$base_color: if($variant == 'light', #fff, lighten(desaturate(#241f31, 20%), 2%));
|
@import '_palette.scss';
|
||||||
$bg_color: if($variant == 'light', #f6f5f4, darken(desaturate(#3d3846, 100%), 4%));
|
|
||||||
$fg_color: if($variant == 'light', #2e3436, #eeeeec);
|
$is_highcontrast: "false";
|
||||||
|
|
||||||
|
$_dark_base_color: darken(desaturate(#241f31, 100%), 2%);
|
||||||
|
|
||||||
|
$base_color: if($variant == 'light', #fff, $_dark_base_color);
|
||||||
|
$bg_color: if($variant == 'light', #f6f5f4, lighten($base_color, 5%));
|
||||||
|
$fg_color: if($variant == 'light', transparentize(black, .2), white);
|
||||||
|
|
||||||
$selected_fg_color: #fff;
|
$selected_fg_color: #fff;
|
||||||
$selected_bg_color: if($variant == 'light', #3584e4, darken(#3584e4, 10%));
|
$selected_bg_color: #3584e4;
|
||||||
$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color, 30%));
|
$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color, 30%));
|
||||||
$borders_color: if($variant == 'light', darken($bg_color, 18%), darken($bg_color, 8%));
|
|
||||||
$borders_edge: if($variant == 'light', rgba(255,255,255,0.8), transparentize($fg_color, 0.93));
|
$borders_color: if($variant == 'light', transparentize($fg_color, .5), transparentize($fg_color, .9));
|
||||||
|
$borders_edge: if($variant == 'light', rgba(255,255,255,0.8), lighten($bg_color, 5%));
|
||||||
|
|
||||||
$link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%));
|
$link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%));
|
||||||
$link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color, 10%));
|
$link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color, 10%));
|
||||||
$top_hilight: $borders_edge;
|
|
||||||
|
|
||||||
$warning_color: #f57900;
|
$warning_color: if($variant == 'light', $yellow_5, #cd9309);
|
||||||
$error_color: #ff8080;
|
$error_color: if($variant == 'light', $red_3, $red_4);
|
||||||
$success_color: if($variant == 'light', #33d17a, darken(#33d17a, 10%));
|
$success_color: if($variant == 'light', $green_4, $green_5);
|
||||||
$destructive_color: if($variant == 'light', #e01b24, darken(#e01b24, 10%));
|
$destructive_color: $error_color;
|
||||||
|
|
||||||
$osd_fg_color: #eeeeec;
|
$osd_fg_color: white;
|
||||||
$osd_text_color: white;
|
$osd_bg_color: $_dark_base_color; //hardcoded for both light & dark
|
||||||
$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_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_insensitive_fg_color: if($variant == 'light', mix($osd_fg_color, $osd_bg_color, 80%), mix($osd_fg_color, $osd_bg_color, 70%));
|
||||||
$osd_borders_color: transparentize(black, 0.3);
|
$osd_borders_color: transparentize(black, 0.3);
|
||||||
$osd_outer_borders_color: transparentize(white, 0.84);
|
$osd_outer_borders_color: transparentize($osd_fg_color, 0.98);
|
||||||
|
|
||||||
$shadow_color: if($variant == 'light', rgba(0,0,0,0.1), rgba(0,0,0,0.2));
|
$shadow_color: if($variant == 'light', rgba(0,0,0,0.1), rgba(0,0,0,0.2));
|
||||||
|
|
||||||
|
// button
|
||||||
|
$button_mix_factor: 5%;
|
||||||
|
|
||||||
|
// cards
|
||||||
|
$card_bg_color: if($variant == 'light', darken($bg_color, 5%), lighten($bg_color, 2%));
|
||||||
|
$card_outer_borders_color: transparentize($fg_color, 0.98);
|
||||||
|
|
||||||
|
// notifications
|
||||||
|
$bubble_buttons_color: if($variant == 'light', darken($bg_color, 12%), lighten($bg_color, 10%));
|
||||||
|
|
||||||
|
// overview background color
|
||||||
|
$system_bg_color: $base_color;
|
||||||
|
|
||||||
//insensitive state derived colors
|
//insensitive state derived colors
|
||||||
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
|
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
|
||||||
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
|
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
|
||||||
@@ -41,3 +60,16 @@ $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_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_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%);
|
||||||
|
|
||||||
|
|
||||||
|
// derived checked colors
|
||||||
|
$checked_bg_color: if($variant=='light', darken($bg_color, 7%), lighten($bg_color, 7%));
|
||||||
|
$checked_fg_color: if($variant=='light', darken($fg_color, 7%), lighten($fg_color, 7%));
|
||||||
|
|
||||||
|
// derived hover colors
|
||||||
|
$hover_bg_color: if($variant=='light', darken($bg_color, 3%), lighten($bg_color, 10%));
|
||||||
|
$hover_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 10%));
|
||||||
|
|
||||||
|
// derived active colors
|
||||||
|
$active_bg_color: if($variant=='light', darken($bg_color, 5%), lighten($bg_color, 12%));
|
||||||
|
$active_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 12%));
|
||||||
|
|||||||
@@ -28,26 +28,17 @@ $cakeisalie: "This stylesheet is generated, DO NOT EDIT";
|
|||||||
// padding, margin and spacing
|
// padding, margin and spacing
|
||||||
$base_padding: 6px;
|
$base_padding: 6px;
|
||||||
$base_margin: 4px;
|
$base_margin: 4px;
|
||||||
$base_spacing: 6px;
|
|
||||||
|
|
||||||
// border radii
|
// border radii
|
||||||
$base_border_radius: 5px;
|
$base_border_radius: 8px;
|
||||||
|
|
||||||
$modal_radius:$base_border_radius * 2;
|
// radii of things that display over other things, e.g. popovers
|
||||||
|
$modal_radius: $base_border_radius*2; // 24px
|
||||||
|
|
||||||
// non-standard colors
|
// Chroma key to flag when a background-color is always occluded, not visible.
|
||||||
$bubble_borders_color: lighten($borders_color, if($variant=='light', 0%, 5%));
|
// This allows any box-shadow behind it to be rendered more efficiently by
|
||||||
// $bubble_borders_color: if($variant == 'light', rgba(255,255,255,0.1), rgba(0,0,0,0.3));
|
// omitting the middle rectangle.
|
||||||
|
$invisible_occluded_bg_color: rgba(3,2,1,0);
|
||||||
// hover
|
|
||||||
$hover_bg_color: if($variant=='light', darken($bg_color, 3%), lighten($bg_color, 5%));
|
|
||||||
$hover_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 5%));
|
|
||||||
$hover_borders_color: lighten($borders_color,if($variant=='light', 5%, 3%));
|
|
||||||
|
|
||||||
// active
|
|
||||||
$active_bg_color: if($variant == 'light', darken($bg_color, 7%), darken($bg_color, 9%));
|
|
||||||
$active_fg_color: darken($fg_color,if($variant=='light', 5%, 3%));
|
|
||||||
$active_borders_color: darken($borders_color,if($variant=='light', 5%, 3%));
|
|
||||||
|
|
||||||
// fonts
|
// fonts
|
||||||
$base_font_size: 11;
|
$base_font_size: 11;
|
||||||
@@ -55,6 +46,7 @@ $text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.
|
|||||||
|
|
||||||
// icons
|
// icons
|
||||||
$base_icon_size: 1.09em;
|
$base_icon_size: 1.09em;
|
||||||
|
$large_icon_size: $base_icon_size*2; // 32px
|
||||||
// $base_icon_size: 16px;
|
// $base_icon_size: 16px;
|
||||||
|
|
||||||
// Stage
|
// Stage
|
||||||
@@ -65,36 +57,29 @@ stage {
|
|||||||
|
|
||||||
/* Common Stylings */
|
/* Common Stylings */
|
||||||
|
|
||||||
// Text
|
|
||||||
%status_text {
|
|
||||||
font-size: 2em;
|
|
||||||
font-weight: bold;
|
|
||||||
color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
// osd panels
|
// osd panels
|
||||||
%osd_panel {
|
%osd_panel {
|
||||||
color: $osd_fg_color;
|
color: $osd_fg_color;
|
||||||
background-color: $osd_bg_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;
|
border-radius: 999px;
|
||||||
padding: $base_padding * 2;
|
padding: $base_padding*2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Overview panels
|
// Overview panels
|
||||||
// for the dash and workspace switcher
|
// for the dash and workspace switcher
|
||||||
%overview_panel {
|
%overview_panel {
|
||||||
color: $osd_fg_color;
|
color: $osd_fg_color;
|
||||||
background-color: transparentize($osd_bg_color, 0.2);
|
background-color: transparentize($osd_fg_color, 0.9);
|
||||||
border: 1px solid $osd_outer_borders_color;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// icon tiles
|
// icon tiles
|
||||||
%icon_tile {
|
%tile {
|
||||||
border-radius: $base_border_radius + 4px;
|
border-radius: $base_border_radius * 2; // 16px
|
||||||
padding: $base_padding;
|
padding: $base_padding;
|
||||||
|
spacing: $base_padding;
|
||||||
border: 2px solid transparent;
|
border: 2px solid transparent;
|
||||||
transition-duration: 100ms;
|
transition-duration: 200ms;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -102,76 +87,136 @@ stage {
|
|||||||
%bubble_panel {
|
%bubble_panel {
|
||||||
color: $fg_color;
|
color: $fg_color;
|
||||||
background-color: $bg_color;
|
background-color: $bg_color;
|
||||||
border: 1px solid if($variant=='light', rgba(0,0,0, 0.6), $borders_color);
|
border-radius: $base_border_radius*1.25 + 1px;
|
||||||
|
border: 1px solid $borders_edge;
|
||||||
}
|
}
|
||||||
|
|
||||||
// button styling
|
// normal button styling
|
||||||
%button {
|
%button {
|
||||||
border-radius: $base_border_radius;
|
border-radius: $base_border_radius - 2px; // 6px
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
min-height: 22px;
|
font-weight: bold;
|
||||||
padding: $base_padding * 0.5 $base_padding * 4;
|
padding: $base_padding*.5 $base_padding*4;
|
||||||
|
|
||||||
@include button(normal);
|
@include button(normal);
|
||||||
&:focus { @include button(focus);}
|
&:focus { @include button(focus);}
|
||||||
&:hover { @include button(hover);}
|
&:hover { @include button(hover);}
|
||||||
&:insensitive { @include button(insensitive);}
|
&:insensitive { @include button(insensitive);}
|
||||||
&:active { @include button(active);}
|
&:active { @include button(active);}
|
||||||
|
&:checked { @include button(checked);}
|
||||||
|
|
||||||
|
&.flat {
|
||||||
|
@include button(normal, $flat:true);
|
||||||
|
&:focus { @include button(focus, $flat:true);}
|
||||||
|
&:hover { @include button(hover, $flat:true);}
|
||||||
|
&:insensitive { @include button(insensitive, $flat:true);}
|
||||||
|
&:active { @include button(active, $flat:true);}
|
||||||
|
&:checked { @include button(checked, $flat:true);}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// buttons in dialogs
|
// buttons in dialogs/notifications
|
||||||
|
// lighter in color and have a greater radius
|
||||||
|
|
||||||
|
$bubble_button_radius:$base_border_radius*1.25;
|
||||||
|
|
||||||
%bubble_button {
|
%bubble_button {
|
||||||
@include button(normal, $shadow: none);
|
|
||||||
padding: $base_padding * 2;
|
padding: $base_padding * 2;
|
||||||
border-style: solid;
|
font-weight: bold !important;
|
||||||
border-width: 1px;
|
|
||||||
border-left-width: 0;
|
|
||||||
border-bottom-width: 0;
|
|
||||||
|
|
||||||
&:insensitive { @include button(insensitive, $shadow: none); }
|
&:ltr {margin-right: 1px;}
|
||||||
&:hover { @include button(hover, $shadow: none); }
|
&:rtl {margin-left: 1px;}
|
||||||
&:focus { @include button(focus, $shadow: none); }
|
|
||||||
&:active { @include button(active, $shadow: none); }
|
|
||||||
|
|
||||||
// radius is 2 pixel less to fit in bubble
|
@include button(normal, $c:$bubble_buttons_color);
|
||||||
&:first-child {
|
&:insensitive { @include button(insensitive, $c:$bubble_buttons_color);}
|
||||||
border-radius: 0 0 0 $modal_radius - 2px;
|
&:focus { @include button(focus, $c:$bubble_buttons_color);}
|
||||||
|
&:hover { @include button(hover, $c:$bubble_buttons_color);}
|
||||||
|
&:active { @include button(active, $c:$bubble_buttons_color);}
|
||||||
|
&:checked { @include button(checked, $c:$bubble_buttons_color);}
|
||||||
|
|
||||||
|
&:first-child:ltr {
|
||||||
|
border-radius: 0 0 0 $bubble_button_radius;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:last-child {
|
&:last-child:ltr {
|
||||||
border-right-width: 0;
|
border-radius: 0 0 $bubble_button_radius 0;
|
||||||
border-radius: 0 0 $modal_radius - 2px 0;
|
margin-right: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&:first-child:rtl {
|
||||||
|
border-radius: 0 0 $bubble_button_radius 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child:rtl {
|
||||||
|
border-radius: 0 0 0 $bubble_button_radius;
|
||||||
|
margin-left: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
&:first-child:last-child {
|
&:first-child:last-child {
|
||||||
border-radius: 0 0 $modal_radius - 2px $modal_radius - 2px;
|
border-radius: 0 0 $bubble_button_radius $bubble_button_radius !important;
|
||||||
|
margin-left: 0 !important;
|
||||||
|
margin-right: 0 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// buttons on OSD elements
|
||||||
// notification styling
|
// that are undecorated by default and use OSD colors
|
||||||
@mixin notification_bubble($flat: false) {
|
%osd_button {
|
||||||
border-width: 1px;
|
@include button(undecorated);
|
||||||
border-style: solid;
|
&:insensitive { @include button(undecorated, $tc:$osd_fg_color, $c:$osd_bg_color);}
|
||||||
border-radius: $base_border_radius + 2px;
|
&:focus { @include button(focus, $tc:$osd_fg_color, $c:$osd_bg_color);}
|
||||||
margin: $base_margin;
|
&:hover { @include button(hover, $tc:$osd_fg_color, $c:$osd_bg_color);}
|
||||||
|
&:active { @include button(active, $tc:$osd_fg_color, $c:$osd_bg_color);}
|
||||||
@if $flat {
|
&:outlined,&:checked { @include button(checked, $tc:$osd_fg_color, $c:$osd_bg_color);}
|
||||||
@include button(undecorated);
|
|
||||||
} @else {
|
|
||||||
@include button(normal);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:focus {
|
|
||||||
@include button(focus);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
@include button(hover);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active {
|
|
||||||
@include button(active);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* General Typography */
|
||||||
|
|
||||||
|
%large_title {
|
||||||
|
font-weight: 300;
|
||||||
|
@include fontsize(24);
|
||||||
|
}
|
||||||
|
|
||||||
|
%title_1 {
|
||||||
|
font-weight: 800;
|
||||||
|
@include fontsize(20);
|
||||||
|
}
|
||||||
|
|
||||||
|
%title_2 {
|
||||||
|
font-weight: 800;
|
||||||
|
@include fontsize(15);
|
||||||
|
}
|
||||||
|
|
||||||
|
%title_3 {
|
||||||
|
font-weight: 700;
|
||||||
|
@include fontsize(15);
|
||||||
|
}
|
||||||
|
|
||||||
|
%title_4 {
|
||||||
|
font-weight: 700;
|
||||||
|
@include fontsize(13);
|
||||||
|
}
|
||||||
|
|
||||||
|
%heading {
|
||||||
|
font-weight: 700;
|
||||||
|
@include fontsize(11);
|
||||||
|
}
|
||||||
|
|
||||||
|
%caption_heading {
|
||||||
|
font-weight: 700;
|
||||||
|
@include fontsize(9);
|
||||||
|
}
|
||||||
|
|
||||||
|
%caption {
|
||||||
|
font-weight: 400;
|
||||||
|
@include fontsize(9);
|
||||||
|
}
|
||||||
|
|
||||||
|
%smaller {
|
||||||
|
font-weight: 400;
|
||||||
|
@include fontsize(8);
|
||||||
|
}
|
||||||
|
|
||||||
|
%monospace {font-family: monospace;}
|
||||||
|
%numeric { font-feature-settings: "tnum";}
|
||||||
|
|||||||
+237
-132
@@ -25,103 +25,51 @@
|
|||||||
|
|
||||||
// entries
|
// entries
|
||||||
|
|
||||||
@mixin entry($t, $fc:$selected_bg_color, $edge: $borders_edge) {
|
@mixin entry($t, $fc:$selected_bg_color) {
|
||||||
//
|
//
|
||||||
// Entries drawing function
|
// Entries drawing function
|
||||||
//
|
//
|
||||||
// $t: entry type
|
// $t: entry type
|
||||||
// $fc: focus color
|
// $fc: focus color
|
||||||
// $edge: set to none to not draw the bottom edge or specify a color to not use the default one
|
|
||||||
//
|
//
|
||||||
// possible $t values:
|
// possible $t values:
|
||||||
// normal, focus, insensitive
|
// normal, focus, insensitive
|
||||||
//
|
//
|
||||||
|
|
||||||
@if $t==normal {
|
@if $t==normal {
|
||||||
background-color: $base_color;
|
background-color: lighten($bg_color, 5%);
|
||||||
border-color: $borders_color;
|
color: transparentize($fg_color,0.3);
|
||||||
|
border: 2px solid lighten($bg_color, 5%);
|
||||||
}
|
}
|
||||||
|
|
||||||
@if $t==focus {
|
@if $t==focus {
|
||||||
border-color: if($fc==$selected_bg_color,
|
background-color: mix(lighten($bg_color, 5%), $selected_bg_color, 95%);
|
||||||
$selected_borders_color,
|
border-color: $fc;
|
||||||
darken($fc,35%));
|
color: $fg_color;
|
||||||
box-shadow: inset 0 0 0 1px $fc;
|
&:hover {}
|
||||||
}
|
}
|
||||||
@if $t==hover { }
|
|
||||||
|
@if $t==hover {
|
||||||
|
background-color:lighten($hover_bg_color, 5%);
|
||||||
|
border-color:lighten($hover_bg_color, 5%);
|
||||||
|
color: transparentize($fg_color,0.3);
|
||||||
|
}
|
||||||
|
|
||||||
@if $t==insensitive {
|
@if $t==insensitive {
|
||||||
|
background-color:lighten($insensitive_bg_color, 5%);
|
||||||
|
border-color: lighten($insensitive_bg_color, 5%);
|
||||||
color: $insensitive_fg_color;
|
color: $insensitive_fg_color;
|
||||||
border-color: $insensitive_bg_color;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// buttons
|
// On-screen Keyboard
|
||||||
|
@mixin keyboard_key($t, $c:$osd_bg_color, $tc:$osd_fg_color) {
|
||||||
@function draw_border_color ($c) {
|
|
||||||
//
|
|
||||||
// colored buttons want the border form the base color
|
|
||||||
//
|
|
||||||
@return if($variant == 'light', darken($c, 18%), darken($c, 4%));
|
|
||||||
}
|
|
||||||
|
|
||||||
@function draw_text_shadow_color ($tc:$fg_color, $bg:$bg_color) {
|
|
||||||
//
|
//
|
||||||
// calculate the color of text shadows
|
// Keyboard key drawing function
|
||||||
//
|
//
|
||||||
// $tc is the text color
|
// $t: key type,
|
||||||
// $bg is the background color
|
// $c: base key color for colored* types
|
||||||
//
|
|
||||||
$lbg: lightness($bg)/100%;
|
|
||||||
@if lightness($tc)<50% { @return rgba(255,255,255,$lbg/($lbg*1.3)); }
|
|
||||||
@else { @return rgba(0,0,0,1-$lbg*0.8); }
|
|
||||||
}
|
|
||||||
|
|
||||||
@function draw_button_hilight_color($c) {
|
|
||||||
//
|
|
||||||
// calculate the right top hilight color for buttons
|
|
||||||
//
|
|
||||||
// $c: base color;
|
|
||||||
//
|
|
||||||
@if lightness($c)>90% { @return white; }
|
|
||||||
@else if lightness($c)>80% { @return rgba(255,255,255, 0.7); }
|
|
||||||
@else if lightness($c)>50% { @return rgba(255,255,255, 0.5); }
|
|
||||||
@else if lightness($c)>40% { @return rgba(255,255,255, 0.3); }
|
|
||||||
@else { @return rgba(255,255,255, 0.1); }
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin draw_button_text_shadow ($tc:$fg_color, $bg:$bg_color) {
|
|
||||||
//
|
|
||||||
// helper function for the text emboss effect
|
|
||||||
//
|
|
||||||
// $tc is the optional text color, not the shadow color
|
|
||||||
//
|
|
||||||
// TODO: this functions needs a way to deal with special cases
|
|
||||||
//
|
|
||||||
|
|
||||||
$shadow: draw_text_shadow_color($tc, $bg);
|
|
||||||
|
|
||||||
@if lightness($tc)<50% {
|
|
||||||
text-shadow: 0 1px $shadow;
|
|
||||||
icon-shadow: 0 1px $shadow;
|
|
||||||
}
|
|
||||||
@else {
|
|
||||||
text-shadow: 0 -1px $shadow;
|
|
||||||
icon-shadow: 0 -1px $shadow;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: $borders_edge, $shadow: $shadow_color) {
|
|
||||||
//
|
|
||||||
// Button drawing function
|
|
||||||
//
|
|
||||||
// $t: button type,
|
|
||||||
// $c: base button color for colored* types
|
|
||||||
// $tc: optional text color for colored* types
|
// $tc: optional text color for colored* types
|
||||||
// $edge: set to none to not draw the bottom edge or specify a color to not
|
|
||||||
// use the default one
|
|
||||||
// $shadow: set to none to not draw the drop shadow or specify a color to not
|
|
||||||
// use the default one
|
|
||||||
//
|
//
|
||||||
// possible $t values:
|
// possible $t values:
|
||||||
// normal, hover, active, insensitive, insensitive-active,
|
// normal, hover, active, insensitive, insensitive-active,
|
||||||
@@ -129,103 +77,260 @@
|
|||||||
// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
|
// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
|
||||||
//
|
//
|
||||||
|
|
||||||
$hilight_color: draw_button_hilight_color($c);
|
// normal key
|
||||||
$button_edge: if($edge == none, none, draw_widget_edge($edge));
|
@if $t==normal {
|
||||||
$blank_edge: if($edge == none, none, draw_widget_edge(transparentize($edge,1)));
|
color: $tc;
|
||||||
$button_shadow: if($shadow == none, none, 0 1px 1px 0 $shadow);
|
background-color: lighten($c, 3%);
|
||||||
|
}
|
||||||
|
|
||||||
|
// focused key
|
||||||
|
@if $t==focus {
|
||||||
|
color: $tc;
|
||||||
|
background-color: mix(lighten($c, 3%), $selected_bg_color, 90%);
|
||||||
|
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
|
||||||
|
&:hover {
|
||||||
|
background-color: mix(lighten($c, 8%), $selected_bg_color, 90%);
|
||||||
|
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3);
|
||||||
|
}
|
||||||
|
&:active {
|
||||||
|
background-color: mix(lighten($c, 10%), $selected_bg_color, 90%);
|
||||||
|
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// hover key
|
||||||
|
@else if $t==hover {
|
||||||
|
color: $tc;
|
||||||
|
background-color: lighten($c, 7%);
|
||||||
|
}
|
||||||
|
|
||||||
|
// active key
|
||||||
|
@else if $t==active {
|
||||||
|
color: $tc;
|
||||||
|
background-color: lighten($c, 10%);
|
||||||
|
}
|
||||||
|
|
||||||
|
// checked key
|
||||||
|
@else if $t==checked {
|
||||||
|
color: $tc;
|
||||||
|
background-color: lighten($c, 15%);
|
||||||
|
}
|
||||||
|
|
||||||
|
// insensitive key
|
||||||
|
@else if $t==insensitive {
|
||||||
|
color: $insensitive_fg_color;
|
||||||
|
background-color: $insensitive_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
// reset
|
||||||
|
@else if $t==undecorated {
|
||||||
|
background-color: transparent;
|
||||||
|
background-image: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Button drawing function
|
||||||
|
//
|
||||||
|
// $t: button type,
|
||||||
|
// $c: base button colors, derived from fg_color
|
||||||
|
// $tc: base button colors, derived from fg_color
|
||||||
|
//
|
||||||
|
// possible $t values:
|
||||||
|
// normal, hover, active, insensitive, insensitive-active,
|
||||||
|
// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active,
|
||||||
|
// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
|
||||||
|
//
|
||||||
|
// since buttons are all flat an borderless now the mixin is simpler
|
||||||
|
|
||||||
|
@mixin button($t, $tc:$fg_color, $c:$bg_color, $flat: false) {
|
||||||
|
|
||||||
|
$button_bg_color: mix($tc, $c, $button_mix_factor);
|
||||||
|
transition-duration: 100ms;
|
||||||
|
|
||||||
// normal button
|
// normal button
|
||||||
@if $t==normal {
|
@if $t==normal {
|
||||||
color: $tc;
|
color: $tc;
|
||||||
background-color: lighten($c, 3%);
|
background-color: $button_bg_color;
|
||||||
border-color: draw_border_color($c);
|
@if $flat {
|
||||||
@include draw_shadows($button_shadow);
|
background-color: transparent;
|
||||||
// box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
|
}
|
||||||
text-shadow: 0 1px $text_shadow_color;
|
@if $is_highcontrast == "true" {
|
||||||
icon-shadow: 0 1px $text_shadow_color;
|
box-shadow: inset 0 0 0 1px $button_inset_color;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// focused button
|
// focused button
|
||||||
@if $t==focus {
|
@if $t==focus {
|
||||||
color: $tc;
|
color: $tc;
|
||||||
text-shadow: 0 1px $text_shadow_color;
|
background-color: mix($button_bg_color, $selected_bg_color, 90%);
|
||||||
icon-shadow: 0 1px $text_shadow_color;
|
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4) !important;
|
||||||
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
|
&:hover {
|
||||||
//border-color: $selected_bg_color;
|
background-color: mix(lighten($button_bg_color, 3%), $selected_bg_color, 90%);
|
||||||
|
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3) !important;
|
||||||
|
}
|
||||||
|
&:active {
|
||||||
|
background-color: mix(lighten($button_bg_color, 6%), $selected_bg_color, 90%);
|
||||||
|
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3) !important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// hover button
|
// hover button
|
||||||
@else if $t==hover {
|
@else if $t==hover {
|
||||||
color: $tc;
|
color: $tc;
|
||||||
background-color: lighten($c, if($variant == 'light', 8%, 5%));
|
background-color: lighten($button_bg_color, 3%);
|
||||||
border-color: if($variant == 'light', draw_border_color(lighten($c, 7%)), draw_border_color($c));
|
|
||||||
@include draw_shadows($button_shadow);
|
@if $is_highcontrast == "true" {
|
||||||
text-shadow: 0 1px $text_shadow_color;
|
box-shadow: inset 0 0 0 1px lighten($button_inset_color, 3%);
|
||||||
icon-shadow: 0 1px $text_shadow_color;
|
background-color: mix(lighten($button_bg_color, 3%), $button_inset_color, 10%);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// active button
|
// active button
|
||||||
@else if $t==active {
|
@else if $t==active {
|
||||||
color: $tc;
|
color: $tc;
|
||||||
background-color: darken($c,3%);
|
background-color: lighten($button_bg_color, 6%);
|
||||||
border-color: draw_border_color(if($variant == 'light', $c, darken($c,7%)));
|
@if $is_highcontrast == "true" {
|
||||||
text-shadow: none;
|
box-shadow: inset 0 0 0 1px lighten($button_inset_color, 6%);
|
||||||
icon-shadow: none;
|
background-color: mix(lighten($button_bg_color, 6%), $button_inset_color, 10%);
|
||||||
box-shadow: none;
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// checked button
|
||||||
|
@else if $t==checked {
|
||||||
|
color: $tc;
|
||||||
|
background-color: lighten($button_bg_color, 9%);
|
||||||
|
@if $is_highcontrast == "true" {
|
||||||
|
box-shadow: inset 0 0 0 1px lighten($button_inset_color, 9%);
|
||||||
|
background-color: mix(lighten($button_bg_color, 9%), $button_inset_color, 10%);
|
||||||
|
}
|
||||||
|
&:hover { background-color: lighten($button_bg_color, 12%);}
|
||||||
|
&:active { background-color: lighten($button_bg_color, 15%);}
|
||||||
}
|
}
|
||||||
|
|
||||||
// insensitive button
|
// insensitive button
|
||||||
@else if $t==insensitive {
|
@else if $t==insensitive {
|
||||||
color: $insensitive_fg_color;
|
color: transparentize($tc, 0.5);
|
||||||
border-color: $insensitive_borders_color;
|
background-color: transparentize($tc, .95);
|
||||||
background-color: $insensitive_bg_color;
|
@if $is_highcontrast == "true" {
|
||||||
|
box-shadow: inset 0 0 0 1px transparentize($button_inset_color, 0.5);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// default/suggested button
|
||||||
|
@else if $t==default {
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
color: $selected_fg_color;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
text-shadow: none;
|
&:focus {
|
||||||
icon-shadow: none;
|
box-shadow: inset 0 0 0 2px lighten($selected_bg_color, 10%);
|
||||||
|
}
|
||||||
|
&:hover, &:focus {
|
||||||
|
background-color: lighten($selected_bg_color, 5%);
|
||||||
|
color: lighten($selected_fg_color, 5%);
|
||||||
|
}
|
||||||
|
&:active {
|
||||||
|
background-color: darken($selected_bg_color, 7%);
|
||||||
|
color: darken($selected_fg_color, 7%);
|
||||||
|
}
|
||||||
|
&:insensitive {
|
||||||
|
@include button(insensitive);
|
||||||
|
background-color: transparentize($selected_bg_color, .5);
|
||||||
|
color: transparentize($selected_fg_color, .5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// reset
|
// reset
|
||||||
@else if $t==undecorated {
|
@else if $t==undecorated {
|
||||||
border-color: transparent;
|
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
background-image: none;
|
background-color: none;
|
||||||
@include draw_shadows(inset 0 1px rgba(255,255,255,0),$blank_edge);
|
box-shadow: none;
|
||||||
text-shadow: none;
|
&:insensitive {
|
||||||
icon-shadow: none;
|
@include button(insensitive);
|
||||||
|
background-color: transparent;
|
||||||
|
color: transparentize($selected_fg_color, .5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// overview icons
|
// tile
|
||||||
@mixin overview-icon($color) {
|
@mixin tile_button($color, $flat: true) {
|
||||||
.overview-icon {
|
@extend %tile;
|
||||||
@extend %icon_tile;
|
@if $flat {
|
||||||
color: $color;
|
background-color: transparent;
|
||||||
|
} @else {
|
||||||
|
background-color: transparentize($color, .84);
|
||||||
}
|
}
|
||||||
|
&:hover { background-color: transparentize($color, .9);}
|
||||||
|
&:selected, &:focus {
|
||||||
|
background-color: transparentize($color, .87);
|
||||||
|
&:hover { background-color: transparentize($color, .84);}
|
||||||
|
&:active { background-color: transparentize($color, .87);}
|
||||||
|
}
|
||||||
|
&:active { background-color: transparentize($color, .84);}
|
||||||
|
&:outlined, &:checked {
|
||||||
|
background-color: transparentize($color, .81);
|
||||||
|
&:active { background-color: transparentize($color, .78);}
|
||||||
|
&:hover { background-color: transparentize($color, .75);}
|
||||||
|
}
|
||||||
|
&:drop {
|
||||||
|
border: 2px solid transparentize($selected_bg_color, .2); //already 2px transparent so no jumping
|
||||||
|
background-color: transparentize($selected_bg_color, .8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
&:hover,
|
// overview icon, dash, app grid
|
||||||
&:selected {
|
@mixin overview_icon($color, $flat: true) {
|
||||||
.overview-icon {
|
transition-duration: 400ms;
|
||||||
background-color: transparentize($color, .9);
|
.overview-icon { @extend %tile; }
|
||||||
}
|
@if $flat {
|
||||||
|
.overview-icon { background-color: transparent;}
|
||||||
|
} @else {
|
||||||
|
.overview-icon { background-color: transparentize($color, .81);}
|
||||||
|
}
|
||||||
|
&:hover .overview-icon { background-color: transparentize($color, .9);}
|
||||||
|
|
||||||
|
&:selected .overview-icon,
|
||||||
|
&:focus .overview-icon {
|
||||||
|
background-color: transparentize($color, .87);
|
||||||
|
&:hover .overview-icon { background-color: transparentize($color, .84);}
|
||||||
|
&:active .overview-icon { background-color: transparentize($color, .87);}
|
||||||
|
}
|
||||||
|
&:active .overview-icon { background-color: transparentize($color, .84);}
|
||||||
|
&:outlined .overview-icon,
|
||||||
|
&:checked .overview-icon {
|
||||||
|
background-color: transparentize($color, .81);
|
||||||
|
&:active .overview-icon { background-color: transparentize($color, .78);}
|
||||||
|
&:hover .overview-icon { background-color: transparentize($color, .75);}
|
||||||
|
}
|
||||||
|
&:drop .overview-icon {
|
||||||
|
border: 2px solid transparentize($selected_bg_color, .2); //already 2px transparent so no jumping
|
||||||
|
background-color: transparentize($selected_bg_color, .8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// styling for elements within popovers that look like notifications
|
||||||
|
@mixin card($flat: false) {
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
margin: $base_margin;
|
||||||
|
box-shadow: inset 0 0 0 1px $card_outer_borders_color;
|
||||||
|
|
||||||
|
@if $flat {
|
||||||
|
@include button(undecorated);
|
||||||
|
box-shadow: none !important;
|
||||||
|
} @else {
|
||||||
|
@include button(normal, $c:$card_bg_color);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:focus {
|
&:focus {
|
||||||
.overview-icon {
|
@include button(focus, $c:$card_bg_color);
|
||||||
background-color: transparentize($color, .7);
|
|
||||||
// border-color: $selected_bg_color;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&:drop {
|
&:hover {
|
||||||
.overview-icon {
|
@include button(hover, $c:$card_bg_color);
|
||||||
background-color: transparentize($selected_bg_color, .15);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&:active,
|
&:active {
|
||||||
&:checked {
|
@include button(active, $c:$card_bg_color);
|
||||||
.overview-icon {
|
|
||||||
background-color: transparentize(darken($osd_bg_color, 10%), .5);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,31 +1,50 @@
|
|||||||
// When color definition differs for dark and light variant,
|
// When color definition differs for dark and light variant,
|
||||||
// it gets @if ed depending on $variant
|
// it gets @if ed depending on $variant
|
||||||
|
|
||||||
|
@import '_palette.scss';
|
||||||
|
|
||||||
$base_color: #222;
|
$is_highcontrast: 'true';
|
||||||
$bg_color: #000;
|
|
||||||
$fg_color: #fff;
|
$base_color: if($variant == 'light', #fff, #000);
|
||||||
|
$bg_color: $base_color;
|
||||||
|
$fg_color: if($variant == 'light', transparentize(black, .2), white);
|
||||||
|
|
||||||
$selected_fg_color: #ffffff;
|
$selected_fg_color: #ffffff;
|
||||||
$selected_bg_color: darken(#4a90d9,20%);
|
$selected_bg_color: $blue_3;
|
||||||
|
|
||||||
$selected_borders_color: darken($selected_bg_color, 20%);
|
$selected_borders_color: darken($selected_bg_color, 20%);
|
||||||
$borders_color: darken($bg_color,12%);
|
$borders_color: lighten($bg_color,17%);
|
||||||
$borders_edge: transparentize($fg_color, 0.9);
|
$borders_edge: $borders_color;
|
||||||
$link_color: lighten($selected_bg_color,20%);
|
$link_color: lighten($selected_bg_color,20%);
|
||||||
$link_visited_color: lighten($selected_bg_color,10%);
|
$link_visited_color: lighten($selected_bg_color,10%);
|
||||||
$top_hilight: $borders_edge;
|
|
||||||
|
|
||||||
$warning_color: #f57900;
|
$warning_color: if($variant == 'light', $yellow_5, #cd9309);
|
||||||
$error_color: #cc0000;
|
$error_color: if($variant == 'light', $red_3, $red_4);
|
||||||
$success_color: darken(#73d216,10%);
|
$success_color: if($variant == 'light', $green_4, $green_5);
|
||||||
$destructive_color: darken(#ef2929,10%);
|
$destructive_color: $error_color;
|
||||||
|
|
||||||
$osd_fg_color: #eeeeec;
|
$osd_fg_color: white;
|
||||||
$osd_bg_color: #2e3436;
|
$osd_bg_color: $base_color;
|
||||||
$osd_borders_color: rgba(0,0,0, 0.7);
|
$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
|
||||||
$osd_outer_borders_color: rgba(255,255,255, 0.1);
|
$osd_insensitive_fg_color: if($variant == 'light', mix($osd_fg_color, $osd_bg_color, 80%), mix($osd_fg_color, $osd_bg_color, 70%));
|
||||||
|
$osd_borders_color: $osd_bg_color;
|
||||||
|
$osd_outer_borders_color: $osd_bg_color;
|
||||||
|
|
||||||
$shadow_color: rgba(0,0,0, 0.1);
|
$shadow_color: transparent;
|
||||||
|
|
||||||
|
// button
|
||||||
|
$button_inset_color: transparentize($fg_color, 0.8);
|
||||||
|
$button_mix_factor: 10%;
|
||||||
|
|
||||||
|
// cards
|
||||||
|
$card_bg_color: if($variant == 'light', darken($bg_color, 12%), lighten($bg_color, 12%));
|
||||||
|
$card_outer_borders_color: $card_bg_color;
|
||||||
|
|
||||||
|
// notifications
|
||||||
|
$bubble_buttons_color: if($variant == 'light', darken($bg_color, 22%), lighten($bg_color, 31%));
|
||||||
|
|
||||||
|
// overview background color
|
||||||
|
$system_bg_color: lighten($base_color, 17%);
|
||||||
|
|
||||||
//insensitive state derived colors
|
//insensitive state derived colors
|
||||||
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
|
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
|
||||||
@@ -39,3 +58,15 @@ $backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
|
|||||||
$backdrop_insensitive_color: lighten($backdrop_bg_color,15%);
|
$backdrop_insensitive_color: lighten($backdrop_bg_color,15%);
|
||||||
$backdrop_borders_color: mix($borders_color, $bg_color, 90%);
|
$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%);
|
||||||
|
|
||||||
|
// derived checked colors
|
||||||
|
$checked_bg_color: if($variant=='light', darken($bg_color, 12%), lighten($bg_color, 18%));
|
||||||
|
$checked_fg_color: if($variant=='light', darken($fg_color, 12%), lighten($fg_color, 18%));
|
||||||
|
|
||||||
|
// derived hover colors
|
||||||
|
$hover_bg_color: if($variant=='light', darken($bg_color, 8%), lighten($bg_color, 20%));
|
||||||
|
$hover_fg_color: if($variant=='light', darken($fg_color, 10%), lighten($fg_color, 20%));
|
||||||
|
|
||||||
|
// derived active colors
|
||||||
|
$active_bg_color: if($variant=='light', darken($bg_color, 10%), lighten($bg_color, 22%));
|
||||||
|
$active_fg_color: if($variant=='light', darken($fg_color, 10%), lighten($fg_color, 22%));
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
//GNOME Color Palette
|
||||||
|
$blue_1: #99c1f1;
|
||||||
|
$blue_2: #62a0ea;
|
||||||
|
$blue_3: #3584e4;
|
||||||
|
$blue_4: #1c71d8;
|
||||||
|
$blue_5: #1a5fb4;
|
||||||
|
$green_1: #8ff0a4;
|
||||||
|
$green_2: #57e389;
|
||||||
|
$green_3: #33d17a;
|
||||||
|
$green_4: #2ec27e;
|
||||||
|
$green_5: #26a269;
|
||||||
|
$yellow_1: #f9f06b;
|
||||||
|
$yellow_2: #f8e45c;
|
||||||
|
$yellow_3: #f6d32d;
|
||||||
|
$yellow_4: #f5c211;
|
||||||
|
$yellow_5: #e5a50a;
|
||||||
|
$orange_1: #ffbe6f;
|
||||||
|
$orange_2: #ffa348;
|
||||||
|
$orange_3: #ff7800;
|
||||||
|
$orange_4: #e66100;
|
||||||
|
$orange_5: #c64600;
|
||||||
|
$red_1: #f66151;
|
||||||
|
$red_2: #ed333b;
|
||||||
|
$red_3: #e01b24;
|
||||||
|
$red_4: #c01c28;
|
||||||
|
$red_5: #a51d2d;
|
||||||
|
$purple_1: #dc8add;
|
||||||
|
$purple_2: #c061cb;
|
||||||
|
$purple_3: #9141ac;
|
||||||
|
$purple_4: #813d9c;
|
||||||
|
$purple_5: #613583;
|
||||||
|
$brown_1: #cdab8f;
|
||||||
|
$brown_2: #b5835a;
|
||||||
|
$brown_3: #986a44;
|
||||||
|
$brown_4: #865e3c;
|
||||||
|
$brown_5: #63452c;
|
||||||
|
$light_1: #ffffff;
|
||||||
|
$light_2: #f6f5f4;
|
||||||
|
$light_3: #deddda;
|
||||||
|
$light_4: #c0bfbc;
|
||||||
|
$light_5: #9a9996;
|
||||||
|
$dark_1: #77767b;
|
||||||
|
$dark_2: #5e5c64;
|
||||||
|
$dark_3: #3d3846;
|
||||||
|
$dark_4: #241f31;
|
||||||
|
$dark_5: #000000;
|
||||||
@@ -24,26 +24,26 @@
|
|||||||
@import 'widgets/hotplug';
|
@import 'widgets/hotplug';
|
||||||
// Dialogs
|
// Dialogs
|
||||||
@import 'widgets/dialogs';
|
@import 'widgets/dialogs';
|
||||||
@import 'widgets/network-dialog';
|
|
||||||
// OSDs
|
// OSDs
|
||||||
@import 'widgets/osd';
|
@import 'widgets/osd';
|
||||||
@import 'widgets/switcher-popup';
|
@import 'widgets/switcher-popup';
|
||||||
@import 'widgets/workspace-switcher';
|
@import 'widgets/workspace-switcher';
|
||||||
|
@import 'widgets/screenshot';
|
||||||
// Panel
|
// Panel
|
||||||
@import 'widgets/panel';
|
@import 'widgets/panel';
|
||||||
@import 'widgets/corner-ripple';
|
@import 'widgets/corner-ripple';
|
||||||
|
@import 'widgets/quick-settings';
|
||||||
// Overview
|
// Overview
|
||||||
@import 'widgets/overview';
|
@import 'widgets/overview';
|
||||||
@import 'widgets/window-picker';
|
@import 'widgets/window-picker';
|
||||||
@import 'widgets/search-entry';
|
@import 'widgets/search-entry';
|
||||||
@import 'widgets/search-results';
|
@import 'widgets/search-results';
|
||||||
@import 'widgets/app-grid';
|
|
||||||
@import 'widgets/dash';
|
@import 'widgets/dash';
|
||||||
|
@import 'widgets/app-grid';
|
||||||
@import 'widgets/workspace-thumbnails';
|
@import 'widgets/workspace-thumbnails';
|
||||||
// A11y / misc
|
// A11y / misc
|
||||||
@import 'widgets/a11y';
|
@import 'widgets/a11y';
|
||||||
@import 'widgets/misc';
|
@import 'widgets/misc';
|
||||||
@import 'widgets/tiled-previews';
|
|
||||||
@import 'widgets/keyboard';
|
@import 'widgets/keyboard';
|
||||||
@import 'widgets/looking-glass';
|
@import 'widgets/looking-glass';
|
||||||
// Lock / login screens
|
// Lock / login screens
|
||||||
|
|||||||
@@ -1,51 +1,42 @@
|
|||||||
/* App Grid */
|
/* App Grid */
|
||||||
|
|
||||||
$app_icon_size: 96px;
|
$app_icon_size: 96px;
|
||||||
$app_icon_padding: 24px;
|
|
||||||
|
|
||||||
// app icons
|
// app icons
|
||||||
.icon-grid {
|
.icon-grid {
|
||||||
-shell-grid-horizontal-item-size: $app_icon_size + $app_icon_padding * 2;
|
row-spacing: $base_padding * 2;
|
||||||
-shell-grid-vertical-item-size: $app_icon_size + $app_icon_padding * 2;
|
column-spacing: $base_padding * 2;
|
||||||
spacing: $base_spacing * 6;
|
max-row-spacing: $base_padding * 7;
|
||||||
|
max-column-spacing: $base_padding * 7;
|
||||||
.overview-icon {
|
page-padding-top: $base_padding * 4;
|
||||||
icon-size: $app_icon_size;
|
page-padding-bottom: $base_padding * 4;
|
||||||
}
|
page-padding-left: $base_padding * 3;
|
||||||
|
page-padding-right: $base_padding * 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
//.app-display { spacing: 20px; }
|
|
||||||
|
|
||||||
/* App Icons */
|
/* App Icons */
|
||||||
|
|
||||||
$app_grid_fg_color: #fff;
|
|
||||||
|
|
||||||
// Icon tiles in the app grid
|
// Icon tiles in the app grid
|
||||||
.app-well-app,
|
.app-well-app {
|
||||||
%app-well-app {
|
@include overview_icon($osd_fg_color);
|
||||||
@include overview-icon($app_grid_fg_color);
|
|
||||||
|
|
||||||
|
.overview-icon { padding: $base_padding*2;}
|
||||||
.overview-icon.overview-icon-with-label {
|
.overview-icon.overview-icon-with-label {
|
||||||
padding: 10px 8px 5px 8px;
|
|
||||||
|
|
||||||
> StBoxLayout {
|
> StBoxLayout {
|
||||||
spacing: $base_spacing;
|
spacing: $base_padding;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* App Folders */
|
// app folders
|
||||||
.app-well-app.app-folder {
|
.app-well-app.app-folder {
|
||||||
background-color: transparentize($osd_bg_color, 0.8);
|
@include overview_icon($osd_fg_color, $flat: false);
|
||||||
border-radius: $base_border_radius + 4px; // same as %icon_tile
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// expanded folder
|
// expanded folder
|
||||||
.app-folder-dialog {
|
.app-folder-dialog {
|
||||||
border-radius: $modal_radius * 1.5;
|
border-radius: $modal_radius*2;
|
||||||
border: 1px solid $osd_outer_borders_color;
|
background-color: $dash_background_color;
|
||||||
spacing: 12px;
|
|
||||||
background-color: transparentize(darken($osd_bg_color,10%), 0.05);
|
|
||||||
|
|
||||||
& .folder-name-container {
|
& .folder-name-container {
|
||||||
padding: 24px 36px 0;
|
padding: 24px 36px 0;
|
||||||
@@ -53,8 +44,7 @@ $app_grid_fg_color: #fff;
|
|||||||
|
|
||||||
& .folder-name-label,
|
& .folder-name-label,
|
||||||
& .folder-name-entry {
|
& .folder-name-entry {
|
||||||
font-size: 18pt;
|
@extend %title_1;
|
||||||
font-weight: bold;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
& .folder-name-entry { width: 300px }
|
& .folder-name-entry { width: 300px }
|
||||||
@@ -64,55 +54,55 @@ $app_grid_fg_color: #fff;
|
|||||||
|
|
||||||
& .edit-folder-button {
|
& .edit-folder-button {
|
||||||
@extend %button;
|
@extend %button;
|
||||||
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
width: 36px;
|
width: 36px;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
border-radius: 18px;
|
border-radius: 99px;
|
||||||
|
& > StIcon { icon-size: $base_icon_size }
|
||||||
& > StIcon { icon-size: 16px }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
& .icon-grid {
|
||||||
|
row-spacing: $base_padding * 2;
|
||||||
|
column-spacing: $base_padding * 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 {
|
.app-folder-dialog-container {
|
||||||
padding: 12px;
|
padding: $base_padding*2;
|
||||||
width: 800px;
|
width: 720px;
|
||||||
height: 600px;
|
height: 720px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.app-folder-icon {
|
|
||||||
padding: $base_padding;
|
|
||||||
spacing-rows: $base_spacing;
|
|
||||||
spacing-columns: $base_spacing;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Running app indicator (also shown in dash)
|
// Running app indicator (also shown in dash)
|
||||||
.app-well-app-running-dot {
|
.app-well-app-running-dot {
|
||||||
height: 5px;
|
height: 5px;
|
||||||
width: 5px;
|
width: 5px;
|
||||||
border-radius:5px;
|
border-radius:5px;
|
||||||
|
margin-bottom: 8px;
|
||||||
background-color: $osd_fg_color;
|
background-color: $osd_fg_color;
|
||||||
margin-bottom: 1px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Rename popup for app folders
|
// Rename popup for app folders
|
||||||
.rename-folder-popup {
|
.rename-folder-popup {
|
||||||
.rename-folder-popup-item {
|
.rename-folder-popup-item {
|
||||||
spacing: $base_spacing;
|
spacing: $base_padding;
|
||||||
&:ltr, &:rtl { padding: 0 $base_padding * 2; }
|
&:ltr, &:rtl { padding: 0 $base_padding * 2; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// right-click app menu
|
|
||||||
.app-menu,
|
|
||||||
.app-well-menu {
|
|
||||||
max-width: 27.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
// App Grid pagination indicators
|
// App Grid pagination indicators
|
||||||
.page-indicator {
|
.page-indicator {
|
||||||
padding: 15px 20px;
|
padding: $base_padding $base_padding * 2 0;
|
||||||
|
transition-duration:400ms;
|
||||||
|
|
||||||
.page-indicator-icon {
|
.page-indicator-icon {
|
||||||
width: 10px;
|
width: 10px;
|
||||||
@@ -122,16 +112,10 @@ $app_grid_fg_color: #fff;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Some hacks I don't even know
|
.apps-scroll-view {
|
||||||
.all-apps,
|
padding: 0;
|
||||||
.frequent-apps > StBoxLayout {
|
|
||||||
// horizontal padding to make sure scrollbars or dash don't overlap content
|
|
||||||
padding: 0px 88px 10px 88px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Label when no frequent apps
|
|
||||||
.no-frequent-applications-label { @extend %status_text; }
|
|
||||||
|
|
||||||
// shutdown and other actions in the grid
|
// shutdown and other actions in the grid
|
||||||
.system-action-icon {
|
.system-action-icon {
|
||||||
background-color: rgba(0,0,0,0.8);
|
background-color: rgba(0,0,0,0.8);
|
||||||
@@ -140,43 +124,38 @@ $app_grid_fg_color: #fff;
|
|||||||
icon-size: $app_icon_size * 0.5;
|
icon-size: $app_icon_size * 0.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Frequent | All toggle */
|
.page-navigation-hint {
|
||||||
|
&.dnd {
|
||||||
// container
|
background: rgba(255, 255, 255, 0.1);
|
||||||
.app-view-controls {
|
|
||||||
padding-bottom: 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// buttons
|
|
||||||
.app-view-control {
|
|
||||||
padding: 4px 32px;
|
|
||||||
margin: 0 4px;
|
|
||||||
|
|
||||||
&, &:hover, &:checked {
|
|
||||||
@include button(undecorated);
|
|
||||||
color: darken($osd_fg_color, 25%);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
&:hover {
|
&.next:ltr,
|
||||||
color: $osd_fg_color;
|
&.previous:rtl {
|
||||||
box-shadow: inset 0 -2px darken($osd_fg_color, 25%);
|
background-gradient-start: rgba(255, 255, 255, 0.05);
|
||||||
|
background-gradient-end: transparent;
|
||||||
|
background-gradient-direction: horizontal;
|
||||||
|
border-radius: $modal_radius*1.5 0px 0px $modal_radius*1.5;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:active {
|
&.previous:ltr,
|
||||||
box-shadow: inset 0 -2px $osd_fg_color;
|
&.next:rtl {
|
||||||
}
|
background-gradient-start: transparent;
|
||||||
|
background-gradient-end: rgba(255, 255, 255, 0.05);
|
||||||
&:checked {
|
background-gradient-direction: horizontal;
|
||||||
color: $osd_fg_color;
|
border-radius: 0px $modal_radius*1.5 $modal_radius*1.5 0px;
|
||||||
box-shadow: inset 0 -2px $selected_bg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:first-child {
|
|
||||||
border-right-width: 0;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.page-navigation-arrow {
|
||||||
|
& > StIcon {
|
||||||
|
margin: 6px;
|
||||||
|
padding: 18px;
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
border-radius: 99px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:insensitive > StIcon { @include button(undecorated, $osd_fg_color, transparentize($osd_bg_color, 0.5));}
|
||||||
|
&:hover > StIcon { @include button(hover, $osd_fg_color, transparentize($osd_bg_color, 0.5));}
|
||||||
|
&:active > StIcon { @include button(active, $osd_fg_color, transparentize($osd_bg_color, 0.5));}
|
||||||
|
}
|
||||||
|
|||||||
@@ -14,5 +14,5 @@
|
|||||||
|
|
||||||
// Dropshadow for large icons
|
// Dropshadow for large icons
|
||||||
.icon-dropshadow {
|
.icon-dropshadow {
|
||||||
icon-shadow: 0 1px 2px rgba(black, 0.4);
|
icon-shadow: 0 1px 5px rgba(black, 0.8);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,4 +2,18 @@
|
|||||||
|
|
||||||
.button {
|
.button {
|
||||||
@extend %button; // that's it
|
@extend %button; // that's it
|
||||||
|
min-height: 22px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.icon-button {
|
||||||
|
@extend .button; // same style as buttons
|
||||||
|
|
||||||
|
border-radius: 99px;
|
||||||
|
padding: $base_padding*2;
|
||||||
|
min-height: 16px;
|
||||||
|
|
||||||
|
StIcon {
|
||||||
|
icon-size: $base_icon_size;
|
||||||
|
-st-icon-style: symbolic;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,264 +1,257 @@
|
|||||||
/* Date/Time Menu */
|
/* Date/Time Menu */
|
||||||
|
|
||||||
.clock-display-box {
|
|
||||||
spacing: $base_spacing / 2;
|
|
||||||
|
|
||||||
.clock {
|
|
||||||
padding-left: $base_padding;
|
|
||||||
padding-right: $base_padding;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// overall menu
|
// overall menu
|
||||||
#calendarArea {
|
#calendarArea {
|
||||||
padding:0;
|
padding: $base_padding - 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Calendar menu side column
|
// Calendar menu side column
|
||||||
.datemenu-calendar-column {
|
.datemenu-calendar-column {
|
||||||
spacing: $base_spacing;
|
spacing: $base_padding;
|
||||||
border: 0 solid $bubble_borders_color;
|
&:ltr {padding-left: $base_padding;}
|
||||||
padding: 0 $base_padding * 2;
|
&:rtl {padding-right: $base_padding;}
|
||||||
|
.datemenu-displays-box {spacing: $base_padding;}
|
||||||
&:ltr {margin-right: $base_margin * 2; border-left-width: 1px; }
|
|
||||||
&:rtl {margin-left: $base_margin * 2; border-right-width: 1px; }
|
|
||||||
|
|
||||||
.datemenu-displays-section {
|
|
||||||
}
|
|
||||||
|
|
||||||
.datemenu-displays-box {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.events-section-title {
|
|
||||||
@include notification_bubble($flat: true);
|
|
||||||
color: desaturate(darken($fg_color,40%), 10%);
|
|
||||||
font-weight: bold;
|
|
||||||
padding: .4em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* today button (the date) */
|
/* today button (the date) */
|
||||||
.datemenu-today-button {
|
.datemenu-today-button {
|
||||||
@include notification_bubble($flat: true);
|
@include card(flat);
|
||||||
padding: $base_padding * 1.5;
|
padding: $base_padding * 1.5;
|
||||||
|
|
||||||
// weekday label
|
// weekday label
|
||||||
.day-label {
|
.day-label {
|
||||||
@include fontsize($base_font_size+1);
|
@extend %heading;
|
||||||
font-weight: bold;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// date label
|
// date label
|
||||||
.date-label {
|
.date-label {
|
||||||
@include fontsize($base_font_size+7);
|
@extend %title_2;
|
||||||
font-weight: 1000;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Calendar */
|
/* Calendar */
|
||||||
.calendar {
|
.calendar {
|
||||||
@include notification_bubble;
|
@include card(flat);
|
||||||
padding: $base_padding;
|
margin-top: 0;
|
||||||
|
|
||||||
// month
|
// month header
|
||||||
.calendar-month-label {
|
.calendar-month-header {
|
||||||
color: lighten($fg_color,5%);
|
|
||||||
font-weight: bold;
|
// prev/next month icons
|
||||||
padding: 8px 0;
|
.calendar-change-month-back StIcon,
|
||||||
&:focus {}
|
.calendar-change-month-forward StIcon {
|
||||||
|
icon-size: $base_icon_size;
|
||||||
|
}
|
||||||
|
|
||||||
|
// month label
|
||||||
|
.calendar-month-label {
|
||||||
|
color: lighten($fg_color,5%);
|
||||||
|
@extend %heading;
|
||||||
|
padding: 8px 0;
|
||||||
|
}
|
||||||
|
.pager-button {
|
||||||
|
background-color: transparent;
|
||||||
|
height: 32px;
|
||||||
|
width: 32px;
|
||||||
|
margin: 2px;
|
||||||
|
border-radius: $base_border_radius - 2px;
|
||||||
|
&:hover, &:focus {background-color: $hover_bg_color;}
|
||||||
|
&:active {background-color: $active_bg_color;}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// prev/next month icons
|
$calendar_day_size: 3em;
|
||||||
.calendar-change-month-back StIcon,
|
|
||||||
.calendar-change-month-forward StIcon {
|
|
||||||
icon-size: $base_icon_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pager-button {
|
|
||||||
background-color: transparent;
|
|
||||||
height: 32px;
|
|
||||||
width: 32px;
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
&:hover, &:focus { background-color: lighten($hover_bg_color, 5%); }
|
|
||||||
&:active { background-color: $active_bg_color; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$calendar_day_size: 32px;
|
|
||||||
|
|
||||||
.calendar-day-base {
|
.calendar-day-base {
|
||||||
@include fontsize($base_font_size - 3);
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
width: $calendar_day_size;
|
|
||||||
height: $calendar_day_size;
|
|
||||||
padding: 0;
|
|
||||||
margin: 2px;
|
margin: 2px;
|
||||||
border-radius: $calendar_day_size * 0.5 + 2px;
|
padding: 0 !important;
|
||||||
border: 1px solid transparent; //avoid jumparound due to today
|
height: $calendar_day_size !important;
|
||||||
font-feature-settings: "tnum";
|
width: $calendar_day_size !important;
|
||||||
&:hover, &:focus { background-color: $hover_bg_color; }
|
border-radius: 99px;
|
||||||
|
transition-duration: 100ms;
|
||||||
|
@extend %numeric;
|
||||||
|
@extend %smaller;
|
||||||
|
|
||||||
|
&:hover {background-color: $hover_bg_color;}
|
||||||
|
&:focus {
|
||||||
|
background-color: mix($bg_color, $selected_bg_color, 80%);
|
||||||
|
color: $selected_fg_color;
|
||||||
|
box-shadow:inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
&:active,&:selected {
|
&:active,&:selected {
|
||||||
color: lighten($fg_color,10%);
|
color: $active_fg_color;
|
||||||
background-color: darken($bg_color,5%);
|
background-color: $active_bg_color;
|
||||||
|
&:focus {
|
||||||
|
background-color: mix($active_bg_color, $selected_bg_color, 80%);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// day of week heading
|
// day of week heading
|
||||||
&.calendar-day-heading {
|
&.calendar-day-heading {
|
||||||
color: lighten($fg_color,10%);
|
color: $insensitive_fg_color;
|
||||||
margin-top: 1em;
|
padding-top: $base_padding;
|
||||||
@include fontsize($base_font_size - 4);
|
height: 16px !important; // force heading to be smaller height
|
||||||
|
font-weight: bold;
|
||||||
|
@extend %smaller;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar-day { //border collapse hack - see calendar.js
|
.calendar-day {}
|
||||||
border-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-day-top {
|
|
||||||
border-top-width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-day-left {
|
|
||||||
border-left-width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-work-day {}
|
.calendar-work-day {}
|
||||||
|
.calendar-nonwork-day {color: $insensitive_fg_color;}
|
||||||
.calendar-nonwork-day {
|
.calendar-other-month-day {
|
||||||
color: $insensitive_fg_color;
|
color: transparentize($fg_color, 0.5);
|
||||||
|
&.calendar-nonwork-day {
|
||||||
|
color: transparentize($insensitive_fg_color, 0.5);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Today
|
// Today
|
||||||
.calendar-today {
|
.calendar-today {
|
||||||
font-weight: bold;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
background-color: $selected_bg_color;
|
background-color: $selected_bg_color;
|
||||||
color: $selected_fg_color;
|
font-weight: 800;
|
||||||
|
color: $selected_fg_color !important;
|
||||||
|
|
||||||
&:hover,&:focus {
|
&:hover,&:focus {
|
||||||
background-color:lighten($selected_bg_color, 3%);
|
background-color:lighten($selected_bg_color, 3%);
|
||||||
color: $selected_fg_color;
|
color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:active,&:selected {
|
&:active,&:selected {
|
||||||
background-color: $selected_bg_color;
|
background-color: $selected_bg_color;
|
||||||
color: $selected_fg_color;
|
color: inherit;
|
||||||
|
|
||||||
&:hover,&:focus {
|
&:hover,&:focus {
|
||||||
background-color:lighten($selected_bg_color, 3%);
|
background-color:lighten($selected_bg_color, 3%);
|
||||||
color: $selected_fg_color;
|
color: inherit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar-day-with-events {
|
.calendar-day-with-events {
|
||||||
background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg");
|
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/calendar-today-light.svg"),url("resource:///org/gnome/shell/theme/calendar-today.svg"));
|
||||||
&.calendar-work-day {
|
background-size: contain;
|
||||||
color: lighten($fg_color,10%);
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-other-month-day {
|
|
||||||
color: transparentize($fg_color ,0.5);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar-week-number {
|
.calendar-week-number {
|
||||||
@include fontsize($base_font_size - 4);
|
@include fontsize($base_font_size - 4);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
height: 1.8em;
|
font-feature-settings: "tnum";
|
||||||
width: 2.3em;
|
|
||||||
border-radius: 2px;
|
|
||||||
padding: 0.5em 0 0;
|
|
||||||
margin: 6px;
|
margin: 6px;
|
||||||
|
padding: 0 $base_padding;
|
||||||
|
border-radius: 3px;
|
||||||
background-color: darken($bg_color, 2%);
|
background-color: darken($bg_color, 2%);
|
||||||
color: lighten($fg_color, 5%);
|
color: $insensitive_fg_color
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Events */
|
||||||
|
.events-button {
|
||||||
|
@include card;
|
||||||
|
padding: $base_padding * 2;
|
||||||
|
|
||||||
|
.events-box {
|
||||||
|
spacing: $base_padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
.events-list {
|
||||||
|
spacing: 2 * $base_padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
.events-title {
|
||||||
|
@extend %heading;
|
||||||
|
color: $insensitive_fg_color;
|
||||||
|
margin-bottom: $base_margin;
|
||||||
|
}
|
||||||
|
|
||||||
|
.event-time {
|
||||||
|
@extend %numeric;
|
||||||
|
@extend %caption;
|
||||||
|
color: $insensitive_fg_color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* World clocks */
|
/* World clocks */
|
||||||
.world-clocks-button {
|
.world-clocks-button {
|
||||||
@include notification_bubble;
|
@include card;
|
||||||
padding: $base_padding * 2;
|
padding: $base_padding * 2;
|
||||||
|
|
||||||
.world-clocks-grid {
|
.world-clocks-grid {
|
||||||
spacing-rows: $base_spacing;
|
spacing-rows: $base_padding;
|
||||||
spacing-columns: $base_spacing * 2;
|
spacing-columns: $base_padding * 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// title
|
// title
|
||||||
.world-clocks-header {
|
.world-clocks-header {
|
||||||
color: desaturate(darken($fg_color,40%), 10%);
|
@extend %heading;
|
||||||
font-weight: bold;
|
color: $insensitive_fg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
// city label
|
// city label
|
||||||
.world-clocks-city {
|
.world-clocks-city {
|
||||||
color: $fg_color;
|
color: $fg_color;
|
||||||
@include fontsize($base_font_size);
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// timezone time
|
// timezone time
|
||||||
.world-clocks-time {
|
.world-clocks-time {
|
||||||
font-weight: bold;
|
@extend %heading;
|
||||||
|
@extend %numeric;
|
||||||
color: $fg_color;
|
color: $fg_color;
|
||||||
font-feature-settings: "lnum";
|
|
||||||
@include fontsize($base_font_size);
|
&:ltr {text-align: right;}
|
||||||
text-align: right;
|
&:rtl {text-align: left;}
|
||||||
}
|
}
|
||||||
|
|
||||||
// timezone offset label
|
// timezone offset label
|
||||||
.world-clocks-timezone {
|
.world-clocks-timezone {
|
||||||
color: darken($fg_color,20%);
|
@extend %numeric;
|
||||||
font-feature-settings: "tnum";
|
@extend %caption;
|
||||||
@include fontsize($base_font_size - 1);
|
color: $insensitive_fg_color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Weather */
|
/* Weather */
|
||||||
.weather-button {
|
.weather-button {
|
||||||
@include notification_bubble;
|
@include card;
|
||||||
padding: $base_padding * 2;
|
padding: $base_padding * 2;
|
||||||
|
|
||||||
.weather-box {
|
.weather-box {
|
||||||
spacing: $base_spacing + $base_margin;
|
spacing: $base_padding + $base_margin;
|
||||||
}
|
}
|
||||||
|
|
||||||
.weather-header-box {
|
.weather-header-box {
|
||||||
spacing: $base_spacing;
|
spacing: $base_padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
.weather-header {
|
.weather-header {
|
||||||
color: desaturate(darken($fg_color,40%), 10%);
|
color: $insensitive_fg_color;
|
||||||
font-weight: bold;
|
@extend %heading;
|
||||||
|
|
||||||
&.location {
|
&.location {
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
@include fontsize($base_font_size - 1);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.weather-grid {
|
.weather-grid {
|
||||||
spacing-rows: $base_spacing;
|
spacing-rows: $base_padding;
|
||||||
spacing-columns: $base_spacing * 2;
|
spacing-columns: $base_padding * 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.weather-forecast-time {
|
.weather-forecast-time {
|
||||||
|
@extend %numeric;
|
||||||
|
@extend %caption;
|
||||||
color: darken($fg_color,30%);
|
color: darken($fg_color,30%);
|
||||||
font-feature-settings: "tnum";
|
|
||||||
@include fontsize($base_font_size - 2);
|
|
||||||
font-weight: normal;
|
|
||||||
padding-top: 0.2em;
|
padding-top: 0.2em;
|
||||||
padding-bottom: 0.4em;
|
padding-bottom: 0.4em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.weather-forecast-icon {
|
.weather-forecast-icon {
|
||||||
icon-size: $base_icon_size * 2;
|
icon-size: $large_icon_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
.weather-forecast-temp {
|
.weather-forecast-temp {
|
||||||
font-weight: bold;
|
@extend %heading;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
/* Check Boxes */
|
/* Check Boxes */
|
||||||
|
|
||||||
// these are equal to the size of the SVG assets
|
// these are equal to the size of the SVG assets
|
||||||
$check_height: 22px;
|
$check_height: 24px;
|
||||||
$check_width: 24px;
|
$check_width: 24px;
|
||||||
|
|
||||||
|
|
||||||
@@ -10,9 +10,9 @@ $check_width: 24px;
|
|||||||
StBin {
|
StBin {
|
||||||
width: $check_width;
|
width: $check_width;
|
||||||
height: $check_height;
|
height: $check_height;
|
||||||
background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg");
|
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/checkbox-off-light.svg"), url("resource:///org/gnome/shell/theme/checkbox-off.svg"));
|
||||||
}
|
}
|
||||||
&:focus StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); }
|
&:focus StBin { background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/checkbox-off-focused-light.svg"), url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"));; }
|
||||||
&:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
|
&:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
|
||||||
&:focus:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
|
&:focus:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
$ripple_size: 50px;
|
$ripple_size: 50px;
|
||||||
|
|
||||||
.ripple-box {
|
.ripple-box {
|
||||||
background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
|
background-color: rgba(255,255,255,0.2);
|
||||||
box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
|
box-shadow: 0 0 2px 2px rgba(255,255,255,0.2);
|
||||||
// plus + 2px for the border (box-shadow)
|
// plus + 2px for the border (box-shadow)
|
||||||
width: $ripple_size + 2px;
|
width: $ripple_size + 2px;
|
||||||
height: $ripple_size + 2px;
|
height: $ripple_size + 2px;
|
||||||
|
|||||||
@@ -1,20 +1,14 @@
|
|||||||
/* Dash */
|
/* Dash */
|
||||||
|
|
||||||
|
$dash_background_color: lighten($system_bg_color, 5%);
|
||||||
$dash_placeholder_size: 32px;
|
$dash_placeholder_size: 32px;
|
||||||
$dash_spacing: $base_padding + 4px;
|
$dash_padding: $base_padding*2; // 12px
|
||||||
$dash_border_radius: $modal_radius * 1.5;
|
$dash_border_radius: $modal_radius + $dash_padding;
|
||||||
|
|
||||||
|
// container for the dash
|
||||||
#dash {
|
#dash {
|
||||||
@extend %overview_panel;
|
@extend %caption;
|
||||||
@include fontsize($base_font_size - 2);
|
margin-top: $dash_padding;
|
||||||
padding: ($dash_spacing / 2) 0;
|
|
||||||
|
|
||||||
border-radius: 0 $dash_border_radius $dash_border_radius 0;
|
|
||||||
border-left-width: 0;
|
|
||||||
&:rtl {
|
|
||||||
border-radius: $dash_border_radius 0 0 $dash_border_radius;
|
|
||||||
border-right-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.placeholder {
|
.placeholder {
|
||||||
// background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
|
// background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
|
||||||
@@ -27,35 +21,55 @@ $dash_border_radius: $modal_radius * 1.5;
|
|||||||
width: $dash_placeholder_size;
|
width: $dash_placeholder_size;
|
||||||
height: $dash_placeholder_size;
|
height: $dash_placeholder_size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Running app indicator (also shown in app grid)
|
||||||
|
.app-well-app-running-dot {
|
||||||
|
margin-bottom: 14px; // hardcoded
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Dash Items
|
// background of the dash behind app icons
|
||||||
.dash-item-container > StWidget {
|
.dash-background {
|
||||||
padding: ($dash_spacing / 2) $dash_spacing;
|
background-color: $dash_background_color;
|
||||||
|
border-radius: $dash_border_radius;
|
||||||
|
padding: $dash_padding;
|
||||||
|
spacing: $base_padding;
|
||||||
|
margin-bottom: $dash_padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
// items on the dash
|
||||||
|
.dash-item-container {
|
||||||
|
> * {margin: 0 2px;}
|
||||||
|
&:ltr:first-child {margin-left: 0;}
|
||||||
|
&:rtl:first-child {margin-right: 0;}
|
||||||
|
|
||||||
|
// each app item on the dash
|
||||||
|
.app-well-app .overview-icon {
|
||||||
|
padding: $base_padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
// show apps button
|
||||||
|
.show-apps { @include overview_icon($osd_fg_color);}
|
||||||
|
|
||||||
|
.show-apps, .app-well-app {
|
||||||
|
padding-bottom: $dash_padding;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// separator between favourites and running apps
|
||||||
|
.dash-separator {
|
||||||
|
width: 1px;
|
||||||
|
margin: 0 $base_margin;
|
||||||
|
background-color: $borders_color;
|
||||||
|
margin-bottom: $dash_padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OSD Tooltip
|
// OSD Tooltip
|
||||||
.dash-label {
|
.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;
|
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;
|
text-align: center;
|
||||||
-x-offset: $base_margin * 2; // distance from the dash edge
|
-y-offset: $base_margin * 2; // distance from the dash edge
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show apps button
|
|
||||||
.show-apps {
|
|
||||||
@include overview-icon($osd_fg_color);
|
|
||||||
|
|
||||||
&:focus,
|
|
||||||
&:checked {
|
|
||||||
.overview-icon {
|
|
||||||
background-color: darken($osd_bg_color,10%);
|
|
||||||
color: $fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,10 @@
|
|||||||
/* Modal Dialogs */
|
/* Modal Dialogs */
|
||||||
|
|
||||||
.headline {
|
.headline {
|
||||||
@include fontsize($base_font_size + 1);
|
@extend %title_4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.modal-dialog {
|
.modal-dialog {
|
||||||
border-radius: $modal_radius;
|
|
||||||
@extend %bubble_panel;
|
@extend %bubble_panel;
|
||||||
|
|
||||||
.modal-dialog-content-box {
|
.modal-dialog-content-box {
|
||||||
@@ -35,13 +34,9 @@
|
|||||||
|
|
||||||
.message-dialog-title {
|
.message-dialog-title {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 18pt;
|
@extend %title_2;
|
||||||
font-weight: 800;
|
|
||||||
|
|
||||||
&.leightweight {
|
&.lightweight { @extend %title_4;}
|
||||||
font-size: 13pt;
|
|
||||||
font-weight: 800;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.message-dialog-description { text-align: center; }
|
.message-dialog-description { text-align: center; }
|
||||||
}
|
}
|
||||||
@@ -52,7 +47,7 @@
|
|||||||
|
|
||||||
.dialog-list-title {
|
.dialog-list-title {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: bold;
|
@extend %heading;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dialog-list-scrollview { max-height: 200px; }
|
.dialog-list-scrollview { max-height: 200px; }
|
||||||
@@ -65,7 +60,7 @@
|
|||||||
.dialog-list-item-title { font-weight: bold; }
|
.dialog-list-item-title { font-weight: bold; }
|
||||||
.dialog-list-item-description {
|
.dialog-list-item-description {
|
||||||
color: darken($fg_color,5%);
|
color: darken($fg_color,5%);
|
||||||
@include fontsize($base_font_size - 1);
|
@extend %caption;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -79,7 +74,7 @@
|
|||||||
}
|
}
|
||||||
.run-dialog-entry { width: 20em; }
|
.run-dialog-entry { width: 20em; }
|
||||||
.run-dialog-description {
|
.run-dialog-description {
|
||||||
@include fontsize($base_font_size - 1);
|
@extend %caption;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: darken($fg_color, 20%);
|
color: darken($fg_color, 20%);
|
||||||
}
|
}
|
||||||
@@ -120,7 +115,7 @@
|
|||||||
.prompt-dialog-info-label,
|
.prompt-dialog-info-label,
|
||||||
.prompt-dialog-null-label {
|
.prompt-dialog-null-label {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@include fontsize($base_font_size - 1);
|
@extend %caption;
|
||||||
}
|
}
|
||||||
|
|
||||||
.prompt-dialog-error-label {
|
.prompt-dialog-error-label {
|
||||||
@@ -135,10 +130,6 @@
|
|||||||
spacing: 8px;
|
spacing: 8px;
|
||||||
margin-bottom: 6px;
|
margin-bottom: 6px;
|
||||||
|
|
||||||
.polkit-dialog-user-icon {
|
|
||||||
border-radius: 99px;
|
|
||||||
background-size: contain;
|
|
||||||
}
|
|
||||||
.polkit-dialog-user-root-label { color: $warning_color; }
|
.polkit-dialog-user-root-label { color: $warning_color; }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -149,8 +140,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.audio-selection-device {
|
.audio-selection-device {
|
||||||
border: 1px solid $bubble_borders_color;
|
border-radius: $base_border_radius*2;
|
||||||
border-radius: 12px;
|
|
||||||
&:hover,&:focus { background-color: $hover_bg_color; }
|
&:hover,&:focus { background-color: $hover_bg_color; }
|
||||||
&:active {
|
&:active {
|
||||||
background-color: $selected_bg_color;
|
background-color: $selected_bg_color;
|
||||||
@@ -166,3 +156,17 @@
|
|||||||
.audio-selection-device-icon {
|
.audio-selection-device-icon {
|
||||||
icon-size: $base_icon_size * 4;
|
icon-size: $base_icon_size * 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 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;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Access portal dialog */
|
||||||
|
.access-dialog {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
@@ -3,23 +3,27 @@
|
|||||||
StEntry {
|
StEntry {
|
||||||
border-radius: $base_border_radius;
|
border-radius: $base_border_radius;
|
||||||
padding: 8px;
|
padding: 8px;
|
||||||
border-width: 1px;
|
|
||||||
color: $fg_color;
|
color: $fg_color;
|
||||||
|
|
||||||
@include entry(normal);
|
@include entry(normal);
|
||||||
//&:hover { @include entry(hover);}
|
&:hover { @include entry(hover);}
|
||||||
&:focus { @include entry(focus);}
|
&:focus { @include entry(focus);}
|
||||||
&:insensitive { @include entry(insensitive);}
|
&:insensitive { @include entry(insensitive);}
|
||||||
|
|
||||||
selection-background-color: $selected_bg_color;
|
selection-background-color: $selected_bg_color;
|
||||||
selected-color: $selected_fg_color;
|
selected-color: $selected_fg_color;
|
||||||
|
|
||||||
StIcon.capslock-warning {
|
StIcon.capslock-warning {
|
||||||
icon-size: 16px;
|
icon-size: 16px;
|
||||||
warning-color: $warning_color;
|
warning-color: $warning_color;
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
StIcon.peek-password {
|
StIcon.peek-password {
|
||||||
icon-size: $base_icon_size;
|
icon-size: $base_icon_size;
|
||||||
padding: 0 4px;
|
padding: 0 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
StLabel.hint-text {
|
StLabel.hint-text {
|
||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
color: transparentize($fg_color, 0.3);
|
color: transparentize($fg_color, 0.3);
|
||||||
|
|||||||
@@ -5,31 +5,35 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.candidate-popup-content {
|
.candidate-popup-content {
|
||||||
padding: 0.5em;
|
padding: $base_padding;
|
||||||
spacing: 0.3em;
|
spacing: $base_padding;
|
||||||
|
@extend .popup-menu-content;
|
||||||
}
|
}
|
||||||
|
|
||||||
.candidate-index {
|
.candidate-index {
|
||||||
padding: 0 0.5em 0 0;
|
padding: 0;
|
||||||
color: darken($fg_color,10%);
|
padding-right: $base_padding;
|
||||||
|
color: $insensitive_fg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.candidate-box {
|
.candidate-box {
|
||||||
padding: 0.3em 0.5em 0.3em 0.5em;
|
padding: $base_padding $base_padding*2 $base_padding $base_padding*2;
|
||||||
border-radius: $base_border_radius;
|
border-radius: $base_border_radius;
|
||||||
&:selected,&:hover { background-color: $selected_bg_color; color: $selected_fg_color; }
|
&:selected { background-color: $selected_bg_color; color: $selected_fg_color; }
|
||||||
|
&:hover { background-color: $hover_bg_color; color: $hover_fg_color; }
|
||||||
}
|
}
|
||||||
|
|
||||||
.candidate-page-button-box {
|
.candidate-page-button-box {
|
||||||
height: 2em;
|
height: 2em;
|
||||||
.vertical & { padding-top: 0.5em; }
|
.vertical & { padding-top: $base_padding*2; }
|
||||||
.horizontal & { padding-left: 0.5em; }
|
.horizontal & { padding-left: $base_padding*2; }
|
||||||
}
|
}
|
||||||
|
|
||||||
.candidate-page-button {
|
.candidate-page-button {
|
||||||
padding: 4px;
|
padding: $base_padding;
|
||||||
|
|
||||||
|
& StIcon { icon-size: $base_icon_size; }
|
||||||
}
|
}
|
||||||
|
|
||||||
.candidate-page-button-previous { border-radius: $base_border_radius 0px 0px $base_border_radius; border-right-width: 0; }
|
.candidate-page-button-previous { border-radius: $base_border_radius 0px 0px $base_border_radius; border-right-width: 0;box-shadow: none;}
|
||||||
.candidate-page-button-next { border-radius: 0px $base_border_radius $base_border_radius 0px; }
|
.candidate-page-button-next { border-radius: 0px $base_border_radius $base_border_radius 0px;box-shadow: none;}
|
||||||
.candidate-page-button-icon { icon-size: 1em; }
|
|
||||||
|
|||||||
@@ -1,15 +1,16 @@
|
|||||||
/* On-screen Keyboard */
|
/* On-screen Keyboard */
|
||||||
|
|
||||||
$key_size: 1.2em;
|
$key_size: 1.2em;
|
||||||
$key_border_radius: $base_border_radius + 3px;
|
$key_border_radius: $base_border_radius + 4px; // 12px
|
||||||
$key_bg_color: $bg_color;
|
$key_bg_color: darken($osd_fg_color, 70%);
|
||||||
// $default_key_bg_color: darken($key_bg_color, 4%);
|
// $default_key_bg_color: darken($key_bg_color, 4%);
|
||||||
$default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten($osd_bg_color, 2%));
|
$default_key_bg_color: if($variant=='light', darken($key_bg_color, 11%), darken($key_bg_color, 10%));
|
||||||
|
|
||||||
|
|
||||||
// draw keys using button function
|
// draw keys using button function
|
||||||
#keyboard {
|
#keyboard {
|
||||||
background-color: transparentize(if($variant=='light', darken($bg_color, 5%), darken($bg_color, 8%)), 0.1);
|
// background-color: transparentize(if($variant=='light', darken($bg_color, 5%), darken($bg_color, 8%)), 0.1);
|
||||||
|
background-color: $osd_bg_color;
|
||||||
box-shadow: inset 0 1px 0 0 $osd_outer_borders_color;
|
box-shadow: inset 0 1px 0 0 $osd_outer_borders_color;
|
||||||
|
|
||||||
.page-indicator {
|
.page-indicator {
|
||||||
@@ -31,18 +32,21 @@ $default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten
|
|||||||
// the keys
|
// the keys
|
||||||
.keyboard-key {
|
.keyboard-key {
|
||||||
|
|
||||||
@include button(normal, $c:$key_bg_color);
|
|
||||||
|
|
||||||
&:focus { @include button(focus);}
|
|
||||||
&:hover, &:checked { @include button(hover, $c: $key_bg_color);}
|
|
||||||
&:active { @include button(active, $c: $key_bg_color); }
|
|
||||||
|
|
||||||
@include fontsize($base_font_size + 5);
|
@include fontsize($base_font_size + 5);
|
||||||
|
font-weight: bold;
|
||||||
min-height: $key_size;
|
min-height: $key_size;
|
||||||
min-width: $key_size;
|
min-width: $key_size;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-radius: $key_border_radius;
|
border-radius: $key_border_radius;
|
||||||
|
box-shadow: 0 1px 0 0 $shadow_color;
|
||||||
|
|
||||||
|
@include keyboard_key(normal, $key_bg_color, $osd_fg_color);
|
||||||
|
|
||||||
|
&:focus { @include keyboard_key(focus);}
|
||||||
|
&:hover { @include keyboard_key(hover, $key_bg_color, $osd_fg_color);}
|
||||||
|
&:active { @include keyboard_key(active, $key_bg_color, $osd_fg_color); }
|
||||||
|
&:checked { @include keyboard_key(checked, $key_bg_color, $osd_fg_color); }
|
||||||
|
|
||||||
&:grayed { //FIXMEy
|
&:grayed { //FIXMEy
|
||||||
background-color: darken($bg_color, 3%);
|
background-color: darken($bg_color, 3%);
|
||||||
@@ -52,42 +56,65 @@ $default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten
|
|||||||
|
|
||||||
// non-character keys
|
// non-character keys
|
||||||
&.default-key {
|
&.default-key {
|
||||||
@include button(normal, $c:$default_key_bg_color);
|
@include keyboard_key(normal, $default_key_bg_color, $osd_fg_color);
|
||||||
&:hover, &:checked {@include button(hover, $c: $default_key_bg_color);}
|
&:hover {@include keyboard_key(hover, $default_key_bg_color, $osd_fg_color);}
|
||||||
&:active { @include button(active, $c: $default_key_bg_color);}
|
&:active { @include keyboard_key(active, $default_key_bg_color, $osd_fg_color);}
|
||||||
|
&:checked { @include keyboard_key(checked, $default_key_bg_color, $osd_fg_color);}
|
||||||
|
border-radius: $key_border_radius;
|
||||||
|
|
||||||
|
// keys that may be latched: ctrl/alt/shift
|
||||||
|
&:latched {
|
||||||
|
border-color: lighten($selected_bg_color, 5%);
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// enter key is suggested-action
|
// enter key is suggested-action
|
||||||
&.enter-key {
|
&.enter-key {
|
||||||
@include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
|
@include keyboard_key(normal, $selected_bg_color, $selected_fg_color);
|
||||||
&:hover, &:checked { @include button(hover, $c: lighten($selected_bg_color, 3%));}
|
&:hover { @include keyboard_key(hover, $selected_bg_color, $selected_fg_color);}
|
||||||
&:active {@include button(active, $c: darken($selected_bg_color, 2%));}
|
&:active {@include keyboard_key(active, $selected_bg_color, $selected_fg_color);}
|
||||||
|
&:checked {@include keyboard_key(checked, $selected_bg_color, $selected_fg_color);}
|
||||||
|
border-radius: $key_border_radius;
|
||||||
|
color: $osd_fg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.shift-key-uppercase { color: $selected_bg_color }
|
&.shift-key-lowercase {}
|
||||||
|
|
||||||
|
// pressed shift has different style
|
||||||
|
&.shift-key-uppercase {
|
||||||
|
background-color: lighten($key_bg_color, 20%);
|
||||||
|
color: $osd_bg_color;
|
||||||
|
&:hover {
|
||||||
|
background-color: lighten($key_bg_color, 25%);
|
||||||
|
color: lighten($osd_bg_color, 5%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
StIcon { icon-size: 1.125em; }
|
// size of icons on keys
|
||||||
|
StIcon { icon-size: 24px; }
|
||||||
}
|
}
|
||||||
|
|
||||||
// long press on a key popup
|
// long press on a key popup
|
||||||
.keyboard-subkeys {
|
.keyboard-subkeys {
|
||||||
color: $osd_fg_color;
|
-arrow-border-radius: $base_border_radius*2;
|
||||||
-arrow-border-radius: $modal_radius;
|
|
||||||
-arrow-background-color: $osd_bg_color;
|
-arrow-background-color: $osd_bg_color;
|
||||||
-arrow-border-width: 1px;
|
-arrow-border-width: 1px;
|
||||||
-arrow-border-color: lighten($osd_bg_color, 9%);
|
-arrow-border-color: lighten($osd_bg_color, 9%);
|
||||||
-arrow-base: 20px;
|
-arrow-base: 20px;
|
||||||
-arrow-rise: 10px;
|
-arrow-rise: 10px;
|
||||||
-boxpointer-gap: $base_spacing;
|
-boxpointer-gap: $base_padding;
|
||||||
|
padding: $base_padding;
|
||||||
|
|
||||||
.keyboard-key {
|
.keyboard-key {
|
||||||
@include button(normal, $c:$key_bg_color);
|
@include keyboard_key(normal, $key_bg_color, $osd_fg_color);
|
||||||
|
|
||||||
&:focus { @include button(focus);}
|
&:focus { @include keyboard_key(focus);}
|
||||||
&:hover, &:checked { @include button(hover, $c: $key_bg_color);}
|
&:hover { @include keyboard_key(hover, $key_bg_color, $osd_fg_color);}
|
||||||
&:active { @include button(active, $c: $key_bg_color); }
|
&:active { @include keyboard_key(active, $key_bg_color, $osd_fg_color); }
|
||||||
|
&:checked { @include keyboard_key(checked, $key_bg_color, $osd_fg_color); }
|
||||||
|
|
||||||
border-radius:$base_border_radius;
|
border-radius:$key_border_radius;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,7 +136,24 @@ $default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten
|
|||||||
|
|
||||||
// suggestions
|
// suggestions
|
||||||
.word-suggestions {
|
.word-suggestions {
|
||||||
@include fontsize($base_font_size + 3);
|
@include fontsize($base_font_size + 1);
|
||||||
spacing: 12px;
|
spacing: 12px;
|
||||||
min-height: 20pt;
|
min-height: 17pt;
|
||||||
|
padding: $base_padding*2;
|
||||||
|
color: $osd_fg_color;
|
||||||
|
|
||||||
|
// each suggestion
|
||||||
|
StButton {
|
||||||
|
margin: 0 3px;
|
||||||
|
min-width: 32px;
|
||||||
|
border-radius: $base_border_radius - 2px;
|
||||||
|
padding: 0px $base_padding*3;
|
||||||
|
|
||||||
|
@include keyboard_key(undecorated, $key_bg_color, $osd_fg_color);
|
||||||
|
|
||||||
|
&:focus { @include keyboard_key(focus);}
|
||||||
|
&:hover { @include keyboard_key(hover, $key_bg_color, $osd_fg_color);}
|
||||||
|
&:active { @include keyboard_key(active, $key_bg_color, $osd_fg_color); }
|
||||||
|
&:checked { @include keyboard_key(checked, $key_bg_color, $osd_fg_color); }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,28 +5,20 @@
|
|||||||
max-width: 23em;
|
max-width: 23em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.login-dialog {
|
.login-dialog,
|
||||||
|
.unlock-dialog {
|
||||||
//reset
|
//reset
|
||||||
border: none;
|
border: none;
|
||||||
background-color: transparent;
|
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);
|
|
||||||
background-color: $_gdm_entry_bg;
|
|
||||||
color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-dialog-button-box { spacing: 3px; }
|
.modal-dialog-button-box { spacing: 3px; }
|
||||||
.modal-dialog-button {
|
.modal-dialog-button {
|
||||||
padding: 4px 18px;
|
padding: 4px 18px;
|
||||||
box-shadow: 0 1px 3px rgba(0,0,0,0.2);
|
background-color: darken($system_bg_color, 3%);
|
||||||
background-color: $_gdm_bg;
|
border-color: darken($system_bg_color, 3%);
|
||||||
border-color: $_gdm_bg;
|
color: $osd_fg_color;
|
||||||
color: $fg_color;
|
|
||||||
|
|
||||||
$_hover_c: lighten($_gdm_bg, 5%);
|
$_hover_c: lighten($_gdm_bg, 5%);
|
||||||
&:hover, &:focus {
|
&:hover, &:focus {
|
||||||
@@ -35,7 +27,6 @@
|
|||||||
}
|
}
|
||||||
&:active {
|
&:active {
|
||||||
$_active_c: darken($_gdm_bg, 5%);
|
$_active_c: darken($_gdm_bg, 5%);
|
||||||
box-shadow: none;
|
|
||||||
background-color: $_active_c;
|
background-color: $_active_c;
|
||||||
border-color: $_active_c;
|
border-color: $_active_c;
|
||||||
}
|
}
|
||||||
@@ -43,29 +34,10 @@
|
|||||||
@include button(insensitive);
|
@include button(insensitive);
|
||||||
border-color: darken($_gdm_bg, 5%);
|
border-color: darken($_gdm_bg, 5%);
|
||||||
background-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 {
|
&:default {
|
||||||
@include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
|
@include button(default);
|
||||||
border-color: $selected_bg_color;
|
|
||||||
&:hover, &:focus {
|
|
||||||
@include button(hover,$c:$selected_bg_color, $tc:$selected_fg_color);
|
|
||||||
$_def_hover_c: lighten($selected_bg_color, 5%);
|
|
||||||
background-color: $_def_hover_c;
|
|
||||||
border-color: $_def_hover_c;
|
|
||||||
}
|
|
||||||
&:active {
|
|
||||||
@include button(active,$c:$selected_bg_color, $tc:$selected_fg_color);
|
|
||||||
$_def_active_c: darken($selected_bg_color, 5%);
|
|
||||||
background-color: $_def_active_c;
|
|
||||||
border-color: $_def_active_c;
|
|
||||||
}
|
|
||||||
&:insensitive {
|
|
||||||
@include button(insensitive);
|
|
||||||
border-color: darken($selected_bg_color, 10%);
|
|
||||||
background-color: darken($selected_bg_color, 10%);
|
|
||||||
color: transparentize($selected_fg_color, 0.3);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -74,10 +46,10 @@
|
|||||||
.login-dialog-session-list-button {
|
.login-dialog-session-list-button {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border-radius: 99px;
|
border-radius: 99px;
|
||||||
width: $base_icon_size * 2;
|
width: $large_icon_size;
|
||||||
height: $base_icon_size * 2;
|
height: $large_icon_size;
|
||||||
border-color: transparentize($bg_color,0.7);
|
border-color: darken($system_bg_color, 3%);
|
||||||
background-color: transparentize($bg_color,0.7);
|
background-color: darken($system_bg_color, 3%);
|
||||||
|
|
||||||
StIcon { icon-size: $base_icon_size; }
|
StIcon { icon-size: $base_icon_size; }
|
||||||
}
|
}
|
||||||
@@ -92,7 +64,6 @@
|
|||||||
.login-dialog-banner { color: darken($osd_fg_color,10%); }
|
.login-dialog-banner { color: darken($osd_fg_color,10%); }
|
||||||
.login-dialog-button-box { width: 23em; spacing: 5px; }
|
.login-dialog-button-box { width: 23em; spacing: 5px; }
|
||||||
.login-dialog-message { text-align: center; }
|
.login-dialog-message { text-align: center; }
|
||||||
.login-dialog-message-hint { padding-top: 0; padding-bottom: 20px; }
|
|
||||||
.login-dialog-user-selection-box { padding: 100px 0px; }
|
.login-dialog-user-selection-box { padding: 100px 0px; }
|
||||||
.login-dialog-not-listed-label {
|
.login-dialog-not-listed-label {
|
||||||
padding-left: 2px;
|
padding-left: 2px;
|
||||||
@@ -103,12 +74,37 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.login-dialog-not-listed-label {
|
.login-dialog-not-listed-label {
|
||||||
@include fontsize($base_font_size - 1);
|
@extend %caption;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: darken($osd_fg_color,30%);
|
color: darken($osd_fg_color,30%);
|
||||||
padding-top: 1em;
|
padding-top: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.login-dialog-auth-list-view { -st-vfade-offset: 1em; }
|
||||||
|
.login-dialog-auth-list {
|
||||||
|
spacing: 6px;
|
||||||
|
margin-left: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-auth-list-title {
|
||||||
|
margin-left: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-auth-list-item {
|
||||||
|
border-radius: $base_border_radius + 4px;
|
||||||
|
padding: 6px;
|
||||||
|
color: darken($osd_fg_color,30%);
|
||||||
|
&:focus, &:selected { background-color: $selected_bg_color; color: $selected_fg_color; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-dialog-auth-list-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; }
|
||||||
|
}
|
||||||
|
|
||||||
.login-dialog-user-list-view { -st-vfade-offset: 1em; }
|
.login-dialog-user-list-view { -st-vfade-offset: 1em; }
|
||||||
.login-dialog-user-list {
|
.login-dialog-user-list {
|
||||||
spacing: 12px;
|
spacing: 12px;
|
||||||
@@ -138,11 +134,10 @@
|
|||||||
.user-widget.horizontal .user-widget-label {
|
.user-widget.horizontal .user-widget-label {
|
||||||
@include fontsize($base_font_size + 2);
|
@include fontsize($base_font_size + 2);
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
text-align: left;
|
|
||||||
padding-left: 15px;
|
padding-left: 15px;
|
||||||
|
|
||||||
&:ltr { padding-left: 14px; }
|
&:ltr { padding-left: 14px; text-align: left; }
|
||||||
&:rtl { padding-right: 14px; }
|
&:rtl { padding-right: 14px; text-align: right; }
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-widget.vertical .user-widget-label {
|
.user-widget.vertical .user-widget-label {
|
||||||
@@ -152,10 +147,15 @@
|
|||||||
padding-top: 16px;
|
padding-top: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.login-dialog-timed-login-indicator {
|
||||||
|
height: 2px;
|
||||||
|
background-color: darken($fg_color,40%);
|
||||||
|
}
|
||||||
|
|
||||||
.login-dialog-prompt-layout {
|
.login-dialog-prompt-layout {
|
||||||
padding-top: 24px;
|
padding-top: 24px;
|
||||||
padding-bottom: 12px;
|
padding-bottom: 12px;
|
||||||
spacing: $base_spacing * 2;
|
spacing: $base_padding * 2;
|
||||||
width: 23em;
|
width: 23em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -168,3 +168,34 @@
|
|||||||
@include fontsize($base_font_size + 1);
|
@include fontsize($base_font_size + 1);
|
||||||
padding-top: 1em;
|
padding-top: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.login-dialog {
|
||||||
|
StEntry {
|
||||||
|
@if $variant=='dark' {
|
||||||
|
$_gdm_entry_bg: darken($system_bg_color, 3%);
|
||||||
|
background-color: $_gdm_entry_bg;
|
||||||
|
color: $fg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Custom styling for unlock entry
|
||||||
|
.unlock-dialog {
|
||||||
|
StEntry {
|
||||||
|
border:none !important;
|
||||||
|
&:focus {
|
||||||
|
background-color: if($variant == 'light', transparentize(white, 0.9), transparentize($fg_color, 0.9));
|
||||||
|
}
|
||||||
|
&:insensitive {
|
||||||
|
color: if($variant == 'light', transparentize(white, 0.5), transparentize($fg_color, 0.5));
|
||||||
|
background-color: if($variant == 'light', transparentize(white, 0.95), transparentize($fg_color, 0.95));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.cancel-button,
|
||||||
|
.switch-user-button,
|
||||||
|
.login-dialog-session-list-button {
|
||||||
|
border-color: transparent;
|
||||||
|
background-color: transparentize($fg_color, 0.9);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,42 +3,63 @@
|
|||||||
// Dialog
|
// Dialog
|
||||||
#LookingGlassDialog {
|
#LookingGlassDialog {
|
||||||
background-color: $osd_bg_color;
|
background-color: $osd_bg_color;
|
||||||
spacing: $base_spacing;
|
border-radius: 0 0 $modal_radius $modal_radius;
|
||||||
padding: 4px;
|
border-top-width: 0;
|
||||||
border: 1px solid transparentize($osd_fg_color, 0.8);
|
border: 1px solid $osd_outer_borders_color;
|
||||||
border-radius: $base_border_radius;
|
|
||||||
color: $osd_fg_color;
|
color: $osd_fg_color;
|
||||||
|
padding: $base_padding;
|
||||||
|
spacing: $base_padding;
|
||||||
|
box-shadow: 0 2px 4px 0 $shadow_color;
|
||||||
|
|
||||||
& > #Toolbar {
|
& > #Toolbar {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: $base_border_radius;
|
padding: $base_padding;
|
||||||
background-color: $osd_bg_color;
|
border-radius: 0;
|
||||||
|
background-color: transparent;
|
||||||
|
spacing: $base_padding;
|
||||||
|
|
||||||
|
.lg-toolbar-button {
|
||||||
|
padding: $base_padding $base_padding*2;
|
||||||
|
@extend %button;
|
||||||
|
|
||||||
|
& > StIcon { icon-size: $base_icon_size; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.labels {
|
||||||
|
spacing: $base_padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
.labels { spacing: $base_spacing; }
|
|
||||||
.notebook-tab {
|
.notebook-tab {
|
||||||
-natural-hpadding: $base_padding * 2;
|
-natural-hpadding: $base_padding*2;
|
||||||
-minimum-hpadding: 6px;
|
-minimum-hpadding: $base_padding*2;
|
||||||
|
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
padding: $base_padding $base_padding*2;
|
||||||
color: darken($osd_fg_color, 15%);
|
color: darken($osd_fg_color, 15%);
|
||||||
transition-duration: 100ms;
|
transition-duration: 100ms;
|
||||||
padding-left: .3em;
|
box-shadow:none;
|
||||||
padding-right: .3em;
|
border:none;
|
||||||
border-bottom-width: 2px;
|
border-radius: $base_border_radius - 2px;
|
||||||
|
background-color: transparent;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
color: $osd_fg_color;
|
color: $osd_fg_color;
|
||||||
|
background-color: transparentize($osd_fg_color, 0.95);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:selected {
|
&:selected {
|
||||||
border-bottom-width: 2px;
|
|
||||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color, 5%);
|
|
||||||
color: $osd_fg_color;
|
color: $osd_fg_color;
|
||||||
|
background-color: transparentize($osd_fg_color, 0.9);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
StBoxLayout#EvalBox { padding: 4px; spacing: $base_spacing; }
|
|
||||||
StBoxLayout#ResultsArea { spacing: $base_spacing; }
|
StBoxLayout#EvalBox { padding: 4px; spacing: $base_padding; padding: $base_padding; }
|
||||||
|
StBoxLayout#ResultsArea { spacing: $base_padding; padding: $base_padding; }
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg-dialog {
|
.lg-dialog {
|
||||||
|
|
||||||
StEntry {
|
StEntry {
|
||||||
background-color: transparentize(lighten($osd_bg_color, 5%), 0.4);
|
background-color: transparentize(lighten($osd_bg_color, 5%), 0.4);
|
||||||
color: $osd_fg_color;
|
color: $osd_fg_color;
|
||||||
@@ -47,50 +68,57 @@
|
|||||||
selection-background-color: $selected_bg_color;
|
selection-background-color: $selected_bg_color;
|
||||||
selected-color: $selected_fg_color;
|
selected-color: $selected_fg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.shell-link {
|
.shell-link {
|
||||||
color: $link_color;
|
color: $link_color;
|
||||||
&:hover { color: lighten($link_color, 10%); }
|
&:hover { color: lighten($link_color, 10%); }
|
||||||
&:active { color: darken($link_color, 10%); }
|
&:active { color: darken($link_color, 10%); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.actor-link {
|
||||||
|
color: $insensitive_fg_color;
|
||||||
|
&:hover { color: lighten($insensitive_fg_color, 20%); }
|
||||||
|
&:active { color: darken($insensitive_fg_color, 20%); }
|
||||||
|
|
||||||
|
& StIcon { icon-size: 12px; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg-completions-text {
|
.lg-completions-text {
|
||||||
font-size: .9em;
|
@extend %caption;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg-obj-inspector-title {
|
.lg-obj-inspector-title {
|
||||||
spacing: $base_spacing;
|
spacing: $base_padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg-obj-inspector-button {
|
.lg-obj-inspector-button {
|
||||||
border: 1px solid $osd_borders_color;
|
border: 1px solid $osd_borders_color;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
border-radius: $base_border_radius;
|
border-radius: $base_border_radius;
|
||||||
&:hover { border: 1px solid #ffffff; }
|
&:hover { border: 1px solid #ffffff; }
|
||||||
}
|
}
|
||||||
|
|
||||||
// Extensions
|
// Extensions
|
||||||
#lookingGlassExtensions { padding: 4px; }
|
#lookingGlassExtensions { padding: $base_padding; }
|
||||||
|
|
||||||
.lg-extensions-list {
|
.lg-extensions-list {
|
||||||
padding: 4px;
|
padding: $base_padding;
|
||||||
spacing: 6px;
|
spacing: $base_padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg-extension {
|
.lg-extension {
|
||||||
border: 1px solid lighten($osd_borders_color, 5%);
|
padding: $base_padding*2;
|
||||||
background-color: lighten($osd_bg_color, 5%);
|
@include card;
|
||||||
border-radius: $base_border_radius;
|
|
||||||
padding: 4px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg-extension-name {
|
.lg-extension-name {
|
||||||
font-weight: bold;
|
@extend %heading;
|
||||||
}
|
}
|
||||||
|
|
||||||
.lg-extension-meta {
|
.lg-extension-meta {
|
||||||
spacing: 6px;
|
spacing: $base_padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Inspector
|
// Inspector
|
||||||
@@ -98,5 +126,19 @@
|
|||||||
background: $osd_bg_color;
|
background: $osd_bg_color;
|
||||||
border: 1px solid $osd_borders_color;
|
border: 1px solid $osd_borders_color;
|
||||||
border-radius: $base_border_radius;
|
border-radius: $base_border_radius;
|
||||||
padding: 6px;
|
padding: $base_padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.lg-debug-flag-button {
|
||||||
|
StLabel { padding: $base_padding, 2 * $base_padding; }
|
||||||
|
|
||||||
|
color: $fg_color;
|
||||||
|
&:hover { color: lighten($fg_color, 20%); }
|
||||||
|
&:active { color: darken($fg_color, 20%); }
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg-debug-flags-header {
|
||||||
|
padding-top: 2 * $base_padding;
|
||||||
|
padding: $base_padding;
|
||||||
|
@extend %title_2;
|
||||||
|
}
|
||||||
|
|||||||
@@ -3,45 +3,77 @@
|
|||||||
|
|
||||||
// main list
|
// main list
|
||||||
.message-list {
|
.message-list {
|
||||||
width: 31.5em;
|
width: 29em;
|
||||||
padding: 0 $base_padding * 2;
|
border: solid $borders_color;
|
||||||
|
|
||||||
.message-list-placeholder { spacing: 12px; }
|
// padding and margins to account for scrollbar
|
||||||
|
&:ltr {margin-left: 0; margin-right: $base_margin; padding-right: $base_padding; border-right-width: 1px; }
|
||||||
|
&:rtl {margin-right: 0; margin-left: $base_margin; padding-left: $base_padding; border-left-width: 1px; }
|
||||||
|
|
||||||
|
.message-list-placeholder {
|
||||||
|
@extend %title_2;
|
||||||
|
color: transparentize($insensitive_fg_color, .5);
|
||||||
|
|
||||||
|
// icon size and color
|
||||||
|
> StIcon {
|
||||||
|
icon-size: $base_icon_size*3; // 48px
|
||||||
|
margin-bottom: $base_margin*3;
|
||||||
|
-st-icon-style: symbolic;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.message-list-sections {
|
.message-list-sections {
|
||||||
spacing: $base_spacing;
|
spacing: $base_padding;
|
||||||
margin: 0 $base_margin * 4; // to account for scrollbar
|
margin: 0;
|
||||||
|
padding-bottom: $base_padding;
|
||||||
|
|
||||||
|
// to account for scrollbar
|
||||||
|
&:ltr {margin-right: $base_margin * 3; }
|
||||||
|
&:rtl {margin-left: $base_margin * 3;}
|
||||||
}
|
}
|
||||||
|
|
||||||
.message-list-section,
|
.message-list-section,
|
||||||
.message-list-section-list {
|
.message-list-section-list {
|
||||||
spacing: $base_spacing;
|
spacing: $base_padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
// do-not-disturb + clear button
|
// do-not-disturb + clear button
|
||||||
.message-list-controls {
|
.message-list-controls {
|
||||||
margin: ($base_margin * 2) ($base_margin * 4) 0;
|
|
||||||
// NOTE: remove the padding if notification_bubble could remove margin for drop shadow
|
// NOTE: remove the padding if notification_bubble could remove margin for drop shadow
|
||||||
padding: $base_margin;
|
padding: $base_padding;
|
||||||
spacing: $base_spacing * 2;
|
spacing: $base_padding;
|
||||||
|
@extend %heading;
|
||||||
|
|
||||||
|
.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: 32px;
|
||||||
|
border-style: solid;
|
||||||
|
|
||||||
|
&:focus {
|
||||||
|
border-color: transparentize($selected_bg_color, 0.4);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// message bubbles
|
// message bubbles
|
||||||
.message {
|
.message {
|
||||||
@include notification_bubble;
|
@include card;
|
||||||
|
|
||||||
// icon container
|
// icon container
|
||||||
.message-icon-bin {
|
.message-icon-bin {
|
||||||
padding: ($base_padding * 3) 0 ($base_padding * 3) ($base_padding * 2);
|
padding: ($base_padding * 3);
|
||||||
|
|
||||||
&:rtl {
|
&:ltr {padding-right:$base_padding;}
|
||||||
padding: ($base_padding * 3) ($base_padding * 2) ($base_padding * 3) 0;
|
&:rtl {padding-left:$base_padding;}
|
||||||
}
|
|
||||||
|
|
||||||
// icon size and color
|
// icon size and color
|
||||||
> StIcon {
|
> StIcon {
|
||||||
icon-size: $base_icon_size*2; // 32px
|
icon-size: $large_icon_size; // 32px
|
||||||
-st-icon-style: symbolic;
|
-st-icon-style: symbolic;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -54,13 +86,16 @@
|
|||||||
|
|
||||||
// content
|
// content
|
||||||
.message-content {
|
.message-content {
|
||||||
padding: $base_padding + $base_margin * 2;
|
|
||||||
spacing: 4px;
|
spacing: 4px;
|
||||||
|
padding: ($base_padding*1.5);
|
||||||
|
margin-bottom: $base_margin*2;
|
||||||
}
|
}
|
||||||
|
|
||||||
// title
|
// title
|
||||||
.message-title {
|
.message-title {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
/* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
|
||||||
|
padding-top: 0.57em;
|
||||||
}
|
}
|
||||||
|
|
||||||
// secondary container in title box
|
// secondary container in title box
|
||||||
@@ -71,23 +106,29 @@
|
|||||||
> .event-time {
|
> .event-time {
|
||||||
color: transparentize($fg_color, 0.5);
|
color: transparentize($fg_color, 0.5);
|
||||||
@include fontsize($base_font_size - 2);
|
@include fontsize($base_font_size - 2);
|
||||||
text-align: right;
|
|
||||||
/* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
|
/* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
|
||||||
padding-bottom: 0.13em;
|
padding-bottom: 0.13em;
|
||||||
|
|
||||||
|
&:ltr { text-align: right };
|
||||||
|
&:rtl { text-align: left };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// close button
|
// close button
|
||||||
.message-close-button {
|
.message-close-button {
|
||||||
color: lighten($fg_color, 15%);
|
color: $fg_color;
|
||||||
&:hover { color: if($variant=='light', lighten($fg_color, 30%), darken($fg_color, 10%)); }
|
background-color: transparentize($fg_color, 0.9);
|
||||||
&:active { color: if($variant=='light', lighten($fg_color, 40%), darken($fg_color, 20%)); }
|
border-radius: 99px;
|
||||||
|
padding: $base_padding - 1px;
|
||||||
|
margin: 1px;
|
||||||
|
&:hover {background-color: transparentize($fg_color, 0.8);}
|
||||||
|
&:active {background-color: transparentize($fg_color, 0.9);}
|
||||||
|
|
||||||
|
& StIcon { icon-size: $base_icon_size; }
|
||||||
}
|
}
|
||||||
|
|
||||||
// body
|
// body
|
||||||
.message-body {
|
.message-body {color: darken($fg_color, 10%);}
|
||||||
color: darken($fg_color, 10%);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// URLs in messages
|
// URLs in messages
|
||||||
@@ -97,30 +138,34 @@
|
|||||||
|
|
||||||
/* Media Controls */
|
/* Media Controls */
|
||||||
.message-media-control {
|
.message-media-control {
|
||||||
padding: $base_padding * 2 $base_padding * 4;
|
padding: 0 $base_padding*3;
|
||||||
color: darken($fg_color, 15%);
|
margin: $base_padding*2 0;
|
||||||
|
border-radius: $base_border_radius;
|
||||||
|
color: $fg_color;
|
||||||
|
|
||||||
// uses $hover_bg_color since the media controls are in a notification_bubble
|
// colors are lightened since the media controls are in a card
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: lighten($hover_bg_color, 5%);
|
background-color: lighten($hover_bg_color, 5%);
|
||||||
color: $fg_color;
|
color: $fg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:active {
|
&:active {
|
||||||
background-color: darken($hover_bg_color, 2%);
|
background-color: lighten($active_bg_color, 5%);
|
||||||
color: $fg_color;
|
color: $fg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:insensitive { color: darken($fg_color,40%); }
|
&:insensitive { color: lighten($insensitive_fg_color, 5%); }
|
||||||
|
|
||||||
// fix border-radius for last button
|
// fix margin for last button
|
||||||
&:last-child:ltr { border-radius: 0 $base_border_radius+2 $base_border_radius+2 0; }
|
&:last-child:ltr { margin-right: $base_margin*3; }
|
||||||
&:last-child:rtl { border-radius: $base_border_radius+2 0 0 $base_border_radius+2; }
|
&:last-child:rtl { margin-left: $base_margin*3; }
|
||||||
|
|
||||||
|
& StIcon { icon-size: $base_icon_size; }
|
||||||
}
|
}
|
||||||
|
|
||||||
// album-art
|
// album-art
|
||||||
.media-message-cover-icon {
|
.media-message-cover-icon {
|
||||||
icon-size: $base_icon_size*2 !important; // 48px
|
icon-size: $base_icon_size*3 !important; // 48px
|
||||||
border-radius: $base_border_radius;
|
border-radius: $base_border_radius;
|
||||||
|
|
||||||
// when there is no artwork
|
// when there is no artwork
|
||||||
@@ -129,6 +174,7 @@
|
|||||||
background-color: $bg_color;
|
background-color: $bg_color;
|
||||||
border: 1px solid transparent;
|
border: 1px solid transparent;
|
||||||
border-radius: $base_border_radius;
|
border-radius: $base_border_radius;
|
||||||
icon-size: $base_icon_size * 2 !important;
|
icon-size: $large_icon_size !important; // 32px
|
||||||
|
padding: ($base_padding*2 + 2); // 16px
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
background-size: contain;
|
background-size: contain;
|
||||||
color: $osd_fg_color;
|
color: $osd_fg_color;
|
||||||
border-radius: 99px;
|
border-radius: 99px;
|
||||||
|
icon-size: $base_icon_size * 4; // 64px
|
||||||
&:hover {
|
&:hover {
|
||||||
color: lighten($osd_fg_color,30%);
|
color: lighten($osd_fg_color,30%);
|
||||||
}
|
}
|
||||||
@@ -16,6 +17,12 @@
|
|||||||
& StIcon {
|
& StIcon {
|
||||||
background-color: transparentize($osd_fg_color,0.95);
|
background-color: transparentize($osd_fg_color,0.95);
|
||||||
border-radius: 99px;
|
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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,15 +37,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.user-widget.horizontal .user-icon {
|
|
||||||
icon-size: $base_icon_size * 4; // 64px
|
|
||||||
|
|
||||||
& StIcon {
|
|
||||||
padding: $base_padding * 2 ; // 12px
|
|
||||||
width: $base_icon_size * 2.5; height: $base_icon_size * 2.5; // 40px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.lightbox { background-color: black; }
|
.lightbox { background-color: black; }
|
||||||
.flashspot { background-color: white; }
|
.flashspot { background-color: white; }
|
||||||
|
|
||||||
@@ -50,6 +48,18 @@
|
|||||||
.caps-lock-warning-label {
|
.caps-lock-warning-label {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
padding-bottom: 8px;
|
padding-bottom: 8px;
|
||||||
@include fontsize($base_font_size - 1);
|
@extend %caption;
|
||||||
color: $warning_color;
|
color: $warning_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Workspace animation */
|
||||||
|
|
||||||
|
.workspace-animation {
|
||||||
|
background-color: $system_bg_color;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tiled window previews */
|
||||||
|
.tile-preview {
|
||||||
|
background-color: transparentize($selected_bg_color,0.5);
|
||||||
|
border: 1px solid $selected_bg_color;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,56 +0,0 @@
|
|||||||
/* Network Dialogs */
|
|
||||||
.nm-dialog {
|
|
||||||
max-height: 34em;
|
|
||||||
min-height: 31em;
|
|
||||||
min-width: 32em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nm-dialog-content {
|
|
||||||
spacing: 20px;
|
|
||||||
padding: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nm-dialog-airplane-box { spacing: 12px; }
|
|
||||||
|
|
||||||
.nm-dialog-airplane-headline {
|
|
||||||
font-weight: bold;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nm-dialog-airplane-text { color: $fg_color; }
|
|
||||||
|
|
||||||
// header
|
|
||||||
.nm-dialog-header {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.nm-dialog-header-icon {
|
|
||||||
icon-size: $base_icon_size * 2;
|
|
||||||
}
|
|
||||||
.nm-dialog-header-hbox { spacing: 10px; }
|
|
||||||
|
|
||||||
// list of networks
|
|
||||||
.nm-dialog-scroll-view {
|
|
||||||
border: 1px solid $borders_color;
|
|
||||||
padding:0;
|
|
||||||
background-color: darken($bg_color, 3%);
|
|
||||||
}
|
|
||||||
|
|
||||||
// list item
|
|
||||||
.nm-dialog-item {
|
|
||||||
@include fontsize($base_font_size);
|
|
||||||
border-bottom: 1px solid $borders_color;
|
|
||||||
padding: $base_padding * 2;
|
|
||||||
spacing: 0px;
|
|
||||||
&:selected {
|
|
||||||
background-color: $selected_bg_color;
|
|
||||||
color: $selected_fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// icons in list
|
|
||||||
.nm-dialog-icon { icon-size: $base_icon_size; }
|
|
||||||
.nm-dialog-icons { spacing: $base_spacing * 2; }
|
|
||||||
|
|
||||||
// no networks
|
|
||||||
.no-networks-label { color: $insensitive_fg_color; }
|
|
||||||
.no-networks-box { spacing: $base_padding; }
|
|
||||||
@@ -1,12 +1,16 @@
|
|||||||
/* Notifications & Mesage Tray */
|
/* Notifications & Message Tray */
|
||||||
|
|
||||||
$notification_banner_height: 64px;
|
$notification_banner_height: 64px;
|
||||||
$notification_banner_width: 34em;
|
$notification_banner_width: 34em;
|
||||||
|
$notification_banner_radius: $base_border_radius*1.5;
|
||||||
|
|
||||||
// Banner notifications
|
// Banner notifications
|
||||||
.notification-banner {
|
.notification-banner {
|
||||||
min-height: $notification_banner_height;
|
min-height: $notification_banner_height;
|
||||||
width: $notification_banner_width;
|
width: $notification_banner_width;
|
||||||
|
box-shadow: 0 2px 4px 2px $shadow_color;
|
||||||
|
border-radius: $notification_banner_radius;
|
||||||
|
margin: $base_margin;
|
||||||
|
|
||||||
.notification-actions {
|
.notification-actions {
|
||||||
spacing: 0;
|
spacing: 0;
|
||||||
|
|||||||
@@ -1,32 +1,51 @@
|
|||||||
/* OSD */
|
/* OSD */
|
||||||
|
|
||||||
$osd_levelbar_height:8px;
|
$osd_levelbar_height:6px;
|
||||||
|
|
||||||
.osd-window {
|
.osd-window {
|
||||||
@extend %osd_panel;
|
@extend %osd_panel;
|
||||||
|
@extend %heading;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
spacing: $base_spacing * 2; // 12px
|
spacing: $base_padding * 2; // 12px
|
||||||
margin: $base_margin * 8; // 32px
|
padding: $base_padding * 2 $base_padding * 3;
|
||||||
min-width: 64px;
|
& > * { spacing: 8px; }
|
||||||
min-height: 64px;
|
margin-bottom: 4em;
|
||||||
|
|
||||||
StIcon {
|
StIcon { icon-size:$large_icon_size;}
|
||||||
icon-size:$base_icon_size * 6;
|
|
||||||
|
StLabel {
|
||||||
|
&:ltr { margin-right: 6px; }
|
||||||
|
&:rtl { margin-left: 6px; }
|
||||||
}
|
}
|
||||||
|
|
||||||
.osd-monitor-label { font-size: 3em; }
|
|
||||||
|
|
||||||
.level {
|
.level {
|
||||||
|
margin-bottom: 4px;
|
||||||
|
&:first-child { margin-bottom: 0px; }
|
||||||
|
|
||||||
height: $osd_levelbar_height;
|
height: $osd_levelbar_height;
|
||||||
|
min-width:$base_icon_size * 10;
|
||||||
-barlevel-height: $osd_levelbar_height;
|
-barlevel-height: $osd_levelbar_height;
|
||||||
-barlevel-background-color: transparentize($osd_fg_color, if($variant=='light', 0.7, 0.9));
|
-barlevel-background-color: transparentize($osd_fg_color, if($variant=='light', 0.7, 0.9));
|
||||||
-barlevel-active-background-color: $osd_fg_color;
|
-barlevel-active-background-color: $osd_fg_color;
|
||||||
-barlevel-overdrive-color: $destructive_color;
|
-barlevel-overdrive-color: $destructive_color;
|
||||||
-barlevel-overdrive-separator-width: 3px;
|
-barlevel-overdrive-separator-width: 3px;
|
||||||
|
&:ltr { margin-right: 6px; }
|
||||||
|
&:rtl { margin-left: 6px; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Monitor number label
|
||||||
|
.osd-monitor-label {
|
||||||
|
@extend %osd_panel;
|
||||||
|
border-radius: $modal_radius;
|
||||||
|
font-size: 3em;
|
||||||
|
font-weight: bold;
|
||||||
|
margin: $base_margin * 3;
|
||||||
|
text-align: center;
|
||||||
|
min-width: 1.3em;
|
||||||
|
}
|
||||||
|
|
||||||
/* Pad OSD */
|
/* Pad OSD */
|
||||||
.pad-osd-window {
|
.pad-osd-window {
|
||||||
padding: 32px;
|
padding: 32px;
|
||||||
@@ -42,4 +61,4 @@ $osd_levelbar_height:8px;
|
|||||||
|
|
||||||
.resize-popup {
|
.resize-popup {
|
||||||
@extend %osd_panel;
|
@extend %osd_panel;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,10 +1,13 @@
|
|||||||
/* OVERVIEW */
|
/* OVERVIEW */
|
||||||
|
|
||||||
#overview {
|
.controls-manager, .secondary-monitor-workspaces {
|
||||||
spacing: 24px;
|
spacing: $base_padding * 2;
|
||||||
background-color: transparent;
|
}
|
||||||
|
|
||||||
|
#overviewGroup {
|
||||||
|
background-color: $system_bg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.overview-controls {
|
.overview-controls {
|
||||||
padding-bottom: 32px;
|
padding-bottom: 32px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,45 +1,23 @@
|
|||||||
/* Top Bar */
|
/* Top Bar */
|
||||||
// a.k.a. the panel
|
// a.k.a. the panel
|
||||||
|
|
||||||
$panel_corner_radius: $base_border_radius+1;
|
|
||||||
$panel_bg_color: #000;
|
$panel_bg_color: #000;
|
||||||
$panel_fg_color: #ccc;
|
$panel_fg_color: if($variant == 'light', lighten($bg_color, 10%), darken($fg_color, 5%));
|
||||||
$panel_height: 1.86em;
|
$panel_height: 2.2em;
|
||||||
|
$panel_transition_duration: 250ms; // same as the overview transition duration
|
||||||
|
|
||||||
#panel {
|
#panel {
|
||||||
background-color: $panel_bg_color;
|
background-color: $panel_bg_color;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
height: $panel_height;
|
height: $panel_height;
|
||||||
font-feature-settings: "tnum";
|
@extend %numeric;
|
||||||
|
transition-duration: $panel_transition_duration;
|
||||||
|
|
||||||
// transparent panel on lock & login screens
|
// transparent panel on lock & login screens
|
||||||
&.unlock-screen,
|
&.unlock-screen,
|
||||||
&.login-screen {
|
&.login-screen,
|
||||||
|
&:overview {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
|
|
||||||
.panel-corner {
|
|
||||||
-panel-corner-radius: 0;
|
|
||||||
-panel-corner-background-color: transparent;
|
|
||||||
-panel-corner-border-color: transparent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// 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 menus
|
// panel menus
|
||||||
@@ -48,53 +26,170 @@ $panel_height: 1.86em;
|
|||||||
color: $panel_fg_color;
|
color: $panel_fg_color;
|
||||||
-natural-hpadding: $base_padding * 2;
|
-natural-hpadding: $base_padding * 2;
|
||||||
-minimum-hpadding: $base_padding;
|
-minimum-hpadding: $base_padding;
|
||||||
|
transition-duration: 150ms;
|
||||||
|
border: 3px solid transparent;
|
||||||
|
border-radius: 99px;
|
||||||
|
|
||||||
&:hover {
|
&.clock-display {
|
||||||
color: lighten($panel_fg_color, 20%);
|
.clock {
|
||||||
|
transition-duration: 150ms;
|
||||||
|
border: 3px solid transparent;
|
||||||
|
border-radius: 99px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.screen-recording-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px $screenshot_ui_button_red;
|
||||||
|
}
|
||||||
|
&.screen-sharing-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px $warning_color;
|
||||||
|
StBoxLayout { margin: 0 $base_padding; }
|
||||||
|
}
|
||||||
|
|
||||||
|
&.screen-recording-indicator,
|
||||||
|
&.screen-sharing-indicator {
|
||||||
|
StBoxLayout {
|
||||||
|
spacing: $base_padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
StIcon {
|
||||||
|
icon-size: $base_icon_size;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&:active, &:overview, &:focus, &:checked {
|
&:active, &:overview, &:focus, &:checked {
|
||||||
color: lighten($panel_fg_color, 20%);
|
box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.8);
|
||||||
|
|
||||||
|
// 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 transparentize($panel_fg_color, 0.8);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.screen-recording-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.15);
|
||||||
|
}
|
||||||
|
&.screen-sharing-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.15);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.85);
|
||||||
|
&.clock-display {
|
||||||
|
box-shadow: none;
|
||||||
|
.clock {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.85);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.screen-recording-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.1);
|
||||||
|
}
|
||||||
|
&.screen-sharing-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active:hover, &:overview:hover, &:focus:hover, &:checked:hover {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.75);
|
||||||
|
&.clock-display {
|
||||||
|
box-shadow: none;
|
||||||
|
.clock {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($panel_fg_color, 0.75);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.screen-recording-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.2);
|
||||||
|
}
|
||||||
|
&.screen-sharing-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// status area icons
|
// status area icons
|
||||||
.system-status-icon {
|
.system-status-icon {
|
||||||
icon-size: $base_icon_size;
|
icon-size: $base_icon_size;
|
||||||
padding: $base_padding - 1px;
|
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
|
||||||
.app-menu-icon {
|
.app-menu-icon {
|
||||||
margin-left: $base_margin;
|
|
||||||
margin-right: $base_margin;
|
|
||||||
-st-icon-style: symbolic;
|
-st-icon-style: symbolic;
|
||||||
// dimensions of the icon are hardcoded
|
// dimensions of the icon are hardcoded
|
||||||
}
|
}
|
||||||
|
|
||||||
// lock & login screen styles
|
&#panelActivities {
|
||||||
.unlock-screen &,
|
-natural-hpadding: $base_padding * 3;
|
||||||
.login-screen & {
|
|
||||||
color: lighten($fg_color, 10%);
|
|
||||||
&:focus, &:hover, &:active { color: lighten($fg_color, 10%); }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.panel-button {
|
&.unlock-screen,
|
||||||
&:active, &:overview, &:focus, &:checked {
|
&.login-screen,
|
||||||
// Trick due to St limitations. It needs a background to draw a box-shadow
|
&:overview {
|
||||||
background-color: rgba(0, 0, 0, 0.01);
|
.panel-button {
|
||||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
|
&:active, &:overview, &:focus, &:checked {
|
||||||
}
|
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.15);
|
||||||
}
|
|
||||||
|
|
||||||
.panel-button.clock-display {
|
&.clock-display {
|
||||||
// Move highlight from .panel-button to .clock
|
box-shadow: none;
|
||||||
&:active, &:overview, &:focus, &:checked {
|
|
||||||
box-shadow: none;
|
|
||||||
|
|
||||||
.clock {
|
.clock {
|
||||||
background-color: rgba(0, 0, 0, 0.01);
|
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.15);
|
||||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.screen-recording-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.15);
|
||||||
|
}
|
||||||
|
&.screen-sharing-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.15);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.10);
|
||||||
|
&.clock-display {
|
||||||
|
box-shadow: none;
|
||||||
|
.clock {
|
||||||
|
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.screen-recording-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.1);
|
||||||
|
}
|
||||||
|
&.screen-sharing-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active:hover, &:overview:hover, &:focus:hover, &:checked:hover {
|
||||||
|
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.2);
|
||||||
|
&.clock-display {
|
||||||
|
box-shadow: none;
|
||||||
|
.clock {
|
||||||
|
box-shadow: inset 0 0 0 100px rgba(255,255,255, 0.2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.screen-recording-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.2);
|
||||||
|
}
|
||||||
|
&.screen-sharing-indicator {
|
||||||
|
box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.2);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -116,6 +211,23 @@ $panel_height: 1.86em;
|
|||||||
|
|
||||||
// App Menu
|
// App Menu
|
||||||
#appMenu {
|
#appMenu {
|
||||||
spacing: $base_spacing;
|
spacing: $base_padding;
|
||||||
.label-shadow { color: transparent; }
|
.label-shadow { color: transparent; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#appMenu .panel-status-menu-box {
|
||||||
|
padding: 0 $base_padding;
|
||||||
|
spacing: $base_padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Clock
|
||||||
|
|
||||||
|
.clock-display-box {
|
||||||
|
spacing: 2px;
|
||||||
|
|
||||||
|
.clock {
|
||||||
|
padding-left: $base_padding * 2;
|
||||||
|
padding-right: $base_padding * 2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,16 +1,8 @@
|
|||||||
/* Popovers/Menus */
|
/* Popovers/Menus */
|
||||||
|
|
||||||
$popover_arrow_height: 12px;
|
// the popover itself
|
||||||
|
|
||||||
//.the popover itself
|
|
||||||
.popup-menu-boxpointer {
|
.popup-menu-boxpointer {
|
||||||
-arrow-border-radius: $base_border_radius+4;
|
-arrow-rise: $base_margin+2px; // distance from the panel & screen edge
|
||||||
-arrow-background-color: $bg_color;
|
|
||||||
-arrow-border-width: 1px;
|
|
||||||
-arrow-border-color: $borders_color;
|
|
||||||
-arrow-base: $popover_arrow_height * 2;
|
|
||||||
-arrow-rise: $popover_arrow_height;
|
|
||||||
-arrow-box-shadow: 0 1px 3px rgba(0,0,0,0.5); // dreaming bugzilla #689995
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// container of the popover menu
|
// container of the popover menu
|
||||||
@@ -18,112 +10,173 @@ $popover_arrow_height: 12px;
|
|||||||
min-width: 15em;
|
min-width: 15em;
|
||||||
color: $fg_color;
|
color: $fg_color;
|
||||||
|
|
||||||
//.popup-status-menu-item { font-weight: normal; color: pink; } //dunno what that is
|
//.popup-status-menu-item {font-weight: normal; color: pink;} //dunno what that is
|
||||||
&.panel-menu {
|
&.panel-menu {
|
||||||
-boxpointer-gap: $base_margin; // distance from the panel
|
margin-bottom: 1.75em; // so it doesn't touch the bottom of the screen
|
||||||
margin-bottom: 1.75em;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// popover content
|
||||||
.popup-menu-content {
|
.popup-menu-content {
|
||||||
padding: $base_padding * 2 + $base_margin 0;
|
padding: $base_padding;
|
||||||
|
border-radius: $modal_radius*1.25;
|
||||||
|
border: 1px solid $borders_edge;
|
||||||
|
box-shadow: 0 2px 4px 0 $shadow_color;
|
||||||
|
background-color: $bg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
// menu items
|
// menu items
|
||||||
.popup-menu-item {
|
.popup-menu-item {
|
||||||
|
padding: $base_padding*1.5 $base_padding*2;
|
||||||
|
border-radius: $base_border_radius*1.5;
|
||||||
spacing: $base_padding;
|
spacing: $base_padding;
|
||||||
padding: $base_padding;
|
transition-duration: 100ms;
|
||||||
|
background-color: transparent;
|
||||||
|
|
||||||
&:ltr { padding-right:1.75em; padding-left: 0; }
|
&:ltr {padding-left: $base_padding;}
|
||||||
&:rtl { padding-right: 0; padding-left:1.75em; }
|
&:rtl {padding-right: $base_padding;}
|
||||||
|
|
||||||
|
&:focus, &:hover {
|
||||||
|
background-color: $hover_bg_color !important;
|
||||||
|
&:active { background-color: $active_bg_color !important;}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:checked {background-color: $checked_bg_color !important;}
|
||||||
|
|
||||||
&:checked {
|
&:checked {
|
||||||
background-color: lighten($bg_color, 2%);
|
margin-bottom: 0;
|
||||||
box-shadow: none;
|
box-shadow: inset 0 -1px 0 0 darken($checked_bg_color, 5%);
|
||||||
|
border-radius: $base_border_radius $base_border_radius 0 0;
|
||||||
|
&:focus,&:hover { background-color: lighten($checked_bg_color, 3%) !important;}
|
||||||
|
&:active { background-color: lighten($checked_bg_color, 5%) !important;}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.selected {
|
&:active {
|
||||||
background-color: transparentize(white, if($variant=='light', 0.2, 0.9));
|
background-color: lighten($active_bg_color, 5%);
|
||||||
color: $fg_color;
|
color: $active_fg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:active {
|
&:insensitive {color: transparentize($fg_color,0.5);}
|
||||||
background-color: $selected_bg_color;
|
|
||||||
color: $selected_fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:insensitive { color: transparentize($fg_color,0.5);}
|
// add margin to switches in menu items
|
||||||
|
.toggle-switch {
|
||||||
|
&:ltr { margin-left: $base_margin;}
|
||||||
|
&:rtl { margin-right: $base_margin;}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// all icons and other graphical elements
|
|
||||||
|
// all other graphical elements (sliders)
|
||||||
.popup-inactive-menu-item {
|
.popup-inactive-menu-item {
|
||||||
color: $fg_color;
|
color: $fg_color;
|
||||||
|
&:insensitive { color: $insensitive_fg_color; }
|
||||||
&:insensitive { color: transparentize($fg_color,0.5); }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// symbolic icons in popover
|
// symbolic icons in popover
|
||||||
.popup-menu-arrow,
|
.popup-menu-arrow,
|
||||||
.popup-menu-icon { icon-size: $base_icon_size; }
|
.popup-menu-icon {
|
||||||
|
icon-size: 16px !important; // for some reason the variable doesn't work here
|
||||||
|
}
|
||||||
|
|
||||||
|
.popup-menu-arrow {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// popover submenus
|
// popover submenus
|
||||||
.popup-sub-menu {
|
.popup-sub-menu {
|
||||||
background-color: darken($bg_color, 3%);
|
background-color: $checked_bg_color;
|
||||||
box-shadow: none;
|
border-radius: 0 0 $base_border_radius $base_border_radius;
|
||||||
border-top: 1px solid transparentize($borders_color, 0.2);
|
|
||||||
border-bottom: 1px solid transparentize($borders_color, 0.2);
|
.popup-menu-ornament {
|
||||||
|
min-width: $base_icon_size !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
// submenu specific styles
|
||||||
|
.popup-menu-item {
|
||||||
|
border-radius: 0;
|
||||||
|
margin: 0;
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
border-radius: 0 0 $base_border_radius $base_border_radius;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:focus,&:hover { background-color: $hover_bg_color !important;}
|
||||||
|
&:checked {
|
||||||
|
background-color: $checked_bg_color !important;
|
||||||
|
&:focus,&:hover { background-color: lighten($checked_bg_color, 8%) !important;}
|
||||||
|
}
|
||||||
|
&:active { background-color: $active_bg_color !important;}
|
||||||
|
}
|
||||||
|
|
||||||
|
.popup-menu-section {
|
||||||
|
.popup-menu-item:last-child {
|
||||||
|
&:hover,&:focus { border-radius: 0;}
|
||||||
|
}
|
||||||
|
&:last-child .popup-menu-item:last-child {
|
||||||
|
border-radius: 0 0 $base_border_radius $base_border_radius;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// container for radio and check boxes
|
// container for radio and check boxes
|
||||||
.popup-menu-ornament {
|
.popup-menu-ornament {
|
||||||
text-align: right;
|
@extend %heading;
|
||||||
width: 1.2em;
|
width: 1.2em;
|
||||||
|
text-align: center !important;
|
||||||
|
|
||||||
|
&:ltr { text-align: right;}
|
||||||
|
&:rtl { text-align: left;}
|
||||||
}
|
}
|
||||||
|
|
||||||
// separator
|
// separator
|
||||||
.popup-separator-menu-item {
|
.popup-separator-menu-item {
|
||||||
padding: 0;
|
margin: 6px 0;
|
||||||
|
padding:0 !important;
|
||||||
|
&:ltr { margin-right: $base_margin;}
|
||||||
|
&:rtl { margin-left: $base_margin;}
|
||||||
|
|
||||||
.popup-separator-menu-item-separator {
|
.popup-separator-menu-item-separator {
|
||||||
//-margin-horizontal: 24px;
|
|
||||||
height: 1px; //not really the whole box
|
height: 1px; //not really the whole box
|
||||||
margin: 6px 64px;
|
background-color: $borders_color;
|
||||||
background-color: lighten($borders_color, 2%);
|
}
|
||||||
.popup-sub-menu & { //submenu separators
|
|
||||||
margin: 0 64px 0 32px;
|
.popup-menu-ornament {
|
||||||
@if $variant == 'dark' {
|
width: 0 !important;
|
||||||
background-color: lighten($bg_color,10%);
|
}
|
||||||
}
|
|
||||||
|
// separators in submenus
|
||||||
|
.popup-sub-menu & {
|
||||||
|
background-color: transparent;
|
||||||
|
|
||||||
|
// account for ornament
|
||||||
|
&:ltr { margin-right: 2.5em;}
|
||||||
|
&:rtl { margin-left: 2.5em;}
|
||||||
|
|
||||||
|
.popup-separator-menu-item-separator {
|
||||||
|
background-color: lighten($borders_color, 7%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// desktop background menu
|
// desktop background menu
|
||||||
.background-menu {
|
.background-menu {
|
||||||
-boxpointer-gap: $base_margin;
|
-boxpointer-gap: 0px;
|
||||||
-arrow-rise: 0px; // hide the beak on the menu
|
-arrow-rise: 0px; // hide the beak on the menu
|
||||||
}
|
}
|
||||||
|
|
||||||
// system status menu
|
// right-click (and panel) app menu
|
||||||
.aggregate-menu {
|
.app-menu {
|
||||||
min-width: 21em;
|
max-width: 27.25em;
|
||||||
|
|
||||||
// lock screen, shutdown, etc. buttons
|
// this is unneeded at the top-level in this menu, hide it
|
||||||
.popup-menu-icon {
|
.popup-menu-ornament { width: 0 !important; }
|
||||||
padding:0;
|
|
||||||
margin: 0 $base_margin;
|
|
||||||
-st-icon-style: symbolic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.popup-sub-menu .popup-menu-item > :first-child {
|
.popup-inactive-menu-item:first-child {
|
||||||
// account for icons in submenus with padding
|
// "Open Windows" label
|
||||||
&:ltr {
|
> StLabel {
|
||||||
padding-left: $base_padding + $base_margin * 2;
|
@extend %caption_heading;
|
||||||
margin-left: $base_icon_size;
|
&:ltr {margin-right: $base_margin*2;}
|
||||||
}
|
&:rtl {margin-left: $base_margin*2;}
|
||||||
&:rtl {
|
|
||||||
padding-right: $base_padding + $base_margin * 2; ;
|
|
||||||
margin-right: $base_icon_size;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,118 @@
|
|||||||
|
.quick-settings {
|
||||||
|
padding: $base_padding*3;
|
||||||
|
border-radius: $modal_radius*2.25;
|
||||||
|
|
||||||
|
.icon-button, .button {
|
||||||
|
padding: $base_padding*1.75;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.quick-settings-grid {
|
||||||
|
spacing-rows: $base_padding*2;
|
||||||
|
spacing-columns: $base_padding*2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.quick-toggle {
|
||||||
|
border-radius: 99px;
|
||||||
|
min-width: 12em;
|
||||||
|
max-width: 12em;
|
||||||
|
min-height: 40px;
|
||||||
|
border:none;
|
||||||
|
|
||||||
|
&:checked { @include button(default); }
|
||||||
|
|
||||||
|
& > StBoxLayout { spacing: $base_padding; }
|
||||||
|
|
||||||
|
/* Move padding into the box; this is to allow menu arrows
|
||||||
|
to extend to the border */
|
||||||
|
&.button { padding: 0; }
|
||||||
|
& > StBoxLayout { padding: 0 $base_padding*2; }
|
||||||
|
&:ltr > StBoxLayout { padding-left: $base_padding*2.5; }
|
||||||
|
&:rtl > StBoxLayout { padding-right: $base_padding*2.5; }
|
||||||
|
|
||||||
|
.quick-toggle-label { font-weight: bold; }
|
||||||
|
.quick-toggle-icon, .quick-toggle-arrow { icon-size: $base_icon_size; }
|
||||||
|
}
|
||||||
|
|
||||||
|
.quick-menu-toggle {
|
||||||
|
&:ltr > StBoxLayout { padding-right: 0; }
|
||||||
|
&:rtl > StBoxLayout { padding-left: 0; }
|
||||||
|
|
||||||
|
& .quick-toggle-arrow {
|
||||||
|
background-color: transparentize($fg_color, 0.9);
|
||||||
|
padding: $base_padding $base_padding*1.75;
|
||||||
|
|
||||||
|
&:ltr { border-radius: 0 99px 99px 0; }
|
||||||
|
&:rtl { border-radius: 99px 0 0 99px; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.quick-slider {
|
||||||
|
& > StBoxLayout { spacing: $base_padding; }
|
||||||
|
|
||||||
|
.slider-bin {
|
||||||
|
&:focus {@include button(focus);}
|
||||||
|
min-height: 16px; // slider size
|
||||||
|
padding: $base_padding;
|
||||||
|
border-radius: 99px;
|
||||||
|
}
|
||||||
|
.quick-toggle-icon {
|
||||||
|
icon-size: $base_icon_size;
|
||||||
|
|
||||||
|
&:ltr { margin-left: $base_padding; }
|
||||||
|
&:rtl { margin-right: $base_padding; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.quick-toggle-menu {
|
||||||
|
background-color: $card_bg_color;
|
||||||
|
border-radius: $base_border_radius*3;
|
||||||
|
padding: $base_padding*2;
|
||||||
|
margin: $base_padding*2 $base_padding*3 0;
|
||||||
|
|
||||||
|
.popup-menu-item > StIcon { -st-icon-style: symbolic; }
|
||||||
|
|
||||||
|
& .header {
|
||||||
|
spacing-rows: 0.5 * $base_padding;
|
||||||
|
spacing-columns: $base_padding*2;
|
||||||
|
padding-bottom: 2 * $base_padding;
|
||||||
|
|
||||||
|
& .icon {
|
||||||
|
icon-size: $base_icon_size*1.5; // a non-standard symbolic size but ok
|
||||||
|
border-radius: 999px;
|
||||||
|
padding: 1.5 * $base_padding;
|
||||||
|
background-color: lighten($bg_color, 10%);
|
||||||
|
|
||||||
|
&.active { background-color: $selected_bg_color; }
|
||||||
|
}
|
||||||
|
|
||||||
|
& .title {
|
||||||
|
@extend %title_3;
|
||||||
|
}
|
||||||
|
|
||||||
|
& .subtitle {
|
||||||
|
@extend %caption_heading;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.quick-toggle-menu-container {
|
||||||
|
}
|
||||||
|
|
||||||
|
.quick-settings-system-item {
|
||||||
|
& > StBoxLayout { spacing: 2 * $base_padding; }
|
||||||
|
|
||||||
|
& .power-item {
|
||||||
|
min-height: 0;
|
||||||
|
min-width: 0;
|
||||||
|
|
||||||
|
&:insensitive {
|
||||||
|
@include button(normal);
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.nm-network-item {
|
||||||
|
.wireless-secure-icon { icon-size: 0.5 * $base_icon_size; }
|
||||||
|
}
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
.unlock-dialog-clock-time {
|
.unlock-dialog-clock-time {
|
||||||
font-size: 64pt;
|
font-size: 64pt;
|
||||||
padding-top: 42px;
|
padding-top: 42px;
|
||||||
font-feature-settings: "tnum";
|
@extend %numeric;
|
||||||
}
|
}
|
||||||
|
|
||||||
.unlock-dialog-clock-date {
|
.unlock-dialog-clock-date {
|
||||||
@@ -25,10 +25,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.unlock-dialog-notifications-container {
|
.unlock-dialog-notifications-container {
|
||||||
margin: 12px 0;
|
margin: 12px;
|
||||||
spacing: 6px;
|
spacing: 6px;
|
||||||
width: 23em;
|
width: 23em;
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
|
|
||||||
.summary-notification-stack-scrollview {
|
.summary-notification-stack-scrollview {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
padding-bottom: 0;
|
padding-bottom: 0;
|
||||||
@@ -36,39 +37,38 @@
|
|||||||
|
|
||||||
.notification,
|
.notification,
|
||||||
.unlock-dialog-notification-source {
|
.unlock-dialog-notification-source {
|
||||||
padding: 12px 6px;
|
padding: 12px 16px;
|
||||||
border: none;
|
border: none;
|
||||||
background-color: transparentize($osd_bg_color,0.7);
|
background-color: transparentize($osd_fg_color,0.9);
|
||||||
color: $osd_fg_color;
|
color: $osd_fg_color;
|
||||||
border-radius: $modal_radius;
|
border-radius: $modal_radius;
|
||||||
|
|
||||||
&.critical { background-color: transparentize($osd_bg_color,0.1) }
|
&.critical { background-color: transparentize($osd_fg_color,0.8) }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.unlock-dialog-notification-label {
|
.unlock-dialog-notification-label {
|
||||||
padding: 0px 0px 0px 12px;
|
padding-left: 12px;
|
||||||
|
padding-right: 0;
|
||||||
|
&:rtl { padding-right: 12px; padding-left: 0; }
|
||||||
}
|
}
|
||||||
|
|
||||||
.unlock-dialog-notification-count-text {
|
.unlock-dialog-notification-count-text {
|
||||||
weight: bold;
|
font-weight: bold;
|
||||||
padding: 0 6px;
|
padding: 0 12px;
|
||||||
color: $osd_bg_color;
|
color: $osd_fg_color;
|
||||||
background-color: transparentize($osd_fg_color, 0.7);
|
background-color: transparentize($osd_fg_color, 0.9);
|
||||||
border-radius: 99px;
|
border-radius: 99px;
|
||||||
margin-right: 12px;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.screen-shield-background { //just the shadow, really
|
.screen-shield-background { //just the shadow, really
|
||||||
background: black;
|
background: black;
|
||||||
box-shadow: 0px 2px 4px rgba(0,0,0,0.6);
|
box-shadow: 0 2px 4px rgba(0,0,0,0.6);
|
||||||
}
|
}
|
||||||
|
|
||||||
#lockDialogGroup {
|
#lockDialogGroup {
|
||||||
background-color: lighten(#2e3436, 8%);
|
background-color: $system_bg_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
#unlockDialogNotifications {
|
#unlockDialogNotifications {
|
||||||
StButton#vhandle, StButton#hhandle {
|
StButton#vhandle, StButton#hhandle {
|
||||||
background-color: transparentize($bg_color,0.7);
|
background-color: transparentize($bg_color,0.7);
|
||||||
|
|||||||
@@ -0,0 +1,204 @@
|
|||||||
|
// Screenshot UI
|
||||||
|
.icon-label-button-container {
|
||||||
|
spacing: $base_padding;
|
||||||
|
@extend %caption;
|
||||||
|
|
||||||
|
StIcon { icon-size: 32px;}
|
||||||
|
}
|
||||||
|
|
||||||
|
$screenshot_ui_panel_padding: $base_padding*3;
|
||||||
|
$screenshot_ui_shot_cast_margin: 21px;
|
||||||
|
$screenshot_ui_panel_border_radius: $modal_radius + $screenshot_ui_shot_cast_margin;
|
||||||
|
$screenshot_ui_shot_cast_spacing: 3px;
|
||||||
|
|
||||||
|
$screenshot_ui_button_red: $error_color;
|
||||||
|
|
||||||
|
.screenshot-ui-panel {
|
||||||
|
@extend %osd_panel;
|
||||||
|
border-radius: $screenshot_ui_panel_border_radius;
|
||||||
|
padding: $screenshot_ui_panel_padding;
|
||||||
|
// Reduce the bottom padding a little to accommodate the large capture button.
|
||||||
|
padding-bottom: $screenshot_ui_panel_padding - 6px;
|
||||||
|
margin-bottom: 4em;
|
||||||
|
spacing: $base_padding * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-close-button {
|
||||||
|
@extend .window-close; // copy window close button
|
||||||
|
padding: $base_padding !important; // but with more padding
|
||||||
|
margin-top: 12px;
|
||||||
|
box-shadow: 0 2px 4px 0 $shadow_color;
|
||||||
|
&.left { margin-left: 12px;}
|
||||||
|
&.right { margin-right: 12px;}
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-type-button {
|
||||||
|
@extend %osd_button;
|
||||||
|
min-width: 48px;
|
||||||
|
padding: $base_padding * 2 $base_padding * 3 !important;
|
||||||
|
border-radius: $screenshot_ui_panel_border_radius - $screenshot_ui_panel_padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-capture-button {
|
||||||
|
width: 36px;
|
||||||
|
height: 36px;
|
||||||
|
border-radius: 99px;
|
||||||
|
border: 4px $osd_fg_color;
|
||||||
|
padding: 4px;
|
||||||
|
|
||||||
|
.screenshot-ui-capture-button-circle {
|
||||||
|
background-color: $osd_fg_color;
|
||||||
|
transition-duration: 200ms;
|
||||||
|
&:hover, &:focus { background-color: $hover_bg_color;}
|
||||||
|
border-radius: 99px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover, &:focus {
|
||||||
|
.screenshot-ui-capture-button-circle {
|
||||||
|
background-color: darken($osd_fg_color, 15%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:active {
|
||||||
|
.screenshot-ui-capture-button-circle {
|
||||||
|
background-color: darken($osd_fg_color, 50%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:cast {
|
||||||
|
.screenshot-ui-capture-button-circle {
|
||||||
|
background-color: $screenshot_ui_button_red;
|
||||||
|
}
|
||||||
|
&:hover, &:focus {
|
||||||
|
.screenshot-ui-capture-button-circle {
|
||||||
|
background-color: lighten($screenshot_ui_button_red, 5%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:active {
|
||||||
|
.screenshot-ui-capture-button-circle {
|
||||||
|
background-color: darken($screenshot_ui_button_red, 7%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-shot-cast-container {
|
||||||
|
background-color: lighten($osd_bg_color,5%);
|
||||||
|
border-radius: $modal_radius;
|
||||||
|
padding: $screenshot_ui_shot_cast_spacing;
|
||||||
|
spacing: $screenshot_ui_shot_cast_spacing;
|
||||||
|
|
||||||
|
&:ltr { margin-left: $screenshot_ui_shot_cast_margin - $screenshot_ui_panel_padding;}
|
||||||
|
&:rtl { margin-right: $screenshot_ui_shot_cast_margin - $screenshot_ui_panel_padding;}
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-shot-cast-button {
|
||||||
|
padding: $base_padding $base_padding*2;
|
||||||
|
background-color: transparent;
|
||||||
|
&:hover, &:focus { background-color: lighten($osd_bg_color, 10%);}
|
||||||
|
&:active { background-color: lighten($active_bg_color,5%);}
|
||||||
|
&:checked { background-color: white;color: black;}
|
||||||
|
&:insensitive { color: transparentize($osd_fg_color, 0.5);}
|
||||||
|
|
||||||
|
border-radius: $modal_radius - $screenshot_ui_shot_cast_spacing;
|
||||||
|
|
||||||
|
StIcon { icon-size: $base_icon_size;}
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-show-pointer-button {
|
||||||
|
@extend %osd_button;
|
||||||
|
border-radius: 99px;
|
||||||
|
padding: $base_padding * 2 !important;
|
||||||
|
StIcon { icon-size: $base_icon_size;}
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-area-indicator-shade {
|
||||||
|
background-color: rgba(0,0,0,.3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-area-selector {
|
||||||
|
.screenshot-ui-area-indicator-shade {
|
||||||
|
background-color: rgba(0,0,0,.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-area-indicator-selection {
|
||||||
|
border: 2px white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-area-selector-handle {
|
||||||
|
border-radius: 99px;
|
||||||
|
background-color: white;
|
||||||
|
box-shadow: 0 1px 3px 2px rgba(0,0,0,0.2);
|
||||||
|
width: 24px;
|
||||||
|
height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-window-selector {
|
||||||
|
background-color: $system_bg_color;
|
||||||
|
|
||||||
|
.screenshot-ui-window-selector-window-container {
|
||||||
|
margin: 100px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:primary-monitor {
|
||||||
|
.screenshot-ui-window-selector-window-container {
|
||||||
|
// Make some room for the panel.
|
||||||
|
margin-bottom: 200px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-window-selector-window-border {
|
||||||
|
transition-duration: 200ms;
|
||||||
|
border-radius: $modal_radius;
|
||||||
|
border: 6px transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-window-selector-check {
|
||||||
|
transition-duration: 200ms;
|
||||||
|
color: transparent;
|
||||||
|
border-radius: 99px;
|
||||||
|
border-width: 12px;
|
||||||
|
icon-size: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-window-selector-window {
|
||||||
|
&:hover {
|
||||||
|
.screenshot-ui-window-selector-window-border {
|
||||||
|
border-color: darken($selected_bg_color, 15%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&:checked {
|
||||||
|
.screenshot-ui-window-selector-window-border {
|
||||||
|
border-color: $selected_bg_color;
|
||||||
|
background-color: transparentize($selected_bg_color, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-window-selector-check {
|
||||||
|
color: $selected_fg_color;
|
||||||
|
background-color: $selected_bg_color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-screen-selector {
|
||||||
|
transition-duration: 200ms;
|
||||||
|
background-color: rgba(0,0,0,.5);
|
||||||
|
|
||||||
|
&:hover { background-color: rgba(0,0,0,.3);}
|
||||||
|
&:active { background-color: rgba(0,0,0,.7);}
|
||||||
|
&:checked {
|
||||||
|
background-color: transparent;
|
||||||
|
border: 2px white;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.screenshot-ui-tooltip {
|
||||||
|
color: $osd_fg_color;
|
||||||
|
background-color: $osd_bg_color;
|
||||||
|
border-radius: 99px;
|
||||||
|
padding: $base_padding $base_padding * 2;
|
||||||
|
text-align: center;
|
||||||
|
-y-offset: 24px;
|
||||||
|
}
|
||||||
@@ -9,8 +9,8 @@ StScrollBar {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
|
|
||||||
StScrollView & {
|
StScrollView & {
|
||||||
min-width: 14px;
|
min-width: 8px;
|
||||||
min-height: 14px;
|
min-height: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
StBin#trough {
|
StBin#trough {
|
||||||
@@ -20,10 +20,10 @@ StScrollBar {
|
|||||||
|
|
||||||
StButton#vhandle, StButton#hhandle {
|
StButton#vhandle, StButton#hhandle {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
background-color: mix($fg_color, $bg_color, 60%);
|
background-color: mix($fg_color, $bg_color, 30%);
|
||||||
//border: 3px solid transparent; //would be nice to margin or at least to transparent
|
border: 3px solid transparent; //would be nice to margin or at least to transparent
|
||||||
margin: 3px;
|
transition: 500ms all ease;
|
||||||
&:hover { background-color: mix($fg_color, $bg_color, 80%); }
|
&:hover {background-color: mix($fg_color, $bg_color, 50%);}
|
||||||
&:active { background-color: $selected_bg_color; }
|
&:active {background-color: mix($fg_color, $bg_color, 40%);}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,31 +5,22 @@ $search_entry_height: 36px;
|
|||||||
|
|
||||||
%search_entry,
|
%search_entry,
|
||||||
.search-entry {
|
.search-entry {
|
||||||
width: $search_entry_width;
|
|
||||||
padding: $base_padding+1 $base_padding+3;
|
|
||||||
border-radius: $search_entry_height * 0.5; // half the height
|
border-radius: $search_entry_height * 0.5; // half the height
|
||||||
color: transparentize($fg_color,0.3);
|
|
||||||
background-color: $bg_color;
|
|
||||||
border-color: $borders_color;
|
|
||||||
|
|
||||||
&:hover {
|
margin-top: $base_padding * 2;
|
||||||
background-color: $hover_bg_color;
|
margin-bottom: $base_padding;
|
||||||
border-color: $hover_borders_color;
|
padding: $base_padding+1 $base_padding+3;
|
||||||
color: $hover_fg_color;
|
width: $search_entry_width;
|
||||||
}
|
|
||||||
|
|
||||||
&:focus {
|
@include entry(normal);
|
||||||
padding: $base_padding $base_padding+2; // 1px less to account for wider border
|
&:hover { @include entry(hover);}
|
||||||
border-width: 2px;
|
&:focus { @include entry(focus);}
|
||||||
border-style: solid;
|
&:insensitive { @include entry(insensitive);}
|
||||||
border-color: $selected_bg_color;
|
|
||||||
color: $fg_color;
|
|
||||||
box-shadow: inset 0 1px 2px 1px rgba(0,0,0,0.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-entry-icon {
|
.search-entry-icon {
|
||||||
icon-size: $base_icon_size;
|
|
||||||
padding: 0 4px;
|
|
||||||
color: inherit;
|
color: inherit;
|
||||||
|
icon-size: $base_icon_size;
|
||||||
|
margin-top: 2px; // center vertically
|
||||||
|
padding: 0 4px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,90 +1,82 @@
|
|||||||
/* Search */
|
/* Search */
|
||||||
|
|
||||||
// search overview container
|
// search overview container
|
||||||
|
#searchResults {
|
||||||
|
margin: 0 $base_margin;
|
||||||
|
}
|
||||||
|
|
||||||
#searchResultsContent {
|
#searchResultsContent {
|
||||||
max-width: 1024px;
|
max-width: 1072px;
|
||||||
spacing: $base_margin * 2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// search results sections "the boxes"
|
// search results sections "the boxes"
|
||||||
.search-section {
|
.search-section {
|
||||||
// This should be equal to #searchResultsContent spacing
|
// This should be equal to #searchResultsContent spacing
|
||||||
spacing: $base_margin * 2;
|
spacing: $base_padding*3;
|
||||||
|
|
||||||
// separator
|
// separator (unstyled)
|
||||||
.search-section-separator {
|
.search-section-separator {
|
||||||
// height: 1px;
|
height: $base_margin*2; // use it as a spacer
|
||||||
// background-color: $osd_outer_borders_color;
|
|
||||||
height: 0;
|
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// content
|
// content
|
||||||
.search-section-content {
|
.search-section-content {
|
||||||
background-color: transparentize(lighten($osd_bg_color, 5%), 0.2);
|
background-color: lighten($system_bg_color, 5%);
|
||||||
border-radius: $modal_radius+3;
|
border-radius: $modal_radius*1.5;
|
||||||
border: 1px solid $osd_outer_borders_color;
|
border: 1px solid $osd_outer_borders_color;
|
||||||
box-shadow: 0 2px 4px 0 $shadow_color;
|
|
||||||
text-shadow: 0 1px if($variant == 'light', rgba(255,255,255,0.2), rgba(0,0,0,0.2));
|
|
||||||
color: $osd_fg_color;
|
color: $osd_fg_color;
|
||||||
padding: $base_padding * 3;
|
padding: $base_padding*2;
|
||||||
// This is the space between the provider icon and the results container
|
margin:0 $base_margin*3;
|
||||||
spacing: $base_margin * 2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
%search-section-content-item {
|
%search_section_content_item {
|
||||||
@extend %icon_tile;
|
@include tile_button($osd_fg_color);
|
||||||
|
border-radius: $base_border_radius+3px;
|
||||||
&: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
|
// "no results" text
|
||||||
.search-statustext {
|
.search-statustext {
|
||||||
@extend %status_text;
|
@extend %title_1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.grid-search-results {
|
||||||
|
spacing: $base_padding*5;
|
||||||
|
margin:0 $base_margin*3;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Search results with icons
|
// Search results with icons
|
||||||
.grid-search-result {
|
.grid-search-result {
|
||||||
@extend %app-well-app;
|
@extend .app-well-app;
|
||||||
}
|
}
|
||||||
|
|
||||||
// search result provider
|
// search result provider
|
||||||
.search-provider-icon {
|
.search-provider-icon {
|
||||||
@extend %search-section-content-item;
|
@extend %search_section_content_item;
|
||||||
|
&:ltr {margin-right: $base_margin;}
|
||||||
|
&:rtl {margin-left: $base_margin;}
|
||||||
|
|
||||||
// content
|
// content
|
||||||
.list-search-provider-content {
|
.list-search-provider-content {
|
||||||
spacing: $base_spacing * 2;
|
spacing: $base_padding * 2;
|
||||||
|
|
||||||
// provider labels
|
// provider labels
|
||||||
.list-search-provider-details {
|
.list-search-provider-details {
|
||||||
width: 120px;
|
width: 120px;
|
||||||
margin-top: 0;
|
color: $osd_fg_color;
|
||||||
color: darken($osd_fg_color, 8%);
|
|
||||||
// font-weight: bold;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// search results list
|
// search results list
|
||||||
.list-search-results {
|
.list-search-results {
|
||||||
spacing: $base_spacing;
|
spacing: $base_padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
// search result listitem
|
// search result listitem
|
||||||
.list-search-result {
|
.list-search-result {
|
||||||
@extend %search-section-content-item;
|
@extend %search_section_content_item;
|
||||||
|
|
||||||
// content
|
// content
|
||||||
.list-search-result-content {
|
.list-search-result-content {
|
||||||
@@ -93,12 +85,12 @@
|
|||||||
|
|
||||||
// list item title (with leading icon)
|
// list item title (with leading icon)
|
||||||
.list-search-result-title {
|
.list-search-result-title {
|
||||||
spacing: $base_spacing * 2;
|
spacing: $base_padding * 2;
|
||||||
// font-weight: bold;
|
// font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
// list item description
|
// list item description
|
||||||
.list-search-result-description {
|
.list-search-result-description {
|
||||||
color: darken($osd_fg_color, 30%);
|
color: $osd_insensitive_fg_color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,27 +1,22 @@
|
|||||||
/* Slider */
|
/* Slider */
|
||||||
|
|
||||||
$slider_size: 15px;
|
$slider_size: 16px;
|
||||||
|
|
||||||
.slider {
|
.slider {
|
||||||
height: $slider_size;
|
|
||||||
// slider trough
|
// slider trough
|
||||||
-barlevel-height: 3px; // has to be an odd number
|
-barlevel-height: 4px;
|
||||||
-barlevel-background-color: $borders_color; //background of the trough
|
-barlevel-background-color: if($variant == 'light', transparentize($fg_color, 0.6), transparentize($fg_color, 0.8)); //background of the trough
|
||||||
-barlevel-border-width: 1px;
|
-barlevel-border-width: 2px;
|
||||||
-barlevel-border-color: $borders_color; // trough border color
|
-barlevel-border-color: transparent; // trough border color
|
||||||
// fill style
|
// fill style
|
||||||
-barlevel-active-background-color: $selected_bg_color; //active trough fill
|
-barlevel-active-background-color: $selected_bg_color;
|
||||||
-barlevel-active-border-color: if($variant == 'light', darken($selected_bg_color, 4%), lighten($selected_bg_color, 2%)); //active trough border
|
-barlevel-active-border-color: transparent;
|
||||||
// overfill style (red in this case)
|
// overfill style (red in this case)
|
||||||
-barlevel-overdrive-color: $destructive_color;
|
-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-border-color: transparent; //trough border when red;
|
||||||
-barlevel-overdrive-separator-width:1px;
|
-barlevel-overdrive-separator-width:1px;
|
||||||
// slider hander
|
// slider handler
|
||||||
-slider-handle-radius: $slider_size * 0.5; // half the size of the size
|
-slider-handle-radius: $slider_size * 0.5; // half the size of the size
|
||||||
-slider-handle-border-width: 1px;
|
-slider-handle-border-width: 0;
|
||||||
-slider-handle-border-color: if($variant == 'light', $borders_color, $fg_color);
|
-slider-handle-border-color: transparent; // because 0 width
|
||||||
|
}
|
||||||
color: if($variant == 'light', lighten($bg_color, 10%), $fg_color);
|
|
||||||
&:hover { color: $hover_bg_color; }
|
|
||||||
&:active { color: $active_bg_color; }
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,37 +1,33 @@
|
|||||||
/* App Switcher */
|
/* App Switcher */
|
||||||
|
|
||||||
|
// same as dash
|
||||||
|
$switcher_padding: $base_padding + 4px; // 10px
|
||||||
|
$switcher_border_radius: $modal_radius + 8px;
|
||||||
|
|
||||||
|
|
||||||
|
// the full screen container of the switcher
|
||||||
.switcher-popup {
|
.switcher-popup {
|
||||||
padding: 8px;
|
padding: 0;
|
||||||
spacing: $base_spacing * 4;
|
spacing: $base_padding * 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
// switcher onscreen panel
|
// switcher onscreen panel
|
||||||
.switcher-list {
|
.switcher-list {
|
||||||
@extend %osd_panel;
|
@extend %osd_panel;
|
||||||
|
padding: $switcher_padding;
|
||||||
|
border-radius: $switcher_border_radius;
|
||||||
|
box-shadow: 0 8px 8px 0 rgba(0,0,0,0.1);
|
||||||
|
|
||||||
|
// container for items in list
|
||||||
|
.switcher-list-item-container {
|
||||||
|
spacing: $base_padding * 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
// each item in the list
|
||||||
.item-box {
|
.item-box {
|
||||||
padding: 8px;
|
@include tile_button($osd_fg_color);
|
||||||
border-radius: $base_border_radius + 1px;
|
// override over style so mouse doesn't steal focus
|
||||||
border: 1px solid transparent;
|
&:hover {background: none;}
|
||||||
|
|
||||||
&:outlined {
|
|
||||||
background-color: transparentize($osd_fg_color, 0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:selected {
|
|
||||||
background-color: transparentize($osd_fg_color, 0.7);
|
|
||||||
color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// window thumbnails
|
|
||||||
.thumbnail-box {
|
|
||||||
padding: 2px;
|
|
||||||
spacing: $base_spacing;
|
|
||||||
}
|
|
||||||
|
|
||||||
.thumbnail {
|
|
||||||
width: 256px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.separator {
|
.separator {
|
||||||
@@ -39,16 +35,27 @@
|
|||||||
background: $borders_color;
|
background: $borders_color;
|
||||||
}
|
}
|
||||||
|
|
||||||
.switcher-list-item-container {
|
// container of thumbnails
|
||||||
spacing: $base_spacing * 2;
|
.thumbnail-box {
|
||||||
|
padding: 2px;
|
||||||
|
spacing: $base_padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
// window thumbnail itself
|
||||||
|
.thumbnail {
|
||||||
|
width: 256px; // equal to THUMBNAIL_DEFAULT_SIZE in altTab.js
|
||||||
|
border-radius:$base_border_radius;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// arrow if app has multiple windows
|
||||||
.switcher-arrow {
|
.switcher-arrow {
|
||||||
border-color: rgba(0,0,0,0);
|
border-color: transparentize($osd_fg_color, 0.2);
|
||||||
color: transparentize($fg_color,0.2);
|
color: transparentize($osd_fg_color, 0.2);
|
||||||
|
|
||||||
&:highlighted {
|
&:highlighted {
|
||||||
color: $fg_color;
|
border-color: $osd_fg_color;
|
||||||
|
color: $osd_fg_color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
/* Switches */
|
/* Switches */
|
||||||
|
|
||||||
// these are equal to the size of the SVG assets
|
// these are equal to the size of the SVG assets
|
||||||
$switch_height: 22px;
|
$switch_height: 26px;
|
||||||
$switch_width: 46px;
|
$switch_width: 48px;
|
||||||
|
|
||||||
.toggle-switch {
|
.toggle-switch {
|
||||||
color: $fg_color;
|
color: $fg_color;
|
||||||
height: $switch_height;
|
height: $switch_height;
|
||||||
width: $switch_width;
|
width: $switch_width;
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-off.svg"),url("resource:///org/gnome/shell/theme/toggle-off-dark.svg"));
|
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-off-light.svg"),url("resource:///org/gnome/shell/theme/toggle-off.svg"));
|
||||||
&:checked {
|
&:checked {
|
||||||
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-on.svg"),url("resource:///org/gnome/shell/theme/toggle-on-dark.svg"));
|
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-on-light.svg"),url("resource:///org/gnome/shell/theme/toggle-on.svg"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
|
|
||||||
/* Tiled window previews */
|
|
||||||
$tile_corner_radius: $base_border_radius + 1px;
|
|
||||||
.tile-preview {
|
|
||||||
background-color: transparentize($selected_bg_color,0.5);
|
|
||||||
border: 1px solid $selected_bg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tile-preview-left.on-primary {
|
|
||||||
border-radius: $tile_corner_radius 0 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tile-preview-right.on-primary {
|
|
||||||
border-radius: 0 $tile_corner_radius 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tile-preview-left.tile-preview-right.on-primary {
|
|
||||||
border-radius: $tile_corner_radius $tile_corner_radius 0 0;
|
|
||||||
}
|
|
||||||
@@ -1,66 +1,53 @@
|
|||||||
/* Window Picker */
|
/* Window Picker */
|
||||||
|
|
||||||
$window_picker_spacing: $base_spacing * 2; // 16px
|
$window_picker_spacing: $base_padding; // 6px
|
||||||
$window_picker_padding: $base_padding * 2; // 16px
|
$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_color: transparentize(lighten($osd_bg_color, 7%), .02);
|
||||||
|
$window_close_button_size: 30px;
|
||||||
$window_close_button_padding: 3px;
|
$window_close_button_padding: 3px;
|
||||||
|
|
||||||
|
|
||||||
// Window picker
|
// Window picker
|
||||||
.window-picker {
|
.window-picker {
|
||||||
// Space between window thumbnails
|
// Space between window thumbnails
|
||||||
-horizontal-spacing: $window_picker_spacing;
|
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Window titles
|
// Window titles
|
||||||
.window-caption {
|
.window-caption {
|
||||||
color: $osd_fg_color;
|
color: $osd_fg_color;
|
||||||
background-color: $osd_bg_color;
|
background-color: lighten($osd_bg_color, 5%);
|
||||||
border:1px solid $osd_outer_borders_color;
|
border-radius: 99px;
|
||||||
border-radius: $base_border_radius + 1;
|
|
||||||
padding: $base_padding $base_padding * 2;
|
padding: $base_padding $base_padding * 2;
|
||||||
font-weight: bold;
|
|
||||||
@include fontsize($base_font_size + 1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Close button
|
// Close button
|
||||||
.window-close {
|
.window-close {
|
||||||
background-color: $selected_bg_color;
|
background-color: $window_close_button_color;
|
||||||
color: $selected_fg_color;
|
color: $osd_fg_color;
|
||||||
border: none;
|
border-radius: 99px;
|
||||||
border-radius: $window_close_button_size * 0.5 + $window_close_button_padding * 2;
|
box-shadow: 0 2px 4px 0 $shadow_color;
|
||||||
padding: $window_close_button_padding;
|
padding: $window_close_button_padding;
|
||||||
height: $window_close_button_size;
|
height: $window_close_button_size;
|
||||||
width: $window_close_button_size;
|
width: $window_close_button_size;
|
||||||
box-shadow: -1px 1px 5px 0px rgba(0,0,0,0.5);
|
transition-duration: 100ms;
|
||||||
|
|
||||||
-shell-close-overlap: $window_close_button_size * 0.5;
|
& StIcon { icon-size: 24px; } // uses non standard icon size
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: lighten($selected_bg_color, 5%);
|
background-color: lighten($window_close_button_color, 7%);
|
||||||
}
|
}
|
||||||
|
|
||||||
&:active {
|
&:active {
|
||||||
background-color: darken($selected_bg_color, 5%);
|
background-color: lighten($window_close_button_color, 13%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.workspace-background {
|
||||||
|
// keep in sync with BACKGROUND_CORNER_RADIUS_PIXELS in workspace.js
|
||||||
|
border-radius: 30px;
|
||||||
|
background-color: $invisible_occluded_bg_color;
|
||||||
|
box-shadow: 0 4px 16px 4px transparentize(darken($osd_bg_color, 30%), 0.7);
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,36 +1,25 @@
|
|||||||
/* Workspace Switcher */
|
/* Workspace Switcher */
|
||||||
.workspace-switcher-group {
|
|
||||||
padding: $base_padding * 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.workspace-switcher-container {
|
$ws_indicator_height: $large_icon_size;
|
||||||
@extend %osd_panel;
|
$ws_dot_active: $ws_indicator_height / 3;
|
||||||
}
|
$ws_dot_inactive: $ws_indicator_height / 6;
|
||||||
|
|
||||||
.workspace-switcher {
|
.workspace-switcher {
|
||||||
background: transparent;
|
@extend %osd_panel;
|
||||||
border: none;
|
margin-bottom: 4em;
|
||||||
border-radius: 0;
|
spacing: $base_padding * 2;
|
||||||
padding: 0;
|
padding: $base_padding * 2 $base_padding * 3;
|
||||||
spacing: $base_spacing * 2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ws-switcher-box {
|
.ws-switcher-indicator {
|
||||||
background: transparent;
|
background-color: transparentize($osd_fg_color,0.5);
|
||||||
height: 50px;
|
padding: $ws_dot_inactive / 2;
|
||||||
background-size: 32px;
|
margin: ($ws_indicator_height - $ws_dot_inactive) / 2;
|
||||||
border: 1px solid transparentize($osd_fg_color,0.9);
|
border-radius: $ws_indicator_height;
|
||||||
border-radius: $base_border_radius + 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// active workspace in the switcher
|
&:active {
|
||||||
.ws-switcher-active-up,
|
background-color: $osd_fg_color;
|
||||||
.ws-switcher-active-down,
|
padding: $ws_dot_active / 2;
|
||||||
.ws-switcher-active-left,
|
margin: ($ws_indicator_height - $ws_dot_active) / 2;
|
||||||
.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;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,24 +2,20 @@
|
|||||||
|
|
||||||
// thumbnails in overview
|
// thumbnails in overview
|
||||||
.workspace-thumbnails {
|
.workspace-thumbnails {
|
||||||
@extend %overview_panel;
|
|
||||||
visible-width: 32px; //amount visible before hover
|
visible-width: 32px; //amount visible before hover
|
||||||
spacing: $base_spacing;
|
spacing: $base_padding;
|
||||||
padding: $base_padding;
|
padding: $base_padding;
|
||||||
|
|
||||||
border-radius: $modal_radius 0 0 $modal_radius;
|
.workspace-thumbnail {
|
||||||
border-right-width: 0;
|
@extend %overview_panel;
|
||||||
|
border-radius: 3px;
|
||||||
&:rtl {
|
|
||||||
border-radius: 0 $modal_radius $modal_radius 0;
|
|
||||||
border-left-width: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// drag and drop indicator
|
// drag and drop indicator
|
||||||
.placeholder {
|
.placeholder {
|
||||||
background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
|
background-image: url("resource:///org/gnome/shell/theme/workspace-placeholder.svg");
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
height: 24px;
|
width: 18px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+78
-28
@@ -1,17 +1,33 @@
|
|||||||
sessions = [
|
session_desktop_base = 'gnome-classic'
|
||||||
['gnome-classic.session.desktop.in', sessiondir],
|
|
||||||
['gnome-classic.desktop.in', xsessiondir]
|
session_desktops = [
|
||||||
|
session_desktop_base,
|
||||||
|
session_desktop_base + '-xorg',
|
||||||
|
session_desktop_base + '-wayland',
|
||||||
]
|
]
|
||||||
foreach s : sessions
|
|
||||||
name_array = s[0].split('.')
|
foreach name: session_desktops
|
||||||
i18n.merge_file('',
|
session_desktop = name + '.desktop'
|
||||||
input: s[0],
|
if name.endswith('-xorg')
|
||||||
output: '.'.join([name_array[0], name_array[1]]),
|
session_instdir = xsessiondir
|
||||||
po_dir: '../po',
|
elif name.endswith('-wayland')
|
||||||
install: true,
|
session_instdir = wlsessiondir
|
||||||
install_dir: s[1],
|
else
|
||||||
type: 'desktop'
|
# FIXME: The same target can not be copied into two directories.
|
||||||
)
|
# There is a workaround in meson/session-post-install.py until proper
|
||||||
|
# solution arises:
|
||||||
|
# https://github.com/mesonbuild/meson/issues/2416
|
||||||
|
session_instdir = xsessiondir
|
||||||
|
#session_instdir = [ xesssiondir, wlsessiondir ]
|
||||||
|
endif
|
||||||
|
i18n.merge_file(
|
||||||
|
input: session_desktop + '.in',
|
||||||
|
output: session_desktop,
|
||||||
|
po_dir: '../po',
|
||||||
|
install: true,
|
||||||
|
install_dir: session_instdir,
|
||||||
|
type: 'desktop'
|
||||||
|
)
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
classic_uuids = []
|
classic_uuids = []
|
||||||
@@ -34,28 +50,62 @@ theme_sources = files(
|
|||||||
'gnome-shell-sass/_colors.scss',
|
'gnome-shell-sass/_colors.scss',
|
||||||
'gnome-shell-sass/_common.scss',
|
'gnome-shell-sass/_common.scss',
|
||||||
'gnome-shell-sass/_drawing.scss',
|
'gnome-shell-sass/_drawing.scss',
|
||||||
'gnome-shell-sass/_high-contrast-colors.scss'
|
'gnome-shell-sass/_high-contrast-colors.scss',
|
||||||
|
'gnome-shell-sass/_widgets.scss',
|
||||||
|
'gnome-shell-sass/widgets/_a11y.scss',
|
||||||
|
'gnome-shell-sass/widgets/_app-grid.scss',
|
||||||
|
'gnome-shell-sass/widgets/_base.scss',
|
||||||
|
'gnome-shell-sass/widgets/_buttons.scss',
|
||||||
|
'gnome-shell-sass/widgets/_calendar.scss',
|
||||||
|
'gnome-shell-sass/widgets/_check-box.scss',
|
||||||
|
'gnome-shell-sass/widgets/_corner-ripple.scss',
|
||||||
|
'gnome-shell-sass/widgets/_dash.scss',
|
||||||
|
'gnome-shell-sass/widgets/_dialogs.scss',
|
||||||
|
'gnome-shell-sass/widgets/_entries.scss',
|
||||||
|
'gnome-shell-sass/widgets/_hotplug.scss',
|
||||||
|
'gnome-shell-sass/widgets/_ibus-popup.scss',
|
||||||
|
'gnome-shell-sass/widgets/_keyboard.scss',
|
||||||
|
'gnome-shell-sass/widgets/_login-dialog.scss',
|
||||||
|
'gnome-shell-sass/widgets/_looking-glass.scss',
|
||||||
|
'gnome-shell-sass/widgets/_message-list.scss',
|
||||||
|
'gnome-shell-sass/widgets/_misc.scss',
|
||||||
|
'gnome-shell-sass/widgets/_notifications.scss',
|
||||||
|
'gnome-shell-sass/widgets/_osd.scss',
|
||||||
|
'gnome-shell-sass/widgets/_overview.scss',
|
||||||
|
'gnome-shell-sass/widgets/_panel.scss',
|
||||||
|
'gnome-shell-sass/widgets/_popovers.scss',
|
||||||
|
'gnome-shell-sass/widgets/_quick-settings.scss',
|
||||||
|
'gnome-shell-sass/widgets/_screen-shield.scss',
|
||||||
|
'gnome-shell-sass/widgets/_scrollbars.scss',
|
||||||
|
'gnome-shell-sass/widgets/_search-entry.scss',
|
||||||
|
'gnome-shell-sass/widgets/_search-results.scss',
|
||||||
|
'gnome-shell-sass/widgets/_slider.scss',
|
||||||
|
'gnome-shell-sass/widgets/_switcher-popup.scss',
|
||||||
|
'gnome-shell-sass/widgets/_switches.scss',
|
||||||
|
'gnome-shell-sass/widgets/_window-picker.scss',
|
||||||
|
'gnome-shell-sass/widgets/_workspace-switcher.scss',
|
||||||
|
'gnome-shell-sass/widgets/_workspace-thumbnails.scss'
|
||||||
)
|
)
|
||||||
|
|
||||||
theme_data = [
|
theme_data = [
|
||||||
'calendar-today.svg',
|
|
||||||
'classic-process-working.svg',
|
'classic-process-working.svg',
|
||||||
'classic-toggle-off-intl.svg',
|
|
||||||
'classic-toggle-off-us.svg',
|
|
||||||
'classic-toggle-on-intl.svg',
|
|
||||||
'classic-toggle-on-us.svg',
|
|
||||||
'gnome-classic-high-contrast.css'
|
'gnome-classic-high-contrast.css'
|
||||||
]
|
]
|
||||||
|
|
||||||
style = 'gnome-classic'
|
stylesheet = 'gnome-classic.css'
|
||||||
custom_target(style + '.css',
|
if fs.exists(stylesheet)
|
||||||
input: style + '.scss',
|
install_data(stylesheet, install_dir: themedir)
|
||||||
output: style + '.css',
|
else
|
||||||
depend_files: theme_sources,
|
sassc = find_program('sassc', required: true)
|
||||||
command: [sassc, '-a', '@INPUT@', '@OUTPUT@'],
|
custom_target(stylesheet,
|
||||||
install: true,
|
input: fs.replace_suffix(stylesheet, '.scss'),
|
||||||
install_dir: themedir
|
output: stylesheet,
|
||||||
)
|
depend_files: theme_sources,
|
||||||
|
command: [sassc, '-a', '@INPUT@', '@OUTPUT@'],
|
||||||
|
install: true,
|
||||||
|
install_dir: themedir
|
||||||
|
)
|
||||||
|
endif
|
||||||
|
|
||||||
install_data(theme_data, install_dir: themedir)
|
install_data(theme_data, install_dir: themedir)
|
||||||
|
|
||||||
|
|||||||
Vendored
+879
@@ -0,0 +1,879 @@
|
|||||||
|
gnome-shell-extensions (43.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@ubuntu.com> Tue, 22 Nov 2022 14:14:48 -0500
|
||||||
|
|
||||||
|
gnome-shell-extensions (43.0-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Release to unstable
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@ubuntu.com> Tue, 27 Sep 2022 19:13:41 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (43.0-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@ubuntu.com> Mon, 19 Sep 2022 10:57:41 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (43~rc-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@ubuntu.com> Tue, 06 Sep 2022 14:39:00 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (43~beta-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@ubuntu.com> Sun, 21 Aug 2022 10:59:20 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (42.3-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release (LP: #1981606)
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@ubuntu.com> Wed, 13 Jul 2022 17:49:05 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (42.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@ubuntu.com> Fri, 03 Jun 2022 09:23:28 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (42.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release (LP: #1972365)
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@ubuntu.com> Mon, 09 May 2022 08:09:32 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (42.0-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Release to unstable
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@ubuntu.com> Mon, 28 Mar 2022 11:18:12 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (42.0-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jeremy.bicha@canonical.com> Mon, 14 Mar 2022 11:30:18 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (42~rc-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jeremy.bicha@canonical.com> Tue, 08 Mar 2022 17:54:41 -0500
|
||||||
|
|
||||||
|
gnome-shell-extensions (42~beta-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release:
|
||||||
|
- Use libadwaita for preferences
|
||||||
|
- window-list: Fix on-screen keyboard
|
||||||
|
- native-window-placement: Fix distorted layout in app grid
|
||||||
|
* debian/control: Depend on libadwaita and gtk-4 (instead of gtk-3)
|
||||||
|
* debian/patches: Drop applied upstream
|
||||||
|
|
||||||
|
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Wed, 23 Feb 2022 07:35:20 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (41.1-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* d/p/meson-Drop-unused-argument-for-i18n.merge_file.patch:
|
||||||
|
Backport patch from upstream to fix FBTFS with Meson 0.61
|
||||||
|
(Closes: #1005534)
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Tue, 15 Feb 2022 11:18:30 +0000
|
||||||
|
|
||||||
|
gnome-shell-extensions (41.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Sun, 12 Dec 2021 20:30:17 -0500
|
||||||
|
|
||||||
|
gnome-shell-extensions (41.0-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* Upload to unstable
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Sat, 16 Oct 2021 20:06:04 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (41.0-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
* debian/control.in: Bump minimum meson to 0.53.0
|
||||||
|
* Bump Standards-Version to 4.6.0
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Sun, 10 Oct 2021 17:04:15 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (40.4-3) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* Release to unstable (transition: #992870)
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Sat, 11 Sep 2021 21:52:59 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (40.4-2) experimental; urgency=medium
|
||||||
|
|
||||||
|
[ Jeremy Bicha ]
|
||||||
|
* New upstream release
|
||||||
|
* debian/copyright: Add gnome-classic.css to Files-Excluded
|
||||||
|
* Revert "debian/control: Don't build depend on sassc"
|
||||||
|
* This ensures we compile the CSS file from source.
|
||||||
|
|
||||||
|
[ Marco Trevisan (Treviño) ]
|
||||||
|
* debian/control: Support pre-release versions of gnome-shell
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Sun, 29 Aug 2021 09:16:04 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (40.1-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
* debian/control:
|
||||||
|
- Update runtime dependencies to match code.
|
||||||
|
Found grepping code via:
|
||||||
|
grep "imports\.gi" --include "*.js" -rh -B2 . \
|
||||||
|
| grep -o "\b[A-Z][A-Za-z]\+\b" | sed "s/,\?\s*$//g" | sort -u
|
||||||
|
- Don't build depend on sassc.
|
||||||
|
Since we compile from tarball, this is not needed anymore given that
|
||||||
|
compiled css are provided already.
|
||||||
|
- Build-depend on dh-sequence-gnome 0.22.
|
||||||
|
It's the first version that supports new GNOME versioning schema.
|
||||||
|
|
||||||
|
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Sun, 30 May 2021 20:05:13 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.38.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* New upstream release
|
||||||
|
* Standards-Version: 4.5.1 (no changes required)
|
||||||
|
* d/gbp.conf: Use upstream/3.38.x branch.
|
||||||
|
Version 40~alpha was already released upstream.
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Thu, 03 Dec 2020 10:17:58 +0000
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.38.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
* Recommend gnome-shell-extension-prefs instead of gnome-tweaks
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Tue, 06 Oct 2020 17:44:30 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.38.0-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* Revert "debian/watch: Watch for unstable releases"
|
||||||
|
* Release to unstable
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Fri, 25 Sep 2020 23:00:58 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.38.0-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* New upstream release
|
||||||
|
- Translation updates
|
||||||
|
* d/upstream/metadata: Add
|
||||||
|
* Update standards version to 4.5.0, no changes needed
|
||||||
|
* Fix gnome-classic regression in 3.37.91-1.
|
||||||
|
gnome-session no longer takes the `--session gnome-classic` argument
|
||||||
|
when running in classic mode.
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Tue, 22 Sep 2020 11:49:24 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.37.91-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release:
|
||||||
|
- drive-menu: Emphasize eject buttons
|
||||||
|
- user-theme: Add preference dialog
|
||||||
|
- window-list:
|
||||||
|
+ Fix inconsistent state in preference dialog
|
||||||
|
+ auto-move: Modernize preference dialogs
|
||||||
|
- workspace-indicator: Overhaul preference dialog
|
||||||
|
- user-theme: Support session mode styles
|
||||||
|
- Adjust to gnome-shell changes
|
||||||
|
* debian/patches: Refresh
|
||||||
|
* debian/control: B-D on debhelper 13
|
||||||
|
* debian/rules: Don't override dh_missing equal default behavior
|
||||||
|
* debian/control: Remove useless dependency on clutter gir
|
||||||
|
|
||||||
|
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Thu, 27 Aug 2020 17:39:42 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.36.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Laurent Bigonville <bigon@debian.org> Sun, 03 May 2020 10:02:18 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.36.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* New upstream release
|
||||||
|
- Update Ukrainian translation
|
||||||
|
- Update Gnome Shell CSS
|
||||||
|
* Upload to unstable (part of transition: #954422)
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Fri, 10 Apr 2020 15:12:29 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.36.0-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream translation release
|
||||||
|
|
||||||
|
-- Iain Lane <laney@debian.org> Mon, 16 Mar 2020 12:39:02 +0000
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.35.91-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
- Fixes and adjustments to latest gnome-shell
|
||||||
|
|
||||||
|
-- Marco Trevisan (Treviño) <marco@ubuntu.com> Mon, 24 Feb 2020 18:29:29 +0000
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.34.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
* debian/control.in: Bump Standards-Version to 4.4.1 (no further changes)
|
||||||
|
|
||||||
|
-- Laurent Bigonville <bigon@debian.org> Mon, 30 Dec 2019 00:51:13 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.34.1-2) unstable; urgency=high
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
- Fix GNOME Classic session's compatibility with gnome-setting-daemon 3.34
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Tue, 08 Oct 2019 22:49:14 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.34.0-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload.
|
||||||
|
* Upload to unstable.
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Mon, 30 Sep 2019 17:27:38 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.34.0-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream translation release
|
||||||
|
|
||||||
|
-- Iain Lane <laney@debian.org> Tue, 10 Sep 2019 10:59:31 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.33.92-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream bugfix / translation releases
|
||||||
|
|
||||||
|
-- Iain Lane <laney@debian.org> Thu, 05 Sep 2019 18:22:14 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.33.90-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
[ Marco Trevisan (Treviño) ]
|
||||||
|
* New upstream release
|
||||||
|
+ window-list: Support showing windows from all workspaces
|
||||||
|
+ Make GNOME Classic more classic:
|
||||||
|
- Disable GNOME 3 overview
|
||||||
|
- Add window picker button to window list
|
||||||
|
- Style improvements and fixes
|
||||||
|
- Support horizontal workspace layout in window list
|
||||||
|
- Add draggable previews to window list workspace switcher
|
||||||
|
- Arrange workspaces horizontally
|
||||||
|
+ workspace-indicator: Support horizontal workspace layout
|
||||||
|
+ workspace-indicator: Add draggable previews
|
||||||
|
+ Fix windowsNavigator extension after ES6 port
|
||||||
|
+ screenshot-window-sizer: Add phone screenshot sizes
|
||||||
|
|
||||||
|
[ Iain Lane ]
|
||||||
|
* rules: Build all extensions via the upstream build system. We don't need
|
||||||
|
to hardcode the list to build, as the build system provides a way to build
|
||||||
|
'all' extensions.
|
||||||
|
* rules: Build with --fail-missing
|
||||||
|
* compat, control, rules: Move to compat 12 and specifying via build-deps
|
||||||
|
|
||||||
|
-- Iain Lane <laney@debian.org> Tue, 13 Aug 2019 11:59:22 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.32.0-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Iain Lane <laney@debian.org> Tue, 12 Mar 2019 16:34:14 +0000
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.31.92-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Iain Lane <laney@debian.org> Wed, 06 Mar 2019 15:40:48 +0000
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.31.90-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
+ Misc. bug fixes and cleanups
|
||||||
|
+ Remove obsolete alternate-tab extension
|
||||||
|
+ Adjust to gnome-shell changes
|
||||||
|
* debian/watch: Watch for unstable releases
|
||||||
|
* rules: alternate-tab is dropped; stop trying to enable it
|
||||||
|
|
||||||
|
-- Iain Lane <laney@debian.org> Thu, 21 Feb 2019 10:33:12 +0000
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.30.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* New upstream release
|
||||||
|
* Bump Standards-Version to 4.2.1
|
||||||
|
* d/p/gnome-session-classic-wrapper-script.patch:
|
||||||
|
Re-word to avoid a Lintian warning
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Fri, 02 Nov 2018 09:26:47 +0000
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.30.0-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
* Release to unstable
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Wed, 05 Sep 2018 12:34:40 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.29.91-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* New upstream development release
|
||||||
|
* Bump Standards-Version to 4.2.0
|
||||||
|
* Sort dependency lists (wrap-and-sort -a)
|
||||||
|
* d/copyright: Remove unnecessary sentence fragment
|
||||||
|
* d/p/series: Remove commented-out line
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Mon, 20 Aug 2018 20:27:57 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.29.90-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* New upstream development release
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Thu, 02 Aug 2018 10:46:44 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.29.3+really3.29.3-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* d/watch: Watch for development versions
|
||||||
|
* Re-upload to experimental with a higher version than
|
||||||
|
3.29.3+really3.28.1-1, which reverted the incorrect upload of the
|
||||||
|
previous version to unstable
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Fri, 27 Jul 2018 23:56:10 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.29.3-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
|
||||||
|
[ Arnaud Rebillout ]
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
[ Simon McVittie ]
|
||||||
|
* Bump Standards-Version to 4.1.5
|
||||||
|
* Set Rules-Requires-Root to no
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Fri, 27 Jul 2018 09:37:34 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.28.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
* Bump Standards-Version to 4.1.4
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Mon, 14 May 2018 21:51:46 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.28.0-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Fix typo in configure flag that resulted in missing
|
||||||
|
auto-move-windows, native-window-placement, & user-theme extensions
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Mon, 19 Mar 2018 18:20:53 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.28.0-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Sun, 18 Mar 2018 20:17:17 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.27.92-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Release to unstable
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Sat, 10 Mar 2018 19:37:45 -0500
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.27.92-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
[ Jeremy Bicha ]
|
||||||
|
* New upstream release candidate
|
||||||
|
* Drop explicit dependency on mutter's gir. gnome-shell-extensions depends
|
||||||
|
on gnome-shell which depends on the gir. Dropping it will make transitions
|
||||||
|
easier.
|
||||||
|
|
||||||
|
[ Simon McVittie ]
|
||||||
|
* Recommend gnome-tweaks instead of transitional gnome-tweak-tool
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Mon, 05 Mar 2018 21:02:01 -0500
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.27.91-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream development release
|
||||||
|
* Build with meson
|
||||||
|
* Build-Depend on sassc
|
||||||
|
* Bump debhelper compat to 11
|
||||||
|
* Drop places-menu-Don-t-force-dispose-of-uninitialized-proxies.patch &
|
||||||
|
dont-require-nautilus-classic.patch: Applied in new release
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Fri, 23 Feb 2018 19:49:59 -0500
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.26.2-3) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
|
||||||
|
[ Jeremy Bicha ]
|
||||||
|
* Update Vcs fields for migration to https://salsa.debian.org/
|
||||||
|
|
||||||
|
[ Simon McVittie ]
|
||||||
|
* d/patches: Re-export with gbp pq export
|
||||||
|
* d/p/places-menu-Don-t-force-dispose-of-uninitialized-proxies.patch:
|
||||||
|
Take patch from upstream to avoid frequent tracebacks from the Places
|
||||||
|
menu with gjs >= 1.50.2-3 (Closes: #888608)
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Tue, 30 Jan 2018 09:15:54 +0000
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.26.2-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Update Vcs fields for conversion to git
|
||||||
|
* Add debian/gbp.conf
|
||||||
|
* Bump Standards-Version to 4.1.2
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Fri, 15 Dec 2017 15:19:14 -0500
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.26.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Sun, 05 Nov 2017 20:17:03 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.26.1-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Release to unstable
|
||||||
|
* Bump Standards-Version to 4.1.1
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@debian.org> Fri, 13 Oct 2017 16:49:30 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.26.1-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* New upstream stable release
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Fri, 06 Oct 2017 11:01:11 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.26.0-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* New upstream stable release
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Wed, 13 Sep 2017 11:33:19 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.25.91-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
* New upstream release, for GNOME Shell 3.25.91
|
||||||
|
- d/p/adapt-to-gsd324.patch: Drop, applied upstream
|
||||||
|
- Switch dependency to gir1.2-mutter-1
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Tue, 05 Sep 2017 16:43:01 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.22.2-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Add adapt-to-gsd324.patch (Closes: #869948):
|
||||||
|
- Adjust gnome-session file for gnome-settings-daemon 3.24
|
||||||
|
* debian/control.in:
|
||||||
|
- Bump Standards-Version to 4.0.0
|
||||||
|
- Explicitly depend on gnome-settings-daemon >= 3.24
|
||||||
|
- Drop version from gnome-tweak-tool recommends
|
||||||
|
- Depend on gnome-session-bin instead of gnome-session (LP: #1702832)
|
||||||
|
|
||||||
|
-- Jeremy Bicha <jbicha@ubuntu.com> Sun, 06 Aug 2017 17:38:06 -0400
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.22.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Thu, 10 Nov 2016 19:36:44 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.22.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Tue, 11 Oct 2016 17:58:31 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.22.0-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Tue, 20 Sep 2016 01:59:50 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.21.92-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream development release.
|
||||||
|
* Replace Build-Depends gnome-common with pkg-config and gettext.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Tue, 13 Sep 2016 22:13:19 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.21.91-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream beta release.
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Tue, 30 Aug 2016 19:57:32 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.21.90-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
[ Andreas Henriksson ]
|
||||||
|
* New upstream beta release.
|
||||||
|
* Update build-dependencies according to configure.ac changes:
|
||||||
|
- drop intltool, now gettext is used instead.
|
||||||
|
|
||||||
|
[ Jeremy Bicha ]
|
||||||
|
* Convert from cdbs to dh
|
||||||
|
* Add debian/docs to install NEWS and README
|
||||||
|
* Bump dh compat to 10
|
||||||
|
* Update Vcs fields
|
||||||
|
* Refresh patches
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Sun, 21 Aug 2016 05:36:17 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.21.4-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream development release.
|
||||||
|
* Stop hard-coding Victor Seva in the Uploaders field
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Fri, 12 Aug 2016 16:28:33 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.20.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Bump Standards-Version to 3.9.8.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Wed, 11 May 2016 15:21:35 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.20.0-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Upload to unstable.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Sun, 17 Apr 2016 00:25:25 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.20.0-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Fri, 25 Mar 2016 10:48:00 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.19.92-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Update dont-require-nautilus-classic.patch to apply.
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Thu, 17 Mar 2016 12:51:13 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.18.4-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Bump Standards-Version to 3.9.7.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Sun, 06 Mar 2016 22:38:57 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.18.3-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Add Breaks/Replaces gnome-shell-common (<< 3.18) (Closes: #808906)
|
||||||
|
- Helps upgrades from Jessie by allowing overwriting
|
||||||
|
/usr/share/gnome-shell/theme/calendar-today.svg et.al.
|
||||||
|
which was previously shipped in gnome-shell-common.
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Wed, 10 Feb 2016 01:24:42 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.18.3-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Thu, 14 Jan 2016 22:49:16 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.18.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Fri, 13 Nov 2015 00:04:09 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.18.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Fri, 16 Oct 2015 22:09:01 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.18.0-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
|
||||||
|
-- Laurent Bigonville <bigon@debian.org> Sun, 11 Oct 2015 16:29:18 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.17.92-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release candidate.
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Fri, 18 Sep 2015 17:28:06 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.16.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Emilio Pozuelo Monfort ]
|
||||||
|
* debian/gnome-shell-extensions.gsettings-override:
|
||||||
|
+ Dropped, no longer needed as the enabled extension no longer exists.
|
||||||
|
Thanks Artur Rona for noticing. (Closes: #782747)
|
||||||
|
|
||||||
|
[ Michael Biebl ]
|
||||||
|
* New upstream release.
|
||||||
|
* Update Homepage.
|
||||||
|
* Bump debhelper compatibility level to 9.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Thu, 02 Jul 2015 19:13:32 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.16.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* debian/control.in,
|
||||||
|
debian/rules:
|
||||||
|
+ The system monitor extension was removed. Drop the libgtop
|
||||||
|
build and runtime dependencies and stop enabling it.
|
||||||
|
* debian/patches/apps-center-labels.patch,
|
||||||
|
debian/patches/window-list-pointerInNotification.patch,
|
||||||
|
debian/patches/menu-arrows-icons.patch:
|
||||||
|
+ Dropped, merged upstream.
|
||||||
|
* debian/patches/dont-require-nautilus-classic.patch:
|
||||||
|
+ Updated for the new version.
|
||||||
|
|
||||||
|
-- Emilio Pozuelo Monfort <pochu@debian.org> Sun, 14 Jun 2015 15:23:59 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.14.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream bugfix release.
|
||||||
|
* menu-arrows-icons: new patch. Make arrows consistent with the rest
|
||||||
|
of the shell.
|
||||||
|
* apps-center-labels.patch: patch from upstream git. Center labels
|
||||||
|
vertically in the applications menu.
|
||||||
|
* window-list-pointerInNotification.patch: patch from upstream git.
|
||||||
|
Update window-list extension for an older shell API change.
|
||||||
|
|
||||||
|
-- Josselin Mouette <joss@debian.org> Sun, 30 Nov 2014 16:06:59 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.14.1-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* debian/control.in: Bump Standards-Version to 3.9.6 (no further changes)
|
||||||
|
* Add missing dependencies against gir packages, including gir1.2-gmenu-3.0,
|
||||||
|
this should fix the apps-menu extension for some people (Closes: #765460).
|
||||||
|
|
||||||
|
-- Laurent Bigonville <bigon@debian.org> Sun, 19 Oct 2014 21:17:58 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.14.0-2) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Drop xrandr from EXTENSIONS_DISABLED, this extension was removed
|
||||||
|
upstream.
|
||||||
|
* Add new screenshot-window-sizer extension to EXTENSIONS_ENABLED.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Wed, 24 Sep 2014 01:15:32 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.14.0-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* debian/watch: only scan for stable releases.
|
||||||
|
* New upstream release.
|
||||||
|
* Upload to unstable.
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Tue, 23 Sep 2014 15:46:30 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.13.91-1) experimental; urgency=medium
|
||||||
|
|
||||||
|
* New upstream development release.
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Sat, 06 Sep 2014 11:16:39 -0700
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.12.2-1) unstable; urgency=medium
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Bump Standards-Version to 3.9.5
|
||||||
|
* Upload to unstable.
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Tue, 15 Jul 2014 00:06:09 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.12.0-1) experimental; urgency=low
|
||||||
|
|
||||||
|
[ Jean Schurger ]
|
||||||
|
* New upstream release (3.10.1)
|
||||||
|
* debian/rules: remove one of the 'windowsNavigator' extension listed twice
|
||||||
|
and the 'alternative-system-menu' extension (does not exists anymore)
|
||||||
|
* debian/copyright: Update 'Format:' line
|
||||||
|
|
||||||
|
[ Andreas Henriksson ]
|
||||||
|
* New upstream release (3.12.0)
|
||||||
|
* debian/local/gnome-session-classic,
|
||||||
|
debian/patches/gnome-session-classic-wrapper-script.patch:
|
||||||
|
- update script to include new GNOME_SHELL_SESSION_MODE env variable
|
||||||
|
and update patch to apply again.
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Fri, 04 Apr 2014 21:43:18 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.8.4-2) unstable; urgency=low
|
||||||
|
|
||||||
|
* Upload to unstable.
|
||||||
|
|
||||||
|
-- Emilio Pozuelo Monfort <pochu@debian.org> Sun, 13 Oct 2013 18:11:33 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.8.4-1) experimental; urgency=low
|
||||||
|
|
||||||
|
[ Jeremy Bicha ]
|
||||||
|
* New upstream release
|
||||||
|
* Dropped patches applied in new version:
|
||||||
|
- fix-hibernate.patch
|
||||||
|
- fix-applications-menu-resolution-change.patch
|
||||||
|
- look-in-data-home-for-themes.patch
|
||||||
|
|
||||||
|
[ Michael Biebl ]
|
||||||
|
* Add a wrapper script to start the GNOME Classic session as currently
|
||||||
|
Xsession doesn't allow to run gnome-session with custom arguments due to
|
||||||
|
#653327.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Fri, 11 Oct 2013 18:55:23 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.8.3.1-1) experimental; urgency=low
|
||||||
|
|
||||||
|
[ Jeremy Bicha ]
|
||||||
|
* New upstream release
|
||||||
|
- default-min-max and static-workspaces extensions have been dropped.
|
||||||
|
Use Classic Mode or tweak org.gnome.shell.overrides in dconf-editor
|
||||||
|
* debian/control.in:
|
||||||
|
- Depend on gnome-session 3.8, required for the new Classic mode.
|
||||||
|
- Update homepage
|
||||||
|
* debian/patches/dont-require-nautilus-classic.patch:
|
||||||
|
- Don't require nautilus-classic since it forces desktop icons
|
||||||
|
* debian/patches/fix-applications-menu-resolution-change.patch:
|
||||||
|
- Backport commit to not break applications menu when screen resolution
|
||||||
|
changes
|
||||||
|
* debian/patches/fix-hibernate.patch:
|
||||||
|
- Backport patch to fix checking whether hibernate is allowed
|
||||||
|
* debian/patches/look-in-data-home-for-themes.patch:
|
||||||
|
- Backport commit to also look in XDG_DATA_HOME (usually ~/.local/share/)
|
||||||
|
for user themes
|
||||||
|
* debian/rules:
|
||||||
|
- Run autoreconf
|
||||||
|
|
||||||
|
-- Andreas Henriksson <andreas@fatal.se> Fri, 16 Aug 2013 20:25:30 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.8.2-1) experimental; urgency=low
|
||||||
|
|
||||||
|
* Team upload
|
||||||
|
|
||||||
|
[ Victor Seva ]
|
||||||
|
* Recommends gnome-tweak-tool
|
||||||
|
|
||||||
|
[ Jean Schurger ]
|
||||||
|
* New upstream release 3.7.92 (LP: #1017979, #1059152).
|
||||||
|
* Enabled new extensions.
|
||||||
|
* Dropped 'dock' and 'gajim'.
|
||||||
|
* Use ./configure instead of autoreconf.
|
||||||
|
* Bumped Standards-Version to 3.9.4.
|
||||||
|
* Updated Vcs-Svn.
|
||||||
|
* debian/control.in
|
||||||
|
- Added runtime dependency to 'gvfs' (>= 1.16.0).
|
||||||
|
The 'Places' extension rely on a 'gvfs' linked to 'udisks2'.
|
||||||
|
|
||||||
|
[ Simon McVittie ]
|
||||||
|
* New upstream release 3.8.2.
|
||||||
|
* Install the "classic mode"
|
||||||
|
* Enable windowNavigator extension (this means we have everything except
|
||||||
|
example and xrandr, the same as in the Ubuntu gnome3-team's PPA)
|
||||||
|
|
||||||
|
-- Simon McVittie <smcv@debian.org> Thu, 23 May 2013 09:07:23 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.4.0-2) unstable; urgency=low
|
||||||
|
|
||||||
|
* Upload to unstable.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Wed, 30 May 2012 13:22:54 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.4.0-1) experimental; urgency=low
|
||||||
|
|
||||||
|
* New upstream release.
|
||||||
|
* Remove 01_status-menu_disable_accounts.patch: The alternative-status-menu
|
||||||
|
extension no longer recreates the complete user menu but reuses the one
|
||||||
|
from gnome-shell, so we can't easily get rid of the "Online Accounts" menu
|
||||||
|
entry. We will patch gnome-shell directly instead.
|
||||||
|
* Remove 02-Revert-all-remove-all-GSettings-usage.patch and
|
||||||
|
03-Revert-Remove-all-references-to-localedir-from-metad.patch, no longer
|
||||||
|
required.
|
||||||
|
* Bump Standards-Version to 3.9.3
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Mon, 21 May 2012 00:24:56 +0200
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.2.3-1) unstable; urgency=low
|
||||||
|
|
||||||
|
[ Josselin Mouette ]
|
||||||
|
* gnome-shell-extensions.gsettings-override: enable the alternative
|
||||||
|
status menu by default. Closes: #648112.
|
||||||
|
* Use ${gnome:Version} to generate strict dependencies, it’s very
|
||||||
|
unlikely that extensions remain compatible after a major upgrade.
|
||||||
|
|
||||||
|
[ Michael Biebl ]
|
||||||
|
* Upload to unstable.
|
||||||
|
|
||||||
|
[ Josselin Mouette ]
|
||||||
|
* 01_status-menu_disable_accounts.patch: new patch. Drop the unusable
|
||||||
|
advertisement for Google. It is already available in the control
|
||||||
|
center anyway.
|
||||||
|
|
||||||
|
[ Michael Biebl ]
|
||||||
|
* New upstream release.
|
||||||
|
* Drop patches which have been merged upstream:
|
||||||
|
- debian/patches/upstream/*
|
||||||
|
- debian/patches/fix-*
|
||||||
|
* Refresh 01_status-menu_disable_accounts.patch.
|
||||||
|
* Add 02-Revert-all-remove-all-GSettings-usage.patch: Use GSettings since we
|
||||||
|
install the extensions system-wide.
|
||||||
|
* Use dh-autoreconf to generate the build system.
|
||||||
|
* Add 03-Revert-Remove-all-references-to-localedir-from-metad.patch: Use
|
||||||
|
locales from system-wide location.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Sat, 11 Feb 2012 23:28:53 +0100
|
||||||
|
|
||||||
|
gnome-shell-extensions (3.2.0-1) experimental; urgency=low
|
||||||
|
|
||||||
|
[ Victor Seva ]
|
||||||
|
* Initial release (Closes: #627515)
|
||||||
|
Package based on the work by Bilal Akhtar <bilalakhtar@ubuntu.com>
|
||||||
|
* debian/copyright
|
||||||
|
- Added myself
|
||||||
|
- Fixed syntax-error-in-dep5-copyright syntax error
|
||||||
|
* debian/control.in
|
||||||
|
- Added myself as maintainer.
|
||||||
|
- Fix gnome-shell dependency.
|
||||||
|
- Fix gir1.2-gtop-2.0 dependency for systemMonitor ext.
|
||||||
|
* debian/rules
|
||||||
|
- Added uploaders.mk gnome-version.mk includes.
|
||||||
|
- Removed unused variables.
|
||||||
|
* debian/watch added.
|
||||||
|
* No more gnome-shell-extension-* packages.
|
||||||
|
* debian/patches/upstream
|
||||||
|
- patch_967aee7aad2accfb38d91ab56b6c5e91d86a2722.diff
|
||||||
|
popup menu fix
|
||||||
|
- patch_66242aa76a5d59fb4659551575c1fbb42e50b8fb.diff
|
||||||
|
dock fix.
|
||||||
|
- patch_4c5a36e4c0cbe38f2e26b6b3c8b02e88b4b939f7.diff
|
||||||
|
patch_2bba98d6214cffae2eb5cecb9d7c1f6b6d244052.diff
|
||||||
|
systemMonitor: Properly enable/disable
|
||||||
|
* debian/patches
|
||||||
|
- fix_dock_gnome-shell_version.diff
|
||||||
|
- fix_alternate-tab_661281.diff
|
||||||
|
- fix_alternate-tab_gnome-shell_version.diff
|
||||||
|
* debian/rules
|
||||||
|
- EXTENSIONS_ENABLED, EXTENSIONS_DISABLED variables
|
||||||
|
- disabled xrandr-indicator
|
||||||
|
|
||||||
|
[ Michael Biebl ]
|
||||||
|
* debian/watch: Track .xz tarballs.
|
||||||
|
* debian/control.in:
|
||||||
|
- Set pkg-gnome-maintainers@lists.alioth.debian.org as Maintainer and add
|
||||||
|
Victor Seva <linuxmaniac@torreviejawireless.org> to Uploaders.
|
||||||
|
- Wrap (Build-)Depends.
|
||||||
|
- Add Vcs-Svn and Vcs-Browser field.
|
||||||
|
* debian/rules:
|
||||||
|
- Include gnome-get-source.mk.
|
||||||
|
|
||||||
|
-- Michael Biebl <biebl@debian.org> Sat, 12 Nov 2011 18:32:22 +0100
|
||||||
Vendored
+49
@@ -0,0 +1,49 @@
|
|||||||
|
# This file is autogenerated. DO NOT EDIT!
|
||||||
|
#
|
||||||
|
# Modifications should be made to debian/control.in instead.
|
||||||
|
# This file is regenerated automatically in the clean target.
|
||||||
|
Source: gnome-shell-extensions
|
||||||
|
Section: gnome
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
|
||||||
|
Uploaders: Jeremy Bicha <jbicha@ubuntu.com>, Laurent Bigonville <bigon@debian.org>
|
||||||
|
Build-Depends: debhelper-compat (= 13),
|
||||||
|
dh-sequence-gnome (>= 0.22),
|
||||||
|
meson (>= 0.53.0),
|
||||||
|
sassc
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
Standards-Version: 4.6.0
|
||||||
|
Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell-extensions
|
||||||
|
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell-extensions.git
|
||||||
|
Homepage: https://wiki.gnome.org/Projects/GnomeShell/Extensions
|
||||||
|
|
||||||
|
Package: gnome-shell-extensions
|
||||||
|
Architecture: all
|
||||||
|
Depends: gir1.2-adw-1,
|
||||||
|
gir1.2-atk-1.0,
|
||||||
|
gir1.2-glib-2.0,
|
||||||
|
gir1.2-gmenu-3.0,
|
||||||
|
gir1.2-graphene-1.0 (>= 1.10.2),
|
||||||
|
gir1.2-gtk-4.0,
|
||||||
|
gir1.2-pango-1.0,
|
||||||
|
gnome-session-bin (>= 3.8),
|
||||||
|
gnome-settings-daemon (>= 3.24),
|
||||||
|
gnome-shell (<< ${gnome:NextVersion}),
|
||||||
|
gnome-shell (>= ${gnome:Version}),
|
||||||
|
gvfs (>= 1.16.0),
|
||||||
|
${misc:Depends}
|
||||||
|
Recommends: gnome-shell-extension-prefs
|
||||||
|
Replaces: gnome-shell-common (<< 3.18)
|
||||||
|
Breaks: gnome-shell-common (<< 3.18)
|
||||||
|
Description: Extensions to extend functionality of GNOME Shell
|
||||||
|
The GNOME Shell redefines user interactions with the GNOME desktop. In
|
||||||
|
particular, it offers new paradigms for launching applications,
|
||||||
|
accessing documents, and organizing open windows in GNOME. Later, it
|
||||||
|
will introduce a new applets eco-system and offer new solutions for
|
||||||
|
other desktop features, such as notifications and contacts management.
|
||||||
|
The GNOME Shell is intended to replace functions handled by the GNOME
|
||||||
|
Panel and by the window manager in previous versions of GNOME. The GNOME
|
||||||
|
Shell has rich visual effects enabled by new graphical technologies.
|
||||||
|
.
|
||||||
|
GNOME Shell is extensible using extensions. This package contains
|
||||||
|
official GNOME Shell extensions.
|
||||||
Vendored
+45
@@ -0,0 +1,45 @@
|
|||||||
|
Source: gnome-shell-extensions
|
||||||
|
Section: gnome
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
|
||||||
|
Uploaders: @GNOME_TEAM@
|
||||||
|
Build-Depends: debhelper-compat (= 13),
|
||||||
|
dh-sequence-gnome (>= 0.22),
|
||||||
|
meson (>= 0.53.0),
|
||||||
|
sassc
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
Standards-Version: 4.6.0
|
||||||
|
Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell-extensions
|
||||||
|
Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell-extensions.git
|
||||||
|
Homepage: https://wiki.gnome.org/Projects/GnomeShell/Extensions
|
||||||
|
|
||||||
|
Package: gnome-shell-extensions
|
||||||
|
Architecture: all
|
||||||
|
Depends: gir1.2-adw-1,
|
||||||
|
gir1.2-atk-1.0,
|
||||||
|
gir1.2-glib-2.0,
|
||||||
|
gir1.2-gmenu-3.0,
|
||||||
|
gir1.2-graphene-1.0 (>= 1.10.2),
|
||||||
|
gir1.2-gtk-4.0,
|
||||||
|
gir1.2-pango-1.0,
|
||||||
|
gnome-session-bin (>= 3.8),
|
||||||
|
gnome-settings-daemon (>= 3.24),
|
||||||
|
gnome-shell (<< ${gnome:NextVersion}),
|
||||||
|
gnome-shell (>= ${gnome:Version}),
|
||||||
|
gvfs (>= 1.16.0),
|
||||||
|
${misc:Depends}
|
||||||
|
Recommends: gnome-shell-extension-prefs
|
||||||
|
Replaces: gnome-shell-common (<< 3.18)
|
||||||
|
Breaks: gnome-shell-common (<< 3.18)
|
||||||
|
Description: Extensions to extend functionality of GNOME Shell
|
||||||
|
The GNOME Shell redefines user interactions with the GNOME desktop. In
|
||||||
|
particular, it offers new paradigms for launching applications,
|
||||||
|
accessing documents, and organizing open windows in GNOME. Later, it
|
||||||
|
will introduce a new applets eco-system and offer new solutions for
|
||||||
|
other desktop features, such as notifications and contacts management.
|
||||||
|
The GNOME Shell is intended to replace functions handled by the GNOME
|
||||||
|
Panel and by the window manager in previous versions of GNOME. The GNOME
|
||||||
|
Shell has rich visual effects enabled by new graphical technologies.
|
||||||
|
.
|
||||||
|
GNOME Shell is extensible using extensions. This package contains
|
||||||
|
official GNOME Shell extensions.
|
||||||
Vendored
+30
@@ -0,0 +1,30 @@
|
|||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: gnome-shell-extensions
|
||||||
|
Upstream-Contact: 2011 Giovanni Campagna <gcampagna@src.gnome.org>
|
||||||
|
Source: https://download.gnome.org/sources/gnome-shell-extensions/
|
||||||
|
Files-Excluded: data/gnome-classic.css
|
||||||
|
Comment: Build that generated file from source
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: 2011 Giovanni Campagna <gcampagna@src.gnome.org>
|
||||||
|
License: GPL-2+
|
||||||
|
|
||||||
|
Files: debian/*
|
||||||
|
Copyright:
|
||||||
|
2011 Victor Seva <linuxmaniac@torreviejawireless.org>
|
||||||
|
2011 Bilal Akhtar <bilalakhtar@ubuntu.com>
|
||||||
|
License: GPL-2+
|
||||||
|
|
||||||
|
License: GPL-2+
|
||||||
|
This package is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
.
|
||||||
|
This package is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the GNU General
|
||||||
|
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
|
||||||
Vendored
+2
@@ -0,0 +1,2 @@
|
|||||||
|
NEWS
|
||||||
|
README.md
|
||||||
Vendored
+17
@@ -0,0 +1,17 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
pristine-tar = True
|
||||||
|
debian-branch = debian/master
|
||||||
|
upstream-branch = upstream/latest
|
||||||
|
|
||||||
|
[buildpackage]
|
||||||
|
sign-tags = True
|
||||||
|
|
||||||
|
[dch]
|
||||||
|
multimaint-merge = True
|
||||||
|
|
||||||
|
[import-orig]
|
||||||
|
postimport = dch -v%(version)s New upstream release; git add debian/changelog; debcommit
|
||||||
|
upstream-vcs-tag = %(version%~%.)s
|
||||||
|
|
||||||
|
[pq]
|
||||||
|
patch-numbers = False
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
debian/local/gnome-session-classic usr/bin
|
||||||
+2
@@ -0,0 +1,2 @@
|
|||||||
|
#! /bin/sh
|
||||||
|
env GNOME_SHELL_SESSION_MODE=classic gnome-session "$@"
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
From: Michael Biebl <biebl@debian.org>
|
||||||
|
Date: Tue, 30 Jan 2018 09:04:03 +0000
|
||||||
|
Subject: Use a wrapper script to start GNOME classic session
|
||||||
|
|
||||||
|
Xsession currently doesn't allow passing more then one argument, as it
|
||||||
|
otherwise fails with
|
||||||
|
Xsession: unable to launch "gnome-session --session classic" X session ---
|
||||||
|
"gnome-session --session classic" not found; falling back to default session.
|
||||||
|
|
||||||
|
This is due to [1]. Add a wrapper script to start the GNOME classic session
|
||||||
|
as a workaround. Once [1] is fixed, this should be removed again.
|
||||||
|
|
||||||
|
[1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653327.
|
||||||
|
---
|
||||||
|
data/gnome-classic.desktop.in | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/data/gnome-classic.desktop.in b/data/gnome-classic.desktop.in
|
||||||
|
index 13da2b5..d627655 100644
|
||||||
|
--- a/data/gnome-classic.desktop.in
|
||||||
|
+++ b/data/gnome-classic.desktop.in
|
||||||
|
@@ -1,7 +1,7 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Name=GNOME Classic
|
||||||
|
Comment=This session logs you into GNOME Classic
|
||||||
|
-Exec=env GNOME_SHELL_SESSION_MODE=classic gnome-session
|
||||||
|
+Exec=gnome-session-classic
|
||||||
|
TryExec=gnome-session
|
||||||
|
Type=Application
|
||||||
|
DesktopNames=GNOME-Classic;GNOME;
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
gnome-session-classic-wrapper-script.patch
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
|
%:
|
||||||
|
dh $@
|
||||||
|
|
||||||
|
override_dh_auto_configure:
|
||||||
|
dh_auto_configure -- \
|
||||||
|
-Dextension_set=all \
|
||||||
|
-Dclassic_mode=true
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
3.0 (quilt)
|
||||||
Vendored
+5
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
Bug-Database: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues
|
||||||
|
Bug-Submit: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues/new
|
||||||
|
Repository: https://gitlab.gnome.org/GNOME/gnome-shell-extensions.git
|
||||||
|
Repository-Browse: https://gitlab.gnome.org/GNOME/gnome-shell-extensions
|
||||||
Vendored
+4
@@ -0,0 +1,4 @@
|
|||||||
|
version=4
|
||||||
|
opts="searchmode=plain, uversionmangle=s/\.(alpha|beta|rc)/~$1/, downloadurlmangle=s|cache.json||" \
|
||||||
|
https://download.gnome.org/sources/@PACKAGE@/cache.json \
|
||||||
|
[\d.]+/@PACKAGE@-([\d.]+)@ARCHIVE_EXT@
|
||||||
+20
-10
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
|
|
||||||
srcdir=`dirname $0`
|
srcdir=`dirname $0`
|
||||||
srcdir=`(cd $srcdir && pwd)`
|
srcdir=`(cd $srcdir && pwd)`
|
||||||
@@ -7,30 +7,40 @@ builddir=`mktemp -p $srcdir -d _build.XXXXXX` || exit 1
|
|||||||
installdir=`mktemp -p $srcdir -d _install.XXXXXX` || exit 1
|
installdir=`mktemp -p $srcdir -d _install.XXXXXX` || exit 1
|
||||||
|
|
||||||
meson setup --prefix=$installdir -Dextension_set=all $srcdir $builddir
|
meson setup --prefix=$installdir -Dextension_set=all $srcdir $builddir
|
||||||
ninja -C$builddir install
|
meson install -C $builddir
|
||||||
|
|
||||||
rm -rf $srcdir/zip-files
|
rm -rf $srcdir/zip-files
|
||||||
mkdir $srcdir/zip-files
|
mkdir $srcdir/zip-files
|
||||||
|
|
||||||
extensiondir=$installdir/share/gnome-shell/extensions
|
extensiondir=$installdir/share/gnome-shell/extensions
|
||||||
schemadir=$installdir/share/glib-2.0/schemas
|
schemadir=$installdir/share/glib-2.0/schemas
|
||||||
localedir=$installdir/share/locale
|
|
||||||
|
|
||||||
for f in $extensiondir/*; do
|
for f in $extensiondir/*; do
|
||||||
name=`basename ${f%%@*}`
|
name=`basename ${f%%@*}`
|
||||||
uuid=$name@gnome-shell-extensions.gcampax.github.com
|
uuid=$name@gnome-shell-extensions.gcampax.github.com
|
||||||
schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml
|
schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml
|
||||||
|
|
||||||
cp $srcdir/NEWS $srcdir/COPYING $f
|
olddomain=gnome-shell-extensions
|
||||||
cp -r $localedir $f
|
newdomain=gnome-shell-extension-$name
|
||||||
|
sed -i "/gettext-domain/ s:$olddomain:$newdomain:" $f/metadata.json
|
||||||
|
|
||||||
if [ -f $schema ]; then
|
xgettext --from-code=UTF-8 --output-dir=$builddir --output=$name.pot $f/*.js
|
||||||
mkdir $f/schemas
|
|
||||||
cp $schema $f/schemas;
|
if [ -f $builddir/$name.pot ]; then
|
||||||
glib-compile-schemas $f/schemas
|
mkdir $f/po
|
||||||
|
for l in $(<$srcdir/po/LINGUAS); do
|
||||||
|
msgmerge --quiet --output-file=$f/po/$l.po \
|
||||||
|
$srcdir/po/$l.po $builddir/$name.pot
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
(cd $f && zip -rmq $srcdir/zip-files/$uuid.shell-extension.zip .)
|
cp $srcdir/NEWS $srcdir/COPYING $f
|
||||||
|
sources=(NEWS COPYING $(cd $f; ls *.js))
|
||||||
|
|
||||||
|
[ -f $schema ] || unset schema
|
||||||
|
|
||||||
|
gnome-extensions pack ${sources[@]/#/--extra-source=} \
|
||||||
|
${schema:+--schema=$schema} --out-dir=$srcdir/zip-files $f
|
||||||
done
|
done
|
||||||
|
|
||||||
rm -rf $builddir
|
rm -rf $builddir
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
const {
|
const {
|
||||||
Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St,
|
Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St,
|
||||||
} = imports.gi;
|
} = imports.gi;
|
||||||
const Signals = imports.signals;
|
const {EventEmitter} = imports.misc.signals;
|
||||||
|
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
@@ -12,8 +12,7 @@ const Main = imports.ui.main;
|
|||||||
const PanelMenu = imports.ui.panelMenu;
|
const PanelMenu = imports.ui.panelMenu;
|
||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
const _ = ExtensionUtils.gettext;
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const appSys = Shell.AppSystem.get_default();
|
const appSys = Shell.AppSystem.get_default();
|
||||||
|
|
||||||
@@ -25,10 +24,13 @@ const NAVIGATION_REGION_OVERSHOOT = 50;
|
|||||||
Gio._promisify(Gio._LocalFilePrototype, 'query_info_async', 'query_info_finish');
|
Gio._promisify(Gio._LocalFilePrototype, 'query_info_async', 'query_info_finish');
|
||||||
Gio._promisify(Gio._LocalFilePrototype, 'set_attributes_async', 'set_attributes_finish');
|
Gio._promisify(Gio._LocalFilePrototype, 'set_attributes_async', 'set_attributes_finish');
|
||||||
|
|
||||||
var ApplicationMenuItem = GObject.registerClass(
|
|
||||||
class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
_init(button, app) {
|
static {
|
||||||
super._init();
|
GObject.registerClass(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(button, app) {
|
||||||
|
super();
|
||||||
this._app = app;
|
this._app = app;
|
||||||
this._button = button;
|
this._button = button;
|
||||||
|
|
||||||
@@ -94,12 +96,15 @@ class ApplicationMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
icon.style_class = 'icon-dropshadow';
|
icon.style_class = 'icon-dropshadow';
|
||||||
this._iconBin.set_child(icon);
|
this._iconBin.set_child(icon);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
var CategoryMenuItem = GObject.registerClass(
|
|
||||||
class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
_init(button, category) {
|
static {
|
||||||
super._init();
|
GObject.registerClass(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(button, category) {
|
||||||
|
super();
|
||||||
this._category = category;
|
this._category = category;
|
||||||
this._button = button;
|
this._button = button;
|
||||||
|
|
||||||
@@ -112,7 +117,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
else
|
else
|
||||||
name = _('Favorites');
|
name = _('Favorites');
|
||||||
|
|
||||||
this.add_child(new St.Label({ text: name }));
|
this.add_child(new St.Label({text: name}));
|
||||||
this.connect('motion-event', this._onMotionEvent.bind(this));
|
this.connect('motion-event', this._onMotionEvent.bind(this));
|
||||||
this.connect('notify::active', this._onActiveChanged.bind(this));
|
this.connect('notify::active', this._onActiveChanged.bind(this));
|
||||||
}
|
}
|
||||||
@@ -181,11 +186,14 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_onMotionEvent(actor, event) {
|
_onMotionEvent(actor, event) {
|
||||||
let device = event.get_device();
|
if (!this._grab) {
|
||||||
if (!device.get_grabbed_actor()) {
|
|
||||||
this._oldX = -1;
|
this._oldX = -1;
|
||||||
this._oldY = -1;
|
this._oldY = -1;
|
||||||
device.grab(this);
|
const grab = global.stage.grab(this);
|
||||||
|
if (grab.get_seat_state() !== Clutter.GrabState.NONE)
|
||||||
|
this._grab = grab;
|
||||||
|
else
|
||||||
|
grab.dismiss();
|
||||||
}
|
}
|
||||||
this.hover = true;
|
this.hover = true;
|
||||||
|
|
||||||
@@ -195,7 +203,8 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
this._oldX = -1;
|
this._oldX = -1;
|
||||||
this._oldY = -1;
|
this._oldY = -1;
|
||||||
this.hover = false;
|
this.hover = false;
|
||||||
device.ungrab();
|
this._grab?.dismiss();
|
||||||
|
delete this._grab;
|
||||||
|
|
||||||
let source = event.get_source();
|
let source = event.get_source();
|
||||||
if (source instanceof St.Widget)
|
if (source instanceof St.Widget)
|
||||||
@@ -211,7 +220,7 @@ class CategoryMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
this._button.selectCategory(this._category);
|
this._button.selectCategory(this._category);
|
||||||
this._button.scrollToCatButton(this);
|
this._button.scrollToCatButton(this);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
class ApplicationsMenu extends PopupMenu.PopupMenu {
|
class ApplicationsMenu extends PopupMenu.PopupMenu {
|
||||||
constructor(sourceActor, arrowAlignment, arrowSide, button) {
|
constructor(sourceActor, arrowAlignment, arrowSide, button) {
|
||||||
@@ -230,8 +239,10 @@ class ApplicationsMenu extends PopupMenu.PopupMenu {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DesktopTarget {
|
class DesktopTarget extends EventEmitter {
|
||||||
constructor() {
|
constructor() {
|
||||||
|
super();
|
||||||
|
|
||||||
this._desktop = null;
|
this._desktop = null;
|
||||||
this._desktopDestroyedId = 0;
|
this._desktopDestroyedId = 0;
|
||||||
|
|
||||||
@@ -348,12 +359,14 @@ class DesktopTarget {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Signals.addSignalMethods(DesktopTarget.prototype);
|
|
||||||
|
|
||||||
let ApplicationsButton = GObject.registerClass(
|
|
||||||
class ApplicationsButton extends PanelMenu.Button {
|
class ApplicationsButton extends PanelMenu.Button {
|
||||||
_init() {
|
static {
|
||||||
super._init(1.0, null, false);
|
GObject.registerClass(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super(1.0, null, false);
|
||||||
|
|
||||||
this.setMenu(new ApplicationsMenu(this, 1.0, St.Side.TOP, this));
|
this.setMenu(new ApplicationsMenu(this, 1.0, St.Side.TOP, this));
|
||||||
Main.panel.menuManager.addMenu(this.menu);
|
Main.panel.menuManager.addMenu(this.menu);
|
||||||
@@ -363,17 +376,13 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
// role ATK_ROLE_MENU like other elements of the panel.
|
// role ATK_ROLE_MENU like other elements of the panel.
|
||||||
this.accessible_role = Atk.Role.LABEL;
|
this.accessible_role = Atk.Role.LABEL;
|
||||||
|
|
||||||
let hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
|
||||||
|
|
||||||
this._label = new St.Label({
|
this._label = new St.Label({
|
||||||
text: _('Applications'),
|
text: _('Applications'),
|
||||||
y_expand: true,
|
y_expand: true,
|
||||||
y_align: Clutter.ActorAlign.CENTER,
|
y_align: Clutter.ActorAlign.CENTER,
|
||||||
});
|
});
|
||||||
hbox.add_child(this._label);
|
|
||||||
hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
|
||||||
|
|
||||||
this.add_actor(hbox);
|
this.add_actor(this._label);
|
||||||
this.name = 'panelApplications';
|
this.name = 'panelApplications';
|
||||||
this.label_actor = this._label;
|
this.label_actor = this._label;
|
||||||
|
|
||||||
@@ -383,9 +392,12 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
this._hidingId = Main.overview.connect('hiding', () => {
|
this._hidingId = Main.overview.connect('hiding', () => {
|
||||||
this.remove_accessible_state(Atk.StateType.CHECKED);
|
this.remove_accessible_state(Atk.StateType.CHECKED);
|
||||||
});
|
});
|
||||||
Main.layoutManager.connect('startup-complete',
|
Main.wm.addKeybinding(
|
||||||
this._setKeybinding.bind(this));
|
'apps-menu-toggle-menu',
|
||||||
this._setKeybinding();
|
ExtensionUtils.getSettings(),
|
||||||
|
Meta.KeyBindingFlags.IGNORE_AUTOREPEAT,
|
||||||
|
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
|
||||||
|
() => this.menu.toggle());
|
||||||
|
|
||||||
this._desktopTarget = new DesktopTarget();
|
this._desktopTarget = new DesktopTarget();
|
||||||
this._desktopTarget.connect('app-dropped', () => {
|
this._desktopTarget.connect('app-dropped', () => {
|
||||||
@@ -397,7 +409,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
this._tree = new GMenu.Tree({ menu_basename: 'applications.menu' });
|
this._tree = new GMenu.Tree({menu_basename: 'applications.menu'});
|
||||||
this._treeChangedId = this._tree.connect('changed',
|
this._treeChangedId = this._tree.connect('changed',
|
||||||
this._onTreeChanged.bind(this));
|
this._onTreeChanged.bind(this));
|
||||||
|
|
||||||
@@ -436,11 +448,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
this._tree.disconnect(this._treeChangedId);
|
this._tree.disconnect(this._treeChangedId);
|
||||||
this._tree = null;
|
this._tree = null;
|
||||||
|
|
||||||
Main.wm.setCustomKeybindingHandler('panel-main-menu',
|
Main.wm.removeKeybinding('apps-menu-toggle-menu');
|
||||||
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
|
|
||||||
Main.sessionMode.hasOverview
|
|
||||||
? Main.overview.toggle.bind(Main.overview)
|
|
||||||
: null);
|
|
||||||
|
|
||||||
this._desktopTarget.destroy();
|
this._desktopTarget.destroy();
|
||||||
}
|
}
|
||||||
@@ -482,12 +490,6 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
super._onOpenStateChanged(menu, open);
|
super._onOpenStateChanged(menu, open);
|
||||||
}
|
}
|
||||||
|
|
||||||
_setKeybinding() {
|
|
||||||
Main.wm.setCustomKeybindingHandler('panel-main-menu',
|
|
||||||
Shell.ActionMode.NORMAL | Shell.ActionMode.OVERVIEW,
|
|
||||||
() => this.menu.toggle());
|
|
||||||
}
|
|
||||||
|
|
||||||
_redisplay() {
|
_redisplay() {
|
||||||
this.applicationsBox.destroy_all_children();
|
this.applicationsBox.destroy_all_children();
|
||||||
this.categoriesBox.destroy_all_children();
|
this.categoriesBox.destroy_all_children();
|
||||||
@@ -508,7 +510,7 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
}
|
}
|
||||||
let app = appSys.lookup_app(id);
|
let app = appSys.lookup_app(id);
|
||||||
if (!app)
|
if (!app)
|
||||||
app = new Shell.App({ app_info: entry.get_app_info() });
|
app = new Shell.App({app_info: entry.get_app_info()});
|
||||||
if (app.get_app_info().should_show())
|
if (app.get_app_info().should_show())
|
||||||
this.applicationsByCategory[categoryId].push(app);
|
this.applicationsByCategory[categoryId].push(app);
|
||||||
} else if (nextType === GMenu.TreeItemType.SEPARATOR) {
|
} else if (nextType === GMenu.TreeItemType.SEPARATOR) {
|
||||||
@@ -554,8 +556,8 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
_createLayout() {
|
_createLayout() {
|
||||||
let section = new PopupMenu.PopupMenuSection();
|
let section = new PopupMenu.PopupMenuSection();
|
||||||
this.menu.addMenuItem(section);
|
this.menu.addMenuItem(section);
|
||||||
this.mainBox = new St.BoxLayout({ vertical: false });
|
this.mainBox = new St.BoxLayout({vertical: false});
|
||||||
this.leftBox = new St.BoxLayout({ vertical: true });
|
this.leftBox = new St.BoxLayout({vertical: true});
|
||||||
this.applicationsScrollBox = new St.ScrollView({
|
this.applicationsScrollBox = new St.ScrollView({
|
||||||
style_class: 'apps-menu vfade',
|
style_class: 'apps-menu vfade',
|
||||||
x_expand: true,
|
x_expand: true,
|
||||||
@@ -577,9 +579,9 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
vscroll.connect('scroll-stop', () => (this.menu.passEvents = false));
|
vscroll.connect('scroll-stop', () => (this.menu.passEvents = false));
|
||||||
this.leftBox.add_child(this.categoriesScrollBox);
|
this.leftBox.add_child(this.categoriesScrollBox);
|
||||||
|
|
||||||
this.applicationsBox = new St.BoxLayout({ vertical: true });
|
this.applicationsBox = new St.BoxLayout({vertical: true});
|
||||||
this.applicationsScrollBox.add_actor(this.applicationsBox);
|
this.applicationsScrollBox.add_actor(this.applicationsBox);
|
||||||
this.categoriesBox = new St.BoxLayout({ vertical: true });
|
this.categoriesBox = new St.BoxLayout({vertical: true});
|
||||||
this.categoriesScrollBox.add_actor(this.categoriesBox);
|
this.categoriesScrollBox.add_actor(this.categoriesBox);
|
||||||
|
|
||||||
this.mainBox.add(this.leftBox);
|
this.mainBox.add(this.leftBox);
|
||||||
@@ -673,21 +675,24 @@ class ApplicationsButton extends PanelMenu.Button {
|
|||||||
|
|
||||||
return applist;
|
return applist;
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
let appsMenuButton;
|
let appsMenuButton;
|
||||||
|
|
||||||
|
/** */
|
||||||
function enable() {
|
function enable() {
|
||||||
appsMenuButton = new ApplicationsButton();
|
appsMenuButton = new ApplicationsButton();
|
||||||
let index = Main.sessionMode.panel.left.indexOf('activities') + 1;
|
let index = Main.sessionMode.panel.left.indexOf('activities') + 1;
|
||||||
Main.panel.addToStatusArea('apps-menu', appsMenuButton, index, 'left');
|
Main.panel.addToStatusArea('apps-menu', appsMenuButton, index, 'left');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function disable() {
|
function disable() {
|
||||||
Main.panel.menuManager.removeMenu(appsMenuButton.menu);
|
Main.panel.menuManager.removeMenu(appsMenuButton.menu);
|
||||||
appsMenuButton.destroy();
|
appsMenuButton.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function init() {
|
function init() {
|
||||||
ExtensionUtils.initTranslations();
|
ExtensionUtils.initTranslations();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,3 +3,5 @@ extension_data += configure_file(
|
|||||||
output: metadata_name,
|
output: metadata_name,
|
||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
|
extension_data += files('stylesheet.css')
|
||||||
|
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
"extension-id": "@extension_id@",
|
"extension-id": "@extension_id@",
|
||||||
"uuid": "@uuid@",
|
"uuid": "@uuid@",
|
||||||
|
"settings-schema": "@gschemaname@",
|
||||||
"gettext-domain": "@gettext_domain@",
|
"gettext-domain": "@gettext_domain@",
|
||||||
"name": "Applications Menu",
|
"name": "Applications Menu",
|
||||||
"description": "Add a category-based menu for applications.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.",
|
"description": "Add a category-based menu for applications.\nThis extension is part of Classic Mode and is officially supported by GNOME. Please do not report bugs using the form below, use GNOME's GitLab instance instead.",
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<schemalist gettext-domain="gnome-shell-extensions">
|
||||||
|
<schema id="org.gnome.shell.extensions.apps-menu"
|
||||||
|
path="/org/gnome/shell/extensions/apps-menu/">
|
||||||
|
<key name="apps-menu-toggle-menu" type="as">
|
||||||
|
<default>["<Alt>F1"]</default>
|
||||||
|
<summary>Keybinding to open the applications menu</summary>
|
||||||
|
<description>
|
||||||
|
Keybinding to open the applications menu.
|
||||||
|
</description>
|
||||||
|
</key>
|
||||||
|
</schema>
|
||||||
|
</schemalist>
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
// Start apps on custom workspaces
|
// Start apps on custom workspaces
|
||||||
/* exported init enable disable */
|
/* exported init enable disable */
|
||||||
|
|
||||||
const { Shell } = imports.gi;
|
const {Shell} = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
@@ -35,17 +35,16 @@ class WindowMover {
|
|||||||
|
|
||||||
_updateAppData() {
|
_updateAppData() {
|
||||||
let ids = [...this._appConfigs.keys()];
|
let ids = [...this._appConfigs.keys()];
|
||||||
let removedApps = [...this._appData.keys()].filter(
|
let removedApps = [...this._appData.keys()]
|
||||||
a => !ids.includes(a.id)
|
.filter(a => !ids.includes(a.id));
|
||||||
);
|
|
||||||
removedApps.forEach(app => {
|
removedApps.forEach(app => {
|
||||||
app.disconnect(this._appData.get(app).windowsChangedId);
|
app.disconnect(this._appData.get(app).windowsChangedId);
|
||||||
this._appData.delete(app);
|
this._appData.delete(app);
|
||||||
});
|
});
|
||||||
|
|
||||||
let addedApps = ids.map(id => this._appSystem.lookup_app(id)).filter(
|
let addedApps = ids
|
||||||
app => app && !this._appData.has(app)
|
.map(id => this._appSystem.lookup_app(id))
|
||||||
);
|
.filter(app => app && !this._appData.has(app));
|
||||||
addedApps.forEach(app => {
|
addedApps.forEach(app => {
|
||||||
let data = {
|
let data = {
|
||||||
windowsChangedId: app.connect('windows-changed',
|
windowsChangedId: app.connect('windows-changed',
|
||||||
@@ -73,7 +72,7 @@ class WindowMover {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_moveWindow(window, workspaceNum) {
|
_moveWindow(window, workspaceNum) {
|
||||||
if (window.skip_taskbar)
|
if (window.skip_taskbar || window.is_on_all_workspaces())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// ensure we have the required number of workspaces
|
// ensure we have the required number of workspaces
|
||||||
@@ -94,9 +93,9 @@ class WindowMover {
|
|||||||
// the window still exists and is just moved to a different workspace
|
// the window still exists and is just moved to a different workspace
|
||||||
// or something; assume it'll be added back immediately, so keep it
|
// or something; assume it'll be added back immediately, so keep it
|
||||||
// to avoid moving it again
|
// to avoid moving it again
|
||||||
windows.push(...data.windows.filter(
|
windows.push(...data.windows.filter(w => {
|
||||||
w => !windows.includes(w) && w.get_compositor_private() !== null
|
return !windows.includes(w) && w.get_compositor_private() !== null;
|
||||||
));
|
}));
|
||||||
|
|
||||||
let workspaceNum = this._appConfigs.get(app.id);
|
let workspaceNum = this._appConfigs.get(app.id);
|
||||||
windows.filter(w => !data.windows.includes(w)).forEach(window => {
|
windows.filter(w => !data.windows.includes(w)).forEach(window => {
|
||||||
@@ -109,18 +108,24 @@ class WindowMover {
|
|||||||
let prevCheckWorkspaces;
|
let prevCheckWorkspaces;
|
||||||
let winMover;
|
let winMover;
|
||||||
|
|
||||||
|
/** */
|
||||||
function init() {
|
function init() {
|
||||||
ExtensionUtils.initTranslations();
|
ExtensionUtils.initTranslations();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {bool} - false (used as MetaLater handler)
|
||||||
|
*/
|
||||||
function myCheckWorkspaces() {
|
function myCheckWorkspaces() {
|
||||||
let keepAliveWorkspaces = [];
|
let keepAliveWorkspaces = [];
|
||||||
let foundNonEmpty = false;
|
let foundNonEmpty = false;
|
||||||
for (let i = this._workspaces.length - 1; i >= 0; i--) {
|
for (let i = this._workspaces.length - 1; i >= 0; i--) {
|
||||||
if (!foundNonEmpty)
|
if (!foundNonEmpty) {
|
||||||
foundNonEmpty = this._workspaces[i].list_windows().length > 0;
|
foundNonEmpty = this._workspaces[i].list_windows().some(
|
||||||
else if (!this._workspaces[i]._keepAliveId)
|
w => !w.is_on_all_workspaces());
|
||||||
|
} else if (!this._workspaces[i]._keepAliveId) {
|
||||||
keepAliveWorkspaces.push(this._workspaces[i]);
|
keepAliveWorkspaces.push(this._workspaces[i]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// make sure the original method only removes empty workspaces at the end
|
// make sure the original method only removes empty workspaces at the end
|
||||||
@@ -131,6 +136,7 @@ function myCheckWorkspaces() {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function enable() {
|
function enable() {
|
||||||
prevCheckWorkspaces = Main.wm._workspaceTracker._checkWorkspaces;
|
prevCheckWorkspaces = Main.wm._workspaceTracker._checkWorkspaces;
|
||||||
Main.wm._workspaceTracker._checkWorkspaces = myCheckWorkspaces;
|
Main.wm._workspaceTracker._checkWorkspaces = myCheckWorkspaces;
|
||||||
@@ -138,6 +144,7 @@ function enable() {
|
|||||||
winMover = new WindowMover();
|
winMover = new WindowMover();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function disable() {
|
function disable() {
|
||||||
Main.wm._workspaceTracker._checkWorkspaces = prevCheckWorkspaces;
|
Main.wm._workspaceTracker._checkWorkspaces = prevCheckWorkspaces;
|
||||||
winMover.destroy();
|
winMover.destroy();
|
||||||
|
|||||||
@@ -2,281 +2,350 @@
|
|||||||
// Start apps on custom workspaces
|
// Start apps on custom workspaces
|
||||||
/* exported init buildPrefsWidget */
|
/* exported init buildPrefsWidget */
|
||||||
|
|
||||||
const { Gio, GObject, Gtk } = imports.gi;
|
const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
const N_ = e => e;
|
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
|
|
||||||
|
const _ = ExtensionUtils.gettext;
|
||||||
|
|
||||||
const SETTINGS_KEY = 'application-list';
|
const SETTINGS_KEY = 'application-list';
|
||||||
|
|
||||||
const WORKSPACE_MAX = 36; // compiled in limit of mutter
|
const WORKSPACE_MAX = 36; // compiled in limit of mutter
|
||||||
|
|
||||||
const Columns = {
|
class NewItem extends GObject.Object {}
|
||||||
APPINFO: 0,
|
GObject.registerClass(NewItem);
|
||||||
DISPLAY_NAME: 1,
|
|
||||||
ICON: 2,
|
|
||||||
WORKSPACE: 3,
|
|
||||||
ADJUSTMENT: 4,
|
|
||||||
};
|
|
||||||
|
|
||||||
const Widget = GObject.registerClass(
|
class NewItemModel extends GObject.Object {
|
||||||
class Widget extends Gtk.Grid {
|
static [GObject.interfaces] = [Gio.ListModel];
|
||||||
_init(params) {
|
static {
|
||||||
super._init(params);
|
GObject.registerClass(this);
|
||||||
this.set_orientation(Gtk.Orientation.VERTICAL);
|
|
||||||
|
|
||||||
this._settings = ExtensionUtils.getSettings();
|
|
||||||
this._settings.connect('changed', this._refresh.bind(this));
|
|
||||||
this._changedPermitted = false;
|
|
||||||
|
|
||||||
this._store = new Gtk.ListStore();
|
|
||||||
this._store.set_column_types([
|
|
||||||
Gio.AppInfo,
|
|
||||||
GObject.TYPE_STRING,
|
|
||||||
Gio.Icon,
|
|
||||||
GObject.TYPE_INT,
|
|
||||||
Gtk.Adjustment,
|
|
||||||
]);
|
|
||||||
|
|
||||||
let scrolled = new Gtk.ScrolledWindow({ shadow_type: Gtk.ShadowType.IN });
|
|
||||||
scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
|
||||||
this.add(scrolled);
|
|
||||||
|
|
||||||
|
|
||||||
this._treeView = new Gtk.TreeView({
|
|
||||||
model: this._store,
|
|
||||||
hexpand: true,
|
|
||||||
vexpand: true,
|
|
||||||
});
|
|
||||||
this._treeView.get_selection().set_mode(Gtk.SelectionMode.SINGLE);
|
|
||||||
|
|
||||||
let appColumn = new Gtk.TreeViewColumn({
|
|
||||||
expand: true,
|
|
||||||
sort_column_id: Columns.DISPLAY_NAME,
|
|
||||||
title: _('Application'),
|
|
||||||
});
|
|
||||||
let iconRenderer = new Gtk.CellRendererPixbuf();
|
|
||||||
appColumn.pack_start(iconRenderer, false);
|
|
||||||
appColumn.add_attribute(iconRenderer, 'gicon', Columns.ICON);
|
|
||||||
let nameRenderer = new Gtk.CellRendererText();
|
|
||||||
appColumn.pack_start(nameRenderer, true);
|
|
||||||
appColumn.add_attribute(nameRenderer, 'text', Columns.DISPLAY_NAME);
|
|
||||||
this._treeView.append_column(appColumn);
|
|
||||||
|
|
||||||
let workspaceColumn = new Gtk.TreeViewColumn({
|
|
||||||
title: _('Workspace'),
|
|
||||||
sort_column_id: Columns.WORKSPACE,
|
|
||||||
});
|
|
||||||
let workspaceRenderer = new Gtk.CellRendererSpin({ editable: true });
|
|
||||||
workspaceRenderer.connect('edited', this._workspaceEdited.bind(this));
|
|
||||||
workspaceColumn.pack_start(workspaceRenderer, true);
|
|
||||||
workspaceColumn.add_attribute(workspaceRenderer, 'adjustment', Columns.ADJUSTMENT);
|
|
||||||
workspaceColumn.add_attribute(workspaceRenderer, 'text', Columns.WORKSPACE);
|
|
||||||
this._treeView.append_column(workspaceColumn);
|
|
||||||
|
|
||||||
scrolled.add(this._treeView);
|
|
||||||
|
|
||||||
let toolbar = new Gtk.Toolbar({ icon_size: Gtk.IconSize.SMALL_TOOLBAR });
|
|
||||||
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR);
|
|
||||||
this.add(toolbar);
|
|
||||||
|
|
||||||
let newButton = new Gtk.ToolButton({
|
|
||||||
icon_name: 'bookmark-new-symbolic',
|
|
||||||
label: _('Add Rule'),
|
|
||||||
is_important: true,
|
|
||||||
});
|
|
||||||
newButton.connect('clicked', this._createNew.bind(this));
|
|
||||||
toolbar.add(newButton);
|
|
||||||
|
|
||||||
let delButton = new Gtk.ToolButton({ icon_name: 'edit-delete-symbolic' });
|
|
||||||
delButton.connect('clicked', this._deleteSelected.bind(this));
|
|
||||||
toolbar.add(delButton);
|
|
||||||
|
|
||||||
let selection = this._treeView.get_selection();
|
|
||||||
selection.connect('changed', () => {
|
|
||||||
delButton.sensitive = selection.count_selected_rows() > 0;
|
|
||||||
});
|
|
||||||
delButton.sensitive = selection.count_selected_rows() > 0;
|
|
||||||
|
|
||||||
this._changedPermitted = true;
|
|
||||||
this._refresh();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_createNew() {
|
#item = new NewItem();
|
||||||
let dialog = new Gtk.Dialog({
|
|
||||||
title: _('Create new matching rule'),
|
|
||||||
transient_for: this.get_toplevel(),
|
|
||||||
use_header_bar: true,
|
|
||||||
modal: true,
|
|
||||||
});
|
|
||||||
dialog.add_button(Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL);
|
|
||||||
let addButton = dialog.add_button(_('Add'), Gtk.ResponseType.OK);
|
|
||||||
dialog.set_default_response(Gtk.ResponseType.OK);
|
|
||||||
|
|
||||||
let grid = new Gtk.Grid({
|
vfunc_get_item_type() {
|
||||||
column_spacing: 10,
|
return NewItem;
|
||||||
row_spacing: 15,
|
}
|
||||||
margin: 10,
|
|
||||||
});
|
|
||||||
dialog._appChooser = new Gtk.AppChooserWidget({ show_all: true });
|
|
||||||
dialog._appChooser.connect('application-selected', (w, appInfo) => {
|
|
||||||
addButton.sensitive = appInfo && this._checkId(appInfo.get_id());
|
|
||||||
});
|
|
||||||
let appInfo = dialog._appChooser.get_app_info();
|
|
||||||
addButton.sensitive = appInfo && this._checkId(appInfo.get_id());
|
|
||||||
|
|
||||||
grid.attach(dialog._appChooser, 0, 0, 2, 1);
|
vfunc_get_n_items() {
|
||||||
grid.attach(new Gtk.Label({
|
return 1;
|
||||||
label: _('Workspace'),
|
}
|
||||||
halign: Gtk.Align.END,
|
|
||||||
}), 0, 1, 1, 1);
|
|
||||||
let adjustment = new Gtk.Adjustment({
|
|
||||||
lower: 1,
|
|
||||||
upper: WORKSPACE_MAX,
|
|
||||||
step_increment: 1,
|
|
||||||
});
|
|
||||||
dialog._spin = new Gtk.SpinButton({
|
|
||||||
adjustment,
|
|
||||||
snap_to_ticks: true,
|
|
||||||
});
|
|
||||||
dialog._spin.set_value(1);
|
|
||||||
grid.attach(dialog._spin, 1, 1, 1, 1);
|
|
||||||
dialog.get_content_area().add(grid);
|
|
||||||
|
|
||||||
|
vfunc_get_item(_pos) {
|
||||||
|
return this.#item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Rule extends GObject.Object {
|
||||||
|
static [GObject.properties] = {
|
||||||
|
'app-info': GObject.ParamSpec.object(
|
||||||
|
'app-info', 'app-info', 'app-info',
|
||||||
|
GObject.ParamFlags.READWRITE,
|
||||||
|
Gio.DesktopAppInfo),
|
||||||
|
'workspace': GObject.ParamSpec.uint(
|
||||||
|
'workspace', 'workspace', 'workspace',
|
||||||
|
GObject.ParamFlags.READWRITE,
|
||||||
|
1, WORKSPACE_MAX, 1),
|
||||||
|
};
|
||||||
|
|
||||||
|
static {
|
||||||
|
GObject.registerClass(this);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class RulesList extends GObject.Object {
|
||||||
|
static [GObject.interfaces] = [Gio.ListModel];
|
||||||
|
static {
|
||||||
|
GObject.registerClass(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
#settings = ExtensionUtils.getSettings();
|
||||||
|
#rules = [];
|
||||||
|
#changedId;
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super();
|
||||||
|
|
||||||
|
this.#changedId =
|
||||||
|
this.#settings.connect(`changed::${SETTINGS_KEY}`,
|
||||||
|
() => this.#sync());
|
||||||
|
this.#sync();
|
||||||
|
}
|
||||||
|
|
||||||
|
append(appInfo) {
|
||||||
|
const pos = this.#rules.length;
|
||||||
|
|
||||||
|
this.#rules.push(new Rule({appInfo}));
|
||||||
|
this.#saveRules();
|
||||||
|
|
||||||
|
this.items_changed(pos, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
remove(id) {
|
||||||
|
const pos = this.#rules.findIndex(r => r.appInfo.get_id() === id);
|
||||||
|
if (pos < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this.#rules.splice(pos, 1);
|
||||||
|
this.#saveRules();
|
||||||
|
|
||||||
|
this.items_changed(pos, 1, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
changeWorkspace(id, workspace) {
|
||||||
|
const pos = this.#rules.findIndex(r => r.appInfo.get_id() === id);
|
||||||
|
if (pos < 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this.#rules[pos].set({workspace});
|
||||||
|
this.#saveRules();
|
||||||
|
}
|
||||||
|
|
||||||
|
#saveRules() {
|
||||||
|
this.#settings.block_signal_handler(this.#changedId);
|
||||||
|
this.#settings.set_strv(SETTINGS_KEY,
|
||||||
|
this.#rules.map(r => `${r.app_info.get_id()}:${r.workspace}`));
|
||||||
|
this.#settings.unblock_signal_handler(this.#changedId);
|
||||||
|
}
|
||||||
|
|
||||||
|
#sync() {
|
||||||
|
const removed = this.#rules.length;
|
||||||
|
|
||||||
|
this.#rules = [];
|
||||||
|
for (const stringRule of this.#settings.get_strv(SETTINGS_KEY)) {
|
||||||
|
const [id, workspace] = stringRule.split(':');
|
||||||
|
const appInfo = Gio.DesktopAppInfo.new(id);
|
||||||
|
if (appInfo)
|
||||||
|
this.#rules.push(new Rule({appInfo, workspace}));
|
||||||
|
else
|
||||||
|
log(`Invalid ID ${id}`);
|
||||||
|
}
|
||||||
|
this.items_changed(0, removed, this.#rules.length);
|
||||||
|
}
|
||||||
|
|
||||||
|
vfunc_get_item_type() {
|
||||||
|
return Rule;
|
||||||
|
}
|
||||||
|
|
||||||
|
vfunc_get_n_items() {
|
||||||
|
return this.#rules.length;
|
||||||
|
}
|
||||||
|
|
||||||
|
vfunc_get_item(pos) {
|
||||||
|
return this.#rules[pos] ?? null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class AutoMoveSettingsWidget extends Adw.PreferencesGroup {
|
||||||
|
static {
|
||||||
|
GObject.registerClass(this);
|
||||||
|
|
||||||
|
this.install_action('rules.add', null, self => self._addNewRule());
|
||||||
|
this.install_action('rules.remove', 's',
|
||||||
|
(self, name, param) => self._rules.remove(param.unpack()));
|
||||||
|
this.install_action('rules.change-workspace', '(si)',
|
||||||
|
(self, name, param) => self._rules.changeWorkspace(...param.deepUnpack()));
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super({
|
||||||
|
title: _('Workspace Rules'),
|
||||||
|
});
|
||||||
|
|
||||||
|
this._rules = new RulesList();
|
||||||
|
|
||||||
|
const store = new Gio.ListStore({item_type: Gio.ListModel});
|
||||||
|
const listModel = new Gtk.FlattenListModel({model: store});
|
||||||
|
store.append(this._rules);
|
||||||
|
store.append(new NewItemModel());
|
||||||
|
|
||||||
|
this._list = new Gtk.ListBox({
|
||||||
|
selection_mode: Gtk.SelectionMode.NONE,
|
||||||
|
css_classes: ['boxed-list'],
|
||||||
|
});
|
||||||
|
this.add(this._list);
|
||||||
|
|
||||||
|
this._list.bind_model(listModel, item => {
|
||||||
|
return item instanceof NewItem
|
||||||
|
? new NewRuleRow()
|
||||||
|
: new RuleRow(item);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
_addNewRule() {
|
||||||
|
const dialog = new NewRuleDialog(this.get_root());
|
||||||
dialog.connect('response', (dlg, id) => {
|
dialog.connect('response', (dlg, id) => {
|
||||||
if (id !== Gtk.ResponseType.OK) {
|
const appInfo = id === Gtk.ResponseType.OK
|
||||||
dialog.destroy();
|
? dialog.get_widget().get_app_info() : null;
|
||||||
return;
|
if (appInfo)
|
||||||
}
|
this._rules.append(appInfo);
|
||||||
|
|
||||||
appInfo = dialog._appChooser.get_app_info();
|
|
||||||
if (!appInfo)
|
|
||||||
return;
|
|
||||||
let index = Math.floor(dialog._spin.value);
|
|
||||||
if (isNaN(index) || index < 0)
|
|
||||||
index = 1;
|
|
||||||
|
|
||||||
this._changedPermitted = false;
|
|
||||||
this._appendItem(appInfo.get_id(), index);
|
|
||||||
this._changedPermitted = true;
|
|
||||||
|
|
||||||
this._appendRow(appInfo, index);
|
|
||||||
|
|
||||||
dialog.destroy();
|
dialog.destroy();
|
||||||
});
|
});
|
||||||
dialog.show_all();
|
dialog.show();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class WorkspaceSelector extends Gtk.Widget {
|
||||||
|
static [GObject.properties] = {
|
||||||
|
'number': GObject.ParamSpec.uint(
|
||||||
|
'number', 'number', 'number',
|
||||||
|
GObject.ParamFlags.READWRITE,
|
||||||
|
1, WORKSPACE_MAX, 1),
|
||||||
|
};
|
||||||
|
|
||||||
|
static {
|
||||||
|
GObject.registerClass(this);
|
||||||
|
|
||||||
|
this.set_layout_manager_type(Gtk.BoxLayout);
|
||||||
}
|
}
|
||||||
|
|
||||||
_deleteSelected() {
|
constructor() {
|
||||||
let [any, model_, iter] = this._treeView.get_selection().get_selected();
|
super();
|
||||||
|
|
||||||
if (any) {
|
this.layout_manager.spacing = 6;
|
||||||
let appInfo = this._store.get_value(iter, Columns.APPINFO);
|
|
||||||
|
|
||||||
this._changedPermitted = false;
|
const label = new Gtk.Label({
|
||||||
this._removeItem(appInfo.get_id());
|
xalign: 1,
|
||||||
this._changedPermitted = true;
|
margin_end: 6,
|
||||||
this._store.remove(iter);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
_workspaceEdited(renderer, pathString, text) {
|
|
||||||
let index = parseInt(text);
|
|
||||||
if (isNaN(index) || index < 0)
|
|
||||||
index = 1;
|
|
||||||
let path = Gtk.TreePath.new_from_string(pathString);
|
|
||||||
let [model_, iter] = this._store.get_iter(path);
|
|
||||||
let appInfo = this._store.get_value(iter, Columns.APPINFO);
|
|
||||||
|
|
||||||
this._changedPermitted = false;
|
|
||||||
this._changeItem(appInfo.get_id(), index);
|
|
||||||
this._store.set_value(iter, Columns.WORKSPACE, index);
|
|
||||||
this._changedPermitted = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
_refresh() {
|
|
||||||
if (!this._changedPermitted)
|
|
||||||
// Ignore this notification, model is being modified outside
|
|
||||||
return;
|
|
||||||
|
|
||||||
this._store.clear();
|
|
||||||
|
|
||||||
let currentItems = this._settings.get_strv(SETTINGS_KEY);
|
|
||||||
let validItems = [];
|
|
||||||
for (let i = 0; i < currentItems.length; i++) {
|
|
||||||
let [id, index] = currentItems[i].split(':');
|
|
||||||
let appInfo = Gio.DesktopAppInfo.new(id);
|
|
||||||
if (!appInfo)
|
|
||||||
continue;
|
|
||||||
validItems.push(currentItems[i]);
|
|
||||||
|
|
||||||
this._appendRow(appInfo, parseInt(index));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (validItems.length !== currentItems.length) // some items were filtered out
|
|
||||||
this._settings.set_strv(SETTINGS_KEY, validItems);
|
|
||||||
}
|
|
||||||
|
|
||||||
_appendRow(appInfo, workspace) {
|
|
||||||
let iter = this._store.append();
|
|
||||||
let icon = appInfo.get_icon();
|
|
||||||
let displayName = appInfo.get_display_name();
|
|
||||||
let adj = new Gtk.Adjustment({
|
|
||||||
lower: 1,
|
|
||||||
upper: WORKSPACE_MAX,
|
|
||||||
step_increment: 1,
|
|
||||||
value: workspace,
|
|
||||||
});
|
});
|
||||||
let { APPINFO, ICON, DISPLAY_NAME, WORKSPACE, ADJUSTMENT } = Columns;
|
this.bind_property('number',
|
||||||
this._store.set(iter,
|
label, 'label',
|
||||||
[APPINFO, ICON, DISPLAY_NAME, WORKSPACE, ADJUSTMENT],
|
GObject.BindingFlags.SYNC_CREATE);
|
||||||
[appInfo, icon, displayName, workspace, adj]);
|
label.set_parent(this);
|
||||||
|
|
||||||
|
const buttonProps = {
|
||||||
|
css_classes: ['circular'],
|
||||||
|
valign: Gtk.Align.CENTER,
|
||||||
|
};
|
||||||
|
|
||||||
|
this._decButton = new Gtk.Button({
|
||||||
|
icon_name: 'list-remove-symbolic',
|
||||||
|
...buttonProps,
|
||||||
|
});
|
||||||
|
this._decButton.set_parent(this);
|
||||||
|
this._decButton.connect('clicked', () => this.number--);
|
||||||
|
|
||||||
|
this._incButton = new Gtk.Button({
|
||||||
|
icon_name: 'list-add-symbolic',
|
||||||
|
...buttonProps,
|
||||||
|
});
|
||||||
|
this._incButton.set_parent(this);
|
||||||
|
this._incButton.connect('clicked', () => this.number++);
|
||||||
|
|
||||||
|
this.connect('notify::number', () => this._syncButtons());
|
||||||
|
this._syncButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
_checkId(id) {
|
_syncButtons() {
|
||||||
let items = this._settings.get_strv(SETTINGS_KEY);
|
this._decButton.sensitive = this.number > 1;
|
||||||
return !items.some(i => i.startsWith(`${id}:`));
|
this._incButton.sensitive = this.number < WORKSPACE_MAX;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class RuleRow extends Adw.ActionRow {
|
||||||
|
static {
|
||||||
|
GObject.registerClass(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_appendItem(id, workspace) {
|
constructor(rule) {
|
||||||
let currentItems = this._settings.get_strv(SETTINGS_KEY);
|
const {appInfo} = rule;
|
||||||
currentItems.push(`${id}:${workspace}`);
|
const id = appInfo.get_id();
|
||||||
this._settings.set_strv(SETTINGS_KEY, currentItems);
|
|
||||||
|
super({
|
||||||
|
activatable: false,
|
||||||
|
title: rule.appInfo.get_display_name(),
|
||||||
|
});
|
||||||
|
|
||||||
|
const icon = new Gtk.Image({
|
||||||
|
css_classes: ['icon-dropshadow'],
|
||||||
|
gicon: appInfo.get_icon(),
|
||||||
|
pixel_size: 32,
|
||||||
|
});
|
||||||
|
this.add_prefix(icon);
|
||||||
|
|
||||||
|
const wsButton = new WorkspaceSelector();
|
||||||
|
rule.bind_property('workspace',
|
||||||
|
wsButton, 'number',
|
||||||
|
GObject.BindingFlags.SYNC_CREATE);
|
||||||
|
this.add_suffix(wsButton);
|
||||||
|
|
||||||
|
wsButton.connect('notify::number', () => {
|
||||||
|
this.activate_action('rules.change-workspace',
|
||||||
|
new GLib.Variant('(si)', [id, wsButton.number]));
|
||||||
|
});
|
||||||
|
|
||||||
|
const button = new Gtk.Button({
|
||||||
|
action_name: 'rules.remove',
|
||||||
|
action_target: new GLib.Variant('s', id),
|
||||||
|
icon_name: 'edit-delete-symbolic',
|
||||||
|
has_frame: false,
|
||||||
|
valign: Gtk.Align.CENTER,
|
||||||
|
});
|
||||||
|
this.add_suffix(button);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class NewRuleRow extends Gtk.ListBoxRow {
|
||||||
|
static {
|
||||||
|
GObject.registerClass(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
_removeItem(id) {
|
constructor() {
|
||||||
let currentItems = this._settings.get_strv(SETTINGS_KEY);
|
super({
|
||||||
let index = currentItems.map(el => el.split(':')[0]).indexOf(id);
|
action_name: 'rules.add',
|
||||||
|
child: new Gtk.Image({
|
||||||
|
icon_name: 'list-add-symbolic',
|
||||||
|
pixel_size: 16,
|
||||||
|
margin_top: 12,
|
||||||
|
margin_bottom: 12,
|
||||||
|
margin_start: 12,
|
||||||
|
margin_end: 12,
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
this.update_property(
|
||||||
|
[Gtk.AccessibleProperty.LABEL], [_('Add Rule')]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (index < 0)
|
class NewRuleDialog extends Gtk.AppChooserDialog {
|
||||||
return;
|
static {
|
||||||
currentItems.splice(index, 1);
|
GObject.registerClass(this);
|
||||||
this._settings.set_strv(SETTINGS_KEY, currentItems);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_changeItem(id, workspace) {
|
constructor(parent) {
|
||||||
let currentItems = this._settings.get_strv(SETTINGS_KEY);
|
super({
|
||||||
let index = currentItems.map(el => el.split(':')[0]).indexOf(id);
|
transient_for: parent,
|
||||||
|
modal: true,
|
||||||
|
});
|
||||||
|
|
||||||
if (index < 0)
|
this._settings = ExtensionUtils.getSettings();
|
||||||
currentItems.push(`${id}:${workspace}`);
|
|
||||||
else
|
this.get_widget().set({
|
||||||
currentItems[index] = `${id}:${workspace}`;
|
show_all: true,
|
||||||
this._settings.set_strv(SETTINGS_KEY, currentItems);
|
show_other: true, // hide more button
|
||||||
|
});
|
||||||
|
|
||||||
|
this.get_widget().connect('application-selected',
|
||||||
|
this._updateSensitivity.bind(this));
|
||||||
|
this._updateSensitivity();
|
||||||
}
|
}
|
||||||
});
|
|
||||||
|
|
||||||
|
_updateSensitivity() {
|
||||||
|
const rules = this._settings.get_strv(SETTINGS_KEY);
|
||||||
|
const appInfo = this.get_widget().get_app_info();
|
||||||
|
this.set_response_sensitive(Gtk.ResponseType.OK,
|
||||||
|
appInfo && !rules.some(i => i.startsWith(appInfo.get_id())));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function init() {
|
function init() {
|
||||||
ExtensionUtils.initTranslations();
|
ExtensionUtils.initTranslations();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {Gtk.Widget} - the prefs widget
|
||||||
|
*/
|
||||||
function buildPrefsWidget() {
|
function buildPrefsWidget() {
|
||||||
let widget = new Widget({ margin: 12 });
|
return new AutoMoveSettingsWidget();
|
||||||
widget.show_all();
|
|
||||||
|
|
||||||
return widget;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
/* This extensions requires no special styling */
|
|
||||||
@@ -1,9 +1,6 @@
|
|||||||
/* exported init enable disable */
|
/* exported init enable disable */
|
||||||
// Drive menu extension
|
// Drive menu extension
|
||||||
const { Gio, GObject, Shell, St } = imports.gi;
|
const {Clutter, Gio, GObject, Shell, St} = imports.gi;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
@@ -11,12 +8,25 @@ const PanelMenu = imports.ui.panelMenu;
|
|||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
const ShellMountOperation = imports.ui.shellMountOperation;
|
const ShellMountOperation = imports.ui.shellMountOperation;
|
||||||
|
|
||||||
var MountMenuItem = GObject.registerClass(
|
const _ = ExtensionUtils.gettext;
|
||||||
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|
||||||
_init(mount) {
|
|
||||||
super._init();
|
|
||||||
|
|
||||||
this.label = new St.Label({ text: mount.get_name() });
|
Gio._promisify(Gio.File.prototype, 'query_filesystem_info_async');
|
||||||
|
|
||||||
|
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
|
static {
|
||||||
|
GObject.registerClass(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(mount) {
|
||||||
|
super({
|
||||||
|
style_class: 'drive-menu-item',
|
||||||
|
});
|
||||||
|
|
||||||
|
this.label = new St.Label({
|
||||||
|
text: mount.get_name(),
|
||||||
|
x_expand: true,
|
||||||
|
y_align: Clutter.ActorAlign.CENTER,
|
||||||
|
});
|
||||||
this.add_child(this.label);
|
this.add_child(this.label);
|
||||||
this.label_actor = this.label;
|
this.label_actor = this.label;
|
||||||
|
|
||||||
@@ -28,10 +38,15 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
icon_name: 'media-eject-symbolic',
|
icon_name: 'media-eject-symbolic',
|
||||||
style_class: 'popup-menu-icon',
|
style_class: 'popup-menu-icon',
|
||||||
});
|
});
|
||||||
let ejectButton = new St.Button({ child: ejectIcon });
|
let ejectButton = new St.Button({
|
||||||
|
child: ejectIcon,
|
||||||
|
style_class: 'button',
|
||||||
|
});
|
||||||
ejectButton.connect('clicked', this._eject.bind(this));
|
ejectButton.connect('clicked', this._eject.bind(this));
|
||||||
this.add(ejectButton);
|
this.add(ejectButton);
|
||||||
|
|
||||||
|
this.hide();
|
||||||
|
|
||||||
this._changedId = mount.connect('changed', this._syncVisibility.bind(this));
|
this._changedId = mount.connect('changed', this._syncVisibility.bind(this));
|
||||||
this._syncVisibility();
|
this._syncVisibility();
|
||||||
}
|
}
|
||||||
@@ -45,7 +60,7 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
super.destroy();
|
super.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
_isInteresting() {
|
async _isInteresting() {
|
||||||
if (!this.mount.can_eject() && !this.mount.can_unmount())
|
if (!this.mount.can_eject() && !this.mount.can_unmount())
|
||||||
return false;
|
return false;
|
||||||
if (this.mount.is_shadowed())
|
if (this.mount.is_shadowed())
|
||||||
@@ -53,17 +68,25 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
|
|
||||||
let volume = this.mount.get_volume();
|
let volume = this.mount.get_volume();
|
||||||
|
|
||||||
if (!volume) {
|
if (volume)
|
||||||
// probably a GDaemonMount, could be network or
|
return volume.get_identifier('class') !== 'network';
|
||||||
// local, but we can't tell; assume it's local for now
|
|
||||||
return true;
|
const root = this.mount.get_root();
|
||||||
|
|
||||||
|
try {
|
||||||
|
const attr = Gio.FILE_ATTRIBUTE_FILESYSTEM_REMOTE;
|
||||||
|
const info = await root.query_filesystem_info_async(attr, null);
|
||||||
|
return !info.get_attribute_boolean(attr);
|
||||||
|
} catch (e) {
|
||||||
|
log(`Failed to query filesystem: ${e.message}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
return volume.get_identifier('class') !== 'network';
|
// Hack, fall back to looking at GType
|
||||||
|
return Gio._LocalFilePrototype.isPrototypeOf(root);
|
||||||
}
|
}
|
||||||
|
|
||||||
_syncVisibility() {
|
async _syncVisibility() {
|
||||||
this.visible = this._isInteresting();
|
this.visible = await this._isInteresting();
|
||||||
}
|
}
|
||||||
|
|
||||||
_eject() {
|
_eject() {
|
||||||
@@ -111,28 +134,26 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
|
|
||||||
super.activate(event);
|
super.activate(event);
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
let DriveMenu = GObject.registerClass(
|
|
||||||
class DriveMenu extends PanelMenu.Button {
|
class DriveMenu extends PanelMenu.Button {
|
||||||
_init() {
|
static {
|
||||||
super._init(0.0, _('Removable devices'));
|
GObject.registerClass(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super(0.0, _('Removable devices'));
|
||||||
|
|
||||||
let hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
|
||||||
let icon = new St.Icon({
|
let icon = new St.Icon({
|
||||||
icon_name: 'media-eject-symbolic',
|
icon_name: 'media-eject-symbolic',
|
||||||
style_class: 'system-status-icon',
|
style_class: 'system-status-icon',
|
||||||
});
|
});
|
||||||
|
|
||||||
hbox.add_child(icon);
|
this.add_child(icon);
|
||||||
hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
|
||||||
this.add_child(hbox);
|
|
||||||
|
|
||||||
this._monitor = Gio.VolumeMonitor.get();
|
this._monitor = Gio.VolumeMonitor.get();
|
||||||
this._addedId = this._monitor.connect('mount-added', (monitor, mount) => {
|
this._addedId = this._monitor.connect('mount-added',
|
||||||
this._addMount(mount);
|
(monitor, mount) => this._addMount(mount));
|
||||||
this._updateMenuVisibility();
|
|
||||||
});
|
|
||||||
this._removedId = this._monitor.connect('mount-removed', (monitor, mount) => {
|
this._removedId = this._monitor.connect('mount-removed', (monitor, mount) => {
|
||||||
this._removeMount(mount);
|
this._removeMount(mount);
|
||||||
this._updateMenuVisibility();
|
this._updateMenuVisibility();
|
||||||
@@ -163,6 +184,8 @@ class DriveMenu extends PanelMenu.Button {
|
|||||||
let item = new MountMenuItem(mount);
|
let item = new MountMenuItem(mount);
|
||||||
this._mounts.unshift(item);
|
this._mounts.unshift(item);
|
||||||
this.menu.addMenuItem(item, 0);
|
this.menu.addMenuItem(item, 0);
|
||||||
|
|
||||||
|
item.connect('notify::visible', () => this._updateMenuVisibility());
|
||||||
}
|
}
|
||||||
|
|
||||||
_removeMount(mount) {
|
_removeMount(mount) {
|
||||||
@@ -187,19 +210,22 @@ class DriveMenu extends PanelMenu.Button {
|
|||||||
|
|
||||||
super._onDestroy();
|
super._onDestroy();
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function init() {
|
function init() {
|
||||||
ExtensionUtils.initTranslations();
|
ExtensionUtils.initTranslations();
|
||||||
}
|
}
|
||||||
|
|
||||||
let _indicator;
|
let _indicator;
|
||||||
|
|
||||||
|
/** */
|
||||||
function enable() {
|
function enable() {
|
||||||
_indicator = new DriveMenu();
|
_indicator = new DriveMenu();
|
||||||
Main.panel.addToStatusArea('drive-menu', _indicator);
|
Main.panel.addToStatusArea('drive-menu', _indicator);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function disable() {
|
function disable() {
|
||||||
_indicator.destroy();
|
_indicator.destroy();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,3 +3,4 @@ extension_data += configure_file(
|
|||||||
output: metadata_name,
|
output: metadata_name,
|
||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
|
extension_data += files('stylesheet.css')
|
||||||
|
|||||||
@@ -1 +1,7 @@
|
|||||||
/* This extensions requires no custom styling */
|
.drive-menu-item { spacing: 12px; }
|
||||||
|
|
||||||
|
.drive-menu-item .button {
|
||||||
|
border-radius: 99px;
|
||||||
|
padding: 3px;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,38 +0,0 @@
|
|||||||
/* exported init */
|
|
||||||
const { Meta } = imports.gi;
|
|
||||||
|
|
||||||
const { ThumbnailsBox } = imports.ui.workspaceThumbnail;
|
|
||||||
|
|
||||||
class Extension {
|
|
||||||
constructor() {
|
|
||||||
this._origUpdateSwitcherVisibility =
|
|
||||||
ThumbnailsBox.prototype._updateSwitcherVisibility;
|
|
||||||
}
|
|
||||||
|
|
||||||
enable() {
|
|
||||||
global.workspace_manager.override_workspace_layout(
|
|
||||||
Meta.DisplayCorner.TOPLEFT,
|
|
||||||
false,
|
|
||||||
1,
|
|
||||||
-1);
|
|
||||||
|
|
||||||
ThumbnailsBox.prototype._updateSwitcherVisibility = function () {
|
|
||||||
this.hide();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
disable() {
|
|
||||||
global.workspace_manager.override_workspace_layout(
|
|
||||||
Meta.DisplayCorner.TOPLEFT,
|
|
||||||
false,
|
|
||||||
-1,
|
|
||||||
1);
|
|
||||||
|
|
||||||
ThumbnailsBox.prototype._updateSwitcherVisibility =
|
|
||||||
this._origUpdateSwitcherVisibility;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function init() {
|
|
||||||
return new Extension();
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
extension_data += configure_file(
|
|
||||||
input: metadata_name + '.in',
|
|
||||||
output: metadata_name,
|
|
||||||
configuration: metadata_conf
|
|
||||||
)
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
"extension-id": "@extension_id@",
|
|
||||||
"uuid": "@uuid@",
|
|
||||||
"settings-schema": "@gschemaname@",
|
|
||||||
"gettext-domain": "@gettext_domain@",
|
|
||||||
"name": "Horizontal workspaces",
|
|
||||||
"description": "Use a horizontal workspace layout",
|
|
||||||
"shell-version": [ "@shell_current@" ],
|
|
||||||
"url": "@url@"
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
/* This extensions requires no special styling */
|
|
||||||
@@ -3,6 +3,7 @@ const AppDisplay = imports.ui.appDisplay;
|
|||||||
|
|
||||||
let _activateOriginal = null;
|
let _activateOriginal = null;
|
||||||
|
|
||||||
|
/** */
|
||||||
function enable() {
|
function enable() {
|
||||||
_activateOriginal = AppDisplay.AppIcon.prototype.activate;
|
_activateOriginal = AppDisplay.AppIcon.prototype.activate;
|
||||||
AppDisplay.AppIcon.prototype.activate = function () {
|
AppDisplay.AppIcon.prototype.activate = function () {
|
||||||
@@ -10,6 +11,7 @@ function enable() {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function disable() {
|
function disable() {
|
||||||
AppDisplay.AppIcon.prototype.activate = _activateOriginal;
|
AppDisplay.AppIcon.prototype.activate = _activateOriginal;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
/* This extensions requires no special styling */
|
|
||||||
+5
-21
@@ -3,7 +3,7 @@ js_sources = []
|
|||||||
|
|
||||||
metadata_name = 'metadata.json'
|
metadata_name = 'metadata.json'
|
||||||
|
|
||||||
foreach e : all_extensions
|
foreach e : enabled_extensions
|
||||||
uuid = e + uuid_suffix
|
uuid = e + uuid_suffix
|
||||||
|
|
||||||
metadata_conf = configuration_data()
|
metadata_conf = configuration_data()
|
||||||
@@ -15,31 +15,15 @@ foreach e : all_extensions
|
|||||||
metadata_conf.set('url', 'https://gitlab.gnome.org/GNOME/gnome-shell-extensions')
|
metadata_conf.set('url', 'https://gitlab.gnome.org/GNOME/gnome-shell-extensions')
|
||||||
|
|
||||||
extension_sources = files(e + '/extension.js')
|
extension_sources = files(e + '/extension.js')
|
||||||
extension_data = files(e + '/stylesheet.css')
|
extension_data = []
|
||||||
|
|
||||||
subdir(e)
|
subdir(e)
|
||||||
|
|
||||||
js_sources += extension_sources
|
install_data (extension_sources + extension_data,
|
||||||
|
install_dir: join_paths(extensiondir, uuid)
|
||||||
if (enabled_extensions.contains(e))
|
)
|
||||||
install_data (extension_sources + extension_data,
|
|
||||||
install_dir: join_paths(extensiondir, uuid)
|
|
||||||
)
|
|
||||||
endif
|
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
install_data (extension_schemas,
|
install_data (extension_schemas,
|
||||||
install_dir: schemadir
|
install_dir: schemadir
|
||||||
)
|
)
|
||||||
|
|
||||||
foreach js_source : js_sources
|
|
||||||
if (js68.found())
|
|
||||||
path_array = '@0@'.format(js_source).split('/')
|
|
||||||
name = join_paths(path_array[-2], path_array[-1])
|
|
||||||
|
|
||||||
test('Checking syntax of ' + name, js68,
|
|
||||||
args: ['-s', '-c', js_source],
|
|
||||||
workdir: meson.current_source_dir()
|
|
||||||
)
|
|
||||||
endif
|
|
||||||
endforeach
|
|
||||||
|
|||||||
@@ -4,5 +4,6 @@ extension_data += configure_file(
|
|||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# extension_data += files('stylesheet.css')
|
||||||
# extension_sources += files('prefs.js')
|
# extension_sources += files('prefs.js')
|
||||||
# extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
# extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||||
/* exported enable disable */
|
/* exported enable disable */
|
||||||
|
const {Clutter} = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
|
const Main = imports.ui.main;
|
||||||
|
const {WindowPreview} = imports.ui.windowPreview;
|
||||||
const Workspace = imports.ui.workspace;
|
const Workspace = imports.ui.workspace;
|
||||||
|
|
||||||
// testing settings for natural window placement strategy:
|
// testing settings for natural window placement strategy:
|
||||||
@@ -63,13 +67,15 @@ class Rect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
||||||
constructor(settings) {
|
constructor(params, settings) {
|
||||||
super();
|
super(params);
|
||||||
this._settings = settings;
|
this._settings = settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
computeLayout(windows, layout) {
|
computeLayout(windows, _params) {
|
||||||
layout.windows = windows;
|
return {
|
||||||
|
windows,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -91,7 +97,7 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
|||||||
let rects = [];
|
let rects = [];
|
||||||
for (let i = 0; i < clones.length; i++) {
|
for (let i = 0; i < clones.length; i++) {
|
||||||
// save rectangles into 4-dimensional arrays representing two corners of the rectangular: [left_x, top_y, right_x, bottom_y]
|
// save rectangles into 4-dimensional arrays representing two corners of the rectangular: [left_x, top_y, right_x, bottom_y]
|
||||||
let rect = clones[i].metaWindow.get_frame_rect();
|
let rect = clones[i].boundingBox;
|
||||||
rects[i] = new Rect(rect.x, rect.y, rect.width, rect.height);
|
rects[i] = new Rect(rect.x, rect.y, rect.width, rect.height);
|
||||||
bounds = bounds.union(rects[i]);
|
bounds = bounds.union(rects[i]);
|
||||||
|
|
||||||
@@ -100,7 +106,6 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
|||||||
direction++;
|
direction++;
|
||||||
if (direction === 4)
|
if (direction === 4)
|
||||||
direction = 0;
|
direction = 0;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let loopCounter = 0;
|
let loopCounter = 0;
|
||||||
@@ -221,8 +226,10 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
|||||||
for (let i = 0; i < rects.length; i++) {
|
for (let i = 0; i < rects.length; i++) {
|
||||||
rects[i].x = rects[i].x * scale + areaRect.x;
|
rects[i].x = rects[i].x * scale + areaRect.x;
|
||||||
rects[i].y = rects[i].y * scale + areaRect.y;
|
rects[i].y = rects[i].y * scale + areaRect.y;
|
||||||
|
rects[i].width *= scale;
|
||||||
|
rects[i].height *= scale;
|
||||||
|
|
||||||
slots.push([rects[i].x, rects[i].y, scale, clones[i]]);
|
slots.push([rects[i].x, rects[i].y, rects[i].width, rects[i].height, clones[i]]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return slots;
|
return slots;
|
||||||
@@ -231,37 +238,57 @@ class NaturalLayoutStrategy extends Workspace.LayoutStrategy {
|
|||||||
|
|
||||||
let winInjections, workspaceInjections;
|
let winInjections, workspaceInjections;
|
||||||
|
|
||||||
|
/** */
|
||||||
function resetState() {
|
function resetState() {
|
||||||
winInjections = { };
|
winInjections = { };
|
||||||
workspaceInjections = { };
|
workspaceInjections = { };
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function enable() {
|
function enable() {
|
||||||
resetState();
|
resetState();
|
||||||
|
|
||||||
let settings = ExtensionUtils.getSettings();
|
let settings = ExtensionUtils.getSettings();
|
||||||
|
|
||||||
workspaceInjections['_getBestLayout'] = Workspace.Workspace.prototype._getBestLayout;
|
workspaceInjections['_createBestLayout'] = Workspace.WorkspaceLayout.prototype._createBestLayout;
|
||||||
Workspace.Workspace.prototype._getBestLayout = function (windows) {
|
Workspace.WorkspaceLayout.prototype._createBestLayout = function (_area) {
|
||||||
let strategy = new NaturalLayoutStrategy(settings);
|
this._layoutStrategy = new NaturalLayoutStrategy({
|
||||||
let layout = { strategy };
|
monitor: Main.layoutManager.monitors[this._monitorIndex],
|
||||||
strategy.computeLayout(windows, layout);
|
}, settings);
|
||||||
|
return this._layoutStrategy.computeLayout(this._sortedWindows);
|
||||||
return layout;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// position window titles on top of windows in overlay
|
// position window titles on top of windows in overlay
|
||||||
winInjections['relayout'] = Workspace.WindowOverlay.prototype.relayout;
|
winInjections['_init'] = WindowPreview.prototype._init;
|
||||||
Workspace.WindowOverlay.prototype.relayout = function (animate) {
|
WindowPreview.prototype._init = function (...args) {
|
||||||
if (settings.get_boolean('window-captions-on-top')) {
|
winInjections['_init'].call(this, ...args);
|
||||||
let [, , , cloneHeight] = this._windowClone.slot;
|
|
||||||
this.title.translation_y = -cloneHeight;
|
|
||||||
}
|
|
||||||
|
|
||||||
winInjections['relayout'].call(this, animate);
|
if (!settings.get_boolean('window-captions-on-top'))
|
||||||
|
return;
|
||||||
|
|
||||||
|
const alignConstraint = this._title.get_constraints().find(
|
||||||
|
c => c.align_axis && c.align_axis === Clutter.AlignAxis.Y_AXIS);
|
||||||
|
alignConstraint.factor = 0;
|
||||||
|
|
||||||
|
const bindConstraint = this._title.get_constraints().find(
|
||||||
|
c => c.coordinate && c.coordinate === Clutter.BindCoordinate.Y);
|
||||||
|
bindConstraint.offset = 0;
|
||||||
|
};
|
||||||
|
winInjections['_adjustOverlayOffsets'] =
|
||||||
|
WindowPreview.prototype._adjustOverlayOffsets;
|
||||||
|
WindowPreview.prototype._adjustOverlayOffsets = function (...args) {
|
||||||
|
winInjections['_adjustOverlayOffsets'].call(this, ...args);
|
||||||
|
|
||||||
|
if (settings.get_boolean('window-captions-on-top'))
|
||||||
|
this._title.translation_y = -this._title.translation_y;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {object} object - object that was modified
|
||||||
|
* @param {object} injection - the map of previous injections
|
||||||
|
* @param {string} name - the @injection key that should be removed
|
||||||
|
*/
|
||||||
function removeInjection(object, injection, name) {
|
function removeInjection(object, injection, name) {
|
||||||
if (injection[name] === undefined)
|
if (injection[name] === undefined)
|
||||||
delete object[name];
|
delete object[name];
|
||||||
@@ -269,13 +296,14 @@ function removeInjection(object, injection, name) {
|
|||||||
object[name] = injection[name];
|
object[name] = injection[name];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function disable() {
|
function disable() {
|
||||||
var i;
|
var i;
|
||||||
|
|
||||||
for (i in workspaceInjections)
|
for (i in workspaceInjections)
|
||||||
removeInjection(Workspace.Workspace.prototype, workspaceInjections, i);
|
removeInjection(Workspace.WorkspaceLayout.prototype, workspaceInjections, i);
|
||||||
for (i in winInjections)
|
for (i in winInjections)
|
||||||
removeInjection(Workspace.WindowOverlay.prototype, winInjections, i);
|
removeInjection(WindowPreview.prototype, winInjections, i);
|
||||||
|
|
||||||
global.stage.queue_relayout();
|
global.stage.queue_relayout();
|
||||||
resetState();
|
resetState();
|
||||||
|
|||||||
@@ -1,9 +0,0 @@
|
|||||||
.window-caption {
|
|
||||||
-shell-caption-spacing: 13px; /* current caption height is 26px => set it to half of it. TODO: better solution needed */
|
|
||||||
}
|
|
||||||
|
|
||||||
.window-picker {
|
|
||||||
-horizontal-spacing: 32px;
|
|
||||||
-vertical-spacing: 32px;
|
|
||||||
padding: 64px 32px;
|
|
||||||
}
|
|
||||||
@@ -1,26 +1,30 @@
|
|||||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
||||||
/* exported init enable disable */
|
/* exported init enable disable */
|
||||||
|
|
||||||
const { Clutter, GObject, St } = imports.gi;
|
const {Clutter, GObject, St} = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
const PanelMenu = imports.ui.panelMenu;
|
const PanelMenu = imports.ui.panelMenu;
|
||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
|
||||||
const _ = Gettext.gettext;
|
|
||||||
const N_ = x => x;
|
|
||||||
|
|
||||||
const Me = ExtensionUtils.getCurrentExtension();
|
const Me = ExtensionUtils.getCurrentExtension();
|
||||||
const PlaceDisplay = Me.imports.placeDisplay;
|
const PlaceDisplay = Me.imports.placeDisplay;
|
||||||
|
|
||||||
|
const _ = ExtensionUtils.gettext;
|
||||||
|
const N_ = x => x;
|
||||||
|
|
||||||
const PLACE_ICON_SIZE = 16;
|
const PLACE_ICON_SIZE = 16;
|
||||||
|
|
||||||
var PlaceMenuItem = GObject.registerClass(
|
|
||||||
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
_init(info) {
|
static {
|
||||||
super._init();
|
GObject.registerClass(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor(info) {
|
||||||
|
super({
|
||||||
|
style_class: 'place-menu-item',
|
||||||
|
});
|
||||||
this._info = info;
|
this._info = info;
|
||||||
|
|
||||||
this._icon = new St.Icon({
|
this._icon = new St.Icon({
|
||||||
@@ -29,7 +33,11 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
});
|
});
|
||||||
this.add_child(this._icon);
|
this.add_child(this._icon);
|
||||||
|
|
||||||
this._label = new St.Label({ text: info.name, x_expand: true });
|
this._label = new St.Label({
|
||||||
|
text: info.name,
|
||||||
|
x_expand: true,
|
||||||
|
y_align: Clutter.ActorAlign.CENTER,
|
||||||
|
});
|
||||||
this.add_child(this._label);
|
this.add_child(this._label);
|
||||||
|
|
||||||
if (info.isRemovable()) {
|
if (info.isRemovable()) {
|
||||||
@@ -37,7 +45,10 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
icon_name: 'media-eject-symbolic',
|
icon_name: 'media-eject-symbolic',
|
||||||
style_class: 'popup-menu-icon',
|
style_class: 'popup-menu-icon',
|
||||||
});
|
});
|
||||||
this._ejectButton = new St.Button({ child: this._ejectIcon });
|
this._ejectButton = new St.Button({
|
||||||
|
child: this._ejectIcon,
|
||||||
|
style_class: 'button',
|
||||||
|
});
|
||||||
this._ejectButton.connect('clicked', info.eject.bind(info));
|
this._ejectButton.connect('clicked', info.eject.bind(info));
|
||||||
this.add_child(this._ejectButton);
|
this.add_child(this._ejectButton);
|
||||||
}
|
}
|
||||||
@@ -65,7 +76,7 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
this._icon.gicon = info.icon;
|
this._icon.gicon = info.icon;
|
||||||
this._label.text = info.name;
|
this._label.text = info.name;
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
const SECTIONS = [
|
const SECTIONS = [
|
||||||
'special',
|
'special',
|
||||||
@@ -74,20 +85,20 @@ const SECTIONS = [
|
|||||||
'network',
|
'network',
|
||||||
];
|
];
|
||||||
|
|
||||||
let PlacesMenu = GObject.registerClass(
|
|
||||||
class PlacesMenu extends PanelMenu.Button {
|
class PlacesMenu extends PanelMenu.Button {
|
||||||
_init() {
|
static {
|
||||||
super._init(0.0, _('Places'));
|
GObject.registerClass(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
constructor() {
|
||||||
|
super(0.0, _('Places'));
|
||||||
|
|
||||||
let hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
|
||||||
let label = new St.Label({
|
let label = new St.Label({
|
||||||
text: _('Places'),
|
text: _('Places'),
|
||||||
y_expand: true,
|
y_expand: true,
|
||||||
y_align: Clutter.ActorAlign.CENTER,
|
y_align: Clutter.ActorAlign.CENTER,
|
||||||
});
|
});
|
||||||
hbox.add_child(label);
|
this.add_actor(label);
|
||||||
hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
|
||||||
this.add_actor(hbox);
|
|
||||||
|
|
||||||
this.placesManager = new PlaceDisplay.PlacesManager();
|
this.placesManager = new PlaceDisplay.PlacesManager();
|
||||||
|
|
||||||
@@ -125,14 +136,16 @@ class PlacesMenu extends PanelMenu.Button {
|
|||||||
|
|
||||||
this._sections[id].actor.visible = places.length > 0;
|
this._sections[id].actor.visible = places.length > 0;
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function init() {
|
function init() {
|
||||||
ExtensionUtils.initTranslations();
|
ExtensionUtils.initTranslations();
|
||||||
}
|
}
|
||||||
|
|
||||||
let _indicator;
|
let _indicator;
|
||||||
|
|
||||||
|
/** */
|
||||||
function enable() {
|
function enable() {
|
||||||
_indicator = new PlacesMenu();
|
_indicator = new PlacesMenu();
|
||||||
|
|
||||||
@@ -142,6 +155,7 @@ function enable() {
|
|||||||
Main.panel.addToStatusArea('places-menu', _indicator, pos, 'left');
|
Main.panel.addToStatusArea('places-menu', _indicator, pos, 'left');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function disable() {
|
function disable() {
|
||||||
_indicator.destroy();
|
_indicator.destroy();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,5 +3,6 @@ extension_data += configure_file(
|
|||||||
output: metadata_name,
|
output: metadata_name,
|
||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
|
extension_data += files('stylesheet.css')
|
||||||
|
|
||||||
extension_sources += files('placeDisplay.js')
|
extension_sources += files('placeDisplay.js')
|
||||||
|
|||||||
@@ -1,15 +1,19 @@
|
|||||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||||
|
/* exported PlacesManager */
|
||||||
|
|
||||||
const { Gio, GLib, Shell } = imports.gi;
|
const {Gio, GLib, Shell} = imports.gi;
|
||||||
const Signals = imports.signals;
|
const {EventEmitter} = imports.misc.signals;
|
||||||
|
|
||||||
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
const ShellMountOperation = imports.ui.shellMountOperation;
|
const ShellMountOperation = imports.ui.shellMountOperation;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
const _ = ExtensionUtils.gettext;
|
||||||
const _ = Gettext.gettext;
|
|
||||||
const N_ = x => x;
|
const N_ = x => x;
|
||||||
|
|
||||||
|
Gio._promisify(Gio.AppInfo, 'launch_default_for_uri_async');
|
||||||
|
Gio._promisify(Gio.File.prototype, 'mount_enclosing_volume');
|
||||||
|
|
||||||
const BACKGROUND_SCHEMA = 'org.gnome.desktop.background';
|
const BACKGROUND_SCHEMA = 'org.gnome.desktop.background';
|
||||||
|
|
||||||
const Hostname1Iface = '<node> \
|
const Hostname1Iface = '<node> \
|
||||||
@@ -19,8 +23,10 @@ const Hostname1Iface = '<node> \
|
|||||||
</node>';
|
</node>';
|
||||||
const Hostname1 = Gio.DBusProxy.makeProxyWrapper(Hostname1Iface);
|
const Hostname1 = Gio.DBusProxy.makeProxyWrapper(Hostname1Iface);
|
||||||
|
|
||||||
class PlaceInfo {
|
class PlaceInfo extends EventEmitter {
|
||||||
constructor(...params) {
|
constructor(...params) {
|
||||||
|
super();
|
||||||
|
|
||||||
this._init(...params);
|
this._init(...params);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -28,7 +34,7 @@ class PlaceInfo {
|
|||||||
this.kind = kind;
|
this.kind = kind;
|
||||||
this.file = file;
|
this.file = file;
|
||||||
this.name = name || this._getFileName();
|
this.name = name || this._getFileName();
|
||||||
this.icon = icon ? new Gio.ThemedIcon({ name: icon }) : this.getIcon();
|
this.icon = icon ? new Gio.ThemedIcon({name: icon}) : this.getIcon();
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy() {
|
destroy() {
|
||||||
@@ -40,7 +46,7 @@ class PlaceInfo {
|
|||||||
|
|
||||||
async _ensureMountAndLaunch(context, tryMount) {
|
async _ensureMountAndLaunch(context, tryMount) {
|
||||||
try {
|
try {
|
||||||
await this._launchDefaultForUri(this.file.get_uri(), context, null);
|
await Gio.AppInfo.launch_default_for_uri_async(this.file.get_uri(), context, null);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
if (!err.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_MOUNTED)) {
|
if (!err.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_MOUNTED)) {
|
||||||
Main.notifyError(_('Failed to launch “%s”').format(this.name), err.message);
|
Main.notifyError(_('Failed to launch “%s”').format(this.name), err.message);
|
||||||
@@ -52,7 +58,7 @@ class PlaceInfo {
|
|||||||
};
|
};
|
||||||
let op = new ShellMountOperation.ShellMountOperation(source);
|
let op = new ShellMountOperation.ShellMountOperation(source);
|
||||||
try {
|
try {
|
||||||
await this._mountEnclosingVolume(0, op.mountOp, null);
|
await this.file.mount_enclosing_volume(0, op.mountOp, null);
|
||||||
|
|
||||||
if (tryMount)
|
if (tryMount)
|
||||||
this._ensureMountAndLaunch(context, false);
|
this._ensureMountAndLaunch(context, false);
|
||||||
@@ -91,16 +97,16 @@ class PlaceInfo {
|
|||||||
// icon from the query info above
|
// icon from the query info above
|
||||||
switch (this.kind) {
|
switch (this.kind) {
|
||||||
case 'network':
|
case 'network':
|
||||||
return new Gio.ThemedIcon({ name: 'folder-remote-symbolic' });
|
return new Gio.ThemedIcon({name: 'folder-remote-symbolic'});
|
||||||
case 'devices':
|
case 'devices':
|
||||||
return new Gio.ThemedIcon({ name: 'drive-harddisk-symbolic' });
|
return new Gio.ThemedIcon({name: 'drive-harddisk-symbolic'});
|
||||||
case 'special':
|
case 'special':
|
||||||
case 'bookmarks':
|
case 'bookmarks':
|
||||||
default:
|
default:
|
||||||
if (!this.file.is_native())
|
if (!this.file.is_native())
|
||||||
return new Gio.ThemedIcon({ name: 'folder-remote-symbolic' });
|
return new Gio.ThemedIcon({name: 'folder-remote-symbolic'});
|
||||||
else
|
else
|
||||||
return new Gio.ThemedIcon({ name: 'folder-symbolic' });
|
return new Gio.ThemedIcon({name: 'folder-symbolic'});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -114,34 +120,7 @@ class PlaceInfo {
|
|||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
_launchDefaultForUri(uri, context, cancel) {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
Gio.AppInfo.launch_default_for_uri_async(uri, context, cancel, (o, res) => {
|
|
||||||
try {
|
|
||||||
Gio.AppInfo.launch_default_for_uri_finish(res);
|
|
||||||
resolve();
|
|
||||||
} catch (e) {
|
|
||||||
reject(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
_mountEnclosingVolume(flags, mountOp, cancel) {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
this.file.mount_enclosing_volume(flags, mountOp, cancel, (o, res) => {
|
|
||||||
try {
|
|
||||||
this.file.mount_enclosing_volume_finish(res);
|
|
||||||
resolve();
|
|
||||||
} catch (e) {
|
|
||||||
reject(e);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Signals.addSignalMethods(PlaceInfo.prototype);
|
|
||||||
|
|
||||||
class RootInfo extends PlaceInfo {
|
class RootInfo extends PlaceInfo {
|
||||||
_init() {
|
_init() {
|
||||||
@@ -161,7 +140,7 @@ class RootInfo extends PlaceInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getIcon() {
|
getIcon() {
|
||||||
return new Gio.ThemedIcon({ name: 'drive-harddisk-symbolic' });
|
return new Gio.ThemedIcon({name: 'drive-harddisk-symbolic'});
|
||||||
}
|
}
|
||||||
|
|
||||||
_propertiesChanged(proxy) {
|
_propertiesChanged(proxy) {
|
||||||
@@ -194,7 +173,7 @@ class PlaceDeviceInfo extends PlaceInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
isRemovable() {
|
isRemovable() {
|
||||||
return this._mount.can_eject();
|
return this._mount.can_eject() || this._mount.can_unmount();
|
||||||
}
|
}
|
||||||
|
|
||||||
eject() {
|
eject() {
|
||||||
@@ -269,8 +248,10 @@ const DEFAULT_DIRECTORIES = [
|
|||||||
GLib.UserDirectory.DIRECTORY_VIDEOS,
|
GLib.UserDirectory.DIRECTORY_VIDEOS,
|
||||||
];
|
];
|
||||||
|
|
||||||
var PlacesManager = class {
|
var PlacesManager = class extends EventEmitter {
|
||||||
constructor() {
|
constructor() {
|
||||||
|
super();
|
||||||
|
|
||||||
this._places = {
|
this._places = {
|
||||||
special: [],
|
special: [],
|
||||||
devices: [],
|
devices: [],
|
||||||
@@ -278,7 +259,7 @@ var PlacesManager = class {
|
|||||||
network: [],
|
network: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
this._settings = new Gio.Settings({ schema_id: BACKGROUND_SCHEMA });
|
this._settings = new Gio.Settings({schema_id: BACKGROUND_SCHEMA});
|
||||||
this._showDesktopIconsChangedId = this._settings.connect(
|
this._showDesktopIconsChangedId = this._settings.connect(
|
||||||
'changed::show-desktop-icons', this._updateSpecials.bind(this));
|
'changed::show-desktop-icons', this._updateSpecials.bind(this));
|
||||||
this._updateSpecials();
|
this._updateSpecials();
|
||||||
@@ -486,7 +467,6 @@ var PlacesManager = class {
|
|||||||
}
|
}
|
||||||
|
|
||||||
_reloadBookmarks() {
|
_reloadBookmarks() {
|
||||||
|
|
||||||
this._bookmarks = [];
|
this._bookmarks = [];
|
||||||
|
|
||||||
let content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path());
|
let content = Shell.get_file_contents_utf8_sync(this._bookmarksFile.get_path());
|
||||||
@@ -567,4 +547,3 @@ var PlacesManager = class {
|
|||||||
return this._places[kind];
|
return this._places[kind];
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Signals.addSignalMethods(PlacesManager.prototype);
|
|
||||||
|
|||||||
@@ -1 +1,8 @@
|
|||||||
/* none used*/
|
.place-menu-item .button {
|
||||||
|
border-radius: 99px;
|
||||||
|
padding: 3px;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.place-menu-item .button:ltr { margin-left: 6px; }
|
||||||
|
.place-menu-item .button:rtl { margin-right: 6px; }
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
const { Clutter, Meta, Shell, St } = imports.gi;
|
const {Clutter, Meta, Shell, St} = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
@@ -28,14 +28,18 @@ const MESSAGE_FADE_TIME = 2000;
|
|||||||
|
|
||||||
let text;
|
let text;
|
||||||
|
|
||||||
|
/** */
|
||||||
function hideMessage() {
|
function hideMessage() {
|
||||||
text.destroy();
|
text.destroy();
|
||||||
text = null;
|
text = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {string} message - the message to flash
|
||||||
|
*/
|
||||||
function flashMessage(message) {
|
function flashMessage(message) {
|
||||||
if (!text) {
|
if (!text) {
|
||||||
text = new St.Label({ style_class: 'screenshot-sizer-message' });
|
text = new St.Label({style_class: 'screenshot-sizer-message'});
|
||||||
Main.uiGroup.add_actor(text);
|
Main.uiGroup.add_actor(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,6 +71,11 @@ let SIZES = [
|
|||||||
[720, 360], // Phone landscape fullscreen
|
[720, 360], // Phone landscape fullscreen
|
||||||
];
|
];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Meta.Display} display - the display
|
||||||
|
* @param {Meta.Window=} window - for per-window bindings, the window
|
||||||
|
* @param {Meta.KeyBinding} binding - the key binding
|
||||||
|
*/
|
||||||
function cycleScreenshotSizes(display, window, binding) {
|
function cycleScreenshotSizes(display, window, binding) {
|
||||||
// Probably this isn't useful with 5 sizes, but you can decrease instead
|
// Probably this isn't useful with 5 sizes, but you can decrease instead
|
||||||
// of increase by holding down shift.
|
// of increase by holding down shift.
|
||||||
@@ -92,10 +101,6 @@ function cycleScreenshotSizes(display, window, binding) {
|
|||||||
for (let i = 0; i < scaledSizes.length; i++) {
|
for (let i = 0; i < scaledSizes.length; i++) {
|
||||||
let [width, height] = scaledSizes[i];
|
let [width, height] = scaledSizes[i];
|
||||||
|
|
||||||
// ignore sizes bigger than the workArea
|
|
||||||
if (width > workArea.width || height > workArea.height)
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// get the best initial window size
|
// get the best initial window size
|
||||||
let error = Math.abs(width - outerRect.width) + Math.abs(height - outerRect.height);
|
let error = Math.abs(width - outerRect.width) + Math.abs(height - outerRect.height);
|
||||||
if (nearestIndex === undefined || error < nearestError) {
|
if (nearestIndex === undefined || error < nearestError) {
|
||||||
@@ -116,8 +121,18 @@ function cycleScreenshotSizes(display, window, binding) {
|
|||||||
if (newY + newHeight > workArea.y + workArea.height)
|
if (newY + newHeight > workArea.y + workArea.height)
|
||||||
newY = Math.max(workArea.y + workArea.height - newHeight);
|
newY = Math.max(workArea.y + workArea.height - newHeight);
|
||||||
|
|
||||||
|
const id = window.connect('size-changed', () => {
|
||||||
|
window.disconnect(id);
|
||||||
|
_notifySizeChange(window);
|
||||||
|
});
|
||||||
window.move_resize_frame(true, newX, newY, newWidth, newHeight);
|
window.move_resize_frame(true, newX, newY, newWidth, newHeight);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {Meta.Window} window - the window whose size changed
|
||||||
|
*/
|
||||||
|
function _notifySizeChange(window) {
|
||||||
|
const {scaleFactor} = St.ThemeContext.get_for_stage(global.stage);
|
||||||
let newOuterRect = window.get_frame_rect();
|
let newOuterRect = window.get_frame_rect();
|
||||||
let message = '%d×%d'.format(
|
let message = '%d×%d'.format(
|
||||||
newOuterRect.width / scaleFactor,
|
newOuterRect.width / scaleFactor,
|
||||||
@@ -133,6 +148,7 @@ function cycleScreenshotSizes(display, window, binding) {
|
|||||||
flashMessage(message);
|
flashMessage(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function enable() {
|
function enable() {
|
||||||
Main.wm.addKeybinding(
|
Main.wm.addKeybinding(
|
||||||
'cycle-screenshot-sizes',
|
'cycle-screenshot-sizes',
|
||||||
@@ -148,6 +164,7 @@ function enable() {
|
|||||||
cycleScreenshotSizes);
|
cycleScreenshotSizes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** */
|
||||||
function disable() {
|
function disable() {
|
||||||
Main.wm.removeKeybinding('cycle-screenshot-sizes');
|
Main.wm.removeKeybinding('cycle-screenshot-sizes');
|
||||||
Main.wm.removeKeybinding('cycle-screenshot-sizes-backward');
|
Main.wm.removeKeybinding('cycle-screenshot-sizes-backward');
|
||||||
|
|||||||
@@ -3,5 +3,6 @@ extension_data += configure_file(
|
|||||||
output: metadata_name,
|
output: metadata_name,
|
||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
|
extension_data += files('stylesheet.css')
|
||||||
|
|
||||||
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user