Compare commits
1346 Commits
METACITY_2
...
3.0.1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
5eb8aa655b | ||
![]() |
3543782f39 | ||
![]() |
4ff4ebebb6 | ||
![]() |
a3c96c12d6 | ||
![]() |
eb0e658c99 | ||
![]() |
4d069650ae | ||
![]() |
d176755926 | ||
![]() |
eb2a6946b2 | ||
![]() |
d067ba4431 | ||
![]() |
fdf11f10fb | ||
![]() |
8fd1835d1a | ||
![]() |
c77075833a | ||
![]() |
b2a7ab270c | ||
![]() |
7503d4812c | ||
![]() |
1fd8b0b4c5 | ||
![]() |
8615cf88ab | ||
![]() |
f73a13dc4a | ||
![]() |
f973e2effa | ||
![]() |
f9fed16608 | ||
![]() |
0578ed0c86 | ||
![]() |
61520f5bd6 | ||
![]() |
be853ec931 | ||
![]() |
440b92adf0 | ||
![]() |
8fa4d22937 | ||
![]() |
397ae90d5c | ||
![]() |
7f97d0bdc5 | ||
![]() |
14956abb6e | ||
![]() |
61cea18ff0 | ||
![]() |
83a449df95 | ||
![]() |
9c683aaea9 | ||
![]() |
634b76b82c | ||
![]() |
a3ea43da52 | ||
![]() |
f464b85ffc | ||
![]() |
db055c6029 | ||
![]() |
eedc74943b | ||
![]() |
82b134ed46 | ||
![]() |
cc1de7e7d0 | ||
![]() |
a199d74069 | ||
![]() |
7a23d3024a | ||
![]() |
734888406c | ||
![]() |
e0ce24b3f5 | ||
![]() |
c13e62f72c | ||
![]() |
3d958de33e | ||
![]() |
4689688af3 | ||
![]() |
d402a68c73 | ||
![]() |
66d1dd3679 | ||
![]() |
43e48fc962 | ||
![]() |
1fea2a5101 | ||
![]() |
92e317ec2a | ||
![]() |
c5d1d2db62 | ||
![]() |
b1725bc18c | ||
![]() |
5500c2b3a8 | ||
![]() |
82db52aaf4 | ||
![]() |
654d966e6c | ||
![]() |
92663c81f5 | ||
![]() |
e3ebcc004d | ||
![]() |
26e41bc24a | ||
![]() |
c9e9412540 | ||
![]() |
14d6d63ad0 | ||
![]() |
2134213f92 | ||
![]() |
1935e508f7 | ||
![]() |
83b6ec7899 | ||
![]() |
9c0ffc26c1 | ||
![]() |
39b28a7e42 | ||
![]() |
09799c6617 | ||
![]() |
9fad2246ae | ||
![]() |
585da56118 | ||
![]() |
cccb482cd9 | ||
![]() |
eb79c75266 | ||
![]() |
19171122ca | ||
![]() |
a4665b1a14 | ||
![]() |
829f9ac61f | ||
![]() |
24b846328f | ||
![]() |
96c43866b1 | ||
![]() |
9043191927 | ||
![]() |
6e6ed81c19 | ||
![]() |
3597035f67 | ||
![]() |
9f39a18fc5 | ||
![]() |
ab2de9dccd | ||
![]() |
d66c6cf55e | ||
![]() |
4f24f7e5fc | ||
![]() |
3cd0e86bdd | ||
![]() |
4d230daf09 | ||
![]() |
9dd642f4af | ||
![]() |
a9f9176ba5 | ||
![]() |
637cce0f91 | ||
![]() |
74b97dcd14 | ||
![]() |
4e28a4d654 | ||
![]() |
9d62d13f88 | ||
![]() |
eeca838778 | ||
![]() |
d6f0d2c64c | ||
![]() |
44cfceba00 | ||
![]() |
349fb7c297 | ||
![]() |
f9b5cdfeb1 | ||
![]() |
de8eb1f8ee | ||
![]() |
0ff602be06 | ||
![]() |
7246d0ede2 | ||
![]() |
50468b6563 | ||
![]() |
6793236642 | ||
![]() |
d8ccc7896f | ||
![]() |
defd9aed32 | ||
![]() |
6ee1d4348d | ||
![]() |
27dbd12d7b | ||
![]() |
93fc5c5561 | ||
![]() |
b48d290064 | ||
![]() |
6bdb3cf115 | ||
![]() |
3b39026ba2 | ||
![]() |
70ffb564ff | ||
![]() |
4760d043d3 | ||
![]() |
8405e75931 | ||
![]() |
6c4a283b4c | ||
![]() |
7c6b55e79e | ||
![]() |
d8c4b22b88 | ||
![]() |
bbd98e7b86 | ||
![]() |
0536438317 | ||
![]() |
e2151a5fd7 | ||
![]() |
c84da3ce1b | ||
![]() |
bb50f65532 | ||
![]() |
28752718c5 | ||
![]() |
4c76791d4c | ||
![]() |
a66ae4ad55 | ||
![]() |
7841e80496 | ||
![]() |
27626d14b7 | ||
![]() |
f75e96cd3c | ||
![]() |
9bc1521615 | ||
![]() |
f2158218be | ||
![]() |
183190d089 | ||
![]() |
ebc3775f19 | ||
![]() |
97d7e84a04 | ||
![]() |
2b2b728b64 | ||
![]() |
46fa843b0e | ||
![]() |
e7d336ab0e | ||
![]() |
6e23b0af3b | ||
![]() |
735c33bd9f | ||
![]() |
47626a17d7 | ||
![]() |
ce86d3f230 | ||
![]() |
31878239c3 | ||
![]() |
1133a4ff9c | ||
![]() |
5822443b20 | ||
![]() |
cf05167c55 | ||
![]() |
a9504f1495 | ||
![]() |
3716c30264 | ||
![]() |
c1bf1ec718 | ||
![]() |
8b220079d0 | ||
![]() |
2df95970d9 | ||
![]() |
a4569974a1 | ||
![]() |
c9d3ab772c | ||
![]() |
1a276a2ee5 | ||
![]() |
4c4c720dc1 | ||
![]() |
ad707be01e | ||
![]() |
19d1f97600 | ||
![]() |
4f079affea | ||
![]() |
b4888103a6 | ||
![]() |
e2364b82ef | ||
![]() |
ba92645044 | ||
![]() |
2eb8b09b1a | ||
![]() |
bca610ed50 | ||
![]() |
53d6938b55 | ||
![]() |
286160646b | ||
![]() |
58068260a5 | ||
![]() |
57e8ce0d42 | ||
![]() |
4ed1e8b3e2 | ||
![]() |
8181454af5 | ||
![]() |
aa482e6d4f | ||
![]() |
0c9b2c6757 | ||
![]() |
bbfc435a5c | ||
![]() |
7e53094044 | ||
![]() |
565f002bc4 | ||
![]() |
42fdd4f4d8 | ||
![]() |
217aa2898e | ||
![]() |
02e7c1bb2b | ||
![]() |
bb57a8b6f3 | ||
![]() |
65d0f1a213 | ||
![]() |
4344b7ba69 | ||
![]() |
b0072add05 | ||
![]() |
4ea00e102b | ||
![]() |
ed99d12e8b | ||
![]() |
0a2bb1b71c | ||
![]() |
4bc8c70c75 | ||
![]() |
9f2581318a | ||
![]() |
48b9807c86 | ||
![]() |
0a821d2341 | ||
![]() |
78092a404f | ||
![]() |
d3df33ecdb | ||
![]() |
1160744830 | ||
![]() |
e884fc784e | ||
![]() |
c16788f481 | ||
![]() |
a1790fb6a8 | ||
![]() |
cbce4fd39d | ||
![]() |
93c0620151 | ||
![]() |
2faf56947b | ||
![]() |
53777b133b | ||
![]() |
594a69317a | ||
![]() |
3f9c375f1c | ||
![]() |
544c8edd9e | ||
![]() |
654bd15319 | ||
![]() |
b85171007e | ||
![]() |
f6ec33fa0c | ||
![]() |
7d0ff87cbe | ||
![]() |
8994e621f7 | ||
![]() |
d746591894 | ||
![]() |
161c1088f9 | ||
![]() |
07c0471902 | ||
![]() |
5f4ee1b6e7 | ||
![]() |
aa3a4a48e4 | ||
![]() |
0d27c9600f | ||
![]() |
1986b20499 | ||
![]() |
e7a10b0d6a | ||
![]() |
6b98644c58 | ||
![]() |
5397335ae8 | ||
![]() |
0b6d6e517d | ||
![]() |
b031543f5a | ||
![]() |
c6be05f9d7 | ||
![]() |
cb88e0d052 | ||
![]() |
54e82daae2 | ||
![]() |
1394c566eb | ||
![]() |
3183d954a0 | ||
![]() |
67b89e5c86 | ||
![]() |
c88c94886b | ||
![]() |
c1f6902cb9 | ||
![]() |
8817e68926 | ||
![]() |
b1868fb213 | ||
![]() |
6260814285 | ||
![]() |
07e6c5aac2 | ||
![]() |
0477a3066d | ||
![]() |
59639909b1 | ||
![]() |
64c37852b1 | ||
![]() |
bac668d287 | ||
![]() |
f372fa29b2 | ||
![]() |
8b24711bba | ||
![]() |
d4c28fc5f5 | ||
![]() |
ca5f2ac3ec | ||
![]() |
15f9590427 | ||
![]() |
21a246eb42 | ||
![]() |
1bbaec81ce | ||
![]() |
7952feb48b | ||
![]() |
52aebdf223 | ||
![]() |
6b16604c26 | ||
![]() |
3c4d52732e | ||
![]() |
d56d267f7d | ||
![]() |
8eb31944a5 | ||
![]() |
ed2fbcd13a | ||
![]() |
9f4942e9a7 | ||
![]() |
982a10ac44 | ||
![]() |
e59a9872b4 | ||
![]() |
9aedd32e01 | ||
![]() |
dd0ca4dd60 | ||
![]() |
3e7d2df6f3 | ||
![]() |
02e709e89e | ||
![]() |
1114e5effa | ||
![]() |
c40fab214d | ||
![]() |
441c050808 | ||
![]() |
85425f64a5 | ||
![]() |
b445ee3763 | ||
![]() |
95a7f0269a | ||
![]() |
db63764e22 | ||
![]() |
03578b69f3 | ||
![]() |
8cbaee47a0 | ||
![]() |
bcded5ae25 | ||
![]() |
7227b636c6 | ||
![]() |
af715f71e7 | ||
![]() |
52bc675fcb | ||
![]() |
1920f211b0 | ||
![]() |
804117c456 | ||
![]() |
9a4d1686a6 | ||
![]() |
e8dda03441 | ||
![]() |
4b214b4710 | ||
![]() |
6ed34976c9 | ||
![]() |
069092eb9d | ||
![]() |
dc7d323295 | ||
![]() |
cbedfd680f | ||
![]() |
a1e2e2a13d | ||
![]() |
a53a40c43e | ||
![]() |
33489c8cb8 | ||
![]() |
c382d8f7ea | ||
![]() |
f2ccf70f8d | ||
![]() |
ff04e38326 | ||
![]() |
1123fca3f2 | ||
![]() |
33e2d15495 | ||
![]() |
b265e8099a | ||
![]() |
a2b3f9aeb0 | ||
![]() |
d19295a68e | ||
![]() |
9f5d8d1a2a | ||
![]() |
e75abacec6 | ||
![]() |
1c31e8ffc2 | ||
![]() |
1083a4c0b7 | ||
![]() |
d212be799a | ||
![]() |
84986c7695 | ||
![]() |
aa65f94c67 | ||
![]() |
dc80242e51 | ||
![]() |
f2c63e5eec | ||
![]() |
1fc91dc459 | ||
![]() |
a2e4789b3e | ||
![]() |
7d58524185 | ||
![]() |
635e20d057 | ||
![]() |
1c3f7c4088 | ||
![]() |
5c3b0cda2e | ||
![]() |
a3c6486e52 | ||
![]() |
741d2b761a | ||
![]() |
a0ffe71db3 | ||
![]() |
ecf812db83 | ||
![]() |
afd3b96e2e | ||
![]() |
b79e6c0b3e | ||
![]() |
c6f8ad24bd | ||
![]() |
d4d05e496a | ||
![]() |
0a88329526 | ||
![]() |
b4344b5ab5 | ||
![]() |
4ac836fde4 | ||
![]() |
7897448a5b | ||
![]() |
94f4011844 | ||
![]() |
3f8e6020f7 | ||
![]() |
beb65f011d | ||
![]() |
c2f894963a | ||
![]() |
dacea8edf9 | ||
![]() |
3fed2ab64d | ||
![]() |
476652da0a | ||
![]() |
35289050e4 | ||
![]() |
ed9d7f18a6 | ||
![]() |
a7d1053ff5 | ||
![]() |
97e2b4666b | ||
![]() |
7d8cc4f940 | ||
![]() |
ee2f995fc7 | ||
![]() |
7e852f8c14 | ||
![]() |
b4c1692d14 | ||
![]() |
c0858b247f | ||
![]() |
0a956f56aa | ||
![]() |
66105c6e7e | ||
![]() |
bb1ab0afd9 | ||
![]() |
0d51d9e4cf | ||
![]() |
e3789e31ef | ||
![]() |
8a6b583cdc | ||
![]() |
86b8b9051f | ||
![]() |
4c0763792d | ||
![]() |
599eb5e3e4 | ||
![]() |
31fe25aa78 | ||
![]() |
252657905f | ||
![]() |
77a5e817a5 | ||
![]() |
2521e8103d | ||
![]() |
47fcb998f5 | ||
![]() |
455c40677b | ||
![]() |
9ae8e4c006 | ||
![]() |
d514516543 | ||
![]() |
1024eae742 | ||
![]() |
dad1f01c5b | ||
![]() |
ce53f35974 | ||
![]() |
3d19e800ab | ||
![]() |
2a54baf60e | ||
![]() |
4544fe7571 | ||
![]() |
a125b0179a | ||
![]() |
6b69acdf8b | ||
![]() |
8c11a2e5a3 | ||
![]() |
693c2bc175 | ||
![]() |
8b34b4bd0b | ||
![]() |
8cce57ba44 | ||
![]() |
63f81ed027 | ||
![]() |
c9ebc0ea25 | ||
![]() |
15a214e435 | ||
![]() |
0b3327f04d | ||
![]() |
0839c100c0 | ||
![]() |
08cfdcd802 | ||
![]() |
a1bb3835cc | ||
![]() |
e590cd2b99 | ||
![]() |
77b620e50e | ||
![]() |
9bc723d256 | ||
![]() |
b9f9a230e6 | ||
![]() |
ce1ffa4624 | ||
![]() |
17aa36d343 | ||
![]() |
cc0965f9f9 | ||
![]() |
0e728d7751 | ||
![]() |
3e6cf75d73 | ||
![]() |
bbedba8b18 | ||
![]() |
c8d756dde3 | ||
![]() |
97a8dbb71e | ||
![]() |
6835804dab | ||
![]() |
1a2a374380 | ||
![]() |
2b84afc1e3 | ||
![]() |
bb3d23f7f6 | ||
![]() |
7511ea27e2 | ||
![]() |
adbe3a2312 | ||
![]() |
eda50a91df | ||
![]() |
7853bb8042 | ||
![]() |
37de1b2d25 | ||
![]() |
0c4ac0b48a | ||
![]() |
c24cf44c6a | ||
![]() |
11a8ab47fa | ||
![]() |
7feeb72721 | ||
![]() |
01447d94d1 | ||
![]() |
e267a63330 | ||
![]() |
c65a24486d | ||
![]() |
42e786b15b | ||
![]() |
7a04673dd7 | ||
![]() |
c47d2da0cb | ||
![]() |
fd12eddb5d | ||
![]() |
0b56599d28 | ||
![]() |
27de94b915 | ||
![]() |
9e31f2b1de | ||
![]() |
13ad103823 | ||
![]() |
ff5a73de49 | ||
![]() |
275a6ec63f | ||
![]() |
604da0f6ea | ||
![]() |
72a19dd448 | ||
![]() |
3a73f6b8ec | ||
![]() |
343474a570 | ||
![]() |
91d82bf8c7 | ||
![]() |
ed19060074 | ||
![]() |
f230a67b94 | ||
![]() |
849f101feb | ||
![]() |
f45083ce82 | ||
![]() |
4c143ae9af | ||
![]() |
cd1a1d5778 | ||
![]() |
e28e7a72aa | ||
![]() |
fc9488211f | ||
![]() |
28767c4d34 | ||
![]() |
c6c7b05d7b | ||
![]() |
5526e91b6e | ||
![]() |
9e123695d0 | ||
![]() |
092cc47afc | ||
![]() |
fd20059f68 | ||
![]() |
609aae684f | ||
![]() |
49940877d1 | ||
![]() |
22ae86104b | ||
![]() |
f8dd4c160b | ||
![]() |
11061a23b1 | ||
![]() |
d8b0f213b2 | ||
![]() |
e9fbe4b2c1 | ||
![]() |
edcb351107 | ||
![]() |
0c14640352 | ||
![]() |
cfa30f9876 | ||
![]() |
af60dd3634 | ||
![]() |
ccabce1b34 | ||
![]() |
9915a18810 | ||
![]() |
a78373f324 | ||
![]() |
1d7476a725 | ||
![]() |
e8e78ebfdd | ||
![]() |
b77b0a3d81 | ||
![]() |
95b260f3a9 | ||
![]() |
97a9726845 | ||
![]() |
020aea033c | ||
![]() |
0ac46316af | ||
![]() |
94d47dc25e | ||
![]() |
debf08cac0 | ||
![]() |
ce1393d2d4 | ||
![]() |
fac482c442 | ||
![]() |
ee35540b6e | ||
![]() |
f77507e825 | ||
![]() |
0021efd593 | ||
![]() |
0d955bb873 | ||
![]() |
7fa2e8d2d3 | ||
![]() |
713d94d881 | ||
![]() |
4ecf8964b8 | ||
![]() |
11d044fa6e | ||
![]() |
a2104c5404 | ||
![]() |
1abed05413 | ||
![]() |
1465895ff7 | ||
![]() |
452025e984 | ||
![]() |
d537dd93d5 | ||
![]() |
650a1e807c | ||
![]() |
67f8a33cad | ||
![]() |
ff4f096f1d | ||
![]() |
b5cb353ab5 | ||
![]() |
17a38dfbed | ||
![]() |
f773683601 | ||
![]() |
abeaf828a3 | ||
![]() |
23a8a4201a | ||
![]() |
2d409e5c09 | ||
![]() |
2d57904bf4 | ||
![]() |
8fa83e1be7 | ||
![]() |
8875e73765 | ||
![]() |
65766fcaac | ||
![]() |
4cd4010a70 | ||
![]() |
d21da5643b | ||
![]() |
ba700e6387 | ||
![]() |
bd90fd7033 | ||
![]() |
fb3d352d3a | ||
![]() |
690852e157 | ||
![]() |
aa84d21bcf | ||
![]() |
4d62977c7b | ||
![]() |
cbac2e7bbb | ||
![]() |
88ee4c5b30 | ||
![]() |
12c46c5d8b | ||
![]() |
ab7d4e0e60 | ||
![]() |
708c6162c4 | ||
![]() |
7834bba6f7 | ||
![]() |
857c8aaaa2 | ||
![]() |
1253e6c64e | ||
![]() |
b610b2ecc7 | ||
![]() |
11addbe9c8 | ||
![]() |
709ef05714 | ||
![]() |
c51767eef1 | ||
![]() |
5aab9e878f | ||
![]() |
e7751e170e | ||
![]() |
776d345bc3 | ||
![]() |
a8fc30a13f | ||
![]() |
2d57b1b470 | ||
![]() |
90f21fa5db | ||
![]() |
6638d0e507 | ||
![]() |
c6793d477a | ||
![]() |
11e01ec074 | ||
![]() |
1d827caaaf | ||
![]() |
ba4db78ed9 | ||
![]() |
a321f4c842 | ||
![]() |
b1c465eab0 | ||
![]() |
5134b05af9 | ||
![]() |
dc3a93be99 | ||
![]() |
49aabfec02 | ||
![]() |
11d0d207fd | ||
![]() |
eed3245b1b | ||
![]() |
a7bbde1699 | ||
![]() |
bacccafe3c | ||
![]() |
3a80bd47cc | ||
![]() |
152917d5e1 | ||
![]() |
c588e173f8 | ||
![]() |
c0d2ead351 | ||
![]() |
6ffe5f8343 | ||
![]() |
2a823ef3e4 | ||
![]() |
5159c3f3ca | ||
![]() |
d092924961 | ||
![]() |
e14132b826 | ||
![]() |
df36ff638e | ||
![]() |
ad1fee8233 | ||
![]() |
3883d511a9 | ||
![]() |
10803b0d25 | ||
![]() |
a570a57863 | ||
![]() |
a7590f9717 | ||
![]() |
35224ca8d4 | ||
![]() |
40563e4f84 | ||
![]() |
c30901e9be | ||
![]() |
4fc0a91b31 | ||
![]() |
576417648a | ||
![]() |
0aace5230f | ||
![]() |
8d5ba7a6d7 | ||
![]() |
f8153b84de | ||
![]() |
fac5b0c9e7 | ||
![]() |
eb06413188 | ||
![]() |
066c870271 | ||
![]() |
1a92fa788d | ||
![]() |
3a0ab1cc0c | ||
![]() |
8a7d588bb0 | ||
![]() |
4943d79d68 | ||
![]() |
5de10c34b7 | ||
![]() |
2fbe4c2388 | ||
![]() |
767cb27f78 | ||
![]() |
b8c75c3fc0 | ||
![]() |
edeadf62ef | ||
![]() |
5ac80057c4 | ||
![]() |
210e30556e | ||
![]() |
0487b4213f | ||
![]() |
8f29c14ac4 | ||
![]() |
9543d8be10 | ||
![]() |
43e0003e79 | ||
![]() |
30e63a7244 | ||
![]() |
575f520461 | ||
![]() |
df618c9e91 | ||
![]() |
ebd13a4bae | ||
![]() |
7aa54b5a23 | ||
![]() |
b20cb36f5d | ||
![]() |
86f8c1863e | ||
![]() |
19d85c8566 | ||
![]() |
4241f91a0a | ||
![]() |
05624f099a | ||
![]() |
920f4099b6 | ||
![]() |
aa26750e01 | ||
![]() |
bdb3be7084 | ||
![]() |
14987f2b21 | ||
![]() |
47af6a0bbf | ||
![]() |
1487578ff4 | ||
![]() |
5a03a5d578 | ||
![]() |
2dd137329d | ||
![]() |
db37deb589 | ||
![]() |
ec7a3c516d | ||
![]() |
988d2ffab6 | ||
![]() |
5e2c66e241 | ||
![]() |
0ccfb0d781 | ||
![]() |
01ce961c00 | ||
![]() |
7579b691df | ||
![]() |
2a14deab0c | ||
![]() |
1acefb9eac | ||
![]() |
fb45b8f45c | ||
![]() |
d59a9c2e8a | ||
![]() |
a1c3d8723d | ||
![]() |
c4bd65e97c | ||
![]() |
eac3a2d7ac | ||
![]() |
55bb584778 | ||
![]() |
4584943531 | ||
![]() |
55d2bc0e0b | ||
![]() |
c0cc2fa1b8 | ||
![]() |
c1ecbd4de1 | ||
![]() |
0fb6b8a8ff | ||
![]() |
78ba9adfed | ||
![]() |
3f642ea34f | ||
![]() |
1a3927b40c | ||
![]() |
b09d73ab68 | ||
![]() |
9311addca3 | ||
![]() |
3c76478510 | ||
![]() |
545551e2bc | ||
![]() |
d5e0a95ff1 | ||
![]() |
e811109566 | ||
![]() |
0f805bfdfb | ||
![]() |
200cd629df | ||
![]() |
e8a29c1e82 | ||
![]() |
8589e4f3d3 | ||
![]() |
948e54772d | ||
![]() |
2d4b05a71b | ||
![]() |
a6433e84f5 | ||
![]() |
083854e2de | ||
![]() |
3508c4aa87 | ||
![]() |
d04b15ee25 | ||
![]() |
d6143e4c73 | ||
![]() |
d8ffc3c187 | ||
![]() |
2af788956e | ||
![]() |
d399141d13 | ||
![]() |
f6f899f103 | ||
![]() |
5b8919a246 | ||
![]() |
fe1989979c | ||
![]() |
0895fa9331 | ||
![]() |
b90fe0c52a | ||
![]() |
ab0e22159c | ||
![]() |
6ac0afbce0 | ||
![]() |
9532527e52 | ||
![]() |
defdf9f34c | ||
![]() |
a7dce2dc4e | ||
![]() |
ea8c51f8f3 | ||
![]() |
1e66878447 | ||
![]() |
6cfbdebf6a | ||
![]() |
a4469dcc14 | ||
![]() |
ac3eac7154 | ||
![]() |
65ac9065fa | ||
![]() |
5143e6763b | ||
![]() |
5660a8e9f5 | ||
![]() |
bc2b17df0b | ||
![]() |
f9e7c95348 | ||
![]() |
c6afec4759 | ||
![]() |
eb13498fff | ||
![]() |
163057f521 | ||
![]() |
d8ff1f9873 | ||
![]() |
97b7760de8 | ||
![]() |
acca0f6946 | ||
![]() |
f3f6d67d46 | ||
![]() |
63773d5226 | ||
![]() |
4e4559fc8c | ||
![]() |
44d540d36c | ||
![]() |
c6253a6515 | ||
![]() |
65a5ec2ef3 | ||
![]() |
70e8b35944 | ||
![]() |
ddba25a674 | ||
![]() |
14e6cb6a8f | ||
![]() |
d4619150f3 | ||
![]() |
5c1a1a2dd5 | ||
![]() |
7cfa690aaf | ||
![]() |
8d663ff055 | ||
![]() |
0b86343dd0 | ||
![]() |
e127898312 | ||
![]() |
51f83f25e6 | ||
![]() |
8f3da9f68a | ||
![]() |
4c1998f137 | ||
![]() |
84dc1c1b85 | ||
![]() |
326110e38d | ||
![]() |
f63b81c52a | ||
![]() |
bd2e221da3 | ||
![]() |
1fe673703f | ||
![]() |
c10467d22e | ||
![]() |
e21ec0a271 | ||
![]() |
3a1e492afc | ||
![]() |
e83c24c91b | ||
![]() |
81183c71c1 | ||
![]() |
979298ce57 | ||
![]() |
66e727e1b2 | ||
![]() |
35b1dda3a3 | ||
![]() |
6925779f59 | ||
![]() |
125d7daf4a | ||
![]() |
57c5ea4bd5 | ||
![]() |
e75fbdb136 | ||
![]() |
cb1020b26d | ||
![]() |
e1945506f3 | ||
![]() |
8d402971a8 | ||
![]() |
7e0087304b | ||
![]() |
20b02e738c | ||
![]() |
d042dba4d6 | ||
![]() |
a69ce37546 | ||
![]() |
3a798112f2 | ||
![]() |
3e09b4a725 | ||
![]() |
c5dd3e5542 | ||
![]() |
2fa9cbfd9e | ||
![]() |
c2c0de1696 | ||
![]() |
cc46d2ebb4 | ||
![]() |
d0510d8ea2 | ||
![]() |
7b0ba87b24 | ||
![]() |
67682a2683 | ||
![]() |
b1776b5ae5 | ||
![]() |
7a6968cb46 | ||
![]() |
23af4ee93e | ||
![]() |
0317562605 | ||
![]() |
1861e0b2cc | ||
![]() |
e5974809e8 | ||
![]() |
abfae17b9a | ||
![]() |
84b1a62ad2 | ||
![]() |
b6bcaec9bc | ||
![]() |
f19ed84cc4 | ||
![]() |
6c5a946fda | ||
![]() |
d58c9a57c6 | ||
![]() |
c6ffc9427e | ||
![]() |
0f1e64f3b2 | ||
![]() |
1ce5ad3003 | ||
![]() |
64694955c0 | ||
![]() |
97a90d8122 | ||
![]() |
3cd2c08277 | ||
![]() |
d804a1f146 | ||
![]() |
01581dc61c | ||
![]() |
9cc70a3fb6 | ||
![]() |
c37a2ca1c8 | ||
![]() |
80b38210b2 | ||
![]() |
e5dffb0097 | ||
![]() |
7396f5709e | ||
![]() |
41cf9134a6 | ||
![]() |
e960269653 | ||
![]() |
5e581b409c | ||
![]() |
f03d39eefb | ||
![]() |
deaa897928 | ||
![]() |
3f9758e706 | ||
![]() |
91baf552cf | ||
![]() |
16466cf7d6 | ||
![]() |
3c25c265df | ||
![]() |
a8529bd8d1 | ||
![]() |
f3e6913d57 | ||
![]() |
2c8df7d12e | ||
![]() |
dafdecb4e8 | ||
![]() |
ba03ca76c4 | ||
![]() |
c5874e0da5 | ||
![]() |
422cd1fbbf | ||
![]() |
8a9e2877da | ||
![]() |
71fd54ec9e | ||
![]() |
ff84b35e5d | ||
![]() |
ae32ac86b4 | ||
![]() |
bca3eaf709 | ||
![]() |
a03343827e | ||
![]() |
0f64202a29 | ||
![]() |
4fb7c642d5 | ||
![]() |
6b36e64e00 | ||
![]() |
84059f1faa | ||
![]() |
15376957f7 | ||
![]() |
da934be354 | ||
![]() |
3eee6b4218 | ||
![]() |
ff9400abde | ||
![]() |
e985bf0e7a | ||
![]() |
245908909b | ||
![]() |
2f63d321d1 | ||
![]() |
2222cb8fbf | ||
![]() |
897814a153 | ||
![]() |
8b7b41df41 | ||
![]() |
8f9a174f0a | ||
![]() |
df90187e06 | ||
![]() |
c9e0613b53 | ||
![]() |
a576f7a1ea | ||
![]() |
239b39cf52 | ||
![]() |
1f90529365 | ||
![]() |
acfc498344 | ||
![]() |
a1ac1f4b2e | ||
![]() |
8a892d47e5 | ||
![]() |
d91d503eb2 | ||
![]() |
e84bf7144c | ||
![]() |
73abacc20b | ||
![]() |
aea24279ba | ||
![]() |
5c5968e742 | ||
![]() |
3813ed9c2e | ||
![]() |
ec2c197e1f | ||
![]() |
0060c8ddb9 | ||
![]() |
f9c11c2dbf | ||
![]() |
65565a96b7 | ||
![]() |
b62ee94b89 | ||
![]() |
594897e9a5 | ||
![]() |
83f8bfd2ca | ||
![]() |
40e9f6fa2c | ||
![]() |
35afd2a8fb | ||
![]() |
a454ad5c41 | ||
![]() |
d9be1d7e32 | ||
![]() |
b625ec30d9 | ||
![]() |
4be8e155d1 | ||
![]() |
6726fcd25d | ||
![]() |
cd048be932 | ||
![]() |
5d477c4b4e | ||
![]() |
9244f0f113 | ||
![]() |
bc9a2cc92a | ||
![]() |
309a07bf4c | ||
![]() |
a0f06cab43 | ||
![]() |
1d65e2e50c | ||
![]() |
c60d4c2bc4 | ||
![]() |
f0d22e18c4 | ||
![]() |
9d36e8d853 | ||
![]() |
f5313268d7 | ||
![]() |
2c17ef4803 | ||
![]() |
32251dcf4e | ||
![]() |
94f64797de | ||
![]() |
d69546902b | ||
![]() |
72149a054e | ||
![]() |
3aff9726eb | ||
![]() |
0b8a57bcba | ||
![]() |
455486db7c | ||
![]() |
43511c316e | ||
![]() |
34e4b594cd | ||
![]() |
6314ee8780 | ||
![]() |
a4cd66f599 | ||
![]() |
729fb2e0b4 | ||
![]() |
dc2d8acc92 | ||
![]() |
f7c595ff18 | ||
![]() |
3d81a1e5ec | ||
![]() |
00d955eb40 | ||
![]() |
fd27647440 | ||
![]() |
27fb5fbbca | ||
![]() |
d810315884 | ||
![]() |
820970328b | ||
![]() |
3e2fcf4acd | ||
![]() |
07dedee37b | ||
![]() |
a13dec34ef | ||
![]() |
75f3127ba5 | ||
![]() |
072ec184d3 | ||
![]() |
321b40a386 | ||
![]() |
0a863b8c2b | ||
![]() |
b13fae2556 | ||
![]() |
c012105b90 | ||
![]() |
f26d503694 | ||
![]() |
6e4cd65544 | ||
![]() |
08c5095ad7 | ||
![]() |
dfb0e4f57b | ||
![]() |
29257f107a | ||
![]() |
ecde490967 | ||
![]() |
51a6467968 | ||
![]() |
9127993d84 | ||
![]() |
ec2370b76d | ||
![]() |
204431812b | ||
![]() |
627b4484ec | ||
![]() |
442991a712 | ||
![]() |
7eae5d4eab | ||
![]() |
f3914c86b9 | ||
![]() |
fafb752827 | ||
![]() |
2e9838699b | ||
![]() |
2ed1bf05d1 | ||
![]() |
ba9c3f41c9 | ||
![]() |
e35fae8f32 | ||
![]() |
b0d5f3bd64 | ||
![]() |
ed640bb181 | ||
![]() |
aff4cf1103 | ||
![]() |
9883f6e679 | ||
![]() |
ea91834407 | ||
![]() |
90c35f8181 | ||
![]() |
2a8c160569 | ||
![]() |
1d5117a607 | ||
![]() |
99d0f41d98 | ||
![]() |
7b522c0de8 | ||
![]() |
cbf4be04fc | ||
![]() |
f55509aadd | ||
![]() |
7e369d63b3 | ||
![]() |
6cf71a06c0 | ||
![]() |
a3511ba9e2 | ||
![]() |
49400c08cd | ||
![]() |
1624b87b9b | ||
![]() |
dcf387c91a | ||
![]() |
4c9c903648 | ||
![]() |
d12aaddc34 | ||
![]() |
cb01977029 | ||
![]() |
7a7632fa98 | ||
![]() |
76a3f9d402 | ||
![]() |
96dfeea412 | ||
![]() |
a4746d75e6 | ||
![]() |
52638b9d8e | ||
![]() |
514d00698d | ||
![]() |
c4a4de0056 | ||
![]() |
28a4be2536 | ||
![]() |
6e9803cd9f | ||
![]() |
63b1d6642c | ||
![]() |
28955bb449 | ||
![]() |
dcd7cae7cf | ||
![]() |
c954bb9456 | ||
![]() |
be0b298d81 | ||
![]() |
409026044b | ||
![]() |
0c311bdcf9 | ||
![]() |
626912a9a4 | ||
![]() |
058c884f1f | ||
![]() |
2e0cd7af5e | ||
![]() |
82706fd958 | ||
![]() |
e81775e63d | ||
![]() |
8ccb9e04eb | ||
![]() |
ae97ccba80 | ||
![]() |
8ab9ed5d4e | ||
![]() |
886ce72374 | ||
![]() |
a658c8b067 | ||
![]() |
209d7ef613 | ||
![]() |
ab1e8cbb50 | ||
![]() |
cbe6973b66 | ||
![]() |
a6c76a85ce | ||
![]() |
265f9e5433 | ||
![]() |
abb825b43e | ||
![]() |
f821407060 | ||
![]() |
381aca98d0 | ||
![]() |
b86d988b3c | ||
![]() |
a67de845f6 | ||
![]() |
808378129e | ||
![]() |
0d75012462 | ||
![]() |
c4148cec33 | ||
![]() |
32a0cdb2f9 | ||
![]() |
68823fd9b2 | ||
![]() |
d38b1abb49 | ||
![]() |
ebadd21c64 | ||
![]() |
f1616a15d0 | ||
![]() |
39bee4b9d2 | ||
![]() |
3f867e0167 | ||
![]() |
4300622c4a | ||
![]() |
9ad7381c11 | ||
![]() |
e5f287dad5 | ||
![]() |
aa57becc41 | ||
![]() |
a5fc9fcb79 | ||
![]() |
5134d0dee1 | ||
![]() |
7269c37c8f | ||
![]() |
9abe89a2dc | ||
![]() |
79aecf21bb | ||
![]() |
4253ff8e12 | ||
![]() |
fb7b820187 | ||
![]() |
3a2d775196 | ||
![]() |
c780fde38e | ||
![]() |
a47bb96536 | ||
![]() |
0e256a21a5 | ||
![]() |
3b864f8af5 | ||
![]() |
540fc4b76b | ||
![]() |
f78390b094 | ||
![]() |
0b635aafae | ||
![]() |
8ae90af01f | ||
![]() |
31f48c0cf0 | ||
![]() |
cd0ef08783 | ||
![]() |
4203fd2993 | ||
![]() |
54e56a47da | ||
![]() |
d8a28621cc | ||
![]() |
177bfe38f6 | ||
![]() |
b19b2e146a | ||
![]() |
3093d7e95a | ||
![]() |
4e0d8a0cbb | ||
![]() |
523151ddf0 | ||
![]() |
0a7cb94ea8 | ||
![]() |
d4b7c0e633 | ||
![]() |
3f76affbd2 | ||
![]() |
a8f8970601 | ||
![]() |
178b5ff626 | ||
![]() |
92d347f566 | ||
![]() |
cafd18bb2c | ||
![]() |
ce3e339201 | ||
![]() |
a863f0d955 | ||
![]() |
d7e84d4e11 | ||
![]() |
c47f7c2806 | ||
![]() |
cb4c9aa64f | ||
![]() |
15f4656d9a | ||
![]() |
cba863dc5f | ||
![]() |
ab6aa5463f | ||
![]() |
9e3af9b51f | ||
![]() |
143e566498 | ||
![]() |
000aaaf95d | ||
![]() |
42387bff6f | ||
![]() |
3fe6268f10 | ||
![]() |
f749f9ceef | ||
![]() |
c284a90663 | ||
![]() |
50442cf96b | ||
![]() |
4bfacf4a39 | ||
![]() |
3afd25691a | ||
![]() |
a6a963bec1 | ||
![]() |
d587a4b859 | ||
![]() |
8d5b142664 | ||
![]() |
e44664a3b5 | ||
![]() |
31599eb282 | ||
![]() |
d6ac4dc22a | ||
![]() |
1c978e7333 | ||
![]() |
0b3f45bb1b | ||
![]() |
24f2df926a | ||
![]() |
6c4a5fa38c | ||
![]() |
1726df6eaf | ||
![]() |
f00e8655ac | ||
![]() |
4312600248 | ||
![]() |
41395d9e00 | ||
![]() |
3e00bcbf9f | ||
![]() |
30af106563 | ||
![]() |
32c6966e4b | ||
![]() |
0b402b23f7 | ||
![]() |
3e9d7da4da | ||
![]() |
691fcaeee7 | ||
![]() |
58594ef2be | ||
![]() |
1c2a88373c | ||
![]() |
9f30910653 | ||
![]() |
d039176d75 | ||
![]() |
19a0eb1761 | ||
![]() |
41a6c2e501 | ||
![]() |
fbc7fc6645 | ||
![]() |
eea098d22d | ||
![]() |
573dbb431e | ||
![]() |
ecfe3a6533 | ||
![]() |
8216cbc4f6 | ||
![]() |
9a4d1d1375 | ||
![]() |
616e140420 | ||
![]() |
52ea2fd45d | ||
![]() |
050c1e268d | ||
![]() |
7afc4310f6 | ||
![]() |
7b2cba7a6c | ||
![]() |
39a3bb2c7d | ||
![]() |
91ff5617ef | ||
![]() |
7eb2843718 | ||
![]() |
91490ed713 | ||
![]() |
081272c5a9 | ||
![]() |
f1782868f9 | ||
![]() |
45ecea6330 | ||
![]() |
f4bc825cf8 | ||
![]() |
fb1fc4e7c6 | ||
![]() |
ed3d222327 | ||
![]() |
8c0ae7be83 | ||
![]() |
66ee22c3e6 | ||
![]() |
2db1222e45 | ||
![]() |
abbd057eb9 | ||
![]() |
6da5b8ccc5 | ||
![]() |
c5c202c04e | ||
![]() |
128e2b917d | ||
![]() |
2f4173b267 | ||
![]() |
5780ffad12 | ||
![]() |
6fe40f13a7 | ||
![]() |
3fea1e4df5 | ||
![]() |
13d2552274 | ||
![]() |
3d0bfbb4f4 | ||
![]() |
770a6f0138 | ||
![]() |
16d49695ad | ||
![]() |
6893ef034b | ||
![]() |
b893e88e8b | ||
![]() |
f2be9e4381 | ||
![]() |
53b5d6d167 | ||
![]() |
92bfe34716 | ||
![]() |
6e36d4ed48 | ||
![]() |
9b5d91e33b | ||
![]() |
c7686b2977 | ||
![]() |
3e754a6f35 | ||
![]() |
5df096baf3 | ||
![]() |
45cbaa2d13 | ||
![]() |
720a17acd7 | ||
![]() |
dab00ab036 | ||
![]() |
7ba37ce249 | ||
![]() |
b2da6d86f3 | ||
![]() |
56192d9e48 | ||
![]() |
00192b019c | ||
![]() |
21416f453a | ||
![]() |
ad16804344 | ||
![]() |
63744a3dd7 | ||
![]() |
e5db44ca90 | ||
![]() |
032cbe0dd5 | ||
![]() |
7d34a10e4a | ||
![]() |
62f1fc62a7 | ||
![]() |
c26cb4d2be | ||
![]() |
a203fb1037 | ||
![]() |
adeec009e7 | ||
![]() |
8e6c0bec78 | ||
![]() |
69ae9e4a9d | ||
![]() |
1381f6d5f2 | ||
![]() |
a6c951352f | ||
![]() |
0a172cc053 | ||
![]() |
f5fa4a3866 | ||
![]() |
8cbcbb0655 | ||
![]() |
35d9d2864f | ||
![]() |
bb5c0d0c34 | ||
![]() |
226cdc9645 | ||
![]() |
1b35154e2b | ||
![]() |
7c69ab987a | ||
![]() |
ba03230e72 | ||
![]() |
77cb0db9c2 | ||
![]() |
ad080410a3 | ||
![]() |
dab72c3efa | ||
![]() |
32f882093b | ||
![]() |
6ac54641c6 | ||
![]() |
1d38209520 | ||
![]() |
c1f3a5c67d | ||
![]() |
6e543fbcfd | ||
![]() |
9dee164790 | ||
![]() |
b0cc2a8614 | ||
![]() |
f4ecc9bab8 | ||
![]() |
c3884e9900 | ||
![]() |
39c88facc5 | ||
![]() |
1dce6b5fa3 | ||
![]() |
6b1aa3cf04 | ||
![]() |
2e1893f7d3 | ||
![]() |
d1fd844bc4 | ||
![]() |
db273ce50c | ||
![]() |
2338611046 | ||
![]() |
7d3a05f2d1 | ||
![]() |
a02e0b3c98 | ||
![]() |
952d63a127 | ||
![]() |
23bed522ab | ||
![]() |
813acae961 | ||
![]() |
352e2c02dc | ||
![]() |
9ebb135ccb | ||
![]() |
a96939be0f | ||
![]() |
cb3870f9f6 | ||
![]() |
25d628aea2 | ||
![]() |
aad8eb1999 | ||
![]() |
fc6b78a20c | ||
![]() |
4b3a8fefb6 | ||
![]() |
ec0562550a | ||
![]() |
73e14e0bb1 | ||
![]() |
822e125492 | ||
![]() |
b47cd6a3bc | ||
![]() |
95fa3a3879 | ||
![]() |
0b978e61aa | ||
![]() |
d6b974ba15 | ||
![]() |
ec09ac49f6 | ||
![]() |
ee738f1d6f | ||
![]() |
17c10f60d9 | ||
![]() |
24823e19e0 | ||
![]() |
c8e967ba1c | ||
![]() |
f7aa5f8653 | ||
![]() |
6da5a5abcb | ||
![]() |
0fdb644454 | ||
![]() |
f6a3ba26f9 | ||
![]() |
d1920788ac | ||
![]() |
fc1ff18ca7 | ||
![]() |
5f9a4ab8cc | ||
![]() |
920a847508 | ||
![]() |
1e17ba1768 | ||
![]() |
e17377d407 | ||
![]() |
b47459af58 | ||
![]() |
986bdac451 | ||
![]() |
b5b37d72a3 | ||
![]() |
096e3dee8f | ||
![]() |
e25282088b | ||
![]() |
da36829f96 | ||
![]() |
ff5055834b | ||
![]() |
b41abfd1f8 | ||
![]() |
e1cc242b52 | ||
![]() |
4589d1246d | ||
![]() |
66a5edd31a | ||
![]() |
57dec338ba | ||
![]() |
9ecc00a33b | ||
![]() |
ae6032e58e | ||
![]() |
c4d7e0568f | ||
![]() |
c311e96b63 | ||
![]() |
b66fbc0369 | ||
![]() |
151ddc08ec | ||
![]() |
b81c7c48d5 | ||
![]() |
e11100e584 | ||
![]() |
01027006a7 | ||
![]() |
38faa8fe10 | ||
![]() |
9abdc6c0fa | ||
![]() |
34b483ed75 | ||
![]() |
c48c5e44bd | ||
![]() |
b943a74476 | ||
![]() |
13badba158 | ||
![]() |
e1e5cc8f42 | ||
![]() |
6e1ed9ad55 | ||
![]() |
dd2370d9dd | ||
![]() |
45f2ec5f64 | ||
![]() |
e7a69b6a13 | ||
![]() |
10b12f24f0 | ||
![]() |
3b1e91342e | ||
![]() |
e7cef5bbcb | ||
![]() |
6ddec0d855 | ||
![]() |
c0d90e5b76 | ||
![]() |
6c22a997e6 | ||
![]() |
945c9cb8e0 | ||
![]() |
cf2206352f | ||
![]() |
4c5f125a6a | ||
![]() |
1fd45f10a2 | ||
![]() |
3592f8e92e | ||
![]() |
e083742426 | ||
![]() |
e5fc168a46 | ||
![]() |
be7067bc0a | ||
![]() |
1ba3b3dd7d | ||
![]() |
af8d281556 | ||
![]() |
0f73a011ce | ||
![]() |
53cea00323 | ||
![]() |
b7466365a1 | ||
![]() |
3b3226b678 | ||
![]() |
ab2e925b65 | ||
![]() |
0214ece238 | ||
![]() |
a6d04255a8 | ||
![]() |
9821453b5f | ||
![]() |
c61eb77a70 | ||
![]() |
57a2d20d61 | ||
![]() |
8c3bcc7229 | ||
![]() |
f956853550 | ||
![]() |
6849735e9d | ||
![]() |
06817df975 | ||
![]() |
98ccfea388 | ||
![]() |
9a1be03205 | ||
![]() |
026008a700 | ||
![]() |
b26fc771b1 | ||
![]() |
04619df818 | ||
![]() |
c1928ead7c | ||
![]() |
b43f9aec5a | ||
![]() |
79d749fc82 | ||
![]() |
bcc5f104db | ||
![]() |
99f6b2cdce | ||
![]() |
75d3845801 | ||
![]() |
c8e0acfef3 | ||
![]() |
da55d8e738 | ||
![]() |
40c25dc426 | ||
![]() |
f3a8b2f12e | ||
![]() |
dcd350dd90 | ||
![]() |
f826fb1d9a | ||
![]() |
123f4df31b | ||
![]() |
3211fb04d3 | ||
![]() |
17e12ccb6d | ||
![]() |
6eab4fb9e8 | ||
![]() |
8f8097aa2c | ||
![]() |
7a190f33f6 | ||
![]() |
7ec7a8fa44 | ||
![]() |
93b945ea42 | ||
![]() |
0058271aaa | ||
![]() |
cfa45beee1 | ||
![]() |
20ce1e77d9 | ||
![]() |
368346571a | ||
![]() |
7ea4380725 | ||
![]() |
15daecacdc | ||
![]() |
1b943f8191 | ||
![]() |
6d8baea4c2 | ||
![]() |
6683b5efff | ||
![]() |
783e51281a | ||
![]() |
b5ac24e9c1 | ||
![]() |
d1635d13cb | ||
![]() |
f80e39e2ca | ||
![]() |
a7a0a0300f | ||
![]() |
685bbb2e64 | ||
![]() |
e85f67f564 | ||
![]() |
a2b47741ae | ||
![]() |
eeb762e1e2 | ||
![]() |
6c5fc6b3d6 | ||
![]() |
3991e82539 | ||
![]() |
312cbf3e04 | ||
![]() |
ce2bfc008d | ||
![]() |
b2fe0097e6 | ||
![]() |
e4501f801e | ||
![]() |
7bef175590 | ||
![]() |
a4a102726e | ||
![]() |
a42ea69d0e | ||
![]() |
8f594c93cd | ||
![]() |
8f8a193c7e | ||
![]() |
c283fbe9b3 | ||
![]() |
53d89a7fd5 | ||
![]() |
68c2f75558 | ||
![]() |
2a3445c865 | ||
![]() |
10f9a7f252 | ||
![]() |
b1c5a2e221 | ||
![]() |
1d6e70a49d | ||
![]() |
310970a91b | ||
![]() |
07c1003905 | ||
![]() |
273d213509 | ||
![]() |
4d441a6f7b | ||
![]() |
3cc7b2c74d | ||
![]() |
275cccb136 | ||
![]() |
be11a6bf72 | ||
![]() |
0684ef95c5 | ||
![]() |
775cb1f4a4 | ||
![]() |
73f90dfd69 | ||
![]() |
8a0ffa93eb | ||
![]() |
7ddb3a4663 | ||
![]() |
9a66ce6b01 | ||
![]() |
08c3c187eb | ||
![]() |
b422faa4fe | ||
![]() |
a8dd848ca4 | ||
![]() |
143cb3d60b | ||
![]() |
92610f53c3 | ||
![]() |
30ece059cf | ||
![]() |
1e59d63e31 | ||
![]() |
7380163eaf | ||
![]() |
dc33ad1adf | ||
![]() |
b5414c27a3 | ||
![]() |
2f790b0165 | ||
![]() |
d185a84140 | ||
![]() |
749698eb54 | ||
![]() |
6323467879 | ||
![]() |
d94a34a2c1 | ||
![]() |
9005e4a68f | ||
![]() |
9e4f5a26dd | ||
![]() |
ae906b318a | ||
![]() |
8d373e009d | ||
![]() |
f0364b2eed | ||
![]() |
5af56eebd1 | ||
![]() |
5f3e27bbd7 | ||
![]() |
f6c958ff26 | ||
![]() |
c4fe54d004 | ||
![]() |
74b34fe239 | ||
![]() |
7124a7acc1 | ||
![]() |
2fffd6fe9f | ||
![]() |
6b1719de1c | ||
![]() |
0225449e12 | ||
![]() |
1a8e5872d1 | ||
![]() |
0e6fba083f | ||
![]() |
1178800abb | ||
![]() |
f061a6d793 | ||
![]() |
976635a22b | ||
![]() |
69c0da91e5 | ||
![]() |
306a7497fc | ||
![]() |
1addb6ddc1 | ||
![]() |
0a7fc94799 | ||
![]() |
cca5e69c64 | ||
![]() |
bbdd7d9b15 | ||
![]() |
60695fd89a | ||
![]() |
c5d59254af | ||
![]() |
2bcd7c839b | ||
![]() |
cc50d99712 | ||
![]() |
93c316f3b8 | ||
![]() |
7983c29f67 | ||
![]() |
22f386b35b | ||
![]() |
d6e4fc41c2 | ||
![]() |
f65d898f80 | ||
![]() |
f67f9bbf23 | ||
![]() |
735877d89a | ||
![]() |
ee60128334 | ||
![]() |
3bbd5e32f2 | ||
![]() |
2d4a0c9cbe | ||
![]() |
43e3fbc518 | ||
![]() |
c58ade6600 | ||
![]() |
33ae559eca | ||
![]() |
4f1fd37231 | ||
![]() |
6654cb65d7 | ||
![]() |
19d338cb50 | ||
![]() |
0bbe8b8004 | ||
![]() |
99d3cc1b2b | ||
![]() |
d6f340eb96 | ||
![]() |
bd3d643f96 | ||
![]() |
7bd5f61db7 | ||
![]() |
5e76e1b221 | ||
![]() |
9b3a0d1ad8 | ||
![]() |
d509097967 | ||
![]() |
b7bdc5ec69 | ||
![]() |
438ac55cb1 | ||
![]() |
6946d6a4a3 | ||
![]() |
2bcb7d73be | ||
![]() |
655bfaec80 | ||
![]() |
a3f56bb289 | ||
![]() |
b48f9ca907 | ||
![]() |
8589eab403 | ||
![]() |
1ee1842638 | ||
![]() |
70afce0325 | ||
![]() |
1f29679c0d | ||
![]() |
99b547bc1d | ||
![]() |
030afac8ab | ||
![]() |
121a65e4f4 | ||
![]() |
a8bcfb9a0c | ||
![]() |
9f9df52ba6 | ||
![]() |
676a516ff2 | ||
![]() |
4134949d72 | ||
![]() |
e6e6aecb93 | ||
![]() |
f7f696c310 | ||
![]() |
5ebaa15333 | ||
![]() |
e1965914a3 | ||
![]() |
fa2f76d4d4 | ||
![]() |
2c6c5a6dd1 | ||
![]() |
c29232fd0d | ||
![]() |
8fd2f1d22a |
69
.gitignore
vendored
Normal file
69
.gitignore
vendored
Normal file
@@ -0,0 +1,69 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
Makefile.in.in
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
compile
|
||||
config.guess
|
||||
config.h
|
||||
config.h.in
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
depcomp
|
||||
install-sh
|
||||
intltool-extract.in
|
||||
intltool-merge.in
|
||||
libtool
|
||||
ltmain.sh
|
||||
missing
|
||||
.deps
|
||||
src/mutter-wm.desktop
|
||||
src/mutter.desktop
|
||||
*.o
|
||||
*.a
|
||||
*.lo
|
||||
*.la
|
||||
.libs
|
||||
*.swp
|
||||
*.gir
|
||||
*.typelib
|
||||
tidy-enum-types.[ch]
|
||||
tidy-marshal.[ch]
|
||||
stamp-tidy-enum-types.h
|
||||
stamp-tidy-marshal.h
|
||||
stamp-h1
|
||||
*.gmo
|
||||
*.make
|
||||
*~
|
||||
stamp-it
|
||||
.intltool-merge-cache
|
||||
POTFILES
|
||||
50-metacity-desktop-key.xml
|
||||
50-metacity-key.xml
|
||||
inlinepixbufs.h
|
||||
libmutter.pc
|
||||
mutter
|
||||
mutter-theme-viewer
|
||||
mutter.desktop
|
||||
mutter.schemas
|
||||
testasyncgetprop
|
||||
testboxes
|
||||
testgradient
|
||||
mutter-grayscale
|
||||
mutter-mag
|
||||
mutter-message
|
||||
mutter-window-demo
|
||||
focus-window
|
||||
test-gravity
|
||||
test-resizing
|
||||
test-size-hints
|
||||
wm-tester
|
||||
INSTALL
|
||||
mkinstalldirs
|
||||
src/mutter-enum-types.[ch]
|
||||
src/stamp-mutter-enum-types.h
|
||||
src/mutter-marshal.[ch]
|
||||
src/stamp-mutter-marshal.h
|
||||
src/mutter-plugins.pc
|
237
ChangeLog
237
ChangeLog
@@ -1,3 +1,240 @@
|
||||
2009-03-16 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* NEWS: 2.26.0 release.
|
||||
|
||||
2009-02-04 Neil Jagdish Patel <njpatel@gmail.com>
|
||||
|
||||
* src/core/frame.c: queue resize on window undecorate
|
||||
|
||||
2009-02-03 Luca Ferretti <elle.uca@libero.it>
|
||||
|
||||
* src/include/all-keybindings.h: Fix description, focus the
|
||||
desktop, not desktop backgroung (Closes bug #569649)
|
||||
|
||||
2009-02-02 Matt Kraai <kraai@ftfbs.org>
|
||||
|
||||
* src/core/schema-bindings.c: Wrap g_error calls in braces.
|
||||
|
||||
2009-02-01 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* configure.in: Post-release bump to 2.25.233.
|
||||
|
||||
2009-02-01 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* NEWS: 2.25.144 release.
|
||||
|
||||
2009-02-01 Matt Kraai <kraai@ftbfs.org>
|
||||
|
||||
Set prop_hooks_table to NULL after freeing it.
|
||||
|
||||
* src/core/window-props.c:
|
||||
|
||||
2009-01-29 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
Window properties are looked up in a hash table rather than
|
||||
by iteration over an array. Saves ~44us per window, but
|
||||
also makes the code cleaner.
|
||||
|
||||
* src/core/display-private.h:
|
||||
* src/core/window-props.c:
|
||||
|
||||
2009-01-27 Matthias Claesen <mclasen@redhat.com>
|
||||
|
||||
* src/core/edge-resistance.c: some lists failed to keep track
|
||||
of their contents and therefore didn't free correctly.
|
||||
Closes #552303.
|
||||
|
||||
2009-01-27 Matthias Claesen <mclasen@redhat.com>
|
||||
|
||||
* src/core/prefs.c: Free name of old theme when new theme
|
||||
is loaded. Closes #552973.
|
||||
|
||||
2009-01-27 Matthias Claesen <mclasen@redhat.com>
|
||||
|
||||
* src/ui/ui.c: free the result of gdk_text_property_to_utf8_list()
|
||||
even when it returns no data.
|
||||
|
||||
2009-01-27 Owen Taylor <otaylor@redhat.com>
|
||||
|
||||
GtkStyle is specific to a particular colormap. Metacity
|
||||
uses different colormaps for windows with different
|
||||
visuals, so it must specialize the GtkStyle.
|
||||
|
||||
Closes #568365 and #513944.
|
||||
|
||||
* src/ui/frames.[ch]: Keep a GtkStyle for each MetaUIFrame, which is
|
||||
obtained by calling gtk_style_attach() on the style for the
|
||||
MetaFrames. When the style of the MetaFrames changes, reattach
|
||||
everything. When we call gtk_style_set_background() pass in the
|
||||
right style.
|
||||
|
||||
* src/ui/themes.[ch]: Create a _with_style() variant of functions that
|
||||
previously took the style from widget->style passed in, so we
|
||||
can draw with the right style for the colormap.
|
||||
|
||||
2009-01-27 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
Added a gconf key to swap the meanings of the right and
|
||||
middle buttons when the modifier key is held down.
|
||||
Closes #437910. Thanks to Matt Kraai for looking over
|
||||
the patch.
|
||||
|
||||
* src/core/display.c:
|
||||
* src/core/prefs.c:
|
||||
* src/include/prefs.h:
|
||||
* src/metacity.schemas.in.in:
|
||||
|
||||
2009-01-27 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
All the window properties are now handled using simple
|
||||
window property handlers. Closes #549886.
|
||||
|
||||
* src/core/window-private.h:
|
||||
* src/core/window-props.c:
|
||||
* src/core/window.c:
|
||||
|
||||
2009-01-26 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
More of the window properties are checked using simple
|
||||
window property handlers. The ones which remain don't
|
||||
actually look up the new value in the ordinary way, and
|
||||
so are a little trickier to merge. Added an "initial"
|
||||
flag to be on the safe side that the behaviour is the
|
||||
same as before (so we don't do things when a window's
|
||||
first mapped that we only used to do when a property
|
||||
changed). Partial fix for bug #549886.
|
||||
|
||||
* src/core/window-props.c:
|
||||
* src/core/window-props.h:
|
||||
* src/core/window.c:
|
||||
|
||||
2009-01-25 Elijah Newren <newren gmail com>
|
||||
|
||||
* src/core/window.c: add support for _NET_WM_MOVERESIZE_CANCEL.
|
||||
|
||||
2009-01-10 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* src/ui/theme.[ch]: add meta_theme_draw_frame_by_name, which
|
||||
is needed for the theme editor.
|
||||
|
||||
2008-12-26 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* configure.in: Post-release bump to 2.25.144.
|
||||
|
||||
2008-12-26 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* NEWS: 2.25.89 release.
|
||||
|
||||
2008-12-25 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* src/include/all-keybindings.h: alt-F10 toggles maximisation,
|
||||
alt-F5 only restores. Also rename "unmaximize" to "restore".
|
||||
* src/ui/frames.c: Rename "unmaximize" to "restore".
|
||||
Closes #343824.
|
||||
|
||||
2008-12-25 Frederic Peters <fpeters@0d.be>
|
||||
|
||||
* src/core/main.c: (main): added call to g_thread_init(), as ORBit2
|
||||
stopped doing it and Metacity is using gconf; closes #565517.
|
||||
|
||||
2008-12-24 Yanko Kaneti <yaneti@declera.com>
|
||||
|
||||
* src/metacity.schemas.in.in: add screenshot commands which had
|
||||
mistakenly been removed; closes #564343, Launchpad bug 298463,
|
||||
Red Hat bug 474635, and probably others.
|
||||
|
||||
2008-12-24 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* src/include/all-keybindings.h: fix move_to_corner_se
|
||||
|
||||
2008-12-21 Colin Walters <walters@verbum.org>
|
||||
|
||||
* src/core/window.c: windows which attempt to present themselves
|
||||
but are offscreen end up demanding attention, unless they
|
||||
are transient, when they move to the current workspace
|
||||
as before. Closes #482354.
|
||||
|
||||
2008-12-19 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* src/ui/frames.c: when the user double-clicks the title bar,
|
||||
end the grab op. Closes #401028.
|
||||
|
||||
2008-12-16 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* configure.in: Post-release bump to 2.25.89.
|
||||
|
||||
2008-12-16 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* NEWS: 2.25.55 release.
|
||||
|
||||
2008-12-15 Erwann Chenede <erwann.chenede@sun.com>
|
||||
|
||||
* configure.in: fix build on Solaris. Closes #564123.
|
||||
|
||||
2008-12-02 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* configure.in: Post-release bump to 2.25.55.
|
||||
|
||||
2008-12-02 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* NEWS: 2.25.34 release.
|
||||
|
||||
2008-12-02 Matt Kraai <kraai@ftbfs.org>
|
||||
|
||||
* src/core/iconcache.c: patches to fixes for -Wall. Closes #562939.
|
||||
|
||||
2008-12-01 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* configure.in: Post-release bump to 2.25.34.
|
||||
|
||||
2008-12-01 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* NEWS: 2.25.21 release.
|
||||
|
||||
2008-12-01 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* configure.in: gnome-doc-tools version doesn't need to be so high.
|
||||
* src/compositor/compositor-xrender.c: disable the entire file if the
|
||||
compositor is disabled.
|
||||
* src/core/async-getprop.[ch]: fixes for -Wall
|
||||
* src/core/iconcache.c: fixes for -Wall
|
||||
* src/core/testasyncgetprop.c: fixes for -Wall
|
||||
* src/core/xprops.c: fixes for -Wall
|
||||
|
||||
2008-11-26 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* tools/announce-wrangler.py: linked language codes to po files
|
||||
* tools/commit-wrangler.py: print revision url
|
||||
|
||||
2008-11-26 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* tools/announce-wrangler.py: renamed ini file
|
||||
* tools/commit-wrangler.py: rewriting in terms of moap
|
||||
|
||||
2008-11-25 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* configure.in: Post-release bump to 2.25.21.
|
||||
|
||||
2008-11-25 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* NEWS: 2.25.13 release.
|
||||
|
||||
2008-11-26 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* tools/announce-wrangler.py (added): script to produce announcements
|
||||
|
||||
2008-11-26 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* src/core/xprops.c: add casts (#562106)
|
||||
|
||||
2008-11-25 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* metacity.doap: change to standard description.
|
||||
|
||||
2008-11-23 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* configure.in: Post-release bump to 2.25.13.
|
||||
|
||||
2008-11-23 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* NEWS: 2.25.8 release.
|
||||
|
47
MAINTAINERS
47
MAINTAINERS
@@ -1,43 +1,8 @@
|
||||
Currently active maintainers
|
||||
--------------------------------
|
||||
Tomas Frydrych
|
||||
Email: tf linux intel com
|
||||
Userid: tomasf
|
||||
|
||||
Elijah Newren
|
||||
Email: newren gmail com
|
||||
Userid: newren
|
||||
Owen Taylor
|
||||
Email: otaylor redhat com
|
||||
Userid: otaylor
|
||||
|
||||
- Usually won't touch the theme bugs (isn't interested) or the
|
||||
compositor (until open source nvidia drivers are up to snuff).
|
||||
Tends to be most interested in libwnck/gtk interactions, focus
|
||||
issues, constraints problems, and raising/stacking, but works on
|
||||
just about anything other than themes and the compositor.
|
||||
|
||||
Thomas Thurman
|
||||
Email: thomas thurman org uk
|
||||
Userid: tthurman
|
||||
|
||||
- Responsible for all theme bugs and the compositor (thank goodness
|
||||
Thomas got involved, eh?). I'm sure he'll replace this sentence
|
||||
with his interests when he reads it. ;-)
|
||||
|
||||
|
||||
Semi-active maintainers
|
||||
--------------------------------
|
||||
|
||||
Havoc Pennington
|
||||
Email: hp redhat com
|
||||
Userid: hp
|
||||
- Original author. Doesn't patch metacity anymore, but is active in
|
||||
answering questions, responding to bugs, providing very helpful
|
||||
suggestions and insight, and even assisting with debugging.
|
||||
|
||||
|
||||
Important historical figureheads
|
||||
--------------------------------
|
||||
|
||||
Rob Adams (readams readams net)
|
||||
- Was the main maintainer of metacity for a while; particular areas
|
||||
of focus included xinerama, placement, and an older version of the
|
||||
constraints code. Still responds to bugs every once in a while.
|
||||
|
||||
Søren Sandmann (sandmann redhat com)
|
||||
- Wrote most of the current compositing manager code + libcm
|
||||
|
43
METACITY_MAINTAINERS
Normal file
43
METACITY_MAINTAINERS
Normal file
@@ -0,0 +1,43 @@
|
||||
Currently active maintainers
|
||||
--------------------------------
|
||||
|
||||
Elijah Newren
|
||||
Email: newren gmail com
|
||||
Userid: newren
|
||||
|
||||
- Usually won't touch the theme bugs (isn't interested) or the
|
||||
compositor (until open source nvidia drivers are up to snuff).
|
||||
Tends to be most interested in libwnck/gtk interactions, focus
|
||||
issues, constraints problems, and raising/stacking, but works on
|
||||
just about anything other than themes and the compositor.
|
||||
|
||||
Thomas Thurman
|
||||
Email: thomas thurman org uk
|
||||
Userid: tthurman
|
||||
|
||||
- Responsible for all theme bugs and the compositor (thank goodness
|
||||
Thomas got involved, eh?). I'm sure he'll replace this sentence
|
||||
with his interests when he reads it. ;-)
|
||||
|
||||
|
||||
Semi-active maintainers
|
||||
--------------------------------
|
||||
|
||||
Havoc Pennington
|
||||
Email: hp redhat com
|
||||
Userid: hp
|
||||
- Original author. Doesn't patch metacity anymore, but is active in
|
||||
answering questions, responding to bugs, providing very helpful
|
||||
suggestions and insight, and even assisting with debugging.
|
||||
|
||||
|
||||
Important historical figureheads
|
||||
--------------------------------
|
||||
|
||||
Rob Adams (readams readams net)
|
||||
- Was the main maintainer of metacity for a while; particular areas
|
||||
of focus included xinerama, placement, and an older version of the
|
||||
constraints code. Still responds to bugs every once in a while.
|
||||
|
||||
Søren Sandmann (sandmann redhat com)
|
||||
- Wrote most of the current compositing manager code + libcm
|
@@ -1,7 +1,6 @@
|
||||
|
||||
SUBDIRS=src po doc
|
||||
|
||||
EXTRA_DIST = HACKING MAINTAINERS rationales.txt \
|
||||
intltool-extract.in intltool-merge.in intltool-update.in
|
||||
EXTRA_DIST = HACKING MAINTAINERS rationales.txt
|
||||
|
||||
DISTCLEANFILES = intltool-extract intltool-merge intltool-update po/stamp-it po/.intltool-merge-cache
|
||||
|
850
NEWS
850
NEWS
@@ -1,3 +1,853 @@
|
||||
3.0.1
|
||||
=====
|
||||
|
||||
* If WM_CLIENT_MACHINE isn't set, don't assume a window is remote;
|
||||
fixes behavior of Fox toolkit applications under GNOME Shell.
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=647662 [Colin]
|
||||
* Fix cases where windows could get stuck drawing as focused after
|
||||
an attached modal dialog was closed. [Dan]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=647613
|
||||
* Fix a bug where a window that is too big to be tiled side-by-side
|
||||
would behave strangely when using the gesture of dragging to
|
||||
the top to maximize. [Florian]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, Colin Walters, Dan Winship
|
||||
|
||||
Translations:
|
||||
Amitakhya Phukan [as], Kristjan Schmidt [eo], Muhammet Kara [tr]
|
||||
|
||||
3.0.0
|
||||
=====
|
||||
|
||||
* Avoid crashing when you have a single window and try to move it between
|
||||
workspaces. [Dan]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=642957
|
||||
|
||||
Contributors:
|
||||
Dan Winship
|
||||
|
||||
Translations:
|
||||
Jordi Serratosa [ca], Petr Kovar [cz], Ask H. Larsen [da], Bruce Cowan [en_GB],
|
||||
Inaki Larranaga Murgoitio [eu], Gabor Kelemen [hu], Dirgita [id], Shankar Prasad [kn],
|
||||
Changwoo Ryu [ko], Wouter Bolsterlee [nl], Duarte Loreto [pt],
|
||||
Antonio Fernandes C. Neto, Rodrigo Padula de Oliveira [pt_BR], T. Vasudevan [ta],
|
||||
Nguyễn Thái Ngọc Duy [vi], Chao-Hsiung Liao [zh_HK, zh_TW]
|
||||
|
||||
2.91.93
|
||||
=======
|
||||
|
||||
* Fix bug where, when a monitor was hot-plugged, all workspaces
|
||||
would collapse to a single workspace. (There are still issues
|
||||
when a secondary monitor is hot-plugged to the left of the
|
||||
primary monitor.) [Alex]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=645408)
|
||||
|
||||
* Fix a crash for the cycle_group action [Jasper]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=645843
|
||||
|
||||
* Fix misdrawing of window shadows on some focus changes [Dan]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=636904
|
||||
|
||||
* Export meta_get_replace_current_wm() to allow fixing a
|
||||
GNOME Shell bug with --replace [Colin]
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=645590
|
||||
|
||||
Contributors:
|
||||
Alexander Larsson, Jasper St. Pierre, Colin Walters, Dan Winship
|
||||
|
||||
Translations:
|
||||
Alexander Shopov [bg], Christian Kirbach [de], Yaron Shahrabani [he],
|
||||
Rudolfs Mazurs [lv], A S Alam [pa], Yuri Myasoedov [ru], Daniel Nylander [se],
|
||||
Abduxukur Abdurixit [ug], Daniel Korostil [uj], Aron Xu [zh_CN]
|
||||
|
||||
2.91.92
|
||||
=======
|
||||
|
||||
* Add a workspaces_only_on_primary preferences. When set, this makes
|
||||
workspaces switching only apply to windows on the primary monitor,
|
||||
while windows on other monitors are unaffected.
|
||||
* Export API for monitor handling [Alex]
|
||||
MetaScreen::monitors-changed signal
|
||||
meta_screen_get_primary_monitor()
|
||||
meta_window_is_on_primary_monitor()
|
||||
meta_window_get_monitor()
|
||||
MetaWindow::window-entered-monitor, <etaWindow::window-left-monitor
|
||||
meta_window_move_to_monitor() [Florian]
|
||||
* Behavior improvemnts for attached modal dialogs:
|
||||
- Allow dragging dragging on the titlebar to move the parent ["Ron"]
|
||||
- Allow resizing [Florian]
|
||||
- Constrain to be on the current monitor [Florian]
|
||||
* Don't turn on XSMP autorestart [Colin]
|
||||
* Combine libmutter-wm and libmutter-private into a single libmutter
|
||||
[Frédéric]
|
||||
* Export methods to move and resize windows [Jeffery]
|
||||
meta_window_move(), meta_window_resize(), meta_window_move_frame()
|
||||
* Add a MUTTER_WM_CLASS_FILTER environment variable to allow existing
|
||||
windows to be ignored when performance testing. [Owen]
|
||||
* Add a new compositor-based flash for visual bell [Dan]
|
||||
* Fix bug where application specified values for properties like
|
||||
"skip taskbar" were sometimes ignored [Dan]
|
||||
* Bug fixes [Dan, Florian, Giovanni, Jasper, Owen]
|
||||
* Build fixes [Rico]
|
||||
|
||||
Contributors:
|
||||
Giovanni Campagna, Florian Müllner, Alexander Larsson, Jeffery Olson,
|
||||
Frédéric Péters, Owen Taylor, Jasper St. Pierre, Rico Tzschichholz,
|
||||
"Ron", Colin Walters, Dan Winship
|
||||
|
||||
Translations:
|
||||
Khaled Hosny [ar], David Planella [ca], Mario Blättermann [de],
|
||||
Bruce Cowan [en_GB], Jorge González, Daniel Mustieles [es], Ivar Smolin [et],
|
||||
Bruno Brouard [fr], Fran Diéguez [gl], Yaron Shahrabani [he],
|
||||
Gabor Kelemen [hu], Luca Ferretti [it], Kjartan Maraas [nb], Piotr Drąg [pl],
|
||||
Duarte Loreto [pt], Lucian Adrian Grijincu, Adi Roiban [ro],
|
||||
Yuri Myasoedov [ru], Matej Urbančič [sl], Daniel Korostil [uk]
|
||||
|
||||
Bugs fixed:
|
||||
624360 window shows up in when pressing alt+tab, but skip_taskbar_hint is set to True
|
||||
631308 Dialogs attached to parent sometimes extend out of the screen
|
||||
638674 [PATCH] Allow moving attached dialogs
|
||||
639765 a11y: visual alert only works per-window, not screen
|
||||
641975 Pre-_NET_WM_ICONs look corrupted
|
||||
642355 patch to expose MetaWindow.move(), .resize() and add/expose .move_frame() to javascript
|
||||
642787 MetaWindowActor has a dangling reference to its MetaWindow
|
||||
643597 Attached dialogs not resizable, even by app request
|
||||
644188 Broken build of 2.91.91
|
||||
644252 Add MUTTER_WM_CLASS_FILTER environment variable
|
||||
644529 session: Change XSMP restart style to Never
|
||||
644565 Kill libmutter-private ?
|
||||
644961 auto-tiling makes moving already-tiled windows hard
|
||||
645224 Translation message doesn't make much sense
|
||||
645247 Methods of Meta.Rectangle are missing annotations.
|
||||
645455 tiling: Fix dragging windows free from edge-tiling
|
||||
|
||||
2.91.91
|
||||
=======
|
||||
|
||||
* Build a libmutter-wm that contains all of the logic and that
|
||||
can be linked to to create custom executables. The mutter executable
|
||||
becomes a small stub linked to this library [Dan]
|
||||
* Move installed headers files into a meta/ subdirectory instead
|
||||
of polluting the toplevel namespace [Dan]
|
||||
* Remove various unused complications: [Dan]
|
||||
- Ability to set the set of plugins via GConf
|
||||
- Plugin 'params'
|
||||
- meta_restart() and "mutter-message restart"
|
||||
* Don't exit when we are requested to exit via XSMP, assume we'll be
|
||||
killed along with the X server; this avoids visual artifacts from
|
||||
unmanaging windows when logging out [Colin]
|
||||
* Build fixes [Dan, Jani, Jeff]
|
||||
|
||||
Contributors:
|
||||
Jani Monoses, Jeff Olson, Colin Walters, Dan Winship
|
||||
|
||||
Translations:
|
||||
Bruno Brouard [fr], Kjartan Maraas [nb], Daniel Korostil [uk]
|
||||
|
||||
Bugs fixed:
|
||||
643194 patch: expose new meta_window_get_window_rect
|
||||
643437 Don't exit on XSMP request
|
||||
643959 Make mutter into a library
|
||||
|
||||
2.91.90
|
||||
=======
|
||||
|
||||
* Change <Alt>Above_Tab from being a cycle_group binding to
|
||||
a switch_group binding [Rui]
|
||||
* Make plugin-loading failure fatal [Colin]
|
||||
* Add 'position-changed' signal to MetaWindowActor [Owen]
|
||||
* When 'live_hidden_previews' is enabled, position hidden windows
|
||||
to allow the creation of workspace previews [Owen]
|
||||
* Fix bug with opacity of MetaBackgroundActor
|
||||
|
||||
Contributors:
|
||||
Rui Matos, Owen Taylor, Colin Walters
|
||||
|
||||
Translations:
|
||||
Jorge González [es], Mattias Põldaru [et], Sweta Kothari [gu], Luca Ferretti [it],
|
||||
Changwoo Ryu [ko], Nguyễn Thái Ngọc Duy [vi]
|
||||
|
||||
Bugs fixed:
|
||||
641309 When live_hidden_previews is set, force placement for hidden windows
|
||||
641310 MetaWindowActor: Add a 'positioned-changed' signal
|
||||
641979 Visual glitch on workspace selector closing overview mode
|
||||
641384 Make plugin loading failure fatal
|
||||
642426 Don't pass handled key events to GTK+
|
||||
|
||||
2.91.6
|
||||
======
|
||||
|
||||
* Add meta_screen_override_window_layout() to let a plugin set the workspace
|
||||
layout [Owen]
|
||||
* Add a 'size-changed' signal to MetaWindowActor [Florian]
|
||||
* Add meta_window_actor_is_destroyed() [Adel]
|
||||
* Fix problems with window tile previews when cancelling a move [Florian]
|
||||
* Port theme elements that use GTK+ drawing to use GtkStyleContext instead
|
||||
of the deprecated GtkStyle. [Florian]
|
||||
* Fix compiler warnings that were causing compilation failures [Jasper, Owen]
|
||||
* Misc bug fixes [Gabor, Jasper, Owen, Rui]
|
||||
|
||||
Contributors:
|
||||
Adel Gadllah, Gabor Kelemen, Rui Matos, Florian Müllner, Jasper St. Pierre,
|
||||
Owen Taylor
|
||||
|
||||
Translations:
|
||||
Khaled Hosny [ar], Alexander Shopov [bg], Petr Kovar [cz], Fran Diéguez [gl],
|
||||
Marios Zindilis [gr], Gabor Kelemen [hu], Kjartan Maraas [nb], A S Alam [pa],
|
||||
Daniel Nylander [se], Chao-Hsiung Liao [zh_HK, zh_TW]
|
||||
|
||||
2.91.5
|
||||
======
|
||||
|
||||
* Add a Above_Tab key symbol that can be used in key bindings to mean
|
||||
the key above the Tab key. This is now the default binding for
|
||||
cycle_group in both Mutter and Metacity. [Owen]
|
||||
* Add new frame states for tiled-on-the-left and tiled-on-the-right [Florian]
|
||||
* Add new background drawing functions that can be defined in a theme
|
||||
for single buttons. [Florian]
|
||||
* Draw the right button backgrounds for all custom button layouts [Florian]
|
||||
* Remove vestigal --composite/--no-composite command line options [Nickolas]
|
||||
* Fix building on GLES [Andreas]
|
||||
* Code cleanups [Adel, Owen]
|
||||
|
||||
Contributors:
|
||||
Adel Gadllah, Nickolas Lloyd, Andreas Mueller, Florian Müllner, Owen Taylor
|
||||
|
||||
Translations:
|
||||
Mattias Põldaru, Ivar Smolin [et], Gheyret T. Kenji [ug]
|
||||
|
||||
Bugs fixed:
|
||||
613124 Invalid visibility-related asserts in MutterWindow
|
||||
626875 Fix handling of --composite and --no-composite command line options
|
||||
629282 [PATCH] Fix errors building for gles-systems (clutter-eglx)
|
||||
635569 Add an "Above_Tab" pseudo-keysym
|
||||
635683 add specific button background for single button (per side) case
|
||||
635686 button backgrounds broken with rtl locales
|
||||
637330 [PATCH] theme: Add tiled_left/tiled_right frame states
|
||||
|
||||
2.91.4
|
||||
======
|
||||
|
||||
* Update for GTK+ 3 changes [Benjamin, Colin, Emmanuele, Florian]
|
||||
* Support maximizing a window by dragging to the top of the screen
|
||||
in the same way you can tile by dragging to the edge of the screen.
|
||||
[Ray, Florian]
|
||||
* Misc bug fixes [Milan, Owen]
|
||||
|
||||
Contributors:
|
||||
Emmanuele Bassi, Milan Bouchet-Valat, Florian Müllner, Benjamin Otte,
|
||||
Ray Strode, Owen Taylor, Colin Walters
|
||||
|
||||
Translations:
|
||||
Matej Urbančič [sl], Nguyễn Thái Ngọc Duy [vi]
|
||||
|
||||
Bugs fixed:
|
||||
630548 gnome-shell could auto-maximize windows when dragged to top edge of screen
|
||||
636083 workspace: Consider text direction when switching
|
||||
636301 Port testgradient example to GTK3
|
||||
636302 Replace some GDK X11 calls with future-proof ones
|
||||
636491 valgrind: meta_window_shape_new (meta-window-shape.c:79)
|
||||
637802 ui: Adapt to GDK API changes
|
||||
|
||||
2.91.3
|
||||
======
|
||||
|
||||
* Better shadows: [Owen]
|
||||
- Shadows can be different for different window types and focus states
|
||||
- Shadows are larger by default, especially for the currently active
|
||||
window
|
||||
- Shadows for attached modal dialogs and menus are drawn not to
|
||||
overlap the attachment point.
|
||||
- Shadows follow the shape of shaped windows
|
||||
* Optimization: [Owen]
|
||||
- Avoid repainting in situations when windows are potentially restacked
|
||||
but aren't actually restacked.
|
||||
- Pay attention to partial stage repaints in obscured window calculations
|
||||
- Better optimization of painting obscured shadows; turn off shadows
|
||||
for maximized windows.
|
||||
- Move background repainting into Mutter; doing it here rather than
|
||||
in plugins allows not painting obscured parts of the background.
|
||||
* A new frame type 'attached' is added for attached modal dialogs
|
||||
and can be referenced in theme files with a theme version of 3.2.
|
||||
* Fix updating key bindings when the keyboard layout changes
|
||||
[Derek, Owen, Thomas]
|
||||
* Bug fixes [Adel, Florian]
|
||||
* Build fixes [Dan Williams, Diego, Javier, Owen]
|
||||
|
||||
Contributors:
|
||||
Adel Gadllah, Javier Jardón, Florian Müllner, Derek Poon, Owen Taylor,
|
||||
Thomas Thurman, Diego Escalante Urrelo, Dan Williams
|
||||
|
||||
Translations:
|
||||
Khaled Hosny [ar], Jorge González [es], Fran Diéguez [gl],
|
||||
Yaron Shahrabani [he], Kjartan Maraas [nb], Gheyret T. Kenji [ug]
|
||||
|
||||
Bugs fixed:
|
||||
634779 MetaWindowGroup: further optimize paints by using current scissor
|
||||
634833 Draw the root window background
|
||||
592382 improve shadow effect
|
||||
628199 Add antialising to arc and line drawing operations
|
||||
633002 meta-actor-window: Use G_UNLIKELY for TFP check
|
||||
634771 MetaStackTracker: Avoid queueing resync for obvious no-ops
|
||||
635421 Fix crash in check_needs_shadow
|
||||
635493 configure.in: it's git, not Subversion
|
||||
635528 configure.ac: move call to AM_GNU_GLIB_GETTEXT above cflags modification
|
||||
635575 meta-window-actor: remove unused meta_window_actor_get_shadow_bounds
|
||||
636083 workspace: Consider text direction when switching
|
||||
|
||||
2.91.2
|
||||
======
|
||||
|
||||
* Remove support for GTK+ 2 [Florian]
|
||||
* Adapt to deprecation of size_request deprecation in GTK+ [Matthias]
|
||||
* Include change from Metacity to fix confusion of mouse
|
||||
tracking when double-clicking on title bar [Owen]
|
||||
* Fix bug with the the window menu getting stuck when you alt-Tab [Owen]
|
||||
|
||||
Contributors:
|
||||
Matthias Clasen, Florian Müllner, Owen Taylor
|
||||
|
||||
Translations:
|
||||
Petr Kovar [cz]
|
||||
|
||||
Bugs fixed:
|
||||
633133 Remove compatibility for GTK+-2.0
|
||||
633352 prepare for the demise of size_request
|
||||
633398 Fix check for events on UI widgets
|
||||
633401 Fix warning from synthesized events with GdkDevice
|
||||
|
||||
2.91.1
|
||||
======
|
||||
|
||||
* Default build is now GTK+ 3 build
|
||||
* Mutter namespace prefix is removed, in favor of consistent
|
||||
meta_ namespace prefixing [Owen]. Naming changes:
|
||||
MutterWindow => MetaWindowActor
|
||||
mutter_get_windows => meta_get_window_actors
|
||||
mutter_plugin_get_windows => meta_plugin_get_window_actors
|
||||
* Add missing values in MetaKeyBindingAction - this fixes a problem where
|
||||
key binding lookup wasn't working properly for some key bindings. [Dan]
|
||||
* Remove keysym parameter to meta_display_get_keybinding_action() - the
|
||||
function expected the default keysym for the keycode to always be passed [Dan]
|
||||
* Clean up installed header files - in particular, theme-parser.h is merged
|
||||
into a new public-only theme.h and private internals are moved to
|
||||
theme-private.h.
|
||||
* Fix problems with antialiased rendering of themes [Brandon, Owen, Nickolas]
|
||||
* Fix problem with parsing color constants in themes [Jon, Owen]
|
||||
* Build fixes [Colin]
|
||||
* Miscellaneous bug fixes [Giovanni, Rico]
|
||||
|
||||
Contributors:
|
||||
Giovanni Campagna, Nickolas Lloyd, William Jon McCann, Owen Taylor,
|
||||
Rico Tzschichholz, Colin Walters, Dan Winship, Brandon Wright
|
||||
|
||||
Translations:
|
||||
Fran Diéguez [gl], Yinghua Wang [zh_CN]
|
||||
|
||||
Fixed bugs:
|
||||
628401 tint and line draw ops rendering issues
|
||||
628520 unfortunate namespacing
|
||||
631487 Fix drawing of <arc> theme elements
|
||||
632116 don't clobber gerrors
|
||||
632149 Fill in missing MetaKeyBindingAction values
|
||||
632155 meta_display_get_keybinding_action: remove keysym parameter
|
||||
632474 Remove MetaRegion
|
||||
632494 introspection: remove --allow-unprefixed
|
||||
|
||||
2.91.0
|
||||
======
|
||||
|
||||
* Enable side-by-side tiling via a gesture of dragging to the left or right
|
||||
edge of the screen. (enabled with an off-by-default GConf key) [Florian]
|
||||
* Allow breaking out of maximization/tiling using a alt-middle-button window
|
||||
resize [Owen, Florian]
|
||||
* Add the ability to have modal dialogs attached to their parent window
|
||||
(enabled with an off-by-default GConf key) [Maxim]
|
||||
* Draw with Cairo rather than GDK [Florian, Benjamin]
|
||||
* Add compatibility for changes in GTK+ 3
|
||||
[Benjamin, Alban, Florian, Jasper, Matthias, Owen, Thierry]
|
||||
- libmutter-private is now only installed for GTK+ 3 builds
|
||||
- Theme parts of libmutter-private API are changed to take cairo_t
|
||||
rather than GdkDrawable
|
||||
* Update introspection build and annotations for new behavior of
|
||||
g-ir-scanner [Colin]
|
||||
* Fix bug that caused window menu options not to work [Owen]
|
||||
* Fix misbehavior of Wine windows [Owen, Alban]
|
||||
* Fix crashes from missing error traps [Adel]
|
||||
* Build fixes [Colin, Florian, Owen, Rob, Tomas]
|
||||
* Misc bug fixes [Adel, Jon, Owen, Nickolas, Tomas]
|
||||
* Cleanups [Adel, Benjamin, Florian]
|
||||
|
||||
Contributors:
|
||||
Alban Browaeys, Matthias Clasen, Maxim Ermilov, Tomas Frydrych, Adel Gadllah,
|
||||
Nickolas Lloyd, William Jon McCann, Florian Muellner, Benjamin Otte,
|
||||
Thierry Reding, Rob Staudinger, Jasper St. Pierre, Owen Taylor, Colin Walters
|
||||
|
||||
Translations:
|
||||
Alexander Shopov [bg], Mario Blättermann [de], Ask H. Larsen [dk],
|
||||
Michael Kotsarinis [el], Philip Withnall [en_UK], Jorge González [es],
|
||||
Fran Diéguez [gl], Bruno Brouard, Claude Paroz [fr], Yaron Shahrabani [he],
|
||||
Gabor Kelemen [hu], Luca Ferretti [it], Nils-Christoph Fiedler [nds],
|
||||
Kjartan Maraas [nb], A S Alam [pa], Piotr Drąg [pl], Duarte Loreto [pt],
|
||||
Antonio Fernandes C. Neto [pt_BR], Matej Urbančič [sl],
|
||||
Miloš Popović [sr, sr@latin], Tirumurti Vasudevan [ta], Aron Xu [zh_CN],
|
||||
Chao-Hsiung Liao [zh_HK, zh_TW]
|
||||
|
||||
Fixed Bugs:
|
||||
597763 With >2 workspaces, Window menu "Move to Another Workspace" menu doesn't work
|
||||
598603 displays window size when moving terminal window
|
||||
606158 "Always on top" triggers Window manager warning:
|
||||
Log level 8: meta_window_set_user_time: assertion `!window->override_redirect' failed
|
||||
610575 make meta_screen_set_cursor public
|
||||
613126 Do not cancel Alt+Tab grab due to Shift key events
|
||||
623235 BadDamage error from XSubtractDamage
|
||||
624757 Check for TFP usage after actually setting the pixmap
|
||||
625712 [mutter-shaped-texture] Remove material_workaround
|
||||
626583 Replace Gdk drawing API with cairo
|
||||
627087 Mipmap emulation not working
|
||||
627210 Crash with X error
|
||||
628544 introspection: Build with --warn-fatal, drop fix-meta-rectangle.py hack
|
||||
629127 build problem with recent gtk3
|
||||
629232 Multiple syntax errors in file mutter-message.c when building Mutter for
|
||||
GNOME Shell dependencies
|
||||
629350 [mutter-shaped-texture] Use a base material for all instances
|
||||
629931 Allow breaking out from maximization/tiling during a mouse resize
|
||||
630195 Use GDK error trapping straight-up
|
||||
630203 Prepare mutter code for GTK3 rendering-cleanup
|
||||
630671 prepare mutter for the demise of GtkObject
|
||||
630843 gtk_window_set_visual was replaced by gtk_widget_set_visua
|
||||
631147 Adapt to GTK API changes
|
||||
631175 Mutter error compiling Gnome Shell
|
||||
|
||||
2.31.5
|
||||
======
|
||||
|
||||
* Support building with GTK+ 3.0 [Florian]
|
||||
* Remove deprecated usages for compatibility with GTK+ 3.0
|
||||
[Claudio, Florian, Nickolas]
|
||||
* Export a boxed type for MetaRectangle [Owen]
|
||||
* Allow disabling -Werror with --enable-compile-warnings=yes [Nickolas]
|
||||
* Build fixes [Andreas, Florian, Owen]
|
||||
|
||||
Contributors:
|
||||
Nickolas Lloyd, Andreas Mueller, Florian Müllner, Claudio Saavedra,
|
||||
Owen Taylor
|
||||
|
||||
Translations:
|
||||
Petr Kovar [cz], Jorge González [es], Fran Diéguez [gl],
|
||||
Yaron Shahrabani [he], Matej Urbančič [sl]
|
||||
|
||||
Fixed Bugs:
|
||||
587991 - Remove deprecated GTK+ symbols
|
||||
616275 - -Werror should not be enabled by default (or should be possible to disable)
|
||||
622303 - Allow building with Gtk+-3.0
|
||||
622800 - Make mutter more gtk+ 3.0 friendly
|
||||
623335 - Make MetaRectangle a boxed type
|
||||
623639 - Work around g-ir-scanner problem with Gdk.Rectangle
|
||||
624166 - src/core/util.c: Fix warning in case WITH_VERBOSE_MODE is not set
|
||||
|
||||
2.31.4
|
||||
======
|
||||
|
||||
* Clean up MutterPlugin effect interface [Maxim]
|
||||
* Track damage as the bounding box, a significant optimizations
|
||||
for rapidly drawing clients [Robert]
|
||||
* Add meta_window_is_remote() [Colin]
|
||||
* Add meta_add_debug_topic() for turning on logging of
|
||||
specific topics [Colin]
|
||||
* Fix bug with window unmaximization [Owen]
|
||||
|
||||
Contributors:
|
||||
Robert Bragg, Maxim Ermilov, Owen Taylor, Colin Walters
|
||||
|
||||
Translations:
|
||||
Yaron Shahrabani (he), Fran Diéguez (gl), Kjartan Maraas (nb), A S Alam (pa)
|
||||
|
||||
Fixed Bugs:
|
||||
611838 - expose sub-stage redraws by streaming raw updates to ClutterX11TexturePixmap
|
||||
620585 - Add meta_window_is_remote
|
||||
620860 - function ‘meta_display_open’
|
||||
621082 - MutterPluginManager should call plugin->switch_workspace,
|
||||
when screen doesn't have any window. Or function should be renamed.
|
||||
621413 - Maximize/Unmaximize not behaving properly for some non-gnome based programs
|
||||
|
||||
2.31.2
|
||||
======
|
||||
|
||||
* Theme enhancements [Owen]
|
||||
- Add a flexible version mechanism for themes -
|
||||
metacity-theme-3.xml is now supported, and can include
|
||||
version="> 3.2" type attributes on the root element or
|
||||
any subelement.
|
||||
- Add frame_x_center/frame_y_center variables
|
||||
- Allow a theme to turn on title ellipsization
|
||||
* Performance enhancements:
|
||||
- Stream raw damage updates to ClutterX11TexturePixmap
|
||||
to enable partial stage updates when windos change [Robert]
|
||||
- Don't trap XErrors in meta_compositor_process_event [Adel]
|
||||
* Add meta_prefs_override_preference_location(); this allows
|
||||
a plugin like GNOME Shell to redirect preferences to a
|
||||
plugin-specific location. [Owen]
|
||||
* Support a _MUTTER_HINTS window property; this is a string
|
||||
property holding key-value pairs with plugin-specific
|
||||
interpretation [Tomas]
|
||||
* Build with GSEAL_ENABLE [Florian, Javier]
|
||||
* Add meta_display_get_leader_window() [Tomas]
|
||||
* Add meta_display_sort_windows_by_stacking [Colin]
|
||||
* Export
|
||||
meta_display_get_last_user_time()
|
||||
meta_display_xserver_time_is_before()
|
||||
meta_window_foreach_ancestor(),
|
||||
meta_window_foreach_transient()
|
||||
meta_window_lower()
|
||||
meta_window_raise()
|
||||
meta_window_set_demands_attention()
|
||||
meta_window_unset_demands_attention() [Colin]
|
||||
* Bug fixes [Dan, Edward, Owen, Tomas]
|
||||
* Build fixes [Owen, Dominique, Vincent]
|
||||
|
||||
Contributors:
|
||||
Robert Bragg, Adel Gadllah, Tomas Frydrych, Javier Jardón,
|
||||
Dominique Leuenberger, Florian Müllner, Edward Sheldrake,
|
||||
Owen Taylor, Vincent Untz, Colin Walters, Dan Winship
|
||||
|
||||
Translations:
|
||||
Xandru Armesto Fernandez (ast), Khaled Hosny (ar), Petr Kovar (cz),
|
||||
Mario Blättermann, (de), Jorge González (es),
|
||||
Inaki Larranaga Murgoitio [eu), Claude Paroz (fr), Luca Ferretti (it),
|
||||
Gintautas Miliauskas (lt), Pavol Šimo (sk), Matej Urbančič (sl)
|
||||
|
||||
Fixed Bugs:
|
||||
591842 - ellipsize titles when oversize
|
||||
592503 - Add a flexible version mechanism
|
||||
595496 - Use accessor functions instead direct access (use GSEAL GnomeGoal)
|
||||
596659 - Fix handling of grabbed key events
|
||||
613123 - Framework for plugin-specific per-window hint
|
||||
613125 - Add meta_display_get_leader_window()
|
||||
613127 - Keep num_workspaces key in sync with the actual workspace number
|
||||
613136 - remove over-restrictive assert from meta_prefs_get_workspace_name()
|
||||
613398 - Don't trap XErrors in meta_compositor_process_event
|
||||
615586 - Allow redirecting preferences to a different GConf key
|
||||
615672 - cant' compile mutter error: dereferencing pointer ‘p’ does break
|
||||
strict-aliasing rules
|
||||
616050 - alt-tab infrastructure patches
|
||||
616274 - mutter from git fails with gcc 4.5 (on new warning)
|
||||
616546 - On dual screen maximized windows dragged to the second screen no
|
||||
longer update their contents
|
||||
618138 - Work around COGL bug causing flash for new windows
|
||||
618613 - Fix crash with --sync option
|
||||
|
||||
2.29.1
|
||||
======
|
||||
|
||||
* Support and require Clutter 1.2 (Owen)
|
||||
* Add meta_display_get_keybinding_action() (Colin, Dan)
|
||||
* Add meta_window_get_wm_class_instance() (Tomas)
|
||||
* Remove workaround for bug fixed in intel driver Q2/2009 release (Robert)
|
||||
* Build fixes (Owen, Brian, Nguyễn Thái Ngọc Duy)
|
||||
|
||||
Contributors:
|
||||
Robert Bragg, Brian Cameron, Tomas Frydrych, Nguyễn Thái Ngọc Duy,
|
||||
Owen Taylor, Colin Walters, Dan Winship
|
||||
|
||||
Translations:
|
||||
Alexander Shopov (bg), Mario Blättermann (de), Bruno Brouard (fr),
|
||||
Nils-Christoph Fiedler (nds), Piotr Drąg (pl), Aron Xu (zh_CN)
|
||||
|
||||
Fixed Bugs:
|
||||
|
||||
610862 Support and require Clutter 1.1
|
||||
612506 mutter 2.29.0 fails to compile on Solaris
|
||||
613100 [MetaDisplay] Expose meta_display_get_keybinding_action
|
||||
613121 Remove workaround for multitexturing with old intel drivers
|
||||
613128 [MetaWindow] Accessor for the instance part of WM_CLASS property
|
||||
613278 meta_display_get_keybinding_action: strip out uninteresting modifiers
|
||||
|
||||
2.29.0
|
||||
======
|
||||
|
||||
* Improve appearance of scaled down windows using mipmap emulation (Owen)
|
||||
* Added signals: MetaDisplay::window-created, MetaDisplay::window-marked-urgent,
|
||||
MetaDisplay::window-demands-attention, MetaWindow::unmanaged (Colin, Tomas)
|
||||
* Added properties: MetaWindow:demands-attention, MetaWindow:urgent,
|
||||
MetaWindow:maximized-horizontally, MetaWindow:maximized-vertically (Florian, Tomas)
|
||||
* Fix nasty crash when workspace "struts" changed during a window move (Jon, Owen)
|
||||
* Bug fixes (Dan, Maxim, Neil, Owen, Tomas)
|
||||
* Build fixes (Colin, Emmanuele, Nickolas, Owen, Richard)
|
||||
* Merge Metacity changes since 2.26. Includes themable sound support
|
||||
via libcanberra (Owen)
|
||||
|
||||
Contributors
|
||||
Emmanuele Bassi, Maxim Ermilov, Tomas Frydrych, Richard Hughes, Nickolas Lloyd,
|
||||
Florian Müllner, Jon Nettleton, Neil Roberts, Owen Taylor, Colin Walters,
|
||||
Dan Winship
|
||||
|
||||
Additional Metacity contributors:
|
||||
Thomas Hindoe Paaboel Andersen, Peter Bloomfield, Matthias Clasen,
|
||||
Matt Kraai, Claude Paroz, Lennart Poettering, Ray Strode, Thomas Thurman,
|
||||
Vincent Untz, Tomislav Vujec, Tomeu Vizoso, Travis Watkins, 'alexisdm59'
|
||||
|
||||
Translations:
|
||||
Khaled Hosny (ar), Petr Kovar (cz), Kjartan Maraas (nb), Djavan Fagundes (pt_BR),
|
||||
Nils-Christoph Fiedler (nds), Matej Urbančič (sl), Vincent Untz
|
||||
|
||||
Fixed Bugs:
|
||||
|
||||
588065 Adds demands-attention signal to the window class
|
||||
591913 Fails to skip current window on alt+tab when another window is asking for attention
|
||||
592567 Dereferencing NULL in mutter_window_get_workspace()
|
||||
597052 Add signal to MetaDisplay so we know when a window has demanded-attention
|
||||
598289 Add "window-created" signal to MetaDisplay, "unmanaged" signal for MetaWindow
|
||||
598473 "XXX specified twice for this theme" messages not in sync with metacity.
|
||||
598600 "Visual Bell" option in Metacity causes Mutter to crash
|
||||
600068 notifications for window urgency hint
|
||||
601228 rdesktop does not get keypress signals
|
||||
602349 [PATCH] trivial - fix compilation warning in mutter
|
||||
602740 Remove XOR gc only used in removed reduced-resources mode
|
||||
602870 Fix compilation with older libGL
|
||||
604200 Compile issue: Use of deprecated clutter functions
|
||||
606388 mutter fails to build when using ld with --no-add-needed
|
||||
607125 Fails to build with latest introspection data
|
||||
607398 Do not use CGL_* symbols
|
||||
607746 reduce gconf roundtrips at startup
|
||||
608800 alt-dragging gimp windows crashes gnome-shell
|
||||
609350 Mutter does not support the COGL_DEBUG environment variable
|
||||
609546 meta_workspace_set_builtin_struts(): optimize out non-changes
|
||||
609585 Merge libcanberra usage from Metacity
|
||||
609657 Use cogl multitexture API when drawing MutterShapedTexture
|
||||
609665 Bug fixes from Fedora RPM
|
||||
609710 screencast recording broke
|
||||
610391 Fix crash on startup with list bindings
|
||||
|
||||
2.28.0
|
||||
======
|
||||
|
||||
* New exported API:
|
||||
meta_window_get_stable_sequence() [Colin]
|
||||
meta_window_get_transient_for_as_xid() [Tomas]
|
||||
MutterScreen::workareas-changed signal [Tomas]
|
||||
* Fix a problem where changes processed from a Clutter event
|
||||
callback wouldn't get handled before the screen was next
|
||||
repainted, causing flashing [Owen]
|
||||
* Remove MetaAltTabHandler as no longer needed [Dan]
|
||||
* Bug fixes [Colin, Owen]
|
||||
|
||||
Contributors:
|
||||
Tomas Frydrych, Owen Taylor, Colin Walters, Dan Winship
|
||||
|
||||
Translations:
|
||||
Christian Kirbach (de), Claude Paroz (fr)
|
||||
|
||||
2.27.5
|
||||
======
|
||||
|
||||
* Fix bug in GConf schemas where the overview activation key was specified as
|
||||
'<Super_L>' not 'Super_L'.
|
||||
|
||||
Contributors:
|
||||
|
||||
Colin Walters
|
||||
|
||||
Translation:
|
||||
|
||||
Denis Arnaud (br)
|
||||
|
||||
2.27.4
|
||||
======
|
||||
|
||||
* Big code cleanup: when talking about multiple monitors, call them
|
||||
"monitors", not "xineramas". [Dan]
|
||||
|
||||
* Accessors added or made public:
|
||||
|
||||
meta_screen_get_n_monitors(), meta_screen_get_monitor_geometry()
|
||||
meta_window_get_user_time() and MetaWindow:user-time property.
|
||||
|
||||
[Colin, Dan]
|
||||
|
||||
* Set _GNOME_WM_KEYBINDINGS=Metacity,Mutter on the _NET_SUPPORTING_WM_CHECK
|
||||
window so that gnome-keybinding-properties can figure out to show the
|
||||
Metacity keybindings when Mutter is running. [Owen]
|
||||
|
||||
* Bug and build fixes [Colin, Owen]
|
||||
|
||||
Contributors:
|
||||
|
||||
Owen Taylor, Colin Walters, Dan Winship
|
||||
|
||||
Translation:
|
||||
|
||||
Jorge González (es), Inaki Larranaga Murgoitio (eu), Gabor Kelemen (hu)
|
||||
|
||||
Bugs fixed:
|
||||
|
||||
592393 - Clicking on a minimized window in the overview doesn't focus the window
|
||||
593399 - Add meta_display_get_grab_op()
|
||||
593404 - Make MUTTER_DEBUG_XINERAMA override active Xinerama
|
||||
593407 - Add 'skip-taskbar' accessor to MetaWindow.
|
||||
593686 - Add meta_screen_get_monitors()
|
||||
594067 - Export a _GNOME_WM_KEYBINDINGS property
|
||||
|
||||
2.27.3
|
||||
======
|
||||
|
||||
* Key handling improvements:
|
||||
|
||||
- enforce that every key is handled no more than once.
|
||||
- mutter_plugin_begin_modal() and mutter_plugin_begin_modal() allow
|
||||
putting a plugin into a "modal" state where it has exclusive access
|
||||
to key and pointer events.
|
||||
- Add "tab_popup_select", "tab_pop_cancel" pseudo-keypress-handlers
|
||||
that plugins can use to get notification when Alt-Tab ends
|
||||
|
||||
[Owen]
|
||||
|
||||
* Accessors added or made public:
|
||||
|
||||
meta_window_is_override_redirect(), meta_window_is_mapped(),
|
||||
meta_display_xwindow_is_a_no_focus_window(),
|
||||
meta_display_get_grab_op(), meta_window_is_skip_taskbar(),
|
||||
meta_window_is_modal(), all of errors.h
|
||||
|
||||
[Colin, Owen, Michael, Steve, Tomas]
|
||||
|
||||
* Fix for various GTK+ deprecations [Javier]
|
||||
* Bug fixes [Colin, Frédéric, Owen, Thomas, Tomas, Volker]
|
||||
|
||||
Contributors:
|
||||
|
||||
Javier Jardón, Steve Frécinaux, Tomas Frydrych, Michael Meeks,
|
||||
Frédéric Péters, Volker Sobek, Owen Taylor, Thomas Thurman,
|
||||
Colin Walters
|
||||
|
||||
Translation:
|
||||
|
||||
Fran Dieguez (gl), Gabor Kelemen (hu), Daniel Nylander (se)
|
||||
|
||||
Bugs fixed:
|
||||
|
||||
589457 - Fix up window property notification for "title"
|
||||
590911 - Do not run plugin effects on WM startup
|
||||
590978 - API to query whether window is in modal state
|
||||
591367 - Be silent by default
|
||||
591566 - install errors.h header ...
|
||||
591788 - Add meta_window_is_override_redirect
|
||||
591836 - mutter mishandles opacity
|
||||
591913 - Fails to skip current window on alt+tab when another window is asking for attention
|
||||
592393 - Clicking on a minimized window in the overview doesn't focus the window
|
||||
592699 - Remove deprecated Encoding key from desktop files
|
||||
592742 - Avoid accessing freed memory when being replaced
|
||||
593399 - Add meta_display_get_grab_op()
|
||||
593404 - Make MUTTER_DEBUG_XINERAMA override active Xinerama
|
||||
593407 - Add 'skip-taskbar' accessor to MetaWindow.
|
||||
|
||||
----------------------------- Older Metacity News -----------------------------
|
||||
|
||||
2.26.0
|
||||
======
|
||||
|
||||
Thanks to Luca Ferretti, Matt Kraai, and Neil Jagdish Patel for
|
||||
improvements in this version.
|
||||
|
||||
- queue frame resize on window undecorate (Neil)
|
||||
- fix description of desktop background (Luca) (#569649)
|
||||
- wrap g_error calls in braces (Matt)
|
||||
|
||||
Translations
|
||||
Amitakhya Phukan (as), Mikel González (ast), Ihar Hrachyshka (be@latin), Runa
|
||||
Bhattacharjee (bn_IN), David Planella (ca), Petr Kovar (cs), Ask Hjorth
|
||||
Larsen (da), Christian Kirbach (de), Jennie Petoumenou (el), David Lodge (en_GB),
|
||||
Jorge González (es), Mattias Põldaru (et), Iñaki Larrañaga Murgoitio (eu),
|
||||
Ilkka Tuohela (fi), Claude Paroz (fr), Ankit Patel (gu), Mark Krapivner (he),
|
||||
Rajesh Ranjan (hi), Gabor Kelemen (hu), Luca Ferretti (it), Takeshi AIHANA (ja),
|
||||
Changwoo Ryu (ko), Gintautas Miliauskas (lt), Sangeeta Kumari (mai), Sandeep
|
||||
Shedmake (mr), Wouter Bolsterlee (nl), Manoj Kumar Giri (or), Duarte Loreto (pt),
|
||||
Leonardo Ferreira Fontenelle (pt_BR), Adi Roiban (ro), Yuriy Penkin (ru), Daniel
|
||||
Nylander (sv), I. Felix (ta), Krishna Babu K (te), Theppitak Karoonboonyanan (th),
|
||||
Clytie Siddall (vi), Chao-Hsiung Liao (zh_HK), Chao-Hsiung Liao (zh_TW)
|
||||
|
||||
2.25.144
|
||||
========
|
||||
|
||||
Thanks to Matthias Claesen, Matt Kraai, Elijah Newren, Owen Taylor, and Thomas
|
||||
Thurman for improvements in this version.
|
||||
|
||||
- Optimise window property lookup (Thomas) (#549886)
|
||||
- Fix slip in the above (Matt)
|
||||
- Several memory leaks fixed (Matthias) (#552303, #552973, #552307)
|
||||
- Fix longstanding crasher about colourmaps (Owen) (#568365)
|
||||
- Alt+middle/right buttons can be switched (Thomas) (#437910)
|
||||
- Support _NET_WM_MOVERESIZE_CANCEL (Elijah)
|
||||
- minor fix paving the way for a theme editor (Thomas)
|
||||
|
||||
Translations
|
||||
David Planella (ca), Jorge González (es), Mattias Põldaru (et), saudat
|
||||
mohammed (ha), Yuval Tanny\n (he), Gabor Kelemen (hu), Onye, Sylvester (ig),
|
||||
Changwoo Ryu (ko), Raivis Dejus (lv), Kjartan Maraas (nb), Daniel Nylander (sv),
|
||||
Fajuyitan, Sunday Ayo (yo), 甘露 (Gan Lu) (zh_CN)
|
||||
|
||||
2.25.89
|
||||
=======
|
||||
|
||||
Thanks to Yanko Kaneti, Frederic Peters, Thomas Thurman, and Colin Walters for
|
||||
improvements in this version.
|
||||
|
||||
- The maximisation key is a toggle. (Thomas) (#343824)
|
||||
- "Unmaximise" is now called "restore". (Thomas) (#343824)
|
||||
- New thread handling call for gconf (Frederic) (#565517)
|
||||
- Add screenshot commands back which had been removed (Yanko) (#565343)
|
||||
- move_to_corner_se keybinding fixed (Thomas)
|
||||
- Windows on other workspaces which attempt to present themselves
|
||||
are marked as needing attention (Colin) (#482354)
|
||||
- End the grab op when the user clicks the titlebar (Thomas) (#401028)
|
||||
|
||||
Translations
|
||||
Jorge González (es)
|
||||
|
||||
2.25.55
|
||||
=======
|
||||
|
||||
Thanks to Erwann Chenede for improvements in this version.
|
||||
|
||||
- Fix build on Solaris (Erwann) (#564123)
|
||||
|
||||
Translations
|
||||
Mattias Põldaru (et), Luca Ferretti (it)
|
||||
|
||||
2.25.34
|
||||
=======
|
||||
|
||||
Thanks to Matt Kraai for improvements in this version.
|
||||
|
||||
- Fixes to Thomas's earlier fixes (Matt) (#562939)
|
||||
|
||||
Translations
|
||||
None
|
||||
|
||||
2.25.21
|
||||
=======
|
||||
|
||||
Thanks to Thomas Thurman for improvements in this version.
|
||||
|
||||
- Fixes to allow building without compositor again (Thomas)
|
||||
- Fixes for -Wall problems (Thomas)
|
||||
- Various tool updates (Thomas)
|
||||
|
||||
Translations: none
|
||||
|
||||
|
||||
2.25.13
|
||||
=======
|
||||
|
||||
Thanks to Thomas Thurman for improvements in this version.
|
||||
|
||||
- Add casts to fix failure to build from source on 64bit hosts (Thomas) (#562106)
|
||||
- Added script to produce annoucements (Thomas)
|
||||
|
||||
Translations
|
||||
Jorge González (es)
|
||||
|
||||
2.25.8
|
||||
======
|
||||
|
||||
|
84
README
84
README
@@ -12,7 +12,7 @@ The stable releases so far are 2.4.x, 2.6.x, 2.8.[01], 2.8.1.x, 2.8.5-,
|
||||
Unstable branches are 2.3.x, 2.5.x, 2.8.2-4, 2.9.x, 2.11.x, 2.13.x,
|
||||
2.15.x, 2.17.x.
|
||||
|
||||
COMPILING METACITY
|
||||
COMPILING MUTTER
|
||||
===
|
||||
|
||||
You need GTK+ 2.2. For startup notification to work you need
|
||||
@@ -20,6 +20,7 @@ libstartup-notification at
|
||||
http://www.freedesktop.org/software/startup-notification/ or on the
|
||||
GNOME ftp site. You also need GConf 1.2 (unless building a funky
|
||||
extra-small embedded metacity with --disable-gconf, see below).
|
||||
You need Clutter 1.0. You need gobject-introspection 0.6.3.
|
||||
|
||||
REPORTING BUGS AND SUBMITTING PATCHES
|
||||
===
|
||||
@@ -36,47 +37,11 @@ Feel free to send patches too; Metacity is relatively small and
|
||||
simple, so if you find a bug or want to add a feature it should be
|
||||
pretty easy. Send me mail, or put the patch in bugzilla.
|
||||
|
||||
See the HACKING file for some notes on hacking Metacity.
|
||||
See the HACKING file for some notes on hacking Mutter.
|
||||
|
||||
SHRINKING METACITY
|
||||
MUTTER FEATURES
|
||||
===
|
||||
|
||||
Not that metacity is huge, but a substantial amount of code is in
|
||||
preferences handling, in static strings that aren't essential, and in
|
||||
the theme engine.
|
||||
|
||||
You can strip about 70K from the metacity binary by compiling with
|
||||
options such as:
|
||||
|
||||
--disable-gconf
|
||||
--disable-sm
|
||||
--disable-verbose
|
||||
--disable-startup-notification
|
||||
|
||||
However the result is no good for desktop use, all prefs have to be
|
||||
hardcoded in the binary, for example. If you wanted to make a really
|
||||
small metacity, here's some additional stuff you might consider
|
||||
implementing:
|
||||
|
||||
- add --disable-themes, which would replace theme.c and theme-parser.c
|
||||
with a hardcoded implementation of the interface in theme.h,
|
||||
should save about 80K. This should be fairly easy.
|
||||
|
||||
- add --disable-gtk, which would implement the interface in ui.h
|
||||
without using GTK. This one is easier than you think because the
|
||||
main part of the window manager doesn't use GTK directly, but is
|
||||
still fairly hard to do. You would probably have to give up some
|
||||
of the features, such as window menus, as menus are pretty complex
|
||||
to implement well. So time may be better spent adding a GTK
|
||||
configure script feature to build GTK with only a small core set of
|
||||
functionality.
|
||||
|
||||
METACITY FEATURES
|
||||
===
|
||||
|
||||
- Boring window manager for the adult in you. Many window managers
|
||||
are like Marshmallow Froot Loops; Metacity is like Cheerios.
|
||||
|
||||
- Uses GTK+ 2.0 for drawing window frames. This means colors, fonts,
|
||||
etc. come from GTK+ theme.
|
||||
|
||||
@@ -132,8 +97,6 @@ METACITY FEATURES
|
||||
Also try the GNOME keyboard shortcuts control panel, or
|
||||
gconf-editor.
|
||||
|
||||
See metacity.schemas for all available bindings.
|
||||
|
||||
- Window keybindings:
|
||||
|
||||
Alt-space window menu
|
||||
@@ -185,13 +148,13 @@ METACITY FEATURES
|
||||
|
||||
- Session management:
|
||||
|
||||
Metacity connects to the session manager and will set itself up to
|
||||
Mutter connects to the session manager and will set itself up to
|
||||
be respawned. It theoretically restores sizes/positions/workspace
|
||||
for session-aware applications.
|
||||
|
||||
- Metacity implements much of the EWMH window manager specification
|
||||
- Mutter implements much of the EWMH window manager specification
|
||||
from freedesktop.org, as well as the older ICCCM. Please refer to
|
||||
the COMPLIANCE file for information on metacity compliance with
|
||||
the COMPLIANCE file for information on mutter compliance with
|
||||
these standards.
|
||||
|
||||
- Uses Pango to render text, so has cool i18n capabilities.
|
||||
@@ -210,7 +173,7 @@ METACITY FEATURES
|
||||
- handles the window manager selection from the ICCCM. Will exit if
|
||||
another WM claims it, and can claim it from another WM if you pass
|
||||
the --replace argument. So if you're running another
|
||||
ICCCM-compliant WM, you can run "metacity --replace" to replace it
|
||||
ICCCM-compliant WM, you can run "mutter --replace" to replace it
|
||||
with Metacity.
|
||||
|
||||
- does basic colormap handling
|
||||
@@ -220,7 +183,7 @@ METACITY FEATURES
|
||||
HOW TO ADD EXTERNAL FEATURES
|
||||
===
|
||||
|
||||
You can write a metacity "plugin" such as a pager, window list, icon
|
||||
You can write a mutter "plugin" such as a pager, window list, icon
|
||||
box, task menu, or even things like "window matching" using the
|
||||
Extended Window Manager Hints. See http://www.freedesktop.org for the
|
||||
EWMH specification. An easy-to-use library called "libwnck" is
|
||||
@@ -228,10 +191,10 @@ available that uses the EWMH and is specifically designed for writing
|
||||
WM accessories.
|
||||
|
||||
You might be interested in existing accessories such as "Devil's Pie"
|
||||
by Ross Burton, which add features to Metacity (or other
|
||||
by Ross Burton, which add features to Mutter (or other
|
||||
EWMH-compliant WMs).
|
||||
|
||||
METACITY BUGS, NON-FEATURES, AND CAVEATS
|
||||
MUTTER BUGS, NON-FEATURES, AND CAVEATS
|
||||
===
|
||||
|
||||
See bugzilla: http://bugzilla.gnome.org/query.cgi
|
||||
@@ -270,26 +233,15 @@ A: If it makes sense to turn on unconditionally, or is genuinely a
|
||||
http://pobox.com/~hp/free-software-ui.html
|
||||
http://pobox.com/~hp/features.html
|
||||
|
||||
Q: Will Metacity be part of GNOME?
|
||||
Q: Will Mutter be part of GNOME?
|
||||
|
||||
A: It is officially part of GNOME as of GNOME 2.2. Prior to that,
|
||||
it was unofficially shipped as the default GNOME WM by several
|
||||
OS vendors.
|
||||
A: It is not officially part of GNOME as of GNOME 2.27. We are
|
||||
hoping to have mutter officially included as of GNOME 2.28.
|
||||
|
||||
Q: Is Metacity a Red Hat project?
|
||||
|
||||
A: Metacity's original creation was in no way funded, endorsed, or
|
||||
encouraged by Red Hat, Inc. - I'm guessing Red Hat would not
|
||||
consider "insufficient number of window managers for Linux" an
|
||||
urgent problem. Just a wild guess though.
|
||||
|
||||
Now that metacity is the default WM however, Red Hat supports some
|
||||
bugfixing and other work.
|
||||
|
||||
Q: Why does Metacity remember the workspace/position of some apps
|
||||
Q: Why does Mutter remember the workspace/position of some apps
|
||||
but not others across logout/login?
|
||||
|
||||
A: Metacity only stores sizes/positions for apps that are session
|
||||
A: Mutter only stores sizes/positions for apps that are session
|
||||
managed. As far as I can determine, there is no way to attempt to
|
||||
remember workspace/position for non-session-aware apps without
|
||||
causing a lot of weird effects.
|
||||
@@ -304,7 +256,7 @@ A: Metacity only stores sizes/positions for apps that are session
|
||||
place. And in fact I see a lot of bugs like this in window managers
|
||||
that try to handle non-session-aware apps.
|
||||
|
||||
However, for session-aware apps, Metacity can tell that the
|
||||
However, for session-aware apps, Mutter can tell that the
|
||||
application instance is from the session and thus restore it
|
||||
reliably, assuming the app properly restores the windows it had
|
||||
open on session save.
|
||||
@@ -456,7 +408,7 @@ A: There are quite a few, though many opportunities remain. Sometimes
|
||||
|
||||
- and much more.
|
||||
|
||||
Q: I think metacity sucks.
|
||||
Q: I think mutter sucks.
|
||||
|
||||
A: Feel free to use any WM you like. The reason metacity follows the
|
||||
ICCCM and EWMH specifications is that it makes metacity a modular,
|
||||
|
@@ -4,7 +4,7 @@
|
||||
srcdir=`dirname $0`
|
||||
test -z "$srcdir" && srcdir=.
|
||||
|
||||
PKG_NAME="metacity"
|
||||
PKG_NAME="mutter"
|
||||
REQUIRED_AUTOMAKE_VERSION=1.10
|
||||
|
||||
(test -f $srcdir/configure.in \
|
||||
|
389
configure.in
389
configure.in
@@ -1,26 +1,40 @@
|
||||
AC_PREREQ(2.50)
|
||||
|
||||
m4_define([metacity_major_version], [2])
|
||||
m4_define([metacity_minor_version], [25])
|
||||
# Fibonacci sequence for micro version numbering:
|
||||
# 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987
|
||||
m4_define([metacity_micro_version], [8])
|
||||
m4_define([mutter_major_version], [3])
|
||||
m4_define([mutter_minor_version], [0])
|
||||
m4_define([mutter_micro_version], [1])
|
||||
|
||||
m4_define([metacity_version],
|
||||
[metacity_major_version.metacity_minor_version.metacity_micro_version])
|
||||
AC_INIT([metacity], [metacity_version],
|
||||
[http://bugzilla.gnome.org/enter_bug.cgi?product=metacity])
|
||||
m4_define([mutter_version],
|
||||
[mutter_major_version.mutter_minor_version.mutter_micro_version])
|
||||
|
||||
m4_define([mutter_plugin_api_version], [3])
|
||||
|
||||
AC_INIT([mutter], [mutter_version],
|
||||
[http://bugzilla.gnome.org/enter_bug.cgi?product=mutter])
|
||||
|
||||
AC_CONFIG_SRCDIR(src/core/display.c)
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
AM_INIT_AUTOMAKE
|
||||
AM_INIT_AUTOMAKE([dist-bzip2 no-dist-gzip])
|
||||
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],)
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
MUTTER_MAJOR_VERSION=mutter_major_version
|
||||
MUTTER_MINOR_VERSION=mutter_minor_version
|
||||
MUTTER_MICRO_VERSION=mutter_micro_version
|
||||
MUTTER_PLUGIN_API_VERSION=mutter_plugin_api_version
|
||||
AC_SUBST(MUTTER_MAJOR_VERSION)
|
||||
AC_SUBST(MUTTER_MINOR_VERSION)
|
||||
AC_SUBST(MUTTER_MICRO_VERSION)
|
||||
AC_SUBST(MUTTER_PLUGIN_API_VERSION)
|
||||
|
||||
MUTTER_PLUGIN_DIR="$libdir/$PACKAGE/plugins"
|
||||
AC_SUBST(MUTTER_PLUGIN_DIR)
|
||||
|
||||
# Honor aclocal flags
|
||||
AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}")
|
||||
|
||||
GETTEXT_PACKAGE=metacity
|
||||
GETTEXT_PACKAGE=mutter
|
||||
AC_SUBST(GETTEXT_PACKAGE)
|
||||
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Name of default gettext domain])
|
||||
|
||||
@@ -31,7 +45,10 @@ AC_HEADER_STDC
|
||||
AC_LIBTOOL_WIN32_DLL
|
||||
AM_PROG_LIBTOOL
|
||||
|
||||
#### Integer sizes
|
||||
# Sets GLIB_GENMARSHAL and GLIB_MKENUMS
|
||||
AM_PATH_GLIB_2_0()
|
||||
|
||||
#### Integer sizes
|
||||
|
||||
AC_CHECK_SIZEOF(char)
|
||||
AC_CHECK_SIZEOF(short)
|
||||
@@ -44,70 +61,11 @@ AC_CHECK_SIZEOF(__int64)
|
||||
## byte order
|
||||
AC_C_BIGENDIAN
|
||||
|
||||
#### Warnings
|
||||
GTK_MIN_VERSION=2.91.7
|
||||
CANBERRA_GTK=libcanberra-gtk3
|
||||
CANBERRA_GTK_VERSION=0.26
|
||||
|
||||
changequote(,)dnl
|
||||
if test "x$GCC" = "xyes"; then
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wall[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wall" ;;
|
||||
esac
|
||||
|
||||
# case " $CFLAGS " in
|
||||
# *[\ \ ]-Wshadow[\ \ ]*) ;;
|
||||
# *) CFLAGS="$CFLAGS -Wshadow" ;;
|
||||
# esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wchar-subscripts[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wmissing-declarations[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wmissing-prototypes[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wmissing-prototypes" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wnested-externs[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wnested-externs" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wpointer-arith[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wpointer-arith" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wcast-align[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wcast-align" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wsign-compare[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wsign-compare" ;;
|
||||
esac
|
||||
|
||||
if test "x$enable_ansi" = "xyes"; then
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-ansi[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -ansi" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-pedantic[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -pedantic" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
changequote([,])dnl
|
||||
|
||||
METACITY_PC_MODULES='gtk+-2.0 >= 2.10.0 pango >= 1.2.0'
|
||||
MUTTER_PC_MODULES="gtk+-3.0 >= $GTK_MIN_VERSION pango >= 1.2.0 cairo >= 1.10.0"
|
||||
|
||||
AC_ARG_ENABLE(gconf,
|
||||
AC_HELP_STRING([--disable-gconf],
|
||||
@@ -116,12 +74,12 @@ AC_ARG_ENABLE(gconf,
|
||||
|
||||
if test x$enable_gconf = xyes; then
|
||||
AC_DEFINE(HAVE_GCONF,1,[Build with gconf support])
|
||||
METACITY_PC_MODULES="$METACITY_PC_MODULES gconf-2.0 >= 1.2.0"
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES gconf-2.0 >= 1.2.0"
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(verbose-mode,
|
||||
AC_HELP_STRING([--disable-verbose-mode],
|
||||
[disable metacity's ability to do verbose logging, for embedded/size-sensitive custom builds]),,
|
||||
[disable mutter's ability to do verbose logging, for embedded/size-sensitive custom builds]),,
|
||||
enable_verbose_mode=yes)
|
||||
|
||||
if test x$enable_verbose_mode = xyes; then
|
||||
@@ -130,32 +88,27 @@ fi
|
||||
|
||||
AC_ARG_ENABLE(sm,
|
||||
AC_HELP_STRING([--disable-sm],
|
||||
[disable metacity's session management support, for embedded/size-sensitive custom non-GNOME builds]),,
|
||||
[disable mutter's session management support, for embedded/size-sensitive custom non-GNOME builds]),,
|
||||
enable_sm=auto)
|
||||
|
||||
AC_ARG_ENABLE(startup-notification,
|
||||
AC_HELP_STRING([--disable-startup-notification],
|
||||
[disable metacity's startup notification support, for embedded/size-sensitive custom non-GNOME builds]),,
|
||||
[disable mutter's startup notification support, for embedded/size-sensitive custom non-GNOME builds]),,
|
||||
enable_startup_notification=auto)
|
||||
|
||||
AC_ARG_ENABLE(compositor,
|
||||
AC_HELP_STRING([--disable-compositor],
|
||||
[disable metacity's compositing manager]),,
|
||||
enable_compositor=auto)
|
||||
AC_ARG_WITH(libcanberra,
|
||||
AC_HELP_STRING([--without-libcanberra],
|
||||
[disable the use of libcanberra for playing sounds]),,
|
||||
with_libcanberra=auto)
|
||||
|
||||
AC_ARG_ENABLE(xsync,
|
||||
AC_HELP_STRING([--disable-xsync],
|
||||
[disable metacity's use of the XSync extension]),,
|
||||
[disable mutter's use of the XSync extension]),,
|
||||
enable_xsync=auto)
|
||||
|
||||
AC_ARG_ENABLE(render,
|
||||
AC_HELP_STRING([--disable-render],
|
||||
[disable metacity's use of the RENDER extension]),,
|
||||
enable_render=auto)
|
||||
|
||||
AC_ARG_ENABLE(shape,
|
||||
AC_HELP_STRING([--disable-shape],
|
||||
[disable metacity's use of the shaped window extension]),,
|
||||
[disable mutter's use of the shaped window extension]),,
|
||||
enable_shape=auto)
|
||||
|
||||
## try definining HAVE_BACKTRACE
|
||||
@@ -164,17 +117,11 @@ AC_CHECK_HEADERS(execinfo.h, [AC_CHECK_FUNCS(backtrace)])
|
||||
AM_GLIB_GNU_GETTEXT
|
||||
|
||||
## here we get the flags we'll actually use
|
||||
# GOptionEntry requires glib-2.6.0
|
||||
PKG_CHECK_MODULES(ALL, glib-2.0 >= 2.6.0)
|
||||
# gtk_window_set_icon_name requires gtk2+-2.60
|
||||
PKG_CHECK_MODULES(METACITY_MESSAGE, gtk+-2.0 >= 2.6.0)
|
||||
PKG_CHECK_MODULES(METACITY_WINDOW_DEMO, gtk+-2.0 >= 2.6.0)
|
||||
|
||||
if $PKG_CONFIG --atleast-version 1.2.0 pangoxft; then
|
||||
echo "pangoxft found"
|
||||
else
|
||||
AC_MSG_ERROR("Pango 1.2.0 or greater based on Xft2 is required")
|
||||
fi
|
||||
# GRegex requires Glib-2.14.0
|
||||
PKG_CHECK_MODULES(ALL, glib-2.0 >= 2.14.0)
|
||||
# gtk_window_set_icon_name requires gtk2+-2.6.0
|
||||
PKG_CHECK_MODULES(MUTTER_MESSAGE, gtk+-3.0 >= $GTK_MIN_VERSION)
|
||||
PKG_CHECK_MODULES(MUTTER_WINDOW_DEMO, gtk+-3.0 >= $GTK_MIN_VERSION)
|
||||
|
||||
# Unconditionally use this dir to avoid a circular dep with gnomecc
|
||||
GNOME_KEYBINDINGS_KEYSDIR="${datadir}/gnome-control-center/keybindings"
|
||||
@@ -200,74 +147,76 @@ fi
|
||||
|
||||
if test x$have_startup_notification = xyes; then
|
||||
echo "Building with libstartup-notification"
|
||||
METACITY_PC_MODULES="$METACITY_PC_MODULES libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_VERSION"
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_VERSION"
|
||||
AC_DEFINE(HAVE_STARTUP_NOTIFICATION, , [Building with startup notification support])
|
||||
else
|
||||
echo "Building without libstartup-notification"
|
||||
fi
|
||||
|
||||
## init this, it gets set either in the compositor check below
|
||||
## or the render-specific check later
|
||||
have_xrender=no
|
||||
have_libcanberra=no
|
||||
AC_MSG_CHECKING([libcanberra-gtk])
|
||||
if test x$with_libcanberra = xno ; then
|
||||
AC_MSG_RESULT([disabled])
|
||||
else
|
||||
if $PKG_CONFIG --exists $CANBERRA_GTK '>=' $CANBERRA_GTK_VERSION; then
|
||||
have_libcanberra=yes
|
||||
AC_MSG_RESULT(yes)
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES $CANBERRA_GTK"
|
||||
AC_DEFINE([HAVE_LIBCANBERRA], 1, [Building with libcanberra for playing sounds])
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
if test x$with_libcanberra = xyes ; then
|
||||
AC_MSG_ERROR([libcanberra forced and libcanberra-gtk was not found])
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
XCOMPOSITE_VERSION=0.2
|
||||
if test x$enable_compositor = xyes; then
|
||||
have_xcomposite=yes
|
||||
elif test x$enable_compositor = xauto; then
|
||||
echo "Building compositing manager by default now."
|
||||
have_xcomposite=yes
|
||||
else
|
||||
have_xcomposite=no
|
||||
fi
|
||||
|
||||
if test x$have_xcomposite = xyes; then
|
||||
AC_MSG_CHECKING([Xcomposite >= $XCOMPOSITE_VERSION])
|
||||
if $PKG_CONFIG --atleast-version $XCOMPOSITE_VERSION xcomposite; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_ERROR([no. Use --disable-compositor to disable.])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test x$have_xcomposite = xyes; then
|
||||
METACITY_PC_MODULES="$METACITY_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
|
||||
AC_DEFINE(HAVE_COMPOSITE_EXTENSIONS, , [Building with compositing manager support])
|
||||
AC_MSG_CHECKING([Xcomposite >= $XCOMPOSITE_VERSION])
|
||||
if $PKG_CONFIG --atleast-version $XCOMPOSITE_VERSION xcomposite; then
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES xcomposite >= $XCOMPOSITE_VERSION xfixes xrender xdamage"
|
||||
AC_DEFINE(HAVE_COMPOSITE_EXTENSIONS, 1, [Building with compositing manager support])
|
||||
echo "Building with compositing manager"
|
||||
|
||||
## force on render also
|
||||
have_xrender=yes
|
||||
else
|
||||
echo "Building without compositing manager"
|
||||
AC_MSG_ERROR([no. Mutter requires the Xcomposite extension to build.])
|
||||
fi
|
||||
|
||||
## if no compositor, still possibly enable render
|
||||
if test x$have_xcomposite = xno; then
|
||||
XRENDER_VERSION=0.0
|
||||
AC_MSG_CHECKING([xrender >= $XRENDER_VERSION])
|
||||
if $PKG_CONFIG --atleast-version $XRENDER_VERSION xrender; then
|
||||
have_xrender=yes
|
||||
else
|
||||
have_xrender=no
|
||||
fi
|
||||
AC_MSG_RESULT($have_xrender)
|
||||
CLUTTER_VERSION=1.2.0
|
||||
CLUTTER_PACKAGE=clutter-1.0
|
||||
AC_SUBST(CLUTTER_PACKAGE)
|
||||
if $PKG_CONFIG --atleast-version $CLUTTER_VERSION $CLUTTER_PACKAGE ; then
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES $CLUTTER_PACKAGE "
|
||||
PKG_CHECK_MODULES(CLUTTER, $CLUTTER_PACKAGE)
|
||||
AC_DEFINE(WITH_CLUTTER, , [Building with Clutter compositor])
|
||||
|
||||
if test x$enable_render = xyes; then
|
||||
have_xrender=yes
|
||||
echo "Render support forced on"
|
||||
elif test x$enable_render = xauto; then
|
||||
true
|
||||
else
|
||||
have_xrender=no
|
||||
fi
|
||||
dnl Check for the clutter-glx-texture-pixmap header
|
||||
mutter_save_cppflags="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $CLUTTER_CFLAGS"
|
||||
AC_CHECK_HEADER([clutter/glx/clutter-glx-texture-pixmap.h],
|
||||
[have_glx_texture_pixmap=yes],
|
||||
[have_glx_texture_pixmap=no])
|
||||
CPPFLAGS="$mutter_save_cppflags"
|
||||
|
||||
if test x$have_xrender = xyes; then
|
||||
echo "Building with Render"
|
||||
METACITY_PC_MODULES="$METACITY_PC_MODULES xrender >= $XRENDER_VERSION"
|
||||
if test x$have_glx_texture_pixmap = xyes; then
|
||||
AC_DEFINE(HAVE_GLX_TEXTURE_PIXMAP, ,
|
||||
[Is ClutterGLXTexturePixmap available?])
|
||||
fi
|
||||
fi ## have_composite
|
||||
else
|
||||
AC_MSG_ERROR([no. Mutter requires Clutter version $CLUTTER_VERSION.])
|
||||
fi
|
||||
|
||||
if test x$have_xrender = xyes; then
|
||||
AC_DEFINE(HAVE_RENDER, , [Building with Render extension support])
|
||||
INTROSPECTION_VERSION=0.9.5
|
||||
GOBJECT_INTROSPECTION_CHECK([$INTROSPECTION_VERSION])
|
||||
|
||||
if test x$found_introspection != xno; then
|
||||
AC_DEFINE(HAVE_INTROSPECTION, 1, [Define if GObject introspection is available])
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES gobject-introspection-1.0"
|
||||
META_GIR=[Meta_]mutter_major_version[_]mutter_minor_version[_gir]
|
||||
AC_SUBST(META_GIR)
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING([Xcursor])
|
||||
@@ -280,23 +229,23 @@ if $PKG_CONFIG xcursor; then
|
||||
|
||||
if test x$have_xcursor = xyes; then
|
||||
echo "Building with Xcursor"
|
||||
METACITY_PC_MODULES="$METACITY_PC_MODULES xcursor"
|
||||
AC_DEFINE(HAVE_XCURSOR, , [Building with Xcursor support])
|
||||
MUTTER_PC_MODULES="$MUTTER_PC_MODULES xcursor"
|
||||
AC_DEFINE(HAVE_XCURSOR, , [Building with Xcursor support])
|
||||
fi
|
||||
|
||||
PKG_CHECK_MODULES(METACITY, $METACITY_PC_MODULES)
|
||||
PKG_CHECK_MODULES(MUTTER, $MUTTER_PC_MODULES)
|
||||
|
||||
AC_PATH_XTRA
|
||||
|
||||
ALL_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
|
||||
|
||||
# Check for Xinerama extension (Solaris impl or Xfree impl)
|
||||
metacity_save_cppflags="$CPPFLAGS"
|
||||
mutter_save_cppflags="$CPPFLAGS"
|
||||
CPPFLAGS="$CPPFLAGS $X_CFLAGS"
|
||||
|
||||
AC_ARG_ENABLE(xinerama,
|
||||
AC_HELP_STRING([--disable-xinerama],
|
||||
[disable metacity's use of the Xinerama extension]),
|
||||
[disable mutter's use of the Xinerama extension]),
|
||||
try_xinerama=$enable_xinerama,try_xinerama=yes)
|
||||
|
||||
use_solaris_xinerama=no
|
||||
@@ -318,7 +267,7 @@ if test "${try_xinerama}" != no; then
|
||||
AC_DEFINE(HAVE_XINERAMA, , [Have some version of Xinerama]),
|
||||
use_solaris_xinerama=no,
|
||||
[#include <X11/Xlib.h>])
|
||||
fi
|
||||
fi
|
||||
AC_MSG_CHECKING(for Xinerama support on Solaris)
|
||||
AC_MSG_RESULT($use_solaris_xinerama);
|
||||
;;
|
||||
@@ -327,12 +276,12 @@ if test "${try_xinerama}" != no; then
|
||||
use_xfree_xinerama=yes
|
||||
AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
|
||||
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
|
||||
X_EXTRA_LIBS="-lXinerama $X_EXTRA_LIBS"
|
||||
X_EXTRA_LIBS="-lXinerama $X_EXTRA_LIBS"
|
||||
if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then
|
||||
X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS"
|
||||
fi
|
||||
AC_DEFINE(HAVE_XFREE_XINERAMA, , [Have XFree86-style Xinerama])
|
||||
AC_DEFINE(HAVE_XINERAMA,, [Have some version of Xinerama]),
|
||||
AC_DEFINE(HAVE_XINERAMA,, [Have some version of Xinerama]),
|
||||
use_xfree_xinerama=no,
|
||||
[#include <X11/Xlib.h>])],
|
||||
use_xfree_xinerama=no, -lXext $ALL_X_LIBS)
|
||||
@@ -342,7 +291,7 @@ if test "${try_xinerama}" != no; then
|
||||
esac
|
||||
fi
|
||||
|
||||
CPPFLAGS="$metacity_save_cppflags"
|
||||
CPPFLAGS="$mutter_save_cppflags"
|
||||
|
||||
SHAPE_LIBS=
|
||||
found_shape=no
|
||||
@@ -413,21 +362,21 @@ if test "x$found_xsync" = "xyes"; then
|
||||
AC_DEFINE(HAVE_XSYNC, , [Have the Xsync extension library])
|
||||
fi
|
||||
|
||||
METACITY_LIBS="$METACITY_LIBS $XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lm"
|
||||
METACITY_MESSAGE_LIBS="$METACITY_MESSAGE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
|
||||
METACITY_WINDOW_DEMO_LIBS="$METACITY_WINDOW_DEMO_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
|
||||
METACITY_PROPS_LIBS="$METACITY_PROPS_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
|
||||
MUTTER_LIBS="$MUTTER_LIBS $XSYNC_LIBS $RANDR_LIBS $SHAPE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lm"
|
||||
MUTTER_MESSAGE_LIBS="$MUTTER_MESSAGE_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
|
||||
MUTTER_WINDOW_DEMO_LIBS="$MUTTER_WINDOW_DEMO_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lm"
|
||||
MUTTER_PROPS_LIBS="$MUTTER_PROPS_LIBS $X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS"
|
||||
|
||||
found_sm=no
|
||||
case "$METACITY_LIBS" in
|
||||
case "$MUTTER_LIBS" in
|
||||
*-lSM*)
|
||||
found_sm=yes
|
||||
;;
|
||||
*)
|
||||
AC_CHECK_LIB(SM, SmcSaveYourselfDone,
|
||||
AC_CHECK_LIB(SM, SmcSaveYourselfDone,
|
||||
[AC_CHECK_HEADERS(X11/SM/SMlib.h,
|
||||
METACITY_LIBS="-lSM -lICE $METACITY_LIBS" found_sm=yes)],
|
||||
, $METACITY_LIBS)
|
||||
MUTTER_LIBS="-lSM -lICE $MUTTER_LIBS" found_sm=yes)],
|
||||
, $MUTTER_LIBS)
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -446,7 +395,7 @@ if test "$found_sm" = "yes"; then
|
||||
AC_DEFINE(HAVE_SM, , [Building with SM support])
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL(HAVE_SM, test "$found_sm" = "yes")
|
||||
AM_CONDITIONAL(HAVE_SM, test "$found_sm" = "yes")
|
||||
|
||||
HOST_ALIAS=$host_alias
|
||||
AC_SUBST(HOST_ALIAS)
|
||||
@@ -459,7 +408,7 @@ fi
|
||||
|
||||
AC_SUBST(GDK_PIXBUF_CSOURCE)
|
||||
|
||||
if test x$enable_gconf = xyes; then
|
||||
if test x$enable_gconf = xyes; then
|
||||
AC_PATH_PROG(GCONFTOOL, gconftool-2, no)
|
||||
if test x"$GCONFTOOL" = xno; then
|
||||
AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
|
||||
@@ -483,22 +432,88 @@ if test "x$enable_debug" = "xyes"; then
|
||||
CFLAGS="$CFLAGS -g -O"
|
||||
fi
|
||||
|
||||
# Warnings are there for a reason
|
||||
CFLAGS="$CFLAGS -Wall -Werror -ansi"
|
||||
# For fix-meta-rectangle.py
|
||||
AM_PATH_PYTHON([2.5])
|
||||
|
||||
# Use gnome-doc-utils:
|
||||
GNOME_DOC_INIT([0.9.0])
|
||||
GNOME_DOC_INIT([0.8.0])
|
||||
|
||||
#### Warnings (last since -Werror can disturb other tests)
|
||||
|
||||
# Stay command-line compatible with the gnome-common configure option. Here
|
||||
# minimum/yes/maximum are the same, however.
|
||||
AC_ARG_ENABLE(compile_warnings,
|
||||
AS_HELP_STRING([--enable-compile-warnings=@<:@no/minimum/yes/maximum/error@:>@],[Turn on compiler warnings]),,
|
||||
enable_compile_warnings=error)
|
||||
|
||||
changequote(,)dnl
|
||||
if test "$enable_compile_warnings" != no ; then
|
||||
if test "x$GCC" = "xyes"; then
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wall[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wall" ;;
|
||||
esac
|
||||
|
||||
# case " $CFLAGS " in
|
||||
# *[\ \ ]-Wshadow[\ \ ]*) ;;
|
||||
# *) CFLAGS="$CFLAGS -Wshadow" ;;
|
||||
# esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wchar-subscripts[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wchar-subscripts" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wmissing-declarations[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wmissing-declarations" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wmissing-prototypes[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wmissing-prototypes" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wnested-externs[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wnested-externs" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wpointer-arith[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wpointer-arith" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wcast-align[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wcast-align" ;;
|
||||
esac
|
||||
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Wsign-compare[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Wsign-compare" ;;
|
||||
esac
|
||||
|
||||
if test "$enable_compile_warnings" = error; then
|
||||
case " $CFLAGS " in
|
||||
*[\ \ ]-Werror[\ \ ]*) ;;
|
||||
*) CFLAGS="$CFLAGS -Werror" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
changequote([,])dnl
|
||||
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
doc/Makefile
|
||||
doc/creating_themes/Makefile
|
||||
doc/man/Makefile
|
||||
src/Makefile
|
||||
src/wm-tester/Makefile
|
||||
src/libmetacity-private.pc
|
||||
src/libmutter.pc
|
||||
src/mutter-plugins.pc
|
||||
src/tools/Makefile
|
||||
src/themes/Makefile
|
||||
src/compositor/plugins/Makefile
|
||||
po/Makefile.in
|
||||
])
|
||||
|
||||
@@ -514,14 +529,14 @@ fi
|
||||
if test x$enable_verbose_mode = xno; then
|
||||
echo "*** WARNING WARNING WARNING WARNING WARNING"
|
||||
echo "*** Building without verbose mode"
|
||||
echo "*** This means there's no way to debug metacity problems."
|
||||
echo "*** Please build normal desktop versions of metacity"
|
||||
echo "*** This means there's no way to debug mutter problems."
|
||||
echo "*** Please build normal desktop versions of mutter"
|
||||
echo "*** with verbose mode enabled so users can use it when they report bugs."
|
||||
fi
|
||||
|
||||
dnl ==========================================================================
|
||||
echo "
|
||||
metacity-$VERSION:
|
||||
mutter-$VERSION
|
||||
|
||||
prefix: ${prefix}
|
||||
source code location: ${srcdir}
|
||||
@@ -531,21 +546,21 @@ metacity-$VERSION:
|
||||
XFree86 Xinerama: ${use_xfree_xinerama}
|
||||
Solaris Xinerama: ${use_solaris_xinerama}
|
||||
Startup notification: ${have_startup_notification}
|
||||
Compositing manager: ${have_xcomposite}
|
||||
libcanberra: ${have_libcanberra}
|
||||
Introspection: ${found_introspection}
|
||||
Session management: ${found_sm}
|
||||
Shape extension: ${found_shape}
|
||||
Resize-and-rotate: ${found_randr}
|
||||
Xsync: ${found_xsync}
|
||||
Render: ${have_xrender}
|
||||
Xcursor: ${have_xcursor}
|
||||
"
|
||||
|
||||
METACITY_MINOR_VERSION=metacity_minor_version
|
||||
if test $(( $(echo $METACITY_MINOR_VERSION) %2)) == "1"; then
|
||||
stable_version=$(( ($METACITY_MINOR_VERSION / 2) * 2))
|
||||
echo "This is the UNSTABLE branch of metacity"
|
||||
|
||||
MUTTER_MINOR_VERSION=mutter_minor_version
|
||||
if expr $MUTTER_MINOR_VERSION % 2 > /dev/null ; then
|
||||
stable_version=`expr $MUTTER_MINOR_VERSION - 1`
|
||||
echo "This is the UNSTABLE branch of mutter"
|
||||
echo -n "Use 2.$stable_version.x for stable "
|
||||
echo "(gnome-2-$stable_version branch in Subversion)"
|
||||
echo "(gnome-2-$stable_version branch in git)"
|
||||
else
|
||||
echo "This is the stable branch of metacity"
|
||||
echo "This is the stable branch of mutter"
|
||||
fi
|
||||
|
@@ -1,4 +1,4 @@
|
||||
SUBDIRS = man creating_themes
|
||||
SUBDIRS = man
|
||||
|
||||
EXTRA_DIST=theme-format.txt metacity-theme.dtd dialogs.txt code-overview.txt \
|
||||
EXTRA_DIST=theme-format.txt dialogs.txt code-overview.txt \
|
||||
how-to-get-focus-right.txt
|
||||
|
@@ -42,5 +42,5 @@ options you can set are:
|
||||
menus zooming, dialogues being semi-transparent, and so on. Try it
|
||||
and see whether you like it.
|
||||
|
||||
If you have any problems, ask on metacity-devel-list@gnome.org, or
|
||||
If you have any problems, ask on mutter-devel-list@gnome.org, or
|
||||
#gnome-hackers on gimpnet, or come and find me (tthurman at gnome) and ask.
|
||||
|
@@ -1,286 +0,0 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://docbook.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
]>
|
||||
|
||||
<book id="index">
|
||||
|
||||
<bookinfo>
|
||||
|
||||
<title>Understanding Metacity Themes</title>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Thomas</firstname>
|
||||
<surname>Thurman</surname>
|
||||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<abstract>
|
||||
|
||||
<para>
|
||||
We very much appreciate any reports of inaccuracies or other errors in
|
||||
this document. Contributions are also most welcome. Post your
|
||||
suggestions, critiques or addenda to the <ulink
|
||||
url="mailto:tthurman@gnome.org">team</ulink>.</para>
|
||||
|
||||
</abstract>
|
||||
|
||||
<copyright>
|
||||
<year>2008</year>
|
||||
<holder>Thomas Thurman</holder>
|
||||
</copyright>
|
||||
|
||||
<legalnotice>
|
||||
<para>
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.2
|
||||
or any later version published by the Free Software Foundation;
|
||||
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
||||
You may obtain a copy of the GNU Free Documentation License from the Free Software Foundation by visiting their Web site or by writing to: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
</para>
|
||||
</legalnotice>
|
||||
|
||||
</bookinfo>
|
||||
|
||||
<chapter id="sec-introduction">
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>This is an article about how to theme Metacity. It is a work in progress, and I have had to dig deeply to find some answers; I may well have made mistakes and I welcome corrections and suggestions.</para>
|
||||
<para>GNOME lets you theme a bunch of different things, but we're only talking about <literal>window border</literal> themes here, which some people call Metacity themes; <ulink url="http://en.wikipedia.org/wiki/Metacity#Themes">Wikipedia begins a sentence</ulink> with "Despite the incomplete state of Metacity theme development documentation", and though there <emphasis>is</emphasis> <ulink url="http://svn.gnome.org/viewvc/metacity/trunk/doc/theme-format.txt?view=markup">documentation in the source</ulink>, apparently not many people find it, and it's written more for programmers than theme designers. Glynn Foster also wrote <ulink url="http://developer.gnome.org/doc/tutorials/metacity/metacity-themes.html">a very good introduction to Metacity themes</ulink> (<ulink url="http://home.arcor.de/rybaczyk/documents/tutorials/metacity/metacity-themes.de.html">[de]</ulink>) six years ago, but things have changed a little since then. <ulink url="http://lists.freedesktop.org/archives/compiz/2006-September/000445.html">Metacity themes can also be used by Compiz</ulink>, and perhaps by other window managers for all I know.</para>
|
||||
|
||||
<para>So, a Metacity theme is a set of instructions about how to "decorate" (draw the borders around) a window. Presumably you don't want to style all windows identically, so the format lets you specify details for different kinds of window:</para>
|
||||
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>state:</term><listitem><para>Every window must be in exactly one of these states: <literal>normal</literal>, <literal>dialog</literal>, <literal>modal dialog</literal> (i.e. a dialogue which means you can't interact with the rest of the program while it's up), <literal>menu</literal> (torn off from the main application, not that people do that much these days), <literal>utility</literal> (that is, palettes and toolboxes and things), and <literal>border</literal>. X also allows a window to explicitly ask to be undecorated, but of course we don't provide for those in a list of decoration instructions.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>focused</term><listitem><para>Every window is either the active window (which X people call "focused"), or it isn't.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>maximized</term><listitem><para>Every window is either (fully) maximised (horizontal and vertical only don't count), or it isn't.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>shaded</term><listitem><para>Every window is either rolled up to show just its titlebar (which techies call "shaded" for some reason I can't fathom), or it isn't.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<itemizedlist>
|
||||
<listitem><para><emphasis>If a window is not fully maximised and not shaded,</emphasis> it either allows horizontal resizing, or it doesn't.</para></listitem>
|
||||
<listitem><para><emphasis>If a window is not fully maximised and not shaded,</emphasis> it either allows vertical resizing, or it doesn't.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>What's in the file</title>
|
||||
|
||||
<para>The files must be called either</para>
|
||||
|
||||
<para>
|
||||
<itemizedlist>
|
||||
<listitem><para>~/.themes/<varname>N</varname>/metacity-1/metacity-theme-<varname>V</varname>.xml
|
||||
for a theme used only by you, or</para></listitem>
|
||||
<listitem><para>/usr/share/themes/<varname>N</varname>/metacity-1/metacity-theme-<varname>V</varname>.xml
|
||||
for a theme installed for all users.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>where <varname>N</varname> is the name of the theme and <varname>V</varname> is the version of the format. Version 2, <ulink url="http://svn.gnome.org/viewvc/metacity?view=revision&revision=2973">introduced in October 2006</ulink>, adds a few extra features, but it's rarely used. Version 1 is the original format. The formats are fixed once they're stable for both backwards and forwards compatibility; <ulink url="http://bugzilla.gnome.org/show_bug.cgi?id=482165">new features</ulink> can't be added without introducing a new version number, which is why improvements come out rarely and in large clumps. <literal>metacity-1</literal> in the names is a fossil and doesn't mean version 1 of anything.</para>
|
||||
|
||||
<para>The metacity-theme-V.xml files are <ulink url="http://blogs.gnome.org/tthurman/2008/02/14/gmarkup/">GMarkup files</ulink>, which are very similar to XML. For now, you actually have to write these in a text editor or something; you can either start with a blank page, or modify a theme someone else has made. (I am thinking of writing a general theme editor program, but that'll have to wait until I've reduced Metacity's open bug queue a little.) If you want to see a fully-fledged one, you can look at <ulink url="http://svn.gnome.org/viewvc/metacity/trunk/src/themes/Atlanta/metacity-theme-1.xml?view=markup">the current version of "Atlanta"</ulink>, one of the simplest themes, but even that is quite complicated-looking at first.</para>
|
||||
<para>So, let's talk about what actually goes inside the files. As in any XML file, <!-<!-- x -->- … <!-- x -->> are comments. At its most basic, it would go:</para>
|
||||
|
||||
<para>
|
||||
<programlisting>
|
||||
<metacity_theme>
|
||||
<!-<!-- x -->- Helper stuff: -<!-- x -->->
|
||||
<info …> <!-<!-- x -->- to be explained -<!-- x -->->
|
||||
<constant …> <!-<!-- x -->- maybe; to be explained -<!-- x -->->
|
||||
|
||||
<draw_ops …> <!-<!-- x -->- maybe; to be explained -<!-- x -->->
|
||||
|
||||
<!-<!-- x -->- Things we build the top level onto: -<!-- x -->->
|
||||
<frame_geometry …> <!-<!-- x -->- to be explained -<!-- x -->->
|
||||
|
||||
<frame_style …> <!-<!-- x -->- to be explained -<!-- x -->->
|
||||
<frame_style_set …> <!-<!-- x -->- to be explained -<!-- x -->->
|
||||
|
||||
<!-<!-- x -->- And the top level: -<!-- x -->->
|
||||
|
||||
<window type="normal" style_set="…" />
|
||||
<window type="dialog" style_set="…" />
|
||||
<window type="modal_dialog" style_set="…" />
|
||||
|
||||
<window type="menu" style_set="…" />
|
||||
<window type="utility" style_set="…" />
|
||||
<window type="border" style_set="…" />
|
||||
|
||||
</metacity_theme>
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>Matching windows</title>
|
||||
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>window</term><listitem><para>You see that at the top level we have a list of <window> tags, one for each window state we discussed above. The style_set argument of each of these gives the name of a frame_style_set.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>frame_style_set:</term><listitem><para>tells Metacity how to draw windows according to whether they're focused or not, maximised or not, shaded or not, and allowing resizing vertically, horizontally, both, or neither. It looks like this:</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<programlisting>
|
||||
<frame_style_set>
|
||||
<frame focus="F" state="S" resize="R" style="N"/>
|
||||
<frame… />
|
||||
|
||||
…
|
||||
</frame_style_set>
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>where:</para>
|
||||
|
||||
<para>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>F</term><listitem><para>is yes for focused, no for unfocused.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>S</term><listitem><para>combines the shaded and maximized flags: normal, maximized, shaded, or maximized_and_shaded.</para></listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term>R</term><listitem><para>represents resize permissions that the window gives us: none, vertical, horizontal, or both. Frame settings for maximised windows, which can't be resized, don't have this attribute.</para></listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
<varname>N</varname> is the name of a <literal>frame_style</literal> to apply to a window which has these attributes.</para>
|
||||
|
||||
<para>A <literal>frame_style_set</literal> tag may also have a "parent" tag, which should be the name of another <literal>frame_style_set</literal>. This means that if Metacity wants to know about a kind of window which that <literal>frame_style_set</literal> doesn't describe, it should look in the parent. Most of the more complicated tags in Metacity theme files also have a "parent" attribute which work the same way. This is particularly useful because, taken together, all the <literal>frame_style_set</literal>s in a theme file must be capable of matching every possible kind of window; if a window turns up that they can't match, there will be an error at runtime.</para>
|
||||
|
||||
<para>Let's recap what we've seen so far. The combination of a <literal>window</literal>, which matches a window's state (normal, dialog, and so forth), with an entry in the corresponding <literal>frame_style_set</literal>, which matches its focus, shadedness, maximisedness, and resize permissions where relevant, will allow you to make a list of rules to match any window against. The next piece of this puzzle lets you specify what Metacity should do with such windows once it's matched them.</para>
|
||||
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>Actually drawing stuff</title>
|
||||
|
||||
<para><literal>frame_style:</literal> This is probably the most complicated part of the whole system. A <literal>frame_style</literal> a series of <emphasis><literal>piece</literal></emphasis>s and <emphasis><literal>button</literal></emphasis>s. It looks like this:</para>
|
||||
|
||||
<para>
|
||||
<programlisting>
|
||||
<frame_style name="…" geometry="G">
|
||||
<piece position="P">
|
||||
<draw_ops>
|
||||
</draw_ops>
|
||||
</piece>
|
||||
…
|
||||
<button function="F" state="S" draw_ops="D"/>
|
||||
|
||||
<draw_ops>
|
||||
</draw_ops>
|
||||
</button>
|
||||
…
|
||||
</frame_style>
|
||||
</programlisting>
|
||||
</para>
|
||||
|
||||
<para>The <literal>pieces</literal> are pieces of the window frame. When Metacity draws a window frame, it renders its various pieces always in the same order. The bolded parts are all the possible values of P:</para>
|
||||
|
||||
<para>
|
||||
<itemizedlist>
|
||||
<listitem><para>the <literal>entire_background</literal>, covering the whole frame</para></listitem>
|
||||
|
||||
<listitem><para>the <literal>titlebar</literal>, covering the entire background of the titlebar</para></listitem>
|
||||
<listitem><para>the <literal>titlebar_middle</literal>, the part of the titlebar that doesn't touch its edges</para></listitem>
|
||||
<listitem><para>the <literal>left_titlebar_edge</literal>, <literal>right_titlebar_edge</literal>, <literal>top_titlebar_edge</literal>, and <literal>bottom_titlebar_edge</literal></para></listitem>
|
||||
|
||||
<listitem><para>the <literal>title</literal>, just exactly that area which is covered by the text on the titlebar</para></listitem>
|
||||
<listitem><para>the <literal>left_edge</literal>, <literal>right_edge</literal>, and <literal>bottom_edge</literal> of the frame (yes, there is no top_edge: it's identical to top_titlebar_edge, isn't it?)</para></listitem>
|
||||
<listitem><para>the <literal>overlay</literal>, which covers everything– the same as entire_background, but done last instead of first.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para><emphasis>What</emphasis> Metacity draws in these pieces is decided by the theme. If a <literal>frame_style</literal> or its parents don't specify a particular piece, nothing will be drawn for that piece. You have two ways to specify what to draw: one is that the <literal>piece</literal> tag can have a <literal>draw_ops</literal> tag inside it which lists a sequence of drawing operations in Metacity's custom format. <ulink url="http://bugzilla.gnome.org/show_bug.cgi?id=107012">You might ask why we don't use SVG</ulink>; one answer is that SVG support wasn't very strong when this format was designed, and another answer is that these days you can use SVG all you like; just include it as an image and Metacity will know what to do.</para>
|
||||
|
||||
<para>An alternative to including a draw_ops tag inside a piece tag is to add a draw_ops attribute to the piece tag. Then you can add a draw_ops tag at top level (inside the metacity_theme tag) with a name attribute, and Metacity will use that. This is useful if you use similar draw_ops over and over.</para>
|
||||
<para>I'm not going to document draw_ops at present, because this is already very long. I will write it up later and link it from here.</para>
|
||||
<para>The <literal>button</literal> tag tells Metacity how, but not where, to draw buttons. Buttons are drawn after all the pieces are finished, and the way to draw them is also given using draw_ops. You ought to provide buttons for all the possible kinds of button; if you don't give one it won't be drawn, which is unfortunate for the user who wants to use it:</para>
|
||||
|
||||
<para>
|
||||
<itemizedlist>
|
||||
<listitem><para><literal>left_left_background</literal>, <literal>left_middle_background</literal>, and <literal>left_right_background</literal> don't represent buttons as such, but the background behind them, assuming there can be at most three buttons on the left. These days there can be more, so the extra ones also use left_middle_background.</para></listitem>
|
||||
|
||||
<listitem><para><literal>right_left_background</literal>, <literal>right_middle_background</literal>, and <literal>right_right_background</literal> similarly.</para></listitem>
|
||||
<listitem><para><literal>close</literal>, <literal>minimize</literal>, <literal>maximize</literal> are the obvious original three buttons.</para></listitem>
|
||||
<listitem><para><literal>menu</literal> is the menu button you can click to get a list of actions you can perform on the window.</para></listitem>
|
||||
|
||||
<listitem><para><literal>shade</literal>, <literal>above</literal>, <literal>stick</literal> are similar to the original buttons but only allowed in version 2</para></listitem>
|
||||
<listitem><para><literal>unshade</literal>, <literal>unabove</literal>, <literal>unstick</literal> are the toggled versions of these buttons. Again, version 2 only.</para></listitem>
|
||||
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>The reason there are toggled versions of shade, above, and stick, and not maximize, is that by the time you get this far you've probably already decided whether you're drawing a maximised window. So if you <emphasis>are</emphasis> drawing a maximised window, you can make the button called "maximize" look how you want the restore button to be; otherwise, make it look like you want the maximise button to be.</para>
|
||||
<para>For each button tag you should also set a "state" attribute; this time the state is either <literal>normal</literal> (the way you see it most of the time), <literal>pressed</literal>, or <literal>prelight</literal> (this makes the buttons subtly light up when you hover over them). You only really need "normal", but the others are good to have too.</para>
|
||||
|
||||
<para>The "geometry" attribute of a <literal>frame_style</literal> tag is the name of a…</para>
|
||||
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>Geometry</title>
|
||||
|
||||
<para>The <literal>geometry</literal> tag defines the sizes of things around the window. It is important, but not easy to explain, and again this file has gone on too long. I'll write it up later.</para>
|
||||
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>Other things which lie around a file</title>
|
||||
|
||||
<para>The most important other thing in a theme file is the metadata held in the <literal>info</literal> tag. This contains a set of tags each of which contains some text explaining something about the theme itself, in a sort of <ulink url="http://en.wikipedia.org/wiki/Dublin_Core">Dublin Core</ulink> sort of way. (Next time around, we should probably use the actual Dublin Core.) The tags are <literal>name</literal>, <literal>author</literal>, <literal>copyright</literal>, <literal>date</literal>, and <literal>description</literal>.</para>
|
||||
|
||||
<para>Version 1 of the format had a <literal>menu_icon</literal> tag at top level, which let themes specify the icons beside options in the menu you get from the menu icon. This has become redundant; the icons are taken from the icon theme! The tag can still be used in all formats, but does nothing and is deprecated.</para>
|
||||
<para>Version 2 of the format has a <literal>fallback</literal> tag at top level, which let the theme specify what icon a window should be considered to have if it doesn't provide an icon of its own. This should also be taken from the icon theme, <ulink url="http://bugzilla.gnome.org/show_bug.cgi?id=524343">if anyone fancies fixing it</ulink>, and the tag should also then be deprecated. It shouldn't be hard.</para>
|
||||
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>When you're working on a theme</title>
|
||||
|
||||
<para>When you're editing a theme, you can view it without using it on the whole desktop using
|
||||
<command>metacity-theme-viewer YourThemeName</command></para>
|
||||
<para>and view it on the whole desktop using
|
||||
<command>gconftool -<!-- x -->-type=string -<!-- x -->-set /apps/metacity/general/theme YourThemeName</command></para>
|
||||
|
||||
<para>Whenever you change the selected theme in GConf, Metacity will load the newly-chosen theme. This is how control-center does it. But when you change a theme, as you're working on it, you might want to ask Metacity to reload the theme which is currently used on the whole desktop to reflect your changes. You can do this using the little-known <command>metacity-message</command> program, with the command <literal>metacity-message reload-theme</literal>. This works by sending the ClientMessage <literal>_METACITY_RELOAD_THEME_MESSAGE</literal> to the root window, in case you're interested.</para>
|
||||
|
||||
<para>Once you're done with your theme, consider submitting it to <ulink url="http://art.gnome.org/themes/metacity/">the art.gnome.org site</ulink>, or <ulink url="http://www.gnome-look.org/index.php?xcontentmode=101">the gnome-look site</ulink>.</para>
|
||||
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
<title>The future</title>
|
||||
|
||||
<para>Please feel free to link to this so people don't have to keep asking the basic questions and can start asking the deeper ones. One of the important deeper ones is: where should we go in the future? Since this format is becoming something of a de facto standard between window managers, should we set up some kind of freedesktop.org standards discussion? Would it be useful to spin off Metacity's theme parsing code into a separate, LGPL-licensed library so that other applications could use it more easily?</para>
|
||||
<para>What would a version 3 of this format look like? Could we simplify the window / frame_style_set system? (I can imagine abolishing both, and being able to write <literal><frame_style for="normal+unfocused+maximized">…</literal> and having Metacity assume it applied to all resize permissions and shadednesses.) Maybe we should try to do everything with SVG we can? Getting more wild and handwavey, is it worth keeping XML-like? Maybe if other window managers were dealing with the files, .ini-style files would be more universally useful? Or perhaps not. And then of course we need a decent graphical editor for it. I have a few ideas, but if anyone fancies jumping in...</para>
|
||||
</chapter>
|
||||
|
||||
</book>
|
||||
|
||||
|
@@ -1,24 +0,0 @@
|
||||
### This part of Makefile.am can be customized by you.
|
||||
|
||||
# gnome-doc-utils standard variables:
|
||||
include $(top_srcdir)/gnome-doc-utils.make
|
||||
dist-hook: doc-dist-hook
|
||||
|
||||
# The name of the directory in /usr/share/gnome/help/,
|
||||
# and the name of the main .xml file:
|
||||
DOC_MODULE = creating-metacity-themes
|
||||
|
||||
# The names of any files included via entity declarations.
|
||||
DOC_ENTITIES =
|
||||
|
||||
# The names of any files included by xincluded (preferred):
|
||||
DOC_INCLUDES =
|
||||
|
||||
# The names of any pictures:
|
||||
DOC_FIGURES =
|
||||
|
||||
# The names of any locales for which documentation translations exist:
|
||||
DOC_LINGUAS =
|
||||
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
man_MANS = metacity.1 metacity-theme-viewer.1 \
|
||||
metacity-window-demo.1 metacity-message.1
|
||||
man_MANS = mutter.1 mutter-theme-viewer.1 \
|
||||
mutter-window-demo.1 mutter-message.1
|
||||
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
@@ -12,7 +12,7 @@
|
||||
.\" > Right I know. any licenses that is DFSG-free, I'm ok with whatever,
|
||||
.\" > since I have contributed that for Debian. so GPL is no problem for me.
|
||||
.\" -----
|
||||
.TH METACITY\-MESSAGE 1 "28 August 2002"
|
||||
.TH MUTTER\-MESSAGE 1 "28 August 2002"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@@ -26,24 +26,24 @@
|
||||
.\" .sp <n> insert n+1 empty lines
|
||||
.\" for manpage-specific macros, see man(7)
|
||||
.SH NAME
|
||||
METACITY\-MESSAGE \- a command to send a message to Metacity
|
||||
MUTTER\-MESSAGE \- a command to send a message to Mutter
|
||||
.SH SYNOPSIS
|
||||
.B METACITY\-MESSAGE
|
||||
.B MUTTER\-MESSAGE
|
||||
[restart|reload\-theme|enable\-keybindings|disable\-keybindings]
|
||||
.SH DESCRIPTION
|
||||
This manual page documents briefly the
|
||||
.B metacity\-message\fP.
|
||||
.B mutter\-message\fP.
|
||||
This manual page was written for the Debian distribution
|
||||
because the original program does not have a manual page.
|
||||
.PP
|
||||
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||
.\" respectively.
|
||||
\fBmetacity\-message\fP send a specified message to \fBmetacity\fP(1).
|
||||
\fBmutter\-message\fP send a specified message to \fBmutter\fP(1).
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B restart
|
||||
Restart \fBmetacity\fP(1) which is running.
|
||||
Restart \fBmutter\fP(1) which is running.
|
||||
.TP
|
||||
.B reload-theme
|
||||
Reload a theme which is specified on gconf database.
|
||||
@@ -54,7 +54,7 @@ Enable all of keybindings which is specified on gconf database.
|
||||
.B disable-keybindings
|
||||
Disable all of keybindings which is specified on gconf database.
|
||||
.SH SEE ALSO
|
||||
.BR metacity (1)
|
||||
.BR mutter (1)
|
||||
.SH AUTHOR
|
||||
This manual page was written by Akira TAGOH <tagoh@debian.org>,
|
||||
for the Debian GNU/Linux system (but may be used by others).
|
@@ -3,21 +3,21 @@
|
||||
.\"
|
||||
.\" Based on template provided by Tom Christiansen <tchrist@jhereg.perl.com>.
|
||||
.\"
|
||||
.TH METACITY-THEME-VIEWER 1 "1 June 2004"
|
||||
.TH MUTTER-THEME-VIEWER 1 "1 June 2004"
|
||||
.SH NAME
|
||||
metacity-theme-viewer \- view metacity themes
|
||||
mutter-theme-viewer \- view mutter themes
|
||||
.SH SYNOPSIS
|
||||
.B metacity-theme-viewer
|
||||
.B mutter-theme-viewer
|
||||
[
|
||||
.I THEMENAME
|
||||
]
|
||||
.SH DESCRIPTION
|
||||
.\" Putting a newline after each sentence can generate better output.
|
||||
.B metacity-theme-viewer
|
||||
allows you to preview any installed Metacity theme.
|
||||
.B mutter-theme-viewer
|
||||
allows you to preview any installed Mutter theme.
|
||||
.PP
|
||||
When designing a new Metacity theme, you can use
|
||||
.B metacity-theme-viewer
|
||||
When designing a new Mutter theme, you can use
|
||||
.B mutter-theme-viewer
|
||||
to measure the performance of a window frame option, and to preview
|
||||
the option.
|
||||
.SH OPTIONS
|
||||
@@ -32,12 +32,12 @@ It is case-sensitive.
|
||||
.I /usr/share/themes
|
||||
system themes directory
|
||||
.TP
|
||||
.I /usr/share/themes/*/metacity-1/metacity-theme-1.xml
|
||||
.I /usr/share/themes/*/mutter-1/mutter-theme-1.xml
|
||||
theme specification file
|
||||
.SH AUTHOR
|
||||
This manual page was written by Jose M. Moya <josem@die.upm.es>, for
|
||||
the Debian GNU/Linux system (but may be used by others).
|
||||
.SH "SEE ALSO"
|
||||
.\" Always quote multiple words for .SH
|
||||
.BR metacity (1),
|
||||
.BR metacity-window-demo (1).
|
||||
.BR mutter (1),
|
||||
.BR mutter-window-demo (1).
|
@@ -3,11 +3,11 @@
|
||||
.\"
|
||||
.\" Based on template provided by Tom Christiansen <tchrist@jhereg.perl.com>.
|
||||
.\"
|
||||
.TH METACITY-WINDOW-DEMO 1 "1 June 2004"
|
||||
.TH MUTTER-WINDOW-DEMO 1 "1 June 2004"
|
||||
.SH NAME
|
||||
metacity-window-demo \- demo of window features
|
||||
mutter-window-demo \- demo of window features
|
||||
.SH SYNOPSIS
|
||||
.B metacity-window-demo
|
||||
.B mutter-window-demo
|
||||
.SH DESCRIPTION
|
||||
.\" Putting a newline after each sentence can generate better output.
|
||||
This program demonstrates various kinds of windows that window
|
||||
@@ -21,5 +21,5 @@ the Debian GNU/Linux system (but may be used by others).
|
||||
.SH "SEE ALSO"
|
||||
.\" Always quote multiple words for .SH
|
||||
.BR x-window-manager (1),
|
||||
.BR metacity (1),
|
||||
.BR metacity-theme-viewer (1).
|
||||
.BR mutter (1),
|
||||
.BR mutter-theme-viewer (1).
|
@@ -2,7 +2,7 @@
|
||||
.\" First parameter, NAME, should be all caps
|
||||
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
|
||||
.\" other parameters are allowed: see man(7), man(1)
|
||||
.TH METACITY 1 "11 February 2006"
|
||||
.TH MUTTER 1 "11 February 2006"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@@ -16,25 +16,25 @@
|
||||
.\" .sp <n> insert n+1 empty lines
|
||||
.\" for manpage-specific macros, see man(7)
|
||||
.SH NAME
|
||||
METACITY \- minimal GTK2 Window Manager
|
||||
MUTTER \- Clutter based compositing GTK2 Window Manager
|
||||
.SH SYNOPSIS
|
||||
.B metacity
|
||||
.B mutter
|
||||
[\-\-display=\fIDISPLAY\fP] [\-\-replace] [\-\-sm\-client\-id=\fIID\fP] [\-\-sm\-disable] [\-\-sm\-save\-file=\fIFILENAME\fP] [\-\-version] [\-\-help]
|
||||
.SH DESCRIPTION
|
||||
This manual page documents briefly
|
||||
.B metacity\fP.
|
||||
.B mutter\fP.
|
||||
.PP
|
||||
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
|
||||
.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
|
||||
.\" respectively.
|
||||
\fBmetacity\fP is a minimal X window manager aimed at nontechnical users and is designed to integrate well with the GNOME desktop. \fBmetacity\fP lacks some features that may be expected by traditional UNIX or other technical users; these users may want to investigate other available window managers for use with GNOME or standalone.
|
||||
\fBmutter\fP is a minimal X window manager aimed at nontechnical users and is designed to integrate well with the GNOME desktop. \fBmutter\fP lacks some features that may be expected by traditional UNIX or other technical users; these users may want to investigate other available window managers for use with GNOME or standalone.
|
||||
.SH OPTIONS
|
||||
.TP
|
||||
.B \-\-display=DISPLAY
|
||||
Connect to X display \fIDISPLAY\fP.
|
||||
.TP
|
||||
.B \-\-replace
|
||||
a window manager which is running is replaced by \fBmetacity\fP. Users are encouraged to change the GNOME window manager by running the new WM with the --replace or -replace option, and subsequently saving the session.
|
||||
a window manager which is running is replaced by \fBmutter\fP. Users are encouraged to change the GNOME window manager by running the new WM with the --replace or -replace option, and subsequently saving the session.
|
||||
.TP
|
||||
.B \-\-sm\-client\-id=ID
|
||||
Specify a session management \fIID\fP.
|
||||
@@ -51,10 +51,10 @@ Print the version number.
|
||||
.B \-?, \-\-help
|
||||
Show summary of options.
|
||||
.SH CONFIGURATION
|
||||
\fBmetacity\fP configuration can be found under \fIPreferences\fP->\fIWindows\fP and \fIPreferences\fP->\fIKeyboard Shortcuts\fP on the menu-panel. Advanced configuration can be achieved directly through gconf editing (gconf-editor or gconftool-2).
|
||||
\fBmutter\fP configuration can be found under \fIPreferences\fP->\fIWindows\fP and \fIPreferences\fP->\fIKeyboard Shortcuts\fP on the menu-panel. Advanced configuration can be achieved directly through gconf editing (gconf-editor or gconftool-2).
|
||||
.SH SEE ALSO
|
||||
.BR metacity-message (1)
|
||||
.BR mutter-message (1)
|
||||
.SH AUTHOR
|
||||
The original manual page was written by Thom May <thom@debian.org>. It was updated by Akira TAGOH <tagoh@debian.org>
|
||||
for the Debian GNU/Linux system (with permission to use by others), and then updated by Luke Morton and Philip O'Brien
|
||||
for inclusion in metacity.
|
||||
for inclusion in mutter.
|
@@ -1,273 +0,0 @@
|
||||
<!--
|
||||
DTD for Metacity themes, as of Metacity 2.4.1
|
||||
Author: Ross Burton <ross@burtonini.com>
|
||||
Copyright (C) 2002 Ross Burton
|
||||
Licensed under the GPL, version 2
|
||||
-->
|
||||
|
||||
<!-- Top-level element -->
|
||||
<!ELEMENT metacity_theme (info,(window|frame_style_set|frame_style|frame_geometry|constant|draw_ops|menu_icon)+)>
|
||||
|
||||
<!-- Theme metadata -->
|
||||
<!ELEMENT info (name?|author?|copyright?|date?|description?)*>
|
||||
<!ELEMENT name (#PCDATA)>
|
||||
<!ELEMENT author (#PCDATA)>
|
||||
<!ELEMENT copyright (#PCDATA)>
|
||||
<!ELEMENT date (#PCDATA)>
|
||||
<!ELEMENT description (#PCDATA)>
|
||||
|
||||
<!ENTITY % xyrequired "
|
||||
x CDATA #REQUIRED
|
||||
y CDATA #REQUIRED
|
||||
">
|
||||
|
||||
<!ENTITY % xyimplied "
|
||||
x CDATA #IMPLIED
|
||||
y CDATA #IMPLIED
|
||||
">
|
||||
|
||||
<!ENTITY % widthheightrequired "
|
||||
width CDATA #REQUIRED
|
||||
height CDATA #REQUIRED
|
||||
">
|
||||
|
||||
<!ENTITY % widthheightimplied "
|
||||
width CDATA #IMPLIED
|
||||
height CDATA #IMPLIED
|
||||
">
|
||||
|
||||
<!ENTITY % boolean "(true|false)">
|
||||
|
||||
<!ENTITY % piece_positions "
|
||||
(entire_background|titlebar|titlebar_middle|left_titlebar_edge|right_titlebar_edge|top_titlebar_edge|bottom_titlebar_edge|title|left_edge|right_edge|bottom_edge|overlay)
|
||||
">
|
||||
|
||||
<!ENTITY % gtk-state "
|
||||
state (normal|prelight|active|selected|insensitive) #REQUIRED
|
||||
">
|
||||
|
||||
<!ENTITY % gtk-shadow "
|
||||
shadow (none|in|out|etched_in|etched_out) #REQUIRED
|
||||
">
|
||||
|
||||
|
||||
<!-- The actual theme -->
|
||||
|
||||
<!ELEMENT window EMPTY>
|
||||
<!ATTLIST window
|
||||
type (normal|dialog|modal_dialog|menu|utility|border) #REQUIRED
|
||||
style_set CDATA #REQUIRED
|
||||
>
|
||||
|
||||
|
||||
<!ELEMENT frame_style_set (frame+)>
|
||||
<!ATTLIST frame_style_set
|
||||
name CDATA #REQUIRED
|
||||
parent CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT frame EMPTY>
|
||||
<!ATTLIST frame
|
||||
focus (yes|no) #REQUIRED
|
||||
state (normal|maximized|shaded|maximized_and_shaded) #REQUIRED
|
||||
resize (both|horizontal|vertical|none) #IMPLIED
|
||||
style CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT frame_style (piece|button)*>
|
||||
<!ATTLIST frame_style
|
||||
name CDATA #REQUIRED
|
||||
geometry CDATA #REQUIRED
|
||||
parent CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT piece (draw_ops?)>
|
||||
<!ATTLIST piece
|
||||
position %piece_positions; #REQUIRED
|
||||
draw_ops CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT button (draw_ops?)>
|
||||
<!ATTLIST button
|
||||
function (menu|minimize|maximize|close|left_left_background|left_middle_background|left_right_background|right_left_background|right_middle_background|right_right_background) #REQUIRED
|
||||
state (normal|prelight|pressed) #REQUIRED
|
||||
draw_ops CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT frame_geometry (border|(aspect_ratio|distance))+>
|
||||
<!ATTLIST frame_geometry
|
||||
name CDATA #REQUIRED
|
||||
parent CDATA #IMPLIED
|
||||
title_scale (xx-small|x-small|small|medium|large|x-large|xx-large) #IMPLIED
|
||||
has_title (true|false) 'true'
|
||||
rounded_top_left %boolean; #IMPLIED
|
||||
rounded_top_right %boolean; #IMPLIED
|
||||
rounded_bottom_left %boolean; #IMPLIED
|
||||
rounded_bottom_right %boolean; #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT distance EMPTY>
|
||||
<!ATTLIST distance
|
||||
name (left_width|right_width|bottom_height|title_vertical_pad|right_titlebar_edge|left_titlebar_edge|button_width|button_height) #REQUIRED
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT border EMPTY>
|
||||
<!ATTLIST border
|
||||
name CDATA #REQUIRED
|
||||
top CDATA #REQUIRED
|
||||
bottom CDATA #REQUIRED
|
||||
left CDATA #REQUIRED
|
||||
right CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT aspect_ratio EMPTY>
|
||||
<!ATTLIST aspect_ratio
|
||||
name CDATA #REQUIRED
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT draw_ops (line|rectangle|arc|tint|gradient|image|gtk_arrow|gtk_box|gtk_vline|icon|title|clip|include|tile)*>
|
||||
<!-- not sure about this.. maybe it should be removed. see #3478 in theme-parser.c -->
|
||||
<!ATTLIST draw_ops
|
||||
name CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT line EMPTY>
|
||||
<!ATTLIST line
|
||||
color CDATA #REQUIRED
|
||||
x1 CDATA #REQUIRED
|
||||
y1 CDATA #REQUIRED
|
||||
x2 CDATA #REQUIRED
|
||||
y2 CDATA #REQUIRED
|
||||
width CDATA #IMPLIED
|
||||
dash_on_length CDATA #IMPLIED
|
||||
dash_off_length CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT rectangle EMPTY>
|
||||
<!ATTLIST rectangle
|
||||
color CDATA #REQUIRED
|
||||
%xyrequired;
|
||||
%widthheightrequired;
|
||||
filled %boolean; 'false'
|
||||
>
|
||||
|
||||
<!ELEMENT arc EMPTY>
|
||||
<!ATTLIST arc
|
||||
color CDATA #REQUIRED
|
||||
%xyrequired;
|
||||
%widthheightrequired;
|
||||
start_angle CDATA #REQUIRED
|
||||
extent_angle CDATA #REQUIRED
|
||||
filled %boolean; 'false'
|
||||
>
|
||||
|
||||
<!ELEMENT icon EMPTY>
|
||||
<!ATTLIST icon
|
||||
%xyrequired;
|
||||
width CDATA #REQUIRED
|
||||
height CDATA #REQUIRED
|
||||
alpha CDATA #IMPLIED
|
||||
fill_type (tile|scale) 'scale'
|
||||
>
|
||||
|
||||
<!ELEMENT image EMPTY>
|
||||
<!ATTLIST image
|
||||
filename CDATA #REQUIRED
|
||||
colorize CDATA #IMPLIED
|
||||
%xyrequired;
|
||||
%widthheightrequired;
|
||||
alpha CDATA #IMPLIED
|
||||
fill_type (tile|scale) 'scale'
|
||||
>
|
||||
|
||||
<!ELEMENT tile EMPTY>
|
||||
<!ATTLIST tile
|
||||
name CDATA #REQUIRED
|
||||
%xyrequired;
|
||||
%widthheightrequired;
|
||||
tile_xoffset CDATA #IMPLIED
|
||||
tile_yoffset CDATA #IMPLIED
|
||||
tile_width CDATA #REQUIRED
|
||||
tile_height CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT clip EMPTY>
|
||||
<!ATTLIST clip
|
||||
%xyrequired;
|
||||
%widthheightrequired;
|
||||
>
|
||||
|
||||
<!ELEMENT title EMPTY>
|
||||
<!ATTLIST title
|
||||
color CDATA #REQUIRED
|
||||
%xyrequired;
|
||||
>
|
||||
|
||||
<!ELEMENT tint EMPTY>
|
||||
<!ATTLIST tint
|
||||
color CDATA #REQUIRED
|
||||
%xyrequired;
|
||||
%widthheightrequired;
|
||||
alpha CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT gtk_box EMPTY>
|
||||
<!ATTLIST gtk_box
|
||||
%gtk-state;
|
||||
%gtk-shadow;
|
||||
%xyrequired;
|
||||
%widthheightrequired;
|
||||
>
|
||||
|
||||
<!ELEMENT gtk_arrow EMPTY>
|
||||
<!ATTLIST gtk_arrow
|
||||
%gtk-state;
|
||||
%gtk-shadow;
|
||||
arrow (up|down|left|right) #REQUIRED
|
||||
%xyrequired;
|
||||
%widthheightrequired;
|
||||
filed CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT gtk_vline EMPTY>
|
||||
<!ATTLIST gtk_vline
|
||||
%gtk-state;
|
||||
x CDATA #REQUIRED
|
||||
y1 CDATA #REQUIRED
|
||||
y2 CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT gradient (color)+>
|
||||
<!ATTLIST gradient
|
||||
type (vertical|horizontal|diagonal) #REQUIRED
|
||||
%xyrequired;
|
||||
%widthheightrequired;
|
||||
alpha CDATA #IMPLIED
|
||||
>
|
||||
|
||||
<!ELEMENT color EMPTY>
|
||||
<!ATTLIST color
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT include EMPTY>
|
||||
<!ATTLIST include
|
||||
name CDATA #REQUIRED
|
||||
%xyimplied;
|
||||
%widthheightimplied;
|
||||
>
|
||||
|
||||
<!ELEMENT constant EMPTY>
|
||||
<!ATTLIST constant
|
||||
name CDATA #REQUIRED
|
||||
value CDATA #REQUIRED
|
||||
>
|
||||
|
||||
<!ELEMENT menu_icon (draw_ops?)>
|
||||
<!ATTLIST menu_icon
|
||||
function (close|maximize|minimize|unmaximize) #REQUIRED
|
||||
%gtk-state;
|
||||
draw_ops CDATA #IMPLIED
|
||||
>
|
@@ -4,6 +4,7 @@ of the theme format, and a given theme can support more than one format.
|
||||
Version 1: THEMEDIR/metacity-1/metacity-theme-1.xml
|
||||
(original metacity format)
|
||||
Version 2: THEMEDIR/metacity-1/metacity-theme-2.xml
|
||||
Version 3: THEMEDIR/metacity-1/metacity-theme-3.xml
|
||||
|
||||
The subdirectory name is "metacity-1" in all versions.
|
||||
|
||||
@@ -21,6 +22,59 @@ This document has separate sections for each format version. You may
|
||||
want to read the document in reverse order, since the base features
|
||||
are discussed under version 1.
|
||||
|
||||
New Features in Theme Format Version 3.3
|
||||
========================================
|
||||
|
||||
Add two additional button background functions - left_single_background and
|
||||
right_single_background - for button groups with just a single button.
|
||||
|
||||
There are now additional frame states to style left/right tiled windows
|
||||
differently ("tiled_left", "tiled_right", "tiled_left_and_shaded",
|
||||
"tiled_right_and_shaded").
|
||||
|
||||
New Features in Theme Format Version 3.2
|
||||
========================================
|
||||
|
||||
A new window type 'attached' is added for modal dialogs which are
|
||||
attached to their parent window. (When the attach_modal_dialogs preference
|
||||
is turned on.) If no style is defined for the 'attached' window type,
|
||||
the 'border' window type will be used instead.
|
||||
|
||||
New Features in Theme Format Version 3.1
|
||||
========================================
|
||||
|
||||
Additional predefined variables are added for positioning expressions:
|
||||
|
||||
frame_x_center: the X center of the entire frame, with respect to the
|
||||
piece currently being drawn.
|
||||
frame_y_center: the Y center of the entire frame, with respect to the
|
||||
piece currently being drawn.
|
||||
|
||||
The <title/> element now supports an "ellipsize_width" attribute. When
|
||||
specified, this gives a width at which to ellipsize the title. If not
|
||||
specified, the title will simply be clipped to the title area.
|
||||
|
||||
New Features in Theme Format Version 3
|
||||
======================================
|
||||
|
||||
Format version 3 has exactly one new feature; any element in the file
|
||||
can now have a version attribute:
|
||||
|
||||
version="[<|<=|=>|>] MAJOR.MINOR"
|
||||
|
||||
(< and > should be to be entity escaped as < and >). If this
|
||||
version check is not met, then the element and its children will be
|
||||
ignored. This allows having alternate sections of the theme file for
|
||||
older and newer version of the Metacity theme format.
|
||||
|
||||
When placed on the toplevel <metacity_theme> element, an unsatisfied
|
||||
version check will not just cause the contents of the file to be
|
||||
ignored, it will also cause the lookup of a theme file to proceed on
|
||||
and look for an older format 2 or format 1 file. This allows making a
|
||||
metacity-theme-3.xml file that is only used the format version 3.2 or
|
||||
newer is supported, and using metacity-theme-1.xml for older window
|
||||
managers.
|
||||
|
||||
New Features in Theme Format Version 2
|
||||
======================================
|
||||
|
||||
|
710
metacity.doap
710
metacity.doap
@@ -1,710 +0,0 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<Project
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns="http://usefulinc.com/ns/doap#"
|
||||
xmlns:foaf="http://xmlns.com/foaf/0.1/"
|
||||
xmlns:admin="http://webns.net/mvcb/">
|
||||
|
||||
<name>The Metacity Window Manager</name>
|
||||
<shortname>Metacity</shortname>
|
||||
|
||||
<!-- It's a blog. Metacity has no homepage. -->
|
||||
<homepage rdf:resource="http://blogs.gnome.org/metacity/" />
|
||||
|
||||
<!-- The date when the source control was initialised. -->
|
||||
<created>2001-05-30</created>
|
||||
|
||||
<shortdesc xml:lang="en">
|
||||
A simple GTK+ window manager that tries not to get in your way.
|
||||
</shortdesc>
|
||||
<description xml:lang="en">
|
||||
A window manager for GNOME, with a focus on simplicity and usability
|
||||
rather than novelties or gimmicks. It uses GTK+ 2 for drawing window frames,
|
||||
so that it inherits colours, fonts, and so on from the GTK+ theme. Its author
|
||||
has characterised it as a "boring window manager for the adult in you.
|
||||
Many window managers are like Marshmallow Froot Loops; Metacity is like Cheerios."
|
||||
</description>
|
||||
|
||||
<!-- I haven't found anything appropriate; I made this up. -->
|
||||
<category>window-manager</category>
|
||||
|
||||
<wiki rdf:resource="http://live.gnome.org/Metacity" />
|
||||
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=metacity" />
|
||||
<screenshots rdf:resource="http://commons.wikimedia.org/wiki/Image:Metacity-screenshot.png" />
|
||||
|
||||
<mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/metacity-devel-list" />
|
||||
|
||||
<programming-language>C</programming-language>
|
||||
<license rdf:resource="http://usefulinc.com/doap/licenses/gpl" />
|
||||
<download-page rdf:resource="http://download.gnome.org/sources/metacity/" />
|
||||
|
||||
<repository>
|
||||
<SVNRepository>
|
||||
<location rdf:resource="http://svn.gnome.org/svn/metacity" />
|
||||
<browse rdf:resource="http://svn.gnome.org/viewvc/metacity/" />
|
||||
</SVNRepository>
|
||||
</repository>
|
||||
|
||||
<author>
|
||||
<foaf:Person>
|
||||
<foaf:name>Havoc Pennington</foaf:name>
|
||||
</foaf:Person>
|
||||
</author>
|
||||
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Elijah Newren</foaf:name>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Thomas Thurman</foaf:name>
|
||||
<foaf:mbox rdf:resource="mailto:tthurman@gnome.org"/>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
|
||||
<release><Version>
|
||||
<name>2.25.1 release</name>
|
||||
<created>2008-09-01</created>
|
||||
<branch></branch>
|
||||
<revision>2.25.1</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.25/2.25.1.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.25/2.25.1.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.25.0 release</name>
|
||||
<created>2008-08-18</created>
|
||||
<branch></branch>
|
||||
<revision>2.25.0</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.25/2.25.0.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.25/2.25.0.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.89 release</name>
|
||||
<created>2008-08-04</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.89</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.89.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.89.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.55 release</name>
|
||||
<created>2008-07-14</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.55</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.55.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.55.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.34 release</name>
|
||||
<created>2008-06-16</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.34</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.34.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.34.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.34 release</name>
|
||||
<created>2008-06-16</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.34</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.34.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.34.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.34 release</name>
|
||||
<created>2008-06-02</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.34</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.34.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.34.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.21 release</name>
|
||||
<created>2008-05-26</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.21</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.21.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.21.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.13 release</name>
|
||||
<created>2008-04-27</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.13</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.13.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.13.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.8 release</name>
|
||||
<created>2008-04-22</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.8</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.8.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.8.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.5 release</name>
|
||||
<created>2008-04-06</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.5</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.5.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.5.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.3 release</name>
|
||||
<created>2008-03-21</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.3</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.3.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.3.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.2 release</name>
|
||||
<created>2008-03-07</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.2</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.2.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.2.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.1 release</name>
|
||||
<created>2008-03-06</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.1</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.1.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.1.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.23.0 release</name>
|
||||
<created>2008-02-26</created>
|
||||
<branch></branch>
|
||||
<revision>2.23.0</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.0.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.23/2.23.0.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.21.13 release</name>
|
||||
<created>2008-02-11</created>
|
||||
<branch></branch>
|
||||
<revision>2.21.13</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.13.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.13.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.21.8 release</name>
|
||||
<created>2008-02-03</created>
|
||||
<branch></branch>
|
||||
<revision>2.21.8</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.8.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.8.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.21.5 release</name>
|
||||
<created>2007-12-19</created>
|
||||
<branch></branch>
|
||||
<revision>2.21.5</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.5.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.5.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.21.3 release</name>
|
||||
<created>2007-12-14</created>
|
||||
<branch></branch>
|
||||
<revision>2.21.3</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.3.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.3.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.21.2 release</name>
|
||||
<created>2007-11-17</created>
|
||||
<branch></branch>
|
||||
<revision>2.21.2</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.2.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.2.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.21.1 release</name>
|
||||
<created>2007-11-11</created>
|
||||
<branch></branch>
|
||||
<revision>2.21.1</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.1.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.21/2.21.1.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.20.0 release</name>
|
||||
<created>2007-09-15</created>
|
||||
<branch></branch>
|
||||
<revision>2.20.0</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.20/2.20.0.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.20/2.20.0.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.19.55 release</name>
|
||||
<created>2007-08-07</created>
|
||||
<branch></branch>
|
||||
<revision>2.19.55</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.55.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.55.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.19.34 release</name>
|
||||
<created>2007-07-22</created>
|
||||
<branch></branch>
|
||||
<revision>2.19.34</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.34.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.34.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.19.21 release</name>
|
||||
<created>2007-06-18</created>
|
||||
<branch></branch>
|
||||
<revision>2.19.21</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.21.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.21.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.19.13 release</name>
|
||||
<created>2007-06-10</created>
|
||||
<branch></branch>
|
||||
<revision>2.19.13</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.13.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.13.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.19.8 release</name>
|
||||
<created>2007-06-04</created>
|
||||
<branch></branch>
|
||||
<revision>2.19.8</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.8.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.8.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.19.5 release</name>
|
||||
<created>2007-04-23</created>
|
||||
<branch></branch>
|
||||
<revision>2.19.5</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.5.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.5.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.19.3 release</name>
|
||||
<created>2007-04-16</created>
|
||||
<branch></branch>
|
||||
<revision>2.19.3</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.3.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.3.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.19.2 release</name>
|
||||
<created>2007-04-09</created>
|
||||
<branch></branch>
|
||||
<revision>2.19.2</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.2.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.2.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.19.1 release</name>
|
||||
<created>2007-04-04</created>
|
||||
<branch></branch>
|
||||
<revision>2.19.1</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.1.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.19/2.19.1.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.17.3 release</name>
|
||||
<created>2006-12-10</created>
|
||||
<branch></branch>
|
||||
<revision>2.17.3</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.17/2.17.3.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.17/2.17.3.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.17.2 release</name>
|
||||
<created>2006-11-06</created>
|
||||
<branch></branch>
|
||||
<revision>2.17.2</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.17/2.17.2.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.17/2.17.2.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.17.1 release</name>
|
||||
<created>2006-10-16</created>
|
||||
<branch></branch>
|
||||
<revision>2.17.1</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.17/2.17.1.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.17/2.17.1.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.17.0 release</name>
|
||||
<created>2006-10-07</created>
|
||||
<branch></branch>
|
||||
<revision>2.17.0</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.17/2.17.0.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.17/2.17.0.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.16.2 release</name>
|
||||
<created>2006-09-18</created>
|
||||
<branch></branch>
|
||||
<revision>2.16.2</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.16/2.16.2.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.16/2.16.2.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.16.1 release</name>
|
||||
<created>2006-09-11</created>
|
||||
<branch></branch>
|
||||
<revision>2.16.1</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.16/2.16.1.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.16/2.16.1.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.16.0 release</name>
|
||||
<created>2006-09-04</created>
|
||||
<branch></branch>
|
||||
<revision>2.16.0</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.16/2.16.0.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.16/2.16.0.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.15.34 release</name>
|
||||
<created>2006-08-21</created>
|
||||
<branch></branch>
|
||||
<revision>2.15.34</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.34.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.34.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.15.21 release</name>
|
||||
<created>2006-08-07</created>
|
||||
<branch></branch>
|
||||
<revision>2.15.21</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.21.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.21.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.15.13 release</name>
|
||||
<created>2006-07-24</created>
|
||||
<branch></branch>
|
||||
<revision>2.15.13</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.13.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.13.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.15.8 release</name>
|
||||
<created>2006-07-10</created>
|
||||
<branch></branch>
|
||||
<revision>2.15.8</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.8.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.8.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.15.5 release</name>
|
||||
<created>2006-06-12</created>
|
||||
<branch></branch>
|
||||
<revision>2.15.5</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.5.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.5.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.15.3 release</name>
|
||||
<created>2006-05-15</created>
|
||||
<branch></branch>
|
||||
<revision>2.15.3</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.3.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.3.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.15.2 release</name>
|
||||
<created>2006-04-25</created>
|
||||
<branch></branch>
|
||||
<revision>2.15.2</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.2.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.2.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.15.1 release</name>
|
||||
<created>2006-04-25</created>
|
||||
<branch></branch>
|
||||
<revision>2.15.1</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.1.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.1.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.15.0 release</name>
|
||||
<created>2006-04-24</created>
|
||||
<branch></branch>
|
||||
<revision>2.15.0</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.0.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.15/2.15.0.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.13.89 release</name>
|
||||
<created>2006-02-13</created>
|
||||
<branch></branch>
|
||||
<revision>2.13.89</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.89.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.89.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.13.55 release</name>
|
||||
<created>2006-01-30</created>
|
||||
<branch></branch>
|
||||
<revision>2.13.55</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.55.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.55.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.13.34 release</name>
|
||||
<created>2006-01-20</created>
|
||||
<branch></branch>
|
||||
<revision>2.13.34</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.34.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.34.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.13.21 release</name>
|
||||
<created>2006-01-16</created>
|
||||
<branch></branch>
|
||||
<revision>2.13.21</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.21.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.21.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.13.13 release</name>
|
||||
<created>2006-01-10</created>
|
||||
<branch></branch>
|
||||
<revision>2.13.13</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.13.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.13.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.13.8 release</name>
|
||||
<created>2006-01-02</created>
|
||||
<branch></branch>
|
||||
<revision>2.13.8</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.8.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.8.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.13.5 release</name>
|
||||
<created>2005-12-12</created>
|
||||
<branch></branch>
|
||||
<revision>2.13.5</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.5.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.5.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.13.3 release</name>
|
||||
<created>2005-11-22</created>
|
||||
<branch></branch>
|
||||
<revision>2.13.3</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.3.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.3.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.13.2 release</name>
|
||||
<created>2005-11-19</created>
|
||||
<branch></branch>
|
||||
<revision>2.13.2</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.2.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.2.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.13.1 release</name>
|
||||
<created>2005-11-14</created>
|
||||
<branch></branch>
|
||||
<revision>2.13.1</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.1.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.1.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.13.0 release</name>
|
||||
<created>2005-10-24</created>
|
||||
<branch></branch>
|
||||
<revision>2.13.0</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.0.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.13/2.13.0.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.12.1 release</name>
|
||||
<created>2005-10-03</created>
|
||||
<branch></branch>
|
||||
<revision>2.12.1</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.12/2.12.1.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.12/2.12.1.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.12.0 release</name>
|
||||
<created>2005-09-05</created>
|
||||
<branch></branch>
|
||||
<revision>2.12.0</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.12/2.12.0.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.12/2.12.0.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.11.3 release</name>
|
||||
<created>2005-08-22</created>
|
||||
<branch></branch>
|
||||
<revision>2.11.3</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.11/2.11.3.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.11/2.11.3.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.11.2 release</name>
|
||||
<created>2005-08-08</created>
|
||||
<branch></branch>
|
||||
<revision>2.11.2</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.11/2.11.2.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.11/2.11.2.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.11.1 release</name>
|
||||
<created>2005-07-24</created>
|
||||
<branch></branch>
|
||||
<revision>2.11.1</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.11/2.11.1.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.11/2.11.1.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.11.0 release</name>
|
||||
<created>2005-07-12</created>
|
||||
<branch></branch>
|
||||
<revision>2.11.0</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.11/2.11.0.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.11/2.11.0.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.10.2 release</name>
|
||||
<created>2005-06-27</created>
|
||||
<branch></branch>
|
||||
<revision>2.10.2</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.10/2.10.2.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.10/2.10.2.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.10.1 release</name>
|
||||
<created>2005-04-11</created>
|
||||
<branch></branch>
|
||||
<revision>2.10.1</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.10/2.10.1.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.10/2.10.1.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.10.0 release</name>
|
||||
<created>2005-03-07</created>
|
||||
<branch></branch>
|
||||
<revision>2.10.0</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.10/2.10.0.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.10/2.10.0.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.8.5 release</name>
|
||||
<created>2004-09-13</created>
|
||||
<branch></branch>
|
||||
<revision>2.8.5</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.8/2.8.5.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.8/2.8.5.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.8.5 release</name>
|
||||
<created>2004-09-13</created>
|
||||
<branch></branch>
|
||||
<revision>2.8.5</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.8/2.8.5.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.8/2.8.5.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.8.4 release</name>
|
||||
<created>2004-08-29</created>
|
||||
<branch></branch>
|
||||
<revision>2.8.4</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.8/2.8.4.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.8/2.8.4.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<release><Version>
|
||||
<name>2.8.3 release</name>
|
||||
<created>2004-08-15</created>
|
||||
<branch></branch>
|
||||
<revision>2.8.3</revision>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.8/2.8.3.tar.gz"/>
|
||||
<file-release rdf:resource="http://download.gnome.org/sources/metacity/2.8/2.8.3.tar.bz2"/>
|
||||
</Version></release>
|
||||
|
||||
<!-- earlier ones not yet documented, and will have to be added by hand -->
|
||||
|
||||
</Project>
|
42
mutter.doap
Normal file
42
mutter.doap
Normal file
@@ -0,0 +1,42 @@
|
||||
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
|
||||
xmlns:foaf="http://xmlns.com/foaf/0.1/"
|
||||
xmlns:gnome="http://api.gnome.org/doap-extensions#"
|
||||
xmlns="http://usefulinc.com/ns/doap#">
|
||||
|
||||
<name xml:lang="en">mutter</name>
|
||||
<shortdesc xml:lang="en">Window and compositing manager based on Clutter</shortdesc>
|
||||
<description>Mutter is a window and compositing manager that displays and
|
||||
manages your desktop via OpenGL. Mutter combines a sophisticated display engine
|
||||
using the Clutter toolkit with solid window-management logic inherited from the
|
||||
Metacity window manager.
|
||||
|
||||
While Mutter can be used stand-alone, it is primarily intended to be used as
|
||||
the display core of a larger system such as GNOME Shell. For this reason,
|
||||
Mutter is very extensible via plugins, which are used both to add fancy visual
|
||||
effects and to rework the window management behaviors to meet the needs of the
|
||||
environment.</description>
|
||||
<!--
|
||||
<homepage rdf:resource="http://www.gnome.org/" />
|
||||
-->
|
||||
<mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/gnome-shell-list" />
|
||||
<download-page rdf:resource="http://download.gnome.org/sources/mutter/" />
|
||||
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=mutter" />
|
||||
|
||||
<category rdf:resource="http://api.gnome.org/doap-extensions#desktop" />
|
||||
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Tomas Frydrych</foaf:name>
|
||||
<foaf:mbox rdf:resource="mailto:tf@linux.intel.com" />
|
||||
<gnome:userid>tomasf</gnome:userid>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
<maintainer>
|
||||
<foaf:Person>
|
||||
<foaf:name>Owen Taylor</foaf:name>
|
||||
<foaf:mbox rdf:resource="mailto:otaylor@redhat.com" />
|
||||
<gnome:userid>otaylor</gnome:userid>
|
||||
</foaf:Person>
|
||||
</maintainer>
|
||||
</Project>
|
284
po/ChangeLog
284
po/ChangeLog
@@ -1,3 +1,281 @@
|
||||
2009-04-05 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* nb.po: Updated Norwegian bokmål translation.
|
||||
|
||||
2009-03-30 Baris Cicek <baris@teamforce.name.tr>
|
||||
|
||||
* tr.po: Updated Turkish translation.
|
||||
|
||||
2009-03-28 Simos Xenitellis <simos@gnome.org>
|
||||
|
||||
* el.po: Updated Greek translation.
|
||||
|
||||
2009-03-27 Simos Xenitellis <simos@gnome.org>
|
||||
|
||||
* el.po: Updated Greek translation.
|
||||
|
||||
2009-03-21 Goran Rakic <grakic@devbase.net>
|
||||
|
||||
* sr.po, sr@latin.po: Updated Serbian translation by Miloš Popović.
|
||||
|
||||
2009-03-19 Tomasz Dominikowski <tdominikowski@aviary.pl>
|
||||
|
||||
* pl.po: Updated Polish translation
|
||||
|
||||
2009-03-19 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* nb.po: Updated Norwegian bokmål translation.
|
||||
|
||||
2009-03-18 Ignacio Casal Quinteiro <icq@gnome.org>
|
||||
|
||||
* gl.po: Updated Galician translation by Suso Baleato.
|
||||
|
||||
2009-03-18 Kostas Papadimas <pkst@gnome.org>
|
||||
|
||||
* el.po: Updated Greek Translation by Fotis Tsamis.
|
||||
|
||||
2009-03-18 Djihed Afifi <djihed@gmail.com>
|
||||
|
||||
* ar.po: Updated Arabic translation.
|
||||
|
||||
2009-03-17 Alexander Shopov <ash@contact.bg>
|
||||
|
||||
* bg.po: Updated Bulgarian translation by
|
||||
Alexander Shopov <ash@contact.bg>
|
||||
|
||||
2009-03-16 Amitakhya Phukan <amitakhya@svn.gnome.org>
|
||||
|
||||
* as.po: Updated Assamese translations.
|
||||
|
||||
2009-03-15 Rajesh Ranjan <rajeshkajha@yahoo.com>
|
||||
|
||||
* mai.po: added Maithili translation.
|
||||
* LINGUAS: Added Maithili (mai) to the list of Languages.
|
||||
|
||||
2009-03-15 Ankitkumar Patel <ankit@redhat.com>
|
||||
|
||||
* gu.po: Updated Gujarati Translations.
|
||||
|
||||
2009-03-14 Gintautas Miliauskas <gintautas@miliauskas.lt>
|
||||
|
||||
* lt.po: Updated Lithuanian translation.
|
||||
|
||||
2009-03-14 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
|
||||
|
||||
* ru.po: Updated Russian translation by Yuriy Penkin.
|
||||
|
||||
2009-03-14 Sandeep Shedmake <sshedmak@redhat.com>
|
||||
|
||||
* mr.po: Updated Marathi Translations.
|
||||
|
||||
2009-03-14 Rajesh Ranjan <rranjan@redhat.com>
|
||||
|
||||
* hi.po: Updated Hindi Translation.
|
||||
|
||||
2009-03-13 Kostas Papadimas <pkst@gnome.org>
|
||||
|
||||
* el.po: Updated Greek Translation by Jennie Petoumenou.
|
||||
|
||||
2009-03-13 Priit Laes <plaes at svn dot gnome dot org>
|
||||
|
||||
* et.po: Translation updated by Mattias Põldaru
|
||||
|
||||
2009-03-12 Manoj Kumar Giri <mgiri@redhat.com>
|
||||
|
||||
* or.po: Updated Oriya Translation.
|
||||
|
||||
2009-03-11 Krishnababu K <kkrothap@redhat.com>
|
||||
|
||||
* te.po: Updated Telugu Translation.
|
||||
* LINGUAS: Added Telugu [te] language.
|
||||
|
||||
2009-03-10 Runa Bhattacharjee <runab@redhat.com>
|
||||
|
||||
* bn_IN.po: Updated partial Bengali India Translation
|
||||
|
||||
2009-03-08 Petr Kovar <pknbe@volny.cz>
|
||||
|
||||
* cs.po: Updated Czech translation.
|
||||
|
||||
2009-03-07 Mark Krapivner <mark125@gmail.com>
|
||||
|
||||
* he.po: Updated Hebrew translation.
|
||||
|
||||
2009-03-06 Milo Casagrande <milo@ubuntu.com>
|
||||
|
||||
* it.po: Updated Italian translation by Luca Ferretti.
|
||||
|
||||
2009-03-04 Luca Ferretti <elle.uca@libero.it>
|
||||
|
||||
* it.po: Updated Italian translation
|
||||
|
||||
2009-03-02 Claude Paroz <claude@2xlibre.net>
|
||||
|
||||
* fr.po: Updated French translation by Frédéric Peters and Claude Paroz.
|
||||
|
||||
2009-03-02 I. Felix <ifelix@redhat.com>
|
||||
|
||||
* ta.po: Tamil Translation updated by Tirumurthi Vasudevan
|
||||
|
||||
2009-02-28 Duarte Loreto <happyguy_pt@hotmail.com>
|
||||
|
||||
* pt.po: Updated Portuguese translation.
|
||||
|
||||
2009-02-23 Philip Withnall <philip@tecnocode.co.uk>
|
||||
|
||||
* en_GB.po: Updated British English translation.
|
||||
|
||||
2009-02-23 Gil Forcada <gforcada@gnome.org>
|
||||
|
||||
* ca.po: Updated Catalan translation by David Planella.
|
||||
|
||||
2009-02-23 Ilkka Tuohela <hile@iki.fi>
|
||||
|
||||
* fi.po: Updated Finnish translation.
|
||||
|
||||
2009-02-21 Christian Kirbach <Christian.Kirbach@googlemail.com>
|
||||
|
||||
* de.po: Updated German translation.
|
||||
|
||||
2009-02-20 Og Maciel <ogmaciel@gnome.org>
|
||||
|
||||
* pt_BR.po: Updated Brazilian Portuguese translation by
|
||||
Vladimir Melo.
|
||||
|
||||
2009-02-19 Jani Monoses <jani@ubuntu.com>
|
||||
|
||||
* ro.po: Updated Romanian translation
|
||||
by Adi Roiban <adi@roiban.ro>
|
||||
|
||||
2009-02-19 Ilkka Tuohela <hile@iki.fi>
|
||||
|
||||
* fi.po: Updated Finnish translation.
|
||||
|
||||
2009-02-18 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
|
||||
|
||||
* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
|
||||
* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
|
||||
|
||||
2009-02-18 Changwoo Ryu <cwryu@debian.org>
|
||||
|
||||
* ko.po: Updated Korean translation.
|
||||
|
||||
2009-02-17 Gabor Kelemen <kelemeng@gnome.hu>
|
||||
|
||||
* hu.po: Translation updated.
|
||||
|
||||
2009-02-16 Wouter Bolsterlee <wbolster@svn.gnome.org>
|
||||
|
||||
* nl.po: Updated Dutch translation by Wouter Bolsterlee.
|
||||
|
||||
2009-02-15 Kenneth Nielsen <k.nielsen81@gmail.com>
|
||||
|
||||
* da.po: Updated Danish translation by Ask H. Larsen
|
||||
|
||||
2009-02-15 Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>
|
||||
|
||||
* zh_HK.po: Updated Traditional Chinese translation(Hong Kong).
|
||||
* zh_TW.po: Updated Traditional Chinese translation(Taiwan).
|
||||
|
||||
2009-02-14 Ihar Hrachyshka <booxter@lacinka.org>
|
||||
|
||||
* be@latin.po: Updated Belarusian Latin translation by Ihar Hrachyshka.
|
||||
|
||||
2009-02-13 Theppitak Karoonboonyanan <thep@linux.thai.net>
|
||||
|
||||
* th.po: Updated Thai translation.
|
||||
|
||||
2009-02-12 Inaki Larranaga Murgoitio <dooteo@euskalgnu.org>
|
||||
|
||||
* eu.po: Updated Basque translation.
|
||||
|
||||
2009-02-11 Daniel Nylander <po@danielnylander.se>
|
||||
|
||||
* sv.po: Updated Swedish translation.
|
||||
|
||||
2009-02-11 Takeshi AIHANA <takeshi.aihana@gmail.com>
|
||||
|
||||
* ja.po: Updated Japanese translation.
|
||||
|
||||
2009-02-10 Gil Forcada <gforcada@gnome.org>
|
||||
|
||||
* ast.po: Updated Asturian translation on behalf of Mikel González.
|
||||
|
||||
2009-02-07 Clytie Siddall <clytie@riverland.net.au>
|
||||
|
||||
* vi.po: Updated Vietnamese translation.
|
||||
|
||||
2009-02-03 Jorge Gonzalez <jorgegonz@svn.gnome.org>
|
||||
|
||||
* es.po: Updated Spanish translation.
|
||||
|
||||
2009-02-01 Gil Forcada <gforcada@gnome.org>
|
||||
|
||||
* ca.po: Updated Catalan translation by David Planella.
|
||||
|
||||
2009-01-31 Jorge Gonzalez <jorgegonz@svn.gnome.org>
|
||||
|
||||
* es.po: Updated Spanish translation
|
||||
|
||||
2009-01-31 Daniel Nylander <po@danielnylander.se>
|
||||
|
||||
* sv.po: Updated Swedish translation.
|
||||
|
||||
2009-01-29 Kjartan Maraas <kmaraas@gnome.org>
|
||||
|
||||
* nb.po: Updated Norwegian bokmål translation.
|
||||
|
||||
2009-01-29 Changwoo Ryu <cwryu@debian.org>
|
||||
|
||||
* ko.po: Updated Korean translation.
|
||||
|
||||
2009-01-24 Raivis DEjus <orvils@gmail.com>
|
||||
|
||||
* lv.po: Updated Latvian translation.
|
||||
|
||||
2009-01-22 Yair Hershkovitz <yairhr@gmail.com>
|
||||
|
||||
* he.po: Updated Hebrew translation.
|
||||
|
||||
2009-01-17 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* ig.po: Added Igbo translation by Sylvester Onye.
|
||||
* yo.po Added Yoruba translation by Sunday Ayo Fajuyitan.
|
||||
* ha.po: Added Hausa translation by Saudat Mohammed.
|
||||
* LINGUAS: added Igbo, Yoruba and Hausa.
|
||||
|
||||
2009-01-17 Gabor Kelemen <kelemeng@gnome.hu>
|
||||
|
||||
* hu.po: Translation updated.
|
||||
|
||||
2009-01-09 Daniel Nylander <po@danielnylander.se>
|
||||
|
||||
* sv.po: Updated Swedish translation.
|
||||
|
||||
2009-01-03 甘露(Gan Lu) <rhythm.gan@gmail.com>
|
||||
|
||||
* zh_CN.po: Updated Chinese Simplified translation
|
||||
|
||||
2009-01-03 Priit Laes <plaes at svn dot gnome dot org>
|
||||
|
||||
* et.po: Translation updated by Mattias Põldaru
|
||||
|
||||
2008-12-26 Jorge Gonzalez <jorgegonz@svn.gnome.org>
|
||||
|
||||
* es.po: Updated Spanish translation.
|
||||
|
||||
2008-12-12 Luca Ferretti <elle.uca@libero.it>
|
||||
|
||||
* it.po: Imported updated translation from gnome-2-24 branch.
|
||||
|
||||
2008-12-08 Priit Laes <plaes at svn dot gnome dot org>
|
||||
|
||||
* et.po: Translation updated by Mattias Põldaru
|
||||
|
||||
2008-11-23 Jorge Gonzalez <jorgegonz@svn.gnome.org>
|
||||
|
||||
* es.po: Updated Spanish translation
|
||||
|
||||
2008-11-14 Thomas Thurman <tthurman@gnome.org>
|
||||
|
||||
* la.po: Updated Latin translation
|
||||
@@ -132,7 +410,7 @@
|
||||
|
||||
2008-09-12 Goran Rakić <grakic@devbase.net>
|
||||
|
||||
* sr.po, sr@latin.po: Updated Serbian translation (by Miloš Popović).
|
||||
* sr.po, sr@latin.po: Updated Serbian translation (by Miloš Popović).
|
||||
|
||||
2008-09-09 Robert Sedak <robert.sedak@sk.t-com.hr>
|
||||
|
||||
@@ -268,7 +546,7 @@
|
||||
|
||||
* nb.po: Updated Norwegian bokmål translation.
|
||||
|
||||
2008-06-01 Clytie Siddall <clytie@riverland.net.au>
|
||||
2008-06-01 Clytie Siddall <clytie@riverland.net.au>
|
||||
|
||||
* vi.po: Updated Vietnamese translation.
|
||||
|
||||
@@ -354,7 +632,7 @@
|
||||
|
||||
2008-03-07 Maxim Dziumanenko <dziumanenko@gmail.com>
|
||||
|
||||
* uk.po: Updated Ukrainian translation.
|
||||
* uk.po: Updated Ukrainian translation.
|
||||
|
||||
2008-03-03 Jorge Gonzalez <jorgegonz@svn.gnome.org>
|
||||
|
||||
|
@@ -10,6 +10,7 @@ be@latin
|
||||
bg
|
||||
bn
|
||||
bn_IN
|
||||
br
|
||||
bs
|
||||
ca
|
||||
ca@valencia
|
||||
@@ -21,6 +22,7 @@ dz
|
||||
el
|
||||
en_CA
|
||||
en_GB
|
||||
eo
|
||||
es
|
||||
et
|
||||
eu
|
||||
@@ -30,12 +32,14 @@ fr
|
||||
ga
|
||||
gl
|
||||
gu
|
||||
ha
|
||||
he
|
||||
hi
|
||||
hr
|
||||
hu
|
||||
hy
|
||||
id
|
||||
ig
|
||||
is
|
||||
it
|
||||
ja
|
||||
@@ -46,6 +50,7 @@ ku
|
||||
la
|
||||
lt
|
||||
lv
|
||||
mai
|
||||
mg
|
||||
mk
|
||||
ml
|
||||
@@ -53,6 +58,7 @@ mn
|
||||
mr
|
||||
ms
|
||||
nb
|
||||
nds
|
||||
ne
|
||||
nl
|
||||
nn
|
||||
@@ -73,13 +79,16 @@ sr
|
||||
sr@latin
|
||||
sv
|
||||
ta
|
||||
te
|
||||
th
|
||||
tk
|
||||
tr
|
||||
ug
|
||||
uk
|
||||
vi
|
||||
wa
|
||||
xh
|
||||
yo
|
||||
zh_CN
|
||||
zh_HK
|
||||
zh_TW
|
||||
|
@@ -1,30 +1,28 @@
|
||||
# List of source files containing translatable strings.
|
||||
# Please keep this file sorted alphabetically.
|
||||
src/50-metacity-desktop-key.xml.in
|
||||
src/50-metacity-key.xml.in
|
||||
src/core/all-keybindings.h
|
||||
src/core/bell.c
|
||||
src/core/core.c
|
||||
src/core/delete.c
|
||||
src/core/display.c
|
||||
src/core/errors.c
|
||||
src/core/keybindings.c
|
||||
src/core/main.c
|
||||
src/core/mutter.c
|
||||
src/core/prefs.c
|
||||
src/core/screen.c
|
||||
src/core/schema-bindings.c
|
||||
src/core/session.c
|
||||
src/core/util.c
|
||||
src/core/window.c
|
||||
src/core/window-props.c
|
||||
src/core/xprops.c
|
||||
src/include/all-keybindings.h
|
||||
src/metacity.desktop.in
|
||||
src/metacity.schemas.in.in
|
||||
src/metacity-wm.desktop.in
|
||||
src/tools/metacity-message.c
|
||||
src/mutter.desktop.in
|
||||
src/mutter-wm.desktop.in
|
||||
src/mutter.schemas.in
|
||||
src/tools/mutter-message.c
|
||||
src/ui/frames.c
|
||||
src/ui/menu.c
|
||||
src/ui/metaaccellabel.c
|
||||
src/ui/metacity-dialog.c
|
||||
src/ui/resizepopup.c
|
||||
src/ui/theme.c
|
||||
src/ui/theme-parser.c
|
||||
|
5225
po/be@latin.po
5225
po/be@latin.po
File diff suppressed because it is too large
Load Diff
4727
po/bn_IN.po
4727
po/bn_IN.po
File diff suppressed because it is too large
Load Diff
5890
po/en_GB.po
5890
po/en_GB.po
File diff suppressed because it is too large
Load Diff
4
po/nn.po
4
po/nn.po
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: nn\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2008-04-04 13:50+0200\n"
|
||||
"PO-Revision-Date: 2008-04-04 13:59+0200\n"
|
||||
"PO-Revision-Date: 2009-06-16 09:54-0400\n"
|
||||
"Last-Translator: Eskild Hustvedt <eskildh@gnome.org>\n"
|
||||
"Language-Team: Norwegian Nynorsk <i18n-no@lister.ping.uio.no>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@@ -2300,7 +2300,7 @@ msgstr "_Lukk"
|
||||
#: ../src/ui/menu.c:203
|
||||
#, c-format
|
||||
msgid "Workspace %d%n"
|
||||
msgstr "Arbeidsflate %d"
|
||||
msgstr "Arbeidsflate %d%n"
|
||||
|
||||
#: ../src/ui/menu.c:213
|
||||
#, c-format
|
||||
|
2698
po/pt_BR.po
2698
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
5802
po/sr@latin.po
5802
po/sr@latin.po
File diff suppressed because it is too large
Load Diff
5147
po/zh_CN.po
5147
po/zh_CN.po
File diff suppressed because it is too large
Load Diff
3682
po/zh_HK.po
3682
po/zh_HK.po
File diff suppressed because it is too large
Load Diff
4086
po/zh_TW.po
4086
po/zh_TW.po
File diff suppressed because it is too large
Load Diff
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<KeyListEntries _name="Desktop" wm_name="Metacity" package="metacity">
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/panel_run_dialog" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/panel_main_menu" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/run_command_screenshot" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/run_command_window_screenshot" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/run_command_terminal" />
|
||||
|
||||
</KeyListEntries>
|
||||
|
@@ -1,269 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<KeyListEntries _name="Window Management" wm_name="Metacity" package="metacity">
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/activate_window_menu" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/toggle_fullscreen" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/toggle_maximized" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/maximize" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/unmaximize" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/toggle_shaded" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/close" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/minimize" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/begin_move" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/begin_resize" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/toggle_on_all_workspaces"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/raise_or_lower" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/raise" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/lower" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/maximize_vertically" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/maximize_horizontally" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_1"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_2"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_3"
|
||||
value="2"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_4"
|
||||
value="3"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_5"
|
||||
value="4"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_6"
|
||||
value="5"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_7"
|
||||
value="6"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_8"
|
||||
value="7"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_9"
|
||||
value="8"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_10"
|
||||
value="9"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_11"
|
||||
value="10"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_12"
|
||||
value="11"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_left"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_right"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_up"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/window_keybindings/move_to_workspace_down"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_windows" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_group" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_panels" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/cycle_windows" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/cycle_group" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/cycle_panels" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/show_desktop" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_1"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_2"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_3"
|
||||
value="2"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_4"
|
||||
value="3"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_5"
|
||||
value="4"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_6"
|
||||
value="5"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_7"
|
||||
value="6"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_8"
|
||||
value="7"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_9"
|
||||
value="8"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_10"
|
||||
value="9"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_11"
|
||||
value="10"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_12"
|
||||
value="11"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_left"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_right"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_up"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
<KeyListEntry
|
||||
name="/apps/metacity/global_keybindings/switch_to_workspace_down"
|
||||
value="1"
|
||||
key="/apps/metacity/general/num_workspaces"
|
||||
comparison="gt" />
|
||||
|
||||
</KeyListEntries>
|
||||
|
330
src/Makefile.am
330
src/Makefile.am
@@ -1,82 +1,134 @@
|
||||
lib_LTLIBRARIES = libmetacity-private.la
|
||||
# Flag build for parallelism; see https://savannah.gnu.org/patch/?6905
|
||||
.AUTOPARALLEL:
|
||||
|
||||
SUBDIRS=wm-tester tools themes
|
||||
lib_LTLIBRARIES = libmutter.la
|
||||
|
||||
INCLUDES=-I$(srcdir)/include -DMETACITY_LIBEXECDIR=\"$(libexecdir)\" -DHOST_ALIAS=\"@HOST_ALIAS@\" -DMETACITY_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" -DMETACITY_PKGDATADIR=\"$(pkgdatadir)\" -DMETACITY_DATADIR=\"$(datadir)\" -DG_LOG_DOMAIN=\"metacity\" -DSN_API_NOT_YET_FROZEN=1 @METACITY_CFLAGS@
|
||||
SUBDIRS=wm-tester tools compositor/plugins
|
||||
|
||||
metacity_SOURCES= \
|
||||
INCLUDES= \
|
||||
$(MUTTER_CFLAGS) \
|
||||
-I$(srcdir) \
|
||||
-I$(srcdir)/core \
|
||||
-I$(srcdir)/ui \
|
||||
-I$(srcdir)/compositor \
|
||||
-DMUTTER_LIBEXECDIR=\"$(libexecdir)\" \
|
||||
-DHOST_ALIAS=\"@HOST_ALIAS@\" \
|
||||
-DMUTTER_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" \
|
||||
-DMUTTER_PKGDATADIR=\"$(pkgdatadir)\" \
|
||||
-DMUTTER_DATADIR=\"$(datadir)\" \
|
||||
-DG_LOG_DOMAIN=\"mutter\" \
|
||||
-DSN_API_NOT_YET_FROZEN=1 \
|
||||
-DMUTTER_MAJOR_VERSION=$(MUTTER_MAJOR_VERSION) \
|
||||
-DMUTTER_MINOR_VERSION=$(MUTTER_MINOR_VERSION) \
|
||||
-DMUTTER_MICRO_VERSION=$(MUTTER_MICRO_VERSION) \
|
||||
-DMUTTER_PLUGIN_API_VERSION=$(MUTTER_PLUGIN_API_VERSION) \
|
||||
-DMUTTER_PKGLIBDIR=\"$(pkglibdir)\" \
|
||||
-DMUTTER_PLUGIN_DIR=\"@MUTTER_PLUGIN_DIR@\" \
|
||||
-DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\"
|
||||
|
||||
mutter_built_sources = \
|
||||
mutter-marshal.h \
|
||||
mutter-marshal.c \
|
||||
mutter-enum-types.h \
|
||||
mutter-enum-types.c
|
||||
|
||||
libmutter_la_SOURCES = \
|
||||
core/async-getprop.c \
|
||||
core/async-getprop.h \
|
||||
core/atomnames.h \
|
||||
core/bell.c \
|
||||
core/bell.h \
|
||||
core/boxes.c \
|
||||
include/boxes.h \
|
||||
core/boxes-private.h \
|
||||
meta/boxes.h \
|
||||
compositor/cogl-utils.c \
|
||||
compositor/cogl-utils.h \
|
||||
compositor/compositor.c \
|
||||
compositor/compositor-private.h \
|
||||
compositor/compositor-xrender.c \
|
||||
compositor/compositor-xrender.h \
|
||||
include/compositor.h \
|
||||
compositor/meta-background-actor.c \
|
||||
compositor/meta-background-actor.h \
|
||||
compositor/meta-module.c \
|
||||
compositor/meta-module.h \
|
||||
compositor/meta-plugin.c \
|
||||
compositor/meta-plugin-manager.c \
|
||||
compositor/meta-plugin-manager.h \
|
||||
compositor/meta-shadow-factory.c \
|
||||
compositor/meta-shadow-factory-private.h \
|
||||
compositor/meta-shaped-texture.c \
|
||||
compositor/meta-shaped-texture.h \
|
||||
compositor/meta-texture-tower.c \
|
||||
compositor/meta-texture-tower.h \
|
||||
compositor/meta-window-actor.c \
|
||||
compositor/meta-window-actor-private.h \
|
||||
compositor/meta-window-group.c \
|
||||
compositor/meta-window-group.h \
|
||||
compositor/meta-window-shape.c \
|
||||
compositor/meta-window-shape.h \
|
||||
compositor/region-utils.c \
|
||||
compositor/region-utils.h \
|
||||
meta/compositor.h \
|
||||
meta/meta-plugin.h \
|
||||
meta/meta-shadow-factory.h \
|
||||
meta/meta-window-actor.h \
|
||||
meta/compositor-mutter.h \
|
||||
core/above-tab-keycode.c \
|
||||
core/constraints.c \
|
||||
core/constraints.h \
|
||||
core/core.c \
|
||||
core/delete.c \
|
||||
core/display.c \
|
||||
core/display-private.h \
|
||||
include/display.h \
|
||||
meta/display.h \
|
||||
ui/draw-workspace.c \
|
||||
ui/draw-workspace.h \
|
||||
core/edge-resistance.c \
|
||||
core/edge-resistance.h \
|
||||
core/effects.c \
|
||||
core/effects.h \
|
||||
core/errors.c \
|
||||
include/errors.h \
|
||||
meta/errors.h \
|
||||
core/eventqueue.c \
|
||||
core/eventqueue.h \
|
||||
core/frame.c \
|
||||
core/frame-private.h \
|
||||
include/frame.h \
|
||||
core/frame.h \
|
||||
ui/gradient.c \
|
||||
ui/gradient.h \
|
||||
meta/gradient.h \
|
||||
core/group-private.h \
|
||||
core/group-props.c \
|
||||
core/group-props.h \
|
||||
core/group.c \
|
||||
core/group.h \
|
||||
meta/group.h \
|
||||
core/iconcache.c \
|
||||
core/iconcache.h \
|
||||
core/keybindings.c \
|
||||
core/keybindings.h \
|
||||
core/keybindings-private.h \
|
||||
core/main.c \
|
||||
include/main.h \
|
||||
core/metacity-Xatomtype.h \
|
||||
core/mutter-Xatomtype.h \
|
||||
core/place.c \
|
||||
core/place.h \
|
||||
core/prefs.c \
|
||||
include/prefs.h \
|
||||
meta/prefs.h \
|
||||
core/screen.c \
|
||||
core/screen-private.h \
|
||||
include/screen.h \
|
||||
include/types.h \
|
||||
meta/screen.h \
|
||||
meta/types.h \
|
||||
core/session.c \
|
||||
core/session.h \
|
||||
core/stack.c \
|
||||
core/stack.h \
|
||||
core/stack-tracker.c \
|
||||
core/stack-tracker.h \
|
||||
core/util.c \
|
||||
include/util.h \
|
||||
meta/util.h \
|
||||
core/window-props.c \
|
||||
core/window-props.h \
|
||||
core/window.c \
|
||||
core/window-private.h \
|
||||
include/window.h \
|
||||
meta/window.h \
|
||||
core/workspace.c \
|
||||
core/workspace.h \
|
||||
core/workspace-private.h \
|
||||
core/xprops.c \
|
||||
include/xprops.h \
|
||||
include/common.h \
|
||||
include/core.h \
|
||||
include/ui.h \
|
||||
core/xprops.h \
|
||||
meta/common.h \
|
||||
core/core.h \
|
||||
ui/ui.h \
|
||||
inlinepixbufs.h \
|
||||
ui/fixedtip.c \
|
||||
ui/fixedtip.h \
|
||||
@@ -87,105 +139,127 @@ metacity_SOURCES= \
|
||||
ui/metaaccellabel.c \
|
||||
ui/metaaccellabel.h \
|
||||
ui/resizepopup.c \
|
||||
include/resizepopup.h \
|
||||
ui/resizepopup.h \
|
||||
ui/tabpopup.c \
|
||||
include/tabpopup.h \
|
||||
ui/tabpopup.h \
|
||||
ui/tile-preview.c \
|
||||
ui/tile-preview.h \
|
||||
ui/theme-parser.c \
|
||||
ui/theme-parser.h \
|
||||
ui/theme.c \
|
||||
ui/theme.h \
|
||||
ui/themewidget.c \
|
||||
ui/themewidget.h \
|
||||
meta/theme.h \
|
||||
ui/theme-private.h \
|
||||
ui/ui.c \
|
||||
include/all-keybindings.h
|
||||
|
||||
# by setting libmetacity_private_la_CFLAGS, the files shared with
|
||||
# metacity proper will be compiled with different names.
|
||||
libmetacity_private_la_CFLAGS =
|
||||
libmetacity_private_la_SOURCES= \
|
||||
core/boxes.c \
|
||||
include/boxes.h \
|
||||
ui/gradient.c \
|
||||
ui/gradient.h \
|
||||
core/util.c \
|
||||
include/util.h \
|
||||
include/common.h \
|
||||
core/all-keybindings.h \
|
||||
meta/preview-widget.h \
|
||||
ui/preview-widget.c \
|
||||
ui/preview-widget.h \
|
||||
ui/theme-parser.c \
|
||||
ui/theme-parser.h \
|
||||
ui/theme.c \
|
||||
ui/theme.h
|
||||
$(mutter_built_sources)
|
||||
|
||||
libmetacity_private_la_LDFLAGS = -no-undefined
|
||||
libmetacity_private_la_LIBADD = @METACITY_LIBS@
|
||||
libmutter_la_LDFLAGS = -no-undefined
|
||||
libmutter_la_LIBADD = $(MUTTER_LIBS)
|
||||
|
||||
libmetacityincludedir = $(includedir)/metacity-1/metacity-private
|
||||
# Headers installed for plugins; introspected information will
|
||||
# be extracted into Mutter-<version>.gir
|
||||
libmutterinclude_base_headers = \
|
||||
meta/boxes.h \
|
||||
meta/common.h \
|
||||
meta/compositor-mutter.h \
|
||||
meta/compositor.h \
|
||||
meta/display.h \
|
||||
meta/errors.h \
|
||||
meta/gradient.h \
|
||||
meta/group.h \
|
||||
meta/keybindings.h \
|
||||
meta/main.h \
|
||||
meta/meta-plugin.h \
|
||||
meta/meta-shadow-factory.h \
|
||||
meta/meta-window-actor.h \
|
||||
meta/prefs.h \
|
||||
meta/screen.h \
|
||||
meta/theme.h \
|
||||
meta/types.h \
|
||||
meta/util.h \
|
||||
meta/window.h \
|
||||
meta/workspace.h
|
||||
|
||||
libmetacityinclude_HEADERS = \
|
||||
include/boxes.h \
|
||||
ui/gradient.h \
|
||||
include/util.h \
|
||||
include/common.h \
|
||||
ui/preview-widget.h \
|
||||
ui/theme-parser.h \
|
||||
ui/theme.h
|
||||
# Excluded from scanning for introspection but installed
|
||||
# atomnames.h: macros cause problems for scanning process
|
||||
libmutterinclude_extra_headers = \
|
||||
meta/preview-widget.h \
|
||||
meta/atomnames.h
|
||||
|
||||
metacity_theme_viewer_SOURCES= \
|
||||
libmutterincludedir = $(includedir)/mutter/meta
|
||||
|
||||
libmutterinclude_HEADERS = \
|
||||
$(libmutterinclude_base_headers) \
|
||||
$(libmutterinclude_extra_headers)
|
||||
|
||||
mutter_theme_viewer_SOURCES= \
|
||||
ui/theme-viewer.c
|
||||
|
||||
metacity_dialog_SOURCES= \
|
||||
ui/metacity-dialog.c
|
||||
bin_PROGRAMS=mutter mutter-theme-viewer
|
||||
|
||||
schema_bindings_SOURCES = \
|
||||
core/schema-bindings.c \
|
||||
metacity.schemas.in.in
|
||||
mutter_SOURCES = core/mutter.c
|
||||
mutter_LDADD = $(MUTTER_LIBS) libmutter.la
|
||||
|
||||
schema_bindings_LDADD = @METACITY_LIBS@
|
||||
metacity.schemas.in: schema_bindings ${srcdir}/metacity.schemas.in.in
|
||||
@echo Generating keybinding schemas... ${srcdir}/metacity.schemas.in.in
|
||||
${builddir}/schema_bindings ${srcdir}/metacity.schemas.in.in ${builddir}/metacity.schemas.in
|
||||
if HAVE_INTROSPECTION
|
||||
include $(INTROSPECTION_MAKEFILE)
|
||||
|
||||
bin_PROGRAMS=metacity metacity-theme-viewer
|
||||
libexec_PROGRAMS=metacity-dialog
|
||||
api_version = $(MUTTER_MAJOR_VERSION).$(MUTTER_MINOR_VERSION)
|
||||
|
||||
EFENCE=
|
||||
metacity_LDADD=@METACITY_LIBS@ $(EFENCE)
|
||||
metacity_theme_viewer_LDADD= @METACITY_LIBS@ libmetacity-private.la
|
||||
metacity_dialog_LDADD=@METACITY_LIBS@
|
||||
# These files are in package-private directories, even though they may be used
|
||||
# by plugins. If you're writing a plugin, use g-ir-compiler --add-include-path
|
||||
# and g-ir-compiler --includedir.
|
||||
girdir = $(pkglibdir)
|
||||
gir_DATA = Meta-$(api_version).gir
|
||||
|
||||
testboxes_SOURCES=include/util.h core/util.c include/boxes.h core/boxes.c core/testboxes.c
|
||||
testgradient_SOURCES=ui/gradient.h ui/gradient.c ui/testgradient.c
|
||||
testasyncgetprop_SOURCES=core/async-getprop.h core/async-getprop.c core/testasyncgetprop.c
|
||||
typelibdir = $(pkglibdir)
|
||||
typelib_DATA = Meta-$(api_version).typelib
|
||||
|
||||
noinst_PROGRAMS=testboxes testgradient testasyncgetprop schema_bindings
|
||||
INTROSPECTION_GIRS = Meta-$(api_version).gir
|
||||
|
||||
testboxes_LDADD= @METACITY_LIBS@
|
||||
testgradient_LDADD= @METACITY_LIBS@
|
||||
testasyncgetprop_LDADD= @METACITY_LIBS@
|
||||
Meta-$(api_version).gir: libmutter.la
|
||||
@META_GIR@_INCLUDES = GObject-2.0 Gdk-3.0 Gtk-3.0 Clutter-1.0 xlib-2.0 xfixes-4.0
|
||||
@META_GIR@_PACKAGES = clutter-1.0 gtk+-3.0
|
||||
@META_GIR@_CFLAGS = $(INCLUDES)
|
||||
@META_GIR@_LIBS = libmutter.la
|
||||
@META_GIR@_FILES = \
|
||||
mutter-enum-types.h \
|
||||
$(libmutterinclude_base_headers) \
|
||||
$(filter %.c,$(libmutter_la_SOURCES))
|
||||
@META_GIR@_SCANNERFLAGS = --warn-all --warn-error
|
||||
|
||||
endif
|
||||
|
||||
mutter_theme_viewer_LDADD= $(MUTTER_LIBS) libmutter.la
|
||||
|
||||
testboxes_SOURCES = core/testboxes.c
|
||||
testgradient_SOURCES = ui/testgradient.c
|
||||
testasyncgetprop_SOURCES = core/testasyncgetprop.c
|
||||
|
||||
noinst_PROGRAMS=testboxes testgradient testasyncgetprop
|
||||
|
||||
testboxes_LDADD = $(MUTTER_LIBS) libmutter.la
|
||||
testgradient_LDADD = $(MUTTER_LIBS) libmutter.la
|
||||
testasyncgetprop_LDADD = $(MUTTER_LIBS) libmutter.la
|
||||
|
||||
@INTLTOOL_DESKTOP_RULE@
|
||||
|
||||
desktopfilesdir=$(datadir)/applications
|
||||
desktopfiles_in_files=metacity.desktop.in
|
||||
desktopfiles_in_files=mutter.desktop.in
|
||||
desktopfiles_files=$(desktopfiles_in_files:.desktop.in=.desktop)
|
||||
desktopfiles_DATA = $(desktopfiles_files)
|
||||
|
||||
wmpropertiesdir=$(datadir)/gnome/wm-properties
|
||||
wmproperties_in_files=metacity-wm.desktop.in
|
||||
wmproperties_in_files=mutter-wm.desktop.in
|
||||
wmproperties_files=$(wmproperties_in_files:.desktop.in=.desktop)
|
||||
wmproperties_DATA = $(wmproperties_files)
|
||||
|
||||
schemadir = @GCONF_SCHEMA_FILE_DIR@
|
||||
schema_in_files = metacity.schemas.in
|
||||
schemadir = $(GCONF_SCHEMA_FILE_DIR)
|
||||
schema_in_files = mutter.schemas.in
|
||||
schema_DATA = $(schema_in_files:.schemas.in=.schemas)
|
||||
|
||||
@INTLTOOL_XML_NOMERGE_RULE@
|
||||
|
||||
xmldir = @GNOME_KEYBINDINGS_KEYSDIR@
|
||||
xml_in_files = 50-metacity-desktop-key.xml.in 50-metacity-key.xml.in
|
||||
xml_DATA = $(xml_in_files:.xml.in=.xml)
|
||||
|
||||
@INTLTOOL_SCHEMAS_RULE@
|
||||
|
||||
if GCONF_SCHEMAS_INSTALL
|
||||
@@ -201,21 +275,73 @@ VARIABLES=stock_maximize_data $(srcdir)/stock_maximize.png \
|
||||
stock_delete_data $(srcdir)/stock_delete.png
|
||||
|
||||
BUILT_SOURCES = inlinepixbufs.h
|
||||
CLEANFILES = inlinepixbufs.h metacity.desktop metacity-wm.desktop metacity.schemas metacity.schemas.in 50-metacity-desktop-key.xml 50-metacity-key.xml
|
||||
CLEANFILES = \
|
||||
inlinepixbufs.h \
|
||||
mutter.desktop \
|
||||
mutter-wm.desktop \
|
||||
mutter.schemas \
|
||||
$(mutter_built_sources) \
|
||||
$(typelib_DATA) \
|
||||
$(gir_DATA)
|
||||
|
||||
inlinepixbufs.h: $(IMAGES)
|
||||
$(GDK_PIXBUF_CSOURCE) --raw --build-list $(VARIABLES) >$(srcdir)/inlinepixbufs.h
|
||||
|
||||
pkgconfigdir = $(libdir)/pkgconfig
|
||||
|
||||
pkgconfig_DATA = libmetacity-private.pc
|
||||
pkgconfig_DATA = libmutter.pc mutter-plugins.pc
|
||||
|
||||
EXTRA_DIST=$(desktopfiles_files) \
|
||||
$(wmproperties_files) \
|
||||
$(IMAGES) $(schema_DATA) \
|
||||
$(wmproperties_files) \
|
||||
$(IMAGES) \
|
||||
$(desktopfiles_in_files) \
|
||||
$(wmproperties_in_files) \
|
||||
$(schema_in_files) \
|
||||
$(xml_in_files) \
|
||||
libmetacity-private.pc.in
|
||||
libmutter.pc.in \
|
||||
mutter-plugins.pc.in \
|
||||
mutter-enum-types.h.in \
|
||||
mutter-enum-types.c.in \
|
||||
mutter-marshal.list
|
||||
|
||||
BUILT_SOURCES += $(mutter_built_sources)
|
||||
MUTTER_STAMP_FILES = stamp-mutter-marshal.h stamp-mutter-enum-types.h
|
||||
CLEANFILES += $(MUTTER_STAMP_FILES)
|
||||
|
||||
mutter-marshal.h: stamp-mutter-marshal.h
|
||||
@true
|
||||
stamp-mutter-marshal.h: Makefile mutter-marshal.list
|
||||
$(AM_V_GEN) $(GLIB_GENMARSHAL) \
|
||||
--prefix=_mutter_marshal \
|
||||
--header \
|
||||
$(srcdir)/mutter-marshal.list > xgen-tmh && \
|
||||
(cmp -s xgen-tmh mutter-marshal.h || cp -f xgen-tmh mutter-marshal.h) && \
|
||||
rm -f xgen-tmh && \
|
||||
echo timestamp > $(@F)
|
||||
|
||||
mutter-marshal.c: Makefile mutter-marshal.list
|
||||
$(AM_V_GEN) (echo "#include \"mutter-marshal.h\"" ; \
|
||||
$(GLIB_GENMARSHAL) \
|
||||
--prefix=_mutter_marshal \
|
||||
--body \
|
||||
$(srcdir)/mutter-marshal.list ) > xgen-tmc && \
|
||||
cp -f xgen-tmc mutter-marshal.c && \
|
||||
rm -f xgen-tmc
|
||||
|
||||
mutter-enum-types.h: stamp-mutter-enum-types.h Makefile
|
||||
@true
|
||||
stamp-mutter-enum-types.h: $(libmutterinclude_base_headers) mutter-enum-types.h.in
|
||||
$(AM_V_GEN) ( cd $(srcdir) && \
|
||||
$(GLIB_MKENUMS) \
|
||||
--template $(srcdir)/mutter-enum-types.h.in \
|
||||
$(libmutterinclude_base_headers) ) >> xgen-teth && \
|
||||
(cmp -s xgen-teth mutter-enum-types.h || cp xgen-teth mutter-enum-types.h) && \
|
||||
rm -f xgen-teth && \
|
||||
echo timestamp > $(@F)
|
||||
|
||||
mutter-enum-types.c: stamp-mutter-enum-types.h mutter-enum-types.c.in
|
||||
$(AM_V_GEN) ( cd $(srcdir) && \
|
||||
$(GLIB_MKENUMS) \
|
||||
--template $(srcdir)/mutter-enum-types.c.in \
|
||||
$(libmutterinclude_base_headers) ) >> xgen-tetc && \
|
||||
cp xgen-tetc mutter-enum-types.c && \
|
||||
rm -f xgen-tetc
|
||||
|
10
src/compositor/README
Normal file
10
src/compositor/README
Normal file
@@ -0,0 +1,10 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
Fix me.
|
||||
|
||||
|
||||
Env Vars
|
||||
========
|
||||
|
||||
MUTTER_DISABLE_MIPMAPS - set to disable use of mipmaped windows.
|
104
src/compositor/cogl-utils.c
Normal file
104
src/compositor/cogl-utils.c
Normal file
@@ -0,0 +1,104 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
/*
|
||||
* Utilities for use with Cogl
|
||||
*
|
||||
* Copyright 2010 Red Hat, Inc.
|
||||
* Copyright 2010 Intel Corporation
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
* 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include "cogl-utils.h"
|
||||
|
||||
/**
|
||||
* meta_create_color_texture_4ub:
|
||||
* @red:
|
||||
* @green:
|
||||
* @blue:
|
||||
* @alpha:
|
||||
*
|
||||
* Creates a texture that is a single pixel with the specified
|
||||
* unpremultiplied color components.
|
||||
*
|
||||
* Return value: (transfer full): a newly created Cogl texture
|
||||
*/
|
||||
CoglHandle
|
||||
meta_create_color_texture_4ub (guint8 red,
|
||||
guint8 green,
|
||||
guint8 blue,
|
||||
guint8 alpha)
|
||||
{
|
||||
CoglColor color;
|
||||
guint8 pixel[4];
|
||||
|
||||
cogl_color_set_from_4ub (&color, red, green, blue, alpha);
|
||||
cogl_color_premultiply (&color);
|
||||
|
||||
pixel[0] = cogl_color_get_red_byte (&color);
|
||||
pixel[1] = cogl_color_get_green_byte (&color);
|
||||
pixel[2] = cogl_color_get_blue_byte (&color);
|
||||
pixel[3] = cogl_color_get_alpha_byte (&color);
|
||||
|
||||
return cogl_texture_new_from_data (1, 1,
|
||||
COGL_TEXTURE_NONE,
|
||||
COGL_PIXEL_FORMAT_RGBA_8888_PRE,
|
||||
COGL_PIXEL_FORMAT_ANY,
|
||||
4, pixel);
|
||||
}
|
||||
|
||||
|
||||
/* Based on gnome-shell/src/st/st-private.c:_st_create_texture_material.c */
|
||||
|
||||
/**
|
||||
* meta_create_texture_material:
|
||||
* @src_texture: (allow-none): texture to use initially for the layer
|
||||
*
|
||||
* Creates a material with a single layer. Using a common template
|
||||
* allows sharing a shader for different uses in Mutter. To share the same
|
||||
* shader with all other materials that are just texture plus opacity
|
||||
* would require Cogl fixes.
|
||||
* (See http://bugzilla.clutter-project.org/show_bug.cgi?id=2425)
|
||||
*
|
||||
* Return value: (transfer full): a newly created Cogl material
|
||||
*/
|
||||
CoglHandle
|
||||
meta_create_texture_material (CoglHandle src_texture)
|
||||
{
|
||||
static CoglHandle texture_material_template = COGL_INVALID_HANDLE;
|
||||
CoglHandle material;
|
||||
|
||||
/* We use a material that has a dummy texture as a base for all
|
||||
texture materials. The idea is that only the Cogl texture object
|
||||
would be different in the children so it is likely that Cogl will
|
||||
be able to share GL programs between all the textures. */
|
||||
if (G_UNLIKELY (texture_material_template == COGL_INVALID_HANDLE))
|
||||
{
|
||||
CoglHandle dummy_texture;
|
||||
|
||||
dummy_texture = meta_create_color_texture_4ub (0xff, 0xff, 0xff, 0xff);
|
||||
|
||||
texture_material_template = cogl_material_new ();
|
||||
cogl_material_set_layer (texture_material_template, 0, dummy_texture);
|
||||
cogl_handle_unref (dummy_texture);
|
||||
}
|
||||
|
||||
material = cogl_material_copy (texture_material_template);
|
||||
|
||||
if (src_texture != COGL_INVALID_HANDLE)
|
||||
cogl_material_set_layer (material, 0, src_texture);
|
||||
|
||||
return material;
|
||||
}
|
@@ -1,7 +1,8 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2008 Iain Holmes
|
||||
* Utilities for use with Cogl
|
||||
*
|
||||
* Copyright 2010 Red Hat, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
@@ -19,13 +20,15 @@
|
||||
* 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef META_FRAME_H
|
||||
#define META_FRAME_H
|
||||
#ifndef __META_COGL_UTILS_H__
|
||||
#define __META_COGL_UTILS_H__
|
||||
|
||||
#include <X11/Xlib.h>
|
||||
#include <cogl/cogl.h>
|
||||
|
||||
#include "types.h"
|
||||
CoglHandle meta_create_color_texture_4ub (guint8 red,
|
||||
guint8 green,
|
||||
guint8 blue,
|
||||
guint8 alpha);
|
||||
CoglHandle meta_create_texture_material (CoglHandle src_texture);
|
||||
|
||||
Window meta_frame_get_xwindow (MetaFrame *frame);
|
||||
|
||||
#endif
|
||||
#endif /* __META_COGL_UTILS_H__ */
|
@@ -1,54 +1,69 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2008 Iain Holmes
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
* 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef META_COMPOSITOR_PRIVATE_H
|
||||
#define META_COMPOSITOR_PRIVATE_H
|
||||
|
||||
#include "compositor.h"
|
||||
#include <X11/extensions/Xfixes.h>
|
||||
|
||||
#include <meta/compositor.h>
|
||||
#include <meta/display.h>
|
||||
#include "meta-plugin-manager.h"
|
||||
#include <clutter/clutter.h>
|
||||
|
||||
typedef struct _MetaCompScreen MetaCompScreen;
|
||||
|
||||
struct _MetaCompositor
|
||||
{
|
||||
void (* destroy) (MetaCompositor *compositor);
|
||||
MetaDisplay *display;
|
||||
|
||||
void (*manage_screen) (MetaCompositor *compositor,
|
||||
MetaScreen *screen);
|
||||
void (*unmanage_screen) (MetaCompositor *compositor,
|
||||
MetaScreen *screen);
|
||||
void (*add_window) (MetaCompositor *compositor,
|
||||
MetaWindow *window,
|
||||
Window xwindow,
|
||||
XWindowAttributes *attrs);
|
||||
void (*remove_window) (MetaCompositor *compositor,
|
||||
Window xwindow);
|
||||
void (*set_updates) (MetaCompositor *compositor,
|
||||
MetaWindow *window,
|
||||
gboolean update);
|
||||
void (*process_event) (MetaCompositor *compositor,
|
||||
XEvent *event,
|
||||
MetaWindow *window);
|
||||
Pixmap (*get_window_pixmap) (MetaCompositor *compositor,
|
||||
MetaWindow *window);
|
||||
void (*set_active_window) (MetaCompositor *compositor,
|
||||
MetaScreen *screen,
|
||||
MetaWindow *window);
|
||||
Atom atom_x_root_pixmap;
|
||||
Atom atom_x_set_root;
|
||||
Atom atom_net_wm_window_opacity;
|
||||
guint repaint_func_id;
|
||||
|
||||
ClutterActor *shadow_src;
|
||||
|
||||
MetaPlugin *modal_plugin;
|
||||
|
||||
gboolean show_redraw : 1;
|
||||
gboolean debug : 1;
|
||||
gboolean no_mipmaps : 1;
|
||||
};
|
||||
|
||||
#endif
|
||||
struct _MetaCompScreen
|
||||
{
|
||||
MetaScreen *screen;
|
||||
|
||||
ClutterActor *stage, *window_group, *overlay_group;
|
||||
ClutterActor *background_actor;
|
||||
ClutterActor *hidden_group;
|
||||
GList *windows;
|
||||
GHashTable *windows_by_xid;
|
||||
Window output;
|
||||
|
||||
/* Before we create the output window */
|
||||
XserverRegion pending_input_region;
|
||||
|
||||
gint switch_workspace_in_progress;
|
||||
|
||||
MetaPluginManager *plugin_mgr;
|
||||
};
|
||||
|
||||
void meta_switch_workspace_completed (MetaScreen *screen);
|
||||
void meta_set_stage_input_region (MetaScreen *screen,
|
||||
XserverRegion region);
|
||||
void meta_empty_stage_input_region (MetaScreen *screen);
|
||||
|
||||
gboolean meta_begin_modal_for_plugin (MetaScreen *screen,
|
||||
MetaPlugin *plugin,
|
||||
Window grab_window,
|
||||
Cursor cursor,
|
||||
MetaModalOptions options,
|
||||
guint32 timestamp);
|
||||
void meta_end_modal_for_plugin (MetaScreen *screen,
|
||||
MetaPlugin *plugin,
|
||||
guint32 timestamp);
|
||||
|
||||
void meta_check_end_modal (MetaScreen *screen);
|
||||
|
||||
#endif /* META_COMPOSITOR_PRIVATE_H */
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
418
src/compositor/meta-background-actor.c
Normal file
418
src/compositor/meta-background-actor.c
Normal file
@@ -0,0 +1,418 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
/*
|
||||
* meta-background-actor.c: Actor for painting the root window background
|
||||
*
|
||||
* Copyright 2009 Sander Dijkhuis
|
||||
* Copyright 2010 Red Hat, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
* 02111-1307, USA.
|
||||
*
|
||||
* Portions adapted from gnome-shell/src/shell-global.c
|
||||
*/
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#define COGL_ENABLE_EXPERIMENTAL_API
|
||||
#include <cogl/cogl-texture-pixmap-x11.h>
|
||||
|
||||
#include <X11/Xatom.h>
|
||||
|
||||
#include "cogl-utils.h"
|
||||
#include "compositor-private.h"
|
||||
#include <meta/errors.h>
|
||||
#include "meta-background-actor.h"
|
||||
|
||||
struct _MetaBackgroundActorClass
|
||||
{
|
||||
ClutterActorClass parent_class;
|
||||
};
|
||||
|
||||
struct _MetaBackgroundActor
|
||||
{
|
||||
ClutterActor parent;
|
||||
|
||||
CoglHandle material;
|
||||
MetaScreen *screen;
|
||||
cairo_region_t *visible_region;
|
||||
float texture_width;
|
||||
float texture_height;
|
||||
|
||||
guint have_pixmap : 1;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (MetaBackgroundActor, meta_background_actor, CLUTTER_TYPE_ACTOR);
|
||||
|
||||
static void
|
||||
update_wrap_mode (MetaBackgroundActor *self)
|
||||
{
|
||||
int width, height;
|
||||
CoglMaterialWrapMode wrap_mode;
|
||||
|
||||
meta_screen_get_size (self->screen, &width, &height);
|
||||
|
||||
/* We turn off repeating when we have a full-screen pixmap to keep from
|
||||
* getting artifacts from one side of the image sneaking into the other
|
||||
* side of the image via bilinear filtering.
|
||||
*/
|
||||
if (width == self->texture_width && height == self->texture_height)
|
||||
wrap_mode = COGL_MATERIAL_WRAP_MODE_CLAMP_TO_EDGE;
|
||||
else
|
||||
wrap_mode = COGL_MATERIAL_WRAP_MODE_REPEAT;
|
||||
|
||||
cogl_material_set_layer_wrap_mode (self->material, 0, wrap_mode);
|
||||
}
|
||||
|
||||
static void
|
||||
set_texture (MetaBackgroundActor *self,
|
||||
CoglHandle texture)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
|
||||
display = meta_screen_get_display (self->screen);
|
||||
|
||||
/* This may trigger destruction of an old texture pixmap, which, if
|
||||
* the underlying X pixmap is already gone has the tendency to trigger
|
||||
* X errors inside DRI. For safety, trap errors */
|
||||
meta_error_trap_push (display);
|
||||
cogl_material_set_layer (self->material, 0, texture);
|
||||
meta_error_trap_pop (display);
|
||||
|
||||
self->texture_width = cogl_texture_get_width (texture);
|
||||
self->texture_height = cogl_texture_get_height (texture);
|
||||
|
||||
update_wrap_mode (self);
|
||||
|
||||
clutter_actor_queue_redraw (CLUTTER_ACTOR (self));
|
||||
}
|
||||
|
||||
/* Sets our material to paint with a 1x1 texture of the stage's background
|
||||
* color; doing this when we have no pixmap allows the application to turn
|
||||
* off painting the stage. There might be a performance benefit to
|
||||
* painting in this case with a solid color, but the normal solid color
|
||||
* case is a 1x1 root pixmap, so we'd have to reverse-engineer that to
|
||||
* actually pick up the (small?) performance win. This is just a fallback.
|
||||
*/
|
||||
static void
|
||||
set_texture_to_stage_color (MetaBackgroundActor *self)
|
||||
{
|
||||
ClutterActor *stage = meta_get_stage_for_screen (self->screen);
|
||||
ClutterColor color;
|
||||
CoglHandle texture;
|
||||
|
||||
clutter_stage_get_color (CLUTTER_STAGE (stage), &color);
|
||||
texture = meta_create_color_texture_4ub (color.red, color.green,
|
||||
color.blue, 0xff);
|
||||
set_texture (self, texture);
|
||||
cogl_handle_unref (texture);
|
||||
}
|
||||
|
||||
static void
|
||||
on_notify_stage_color (GObject *stage,
|
||||
GParamSpec *pspec,
|
||||
MetaBackgroundActor *self)
|
||||
{
|
||||
if (!self->have_pixmap)
|
||||
set_texture_to_stage_color (self);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_background_actor_dispose (GObject *object)
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (object);
|
||||
|
||||
meta_background_actor_set_visible_region (self, NULL);
|
||||
|
||||
if (self->material != COGL_INVALID_HANDLE)
|
||||
{
|
||||
cogl_handle_unref (self->material);
|
||||
self->material = COGL_INVALID_HANDLE;
|
||||
}
|
||||
|
||||
if (self->screen != NULL)
|
||||
{
|
||||
ClutterActor *stage = meta_get_stage_for_screen (self->screen);
|
||||
g_signal_handlers_disconnect_by_func (stage,
|
||||
(gpointer) on_notify_stage_color,
|
||||
self);
|
||||
self->screen = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
meta_background_actor_get_preferred_width (ClutterActor *actor,
|
||||
gfloat for_height,
|
||||
gfloat *min_width_p,
|
||||
gfloat *natural_width_p)
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor);
|
||||
int width, height;
|
||||
|
||||
meta_screen_get_size (self->screen, &width, &height);
|
||||
|
||||
if (min_width_p)
|
||||
*min_width_p = width;
|
||||
if (natural_width_p)
|
||||
*natural_width_p = height;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_background_actor_get_preferred_height (ClutterActor *actor,
|
||||
gfloat for_width,
|
||||
gfloat *min_height_p,
|
||||
gfloat *natural_height_p)
|
||||
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor);
|
||||
int width, height;
|
||||
|
||||
meta_screen_get_size (self->screen, &width, &height);
|
||||
|
||||
if (min_height_p)
|
||||
*min_height_p = height;
|
||||
if (natural_height_p)
|
||||
*natural_height_p = height;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_background_actor_paint (ClutterActor *actor)
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor);
|
||||
guchar opacity = clutter_actor_get_paint_opacity (actor);
|
||||
int width, height;
|
||||
|
||||
meta_screen_get_size (self->screen, &width, &height);
|
||||
|
||||
cogl_material_set_color4ub (self->material,
|
||||
opacity, opacity, opacity, opacity);
|
||||
|
||||
cogl_set_source (self->material);
|
||||
|
||||
if (self->visible_region)
|
||||
{
|
||||
int n_rectangles = cairo_region_num_rectangles (self->visible_region);
|
||||
int i;
|
||||
|
||||
for (i = 0; i < n_rectangles; i++)
|
||||
{
|
||||
cairo_rectangle_int_t rect;
|
||||
cairo_region_get_rectangle (self->visible_region, i, &rect);
|
||||
|
||||
cogl_rectangle_with_texture_coords (rect.x, rect.y,
|
||||
rect.x + rect.width, rect.y + rect.height,
|
||||
rect.x / self->texture_width,
|
||||
rect.y / self->texture_height,
|
||||
(rect.x + rect.width) / self->texture_width,
|
||||
(rect.y + rect.height) / self->texture_height);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cogl_rectangle_with_texture_coords (0.0f, 0.0f,
|
||||
width, height,
|
||||
0.0f, 0.0f,
|
||||
width / self->texture_width,
|
||||
height / self->texture_height);
|
||||
}
|
||||
}
|
||||
|
||||
#if CLUTTER_CHECK_VERSION(1, 5, 2)
|
||||
static gboolean
|
||||
meta_background_actor_get_paint_volume (ClutterActor *actor,
|
||||
ClutterPaintVolume *volume)
|
||||
{
|
||||
MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor);
|
||||
int width, height;
|
||||
|
||||
meta_screen_get_size (self->screen, &width, &height);
|
||||
|
||||
clutter_paint_volume_set_width (volume, width);
|
||||
clutter_paint_volume_set_height (volume, height);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
static void
|
||||
meta_background_actor_class_init (MetaBackgroundActorClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
|
||||
|
||||
object_class->dispose = meta_background_actor_dispose;
|
||||
|
||||
actor_class->get_preferred_width = meta_background_actor_get_preferred_width;
|
||||
actor_class->get_preferred_height = meta_background_actor_get_preferred_height;
|
||||
actor_class->paint = meta_background_actor_paint;
|
||||
#if CLUTTER_CHECK_VERSION(1, 5, 2)
|
||||
actor_class->get_paint_volume = meta_background_actor_get_paint_volume;
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
meta_background_actor_init (MetaBackgroundActor *background_actor)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* @screen: the #MetaScreen
|
||||
* meta_background_actor_new:
|
||||
*
|
||||
* Creates a new actor to draw the background for the given screen.
|
||||
*
|
||||
* Return value: (transfer none): the newly created background actor
|
||||
*/
|
||||
ClutterActor *
|
||||
meta_background_actor_new (MetaScreen *screen)
|
||||
{
|
||||
MetaBackgroundActor *self;
|
||||
ClutterActor *stage;
|
||||
|
||||
g_return_val_if_fail (META_IS_SCREEN (screen), NULL);
|
||||
|
||||
self = g_object_new (META_TYPE_BACKGROUND_ACTOR, NULL);
|
||||
|
||||
self->screen = screen;
|
||||
|
||||
self->material = meta_create_texture_material (NULL);
|
||||
cogl_material_set_layer_wrap_mode (self->material, 0,
|
||||
COGL_MATERIAL_WRAP_MODE_REPEAT);
|
||||
|
||||
stage = meta_get_stage_for_screen (self->screen);
|
||||
g_signal_connect (stage, "notify::color",
|
||||
G_CALLBACK (on_notify_stage_color), self);
|
||||
|
||||
meta_background_actor_update (self);
|
||||
|
||||
return CLUTTER_ACTOR (self);
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_background_actor_update:
|
||||
* @self: a #MetaBackgroundActor
|
||||
*
|
||||
* Refetches the _XROOTPMAP_ID property for the root window and updates
|
||||
* the contents of the background actor based on that. There's no attempt
|
||||
* to optimize out pixmap values that don't change (since a root pixmap
|
||||
* could be replaced by with another pixmap with the same ID under some
|
||||
* circumstances), so this should only be called when we actually receive
|
||||
* a PropertyNotify event for the property.
|
||||
*/
|
||||
void
|
||||
meta_background_actor_update (MetaBackgroundActor *self)
|
||||
{
|
||||
MetaDisplay *display;
|
||||
MetaCompositor *compositor;
|
||||
Atom type;
|
||||
int format;
|
||||
gulong nitems;
|
||||
gulong bytes_after;
|
||||
guchar *data;
|
||||
Pixmap root_pixmap_id;
|
||||
|
||||
g_return_if_fail (META_IS_BACKGROUND_ACTOR (self));
|
||||
|
||||
display = meta_screen_get_display (self->screen);
|
||||
compositor = meta_display_get_compositor (display);
|
||||
|
||||
root_pixmap_id = None;
|
||||
if (!XGetWindowProperty (meta_display_get_xdisplay (display),
|
||||
meta_screen_get_xroot (self->screen),
|
||||
compositor->atom_x_root_pixmap,
|
||||
0, LONG_MAX,
|
||||
False,
|
||||
AnyPropertyType,
|
||||
&type, &format, &nitems, &bytes_after, &data) &&
|
||||
type != None)
|
||||
{
|
||||
/* Got a property. */
|
||||
if (type == XA_PIXMAP && format == 32 && nitems == 1)
|
||||
{
|
||||
/* Was what we expected. */
|
||||
root_pixmap_id = *(Pixmap *)data;
|
||||
}
|
||||
|
||||
XFree(data);
|
||||
}
|
||||
|
||||
if (root_pixmap_id != None)
|
||||
{
|
||||
CoglHandle texture;
|
||||
|
||||
meta_error_trap_push (display);
|
||||
texture = cogl_texture_pixmap_x11_new (root_pixmap_id, FALSE);
|
||||
meta_error_trap_pop (display);
|
||||
|
||||
if (texture != COGL_INVALID_HANDLE)
|
||||
{
|
||||
set_texture (self, texture);
|
||||
cogl_handle_unref (texture);
|
||||
|
||||
self->have_pixmap = True;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
self->have_pixmap = False;
|
||||
set_texture_to_stage_color (self);
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_background_actor_set_visible_region:
|
||||
* @self: a #MetaBackgroundActor
|
||||
* @visible_region: (allow-none): the area of the actor (in allocate-relative
|
||||
* coordinates) that is visible.
|
||||
*
|
||||
* Sets the area of the background that is unobscured by overlapping windows.
|
||||
* This is used to optimize and only paint the visible portions.
|
||||
*/
|
||||
void
|
||||
meta_background_actor_set_visible_region (MetaBackgroundActor *self,
|
||||
cairo_region_t *visible_region)
|
||||
{
|
||||
g_return_if_fail (META_IS_BACKGROUND_ACTOR (self));
|
||||
|
||||
if (self->visible_region)
|
||||
{
|
||||
cairo_region_destroy (self->visible_region);
|
||||
self->visible_region = NULL;
|
||||
}
|
||||
|
||||
if (visible_region)
|
||||
{
|
||||
cairo_rectangle_int_t screen_rect = { 0 };
|
||||
meta_screen_get_size (self->screen, &screen_rect.width, &screen_rect.height);
|
||||
|
||||
/* Doing the intersection here is probably unnecessary - MetaWindowGroup
|
||||
* should never compute a visible area that's larger than the root screen!
|
||||
* but it's not that expensive and adds some extra robustness.
|
||||
*/
|
||||
self->visible_region = cairo_region_create_rectangle (&screen_rect);
|
||||
cairo_region_intersect (self->visible_region, visible_region);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_background_actor_screen_size_changed:
|
||||
* @self: a #MetaBackgroundActor
|
||||
*
|
||||
* Called by the compositor when the size of the #MetaScreen changes
|
||||
*/
|
||||
void
|
||||
meta_background_actor_screen_size_changed (MetaBackgroundActor *self)
|
||||
{
|
||||
update_wrap_mode (self);
|
||||
clutter_actor_queue_relayout (CLUTTER_ACTOR (self));
|
||||
}
|
58
src/compositor/meta-background-actor.h
Normal file
58
src/compositor/meta-background-actor.h
Normal file
@@ -0,0 +1,58 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
/*
|
||||
* meta-background-actor.h: Actor for painting the root window background
|
||||
*
|
||||
* Copyright 2010 Red Hat, Inc.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
* 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef META_BACKGROUND_ACTOR_H
|
||||
#define META_BACKGROUND_ACTOR_H
|
||||
|
||||
#include <clutter/clutter.h>
|
||||
|
||||
#include <meta/screen.h>
|
||||
|
||||
/**
|
||||
* MetaBackgroundActor:
|
||||
*
|
||||
* This class handles tracking and painting the root window background.
|
||||
* By integrating with #MetaWindowGroup we can avoid painting parts of
|
||||
* the background that are obscured by other windows.
|
||||
*/
|
||||
|
||||
#define META_TYPE_BACKGROUND_ACTOR (meta_background_actor_get_type ())
|
||||
#define META_BACKGROUND_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_BACKGROUND_ACTOR, MetaBackgroundActor))
|
||||
#define META_BACKGROUND_ACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_BACKGROUND_ACTOR, MetaBackgroundActorClass))
|
||||
#define META_IS_BACKGROUND_ACTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_TYPE_BACKGROUND_ACTOR))
|
||||
#define META_IS_BACKGROUND_ACTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_BACKGROUND_ACTOR))
|
||||
#define META_BACKGROUND_ACTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_BACKGROUND_ACTOR, MetaBackgroundActorClass))
|
||||
|
||||
typedef struct _MetaBackgroundActor MetaBackgroundActor;
|
||||
typedef struct _MetaBackgroundActorClass MetaBackgroundActorClass;
|
||||
typedef struct _MetaBackgroundActorPrivate MetaBackgroundActorPrivate;
|
||||
|
||||
GType meta_background_actor_get_type (void);
|
||||
|
||||
ClutterActor *meta_background_actor_new (MetaScreen *screen);
|
||||
|
||||
void meta_background_actor_update (MetaBackgroundActor *actor);
|
||||
void meta_background_actor_set_visible_region (MetaBackgroundActor *self,
|
||||
cairo_region_t *visible_region);
|
||||
void meta_background_actor_screen_size_changed (MetaBackgroundActor *self);
|
||||
|
||||
#endif /* META_BACKGROUND_ACTOR_H */
|
208
src/compositor/meta-module.c
Normal file
208
src/compositor/meta-module.c
Normal file
@@ -0,0 +1,208 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008 Intel Corp.
|
||||
*
|
||||
* Author: Tomas Frydrych <tf@linux.intel.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
* 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <meta/meta-plugin.h>
|
||||
#include "meta-module.h"
|
||||
|
||||
#include <gmodule.h>
|
||||
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
PROP_PATH,
|
||||
};
|
||||
|
||||
struct _MetaModulePrivate
|
||||
{
|
||||
GModule *lib;
|
||||
gchar *path;
|
||||
GType plugin_type;
|
||||
};
|
||||
|
||||
#define META_MODULE_GET_PRIVATE(obj) \
|
||||
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), META_TYPE_MODULE, MetaModulePrivate))
|
||||
|
||||
G_DEFINE_TYPE (MetaModule, meta_module, G_TYPE_TYPE_MODULE);
|
||||
|
||||
static gboolean
|
||||
meta_module_load (GTypeModule *gmodule)
|
||||
{
|
||||
MetaModulePrivate *priv = META_MODULE (gmodule)->priv;
|
||||
MetaPluginVersion *info = NULL;
|
||||
GType (*register_type) (GTypeModule *) = NULL;
|
||||
|
||||
if (priv->lib && priv->plugin_type)
|
||||
return TRUE;
|
||||
|
||||
g_assert (priv->path);
|
||||
|
||||
if (!priv->lib &&
|
||||
!(priv->lib = g_module_open (priv->path, 0)))
|
||||
{
|
||||
g_warning ("Could not load library [%s (%s)]",
|
||||
priv->path, g_module_error ());
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (g_module_symbol (priv->lib, "meta_plugin_version",
|
||||
(gpointer *)(void *)&info) &&
|
||||
g_module_symbol (priv->lib, "meta_plugin_register_type",
|
||||
(gpointer *)(void *)®ister_type) &&
|
||||
info && register_type)
|
||||
{
|
||||
if (info->version_api != MUTTER_PLUGIN_API_VERSION)
|
||||
g_warning ("Plugin API mismatch for [%s]", priv->path);
|
||||
else
|
||||
{
|
||||
GType plugin_type;
|
||||
|
||||
if (!(plugin_type = register_type (gmodule)))
|
||||
{
|
||||
g_warning ("Could not register type for plugin %s",
|
||||
priv->path);
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
priv->plugin_type = plugin_type;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
else
|
||||
g_warning ("Broken plugin module [%s]", priv->path);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_module_unload (GTypeModule *gmodule)
|
||||
{
|
||||
MetaModulePrivate *priv = META_MODULE (gmodule)->priv;
|
||||
|
||||
g_module_close (priv->lib);
|
||||
|
||||
priv->lib = NULL;
|
||||
priv->plugin_type = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
meta_module_dispose (GObject *object)
|
||||
{
|
||||
G_OBJECT_CLASS (meta_module_parent_class)->dispose (object);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_module_finalize (GObject *object)
|
||||
{
|
||||
MetaModulePrivate *priv = META_MODULE (object)->priv;
|
||||
|
||||
g_free (priv->path);
|
||||
priv->path = NULL;
|
||||
|
||||
G_OBJECT_CLASS (meta_module_parent_class)->finalize (object);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_module_set_property (GObject *object,
|
||||
guint prop_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
MetaModulePrivate *priv = META_MODULE (object)->priv;
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_PATH:
|
||||
g_free (priv->path);
|
||||
priv->path = g_value_dup_string (value);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
meta_module_get_property (GObject *object,
|
||||
guint prop_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
MetaModulePrivate *priv = META_MODULE (object)->priv;
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_PATH:
|
||||
g_value_set_string (value, priv->path);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
meta_module_class_init (MetaModuleClass *klass)
|
||||
{
|
||||
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
||||
GTypeModuleClass *gmodule_class = G_TYPE_MODULE_CLASS (klass);
|
||||
|
||||
gobject_class->finalize = meta_module_finalize;
|
||||
gobject_class->dispose = meta_module_dispose;
|
||||
gobject_class->set_property = meta_module_set_property;
|
||||
gobject_class->get_property = meta_module_get_property;
|
||||
|
||||
gmodule_class->load = meta_module_load;
|
||||
gmodule_class->unload = meta_module_unload;
|
||||
|
||||
g_object_class_install_property (gobject_class,
|
||||
PROP_PATH,
|
||||
g_param_spec_string ("path",
|
||||
"Path",
|
||||
"Load path",
|
||||
NULL,
|
||||
G_PARAM_READWRITE |
|
||||
G_PARAM_CONSTRUCT_ONLY));
|
||||
|
||||
g_type_class_add_private (gobject_class, sizeof (MetaModulePrivate));
|
||||
}
|
||||
|
||||
static void
|
||||
meta_module_init (MetaModule *self)
|
||||
{
|
||||
MetaModulePrivate *priv;
|
||||
|
||||
self->priv = priv = META_MODULE_GET_PRIVATE (self);
|
||||
|
||||
}
|
||||
|
||||
GType
|
||||
meta_module_get_plugin_type (MetaModule *module)
|
||||
{
|
||||
MetaModulePrivate *priv = META_MODULE (module)->priv;
|
||||
|
||||
return priv->plugin_type;
|
||||
}
|
||||
|
57
src/compositor/meta-module.h
Normal file
57
src/compositor/meta-module.h
Normal file
@@ -0,0 +1,57 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008 Intel Corp.
|
||||
*
|
||||
* Author: Tomas Frydrych <tf@linux.intel.com>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
* 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef META_MODULE_H_
|
||||
#define META_MODULE_H_
|
||||
|
||||
#include <glib-object.h>
|
||||
|
||||
#define META_TYPE_MODULE (meta_module_get_type ())
|
||||
#define META_MODULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), META_TYPE_MODULE, MetaModule))
|
||||
#define META_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), META_TYPE_MODULE, MetaModuleClass))
|
||||
#define META_IS_MODULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), META_MODULE_TYPE))
|
||||
#define META_IS_MODULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), META_TYPE_MODULE))
|
||||
#define META_MODULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), META_TYPE_MODULE, MetaModuleClass))
|
||||
|
||||
typedef struct _MetaModule MetaModule;
|
||||
typedef struct _MetaModuleClass MetaModuleClass;
|
||||
typedef struct _MetaModulePrivate MetaModulePrivate;
|
||||
|
||||
struct _MetaModule
|
||||
{
|
||||
GTypeModule parent;
|
||||
|
||||
MetaModulePrivate *priv;
|
||||
};
|
||||
|
||||
struct _MetaModuleClass
|
||||
{
|
||||
GTypeModuleClass parent_class;
|
||||
};
|
||||
|
||||
|
||||
GType meta_module_get_type (void);
|
||||
|
||||
GType meta_module_get_plugin_type (MetaModule *module);
|
||||
|
||||
#endif
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user