Compare commits
1196 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
27d5c8cc73 | |
|
|
3bf30e97e5 | |
|
|
29ac51b15e | |
|
|
f50669edc6 | |
|
|
04791bc889 | |
|
|
1866331471 | |
|
|
f7e4a195c6 | |
|
|
8aa33384f2 | |
|
|
bbdbc40a94 | |
|
|
b2661a3d86 | |
|
|
6547558cc7 | |
|
|
66193ba1bc | |
|
|
5bde9683eb | |
|
|
ca8de83d47 | |
|
|
5af6a3903d | |
|
|
f6af3a539f | |
|
|
3f03884083 | |
|
|
777e0f2a7b | |
|
|
7c11939015 | |
|
|
4827731cfc | |
|
|
232cf374c2 | |
|
|
16240cba52 | |
|
|
8fdd5703a6 | |
|
|
d9cd9e855d | |
|
|
84379d1ca5 | |
|
|
0544ca405a | |
|
|
b10c1f427b | |
|
|
5b4d7b5de5 | |
|
|
e843122e9e | |
|
|
f4386256ca | |
|
|
b0601f90d1 | |
|
|
801e2fbf24 | |
|
|
5d16c8cada | |
|
|
2bc9ef62fe | |
|
|
fc6d684513 | |
|
|
5c701f8767 | |
|
|
51f403769e | |
|
|
e03fd2fdb3 | |
|
|
4ef86fc3fd | |
|
|
f2ac25fc05 | |
|
|
6ec120d449 | |
|
|
03094c5d8a | |
|
|
04bf8b3ddc | |
|
|
794124ba68 | |
|
|
9556ef8950 | |
|
|
23192a4b14 | |
|
|
fa1e1e6a18 | |
|
|
e66c0a1b74 | |
|
|
1411fb2ef7 | |
|
|
a43e0ed3d4 | |
|
|
1cbcd3e402 | |
|
|
90e2762dcc | |
|
|
e7d27a914c | |
|
|
8a8bb8dec5 | |
|
|
69c55e454f | |
|
|
18026e2c1a | |
|
|
81f014bf20 | |
|
|
0072a5513a | |
|
|
e344a1e60f | |
|
|
342396e1d6 | |
|
|
7bfcba9efd | |
|
|
e14a6a4935 | |
|
|
3aa68efc92 | |
|
|
547da09cbf | |
|
|
c2094e85d2 | |
|
|
511473c286 | |
|
|
b3e5f82d83 | |
|
|
cf91ae1312 | |
|
|
d1adcf4739 | |
|
|
4cb9bd7c47 | |
|
|
10652f2741 | |
|
|
672fdba375 | |
|
|
af951c4194 | |
|
|
501533e4c8 | |
|
|
7642cb91cf | |
|
|
b48e9f3a7d | |
|
|
c48f8dcf6a | |
|
|
3ac5fb78b4 | |
|
|
6c921b8ed4 | |
|
|
a1895f9161 | |
|
|
7176521287 | |
|
|
d2df8a0a11 | |
|
|
26b0e3eebb | |
|
|
1e6625bd9b | |
|
|
aa645014b8 | |
|
|
795309a4aa | |
|
|
bba9eca457 | |
|
|
3a013bcf5a | |
|
|
4cb0da6d21 | |
|
|
97c07bd06f | |
|
|
78ee985666 | |
|
|
ce2c4057b4 | |
|
|
e4ca014d0e | |
|
|
0ef3153e20 | |
|
|
f96555f5e3 | |
|
|
b7b6708a4b | |
|
|
7e13237fd7 | |
|
|
5cee95f2aa | |
|
|
a503276e46 | |
|
|
72f4ff54a6 | |
|
|
c3501eac2b | |
|
|
5f767e541f | |
|
|
efa48c3154 | |
|
|
cd0478c044 | |
|
|
5a8e15f1c7 | |
|
|
60c30ec0db | |
|
|
b68ea9f76e | |
|
|
6c1aab65be | |
|
|
837d349e96 | |
|
|
a6134c2e40 | |
|
|
26b95540cd | |
|
|
7039d9ede6 | |
|
|
531c316379 | |
|
|
41aac0ddea | |
|
|
826fe21051 | |
|
|
ffa43d0167 | |
|
|
c4aba6382e | |
|
|
e321eed150 | |
|
|
9adc345b56 | |
|
|
e71660c914 | |
|
|
3a471672c6 | |
|
|
7d4aec0795 | |
|
|
3c6c4c01e9 | |
|
|
6a7b46ad64 | |
|
|
54e8ed840b | |
|
|
7c74bf1e17 | |
|
|
2427b2025a | |
|
|
644b7315d3 | |
|
|
2a0093ad46 | |
|
|
aee46508f7 | |
|
|
ede2f8230d | |
|
|
df2a7442b2 | |
|
|
2f48f6d110 | |
|
|
1cf99b5540 | |
|
|
9d4c3cb5cd | |
|
|
1713074802 | |
|
|
34c158934e | |
|
|
6afd8348fa | |
|
|
77d2cd1936 | |
|
|
dd7148ee5d | |
|
|
da8cf4ad11 | |
|
|
b9d8d7a756 | |
|
|
327ab03444 | |
|
|
fb35b0c890 | |
|
|
71aa66bff3 | |
|
|
267bb639ad | |
|
|
ad74f7ad57 | |
|
|
1570936d55 | |
|
|
7a12c9ad62 | |
|
|
7acf621712 | |
|
|
28ca983e8d | |
|
|
b8b0dc8b9f | |
|
|
76f9538656 | |
|
|
e6447c783e | |
|
|
9bfa75519e | |
|
|
c31cda69cb | |
|
|
33071245ea | |
|
|
644bfacb5d | |
|
|
b01ae031cb | |
|
|
755c412ca9 | |
|
|
e2cdab9846 | |
|
|
343a962b80 | |
|
|
34a855f3a7 | |
|
|
d52b29e50b | |
|
|
297276e940 | |
|
|
8b4698b9fa | |
|
|
8203289eeb | |
|
|
abcfd99664 | |
|
|
dbcff753c0 | |
|
|
ed527f0594 | |
|
|
5e65502002 | |
|
|
2952b2f8f8 | |
|
|
c66f8dce5d | |
|
|
6696bdc9dd | |
|
|
3fc260703e | |
|
|
30b59ff4eb | |
|
|
2239ab4d65 | |
|
|
b889f1441d | |
|
|
2593f214d0 | |
|
|
a1b7ca0fdf | |
|
|
5c43c7a8b1 | |
|
|
da52accec9 | |
|
|
bb269282b0 | |
|
|
cbfa5af6ee | |
|
|
25c9bf5ebf | |
|
|
d140a8a6e7 | |
|
|
d859d3336d | |
|
|
81ae0adf19 | |
|
|
7b73b9bf52 | |
|
|
76c3d88e84 | |
|
|
62cd9d8e7c | |
|
|
8531d6d765 | |
|
|
9512cb36a0 | |
|
|
6a7e3389f3 | |
|
|
4ab5a96bf8 | |
|
|
598067c3b6 | |
|
|
34681ba758 | |
|
|
afe7aa6125 | |
|
|
c9451e58fd | |
|
|
48c2d27142 | |
|
|
ae349f6fce | |
|
|
dda79312dc | |
|
|
7a582df640 | |
|
|
6fecadb9ea | |
|
|
0e84ace6f6 | |
|
|
0c3c9e8db7 | |
|
|
be493066db | |
|
|
873acac238 | |
|
|
60bd51a703 | |
|
|
67546da22e | |
|
|
6f297d1182 | |
|
|
04c450e925 | |
|
|
0d21c93100 | |
|
|
451a03b1f5 | |
|
|
271be4c503 | |
|
|
1d0cb7297e | |
|
|
1a928414f8 | |
|
|
5e9ccc85f3 | |
|
|
a061c13a9b | |
|
|
3de45c690c | |
|
|
403c178e34 | |
|
|
1959d3b98e | |
|
|
4f86d23a44 | |
|
|
5869fa5fdd | |
|
|
14a9d24093 | |
|
|
982f57c496 | |
|
|
1fc366fe18 | |
|
|
43c4ce7350 | |
|
|
42893c681c | |
|
|
ca30d9dc6a | |
|
|
9ead704e4e | |
|
|
f37b6a0e1e | |
|
|
c80f32c053 | |
|
|
77b8c44bbf | |
|
|
775fd7d08d | |
|
|
49403748da | |
|
|
3da6a550d4 | |
|
|
cc0d72ddf2 | |
|
|
3969098e11 | |
|
|
d773c6835d | |
|
|
502f96c9b2 | |
|
|
40ff8988c4 | |
|
|
4bae4b77a3 | |
|
|
41cba6fa19 | |
|
|
07dddd00da | |
|
|
20d3b9d622 | |
|
|
8a1f8cab29 | |
|
|
2f4ba1e43e | |
|
|
8a265ae106 | |
|
|
5eeac930e8 | |
|
|
60aa721c33 | |
|
|
0ef0090789 | |
|
|
fc127cc30c | |
|
|
fbf4f9caf3 | |
|
|
862ea089da | |
|
|
9c0eddaa57 | |
|
|
58dd1ce193 | |
|
|
3c53f56856 | |
|
|
7071c46609 | |
|
|
27a42912a4 | |
|
|
c18298788a | |
|
|
a1bfb1e54f | |
|
|
241c8c50fe | |
|
|
1c7e4d0667 | |
|
|
adb0bbfc29 | |
|
|
f31901124a | |
|
|
99a2f62dfe | |
|
|
8502f2a259 | |
|
|
d46707c77d | |
|
|
2e97483845 | |
|
|
1861662084 | |
|
|
63f8a59a62 | |
|
|
da49daebfd | |
|
|
3d0c81a969 | |
|
|
7dd988006b | |
|
|
121e740707 | |
|
|
27b46ad4af | |
|
|
98406e0cab | |
|
|
ae7d91bf44 | |
|
|
1fa1af45f9 | |
|
|
8352ef463d | |
|
|
1913bcd2f7 | |
|
|
d8e7b58e51 | |
|
|
c16720c879 | |
|
|
fb169e8923 | |
|
|
13f58d6eaa | |
|
|
fe011a32fb | |
|
|
0f2d82efa6 | |
|
|
d44e64d23e | |
|
|
19819e4382 | |
|
|
a0978fedd5 | |
|
|
fe1f3dc2fe | |
|
|
bed4a2ed9a | |
|
|
a9af62b64d | |
|
|
a3bce282aa | |
|
|
2778c09db0 | |
|
|
93dcc2abac | |
|
|
95bd69cbfa | |
|
|
6ae7ac8fe2 | |
|
|
2ad9016393 | |
|
|
58d0108ab9 | |
|
|
f67b37a3ea | |
|
|
2ac6c455e6 | |
|
|
f2aac76923 | |
|
|
9d60da86ca | |
|
|
a6aa834f70 | |
|
|
3733085f8e | |
|
|
955a14ff94 | |
|
|
287caef73e | |
|
|
a0648ae388 | |
|
|
bc70d2cb95 | |
|
|
8888d3f9a1 | |
|
|
33aad59b94 | |
|
|
176e66ae77 | |
|
|
197480b610 | |
|
|
388659e02b | |
|
|
1ad54e3103 | |
|
|
f5ea81a00e | |
|
|
1709b7589e | |
|
|
f69a543fab | |
|
|
08ee59a8c6 | |
|
|
3016532eaa | |
|
|
7eb44f1740 | |
|
|
5132d249ca | |
|
|
a944b6218c | |
|
|
dbe2008be0 | |
|
|
b452d26b82 | |
|
|
f5dbd46833 | |
|
|
b262080f4a | |
|
|
425d6b2b72 | |
|
|
8b1ab283bc | |
|
|
ab79e229d6 | |
|
|
6d8b402df3 | |
|
|
019a403638 | |
|
|
d1ae2372bd | |
|
|
b2e0c88058 | |
|
|
f48132c93e | |
|
|
f1940c1285 | |
|
|
4913b619ff | |
|
|
f7c2dfa0f0 | |
|
|
c60cd2f263 | |
|
|
4edc55ccca | |
|
|
ea914b3b46 | |
|
|
a6da6fa577 | |
|
|
8aaaf6f2b6 | |
|
|
c867f8ff21 | |
|
|
067b438808 | |
|
|
12e43e6b3c | |
|
|
0fcba8d63b | |
|
|
cc85d5f01c | |
|
|
477c9c6e4f | |
|
|
6e46dfd441 | |
|
|
a278da53b8 | |
|
|
9b032b7e2c | |
|
|
f0f665c21d | |
|
|
12226af4f4 | |
|
|
e72dd99b2f | |
|
|
1be0295c21 | |
|
|
144f3a3008 | |
|
|
23d3c78457 | |
|
|
8141c27329 | |
|
|
7cdd3d39b1 | |
|
|
54090eaca0 | |
|
|
77ddb569e7 | |
|
|
eacc75712e | |
|
|
42f9e420c3 | |
|
|
4420603635 | |
|
|
7a3c3b973b | |
|
|
d8da342709 | |
|
|
41cf6a1568 | |
|
|
0fd3b4c8da | |
|
|
f01b819086 | |
|
|
637e9cbc53 | |
|
|
dc3ebae064 | |
|
|
44a10f6183 | |
|
|
6406f62ed3 | |
|
|
81a348e6cc | |
|
|
1a99d913d7 | |
|
|
70bcac7613 | |
|
|
fd15cd9f26 | |
|
|
b6f00799b9 | |
|
|
43b24792f4 | |
|
|
bd78bf4c7e | |
|
|
bccc30e0c9 | |
|
|
0039ac6d63 | |
|
|
8dab45ab13 | |
|
|
f2da186fe4 | |
|
|
4370d03e5f | |
|
|
4ba26e4ff5 | |
|
|
ac27edd202 | |
|
|
3e520c5b30 | |
|
|
c3fc03f839 | |
|
|
a51d6c8ccb | |
|
|
99d51f3a25 | |
|
|
dd072b8a86 | |
|
|
a59e16c705 | |
|
|
5d2f302f22 | |
|
|
723a6d0f3d | |
|
|
33483f990e | |
|
|
a4dfbb6a7a | |
|
|
082524f368 | |
|
|
4ad281ae86 | |
|
|
3cb8185daa | |
|
|
f24731cff5 | |
|
|
96f5b9dbaf | |
|
|
f722059deb | |
|
|
0389f48e96 | |
|
|
c9c6a17252 | |
|
|
386b13cf1f | |
|
|
c22985b0d8 | |
|
|
f9ebe63509 | |
|
|
86400eb537 | |
|
|
9da502a182 | |
|
|
9a08b85421 | |
|
|
bf3a0a46b0 | |
|
|
3ade3f0de5 | |
|
|
760e057d96 | |
|
|
1f8166b666 | |
|
|
885dbe7274 | |
|
|
615ade4bc2 | |
|
|
d3040dd623 | |
|
|
522736fbb0 | |
|
|
9449ac92c5 | |
|
|
5f10b395e4 | |
|
|
f17c54f755 | |
|
|
7b70adc648 | |
|
|
f7ac013a2e | |
|
|
7083e53e4e | |
|
|
b6d0fd2c28 | |
|
|
71f37a03f6 | |
|
|
d62e09259c | |
|
|
9fa6b63adf | |
|
|
32d8786a2e | |
|
|
a96bc4750a | |
|
|
d7db6bd7fc | |
|
|
ecc085f790 | |
|
|
ccc75cc08e | |
|
|
a917a45506 | |
|
|
d0c3b73003 | |
|
|
0b6698980c | |
|
|
3e5cebaaa2 | |
|
|
470264452c | |
|
|
62b023700e | |
|
|
cae2ed7ab8 | |
|
|
b7b30526cb | |
|
|
ed2c2e24e9 | |
|
|
b903f8c83a | |
|
|
88ffee65e8 | |
|
|
4f437ba24c | |
|
|
d2066a752b | |
|
|
752518e1c5 | |
|
|
2272da159f | |
|
|
38d4c955e9 | |
|
|
ff8e3c0256 | |
|
|
1927cd29d0 | |
|
|
ec2839a47d | |
|
|
2d3a19dca0 | |
|
|
28cbc9512c | |
|
|
652740410a | |
|
|
30f1e9a326 | |
|
|
1a5921b441 | |
|
|
abc4db3462 | |
|
|
3254e86dc0 | |
|
|
f57d323b2b | |
|
|
8d01968144 | |
|
|
da5379c374 | |
|
|
54b84b8591 | |
|
|
12105cb4eb | |
|
|
379482f002 | |
|
|
f4bd757ce4 | |
|
|
e6cf67c06c | |
|
|
18678af778 | |
|
|
df2fc21b4e | |
|
|
0c242b0a7e | |
|
|
4fef422ebf | |
|
|
6f8a871efc | |
|
|
08b396089a | |
|
|
26f95242d3 | |
|
|
e24d492835 | |
|
|
910a86efa0 | |
|
|
63b2631ad6 | |
|
|
8d6e75a2ec | |
|
|
8c887ba673 | |
|
|
f69b8cd5f7 | |
|
|
8963fef34f | |
|
|
42c2ecc118 | |
|
|
487e6b3e18 | |
|
|
fb42c4fe3d | |
|
|
64428585bd | |
|
|
d242714adf | |
|
|
8beb60db32 | |
|
|
44d0eac919 | |
|
|
70f7ce0550 | |
|
|
60a3699480 | |
|
|
f9495ec3a6 | |
|
|
20e425e86b | |
|
|
ca10f72f16 | |
|
|
cbda42b3bd | |
|
|
fe279737bb | |
|
|
e569fa8b3c | |
|
|
cb7f7a5c21 | |
|
|
be03850f5a | |
|
|
c600831d5f | |
|
|
9540a7f829 | |
|
|
08fdb2f209 | |
|
|
66e8ad5508 | |
|
|
2f6835d6a4 | |
|
|
70253b9290 | |
|
|
dd5c72f9c4 | |
|
|
cd5102f603 | |
|
|
2a0580256e | |
|
|
909597d23a | |
|
|
3b11314763 | |
|
|
17c28754d3 | |
|
|
1c49d4daa3 | |
|
|
3487808936 | |
|
|
a137ce67ec | |
|
|
5bf40be893 | |
|
|
567f2e96a7 | |
|
|
264104eccf | |
|
|
f5bfd5da34 | |
|
|
5161803ab0 | |
|
|
3dace0c8b7 | |
|
|
cd880d4a95 | |
|
|
54e5400109 | |
|
|
0e9a0022b3 | |
|
|
228bad921c | |
|
|
87d22c127a | |
|
|
e9715f41ce | |
|
|
36f9dbaab5 | |
|
|
bfc96fc260 | |
|
|
8490714598 | |
|
|
fecd0ef52c | |
|
|
a256adf633 | |
|
|
f1e94de998 | |
|
|
d814278a66 | |
|
|
5e3990e864 | |
|
|
d9d06a4c73 | |
|
|
e643943018 | |
|
|
ef1e60de3a | |
|
|
9eae874a0b | |
|
|
71c4fe4b5f | |
|
|
94d621f22d | |
|
|
bb4aa5fee9 | |
|
|
c51cff5066 | |
|
|
6793505575 | |
|
|
b67e67e1b0 | |
|
|
28d19692e5 | |
|
|
befd648d88 | |
|
|
e69824987c | |
|
|
4208f0fa72 | |
|
|
dfe5ec952c | |
|
|
0166811605 | |
|
|
113ec3a021 | |
|
|
a0febc7194 | |
|
|
f0f9d9be38 | |
|
|
c2954006b6 | |
|
|
f6f8be4999 | |
|
|
393a1fab47 | |
|
|
dbf2e2df8d | |
|
|
e97882061f | |
|
|
f302f091b9 | |
|
|
2da341ee27 | |
|
|
6d48c1b2f9 | |
|
|
e1ae32805c | |
|
|
6d14a3f7e8 | |
|
|
15369ae839 | |
|
|
3e8ac3695f | |
|
|
dcccdbe13f | |
|
|
e9d9126561 | |
|
|
39aa48739f | |
|
|
66649f96ff | |
|
|
bd17088758 | |
|
|
9680ce996f | |
|
|
60b8eb53a1 | |
|
|
ff96334b58 | |
|
|
eaecd965ba | |
|
|
f4a6d849fe | |
|
|
e0c3573c21 | |
|
|
54bd3af6f8 | |
|
|
f5310a1ad2 | |
|
|
039741a115 | |
|
|
1af3282ea6 | |
|
|
a5cd12e648 | |
|
|
cc8796f6f6 | |
|
|
dad57fe740 | |
|
|
2010ceffe3 | |
|
|
f1502cdb46 | |
|
|
c0861296bd | |
|
|
1e5ed568ed | |
|
|
00e0b3e175 | |
|
|
7879d711cf | |
|
|
7a6edb40ad | |
|
|
f229c05d65 | |
|
|
fbb3d72c71 | |
|
|
25fea9ec69 | |
|
|
59c2a1dccc | |
|
|
02d931e4ed | |
|
|
9caa7437af | |
|
|
ae52e48ed6 | |
|
|
5ebc117fd5 | |
|
|
d8394337f9 | |
|
|
2b0c2963a5 | |
|
|
6b5a29cae2 | |
|
|
1fc883a518 | |
|
|
113d83210f | |
|
|
56c83765a0 | |
|
|
311915f2f5 | |
|
|
3248d3cd2c | |
|
|
bae5afaec1 | |
|
|
fdabc2651c | |
|
|
39b09ff76f | |
|
|
75a9ba8031 | |
|
|
ded864877c | |
|
|
77e730eb22 | |
|
|
1337e8d7ac | |
|
|
39280e4ed4 | |
|
|
24d3939e68 | |
|
|
82c8c8b92b | |
|
|
c3f02dfb24 | |
|
|
9036fe54ff | |
|
|
ceebc33af7 | |
|
|
28b30ea796 | |
|
|
51ddb6ffe6 | |
|
|
c11e305e70 | |
|
|
0c8e93f4fe | |
|
|
11b12d1dd4 | |
|
|
8d9c053b3e | |
|
|
f220002cd8 | |
|
|
b9b917540b | |
|
|
46006cfb46 | |
|
|
8f4825e67d | |
|
|
70ff9f7b24 | |
|
|
bc0e81d3d7 | |
|
|
636cba9f1b | |
|
|
7cf74c7705 | |
|
|
9cdb098e7d | |
|
|
f30659ccbe | |
|
|
1f53c4e2d8 | |
|
|
48e299754b | |
|
|
d2ddc6e67d | |
|
|
726d49dfb5 | |
|
|
e21d4f1999 | |
|
|
58b81f8fbb | |
|
|
27f3af8fd6 | |
|
|
8a4f660b51 | |
|
|
72bb884be0 | |
|
|
5585d63a9b | |
|
|
f9c3971f06 | |
|
|
c3c742f1c6 | |
|
|
f1cd001522 | |
|
|
a3417938ec | |
|
|
26e6f0fd9d | |
|
|
85488dea07 | |
|
|
1ea156aec1 | |
|
|
22421ea36f | |
|
|
c4b074c97f | |
|
|
83a56fb7ff | |
|
|
06e47aa528 | |
|
|
0544a1e615 | |
|
|
56ce3d0266 | |
|
|
f9caf40cfc | |
|
|
88177803e4 | |
|
|
ee5e11f960 | |
|
|
dfe1ca191f | |
|
|
6881d85e88 | |
|
|
00fe420164 | |
|
|
6edcc123d7 | |
|
|
3c34443fff | |
|
|
5152b9105a | |
|
|
53a0722929 | |
|
|
65bae5be3f | |
|
|
c4fc2e322c | |
|
|
9c65592c71 | |
|
|
df10796368 | |
|
|
7eda0e6bbc | |
|
|
6cb0e95ed1 | |
|
|
a6ebd5a51e | |
|
|
e42ecc66d8 | |
|
|
3e58508217 | |
|
|
6a0875c3cc | |
|
|
42466ef037 | |
|
|
9d40634d2c | |
|
|
e9d90cdbf9 | |
|
|
08ab273273 | |
|
|
4b6aacd390 | |
|
|
3cfa36be98 | |
|
|
6292855bdb | |
|
|
7b3d7c7c69 | |
|
|
ee9de5e571 | |
|
|
060ff90e2b | |
|
|
92f7fe8f73 | |
|
|
0d3daf3096 | |
|
|
579e951a93 | |
|
|
df30d47648 | |
|
|
600581eb6a | |
|
|
26aa16c285 | |
|
|
090ab99484 | |
|
|
523b0ccd50 | |
|
|
d8aabddad5 | |
|
|
2b15061ee4 | |
|
|
e56438c0b3 | |
|
|
481ea96e20 | |
|
|
9c08b358bb | |
|
|
ee7577f633 | |
|
|
470b850703 | |
|
|
49a0b476a9 | |
|
|
0ec5ed1661 | |
|
|
c2b531daf2 | |
|
|
f8f244c960 | |
|
|
c04c81cb44 | |
|
|
ab80e8ae82 | |
|
|
64e54b5ae5 | |
|
|
adda5145fd | |
|
|
94bb6452ba | |
|
|
486c1aadf5 | |
|
|
42e6f817fa | |
|
|
6aaba92446 | |
|
|
f21228b607 | |
|
|
66717b51bd | |
|
|
f46d6e01b7 | |
|
|
e434ea06d7 | |
|
|
df6cada986 | |
|
|
f5d94dfd0f | |
|
|
5ca0d30059 | |
|
|
60c8861e00 | |
|
|
7d83a4d17e | |
|
|
136041f358 | |
|
|
e3a5128aff | |
|
|
d46c1e2ae6 | |
|
|
262f7e6812 | |
|
|
518e57bf08 | |
|
|
7184f32153 | |
|
|
3aa8486d51 | |
|
|
e2559f486e | |
|
|
e6d5eb134d | |
|
|
54fe5ed45d | |
|
|
e282c11e67 | |
|
|
ee74b32e14 | |
|
|
ecdcb129cc | |
|
|
c5e95556db | |
|
|
9d83e688cb | |
|
|
01ad069833 | |
|
|
8bec8dcbc3 | |
|
|
88340c2115 | |
|
|
72f6027837 | |
|
|
789dd9b3d5 | |
|
|
2f31b685bb | |
|
|
b51a51c41a | |
|
|
73304ff753 | |
|
|
d0a3e39db3 | |
|
|
3e43202b2b | |
|
|
b8735b82f7 | |
|
|
2cb05a8783 | |
|
|
762ab51e6b | |
|
|
ff338a4d16 | |
|
|
ee93eb9c86 | |
|
|
92fcb04129 | |
|
|
645ebd796b | |
|
|
c4a6ac89a6 | |
|
|
a3fceac770 | |
|
|
f2aa36fa9f | |
|
|
6b0a9d1c50 | |
|
|
086206c826 | |
|
|
e1ff7cdd31 | |
|
|
7faeb12f80 | |
|
|
8fc64da93b | |
|
|
70660cc37f | |
|
|
a3f98a4e7c | |
|
|
efd20f62ab | |
|
|
20d01c526a | |
|
|
ac48b8f225 | |
|
|
ed30c4eb45 | |
|
|
666d5e7921 | |
|
|
57d9a9edfb | |
|
|
90f8877f99 | |
|
|
15204fc1ec | |
|
|
424429d87f | |
|
|
5c3b79ba88 | |
|
|
28e6e54c07 | |
|
|
b1aa2437a9 | |
|
|
578a11ec8d | |
|
|
3b5229f170 | |
|
|
2e16e95b1f | |
|
|
0df6ef5136 | |
|
|
97fa8f8d29 | |
|
|
2f865847dd | |
|
|
c06dd401c4 | |
|
|
7f2b61fa20 | |
|
|
3c17620d8f | |
|
|
b3dd9ce075 | |
|
|
a7e2cb2516 | |
|
|
e0068490d4 | |
|
|
68f8caf49f | |
|
|
d5e13414ac | |
|
|
4d97b97787 | |
|
|
2ce885a5b4 | |
|
|
c9ed3b6e33 | |
|
|
0483815883 | |
|
|
25da459efb | |
|
|
3dbf54f3a0 | |
|
|
e788d0cb14 | |
|
|
934dee4ebe | |
|
|
67a959bb87 | |
|
|
e93d579818 | |
|
|
e85b51bc4f | |
|
|
24993663fd | |
|
|
0c1581923c | |
|
|
b6a0bec671 | |
|
|
45e3f06418 | |
|
|
f9d5e6ef1d | |
|
|
4801ddee85 | |
|
|
4c79626f02 | |
|
|
a8886bfeba | |
|
|
31ae22d604 | |
|
|
d9e28248b7 | |
|
|
7700d46fe9 | |
|
|
3355ef7db3 | |
|
|
ff26a27e8f | |
|
|
e4ea6a804e | |
|
|
e10ea1588d | |
|
|
e156245b8b | |
|
|
cd4604cb0c | |
|
|
a9e95f4151 | |
|
|
bd60a843e5 | |
|
|
dba2eeb46c | |
|
|
74487dfedd | |
|
|
6c5ba1894d | |
|
|
1d2ad45f08 | |
|
|
7ca0fb03c9 | |
|
|
b220cbbfc0 | |
|
|
9153784c5c | |
|
|
be72e3f0f3 | |
|
|
23d7b9243f | |
|
|
a22c282542 | |
|
|
377f1843b2 | |
|
|
66ee5851b6 | |
|
|
c632d6dd36 | |
|
|
ec601eb8f4 | |
|
|
fbd51f62f3 | |
|
|
e4ab11196c | |
|
|
1b37d393dd | |
|
|
ebbc51230f | |
|
|
93bb6fbf09 | |
|
|
c6fe0e2239 | |
|
|
191818ae12 | |
|
|
72c042b76d | |
|
|
4a1aeedb12 | |
|
|
c93bdf8c9c | |
|
|
9822514c92 | |
|
|
2faaefa4d1 | |
|
|
7861ac3ba9 | |
|
|
129c321789 | |
|
|
ef9fd7518b | |
|
|
63697367b3 | |
|
|
2f717f1d83 | |
|
|
0421a6387b | |
|
|
200bfb14ce | |
|
|
188040883b | |
|
|
7c3313f569 | |
|
|
ae30602ff2 | |
|
|
455ec14cba | |
|
|
00ef99c762 | |
|
|
6b21ca2b59 | |
|
|
e67f91ba7a | |
|
|
b0e4dd3183 | |
|
|
b4c9734925 | |
|
|
a5241c3952 | |
|
|
61dc46e220 | |
|
|
3e4e4f87c8 | |
|
|
603631117a | |
|
|
d563f66b54 | |
|
|
718e60cb7c | |
|
|
177b76da8b | |
|
|
5a0b48979f | |
|
|
edfdb127e2 | |
|
|
f537e3be48 | |
|
|
b5c8b842b8 | |
|
|
5494aa9e4a | |
|
|
edbb148df8 | |
|
|
70e7102ab4 | |
|
|
cbdedf4e55 | |
|
|
74a9a36765 | |
|
|
ed9b247bfd | |
|
|
6af1fcc410 | |
|
|
0635305db5 | |
|
|
2c106ef97d | |
|
|
1dfcc95507 | |
|
|
bc0f2b36c9 | |
|
|
4bfcf6f313 | |
|
|
241a23cf1c | |
|
|
7fdfede9e4 | |
|
|
4d63473dab | |
|
|
39fcd6dac4 | |
|
|
b50cde3697 | |
|
|
279418f713 | |
|
|
6b5f8390a6 | |
|
|
4b54617494 | |
|
|
d581585f7f | |
|
|
613926ec43 | |
|
|
81b7eb96e8 | |
|
|
21d47d0b3a | |
|
|
c809e45d8f | |
|
|
7490b69964 | |
|
|
81f67361f2 | |
|
|
5de2f3ba19 | |
|
|
f2ee4a7384 | |
|
|
debc5a93e8 | |
|
|
b389a85eed | |
|
|
83eec8ffb9 | |
|
|
bd681bd967 | |
|
|
78d189ea7e | |
|
|
78e8c225ae | |
|
|
57c79a9873 | |
|
|
16f8505748 | |
|
|
29d5573bae | |
|
|
ee23e71e71 | |
|
|
0923f8928f | |
|
|
1863bd7319 | |
|
|
db296fbafb | |
|
|
02db0bdae2 | |
|
|
8333e98c22 | |
|
|
cf7fc7669b | |
|
|
018f591957 | |
|
|
d469fa980e | |
|
|
37014d1ee4 | |
|
|
276ddab6f1 | |
|
|
d66a7d1394 | |
|
|
4ccb73ca66 | |
|
|
8902814ee0 | |
|
|
aba4bcc782 | |
|
|
4d4a971f35 | |
|
|
0e21c96759 | |
|
|
b4aebbe8a1 | |
|
|
c56e6cda12 | |
|
|
b2cbc28d6e | |
|
|
7494582e5f | |
|
|
16fe542bab | |
|
|
dd0b4f0afa | |
|
|
d087cc5cac | |
|
|
824448b5fb | |
|
|
4d6ea5c8be | |
|
|
6b8c80946e | |
|
|
0e76805ee6 | |
|
|
b54d208e9d | |
|
|
c948021810 | |
|
|
c798194610 | |
|
|
7061b37f95 | |
|
|
13ad8896ab | |
|
|
25526f4982 | |
|
|
1d7f80dedc | |
|
|
2aa1a09f81 | |
|
|
caaedba6b2 | |
|
|
db4bbf1cd5 | |
|
|
58edf5c716 | |
|
|
cd502af7a6 | |
|
|
d0a2a1385e | |
|
|
96a69ae8f1 | |
|
|
c0c31eb403 | |
|
|
8ec67bf6ac | |
|
|
56fc061c7c | |
|
|
7a611c668d | |
|
|
0ce7fa2482 | |
|
|
759332ce5f | |
|
|
1ac1540a6f | |
|
|
a20c8c57f8 | |
|
|
3487ac99d3 | |
|
|
917081d53d | |
|
|
3ba7522adf | |
|
|
a053453718 | |
|
|
416a78c885 | |
|
|
0891afd891 | |
|
|
5b2ed3da5a | |
|
|
8a9ba527c6 | |
|
|
c7e9c25bd4 | |
|
|
a1a2114568 | |
|
|
5831cb56f3 | |
|
|
f15e0ba7a1 | |
|
|
4c854b4dba | |
|
|
a2d4b9da86 | |
|
|
d62cde3736 | |
|
|
c56c9147fb | |
|
|
e08d12ac5c | |
|
|
1457eec716 | |
|
|
3a1b7e15b5 | |
|
|
725fb221f5 | |
|
|
1bc07fea67 | |
|
|
72415efa42 | |
|
|
a534212e40 | |
|
|
404cc5e35a | |
|
|
9cbebc95c8 | |
|
|
9001dbdced | |
|
|
096e676569 | |
|
|
8695101ddb | |
|
|
87f5f74c30 | |
|
|
f76a80ffed | |
|
|
b0ad7e88fc | |
|
|
f20c304216 | |
|
|
cb8f6f67c8 | |
|
|
c6f84f28d1 | |
|
|
118ad68f63 | |
|
|
e266972982 | |
|
|
210b1bb4d2 | |
|
|
1609c12624 | |
|
|
9dcb875792 | |
|
|
5bce288c70 | |
|
|
f782ff0d6e | |
|
|
ed1597fff4 | |
|
|
16e733f43f | |
|
|
dcd779e734 | |
|
|
b5b53e214f | |
|
|
c47d974f74 | |
|
|
98819162ca | |
|
|
0d7c4e2b32 | |
|
|
ac08bab2b4 | |
|
|
d0098ac2ed | |
|
|
3defcb764a | |
|
|
236607ae37 | |
|
|
f047d092e7 | |
|
|
fadd9b999c | |
|
|
479fb5ef4e | |
|
|
76739da0a6 | |
|
|
53c3aab8e3 | |
|
|
c14e45183f | |
|
|
cc28086afb | |
|
|
be4abe7b84 | |
|
|
ad24e04b1e | |
|
|
5f76e8ff62 | |
|
|
a2280a9073 | |
|
|
77ede0b789 | |
|
|
994852627e | |
|
|
60a321b063 | |
|
|
e80e3ea5f0 | |
|
|
f4a2ba703b | |
|
|
90ecd78cae | |
|
|
870f7ae9b4 | |
|
|
dafc4f7a99 | |
|
|
9d42b95647 | |
|
|
d78aa74ab8 | |
|
|
bf287655a4 | |
|
|
7ced54f7ac | |
|
|
88078ddf27 | |
|
|
6571d99133 | |
|
|
0e8bfbb3cb | |
|
|
f38198c238 | |
|
|
e1a6f61e7f | |
|
|
98a9f46f79 | |
|
|
90223cc633 | |
|
|
0bbed681d4 | |
|
|
6ba3be1dd0 | |
|
|
639f8785db | |
|
|
92ce330fe0 | |
|
|
5190ef996f | |
|
|
251773e43b | |
|
|
4e1ef52885 | |
|
|
68b615d782 | |
|
|
c549535044 | |
|
|
3db1bed9ee | |
|
|
6f7aec9752 | |
|
|
192e85245c | |
|
|
08b43f2b49 | |
|
|
aea4faf846 | |
|
|
c14b1adbad | |
|
|
db899bbb78 | |
|
|
1dc3cd0e31 | |
|
|
797e2c731e | |
|
|
c74ec05eac | |
|
|
c4aa050d1d | |
|
|
a79819d4fe | |
|
|
f262b029c7 | |
|
|
1b1fd208b1 | |
|
|
807d81896a | |
|
|
ad09b1da54 | |
|
|
c385926ae2 | |
|
|
49cebdfd65 | |
|
|
d83e32c475 | |
|
|
962d6f9b52 | |
|
|
36b4581bcf | |
|
|
1aa9658a73 | |
|
|
5f57cb6637 | |
|
|
e872279ddc | |
|
|
9f9873a6a7 | |
|
|
fa5885fca1 | |
|
|
88e44085c5 | |
|
|
27fa4cbed9 | |
|
|
f4baaa8872 | |
|
|
a72637fe6a | |
|
|
ee67bf1495 | |
|
|
36e5c3ec36 | |
|
|
20dd8b1596 | |
|
|
ff871ea052 | |
|
|
22ae27336c | |
|
|
bb74b79d29 | |
|
|
137ee2eca7 | |
|
|
4c264d7505 | |
|
|
f1435beefb | |
|
|
4bb51a7248 | |
|
|
75c13478ec | |
|
|
cfe096f269 | |
|
|
2166466baa | |
|
|
62a414be2e | |
|
|
afd3c35516 | |
|
|
58e9261c6a | |
|
|
b9f4e1477e | |
|
|
cbefbb758a | |
|
|
459ec746c0 | |
|
|
3c66bd411e | |
|
|
c27000691c | |
|
|
209dc29d50 | |
|
|
9a60e1f864 | |
|
|
d78a1579d1 | |
|
|
20a3f132ca | |
|
|
76d2b56d9c | |
|
|
11b074fab9 | |
|
|
ddcfb87c87 | |
|
|
7df0924a7b | |
|
|
b7c75f951f | |
|
|
12261fb1c0 | |
|
|
2b3426d1b1 | |
|
|
9a7905bd1a | |
|
|
df4db5f420 | |
|
|
abfc669853 | |
|
|
b0cdcd227f | |
|
|
2811985069 | |
|
|
902421c20b | |
|
|
4ae934e401 | |
|
|
ac781e4324 | |
|
|
04b835bd3b | |
|
|
7c9dbfa36c | |
|
|
7649d52e9c | |
|
|
79b33d29ae | |
|
|
c2b24eeedb | |
|
|
f4c6a4b0b3 | |
|
|
4a0d95721b | |
|
|
e5c61301af | |
|
|
bc7a7aa869 | |
|
|
edb912d391 | |
|
|
eba72f766e | |
|
|
649f6177b1 | |
|
|
5c484a0d99 | |
|
|
b5c6b0b15e | |
|
|
05dee91746 | |
|
|
c5b1931a73 | |
|
|
b48973b4eb | |
|
|
1c517a1d65 | |
|
|
5cfb0accce | |
|
|
a0f12e8eaf | |
|
|
5e739d6da5 | |
|
|
b9f922ff53 | |
|
|
6cef512d76 | |
|
|
c6b053624c | |
|
|
f65779b3e3 | |
|
|
4ee298db14 | |
|
|
00aada29c0 | |
|
|
ccc4e4827a | |
|
|
be6809fa82 | |
|
|
7c7723f9e7 | |
|
|
02249bf020 | |
|
|
f77540662f | |
|
|
a61ccaaeab | |
|
|
bb5ddb412c | |
|
|
5953f34389 | |
|
|
e7374db5ba | |
|
|
aafe1958e3 | |
|
|
c115b8bd2d | |
|
|
fb15cb3302 | |
|
|
1fabfb2037 | |
|
|
4896df1701 | |
|
|
c4a841191d | |
|
|
a55dbb55c2 | |
|
|
8fa8ded917 | |
|
|
62bcf16fb3 | |
|
|
0f9ca22431 | |
|
|
14da2c7dcf | |
|
|
ce94284d7c | |
|
|
0a4a7c67d3 | |
|
|
406237fa9c | |
|
|
8d22e11119 | |
|
|
3e6f4a11de | |
|
|
b1fa8b1bb7 | |
|
|
a3d054128e | |
|
|
5ca9a1c03e | |
|
|
48647dd27f | |
|
|
fb16d69dfd | |
|
|
a1770bb830 | |
|
|
8ac297400b | |
|
|
fe0c8f073c | |
|
|
c4f6ce82b4 | |
|
|
41bb3f5738 | |
|
|
ceb98ab3ea | |
|
|
f16ca1e274 | |
|
|
6f20bf4d7a | |
|
|
82fee85d56 | |
|
|
2ebd570023 | |
|
|
bb4eb37441 | |
|
|
b16915ccc1 |
|
|
@ -0,0 +1,149 @@
|
|||
# This is the clang-format style used by qt releated deepin projects.
|
||||
#
|
||||
# This file is modified from https://github.com/qt/qt5/blob/5b22f8ec2e4fbb58e362b709ee82f2dbd8afdfd3/_clang-format
|
||||
# based on the rules from https://github.com/linuxdeepin/deepin-styleguide,
|
||||
# https://wiki.qt.io/Qt_Coding_Style and https://wiki.qt.io/Coding_Conventions
|
||||
#
|
||||
# This is for clang-format >= 14.0.0
|
||||
|
||||
---
|
||||
# Webkit style was loosely based on the Qt style
|
||||
BasedOnStyle: WebKit
|
||||
|
||||
# deepin project might not use same standard.
|
||||
Standard: Auto
|
||||
|
||||
# Column width is limited to 100 in accordance with Qt Coding Style.
|
||||
# https://wiki.qt.io/Qt_Coding_Style
|
||||
# Note that this may be changed at some point in the future.
|
||||
ColumnLimit: 100
|
||||
# How much weight do extra characters after the line length limit have.
|
||||
# PenaltyExcessCharacter: 4
|
||||
|
||||
# Disable reflow of some specific comments
|
||||
# qdoc comments: indentation rules are different.
|
||||
# Translation comments and SPDX license identifiers are also excluded.
|
||||
CommentPragmas: "^!|^:|^ SPDX-License-Identifier:"
|
||||
|
||||
PointerAlignment: Right
|
||||
|
||||
# We use template< without space.
|
||||
SpaceAfterTemplateKeyword: false
|
||||
|
||||
# We want to break before the operators, but not before a '='.
|
||||
BreakBeforeBinaryOperators: NonAssignment
|
||||
|
||||
# Braces are usually attached, but not after functions or class declarations.
|
||||
BreakBeforeBraces: Custom
|
||||
BraceWrapping:
|
||||
AfterClass: true
|
||||
AfterControlStatement: false
|
||||
AfterEnum: true
|
||||
AfterFunction: true
|
||||
AfterNamespace: false
|
||||
AfterObjCDeclaration: false
|
||||
AfterStruct: true
|
||||
AfterUnion: true
|
||||
BeforeCatch: false
|
||||
BeforeElse: false
|
||||
IndentBraces: false
|
||||
|
||||
# Indent initializers by 4 spaces
|
||||
ConstructorInitializerIndentWidth: 4
|
||||
|
||||
# Indent width for line continuations.
|
||||
ContinuationIndentWidth: 4
|
||||
|
||||
# No indentation for namespaces.
|
||||
NamespaceIndentation: None
|
||||
|
||||
# Allow indentation for preprocessing directives (if/ifdef/endif). https://reviews.llvm.org/rL312125
|
||||
IndentPPDirectives: AfterHash
|
||||
# We only indent with 2 spaces for preprocessor directives
|
||||
PPIndentWidth: 2
|
||||
|
||||
# Horizontally align arguments after an open bracket.
|
||||
# The coding style does not specify the following, but this is what gives
|
||||
# results closest to the existing code.
|
||||
AlignAfterOpenBracket: Align
|
||||
AlwaysBreakTemplateDeclarations: true
|
||||
|
||||
# As clang-format 13 can regroup includes we enable this feature.
|
||||
# basically according to https://wiki.qt.io/Coding_Conventions#Including_headers
|
||||
# and https://github.com/linuxdeepin/deepin-styleguide
|
||||
IncludeBlocks: Regroup
|
||||
IncludeCategories:
|
||||
# gtest/gmock's h files
|
||||
- Regex: '^<g(test|mock)/'
|
||||
Priority: 1
|
||||
CaseSensitive: true
|
||||
# Your project's h files.
|
||||
- Regex: '^"'
|
||||
Priority: 2
|
||||
# Waylib libraries' h files
|
||||
- Regex: '^<W[A-Z]'
|
||||
Priority: 4
|
||||
# qwroots libraries' h files
|
||||
- Regex: '^<qw[a-z]'
|
||||
Priority: 5
|
||||
CaseSensitive: true
|
||||
# DTK libraries' h files
|
||||
- Regex: '^<D[A-Z]'
|
||||
Priority: 6
|
||||
CaseSensitive: true
|
||||
# QT libraries' h files
|
||||
- Regex: '^<(Q[A-Z]|Qt)'
|
||||
Priority: 7
|
||||
# C++ system headers (as of C++23).
|
||||
- Regex: '^<(algorithm|any|array|atomic|barrier|bit|bitset|cassert|ccomplex|cctype|cerrno|cfenv|cfloat|charconv|chrono|cinttypes|ciso646|climits|clocale|cmath|codecvt|compare|complex|concepts|condition_variable|coroutine|csetjmp|csignal|cstdalign|cstdarg|cstdbool|cstddef|cstdint|cstdio|cstdlib|cstring|ctgmath|ctime|cuchar|cwchar|cwctype|deque|exception|execution|expected|filesystem|flat_map|flat_set|format|forward_list|fstream|functional|future|generator|initializer_list|iomanip|ios|iosfwd|iostream|istream|iterator|latch|limits|list|locale|map|mdspan|memory|memory_resource|mutex|new|numbers|numeric|optional|ostream|print|queue|random|ranges|ratio|regex|scoped_allocator|semaphore|set|shared_mutex|source_location|span|spanstream|sstream|stack|stacktrace|stdexcept|stdfloat|stop_token|streambuf|string|string_view|strstream|syncstream|system_error|thread|tuple|type_traits|typeindex|typeinfo|unordered_map|unordered_set|utility|valarray|variant|vector|version)>$'
|
||||
Priority: 8
|
||||
CaseSensitive: true
|
||||
# C system headers.
|
||||
- Regex: '^<(aio|arpa/inet|assert|complex|cpio|ctype|curses|dirent|dlfcn|errno|fcntl|fenv|float|fmtmsg|fnmatch|ftw|glob|grp|iconv|inttypes|iso646|langinfo|libgen|limits|locale|math|monetary|mqueue|ndbm|netdb|net/if|netinet/in|netinet/tcp|nl_types|poll|pthread|pwd|regex|sched|search|semaphore|setjmp|signal|spawn|stdalign|stdarg|stdatomic|stdbool|stddef|stdint|stdio|stdlib|stdnoreturn|string|strings|stropts|sys/ipc|syslog|sys/mman|sys/msg|sys/resource|sys/select|sys/sem|sys/shm|sys/socket|sys/stat|sys/statvfs|sys/time|sys/times|sys/types|sys/uio|sys/un|sys/utsname|sys/wait|tar|term|termios|tgmath|threads|time|trace|uchar|ulimit|uncntrl|unistd|utime|utmpx|wchar|wctype|wordexp)\.h>$'
|
||||
Priority: 8
|
||||
CaseSensitive: true
|
||||
# other libraries' h files.
|
||||
- Regex: '^<'
|
||||
Priority: 3
|
||||
IncludeIsMainRegex: '((T|t)est)?$'
|
||||
SortIncludes: CaseSensitive
|
||||
|
||||
# macros for which the opening brace stays attached.
|
||||
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH, forever, Q_FOREVER, QBENCHMARK, QBENCHMARK_ONCE ]
|
||||
|
||||
# Break constructor initializers before the colon and after the commas.
|
||||
BreakConstructorInitializers: BeforeComma
|
||||
BreakInheritanceList: BeforeComma
|
||||
|
||||
# Add "// namespace <namespace>" comments on closing brace for a namespace
|
||||
# Ignored for namespaces that qualify as a short namespace,
|
||||
# see 'ShortNamespaceLines'
|
||||
FixNamespaceComments: true
|
||||
|
||||
# Definition of how short a short namespace is, default 1
|
||||
ShortNamespaceLines: 1
|
||||
|
||||
# When escaping newlines in a macro attach the '\' as far left as possible, e.g.
|
||||
##define a \
|
||||
# something; \
|
||||
# other; \
|
||||
# thelastlineislong;
|
||||
AlignEscapedNewlines: Left
|
||||
|
||||
# Avoids the addition of a space between an identifier and the
|
||||
# initializer list in list-initialization.
|
||||
SpaceBeforeCpp11BracedList: false
|
||||
|
||||
AllowAllArgumentsOnNextLine: false
|
||||
AllowShortLambdasOnASingleLine: Empty
|
||||
AllowShortFunctionsOnASingleLine: Empty
|
||||
AllowAllParametersOfDeclarationOnNextLine: false
|
||||
AlignTrailingComments: true
|
||||
BinPackArguments: false
|
||||
BinPackParameters: false
|
||||
PackConstructorInitializers: Never
|
||||
PenaltyReturnTypeOnItsOwnLine: 130
|
||||
SeparateDefinitionBlocks: Always
|
||||
WhitespaceSensitiveMacros:
|
||||
- Q_PROPERTY
|
||||
- Q_INTERFACES
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
# EditorConfig is awesome: https://EditorConfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
# Unix-style newlines with a newline ending every file
|
||||
[*]
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[*.rs]
|
||||
max_line_length = 100
|
||||
|
||||
[*.{diff,md}]
|
||||
# double whitespace at end of line
|
||||
# denotes a line break in Markdown
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[*.{yml,yaml}]
|
||||
indent_size = 2
|
||||
|
||||
[Makefile]
|
||||
indent_style = tab
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
name: BUG Report | 缺陷报告
|
||||
description: General BUG report
|
||||
title: "[Bug]: "
|
||||
labels: ["bug"]
|
||||
assignees: []
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Thanks for taking a minute to file a bug report!**
|
||||
**感谢抽出时间汇报 BUG 缺陷!**
|
||||
|
||||
A valid bug report should let someone other than you be able to reproduce the same issue, so please provide as much details as possible.
|
||||
一个有效的缺陷汇报应当能够使一个你之外的人可以根据所提供的信息有效的复现问题。所以请提供尽可能详细的信息。
|
||||
|
||||
⚠ Read before creating issue 反馈之前请注意:
|
||||
Only report BUG here, please use the [Discussion board][discussion-board] for non-bug, troubleshooting or general discusion.
|
||||
非 BUG 的反馈(疑难解答,行为建议,常规讨论)请转到 [Discussion 面板][discussion-board]
|
||||
|
||||
[discussion-board]: https://github.com/linuxdeepin/treeland/discussions
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: SUMMARY | 问题概要
|
||||
description: |
|
||||
describe the bug you want to report
|
||||
在这里描述你遇到的 BUG
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: LAUNCH-WAY | 启动方式
|
||||
description: |
|
||||
how to launch treeland
|
||||
treeland 如何启动
|
||||
options:
|
||||
- unknown
|
||||
- ddm
|
||||
- lightdm
|
||||
default: 0
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: dropdown
|
||||
attributes:
|
||||
label: BACKEND | 启动后端
|
||||
description: |
|
||||
which backend to use
|
||||
使用哪个后端启动
|
||||
options:
|
||||
- unknown
|
||||
- DRM
|
||||
- Wayland
|
||||
- X11
|
||||
default: 0
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: STEPS TO REPRODUCE | 复现步骤
|
||||
description: |
|
||||
describe the steps to reproduce the specific bug
|
||||
在这里描述复现 BUG 的操作步骤
|
||||
placeholder: |
|
||||
1. ...
|
||||
2. ...
|
||||
3. ...
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: OBSERVED RESULT | 观察到的结果
|
||||
description: |
|
||||
describe the observed result
|
||||
在这里描述观察到的结果
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: EXPECTED RESULT | 期望的结果
|
||||
description: |
|
||||
describe the expected result
|
||||
在这里描述你所期望的结果
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: ADDITIONAL INFORMATION | 额外补充
|
||||
description: |
|
||||
any additional information you may want to provide so we can offer better help
|
||||
有什么额外需要补充的信息的话,可以写到这里
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
name: Feature Request | 功能请求
|
||||
description: General Feature request
|
||||
title: "[Feature]: "
|
||||
labels: []
|
||||
assignees: []
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
**Thanks for taking a minute to file a feature request!**
|
||||
**感谢抽出时间提出新功能!**
|
||||
|
||||
⚠ Read before creating issue 反馈之前请注意:
|
||||
Only request feature here, please use the [Discussion board][discussion-board] for non-bug, troubleshooting or general discusion.
|
||||
非新功能的反馈(疑难解答,行为建议,常规讨论)请转到 [Discussion 面板][discussion-board]
|
||||
|
||||
[discussion-board]: https://github.com/linuxdeepin/treeland/discussions
|
||||
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: SUMMARY | 功能概要
|
||||
description: |
|
||||
describe the feature you want to request
|
||||
在这里描述你想提出的新功能
|
||||
|
||||
|
|
@ -14,7 +14,7 @@ jobs:
|
|||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- run: export
|
||||
- uses: actions/checkout@v3
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
persist-credentials: false
|
||||
|
|
|
|||
|
|
@ -0,0 +1,87 @@
|
|||
name: Build qwlroots on Arch Linux (independent)
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'qwlroots/**'
|
||||
- '.github/workflows/qwlroots-archlinux-build.yml'
|
||||
|
||||
pull_request:
|
||||
paths:
|
||||
- 'qwlroots/**'
|
||||
- '.github/workflows/qwlroots-archlinux-build.yml'
|
||||
|
||||
jobs:
|
||||
container:
|
||||
runs-on: ubuntu-latest
|
||||
container: archlinux:latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Run in container
|
||||
run: |
|
||||
pacman-key --init
|
||||
pacman -Syu --noconfirm
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pacman -Syu --noconfirm qt6-base cmake pkgconfig wlroots0.19 pixman wayland-protocols wlr-protocols
|
||||
pacman -Syu --noconfirm clang ninja base-devel git
|
||||
|
||||
- name: Configure and build qwlroots
|
||||
working-directory: qwlroots
|
||||
run: |
|
||||
echo "Working directory:" $PWD
|
||||
cmake --preset ci
|
||||
cmake --build --preset ci
|
||||
|
||||
- name: Install qwlroots to staging directory
|
||||
working-directory: qwlroots
|
||||
run: |
|
||||
echo "Installing qwlroots to staging directory..."
|
||||
mkdir -p /tmp/qwlroots-install
|
||||
DESTDIR=/tmp/qwlroots-install cmake --install build
|
||||
echo "✅ qwlroots installed to staging directory"
|
||||
|
||||
echo "Installed files:"
|
||||
find /tmp/qwlroots-install -type f | head -20
|
||||
echo "Total files installed: $(find /tmp/qwlroots-install -type f | wc -l)"
|
||||
|
||||
- name: Create qwlroots installation package
|
||||
run: |
|
||||
cd /tmp/qwlroots-install
|
||||
|
||||
# Install zip if not available
|
||||
pacman -Syu --noconfirm zip
|
||||
|
||||
# Create package info
|
||||
echo "Creating package info..."
|
||||
cat > PACKAGE_INFO.txt << EOF
|
||||
Package: qwlroots-archlinux-build
|
||||
Version: $(date +%Y%m%d-%H%M%S)
|
||||
Architecture: x86_64
|
||||
Built-on: Arch Linux
|
||||
CMake-Config: Default configuration
|
||||
|
||||
Installation Instructions:
|
||||
1. Extract this package to /
|
||||
2. Run: sudo ldconfig (if libraries are included)
|
||||
3. Ensure dependencies are installed on target system
|
||||
|
||||
Files included in this package:
|
||||
EOF
|
||||
find . -type f | sort >> PACKAGE_INFO.txt
|
||||
|
||||
# Create the zip package
|
||||
zip -r /tmp/qwlroots-archlinux-$(date +%Y%m%d-%H%M%S).zip .
|
||||
echo "✅ qwlroots installation package created"
|
||||
|
||||
ls -la /tmp/qwlroots-archlinux-*.zip
|
||||
|
||||
- name: Upload qwlroots ArchLinux build artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: qwlroots-archlinux-build
|
||||
path: "/tmp/qwlroots-archlinux-*.zip"
|
||||
if-no-files-found: error
|
||||
retention-days: 30
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
name: Build qwlroots on Debian unstable (independent)
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'qwlroots/**'
|
||||
- '.github/workflows/qwlroots-debian-build.yml'
|
||||
|
||||
pull_request:
|
||||
paths:
|
||||
- 'qwlroots/**'
|
||||
- '.github/workflows/qwlroots-debian-build.yml'
|
||||
|
||||
jobs:
|
||||
container:
|
||||
runs-on: ubuntu-latest
|
||||
container: debian:unstable
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install build dependencies
|
||||
working-directory: qwlroots
|
||||
run: |
|
||||
# Configure apt sources for unstable
|
||||
echo "deb http://deb.debian.org/debian unstable main" > /etc/apt/sources.list
|
||||
echo "deb http://deb.debian.org/debian sid main" >> /etc/apt/sources.list
|
||||
|
||||
apt-get update
|
||||
apt-get install -y devscripts equivs
|
||||
|
||||
# Add deepin community repository to install wlr-protocols
|
||||
echo "deb [trusted=yes] https://community-packages.deepin.com/beige/ crimson main commercial community" > /etc/apt/sources.list.d/deepin-community.list
|
||||
|
||||
# Update package lists (ignore signature errors for this temporary repo)
|
||||
apt-get update --allow-unauthenticated
|
||||
|
||||
# Install wlr-protocols package directly
|
||||
apt-get install -y --allow-unauthenticated wlr-protocols
|
||||
# Remove deepin repository to avoid system pollution
|
||||
rm -f /etc/apt/sources.list.d/deepin-community.list
|
||||
apt-get update
|
||||
|
||||
# Install other build dependencies from control file
|
||||
mk-build-deps --install --remove --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
|
||||
|
||||
- name: Build qwlroots deb package
|
||||
working-directory: qwlroots
|
||||
run: |
|
||||
dpkg-buildpackage -uc -us -b
|
||||
echo "✅ qwlroots deb package built successfully!"
|
||||
ls -la ../*.deb
|
||||
|
||||
- name: Upload qwlroots deb packages as artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: qwlroots-deb-packages
|
||||
path: "*.deb"
|
||||
if-no-files-found: error
|
||||
retention-days: 30
|
||||
|
|
@ -0,0 +1,129 @@
|
|||
name: Build treeland on Arch Linux
|
||||
|
||||
# This workflow builds treeland with merged waylib and qwlroots code
|
||||
# Dependencies are based on the official ArchLinux PKGBUILD plus
|
||||
# additional dependencies from the integrated waylib and qwlroots code
|
||||
# treeland-protocols-git is installed from AUR
|
||||
|
||||
on:
|
||||
push:
|
||||
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
container:
|
||||
runs-on: ubuntu-latest
|
||||
container: archlinux:latest
|
||||
steps:
|
||||
- name: Run in container
|
||||
run: |
|
||||
cat /etc/pacman.d/mirrorlist
|
||||
pacman-key --init
|
||||
pacman --noconfirm --noprogressbar -Syu
|
||||
|
||||
- name: Install base dependencies
|
||||
run: |
|
||||
pacman -Syu --noconfirm --noprogressbar base-devel git cmake ninja pkgconfig clang make
|
||||
pacman -Syu --noconfirm --noprogressbar fakeroot meson sudo
|
||||
|
||||
- name: Install Qt6 dependencies
|
||||
run: |
|
||||
# Qt6 dependencies matching qwlroots and waylib builds
|
||||
pacman -Syu --noconfirm --noprogressbar qt6-base qt6-declarative qt6-wayland qt6-tools
|
||||
|
||||
- name: Install graphics and wayland dependencies
|
||||
run: |
|
||||
# Core graphics and wayland dependencies (matching qwlroots and waylib builds)
|
||||
pacman -Syu --noconfirm --noprogressbar pixman vulkan-headers wayland wayland-protocols wlr-protocols
|
||||
pacman -Syu --noconfirm --noprogressbar wlroots0.19 libinput pam systemd-libs jemalloc gcc-libs glibc
|
||||
|
||||
- name: Install additional waylib/qwlroots dependencies
|
||||
run: |
|
||||
# Additional dependencies from waylib and qwlroots build configs
|
||||
pacman -Syu --noconfirm --noprogressbar libdrm xcb-util-errors libxdmcp
|
||||
|
||||
- name: Install DTK dependencies
|
||||
run: |
|
||||
# Try to install DTK from available packages
|
||||
# If not available, the build will proceed without them (may fail)
|
||||
pacman -Syu --noconfirm --noprogressbar dtk6core dtk6declarative dtk6systemsettings
|
||||
|
||||
- name: Install DDM dependencies
|
||||
run: |
|
||||
# Try to install DDM from available packages
|
||||
pacman -Syu --noconfirm --noprogressbar ddm
|
||||
|
||||
- name: Build and Install treeland-protocols
|
||||
run: |
|
||||
echo "Building treeland-protocols from source..."
|
||||
git clone https://github.com/linuxdeepin/treeland-protocols.git --depth 1
|
||||
cd treeland-protocols
|
||||
cmake -B build \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build
|
||||
cmake --install build
|
||||
echo "✅ treeland-protocols built and installed from source"
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Configure and Build treeland with ci preset
|
||||
run: |
|
||||
echo "Working directory:" $PWD
|
||||
echo "Configuring treeland with merged waylib and qwlroots code..."
|
||||
cmake --preset ci
|
||||
cmake --build --preset ci
|
||||
echo "✅ treeland built successfully with merged waylib and qwlroots code!"
|
||||
|
||||
- name: Install treeland to staging directory
|
||||
run: |
|
||||
echo "Installing treeland to staging directory..."
|
||||
mkdir -p /tmp/treeland-install
|
||||
DESTDIR=/tmp/treeland-install cmake --install build
|
||||
echo "✅ treeland installed to staging directory"
|
||||
|
||||
echo "Installed files:"
|
||||
find /tmp/treeland-install -type f | head -20
|
||||
echo "Total files installed: $(find /tmp/treeland-install -type f | wc -l)"
|
||||
|
||||
- name: Create treeland installation package
|
||||
run: |
|
||||
cd /tmp/treeland-install
|
||||
|
||||
# Install zip if not available
|
||||
pacman -Syu --noconfirm zip
|
||||
|
||||
# Create package info
|
||||
echo "Creating package info..."
|
||||
cat > PACKAGE_INFO.txt << EOF
|
||||
Package: treeland-archlinux-build
|
||||
Version: $(date +%Y%m%d-%H%M%S)
|
||||
Architecture: x86_64
|
||||
Built-on: Arch Linux
|
||||
Built-with: merged waylib and qwlroots code
|
||||
CMake-Config: -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib
|
||||
|
||||
Installation Instructions:
|
||||
1. Extract this package to /
|
||||
2. Run: sudo ldconfig (if libraries are included)
|
||||
3. Ensure dependencies are installed on target system
|
||||
|
||||
Files included in this package:
|
||||
EOF
|
||||
find . -type f | sort >> PACKAGE_INFO.txt
|
||||
|
||||
# Create the zip package
|
||||
zip -r /tmp/treeland-archlinux-$(date +%Y%m%d-%H%M%S).zip .
|
||||
echo "✅ treeland installation package created"
|
||||
|
||||
ls -la /tmp/treeland-archlinux-*.zip
|
||||
|
||||
- name: Upload treeland ArchLinux build artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: treeland-archlinux-build
|
||||
path: "/tmp/treeland-archlinux-*.zip"
|
||||
if-no-files-found: error
|
||||
retention-days: 30
|
||||
|
|
@ -0,0 +1,100 @@
|
|||
name: Build waylib on Arch Linux (independent)
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'waylib/**'
|
||||
- 'qwlroots/**'
|
||||
- '.github/workflows/waylib-archlinux-build.yml'
|
||||
|
||||
pull_request:
|
||||
paths:
|
||||
- 'waylib/**'
|
||||
- 'qwlroots/**'
|
||||
- '.github/workflows/waylib-archlinux-build.yml'
|
||||
|
||||
jobs:
|
||||
container:
|
||||
runs-on: ubuntu-latest
|
||||
container: archlinux:latest
|
||||
steps:
|
||||
- name: Run in container
|
||||
run: |
|
||||
cat /etc/pacman.d/mirrorlist
|
||||
pacman-key --init
|
||||
pacman --noconfirm --noprogressbar -Syu
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pacman -Syu --noconfirm --noprogressbar base-devel qt6-base qt6-declarative cmake pkgconfig pixman vulkan-headers wlroots0.19 wayland-protocols wlr-protocols git
|
||||
pacman -Syu --noconfirm --noprogressbar clang ninja make
|
||||
pacman -Syu --noconfirm --noprogressbar fakeroot meson sudo
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
|
||||
- name: Create qwlroots symlink for waylib
|
||||
run: |
|
||||
cd waylib
|
||||
ln -sf ../qwlroots qwlroots
|
||||
echo "✅ Created symlink: waylib/qwlroots -> ../qwlroots"
|
||||
ls -la qwlroots
|
||||
|
||||
- name: Configure and Build waylib with ci preset
|
||||
working-directory: waylib
|
||||
run: |
|
||||
echo "Working directory:" $PWD
|
||||
cmake --preset ci -DWITH_SUBMODULE_QWLROOTS=ON
|
||||
cmake --build --preset ci
|
||||
|
||||
- name: Install waylib to staging directory
|
||||
working-directory: waylib
|
||||
run: |
|
||||
echo "Installing waylib to staging directory..."
|
||||
mkdir -p /tmp/waylib-install
|
||||
DESTDIR=/tmp/waylib-install cmake --install build
|
||||
echo "✅ waylib installed to staging directory"
|
||||
|
||||
echo "Installed files:"
|
||||
find /tmp/waylib-install -type f | head -20
|
||||
echo "Total files installed: $(find /tmp/waylib-install -type f | wc -l)"
|
||||
|
||||
- name: Create waylib installation package
|
||||
run: |
|
||||
cd /tmp/waylib-install
|
||||
|
||||
# Install zip if not available
|
||||
pacman -Syu --noconfirm zip
|
||||
|
||||
# Create package info
|
||||
echo "Creating package info..."
|
||||
cat > PACKAGE_INFO.txt << EOF
|
||||
Package: waylib-archlinux-build
|
||||
Version: $(date +%Y%m%d-%H%M%S)
|
||||
Architecture: x86_64
|
||||
Built-on: Arch Linux
|
||||
Built-with: qwlroots submodule enabled
|
||||
CMake-Config: -DWITH_SUBMODULE_QWLROOTS=ON
|
||||
|
||||
Installation Instructions:
|
||||
1. Extract this package to /
|
||||
2. Run: sudo ldconfig (if libraries are included)
|
||||
3. Ensure dependencies are installed on target system
|
||||
|
||||
Files included in this package:
|
||||
EOF
|
||||
find . -type f | sort >> PACKAGE_INFO.txt
|
||||
|
||||
# Create the zip package
|
||||
zip -r /tmp/waylib-archlinux-$(date +%Y%m%d-%H%M%S).zip .
|
||||
echo "✅ waylib installation package created"
|
||||
|
||||
ls -la /tmp/waylib-archlinux-*.zip
|
||||
|
||||
- name: Upload waylib ArchLinux build artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: waylib-archlinux-build
|
||||
path: "/tmp/waylib-archlinux-*.zip"
|
||||
if-no-files-found: error
|
||||
retention-days: 30
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
name: Build waylib on Debian unstable (independent)
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- 'waylib/**'
|
||||
- 'qwlroots/**'
|
||||
- '.github/workflows/waylib-debian-build.yml'
|
||||
|
||||
pull_request:
|
||||
paths:
|
||||
- 'waylib/**'
|
||||
- 'qwlroots/**'
|
||||
- '.github/workflows/waylib-debian-build.yml'
|
||||
|
||||
jobs:
|
||||
container:
|
||||
runs-on: ubuntu-latest
|
||||
container: debian:unstable
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Build qwlroots first
|
||||
working-directory: qwlroots
|
||||
run: |
|
||||
# Configure apt sources for unstable
|
||||
echo "deb http://deb.debian.org/debian unstable main" > /etc/apt/sources.list
|
||||
echo "deb http://deb.debian.org/debian sid main" >> /etc/apt/sources.list
|
||||
|
||||
apt-get update
|
||||
apt-get install -y devscripts equivs
|
||||
|
||||
# Add deepin community repository to install wlr-protocols
|
||||
echo "deb [trusted=yes] https://community-packages.deepin.com/beige/ crimson main commercial community" > /etc/apt/sources.list.d/deepin-community.list
|
||||
|
||||
# Update package lists (ignore signature errors for this temporary repo)
|
||||
apt-get update --allow-unauthenticated
|
||||
|
||||
# Install wlr-protocols package directly
|
||||
apt-get install -y --allow-unauthenticated wlr-protocols
|
||||
# Remove deepin repository to avoid system pollution
|
||||
rm -f /etc/apt/sources.list.d/deepin-community.list
|
||||
apt-get update
|
||||
|
||||
# Install other build dependencies for qwlroots
|
||||
mk-build-deps --install --remove --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
|
||||
|
||||
# Build qwlroots deb package
|
||||
dpkg-buildpackage -uc -us -b
|
||||
echo "✅ qwlroots deb package built successfully!"
|
||||
ls -la ../*.deb
|
||||
|
||||
- name: Install qwlroots deb package
|
||||
run: |
|
||||
# Install the built qwlroots package
|
||||
dpkg -i qwlroots*.deb || apt-get install -f -y
|
||||
echo "✅ qwlroots package installed!"
|
||||
|
||||
- name: Build waylib deb package
|
||||
working-directory: waylib
|
||||
run: |
|
||||
# Install remaining build dependencies for waylib
|
||||
apt-get install -y devscripts equivs
|
||||
|
||||
# Install waylib build dependencies (qwlroots is now available from the installed deb)
|
||||
mk-build-deps --install --remove --tool='apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends --yes' debian/control
|
||||
|
||||
# Build waylib with submodule disabled (use system qwlroots)
|
||||
# Modify debian/rules to disable submodule
|
||||
sed -i 's/-DCMAKE_INSTALL_PREFIX=\/usr/-DCMAKE_INSTALL_PREFIX=\/usr -DWITH_SUBMODULE_QWLROOTS=OFF/' debian/rules
|
||||
echo "Modified debian/rules to disable qwlroots submodule:"
|
||||
cat debian/rules
|
||||
|
||||
dpkg-buildpackage -uc -us -b
|
||||
echo "✅ waylib deb package built successfully!"
|
||||
ls -la ../*.deb
|
||||
|
||||
- name: Upload waylib deb packages as artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: waylib-deb-packages
|
||||
path: "*.deb"
|
||||
if-no-files-found: error
|
||||
retention-days: 30
|
||||
|
|
@ -1,9 +1,24 @@
|
|||
.vscode/
|
||||
.cache/
|
||||
build/
|
||||
build*/
|
||||
.qtcreator/
|
||||
|
||||
*.user
|
||||
|
||||
# Compiled Object files
|
||||
*.slo
|
||||
*.lo
|
||||
*.o
|
||||
|
||||
# Compiled Dynamic libraries
|
||||
*.so
|
||||
*.dylib
|
||||
|
||||
# Compiled Static libraries
|
||||
*.lai
|
||||
*.la
|
||||
*.a
|
||||
|
||||
# nix
|
||||
.direnv/
|
||||
result
|
||||
|
|
@ -12,6 +27,30 @@ result-*
|
|||
# clangd
|
||||
compile_commands.json
|
||||
|
||||
# executeable files
|
||||
*.qm
|
||||
|
||||
# cmake
|
||||
CMakeLists.txt.user
|
||||
|
||||
#ccls
|
||||
.ccls-cache
|
||||
|
||||
# qtcreator
|
||||
*.autosave
|
||||
|
||||
.qmlls.ini
|
||||
|
||||
# dpkg-buildpackage
|
||||
debian/.debhelper/
|
||||
debian/tmp/
|
||||
debian/treeland*/
|
||||
debian/debhelper-build-stamp
|
||||
debian/files
|
||||
debian/*.substvars
|
||||
debian/*.debhelper.log
|
||||
obj-*-linux-gnu/
|
||||
|
||||
# ai
|
||||
.cursor
|
||||
.specstory
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
[submodule "waylib"]
|
||||
path = waylib
|
||||
url = https://github.com/vioken/waylib
|
||||
176
.reuse/dep5
|
|
@ -1,176 +0,0 @@
|
|||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: treeland
|
||||
Source: https://github.com/vioken/treeland
|
||||
|
||||
# ci
|
||||
Files: .github/* .obs/*.yml
|
||||
Copyright: None
|
||||
License: CC0-1.0
|
||||
|
||||
# config
|
||||
Files: .clang-format
|
||||
*.frag
|
||||
*.ui
|
||||
*.vert
|
||||
**/qmldir
|
||||
Copyright: None
|
||||
License: CC0-1.0
|
||||
|
||||
# debian rpm archlinux
|
||||
Files: debian/* rpm/* archlinux/*
|
||||
Copyright: None
|
||||
License: CC0-1.0
|
||||
|
||||
# Nix Develop files
|
||||
Files: *.nix .envrc flake.lock renovate.json
|
||||
Copyright: None
|
||||
License: CC0-1.0
|
||||
|
||||
# docs
|
||||
Files: docs/*
|
||||
Copyright: None
|
||||
License: CC0-1.0
|
||||
|
||||
# translation
|
||||
Files: translations/* po/* **/*.qm **/*.ts
|
||||
Copyright: vioken
|
||||
License: GPL-2.0-only
|
||||
|
||||
# png svg
|
||||
Files: **/*.svg **/*.png **/*.dci **/*.gif logo.png
|
||||
Copyright: vioken
|
||||
License: CC0-1.0
|
||||
|
||||
# xml toml json conf yaml ...
|
||||
Files: **/*.json
|
||||
**/*.service
|
||||
**/*.txt
|
||||
**/*.sh
|
||||
**/*.html
|
||||
**/conf
|
||||
.gitignore
|
||||
.gitmodules
|
||||
INSTALL.md
|
||||
**/*.desktop
|
||||
**/*.css
|
||||
**/*.ttf
|
||||
*.conf
|
||||
**/*.xml
|
||||
.release.json
|
||||
**/*.in
|
||||
Copyright: None
|
||||
License: CC0-1.0
|
||||
|
||||
# README and changelog
|
||||
Files: **/*.md
|
||||
README.md
|
||||
README.zh_CN.md
|
||||
CONTRIBUTING.md
|
||||
ChangeLog
|
||||
CONTRIBUTORS
|
||||
Copyright: UnionTech Software Technology Co., Ltd.
|
||||
License: CC-BY-4.0
|
||||
|
||||
# Project file
|
||||
Files: **/*.cmake
|
||||
**/CMakeLists.txt
|
||||
*.in *.qrc
|
||||
CMakeLists.txt
|
||||
data/*
|
||||
services/*
|
||||
releng/create_changelog.pl
|
||||
Copyright: None
|
||||
License: GPL-2.0-only
|
||||
|
||||
# test
|
||||
Files: test/*
|
||||
Copyright: None
|
||||
License: GPL-2.0-only
|
||||
|
||||
# SDDM license
|
||||
Files:
|
||||
releng/prepare-relnotes
|
||||
src/auth/Auth.cpp
|
||||
src/auth/Auth.h
|
||||
src/auth/AuthMessages.h
|
||||
src/auth/AuthPrompt.cpp
|
||||
src/auth/AuthPrompt.h
|
||||
src/auth/AuthRequest.cpp
|
||||
src/auth/AuthRequest.h
|
||||
src/common/ConfigReader.cpp
|
||||
src/common/ConfigReader.h
|
||||
src/common/Configuration.cpp
|
||||
src/common/Configuration.h
|
||||
src/common/MessageHandler.h
|
||||
src/common/Messages.h
|
||||
src/common/SafeDataStream.cpp
|
||||
src/common/SafeDataStream.h
|
||||
src/common/Session.cpp
|
||||
src/common/Session.h
|
||||
src/common/SignalHandler.cpp
|
||||
src/common/SignalHandler.h
|
||||
src/common/SocketWriter.cpp
|
||||
src/common/SocketWriter.h
|
||||
src/common/ThemeConfig.cpp
|
||||
src/common/ThemeConfig.h
|
||||
src/common/ThemeMetadata.cpp
|
||||
src/common/ThemeMetadata.h
|
||||
src/common/VirtualTerminal.cpp
|
||||
src/common/VirtualTerminal.h
|
||||
src/common/XAuth.cpp
|
||||
src/common/XAuth.h
|
||||
src/daemon/DaemonApp.cpp
|
||||
src/daemon/DaemonApp.h
|
||||
src/daemon/Display.cpp
|
||||
src/daemon/Display.h
|
||||
src/daemon/DisplayManager.cpp
|
||||
src/daemon/DisplayManager.h
|
||||
src/daemon/DisplayServer.cpp
|
||||
src/daemon/DisplayServer.h
|
||||
src/daemon/Greeter.cpp
|
||||
src/daemon/Greeter.h
|
||||
src/daemon/PowerManager.cpp
|
||||
src/daemon/PowerManager.h
|
||||
src/daemon/Seat.cpp
|
||||
src/daemon/Seat.h
|
||||
src/daemon/SeatManager.cpp
|
||||
src/daemon/SeatManager.h
|
||||
src/daemon/SocketServer.cpp
|
||||
src/daemon/SocketServer.h
|
||||
src/daemon/Utils.h
|
||||
src/daemon/WaylandDisplayServer.cpp
|
||||
src/daemon/WaylandDisplayServer.h
|
||||
src/daemon/XorgDisplayServer.cpp
|
||||
src/daemon/XorgDisplayServer.h
|
||||
src/daemon/XorgUserDisplayServer.cpp
|
||||
src/daemon/XorgUserDisplayServer.h
|
||||
src/greeter/GreeterApp.h
|
||||
src/greeter/GreeterProxy.cpp
|
||||
src/greeter/GreeterProxy.h
|
||||
src/greeter/SessionModel.cpp
|
||||
src/greeter/SessionModel.h
|
||||
src/greeter/UserModel.cpp
|
||||
src/greeter/UserModel.h
|
||||
src/helper/Backend.cpp
|
||||
src/helper/Backend.h
|
||||
src/helper/HelperApp.cpp
|
||||
src/helper/HelperApp.h
|
||||
src/helper/HelperStartWayland.cpp
|
||||
src/helper/HelperStartX11User.cpp
|
||||
src/helper/UserSession.cpp
|
||||
src/helper/UserSession.h
|
||||
src/helper/backend/PamBackend.cpp
|
||||
src/helper/backend/PamBackend.h
|
||||
src/helper/backend/PamHandle.cpp
|
||||
src/helper/backend/PamHandle.h
|
||||
src/helper/waylandhelper.cpp
|
||||
src/helper/waylandhelper.h
|
||||
src/helper/waylandsocketwatcher.cpp
|
||||
src/helper/waylandsocketwatcher.h
|
||||
src/helper/xorguserhelper.cpp
|
||||
src/helper/xorguserhelper.h
|
||||
src/common/LogindDBusTypes.cpp
|
||||
src/common/LogindDBusTypes.h
|
||||
src/greeter/GreeterApp.cpp
|
||||
Copyright: None
|
||||
License: GPL-2.0-only
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
[o:linuxdeepin:p:treeland:r:f56f82288bfe7a231b1be25f7b0cb008]
|
||||
file_filter = translations/treeland.<lang>.ts
|
||||
source_file = translations/treeland.en_US.ts
|
||||
source_lang = en_US
|
||||
type = QT
|
||||
|
||||
[o:linuxdeepin:p:treeland:r:b675317802ed042606e0660179b6b04f]
|
||||
file_filter = src/plugins/lockscreen/translations/lockscreen.<lang>.ts
|
||||
source_file = src/plugins/lockscreen/translations/lockscreen.en_US.ts
|
||||
source_lang = en_US
|
||||
type = QT
|
||||
|
||||
[o:linuxdeepin:p:treeland:r:7309e9da01b4b7fbf5c2ac9c2a2d23a6]
|
||||
file_filter = src/plugins/multitaskview/translations/multitaskview.<lang>.ts
|
||||
source_file = src/plugins/multitaskview/translations/multitaskview.en_US.ts
|
||||
source_lang = en_US
|
||||
type = QT
|
||||
|
||||
[o:linuxdeepin:p:treeland:r:1eff66bc82bf8f288b9c56e8c724ea20]
|
||||
file_filter = examples/test_set_treeland_wallpaper/translations/wallpaper.<lang>.ts
|
||||
source_file = examples/test_set_treeland_wallpaper/translations/wallpaper.en_US.ts
|
||||
source_lang = en_US
|
||||
type = QT
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
filters:
|
||||
- filter_type: file
|
||||
source_file: translations/treeland.en_US.ts
|
||||
file_format: QT
|
||||
source_language: en_US
|
||||
translation_files_expression: translations/treeland.<lang>.ts
|
||||
- filter_type: file
|
||||
source_file: src/plugins/lockscreen/translations/lockscreen.en_US.ts
|
||||
file_format: QT
|
||||
source_language: en_US
|
||||
translation_files_expression: src/plugins/lockscreen/translations/lockscreen.<lang>.ts
|
||||
- filter_type: file
|
||||
source_file: src/plugins/multitaskview/translations/multitaskview.en_US.ts
|
||||
file_format: QT
|
||||
source_language: en_US
|
||||
translation_files_expression: src/plugins/multitaskview/translations/multitaskview.<lang>.ts
|
||||
- filter_type: file
|
||||
source_file: examples/test_set_treeland_wallpaper/translations/wallpaper.en_US.ts
|
||||
file_format: QT
|
||||
source_language: en_US
|
||||
translation_files_expression: examples/test_set_treeland_wallpaper/translations/wallpaper.<lang>.ts
|
||||
settings:
|
||||
pr_branch_name: transifex_update_<br_unique_id>
|
||||
291
CMakeLists.txt
|
|
@ -1,242 +1,123 @@
|
|||
cmake_minimum_required(VERSION 3.25.0)
|
||||
|
||||
project(DDM
|
||||
VERSION 0.0.1
|
||||
project(Treeland
|
||||
VERSION 0.7.0
|
||||
LANGUAGES CXX C)
|
||||
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
set(CMAKE_AUTOMOC ON)
|
||||
set(CMAKE_AUTORCC ON)
|
||||
SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
|
||||
# Set version
|
||||
set(SDDM_VERSION_MAJOR 0)
|
||||
set(SDDM_VERSION_MINOR 20)
|
||||
set(SDDM_VERSION_PATCH 0)
|
||||
set(SDDM_VERSION_STRING "${SDDM_VERSION_MAJOR}.${SDDM_VERSION_MINOR}.${SDDM_VERSION_PATCH}")
|
||||
add_compile_definitions("SDDM_VERSION=\"${SDDM_VERSION_STRING}\"")
|
||||
|
||||
# Options
|
||||
option(BUILD_MAN_PAGES "Build man pages" OFF)
|
||||
option(ENABLE_JOURNALD "Enable logging to journald" ON)
|
||||
option(NO_SYSTEMD "Disable systemd support" OFF)
|
||||
option(USE_ELOGIND "Use elogind instead of logind" OFF)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
option(WITH_SUBMODULE_WAYLIB "Use the waylib from git submodule" OFF)
|
||||
# Standard installation paths
|
||||
include(GNUInstallDirs)
|
||||
# Macros
|
||||
include(FeatureSummary)
|
||||
|
||||
include(cmake/DefineTarget.cmake)
|
||||
|
||||
option(WITH_SUBMODULE_WAYLIB "Use the waylib from git submodule" ON)
|
||||
add_feature_info(submodule_waylib WITH_SUBMODULE_WAYLIB "Use waylib from submodule")
|
||||
|
||||
option(ADDRESS_SANITIZER "Enable address sanitizer" OFF)
|
||||
add_feature_info(ASanSupport ADDRESS_SANITIZER "https://github.com/google/sanitizers/wiki/AddressSanitizer")
|
||||
|
||||
option(BUILD_TREELAND_EXAMPLES "Build clients demo to test treeland" OFF)
|
||||
add_feature_info(DemoClents BUILD_TEST_CLIENTS "clients demo for testing")
|
||||
|
||||
option(DISABLE_DDM "Disable DDM and greeter" OFF)
|
||||
|
||||
if (DISABLE_DDM)
|
||||
add_compile_definitions("DISABLE_DDM")
|
||||
endif()
|
||||
|
||||
# Alternative lock mechanism: Wayland ext-session-lock
|
||||
option(EXT_SESSION_LOCK_V1 "Enable Wayland ext-session-lock support (alternative to DDM)" ON)
|
||||
add_feature_info(ext_session_lock_v1 EXT_SESSION_LOCK_V1 "Enable ext-session-lock-v1 protocol support in Treeland")
|
||||
|
||||
if (EXT_SESSION_LOCK_V1)
|
||||
add_compile_definitions("EXT_SESSION_LOCK_V1")
|
||||
endif()
|
||||
# Heads-up if both are enabled: ext-session-lock is intended as an alternative to DDM
|
||||
if (NOT EXT_SESSION_LOCK_V1 AND DISABLE_DDM)
|
||||
message(WARNING "no ext-session-lock support and no DDM, treeland will not have session locking ability.")
|
||||
endif()
|
||||
|
||||
if (ADDRESS_SANITIZER)
|
||||
add_compile_options(-fsanitize=address -fno-optimize-sibling-calls -fno-omit-frame-pointer)
|
||||
add_link_options(-fsanitize=address)
|
||||
endif()
|
||||
# NOTE: Qt keywords conflict with wlroots. but dtksystemsettings still uses it.
|
||||
# add_definitions("-DQT_NO_KEYWORDS")
|
||||
|
||||
# NOTE: Enable Qt logging with context.
|
||||
add_definitions("-DQT_MESSAGELOGCONTEXT")
|
||||
|
||||
set(LOCAL_QML_IMPORT_PATH "${PROJECT_BINARY_DIR}/qt/qml")
|
||||
|
||||
if(WITH_SUBMODULE_WAYLIB)
|
||||
set(WITH_SUBMODULE_QWLROOTS ON)
|
||||
include(${CMAKE_CURRENT_SOURCE_DIR}/qwlroots/cmake/WaylandScannerHelpers.cmake)
|
||||
add_subdirectory(waylib)
|
||||
message("Using waylib from submodule")
|
||||
list(APPEND LOCAL_QML_IMPORT_PATH "${PROJECT_BINARY_DIR}/waylib/src/server")
|
||||
else()
|
||||
find_package(Waylib REQUIRED Server)
|
||||
endif()
|
||||
|
||||
# ECM
|
||||
find_package(ECM 1.4.0 REQUIRED NO_MODULE)
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake;${CMAKE_MODULE_PATH};${ECM_MODULE_PATH}")
|
||||
|
||||
# Definitions
|
||||
add_definitions(-Wall -Wextra)
|
||||
|
||||
# Default build type
|
||||
if(NOT CMAKE_BUILD_TYPE)
|
||||
set(CMAKE_BUILD_TYPE Release)
|
||||
endif()
|
||||
|
||||
# Handle build type
|
||||
if(CMAKE_BUILD_TYPE MATCHES [Dd]ebug)
|
||||
message(STATUS "Debug build")
|
||||
add_definitions(-DDEBUG)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0")
|
||||
else()
|
||||
message(STATUS "Release build")
|
||||
add_definitions(-DNDEBUG)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2")
|
||||
endif()
|
||||
|
||||
# Default absolute paths
|
||||
if(NOT DEFINED CMAKE_INSTALL_SYSCONFDIR)
|
||||
set(CMAKE_INSTALL_SYSCONFDIR "/etc")
|
||||
endif()
|
||||
if(NOT DEFINED CMAKE_INSTALL_LOCALSTATEDIR)
|
||||
set(CMAKE_INSTALL_LOCALSTATEDIR "/var")
|
||||
endif()
|
||||
|
||||
# Standard installation paths
|
||||
include(GNUInstallDirs)
|
||||
|
||||
# Macros
|
||||
include(FeatureSummary)
|
||||
set(QML_IMPORT_PATH "${LOCAL_QML_IMPORT_PATH}" CACHE STRING "For LSP" FORCE)
|
||||
|
||||
# PKG-CONFIG
|
||||
find_package(PkgConfig)
|
||||
|
||||
# PAM
|
||||
find_package(PAM REQUIRED)
|
||||
|
||||
# XAU
|
||||
pkg_check_modules(LIBXAU REQUIRED "xau")
|
||||
|
||||
# XCB
|
||||
find_package(XCB REQUIRED)
|
||||
|
||||
# XKB
|
||||
find_package(XKB REQUIRED)
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
find_package(Qt6 CONFIG REQUIRED Core DBus Gui Qml Quick QuickControls2 LinguistTools Test QuickTest)
|
||||
qt_standard_project_setup(REQUIRES 6.4)
|
||||
|
||||
# Uninstall target
|
||||
if ("${ECM_VERSION}" VERSION_LESS "1.7.0")
|
||||
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
|
||||
IMMEDIATE @ONLY)
|
||||
add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
|
||||
endif()
|
||||
|
||||
# systemd
|
||||
if(NOT NO_SYSTEMD AND NOT USE_ELOGIND)
|
||||
pkg_check_modules(SYSTEMD "systemd")
|
||||
endif()
|
||||
|
||||
if(SYSTEMD_FOUND)
|
||||
add_definitions(-DHAVE_SYSTEMD)
|
||||
set(CMAKE_AUTOMOC_MOC_OPTIONS -DHAVE_SYSTEMD)
|
||||
|
||||
# libsystemd-journal was merged into libsystemd in 209
|
||||
if(${SYSTEMD_VERSION} VERSION_LESS 209)
|
||||
pkg_check_modules(JOURNALD "libsystemd-journal")
|
||||
else()
|
||||
pkg_check_modules(JOURNALD "libsystemd")
|
||||
endif()
|
||||
|
||||
if(ENABLE_JOURNALD)
|
||||
if(JOURNALD_FOUND)
|
||||
add_definitions(-DHAVE_JOURNALD)
|
||||
set(CMAKE_AUTOMOC_MOC_OPTIONS -DHAVE_JOURNALD)
|
||||
else()
|
||||
message(WARNING "Disable journald support for lack of libsystemd-journal")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED SYSTEMD_SYSTEM_UNIT_DIR)
|
||||
pkg_get_variable(SYSTEMD_SYSTEM_UNIT_DIR systemd systemdsystemunitdir)
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED SYSTEMD_SYSUSERS_DIR)
|
||||
pkg_get_variable(SYSTEMD_SYSUSERS_DIR systemd sysusersdir)
|
||||
endif()
|
||||
|
||||
if (NOT DEFINED SYSTEMD_TMPFILES_DIR)
|
||||
pkg_get_variable(SYSTEMD_TMPFILES_DIR systemd tmpfilesdir)
|
||||
endif()
|
||||
|
||||
set(HALT_COMMAND "/usr/bin/systemctl poweroff")
|
||||
set(REBOOT_COMMAND "/usr/bin/systemctl reboot")
|
||||
else()
|
||||
set(SYSTEMD_FOUND 0)
|
||||
endif()
|
||||
add_feature_info("systemd" SYSTEMD_FOUND "systemd support")
|
||||
add_feature_info("journald" JOURNALD_FOUND "journald support")
|
||||
|
||||
# elogind
|
||||
if(NO_SYSTEMD AND USE_ELOGIND)
|
||||
pkg_check_modules(ELOGIND "libelogind")
|
||||
endif()
|
||||
|
||||
if(ELOGIND_FOUND)
|
||||
add_definitions(-DHAVE_ELOGIND)
|
||||
set(CMAKE_AUTOMOC_MOC_OPTIONS -DHAVE_ELOGIND)
|
||||
|
||||
set(HALT_COMMAND "/usr/bin/loginctl poweroff")
|
||||
set(REBOOT_COMMAND "/usr/bin/loginctl reboot")
|
||||
endif()
|
||||
add_feature_info("elogind" ELOGIND_FOUND "elogind support")
|
||||
|
||||
# Default behaviour if neither systemd nor elogind is used
|
||||
if (NOT ELOGIND_FOUND AND NOT SYSTEMD_FOUND)
|
||||
# Set the VT on which ddm will normally appear, and the
|
||||
# commands for shutdown and reboot. On FreeBSD, there are
|
||||
# normally more getty's running than on Linux.
|
||||
if("${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
|
||||
set(HALT_COMMAND "/sbin/shutdown -p now")
|
||||
else()
|
||||
set(HALT_COMMAND "/sbin/shutdown -h -P now")
|
||||
endif()
|
||||
set(REBOOT_COMMAND "/sbin/shutdown -r now")
|
||||
endif()
|
||||
|
||||
if (SYSTEMD_FOUND)
|
||||
set(RUNTIME_DIR_DEFAULT "/run/ddm")
|
||||
else()
|
||||
set(RUNTIME_DIR_DEFAULT "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/run/ddm")
|
||||
endif()
|
||||
pkg_check_modules(WLROOTS REQUIRED IMPORTED_TARGET wlroots-0.19)
|
||||
|
||||
qt_standard_project_setup(REQUIRES 6.8)
|
||||
|
||||
# Set constants
|
||||
set(DATA_INSTALL_DIR "${CMAKE_INSTALL_FULL_DATADIR}/ddm" CACHE PATH "System application data install directory")
|
||||
set(DBUS_CONFIG_DIR "${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d" CACHE PATH "DBus config files directory")
|
||||
set(STATE_DIR "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/lib/ddm" CACHE PATH "State directory")
|
||||
set(RUNTIME_DIR "${RUNTIME_DIR_DEFAULT}" CACHE PATH "Runtime data storage directory")
|
||||
set(QML_INSTALL_DIR "${QT_IMPORTS_DIR}" CACHE PATH "QML component installation directory")
|
||||
set(TREELAND_DATA_DIR "${CMAKE_INSTALL_DATADIR}/treeland/" CACHE PATH "treeland data install directory")
|
||||
set(TREELAND_COMPONENTS_TRANSLATION_DIR "${TREELAND_DATA_DIR}/translations" CACHE PATH "Components translations directory")
|
||||
set(TREELAND_PLUGINS_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib/plugins" CACHE PATH "treeland plugins output directory")
|
||||
set(TREELAND_PLUGINS_INSTALL_PATH "${CMAKE_INSTALL_LIBDIR}/treeland/plugins" CACHE PATH "treeland plugins install directory")
|
||||
|
||||
set(SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/Xsession" CACHE PATH "Script to execute when starting the X11 desktop session")
|
||||
set(WAYLAND_SESSION_COMMAND "${DATA_INSTALL_DIR}/scripts/wayland-session" CACHE PATH "Script to execute when starting the Wayland desktop session")
|
||||
GNUInstallDirs_get_absolute_install_dir(
|
||||
TREELAND_FULL_DATA_DIR
|
||||
TREELAND_DATA_DIR
|
||||
DATADIR
|
||||
)
|
||||
|
||||
set(CONFIG_FILE "${CMAKE_INSTALL_FULL_SYSCONFDIR}/ddm.conf" CACHE PATH "Path of the ddm config file")
|
||||
set(CONFIG_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/ddm.conf.d" CACHE PATH "Path of the ddm config directory")
|
||||
set(ACCOUNTSSERVICE_DATA_DIR "/var/lib/AccountsService" CACHE PATH "Path of the accountsservice data directory")
|
||||
set(SYSTEM_CONFIG_DIR "${CMAKE_INSTALL_PREFIX}/lib/ddm/ddm.conf.d" CACHE PATH "Path of the system ddm config directory")
|
||||
set(LOG_FILE "${CMAKE_INSTALL_FULL_LOCALSTATEDIR}/log/ddm.log" CACHE PATH "Path of the ddm log file")
|
||||
set(DBUS_CONFIG_FILENAME "org.freedesktop.DisplayManager.conf" CACHE STRING "Name of the ddm config file")
|
||||
set(COMPONENTS_TRANSLATION_DIR "${DATA_INSTALL_DIR}/translations" CACHE PATH "Components translations directory")
|
||||
set(SDDM_INITIAL_VT "1" CACHE STRING "Initial tty to use")
|
||||
GNUInstallDirs_get_absolute_install_dir(
|
||||
TREELAND_FULL_PLUGINS_INSTALL_PATH
|
||||
TREELAND_PLUGINS_INSTALL_PATH
|
||||
LIBDIR
|
||||
)
|
||||
|
||||
GNUInstallDirs_get_absolute_install_dir(
|
||||
TREELAND_FULL_COMPONENTS_TRANSLATION_DIR
|
||||
TREELAND_COMPONENTS_TRANSLATION_DIR
|
||||
DATADIR
|
||||
)
|
||||
|
||||
# Autodetect UID_MIN and UID_MAX from /etc/login.defs
|
||||
if(NOT DEFINED LOGIN_DEFS_PATH)
|
||||
set(LOGIN_DEFS_PATH "/etc/login.defs" CACHE PATH "Path to login.defs")
|
||||
endif()
|
||||
add_compile_definitions("TREELAND_DATA_DIR=\"${TREELAND_FULL_DATA_DIR}\"")
|
||||
# NOTE:: remove force assert before stable version
|
||||
add_compile_definitions("QT_FORCE_ASSERTS")
|
||||
|
||||
if(NOT EXISTS "${LOGIN_DEFS_PATH}" AND NOT DEFINED UID_MIN AND NOT DEFINED UID_MAX)
|
||||
message(FATAL_ERROR "Could not find login.defs at ${LOGIN_DEFS_PATH}. Try -DLOGIN_DEFS_PATH.")
|
||||
endif()
|
||||
add_compile_definitions("TREELAND_PLUGINS_INSTALL_PATH=\"${TREELAND_FULL_PLUGINS_INSTALL_PATH}\"")
|
||||
add_compile_definitions("TREELAND_PLUGINS_OUTPUT_PATH=\"${TREELAND_PLUGINS_OUTPUT_PATH}\"")
|
||||
|
||||
if(NOT DEFINED UID_MIN)
|
||||
file(STRINGS "${LOGIN_DEFS_PATH}" UID_MIN LIMIT_COUNT 1 REGEX "^UID_MIN")
|
||||
string(REGEX REPLACE "^UID_MIN[\t ]+([0-9]+)" "\\1" UID_MIN "${UID_MIN}")
|
||||
if(NOT UID_MIN MATCHES "[0-9]+")
|
||||
message(WARNING "Could not detect a valid UID_MIN (got '${UID_MIN}'). You should review your login.defs file.")
|
||||
set(UID_MIN 1000)
|
||||
else()
|
||||
message(STATUS "Autodetected UID_MIN=${UID_MIN} from ${LOGIN_DEFS_PATH}")
|
||||
endif()
|
||||
endif()
|
||||
add_compile_definitions("TREELAND_COMPONENTS_TRANSLATION_DIR=\"${TREELAND_FULL_COMPONENTS_TRANSLATION_DIR}\"")
|
||||
|
||||
if(NOT DEFINED UID_MAX)
|
||||
file(STRINGS "${LOGIN_DEFS_PATH}" UID_MAX LIMIT_COUNT 1 REGEX "^UID_MAX")
|
||||
string(REGEX REPLACE "^UID_MAX[\t ]+([0-9]+)" "\\1" UID_MAX "${UID_MAX}")
|
||||
if(NOT UID_MAX MATCHES "[0-9]+")
|
||||
message(WARNING "Could not detect a valid UID_MAX (got '${UID_MAX}'). You should review your login.defs file.")
|
||||
set(UID_MAX 65000)
|
||||
else()
|
||||
message(STATUS "Autodetected UID_MAX=${UID_MAX} from ${LOGIN_DEFS_PATH}")
|
||||
endif()
|
||||
endif()
|
||||
set(PROJECT_RESOURCES_DIR "${CMAKE_SOURCE_DIR}/misc")
|
||||
|
||||
enable_testing(true)
|
||||
|
||||
# Add subdirectories
|
||||
add_subdirectory(data)
|
||||
add_subdirectory(services)
|
||||
add_subdirectory(src)
|
||||
add_subdirectory(misc)
|
||||
add_subdirectory(tests)
|
||||
|
||||
# enable_testing()
|
||||
# add_subdirectory(test)
|
||||
if (BUILD_TREELAND_EXAMPLES)
|
||||
add_subdirectory(examples)
|
||||
endif()
|
||||
|
||||
# Display feature summary
|
||||
feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,71 @@
|
|||
{
|
||||
"version": 6,
|
||||
"cmakeMinimumRequired": {
|
||||
"major": 3,
|
||||
"minor": 23,
|
||||
"patch": 0
|
||||
},
|
||||
"include": [],
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "default",
|
||||
"displayName": "Default Config",
|
||||
"description": "Default build using Ninja generator",
|
||||
"generator": "Ninja",
|
||||
"binaryDir": "${sourceDir}/build"
|
||||
},
|
||||
{
|
||||
"name": "clang",
|
||||
"displayName": "Default Config for clang",
|
||||
"description": "Default build using Ninja generator",
|
||||
"generator": "Ninja",
|
||||
"binaryDir": "${sourceDir}/build",
|
||||
"cacheVariables": {
|
||||
"CMAKE_C_COMPILER": "clang",
|
||||
"CMAKE_CXX_COMPILER": "clang++"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "ci",
|
||||
"displayName": "CI Build Config",
|
||||
"description": "Build configuration with warnings as errors",
|
||||
"generator": "Ninja",
|
||||
"binaryDir": "${sourceDir}/build",
|
||||
"cacheVariables": {
|
||||
"CMAKE_CXX_FLAGS": "-Wall -Wextra -Werror -Wno-stringop-overflow",
|
||||
"CMAKE_C_FLAGS": "-Wall -Wextra -Werror -Wno-stringop-overflow"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "deb",
|
||||
"displayName": "Debian Package Build Config",
|
||||
"description": "Build configuration for Debian packaging with examples enabled",
|
||||
"generator": "Ninja",
|
||||
"cacheVariables": {
|
||||
"CMAKE_C_COMPILER": "gcc",
|
||||
"CMAKE_CXX_COMPILER": "g++",
|
||||
"CMAKE_CXX_FLAGS": "-Wall -Wextra -Werror -Wno-stringop-overflow",
|
||||
"CMAKE_C_FLAGS": "-Wall -Wextra -Werror -Wno-stringop-overflow",
|
||||
"BUILD_TREELAND_EXAMPLES": "ON"
|
||||
}
|
||||
}
|
||||
],
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "default",
|
||||
"configurePreset": "default"
|
||||
},
|
||||
{
|
||||
"name": "clang",
|
||||
"configurePreset": "clang"
|
||||
},
|
||||
{
|
||||
"name": "ci",
|
||||
"configurePreset": "ci"
|
||||
},
|
||||
{
|
||||
"name": "deb",
|
||||
"configurePreset": "deb"
|
||||
}
|
||||
]
|
||||
}
|
||||
138
CONTRIBUTORS
|
|
@ -1,138 +0,0 @@
|
|||
This list contains list of contributors to the ddm. Names are sorted by number
|
||||
of commits at time of this writing. Commit data has been generated using:
|
||||
|
||||
git shortlog -s -e -n
|
||||
|
||||
Commit counts have ben removed, since they change pretty frequently. Some of the
|
||||
the committer names and email addresses have changed, so we use .mailmap file to
|
||||
merge them.
|
||||
|
||||
Abdurrahman AVCI <abdurrahmanavci@gmail.com>
|
||||
Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
||||
David Edmundson <kde@davidedmundson.co.uk>
|
||||
Nikita Mikhailov <nslqqq@gmail.com>
|
||||
Martin Briza <mbriza@redhat.com>
|
||||
Jerome Leclanche <jerome@leclan.ch>
|
||||
Fabian Vogt <fabian@ritter-vogt.de>
|
||||
AnAkkk <anakin.cs@gmail.com>
|
||||
Christopher Roy Bratusek <nano@tuxfamily.org>
|
||||
Andrea Scarpino <me@andreascarpino.it>
|
||||
Dāvis <davispuh@gmail.com>
|
||||
Kevin S.C. Decker <kevin.decker@fu-berlin.de>
|
||||
Reza Fatahilah Shah <rshah0385@kireihana.com>
|
||||
Aaron Seigo <aseigo@kde.org>
|
||||
Nathan Weber <supernathansunshine@gmail.com>
|
||||
Elias Probst <mail@eliasprobst.eu>
|
||||
Raphael Kubo da Costa <rakuco@FreeBSD.org>
|
||||
Richard Martin <radiosity@gmail.com>
|
||||
naund <naund@users.noreply.github.com>
|
||||
Leonardo <leonardo.guilherme@gmail.com>
|
||||
Sanjeev Premi <spremi@ymail.com>
|
||||
Kristoffer Grundström <kristoffer.grundstrom1983@gmail.com>
|
||||
Yury G. Kudryashov <urkud.urkud@gmail.com>
|
||||
Alberto Milone <alberto.milone@canonical.com>
|
||||
Andreas Müller <schnitzeltony@googlemail.com>
|
||||
Antonio Larrosa <larrosa@kde.org>
|
||||
Hendrik Lehmbruch <hlehmbruch@gmx.net>
|
||||
Isaque Galdino <igaldino@gmail.com>
|
||||
Kuzma Shapran <kuzma.shapran@gmail.com>
|
||||
Robert Antoni Buj Gelonch <robert.buj@gmail.com>
|
||||
Sven Eden <seden@havi.de>
|
||||
welaq <welaq@users.noreply.github.com>
|
||||
Albert Vaca <albertvaka@gmail.com>
|
||||
Aurélien COUDERC <zecoucou@free.fr>
|
||||
Florian Jacob <projects+git@florianjacob.de>
|
||||
František Zatloukal <Zatloukal.Frantisek@gmail.com>
|
||||
Gabriel Craciunescu <crazy@frugalware.org>
|
||||
Generator <american.jesus.pt@gmail.com>
|
||||
Guo Yunhe <guoyunhebrave@gmail.com>
|
||||
Jonathan Marten <jjm@keelhaul.me.uk>
|
||||
Jonathan Riddell <jr@jriddell.org>
|
||||
José Pedro Arvela <jparvela@gmail.com>
|
||||
Karl Ove Hufthammer <karl@huftis.org>
|
||||
Kevin Funk <kfunk@kde.org>
|
||||
Marcin Mikołajczak <me@m4sk.in>
|
||||
Matthew Dawson <matthew@mjdsystems.ca>
|
||||
Mika Kobayashi <mika@p4d.co.jp>
|
||||
Nick Shaforostoff <shafff@ukr.net>
|
||||
Nikolay Amiantov <ab@fmap.me>
|
||||
Palo Kisa <palo.kisa@gmail.com>
|
||||
Papoteur <yves.brungard_git@gadz.org>
|
||||
leuqarte <leuqarte@users.noreply.github.com>
|
||||
preisi <thomas.preisner@fau.de>
|
||||
raven700 <raven700@o2.pl>
|
||||
scootergrisen <scootergrisen@gmail.com>
|
||||
林博仁 <Buo.Ren.Lin@gmail.com>
|
||||
Alberto Luaces <aluaces@udc.es>
|
||||
Aleix Pol <aleixpol@kde.org>
|
||||
Aleksei Kovura <3616242+alex3kov@users.noreply.github.com>
|
||||
Alexander Potashev <aspotashev@gmail.com>
|
||||
Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
|
||||
Arthur Țițeică <arthur@psw.ro>
|
||||
B. Jacquot <bastien.jacquot@univ-reims.fr>
|
||||
Bastian Beischer <bastian.beischer@gmail.com>
|
||||
Baurzhan Muftakhidinov <baurthefirst@gmail.com>
|
||||
Benjamin Chrétien <chretien@lirmm.fr>
|
||||
Benjamin Robin <dev@benjarobin.fr>
|
||||
Benno Fünfstück <benno.fuenfstueck@gmail.com>
|
||||
Cherevan Andriy <cherevan.andriy@gmail.com>
|
||||
Cochise César <cochisecesar@gmail.com>
|
||||
David Heidelberger <david.heidelberger@ixit.cz>
|
||||
Eric Engestrom <eric@engestrom.ch>
|
||||
Eric Hameleers <alien@slackware.com>
|
||||
Eric Koegel <eric.koegel@gmail.com>
|
||||
Gabriel Martinez <reitaka@gmail.com>
|
||||
Harald Sitter <sitter@kde.org>
|
||||
HarveyMittens <teknocratdefunct@riseup.net>
|
||||
Ioannis Koutras <ioannis.koutras@gmail.com>
|
||||
Janik Rabe <janik-rabe@web.de>
|
||||
Jeff Huang <s8321414@chakralinux.org>
|
||||
Jeff Huang <s8321414@gmail.com>
|
||||
Jiachen Yang <farseerfc@gmail.com>
|
||||
Johannes Pointner <johannes.pointner@gmail.com>
|
||||
Jon Eyolfson <jon@eyl.io>
|
||||
Lasse Liehu <lasse.liehu@gmail.com>
|
||||
Ludger Krämer <dbluelle@blau-weissoedingen.de>
|
||||
Mads <mads@ab3.no>
|
||||
Mario Young <maye.co@gmail.com>
|
||||
Marius Bakke <mbakke@fastmail.com>
|
||||
Mathieu Jobin <mathieu@justbudget.com>
|
||||
Michal Petrucha <michal.petrucha@koniiiik.org>
|
||||
Mingye Wang <arthur200126@gmail.com>
|
||||
Mladen Pejaković <pejakm@autistici.org>
|
||||
Nathaniel Graham <pointedstick@zoho.com>
|
||||
Peter Wu <peter@lekensteyn.nl>
|
||||
Petr Vanek <petr@scribus.info>
|
||||
Péter Radics <mitchnull@gmail.com>
|
||||
Robert Antoni Buj Gelonch <rbuj@users.noreply.github.com>
|
||||
Robert Hoffmann <externer.dl.hoffmann@muenchen.de>
|
||||
Robert Xu <robxu9@gmail.com>
|
||||
Rohan Garg <rohan@kde.org>
|
||||
SafaAlfulaij <safaalfulaij@hotmail.com>
|
||||
Shinjo Park <peremen@gmail.com>
|
||||
Simon Clemente <simon_clemente@yahoo.com>
|
||||
Stany MARCEL <stanypub@gmail.com>
|
||||
Stefan Majewsky <majewsky@gmx.net>
|
||||
Steve Gerbino <steve@gerbino.co>
|
||||
Sérgio Marques <smarquespt@gmail.com>
|
||||
Takahiro Hashimoto <kenya888@gmail.com>
|
||||
Thomas Preisner <mail@tpreisner.de>
|
||||
Vincent43 <31109921+Vincent43@users.noreply.github.com>
|
||||
Volkan Gezer <wakeup@users.noreply.github.com>
|
||||
Volodymyr Medvid <vmmedvid@gmail.com>
|
||||
Weng Xuetian <wengxt@gmail.com>
|
||||
ZH <zhhhhz@zoho.com>
|
||||
Zach Ploskey <zach@ploskey.com>
|
||||
a.k.a. Harvey <teknocratdefunct@riseup.net>
|
||||
akmc <liudas@akmc.lt>
|
||||
alien999999999 <alien@rmail.be>
|
||||
k2s <martin.minka@gmail.com>
|
||||
m4sk1n <me@m4sk.in>
|
||||
mortein79 <mortein79@gmail.com>
|
||||
mscherer <misc@zarb.org>
|
||||
raffarti <raffarti@zoho.com>
|
||||
realsobek <liebundartig@freenet.de>
|
||||
rehejuhan <jyri2000@mail.ee>
|
||||
tesfabpel <tesfabpel@gmail.com>
|
||||
w41l <walecha99@gmail.com>
|
||||
林博仁(Buo-Ren Lin) <Buo.Ren.Lin@gmail.com>
|
||||
266
ChangeLog
|
|
@ -1,266 +0,0 @@
|
|||
## Legend
|
||||
---------
|
||||
+ New features
|
||||
- Bug fixes
|
||||
* Others
|
||||
|
||||
## 0.20.0 - 2023-06-23
|
||||
----------------------
|
||||
+ Initial Qt6 support (Will break themes which rely on Qt 5)
|
||||
+ **Experimental** support for running the greeter with Wayland
|
||||
+ Enable HiDPI scaling by default
|
||||
+ Support for running X11 display server without root privileges
|
||||
+ Greeter: Support setting environment variables
|
||||
+ Allow additional env vars to be defined in session files (#1370)
|
||||
+ Make accountsservice data directory overridable via CMake
|
||||
+ Add support for X11 cursor size configuration
|
||||
+ Search XDG Base Directories for session files
|
||||
+ Display information and errors from PAM in the greeter (#1486)
|
||||
* Remove the Passwd backend, make PAM mandatory
|
||||
* Bump minimum CMake version to 3.4
|
||||
* Introduce SDDM_INITIAL_VT as the TTY to reach out to
|
||||
* Set XCURSOR_SIZE in XorgDisplayServer::start
|
||||
* Make it possible to start ConsoleKit D-Bus service during SDDM startup
|
||||
* pam: Do not use tally2 if faillock is present
|
||||
* Bump to Qt 5.15, port away from deprecated APIs
|
||||
* remove `-logfile` arg that causes server to fail
|
||||
- Set RUNTIME_DIR to /run/ddm when using systemd to follow FHS 3.0
|
||||
- Use avatars in FacesDir first and if not found search other locations
|
||||
- Switch to using libxau with `FamilyWild` (#1230)
|
||||
- New interface to access config values from themes (#1097)
|
||||
- Session names are translated now (#1645)
|
||||
- Many more bugfixes
|
||||
|
||||
## 0.19.0 - 2020-11-02
|
||||
----------------------
|
||||
* Don't disable authentication in --test-mode
|
||||
- Fix X not having access control on startup
|
||||
(fixes CVE-2020-28049)
|
||||
- Don't fill UserModel if theme does not require it
|
||||
* Set re-use session option by default
|
||||
* Avoid adjusting active auth sessions
|
||||
* Cleanup sessions on exit
|
||||
* Don't abort on failure to start the display server
|
||||
+ Custom default font
|
||||
* Limit systemd service restarts
|
||||
* Typo fixes
|
||||
* Fix graphical glitches on NVIDIA after VT switching
|
||||
* Rewind password database
|
||||
* Memory allocation fixes
|
||||
* FreeBSD fixes
|
||||
* Use C++ scoping for handling buffer deletion
|
||||
* Allow to configure the QML installation directory
|
||||
* Port connects
|
||||
* Keep string termination characters in utmp entries
|
||||
* Look for available display for test mode
|
||||
* Interlingue translation
|
||||
* Remove chVt() from declarations
|
||||
- Rewind password db before scanning it (again) for available users
|
||||
- Session reuse: Only consider "online" sessions
|
||||
* Use modern connects
|
||||
* Update translations
|
||||
|
||||
## 0.18.1 - 2019-03-11
|
||||
----------------------
|
||||
- Fix crashes when creating a user session
|
||||
|
||||
## 0.18.0 - 2018-07-17
|
||||
----------------------
|
||||
+ Support theme supplied avatars
|
||||
+ Compile against Qt 5.11
|
||||
- Fix platform detection for HighDPI
|
||||
- On close, switch VT to a running session if applicable
|
||||
- Better ConsoleKit support
|
||||
- Fix authentication when reusing existing sessions
|
||||
- Hide sessions with NoDisplay=true
|
||||
- Honor PAM's ambient supplemental groups
|
||||
- Cleanup socket destruction
|
||||
- Don't quit on SIGHUP
|
||||
* Updated translations
|
||||
|
||||
## 0.17.0 - 2017-12-05
|
||||
----------------------
|
||||
+ Added possibility to change border width of ComboBox widget.
|
||||
+ Added missing utmp/wtmp/btmp handling.
|
||||
+ Make greeter see icons set by AccountsServices.
|
||||
- Fix ddm.conf man page syntax error and update.
|
||||
- Fix ComboBox widget.
|
||||
- Fix connection of PropertiesChanged event for LogindSeat.
|
||||
- Avoid race conditions with Xsetup.
|
||||
* Update de translation.
|
||||
* Update lt translation.
|
||||
* Update zh_TW translation.
|
||||
* Adjust order of components in the default PATH.
|
||||
* Set default input method to qtvirtualkeyboard.
|
||||
|
||||
## 0.16.0 - 2017-10-04
|
||||
----------------------
|
||||
+ Support non-latin characters in theme settings.
|
||||
+ Support fish shell in Xsession and wayland-session.
|
||||
+ Unlock GNOME keyring at login.
|
||||
+ Configuration directory.
|
||||
- Make the default cursor themed.
|
||||
- Update date and time in elarun theme.
|
||||
- Fix theme metadata default values.
|
||||
- Fix session selection in elarun.
|
||||
- Do not truncate XAUTHORITY on login.
|
||||
- Make enabled property of Button functional.
|
||||
- Fix typos in documentation.
|
||||
* Re-use existing sessions.
|
||||
* Add ConsoleKit 2 support.
|
||||
* Stop assuming shadow(5) is always available.
|
||||
* Explicitely set XDG_SEAT when starting a user session.
|
||||
* Suppress errors when pam_elogind is not available.
|
||||
* Suppress errors when pam_systemd is not available.
|
||||
* Added possibility to change color of dropdown menu.
|
||||
* Add Hindi translation.
|
||||
* Completed Swedish translation.
|
||||
* Update French translation.
|
||||
|
||||
## 0.15.0 - 2017-08-30
|
||||
----------------------
|
||||
- Fix display of avatars.
|
||||
+ New ddm.conf option EnableHiDPI to allow opt out of auto scaling.
|
||||
- Theme cursor.
|
||||
+ Support optional kwallet PAM opening.
|
||||
+ Autologin, try last successful login if not explicitly set.
|
||||
+ Ignore session desktop files with hidden=true.
|
||||
+ Support elogind.
|
||||
|
||||
## 0.14.0 - 2016-08-28
|
||||
----------------------
|
||||
+ New ddm.conf option EnableAvatars (useful for slow filesystems)
|
||||
+ New ddm.conf option UserAuthFile on the XDisplay section
|
||||
to change the default Xauthority file name and path.
|
||||
+ New ddm.conf option SessionLogFile on XDisplay and WaylandDisplay
|
||||
sections to change the default user session log location.
|
||||
+ ComboBox now exposes the arrow background color as
|
||||
"arrowColor" property.
|
||||
+ New "style" theme configuration for QtQuick Controls 2.0.
|
||||
+ Require Qt 5.6 or better.
|
||||
+ Enable HiDPI support.
|
||||
+ Refresh sessions list.
|
||||
+ Always fallback to an embedded theme if no suitable theme is found.
|
||||
- Actually change Qt platform theme.
|
||||
- Switch to Wayland session vt only when authentication
|
||||
succeeds.
|
||||
- Close PAM session.
|
||||
- Delete PAM credentials after closing the session.
|
||||
* More theme-neutral default user and root avatars
|
||||
* REMOVED the "circles" theme. Remember to change it if you had it set!
|
||||
* REMOVED the "maui" theme as a standalone theme as it is now
|
||||
embedded in the greeter. Remember to change the theme to empty
|
||||
if you had it set to "maui".
|
||||
* Update Estonian translation.
|
||||
* Add Catalan translation from Robert Antoni Buj Gelonch.
|
||||
* Add Dutch translation from Eric Hameleers.
|
||||
* Add Slovak translation from Martin Minka.
|
||||
* Add Swedish translation from Kristoffer Grundström.
|
||||
* Add Ukrainian translation from Cherevan Andriy.
|
||||
* Add Indian flag from Sanjeev Premi.
|
||||
|
||||
## 0.13.0 - 2015-11-04
|
||||
----------------------
|
||||
+ Greeter inherits path environment variables from parent so that
|
||||
themes installed in non-standard paths will work.
|
||||
+ Add ENABLE_PAM option to toggle PAM support at build time.
|
||||
+ Allow overriding textColor in ComboBox.
|
||||
- Don't cast QByteArray to (char *).
|
||||
- Disable greeters from loading KDE's debug hander
|
||||
(fix CVE-2015-0856).
|
||||
- Fix multi-screen support for some setups.
|
||||
* Added Serbian translation.
|
||||
* Added Traditional Chinese translation.
|
||||
* Improved German translation.
|
||||
* Remove failsafe session entry.
|
||||
* Close the pipe fd passed to X server.
|
||||
* A few micro-optimizations.
|
||||
|
||||
## 0.12.0 - 2015-09-05
|
||||
----------------------
|
||||
* Add a new "platformTheme" setting for themes.
|
||||
Themes can now specify a Qt platform theme plugin.
|
||||
* Autodetect UID_MIN and UID_MAX from /etc/login.defs
|
||||
* Add Arabic translation by Safa Alfulaij.
|
||||
* Add Hungarian translation by mortein79.
|
||||
* Russian translation improvements by Alexander Potashev.
|
||||
* Wait for display setup script to finish.
|
||||
* Reload configuration after display setup.
|
||||
* Pass locale environment variables to the greeter.
|
||||
* Support right-to-left languages.
|
||||
* Wayland session support.
|
||||
* Xorg server arguments are configurable.
|
||||
* Honor locale settings in /etc/environment
|
||||
* Allow SYSTEMD_SYSTEM_UNIT_DIR to be overridden at compile time.
|
||||
* No longer hardcode min/max UIDs.
|
||||
* FreeBSD build fixes.
|
||||
* Fixed Qt 5.5 build warnings.
|
||||
* Honor TryExec in Xsession desktop files.
|
||||
* New ddm.conf option XephyrPath.
|
||||
* New ddm.conf option ServerArguments.
|
||||
* New ddm.conf option DisplayStopCommand.
|
||||
* Enable QT_NO_CAST_FROM_ASCII.
|
||||
* Replace non-free background with a CC-BY-SA alternative for
|
||||
the maldives theme.
|
||||
* Many untracked bug fixes.
|
||||
|
||||
## 0.11.0 - 2014-11-20
|
||||
----------------------
|
||||
+ Reload the configuration every time we start a new session
|
||||
- Fix stderr redirection in the helper. Solving a memory leak
|
||||
- Set system locale in the greeter
|
||||
- Bail on chdir failure
|
||||
* Use QUuid for unique ID generation
|
||||
* Update lithuanian translations
|
||||
|
||||
## 0.10.0 - 2014-10-16
|
||||
----------------------
|
||||
+ Set default icon theme from greeter theme configuration.
|
||||
+ Set cursor theme according to greeter theme configuration.
|
||||
- Never permit a login as the ddm user (CVE-2014-7271)
|
||||
- Fix race condition in XAUTHORITY code (CVE-2014-7272)
|
||||
- XAUTHORITY is no longer owned by root
|
||||
- Flush any buffered data to the log file, this writes immediately
|
||||
all the log messages.
|
||||
- Fixed password field initial focus state
|
||||
- Don't override pam environment variables.
|
||||
* Remove Qt 4 support.
|
||||
* Prioritize sessions with a .desktop prefix
|
||||
* Add Kazakh translation.
|
||||
* Separate display server specific code.
|
||||
|
||||
## 0.9.0 - 2014-08-02
|
||||
---------------------
|
||||
+ Implemented automatic login
|
||||
+ Greeter now runs as its own user
|
||||
+ Added translation support for themes.
|
||||
+ Added keyboard layout support.
|
||||
+ Added option to turn on numlock at startup.
|
||||
+ ~/.xsession-errors support
|
||||
+ Improved compatibility with GNOME and Unity
|
||||
+ Initial Plymouth support
|
||||
+ Implemented logging to journald if available
|
||||
+ Added org.freedesktop.DisplayManager interface
|
||||
+ Fast user switching
|
||||
+ Test mode that can be toggled at runtime
|
||||
+ Auto Relogging
|
||||
+ User filtering based on shell
|
||||
+ User filtering based on name
|
||||
+ PAM is now optional
|
||||
- No longer stripping comments from ddm.conf on login
|
||||
- Fixed incorrect PAM handling causing PulseAudio to fail.
|
||||
- Fixed a crash caused by incorrect handling of PAM
|
||||
- Fixed compilation with Qt 5.0.0
|
||||
- Correctly import PAM environment into the sesion
|
||||
- Fixed missing environment variables
|
||||
- Find empty displays and virtual desktops automatically
|
||||
- Exit gracefully when SIGTERM is received
|
||||
- Fix running SDDM under a Plasma 5.0 desktop.
|
||||
* Now using Oxygen instead of Geosans Light
|
||||
* Added man pages ddm(1), ddm-greeter(1), ddm.conf(5)
|
||||
* Removed custom session
|
||||
* Failsafe is no longer the default session
|
||||
|
||||
## 0.1.0 - 2013-03-19
|
||||
---------------------
|
||||
* Initial release
|
||||
39
INSTALL.md
|
|
@ -1,39 +0,0 @@
|
|||
## Installation instructions
|
||||
|
||||
SDDM uses CMake to configure and build the project.
|
||||
|
||||
1. From the project root, create a build directory: `mkdir build`
|
||||
2. From the build directory, run cmake to the project root. Eg: `cd build && cmake ..`
|
||||
3. To build, run `make`.
|
||||
4. To install, run `make install`.
|
||||
|
||||
CMake accepts a number of standard and extra arguments:
|
||||
|
||||
- BUILD_MAN_PAGES, pass -DBUILD_MAN_PAGES=ON to build man pages
|
||||
- ENABLE_JOURNALD, pass -DENABLE_JOURNALD=OFF
|
||||
to disable logging to the journal
|
||||
|
||||
By default, a debug build is created. To build for production, use
|
||||
`cmake -DCMAKE_BUILD_TYPE=Release`.
|
||||
|
||||
To see all the possible arguments, run `cmake -L ..`.
|
||||
For documentation on standard CMake variables, see:
|
||||
http://www.cmake.org/cmake/help/v3.0/manual/cmake-variables.7.html
|
||||
|
||||
### Post-installation steps
|
||||
|
||||
By default, SDDM runs as its own user. An `ddm` user needs to be created, with
|
||||
its home set to `/var/lib/ddm` by default.
|
||||
|
||||
### Dependencies
|
||||
|
||||
SDDM depends on PAM for authorization and XCB to communicate with the X server.
|
||||
Apart from other things, it also depends on Qt for the user interface and event
|
||||
loop management.
|
||||
SDDM can optionally make use of logind (the systemd login manager API), or
|
||||
ConsoleKit2, or upower to enable support for suspend, hibernate etc.
|
||||
In order to build the man pages, you will need `rst2man` installed. It is
|
||||
provided by the python `docutils` package
|
||||
|
||||
Note that SDDM makes use of C++11 features for a modern and clean codebase,
|
||||
therefore it needs a recent version of GCC to compile (4.7 at least).
|
||||
|
|
@ -0,0 +1 @@
|
|||
../waylib/LICENSES/HPND.txt
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
Licensees holding valid commercial Qt licenses may use this software in
|
||||
accordance with the the terms contained in a written agreement between
|
||||
you and The Qt Company. Alternatively, the terms and conditions that were
|
||||
accepted by the licensee when buying and/or downloading the
|
||||
software do apply.
|
||||
|
||||
For the latest licensing terms and conditions, see https://www.qt.io/terms-conditions.
|
||||
For further information use the contact form at https://www.qt.io/contact-us.
|
||||
|
|
@ -1,9 +1,23 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) <year> <copyright holders>
|
||||
Copyright (c) 2017, 2018 Drew DeVault
|
||||
Copyright (c) 2014 Jari Vetoniemi
|
||||
Copyright (c) 2023 The wlroots contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
|
|
|
|||
133
README.md
|
|
@ -1,107 +1,68 @@
|
|||
## INTRODUCTION
|
||||
# Treeland
|
||||
|
||||
DDM is a fork of SDDM. And use single compositor and session management functionality.
|
||||
treeland is a wayland compositor based on wlroots and QtQuick, designed to provide efficient and flexible graphical interface support.
|
||||
|
||||
SDDM is a modern display manager for X11 and Wayland sessions aiming to
|
||||
be fast, simple and beautiful.
|
||||
It uses modern technologies like QtQuick, which in turn gives the designer the ability to
|
||||
create smooth, animated user interfaces.
|
||||
## Dependencies
|
||||
|
||||
SDDM is extremely themeable. We put no restrictions on the user interface design,
|
||||
it is completely up to the designer. We simply provide a few callbacks to the user interface
|
||||
which can be used for authentication, suspend etc.
|
||||
Check the `debian/control` file to understand specific build and runtime dependencies, or use `cmake` to check for missing necessary components.
|
||||
|
||||
To further ease theme creation we provide some premade components like a textbox,
|
||||
a combox etc.
|
||||
Core build dependencies:
|
||||
|
||||
There are a few sample themes distributed with SDDM.
|
||||
They can be used as a starting point for new themes.
|
||||
- [waylib](https://github.com/vioken/waylib): A Wayland compositor development library based on wlroots and QtQuick
|
||||
- Qt >= 6.8.0
|
||||
- wlroots = 0.19
|
||||
- [treeland-protocols](https://github.com/linuxdeepin/treeland-protocols): Private Wayland protocols used by treeland
|
||||
|
||||
## SCREENSHOTS
|
||||
Recommended runtime dependencies:
|
||||
|
||||

|
||||
- [ddm](https://github.com/linuxdeepin/ddm): A display manager optimized for multiple users
|
||||
|
||||
## VIDEOS
|
||||
## Building
|
||||
|
||||
* [Video background](https://www.youtube.com/watch?v=kKwz2FQcE3c)
|
||||
* [Maui theme 1](https://www.youtube.com/watch?v=-0d1wkcU9DU)
|
||||
* [Maui theme 2](https://www.youtube.com/watch?v=dJ28mrOeuNA)
|
||||
Treeland uses cmake for building. The WITH_SUBMODULE_WAYLIB option can force the use of the waylib code from the submodule. If you want to use the system-provided waylib, set this option to OFF.
|
||||
|
||||
## RESOURCES
|
||||
Using the system-provided waylib:
|
||||
|
||||
* [Issue tracker](https://github.com/ddm/ddm/issues)
|
||||
* [Wiki](https://github.com/ddm/ddm/wiki)
|
||||
* [Mailing List](https://groups.google.com/group/ddm-devel)
|
||||
* IRC channel `#ddm` on [chat.freenode.net](https://webchat.freenode.net?channels=ddm)
|
||||
|
||||
## INSTALLATION
|
||||
|
||||
Qt >= 5.15.0 is required to use SDDM.
|
||||
|
||||
SDDM runs the greeter as a system user named "ddm" whose home directory needs
|
||||
to be set to `/var/lib/ddm`.
|
||||
|
||||
If pam and systemd are available, the greeter will go through logind
|
||||
which will give it access to drm devices.
|
||||
|
||||
Distributions without pam and systemd will need to put the "ddm" user
|
||||
into the "video" group, otherwise errors regarding GL and drm devices
|
||||
might be experienced.
|
||||
|
||||
## VIRTUAL TERMINALS
|
||||
|
||||
SDDM is assumed to start at the tty specified by the cmake variable
|
||||
SDDM_INITIAL_VT which is an integer and defaults to 1.
|
||||
|
||||
If SDDM_INITIAL_VT wasn't available, SDDM will use the next available one
|
||||
instead.
|
||||
|
||||
You can override SDDM_INITIAL_VT if you want to have a different one if,
|
||||
for example, you were planning on using tty1 for something else.
|
||||
|
||||
## LICENSE
|
||||
|
||||
Source code of SDDM is licensed under GNU GPL version 2 or later (at your choosing).
|
||||
QML files are MIT licensed and images are CC BY 3.0.
|
||||
|
||||
## TROUBLESHOOTING
|
||||
|
||||
### NVIDIA Prime
|
||||
|
||||
Add this at the bottom of the Xsetup script:
|
||||
|
||||
```sh
|
||||
if [ -e /sbin/prime-offload ]; then
|
||||
echo running NVIDIA Prime setup /sbin/prime-offload, you will need to manually run /sbin/prime-switch to shut down
|
||||
/sbin/prime-offload
|
||||
fi
|
||||
```shell
|
||||
$ git clone git@github.com:linuxdeepin/treeland.git
|
||||
$ cd treeland
|
||||
$ cmake -Bbuild -DWITH_SUBMODULE_WAYLIB=OFF
|
||||
$ cmake --build build
|
||||
```
|
||||
|
||||
### No User Icon
|
||||
Using the waylib from the submodule:
|
||||
|
||||
SDDM reads user icon from either ~/.face.icon or FacesDir/username.face.icon
|
||||
|
||||
You need to make sure that SDDM user have permissions to read those files.
|
||||
In case you don't want to allow other users to access your $HOME you can use
|
||||
ACLs if your filesystem does support it.
|
||||
|
||||
```sh
|
||||
setfacl -m u:ddm:x /home/username
|
||||
setfacl -m u:ddm:r /home/username/.face.icon
|
||||
```shell
|
||||
$ git clone git@github.com:linuxdeepin/treeland.git --recursive
|
||||
$ cd treeland
|
||||
$ cmake -Bbuild -DWITH_SUBMODULE_WAYLIB=ON
|
||||
$ cmake --build build
|
||||
```
|
||||
|
||||
### Custom DPI
|
||||
## Packaging
|
||||
|
||||
In order to set custom DPI for high resolution screens you should configure
|
||||
Xorg yourself. An easy way is to pass an additional argument to Xorg.
|
||||
A `debian` folder is provided to build the package under the *deepin* linux desktop distribution. To build the package, use the following command:
|
||||
|
||||
Edit ``/etc/ddm.conf``, go to the ``X11`` section and change ``ServerArguments`` like this:
|
||||
|
||||
```
|
||||
ServerArguments=-nolisten tcp -dpi 192
|
||||
```shell
|
||||
$ sudo apt build-dep . # install build dependencies
|
||||
$ dpkg-buildpackage -uc -us -nc -b # build binary package(s)
|
||||
```
|
||||
|
||||
to set DPI to 192.
|
||||
## GitHub Actions / CI
|
||||
|
||||
As an alternative you can edit Xorg configuration ``xorg.conf``, please refer to the
|
||||
Xorg documentation.
|
||||
This project uses GitHub Actions for continuous integration. The following workflows are configured:
|
||||
|
||||
- **qwlroots builds**: Triggered when `qwlroots/**` files are modified
|
||||
- **waylib builds**: Triggered when `waylib/**` or `qwlroots/**` files are modified (since waylib depends on qwlroots)
|
||||
- **treeland builds**: Main project builds
|
||||
|
||||
The waylib workflows are configured to also trigger when qwlroots code changes, ensuring that waylib builds remain compatible with qwlroots modifications.
|
||||
|
||||
## Getting Involved
|
||||
|
||||
- [Code contribution via GitHub](https://github.com/linuxdeepin/treeland/)
|
||||
- [Submit bug or suggestions to GitHub Issues or GitHub Discussions](https://github.com/linuxdeepin/developer-center/issues/new/choose)
|
||||
|
||||
## License
|
||||
|
||||
treeland is licensed under Apache-2.0 OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only.
|
||||
|
|
|
|||
|
|
@ -1 +1,67 @@
|
|||
TODO:
|
||||
# Treeland
|
||||
|
||||
treeland 是一个基于 wlroots 和 QtQuick 开发的 Wayland 合成器,旨在提供高效且灵活的图形界面支持。
|
||||
|
||||
## 依赖
|
||||
|
||||
查看 `debian/control` 文件来了解具体的构建与运行时依赖,或者使用 `cmake` 检查缺失的必要组件。
|
||||
|
||||
核心构建依赖:
|
||||
|
||||
- [waylib](https://github.com/vioken/waylib) 整合 wlroots 和 QtQuick 的 Wayland 合成器开发库
|
||||
- Qt >= 6.8.0
|
||||
- wlroots = 0.19
|
||||
- [treeland-protocols](https://github.com/linuxdeepin/treeland-protocols) treeland 使用的私有 wayland 协议
|
||||
|
||||
推荐的运行时依赖:
|
||||
|
||||
- [ddm](https://github.com/linuxdeepin/ddm) 为多用户优化的登录管理器
|
||||
|
||||
## 构建
|
||||
|
||||
treeland 使用 cmake 进行构建,`WITH_SUBMODULE_WAYLIB` 选项可以强制使用子模块中的 `waylib` 代码,如果希望使用系统提供的 `waylib` 应该设置为 `OFF`。
|
||||
|
||||
使用系统库提供的 `waylib`:
|
||||
|
||||
```shell
|
||||
$ git clone git@github.com:linuxdeepin/treeland.git
|
||||
$ cd treeland
|
||||
$ cmake -Bbuild -DWITH_SUBMODULE_WAYLIB=OFF
|
||||
$ cmake --build build
|
||||
```
|
||||
使用子模块中的 `waylib`:
|
||||
|
||||
```shell
|
||||
$ git clone git@github.com:linuxdeepin/treeland.git --recursive
|
||||
$ cd treeland
|
||||
$ cmake -Bbuild -DWITH_SUBMODULE_WAYLIB=ON
|
||||
$ cmake --build build
|
||||
```
|
||||
|
||||
## 打包
|
||||
|
||||
在 *deepin* 桌面发行版进行此软件包的构建,我们还提供了一个 `debian` 目录。若要构建软件包,可参照下面的命令进行构建:
|
||||
|
||||
```shell
|
||||
$ sudo apt build-dep . # 安装构建依赖
|
||||
$ dpkg-buildpackage -uc -us -nc -b # 构建二进制软件包
|
||||
```
|
||||
|
||||
## GitHub Actions / 持续集成
|
||||
|
||||
本项目使用 GitHub Actions 进行持续集成。配置了以下工作流:
|
||||
|
||||
- **qwlroots 构建**:当 `qwlroots/**` 文件被修改时触发
|
||||
- **waylib 构建**:当 `waylib/**` 或 `qwlroots/**` 文件被修改时触发(因为 waylib 依赖于 qwlroots)
|
||||
- **treeland 构建**:主项目构建
|
||||
|
||||
waylib 工作流配置为在 qwlroots 代码变化时也会触发,确保 waylib 构建与 qwlroots 修改保持兼容。
|
||||
|
||||
## 参与贡献
|
||||
|
||||
- [通过 GitHub 发起代码贡献](https://github.com/linuxdeepin/treeland/)
|
||||
- [通过 GitHub Issues 与 GitHub Discussions 汇报缺陷与反馈建议](https://github.com/linuxdeepin/developer-center/issues/new/choose)
|
||||
|
||||
## 许可协议
|
||||
|
||||
**Treeland** 使用 Apache-2.0, LGPL-3.0-only, GPL-2.0-only 或 GPL-3.0-only 许可协议进行发布。
|
||||
|
|
|
|||
|
|
@ -0,0 +1,252 @@
|
|||
version = 1
|
||||
SPDX-PackageName = "treeland"
|
||||
SPDX-PackageDownloadLocation = "https://github.com/linuxdeepin/treeland"
|
||||
|
||||
[[annotations]]
|
||||
path = [".github/**", ".obs/**.yml", "garnix.yaml", ".tx/*"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
[[annotations]]
|
||||
path = [".clang-format", ".editorconfig", "**.frag", "**.ui", "**.vert", "**/qmldir"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ["debian/**", "rpm/**", "archlinux/**"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ["**.nix", ".envrc", "flake.lock", "renovate.json"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ["translations/**", "po/**", "**.qm", "**.ts"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "UnionTech Software Technology Co., Ltd."
|
||||
SPDX-License-Identifier = "GPL-2.0-only"
|
||||
|
||||
[[annotations]]
|
||||
path = ["**.svg", "**.png", "**.jpg", "**.jpeg", "**.webp", "**.dci", "**.gif"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "UnionTech Software Technology Co., Ltd."
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ["REUSE.toml", "**.json", "**.service", "**.txt", "**.ini", "**.sh", "**.html", ".gitignore", ".gitmodules", "INSTALL.md", "**.desktop", "**.css", "**.ttf", "**.conf", "**.xml", ".release.json"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "UnionTech Software Technology Co., Ltd."
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ["**.md", "README.md", "README.zh_CN.md", "CONTRIBUTING.md", "ChangeLog", "CONTRIBUTORS"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "UnionTech Software Technology Co., Ltd."
|
||||
SPDX-License-Identifier = "CC-BY-4.0"
|
||||
|
||||
[[annotations]]
|
||||
path = ["**.cmake", "CMakeLists.txt", "**.in", "**.qrc", "misc/**", "services/**", "releng/create_changelog.pl"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "GPL-2.0-only"
|
||||
|
||||
[[annotations]]
|
||||
path = ["src/greeter/**.h", "src/greeter/**.cpp"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "GPL-2.0-only"
|
||||
|
||||
[[annotations]]
|
||||
path = ["qwlroots/**"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "Apache-2.0"
|
||||
|
||||
# ===== WAYLIB REUSE Configuration =====
|
||||
# CI and build files for waylib
|
||||
[[annotations]]
|
||||
path = ["waylib/.github/**", "waylib/.obs/**.yml", "waylib/renovate.json"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
# Gitignore and git modules for waylib
|
||||
[[annotations]]
|
||||
path = ["waylib/.gitignore", "waylib/.gitmodules"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
# Project files for waylib
|
||||
[[annotations]]
|
||||
path = ["waylib/**.cmake", "waylib/*CMakeLists.txt", "waylib/**.pc.in", "waylib/**cmake.in"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
# README for waylib
|
||||
[[annotations]]
|
||||
path = ["waylib/README.md", "waylib/README.zh_CN.md"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "JiDe Zhang"
|
||||
SPDX-License-Identifier = "CC-BY-4.0"
|
||||
|
||||
# Nix Develop files for waylib
|
||||
[[annotations]]
|
||||
path = ["waylib/**.nix", "waylib/.envrc", "waylib/flake.lock"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
# Debian package for waylib
|
||||
[[annotations]]
|
||||
path = ["waylib/debian/**"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
# C++ pch files for waylib
|
||||
[[annotations]]
|
||||
path = ["waylib/src/server/pch/pch.hxx"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
# Core waylib files
|
||||
[[annotations]]
|
||||
path = [
|
||||
"waylib/examples/tinywl/qml.qrc",
|
||||
"waylib/tests/manual/cursor/cursor.qrc",
|
||||
"waylib/src/server/kernel/WBackend",
|
||||
"waylib/src/server/kernel/WCursor",
|
||||
"waylib/src/server/kernel/WInputDevice",
|
||||
"waylib/src/server/kernel/WInputEvent",
|
||||
"waylib/src/server/kernel/WOutput",
|
||||
"waylib/src/server/kernel/WSeat",
|
||||
"waylib/src/server/kernel/WEvent",
|
||||
"waylib/src/server/kernel/WServer",
|
||||
"waylib/src/server/kernel/WServerInterface",
|
||||
"waylib/src/server/kernel/WSurface",
|
||||
"waylib/src/server/kernel/WSurfaceLayout",
|
||||
"waylib/src/server/kernel/WTexture",
|
||||
"waylib/src/server/kernel/WXdgShell",
|
||||
"waylib/src/server/kernel/WXdgSurface",
|
||||
"waylib/src/server/kernel/WLayerSurface",
|
||||
"waylib/src/server/qtquick/WQuickRenderControl",
|
||||
"waylib/src/server/qtquick/WSurfaceItem",
|
||||
"waylib/src/server/utils/WSignalConnector",
|
||||
"waylib/src/server/utils/WThreadUtils",
|
||||
"waylib/src/server/utils/WCursorImage",
|
||||
"waylib/src/server/utils/WWrapPointer",
|
||||
"waylib/tests/main.cpp",
|
||||
"waylib/tests/test.h"
|
||||
]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "JiDe Zhang"
|
||||
SPDX-License-Identifier = "Apache-2.0 OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
|
||||
|
||||
# Waylib protocol files
|
||||
[[annotations]]
|
||||
path = [
|
||||
"waylib/src/server/protocols/WCursorShapeManagerV1",
|
||||
"waylib/src/server/protocols/WForeignToplevel",
|
||||
"waylib/src/server/protocols/WInputMethodHelper",
|
||||
"waylib/src/server/protocols/WLayerSurface",
|
||||
"waylib/src/server/protocols/WOutputManagerV1",
|
||||
"waylib/src/server/protocols/WXdgOutput",
|
||||
"waylib/src/server/protocols/WXdgShell",
|
||||
"waylib/src/server/protocols/WXdgSurface",
|
||||
"waylib/src/server/protocols/WLayerShell",
|
||||
"waylib/src/server/protocols/WInputPopupSurface",
|
||||
"waylib/src/server/protocols/WXWayland",
|
||||
"waylib/src/server/protocols/WXWaylandSurface",
|
||||
"waylib/src/server/protocols/WXdgDecorationManager",
|
||||
"waylib/src/server/protocols/WSessionLock",
|
||||
"waylib/src/server/protocols/WSessionLockManager",
|
||||
"waylib/src/server/protocols/WSessionLockSurface"
|
||||
]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "UnionTech Software Technology Co., Ltd."
|
||||
SPDX-License-Identifier = "Apache-2.0 OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
|
||||
|
||||
# Misc files for waylib
|
||||
[[annotations]]
|
||||
path = [
|
||||
"waylib/tests/manual/cursor/res/HandCursor.png",
|
||||
"waylib/examples/tinywl/res/xx.jpg"
|
||||
]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
# Protocol files with HPND license for waylib
|
||||
[[annotations]]
|
||||
path = ["waylib/src/server/protocols/private/text-input-unstable-v2.xml"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "HPND"
|
||||
|
||||
# ===== QWLROOTS REUSE Configuration =====
|
||||
# CI for qwlroots
|
||||
[[annotations]]
|
||||
path = ["qwlroots/.github/**", "qwlroots/.obs/**.yml", "qwlroots/garnix.yaml"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
# Project files for qwlroots
|
||||
[[annotations]]
|
||||
path = [
|
||||
"qwlroots/**.cmake",
|
||||
"qwlroots/*CMakeLists.txt",
|
||||
"qwlroots/**.pc.in",
|
||||
"qwlroots/**cmake.in",
|
||||
"qwlroots/.gitignore",
|
||||
"qwlroots/.cursorindexingignore",
|
||||
"qwlroots/.cursor/rules/**.mdc",
|
||||
"qwlroots/.gitmodules"
|
||||
]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
# Simple header files for qwlroots
|
||||
[[annotations]]
|
||||
path = [
|
||||
"qwlroots/**/qwkeyboard.h",
|
||||
"qwlroots/**/qwpointer.h",
|
||||
"qwlroots/**/qwswitch.h",
|
||||
"qwlroots/**/qwtablet.h",
|
||||
"qwlroots/**/qwtabletpad.h",
|
||||
"qwlroots/**/qwtouch.h"
|
||||
]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
# README and documentation for qwlroots
|
||||
[[annotations]]
|
||||
path = ["qwlroots/README.md", "qwlroots/README.zh_CN.md", "qwlroots/doc/ai/**.md"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "JiDe Zhang"
|
||||
SPDX-License-Identifier = "CC-BY-4.0"
|
||||
|
||||
# Nix Develop files for qwlroots
|
||||
[[annotations]]
|
||||
path = ["qwlroots/**.nix", "qwlroots/.envrc", "qwlroots/flake.lock"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "None"
|
||||
SPDX-License-Identifier = "CC0-1.0"
|
||||
|
||||
# Debian package for qwlroots
|
||||
[[annotations]]
|
||||
path = ["qwlroots/debian/**"]
|
||||
precedence = "aggregate"
|
||||
SPDX-FileCopyrightText = "2023 rewine <luhongxu@outlook.com>"
|
||||
SPDX-License-Identifier = "Apache-2.0 OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
include(CMakeParseArguments)
|
||||
|
||||
function(impl_treeland)
|
||||
set(one_value_args NAME)
|
||||
set(multi_value_args SOURCE INCLUDE LINK)
|
||||
|
||||
cmake_parse_arguments(
|
||||
PARSE_ARG_PREFIX
|
||||
""
|
||||
"${one_value_args}"
|
||||
"${multi_value_args}"
|
||||
${ARGN}
|
||||
)
|
||||
|
||||
if(NOT PARSE_ARG_PREFIX_NAME)
|
||||
message(FATAL_ERROR "NAME is a required argument!")
|
||||
endif()
|
||||
|
||||
add_library(${PARSE_ARG_PREFIX_NAME} INTERFACE)
|
||||
|
||||
target_sources(${PARSE_ARG_PREFIX_NAME}
|
||||
INTERFACE
|
||||
${PARSE_ARG_PREFIX_SOURCE}
|
||||
)
|
||||
|
||||
target_include_directories(${PARSE_ARG_PREFIX_NAME}
|
||||
INTERFACE
|
||||
${PARSE_ARG_PREFIX_INCLUDE}
|
||||
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
|
||||
)
|
||||
|
||||
target_link_libraries(${PARSE_ARG_PREFIX_NAME}
|
||||
INTERFACE
|
||||
${PARSE_ARG_PREFIX_LINK}
|
||||
|
||||
# TODO: remove this
|
||||
Dtk6::Core
|
||||
Dtk6::Declarative
|
||||
Dtk6::SystemSettings
|
||||
Waylib::WaylibServer
|
||||
Qt6::Quick
|
||||
Qt6::QuickControls2
|
||||
Qt6::QuickPrivate
|
||||
Qt6::DBus
|
||||
Qt6::Concurrent
|
||||
PkgConfig::PIXMAN
|
||||
PkgConfig::WAYLAND
|
||||
PkgConfig::LIBINPUT
|
||||
# TODO: end remove
|
||||
)
|
||||
|
||||
target_link_libraries(libtreeland
|
||||
PRIVATE
|
||||
${PARSE_ARG_PREFIX_NAME}
|
||||
)
|
||||
endfunction()
|
||||
|
||||
|
|
@ -1,75 +0,0 @@
|
|||
# - Try to find the PAM libraries
|
||||
# Once done this will define
|
||||
#
|
||||
# PAM_FOUND - system has pam
|
||||
# PAM_INCLUDE_DIR - the pam include directory
|
||||
# PAM_LIBRARIES - libpam library
|
||||
|
||||
if (PAM_INCLUDE_DIR AND PAM_LIBRARY)
|
||||
# Already in cache, be silent
|
||||
set(PAM_FIND_QUIETLY TRUE)
|
||||
endif (PAM_INCLUDE_DIR AND PAM_LIBRARY)
|
||||
|
||||
find_path(PAM_INCLUDE_DIR NAMES security/pam_appl.h pam/pam_appl.h)
|
||||
find_library(PAM_LIBRARY pam)
|
||||
find_library(DL_LIBRARY dl)
|
||||
find_library(HAVE_PAM_FAILLOCK NAME pam_faillock.so PATH_SUFFIXES security)
|
||||
|
||||
if (PAM_INCLUDE_DIR AND PAM_LIBRARY)
|
||||
set(PAM_FOUND TRUE)
|
||||
if (DL_LIBRARY)
|
||||
set(PAM_LIBRARIES ${PAM_LIBRARY} ${DL_LIBRARY})
|
||||
else (DL_LIBRARY)
|
||||
set(PAM_LIBRARIES ${PAM_LIBRARY})
|
||||
endif (DL_LIBRARY)
|
||||
|
||||
if (EXISTS ${PAM_INCLUDE_DIR}/pam/pam_appl.h)
|
||||
# darwin claims to be something special
|
||||
set(HAVE_PAM_PAM_APPL_H 1)
|
||||
endif (EXISTS ${PAM_INCLUDE_DIR}/pam/pam_appl.h)
|
||||
|
||||
if (NOT DEFINED PAM_MESSAGE_CONST)
|
||||
include(CheckCXXSourceCompiles)
|
||||
# XXX does this work with plain c?
|
||||
check_cxx_source_compiles("
|
||||
#if ${HAVE_PAM_PAM_APPL_H}+0
|
||||
# include <pam/pam_appl.h>
|
||||
#else
|
||||
# include <security/pam_appl.h>
|
||||
#endif
|
||||
|
||||
static int PAM_conv(
|
||||
int num_msg,
|
||||
const struct pam_message **msg, /* this is the culprit */
|
||||
struct pam_response **resp,
|
||||
void *ctx)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
{
|
||||
struct pam_conv PAM_conversation = {
|
||||
&PAM_conv, /* this bombs out if the above does not match */
|
||||
0
|
||||
};
|
||||
|
||||
return 0;
|
||||
}
|
||||
" PAM_MESSAGE_CONST)
|
||||
endif (NOT DEFINED PAM_MESSAGE_CONST)
|
||||
set(PAM_MESSAGE_CONST ${PAM_MESSAGE_CONST} CACHE BOOL "PAM expects a conversation function with const pam_message")
|
||||
|
||||
endif (PAM_INCLUDE_DIR AND PAM_LIBRARY)
|
||||
|
||||
if (PAM_FOUND)
|
||||
if (NOT PAM_FIND_QUIETLY)
|
||||
message(STATUS "Found PAM: ${PAM_LIBRARIES}")
|
||||
endif (NOT PAM_FIND_QUIETLY)
|
||||
else (PAM_FOUND)
|
||||
if (PAM_FIND_REQUIRED)
|
||||
message(FATAL_ERROR "PAM was not found")
|
||||
endif(PAM_FIND_REQUIRED)
|
||||
endif (PAM_FOUND)
|
||||
|
||||
mark_as_advanced(PAM_INCLUDE_DIR PAM_LIBRARY DL_LIBRARY PAM_MESSAGE_CONST)
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
# - Try to find libxcb
|
||||
# Once done this will define
|
||||
#
|
||||
# LIBXCB_FOUND - system has libxcb
|
||||
# LIBXCB_LIBRARIES - Link these to use libxcb
|
||||
# LIBXCB_INCLUDE_DIR - the libxcb include dir
|
||||
# LIBXCB_DEFINITIONS - compiler switches required for using libxcb
|
||||
|
||||
# Copyright (c) 2008 Helio Chissini de Castro, <helio@kde.org>
|
||||
# Copyright (c) 2007, Matthias Kretz, <kretz@kde.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
IF (NOT WIN32)
|
||||
IF (LIBXCB_INCLUDE_DIR AND LIBXCB_LIBRARIES)
|
||||
# in cache already
|
||||
SET(XCB_FIND_QUIETLY TRUE)
|
||||
ENDIF (LIBXCB_INCLUDE_DIR AND LIBXCB_LIBRARIES)
|
||||
|
||||
FIND_PACKAGE(PkgConfig)
|
||||
PKG_CHECK_MODULES(PKG_XCB xcb)
|
||||
|
||||
SET(LIBXCB_DEFINITIONS ${PKG_XCB_CFLAGS})
|
||||
|
||||
FIND_PATH(LIBXCB_INCLUDE_DIR xcb/xcb.h ${PKG_XCB_INCLUDE_DIRS})
|
||||
FIND_LIBRARY(LIBXCB_LIBRARIES NAMES xcb libxcb PATHS ${PKG_XCB_LIBRARY_DIRS})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB DEFAULT_MSG LIBXCB_LIBRARIES LIBXCB_INCLUDE_DIR)
|
||||
|
||||
MARK_AS_ADVANCED(LIBXCB_INCLUDE_DIR LIBXCB_LIBRARIES XCBPROC_EXECUTABLE)
|
||||
ENDIF (NOT WIN32)
|
||||
|
|
@ -1,135 +0,0 @@
|
|||
# - Try to find libxcb
|
||||
# Once done this will define
|
||||
#
|
||||
# LIBXKB_FOUND - system has libxcb
|
||||
# LIBXKB_LIBRARIES - Link these to use libxcb-xkb
|
||||
# LIBXKB_INCLUDE_DIR - the libxcb-xkb include dir
|
||||
# LIBXKB_DEFINITIONS - compiler switches required for using libxcb
|
||||
|
||||
# Copyright (c) 2013, Abdurrahman AVCI, <abdurrahmanavci@gmail.com>
|
||||
# Copyright (c) 2008, Helio Chissini de Castro, <helio@kde.org>
|
||||
# Copyright (c) 2007, Matthias Kretz, <kretz@kde.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
IF (NOT WIN32)
|
||||
IF (LIBXKB_INCLUDE_DIR AND LIBXKB_LIBRARIES)
|
||||
# in cache already
|
||||
SET(XKB_FIND_QUIETLY TRUE)
|
||||
ENDIF (LIBXKB_INCLUDE_DIR AND LIBXKB_LIBRARIES)
|
||||
|
||||
# use pkg-config to get the directories and then use these values
|
||||
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||
FIND_PACKAGE(PkgConfig)
|
||||
PKG_CHECK_MODULES(PKG_XKB xcb-xkb)
|
||||
|
||||
SET(LIBXKB_DEFINITIONS ${PKG_XKB_CFLAGS})
|
||||
|
||||
FIND_PATH(LIBXKB_INCLUDE_DIR xcb/xkb.h ${PKG_XKB_INCLUDE_DIRS})
|
||||
|
||||
FIND_LIBRARY(LIBXKB_LIBRARIES NAMES xcb-xkb libxcb-xkb PATHS ${PKG_XKB_LIBRARY_DIRS})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(XKB DEFAULT_MSG LIBXKB_LIBRARIES LIBXKB_INCLUDE_DIR)
|
||||
|
||||
MARK_AS_ADVANCED(LIBXKB_INCLUDE_DIR LIBXKB_LIBRARIES)
|
||||
ENDIF (NOT WIN32)
|
||||
|
||||
#.rst:
|
||||
# FindXKB
|
||||
# -------
|
||||
#
|
||||
# Try to find xkbcommon on a Unix system
|
||||
# If found, this will define the following variables:
|
||||
#
|
||||
# ``XKB_FOUND``
|
||||
# True if XKB is available
|
||||
# ``XKB_LIBRARIES``
|
||||
# Link these to use XKB
|
||||
# ``XKB_INCLUDE_DIRS``
|
||||
# Include directory for XKB
|
||||
# ``XKB_DEFINITIONS``
|
||||
# Compiler flags for using XKB
|
||||
#
|
||||
# Additionally, the following imported targets will be defined:
|
||||
#
|
||||
# ``XKB::XKB``
|
||||
# The XKB library
|
||||
|
||||
if(NOT WIN32)
|
||||
# Use pkg-config to get the directories and then use these values
|
||||
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(PKG_XKB QUIET xkbcommon)
|
||||
|
||||
set(XKB_DEFINITIONS ${PKG_XKB_CFLAGS_OTHER})
|
||||
|
||||
find_path(XKB_INCLUDE_DIR
|
||||
NAMES
|
||||
xkbcommon/xkbcommon.h
|
||||
HINTS
|
||||
${PKG_XKB_INCLUDE_DIRS}
|
||||
)
|
||||
find_library(XKB_LIBRARY
|
||||
NAMES
|
||||
xkbcommon
|
||||
HINTS
|
||||
${PKG_XKB_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
set(XKB_LIBRARIES ${XKB_LIBRARY})
|
||||
set(XKB_INCLUDE_DIRS ${XKB_INCLUDE_DIR})
|
||||
set(XKB_VERSION ${PKG_XKB_VERSION})
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(XKB
|
||||
FOUND_VAR
|
||||
XKB_FOUND
|
||||
REQUIRED_VARS
|
||||
XKB_LIBRARY
|
||||
XKB_INCLUDE_DIR
|
||||
VERSION_VAR
|
||||
XKB_VERSION
|
||||
)
|
||||
|
||||
if(XKB_FOUND AND NOT TARGET XKB::XKB)
|
||||
add_library(XKB::XKB UNKNOWN IMPORTED)
|
||||
set_target_properties(XKB::XKB PROPERTIES
|
||||
IMPORTED_LOCATION "${XKB_LIBRARY}"
|
||||
INTERFACE_COMPILE_OPTIONS "${XKB_DEFINITIONS}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${XKB_INCLUDE_DIR}"
|
||||
)
|
||||
endif()
|
||||
|
||||
else()
|
||||
message(STATUS "FindXKB.cmake cannot find XKB on Windows systems.")
|
||||
set(XKB_FOUND FALSE)
|
||||
endif()
|
||||
|
||||
include(FeatureSummary)
|
||||
set_package_properties(XKB PROPERTIES
|
||||
URL "https://xkbcommon.org"
|
||||
DESCRIPTION "XKB API common to servers and clients"
|
||||
)
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
# TranslationUtils.cmake
|
||||
# Provides common functions for handling translation files
|
||||
|
||||
function(setup_translations TARGET_NAME TRANSLATION_PREFIX)
|
||||
# Automatically discover all translation files
|
||||
file(GLOB TS_FILES "${CMAKE_CURRENT_SOURCE_DIR}/translations/${TRANSLATION_PREFIX}.*.ts")
|
||||
|
||||
# Filter out non-translation files (if any)
|
||||
list(FILTER TS_FILES INCLUDE REGEX ".*\\.ts$")
|
||||
|
||||
# Set translation files variable
|
||||
set(TRANSLATED_FILES)
|
||||
|
||||
# Add lupdate target
|
||||
qt_add_lupdate(
|
||||
SOURCE_TARGETS ${TARGET_NAME}
|
||||
TS_FILES ${TS_FILES}
|
||||
NO_GLOBAL_TARGET
|
||||
)
|
||||
|
||||
# Add lrelease target
|
||||
qt_add_lrelease(
|
||||
TS_FILES ${TS_FILES}
|
||||
QM_FILES_OUTPUT_VARIABLE TRANSLATED_FILES
|
||||
)
|
||||
|
||||
# Install translation files
|
||||
install(FILES ${TRANSLATED_FILES} DESTINATION ${TREELAND_COMPONENTS_TRANSLATION_DIR})
|
||||
|
||||
# Set TRANSLATED_FILES variable to parent scope
|
||||
set(TRANSLATED_FILES ${TRANSLATED_FILES} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
||||
function(setup_main_translations TARGET_NAME)
|
||||
# Automatically discover all main translation files
|
||||
file(GLOB TS_FILES "${CMAKE_SOURCE_DIR}/translations/treeland.*.ts")
|
||||
|
||||
# Filter out non-translation files (if any)
|
||||
list(FILTER TS_FILES INCLUDE REGEX ".*\\.ts$")
|
||||
|
||||
# Set translation files variable
|
||||
set(TRANSLATED_FILES)
|
||||
|
||||
# Add lupdate target
|
||||
qt_add_lupdate(
|
||||
SOURCE_TARGETS ${TARGET_NAME}
|
||||
TS_FILES ${TS_FILES}
|
||||
NO_GLOBAL_TARGET
|
||||
)
|
||||
|
||||
# Add lrelease target
|
||||
qt_add_lrelease(
|
||||
TS_FILES ${TS_FILES}
|
||||
QM_FILES_OUTPUT_VARIABLE TRANSLATED_FILES
|
||||
)
|
||||
|
||||
# Install translation files
|
||||
install(FILES ${TRANSLATED_FILES} DESTINATION ${TREELAND_COMPONENTS_TRANSLATION_DIR})
|
||||
|
||||
# Set TRANSLATED_FILES variable to parent scope
|
||||
set(TRANSLATED_FILES ${TRANSLATED_FILES} PARENT_SCOPE)
|
||||
endfunction()
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
|
||||
endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
|
||||
|
||||
file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
|
||||
string(REGEX REPLACE "\n" ";" files "${files}")
|
||||
list(REVERSE files)
|
||||
foreach (file ${files})
|
||||
message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
|
||||
if (EXISTS "$ENV{DESTDIR}${file}")
|
||||
execute_process(
|
||||
COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}"
|
||||
OUTPUT_VARIABLE rm_out
|
||||
RESULT_VARIABLE rm_retval
|
||||
)
|
||||
if(NOT ${rm_retval} EQUAL 0)
|
||||
message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
|
||||
endif (NOT ${rm_retval} EQUAL 0)
|
||||
else (EXISTS "$ENV{DESTDIR}${file}")
|
||||
message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
|
||||
endif (EXISTS "$ENV{DESTDIR}${file}")
|
||||
endforeach(file)
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
install(DIRECTORY "flags" DESTINATION "${DATA_INSTALL_DIR}")
|
||||
|
||||
install(FILES
|
||||
"org.freedesktop.DisplayManager.conf"
|
||||
DESTINATION "${DBUS_CONFIG_DIR}"
|
||||
RENAME ${DBUS_CONFIG_FILENAME}
|
||||
)
|
||||
|
||||
install(FILES
|
||||
"faces/root.face.icon.png"
|
||||
DESTINATION "${DATA_INSTALL_DIR}/faces"
|
||||
RENAME "root.face.icon"
|
||||
)
|
||||
|
||||
install(FILES
|
||||
"faces/default.face.icon.png"
|
||||
DESTINATION "${DATA_INSTALL_DIR}/faces"
|
||||
RENAME ".face.icon"
|
||||
)
|
||||
|
||||
install(FILES
|
||||
"scripts/Xsession"
|
||||
"scripts/Xsetup"
|
||||
"scripts/Xstop"
|
||||
"scripts/wayland-session"
|
||||
DESTINATION "${DATA_INSTALL_DIR}/scripts"
|
||||
PERMISSIONS
|
||||
OWNER_READ OWNER_WRITE OWNER_EXECUTE
|
||||
GROUP_READ GROUP_EXECUTE
|
||||
WORLD_READ WORLD_EXECUTE
|
||||
)
|
||||
|
||||
add_subdirectory(wayland-sessions)
|
||||
if(BUILD_MAN_PAGES)
|
||||
add_subdirectory(man)
|
||||
endif()
|
||||
add_subdirectory(themes)
|
||||
add_subdirectory(translations)
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
These are the default avatars.
|
||||
They are installed to `.face.icon` and `root.face.icon`. See ../CMakeLists.txt.
|
||||
|
Before Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 178 B |
|
Before Width: | Height: | Size: 175 B |
|
Before Width: | Height: | Size: 350 B |
|
Before Width: | Height: | Size: 219 B |
|
Before Width: | Height: | Size: 677 B |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 214 B |
|
Before Width: | Height: | Size: 209 B |
|
Before Width: | Height: | Size: 797 B |
|
Before Width: | Height: | Size: 885 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 379 B |
|
Before Width: | Height: | Size: 247 B |
|
Before Width: | Height: | Size: 1009 B |
|
Before Width: | Height: | Size: 375 B |
|
Before Width: | Height: | Size: 220 B |
|
Before Width: | Height: | Size: 457 B |
|
Before Width: | Height: | Size: 227 B |
|
Before Width: | Height: | Size: 253 B |
|
Before Width: | Height: | Size: 220 B |
|
Before Width: | Height: | Size: 993 B |
|
Before Width: | Height: | Size: 221 B |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 234 B |
|
Before Width: | Height: | Size: 214 B |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 178 B |
|
Before Width: | Height: | Size: 262 B |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 223 B |
|
Before Width: | Height: | Size: 382 B |
|
Before Width: | Height: | Size: 622 B |
|
Before Width: | Height: | Size: 292 B |
|
Before Width: | Height: | Size: 260 B |
|
Before Width: | Height: | Size: 221 B |
|
Before Width: | Height: | Size: 992 B |
|
Before Width: | Height: | Size: 321 B |
|
Before Width: | Height: | Size: 281 B |
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 232 B |
|
Before Width: | Height: | Size: 281 B |
|
Before Width: | Height: | Size: 657 B |
|
Before Width: | Height: | Size: 223 B |
|
Before Width: | Height: | Size: 200 B |
|
Before Width: | Height: | Size: 165 B |
|
Before Width: | Height: | Size: 217 B |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 384 B |
|
Before Width: | Height: | Size: 820 B |
|
Before Width: | Height: | Size: 220 B |
|
Before Width: | Height: | Size: 257 B |
|
Before Width: | Height: | Size: 884 B |
|
Before Width: | Height: | Size: 211 B |
|
Before Width: | Height: | Size: 248 B |
|
Before Width: | Height: | Size: 607 B |
|
Before Width: | Height: | Size: 290 B |
|
Before Width: | Height: | Size: 357 B |
|
Before Width: | Height: | Size: 222 B |
|
Before Width: | Height: | Size: 215 B |
|
Before Width: | Height: | Size: 384 B |
|
Before Width: | Height: | Size: 339 B |
|
Before Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 289 B |