Compare commits
	
		
			521 Commits
		
	
	
		
			3.7.4
			...
			3.10.1-way
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | c3f28b9cdb | ||
|   | dc4e1d4cd1 | ||
|   | d69553e8f5 | ||
|   | 0ead0d945a | ||
|   | c24d9bf142 | ||
|   | a6bf340ff8 | ||
|   | 35ef7c95b2 | ||
|   | 348f3007d9 | ||
|   | 52e2a1226e | ||
|   | 58622c0515 | ||
|   | cb5e1e2776 | ||
|   | e965cf32d4 | ||
|   | ce5e0b20b5 | ||
|   | 90854a0f80 | ||
|   | 2d9dc143fc | ||
|   | 1e52d2aa9c | ||
|   | 2734c8547f | ||
|   | cc0b093f7a | ||
|   | d25275fa8d | ||
|   | 389e04c715 | ||
|   | 24074a81d0 | ||
|   | c0e7f6d9bf | ||
|   | 9a13b857f4 | ||
|   | 776a86a65f | ||
|   | 76e2455d1b | ||
|   | 81d9797544 | ||
|   | 12d6c70000 | ||
|   | a7eaf43e18 | ||
|   | 514fec7275 | ||
|   | 42a5f4f479 | ||
|   | 6c1feedbdf | ||
|   | 2d21fbbd35 | ||
|   | 7baf687499 | ||
|   | a3e44d13d1 | ||
|   | 65db8efbe8 | ||
|   | e48a5cd5f2 | ||
|   | 698bb24848 | ||
|   | 67fff237e6 | ||
|   | b9247b4b2f | ||
|   | 0394b4a82b | ||
|   | ff7c85c599 | ||
|   | c316ad17a4 | ||
|   | fc108d5052 | ||
|   | 8c0d38a1a1 | ||
|   | 2f9c6c4146 | ||
|   | 72ca2b218d | ||
|   | 7360aece74 | ||
|   | b5f3238f6f | ||
|   | 227fb56103 | ||
|   | 5ae52473c9 | ||
|   | 7b537d6b8f | ||
|   | 4494888b82 | ||
|   | 004ee2d3b5 | ||
|   | 168ea64a45 | ||
|   | 73ee491281 | ||
|   | 95a9655412 | ||
|   | 72b6699efb | ||
|   | 3e341e83d9 | ||
|   | 5b3340e585 | ||
|   | 6f4f611ba8 | ||
|   | 450afbaf51 | ||
|   | 28708e4317 | ||
|   | 9f64f2cf4f | ||
|   | 2b1eb206d3 | ||
|   | a6dc454c49 | ||
|   | c2bf44fa19 | ||
|   | 2d67b01c3a | ||
|   | 6014d31dea | ||
|   | bf78f067a2 | ||
|   | ddb9929dad | ||
|   | 2098ec2d16 | ||
|   | 97eece6607 | ||
|   | 7ac9a6e241 | ||
|   | b53bf0e8c2 | ||
|   | a26ded47d9 | ||
|   | cad9e14463 | ||
|   | 806d5939e3 | ||
|   | 0f0c23fbab | ||
|   | 5d1fcc26c0 | ||
|   | cbe5b6b3bc | ||
|   | 590cf4e832 | ||
|   | 22ca820c44 | ||
|   | b1206ceb66 | ||
|   | ad4053ab84 | ||
|   | 7bd4e6ecb0 | ||
|   | deeb1db1ac | ||
|   | 7eb4bfbea3 | ||
|   | 59b274f12f | ||
|   | e311cef013 | ||
|   | e72f81c24f | ||
|   | 96fa518576 | ||
|   | e263b3624c | ||
|   | 1c34f0b342 | ||
|   | 2d27873f98 | ||
|   | fd40a12213 | ||
|   | 57406e0a9e | ||
|   | 1987cbb764 | ||
|   | 705978405b | ||
|   | daba05f6a7 | ||
|   | 1a7984be43 | ||
|   | 1b3c77d53a | ||
|   | 5b0f0d9e5b | ||
|   | 9816659fa9 | ||
|   | 3b1b611634 | ||
|   | f08921bd0c | ||
|   | 0089b5769c | ||
|   | 452be05ea0 | ||
|   | 69f038f7c7 | ||
|   | 2d35e07fae | ||
|   | 95e2d26d03 | ||
|   | f506e090ea | ||
|   | 0697b53826 | ||
|   | 7d9141c56f | ||
|   | 519a06b93d | ||
|   | 0cceddab75 | ||
|   | c9830c13b4 | ||
|   | 9a4783e364 | ||
|   | aa15c09d54 | ||
|   | 62d908be42 | ||
|   | 6526e9882b | ||
|   | ab72352c47 | ||
|   | f09b9573f0 | ||
|   | 3d3ae40f79 | ||
|   | ea3d2b4759 | ||
|   | 542a0886cf | ||
|   | bd3d5df9ce | ||
|   | 91cdfab495 | ||
|   | 1617323dca | ||
|   | bbf9358eba | ||
|   | 9682a2aea4 | ||
|   | c9fbb51775 | ||
|   | aa6d887214 | ||
|   | 13312527de | ||
|   | 9bd366f2a6 | ||
|   | 5de346bfef | ||
|   | 2af20b77b6 | ||
|   | 9affbf10a6 | ||
|   | c0acf3ae6d | ||
|   | 2c1b20e15f | ||
|   | 77290b6736 | ||
|   | 876f81db12 | ||
|   | 75f3ae14b5 | ||
|   | d26f248b0f | ||
|   | eeb3dfc991 | ||
|   | e66db2eab3 | ||
|   | 2ae7454f36 | ||
|   | 4fd3c63da9 | ||
|   | 909a6607c5 | ||
|   | 1bde397edf | ||
|   | 015c05fbf6 | ||
|   | 8ad5ccd2f8 | ||
|   | 115cc870c7 | ||
|   | 3112794d83 | ||
|   | 3528b067d0 | ||
|   | 0986b660be | ||
|   | 3bb5086173 | ||
|   | 69467842ab | ||
|   | 57077435ed | ||
|   | 46de0ed462 | ||
|   | 5086626805 | ||
|   | bbbcd8c631 | ||
|   | 3b61b85f2c | ||
|   | cd20f1bc0b | ||
|   | 8b52782ed4 | ||
|   | 849050be95 | ||
|   | 5c27a91684 | ||
|   | 764c472edb | ||
|   | d0529b7482 | ||
|   | 8f4621240a | ||
|   | e039add240 | ||
|   | dbd8d4d598 | ||
|   | 522542c486 | ||
|   | fc67c707e4 | ||
|   | c354e7e81b | ||
|   | bf40409d97 | ||
|   | 57d083730e | ||
|   | dc242e46c2 | ||
|   | 7e1d1003c9 | ||
|   | 3bb33d384f | ||
|   | 214f31257b | ||
|   | bfc87d13cb | ||
|   | 506ddc3d6c | ||
|   | 24564c77d6 | ||
|   | 18a21b67c2 | ||
|   | 3803fd9511 | ||
|   | 152d896f75 | ||
|   | 2f3a5f2001 | ||
|   | c3e8646af3 | ||
|   | 8c17b670fb | ||
|   | 0e098249b1 | ||
|   | 12d2e1f600 | ||
|   | c20b007985 | ||
|   | ef480e9120 | ||
|   | 8c1c77482d | ||
|   | e633606ca9 | ||
|   | 9a5f243f73 | ||
|   | 03f55b9485 | ||
|   | ef9ef87d91 | ||
|   | 0ee2c21da7 | ||
|   | 9b966561c4 | ||
|   | 8c0779a9db | ||
|   | 2c901cc015 | ||
|   | 85e66f69fa | ||
|   | a5585327dc | ||
|   | 268ebb1b18 | ||
|   | 40e820f551 | ||
|   | f9a11b3b18 | ||
|   | bd3c357212 | ||
|   | b4d108dac6 | ||
|   | 6585a5760b | ||
|   | 531be6c413 | ||
|   | f0c503b5a9 | ||
|   | 6fdc23d0b7 | ||
|   | 4862872c78 | ||
|   | ae2e4c5114 | ||
|   | 06b5be2d13 | ||
|   | 56fb8a81b3 | ||
|   | 90a3d613ca | ||
|   | c2af13cf31 | ||
|   | b0cf0b2442 | ||
|   | 1c569c2d0e | ||
|   | e3855c77af | ||
|   | 21fe5be026 | ||
|   | 57bc974a57 | ||
|   | 3b51405255 | ||
|   | 73dbb4b9a5 | ||
|   | 51acc3ee31 | ||
|   | a6f206f07c | ||
|   | 9504fdd2cb | ||
|   | b76c3312e9 | ||
|   | fd7db8e6b3 | ||
|   | b7840bec7d | ||
|   | f743539886 | ||
|   | 15e01152da | ||
|   | 2103ff6a5c | ||
|   | 8ab136b7ea | ||
|   | 5205821fb9 | ||
|   | 7187206ef5 | ||
|   | 96221e6c04 | ||
|   | 7fdfbad6d4 | ||
|   | 2a5b068863 | ||
|   | 0c505faded | ||
|   | b2dd4f33f7 | ||
|   | 47b21b3547 | ||
|   | c119f98bac | ||
|   | d20078574e | ||
|   | 26bd4fde5c | ||
|   | 2af49e503f | ||
|   | 6ea6af6eb4 | ||
|   | 10df80762c | ||
|   | f86032d700 | ||
|   | a8eb33f6fd | ||
|   | bd19de9429 | ||
|   | 2ca2838548 | ||
|   | df8234c5e3 | ||
|   | d03ffd801e | ||
|   | 7a4c808e43 | ||
|   | 4f1d62170b | ||
|   | e10804727d | ||
|   | e430e051b7 | ||
|   | 696d9d2fa9 | ||
|   | f6dd081acd | ||
|   | eddd6f8e9b | ||
|   | dfa4c7d670 | ||
|   | a487d4dd01 | ||
|   | c2ecdd0524 | ||
|   | 50b9042ac2 | ||
|   | f5e75de330 | ||
|   | 1ffe1eae4d | ||
|   | 970a446bd8 | ||
|   | 8880dffbdb | ||
|   | 5b6621811c | ||
|   | c2a9ccb7e2 | ||
|   | 4608cb6027 | ||
|   | ad61676af0 | ||
|   | c7c1225393 | ||
|   | c7dc6928a9 | ||
|   | 7cfaa6a6a8 | ||
|   | 673a9e2521 | ||
|   | 9ef4ac00df | ||
|   | 46f0cffa53 | ||
|   | b6203192b5 | ||
|   | 992a15e640 | ||
|   | f1620abfad | ||
|   | 591523e473 | ||
|   | 72769e113a | ||
|   | 387cb83c8a | ||
|   | 577e5e2e1a | ||
|   | 47cf63bebe | ||
|   | 0e58906194 | ||
|   | 13c7020b80 | ||
|   | 5ed6e37e3c | ||
|   | 9ed3a77102 | ||
|   | acd99927f9 | ||
|   | 13c92f63bb | ||
|   | 12400caef8 | ||
|   | a1b3fdfbd6 | ||
|   | 4b47c59a04 | ||
|   | 5d223c189c | ||
|   | c5d0923453 | ||
|   | 41f8fccf6b | ||
|   | e02ad64fef | ||
|   | 8db53af1f8 | ||
|   | defaa5876c | ||
|   | e7870cb665 | ||
|   | 64eb42023c | ||
|   | e7faef860b | ||
|   | 4dfbe9a493 | ||
|   | 6a17bb4cf5 | ||
|   | 58496de595 | ||
|   | f80a15f312 | ||
|   | 9df2d83aa0 | ||
|   | 1582448553 | ||
|   | eefa62bcd4 | ||
|   | e216b6ca0f | ||
|   | 8a33880c00 | ||
|   | 7a8c45dda8 | ||
|   | af01ddaf5d | ||
|   | 5ceffe86ee | ||
|   | 49df033b4e | ||
|   | ac3465ffbb | ||
|   | 884ab602cb | ||
|   | d944bda7b9 | ||
|   | 11f7cfb27b | ||
|   | 64358d9901 | ||
|   | 2efed44257 | ||
|   | 69c72ebb26 | ||
|   | 00a842f41b | ||
|   | 460dc9f2ef | ||
|   | be46869782 | ||
|   | 2863eba2e7 | ||
|   | e0b698d365 | ||
|   | edeac1de09 | ||
|   | 9281a1c191 | ||
|   | a3826987e6 | ||
|   | e46c7fd27b | ||
|   | 0bb8d29be4 | ||
|   | 1f905bd0e2 | ||
|   | cce5ad7cc0 | ||
|   | 97a4cc8c9b | ||
|   | 592374bc62 | ||
|   | 2e0f979613 | ||
|   | 6d365a700c | ||
|   | 72a9eb6a3e | ||
|   | ae3cfe6c01 | ||
|   | da557cb712 | ||
|   | c1e41d558f | ||
|   | 889844b004 | ||
|   | 6311a3ebc1 | ||
|   | 0f6c1db2ba | ||
|   | e6ec1abbfa | ||
|   | 42621c960e | ||
|   | 8e9ae2eb50 | ||
|   | ca7843372c | ||
|   | 1202714428 | ||
|   | 45addabe5d | ||
|   | 31abad0ea5 | ||
|   | c169d29836 | ||
|   | df8ad83cec | ||
|   | 381a9c2650 | ||
|   | dc3529d98a | ||
|   | e15bc37225 | ||
|   | 160150d127 | ||
|   | 6e02fb80c4 | ||
|   | 98b0a37442 | ||
|   | 4d437e32e0 | ||
|   | 7db236b2a4 | ||
|   | 377e2ed8a5 | ||
|   | 99cfbac473 | ||
|   | 34f06ee9e5 | ||
|   | f212723e71 | ||
|   | 660eceb61a | ||
|   | d395d75e26 | ||
|   | 2aea49a8d0 | ||
|   | c996dde5cb | ||
|   | 4bdd985faf | ||
|   | 6e831c88a6 | ||
|   | 0e3d164117 | ||
|   | ec6460382c | ||
|   | 436d3ff8a9 | ||
|   | e4269002ce | ||
|   | 4f2bb583bf | ||
|   | 702f3fc691 | ||
|   | 4cad9513b4 | ||
|   | 24974816a6 | ||
|   | 773ae8dc65 | ||
|   | 7f14298126 | ||
|   | a39cabfadb | ||
|   | 4df3e987c6 | ||
|   | 64c523c534 | ||
|   | fba2c49aae | ||
|   | e623406c99 | ||
|   | de36d51b91 | ||
|   | e6d5e98c9d | ||
|   | 832b7f9431 | ||
|   | 171a273d11 | ||
|   | 45b0765f2f | ||
|   | 2a773e0c85 | ||
|   | b5152c3327 | ||
|   | d4f8c29221 | ||
|   | 1b83e8a64c | ||
|   | 36eb5c305d | ||
|   | c72dbeb611 | ||
|   | 63aec4566d | ||
|   | 2cafb8be2d | ||
|   | 64544fa0ed | ||
|   | 51ccaaaff0 | ||
|   | b09f47d17f | ||
|   | 1dbefc4e36 | ||
|   | 7f6a77232f | ||
|   | 580feb0c85 | ||
|   | 842bc4421c | ||
|   | aba87407e9 | ||
|   | 112ef93e19 | ||
|   | c4efd1c789 | ||
|   | 7e61ef0936 | ||
|   | e9709b7ff9 | ||
|   | 027593faa5 | ||
|   | 491c5b622e | ||
|   | 5e9621ed80 | ||
|   | f5de1c78af | ||
|   | b0774d795c | ||
|   | 034ab77c30 | ||
|   | a6a9d3f448 | ||
|   | a215852d3c | ||
|   | 264a0bbd15 | ||
|   | 55a4d0e0cb | ||
|   | d900d83522 | ||
|   | e8b0c11703 | ||
|   | 3d337a98d9 | ||
|   | 3e38a48c40 | ||
|   | 5876f2e3e5 | ||
|   | aeb589c176 | ||
|   | 14dd766e11 | ||
|   | 24ff4b5622 | ||
|   | 7f3362bdce | ||
|   | 6b5cf2eb61 | ||
|   | fb0cd80332 | ||
|   | 579bf2105e | ||
|   | 995e8040dd | ||
|   | 0503f6bb9a | ||
|   | 87fe9685b5 | ||
|   | 2d9b8bb2d0 | ||
|   | 74b1a9e2b9 | ||
|   | fcc178ee8c | ||
|   | d8696c17be | ||
|   | b07aea467e | ||
|   | 04ef448927 | ||
|   | 790bfcad9a | ||
|   | fbfab93c63 | ||
|   | 70c0d39fa7 | ||
|   | 7d43bde019 | ||
|   | 7743c70d47 | ||
|   | c9343e3ee3 | ||
|   | 3abaf506a6 | ||
|   | 9de142db09 | ||
|   | 2942b22ccf | ||
|   | 94e6e55ef7 | ||
|   | 34fc234fd7 | ||
|   | c3ffd28bb6 | ||
|   | 1c680be11a | ||
|   | a362c08f4e | ||
|   | 380154af0a | ||
|   | d482590c84 | ||
|   | b3c572b8e3 | ||
|   | c64eb94724 | ||
|   | d8f569eaf5 | ||
|   | 57c31a56f4 | ||
|   | 8b21df92f0 | ||
|   | e914595062 | ||
|   | a2a3188331 | ||
|   | 453020c315 | ||
|   | d794db876a | ||
|   | b33b4a8e2c | ||
|   | 6f74a63bbd | ||
|   | 5298d1c8d0 | ||
|   | 493f619adc | ||
|   | a613a55658 | ||
|   | 3fe5a676c2 | ||
|   | 19420f147f | ||
|   | 32b7743735 | ||
|   | 093e101252 | ||
|   | 6f873be7fa | ||
|   | f37dd25e92 | ||
|   | d48df249c9 | ||
|   | e48c3dac87 | ||
|   | 3516902fae | ||
|   | 66185a468c | ||
|   | 84930f1d78 | ||
|   | 07273a075d | ||
|   | 3900aa10f8 | ||
|   | d8058138ab | ||
|   | ac49259fc7 | ||
|   | 12dbb90a5a | ||
|   | 90f2a3ae4c | ||
|   | 867e10dbcc | ||
|   | 9a57626556 | ||
|   | b9e21b76ae | ||
|   | 2ecc50af53 | ||
|   | 1cebe19bbe | ||
|   | 71055556ee | ||
|   | 4d9d66da65 | ||
|   | 30bdadb519 | ||
|   | c388ccf477 | ||
|   | a2d54bb2ab | ||
|   | cefadb55b1 | ||
|   | 06e31e4c03 | ||
|   | 869a137c2f | ||
|   | f4e4a05a9e | ||
|   | df15843407 | ||
|   | d8eb47e2b7 | ||
|   | e28a36affd | ||
|   | 53534b4ded | ||
|   | 079dd60e3d | ||
|   | 5d12f00b3b | ||
|   | 95f3bb3b81 | ||
|   | 2bfe6d2da5 | ||
|   | 27e0e44d8b | ||
|   | 7e5fb3e1a0 | ||
|   | 2ac17cc7ba | ||
|   | 7b32b7fcd1 | 
							
								
								
									
										38
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										38
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -23,7 +23,7 @@ src/50-mutter-navigation.xml | ||||
| src/50-mutter-system.xml | ||||
| src/50-mutter-windows.xml | ||||
| src/mutter-wm.desktop | ||||
| src/mutter.desktop | ||||
| src/mutter-wayland.desktop | ||||
| *.o | ||||
| *.a | ||||
| *.lo | ||||
| @@ -46,13 +46,13 @@ POTFILES | ||||
| po/*.pot | ||||
| 50-metacity-desktop-key.xml | ||||
| 50-metacity-key.xml | ||||
| inlinepixbufs.h | ||||
| libmutter.pc | ||||
| mutter | ||||
| mutter-theme-viewer | ||||
| mutter.desktop | ||||
| libmutter-wayland.pc | ||||
| mutter-wayland | ||||
| mutter-launch | ||||
| org.gnome.mutter.gschema.valid | ||||
| org.gnome.mutter.gschema.xml | ||||
| org.gnome.mutter.wayland.gschema.valid | ||||
| org.gnome.mutter.wayland.gschema.xml | ||||
| testasyncgetprop | ||||
| testboxes | ||||
| testgradient | ||||
| @@ -62,6 +62,7 @@ mutter-message | ||||
| mutter-window-demo | ||||
| focus-window | ||||
| test-attached | ||||
| test-focus | ||||
| test-gravity | ||||
| test-resizing | ||||
| test-size-hints | ||||
| @@ -74,4 +75,29 @@ src/mutter-enum-types.[ch] | ||||
| src/stamp-mutter-enum-types.h | ||||
| src/mutter-marshal.[ch] | ||||
| src/stamp-mutter-marshal.h | ||||
| src/meta-dbus-xrandr.[ch] | ||||
| src/meta-dbus-idle-monitor.[ch] | ||||
| src/mutter-plugins.pc | ||||
| src/wayland/gtk-shell-protocol.c | ||||
| src/wayland/gtk-shell-client-protocol.h | ||||
| src/wayland/gtk-shell-server-protocol.h | ||||
| src/wayland/xserver-protocol.c | ||||
| src/wayland/xserver-client-protocol.h | ||||
| src/wayland/xserver-server-protocol.h | ||||
| doc/reference/*.args | ||||
| doc/reference/*.bak | ||||
| doc/reference/*.hierarchy | ||||
| doc/reference/*.interfaces | ||||
| doc/reference/*.prerequisites | ||||
| doc/reference/*.signals | ||||
| doc/reference/*.stamp | ||||
| doc/reference/html/ | ||||
| doc/reference/xml/ | ||||
| doc/reference/meta-decl-list.txt | ||||
| doc/reference/meta-decl.txt | ||||
| doc/reference/meta-overrides.txt | ||||
| doc/reference/meta-undeclared.txt | ||||
| doc/reference/meta-undocumented.txt | ||||
| doc/reference/meta-unused.txt | ||||
| doc/reference/meta-docs.sgml | ||||
| doc/reference/meta.types | ||||
|   | ||||
| @@ -1,6 +1,8 @@ | ||||
|  | ||||
| SUBDIRS=src po doc | ||||
| SUBDIRS=src protocol po doc | ||||
|  | ||||
| EXTRA_DIST = HACKING MAINTAINERS rationales.txt | ||||
|  | ||||
| DISTCLEANFILES = intltool-extract intltool-merge intltool-update po/stamp-it po/.intltool-merge-cache | ||||
|  | ||||
| DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc | ||||
|   | ||||
							
								
								
									
										288
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										288
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,3 +1,291 @@ | ||||
| 3.10.1 | ||||
| ====== | ||||
| * Don't apply fullscreen workarounds to CSD windows [Giovanni; #708718] | ||||
| * Fix hangs during DND operations [Adel; #709340] | ||||
| * Misc bug fixes [Dan, Giovanni, Jasper; #708813, #708420] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Adel Gadllah, Dan Horák, Hans Petter Jansson, | ||||
|   Jasper St. Pierre | ||||
|  | ||||
| 3.10.0.1 | ||||
| ======== | ||||
| * Fix bug when a window changed size twice in a single frame - this | ||||
|   can happen with GTK+ client-side decorations [Giovanni, Owen; #708367] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Owen Taylor | ||||
|  | ||||
| 3.10.0 | ||||
| ====== | ||||
| * Update dependencies [Giovanni; #708210] | ||||
|  | ||||
| 3.9.92 | ||||
| ====== | ||||
| * Constrain the pointer position onto visible monitors [Giovanni; #706655] | ||||
| * Fix keyboard state handling in face of event compression [Giovanni; #706963] | ||||
| * Extend the MetaCursorTracker API with query pointer and cursor visibility [Giovanni; #707474] | ||||
| * Be stricter in checking and exposing the wayland protocol version [#707851] | ||||
| * Don't require plugins to pass event to Clutter [Giovanni; #707482] | ||||
| * Move the --wayland option from the binary to the library [Giovanni; #707897] | ||||
| * Implement running from gnome-session (environment variable setting, process group | ||||
|   handling, Clutter backend variables) [Giovanni; #706421] | ||||
| * Add support for more cursor types [Giovanni; #707919] | ||||
| * Drop man pages for removed utilities [Kalev; #706579] | ||||
| * Implement monitor configuration on KMS [Giovanni; #706308] | ||||
| * Implement HW cursors [Giovanni; #707573] | ||||
| * Implement minimal support for resizing and maximizing wayland clients [Giovanni; #707401] | ||||
| * Implement transient hints for wayland clients [Giovanni; #707401] | ||||
| * Implement popup menu surfaces and grabs [Giovanni; #707863] | ||||
| * Immediately fire idle watches that are already expired [Giovanni; #707302] | ||||
| * Remove holes generated by disabling the laptop lid [Giovanni; #707473] | ||||
| * Misc bug fixes [Giovanni, Pavel, Adel; #707649, #706124, #707584, #707851, #707929, | ||||
|   #708070] | ||||
|  | ||||
| Contributors: | ||||
|   Adel Gadllah, Giovanni Campagna, Kalev Lember, Pavel Vasin | ||||
|  | ||||
| Translations: | ||||
|   Мирослав Николић po/sr, sr@latin.po, Мирослав Николић [sr, sr@latin], | ||||
|   Chao-Hsiung Liao [zh_HK, zh_TW], Yuri Myasoedov [ru], | ||||
|   Ville-Pekka Vainio [fi], Changwoo Ryu [ko], A S Alam [pa], | ||||
|   Mattias Põldaru [et], Rūdolfs Mazurs [lv], Ihar Hrachyshka [be], | ||||
|   Nilamdyuti Goswami [as], Andika Triwidada [id], Baurzhan Muftakhidinov [kk], | ||||
|   Benjamin Steinwender [de] | ||||
|  | ||||
| 3.9.91 | ||||
| ====== | ||||
| * Drop man pages for removed utilities [Kalev; #706579] | ||||
| * Add support for idle tracking [Giovanni, Cosimo; #706005, #707250] | ||||
| * Skip CRTC reconfigurations that have no effect [Giovanni; #706672] | ||||
| * Ignore skip-taskbar hints on parentless dialogs [Giovanni; #673399] | ||||
| * Don't save pixbuf data in user data [Tim; #706777] | ||||
| * Don't queue redraws for obscured regions [Adel; #703332] | ||||
| * Suppor the opaque region hints for wayland clients [Jasper; #707019] | ||||
| * Turn blending off when drawing entirely opaque regions [Jasper; #707019] | ||||
| * Check event timestamps before reconfiguring [Giovanni; #706735] | ||||
| * Merge the DBus API for display configuration in the wayland branch [Giovanni] | ||||
| * Install an X IO error handler for XWayland [Giovanni; #706962] | ||||
| * Use the clutter xkbcommon integration for the wayland keyboard [Giovanni; #705862] | ||||
| * Add a setuid helper for running on KMS+evdev [Giovanni, Colin; #705861] | ||||
| * Add keybindings for switching VT [Giovanni; #705861] | ||||
| * Implement plugin modality when running as a wayland compositor [Giovanni; #705917] | ||||
| * Add support for the application menu for wayland clients [Giovanni; #707128] | ||||
| * Several Coverity spotted fixes [Jasper] | ||||
| * Don't create a dummy texture for the texture template [Neil; #707458] | ||||
| * Use a more conservative paint volume for obscured windows [Adel] | ||||
| * Misc bug fixes [Giovanni, Colin, Seán, Jasper, Cosimo; #706582, #706598, | ||||
|   #706787, #706729, #706825, #707081, #707090, #707267, #706982, #706289] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Cosimo Cecchi, Adel Gadllah, Colin Guthrie, Kalev Lember, | ||||
|   Tim Lunn, Jasper St. Pierre, Neil Roberts, Rico Tzschichholz, Seán de Búrca | ||||
|  | ||||
| Translations: | ||||
|   Piotr Drąg [pl], Alexandre Franke [fr], Kjartan Maraas [nb], | ||||
|   Milo Casagrande [it], Balázs Úr [hu], Seán de Búrca [ga], Fran Diéguez [gl], | ||||
|   Daniel Mustieles [es], Aurimas Černius [lt], Gil Forcada [ca] | ||||
|  | ||||
| 3.9.90 | ||||
| ====== | ||||
| * First release from the wayland branch, includes basic support for running | ||||
|   as a wayland compositor [Robert, Neil, Giovanni] | ||||
| * Add support for _GTK_FRAME_EXTENTS [Jasper; #705766] | ||||
| * Fix quick consecutive <super> presses breaking keyboard input [Alban; #666101] | ||||
| * Work towards running as wayland compositor [Giovanni] | ||||
|  - Add DBus API for display configuration | ||||
|    [#705670, #706231, #706233, #706322, #706382] | ||||
|  - Add abstraction layer for cursor tracking [#705911] | ||||
|  - Add support for plugin modality under wayland [#705917] | ||||
| * Disable GTK+ scaling [Alexander; #706388] | ||||
| * Disable blending while updating tower [Robert] | ||||
| * Misc bug fixes and cleanups [Adel, Jasper, Giovanni, Colin, Rico, Florian; | ||||
|   #703332, #704437, #706207] | ||||
|  | ||||
| Contributors: | ||||
|   Robert Bragg, Giovanni Campagna, Alban Crequy, Adel Gadllah, | ||||
|   Alexander Larsson, Florian Müllner, Jasper St. Pierre, Neil Roberts, | ||||
|   Rico Tzschichholz, Colin Walters | ||||
|  | ||||
| Translations: | ||||
|   Jiro Matsuzawa [ja], Kjartan Maraas [nb], Matej Urbančič [sl], | ||||
|   Marek Černocký [cs], Daniel Mustieles [es], Rafael Ferreira [pt_BR], | ||||
|   Yaron Shahrabani [he], Ján Kyselica [sk] | ||||
|  | ||||
| 3.9.5 | ||||
| ===== | ||||
| * Don't select for touch events on the stage [Jasper; #697192] | ||||
| * Don't queue redraws for obscured regions [Adel; #703332] | ||||
| * Export timestamp of global keybinding events [Bastien; #704858] | ||||
| * Misc bug fixes and cleanups [Jasper, Rico; #703970] | ||||
|  | ||||
| Contributors: | ||||
|   Adel Gadllah, Bastien Nocera, Jasper St. Pierre, Rico Tzschichholz | ||||
|  | ||||
| 3.9.4 | ||||
| ===== | ||||
| * Tweak window shadows [Allan; #702141] | ||||
| * Ignore our own focus events for focus prediction [Jasper; #701017] | ||||
| * Add API to query if the stage is focused [Jasper; #700735] | ||||
| * Add API to query the monitor for a given position [Adel] | ||||
| * Don't force attached dialogs to be border-only [Florian; #702764] | ||||
| * Allow slicing of backgrounds to avoid texture size limits [Ray; #702283] | ||||
| * Miscellaneous bug fixes and cleanups [Adel; #701224, #702564] | ||||
|  | ||||
| Contributors: | ||||
|   Allan Day, Adel Gadllah, Florian Müllner, Jasper St. Pierre, Ray Strode | ||||
|  | ||||
| 3.9.3 | ||||
| ===== | ||||
| * Ensure events are always reported to the grab window [Rui; #701219] | ||||
| * Use new clutter_stage_set_paint_callback() function to prevent dropping | ||||
|   frames with frame synced toolkits [Owen; #698794] | ||||
|  | ||||
| Contributors: | ||||
|   Rui Matos, Owen W. Taylor | ||||
|  | ||||
| 3.9.2 | ||||
| ===== | ||||
| * Add meta_window_can_close() function [Jasper; #699269] | ||||
| * Add support for string-array preferences [Florian; #700223] | ||||
| * Fix a potential race condition with _NET_WM_MOVERESIZE [Jasper; #699777] | ||||
| * Fix shade window action [Stef; #693714] | ||||
| * Remove overlay_group [Giovanni; #700735] | ||||
| * Improve tracking of the focus window [Dan, Jasper; #647706] | ||||
| * Add API to freeze/unfreeze the keyboard [Rui; #697001] | ||||
| * Grab and emit a signal when XK_ISO_Next_Group is pressed [Rui; #697002] | ||||
| * Misc bug fixes and cleanups [Dieter, Jasper, Rui; #699636, #700735, #697000] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Rui Matos, Florian Müllner, Jasper St. Pierre, | ||||
|   Dieter Verfaillie, Stef Walter, Dan Winship | ||||
|  | ||||
| Translations: | ||||
|   Kjartan Maraas [nb], Ján Kyselica [sk] | ||||
|  | ||||
| 3.9.1 | ||||
| ===== | ||||
| * Fix miscellaneous memory leaks [Pavel; #698710] | ||||
| * Misc fixes and cleanups [Stef, Simon; #698179, #697758] | ||||
|  | ||||
| Contributors: | ||||
|   Simon McVittie, Pavel Vasin, Stef Walter | ||||
|  | ||||
| 3.8.1 | ||||
| ===== | ||||
| * Fix crash when getting default font [Bastien; #696814] | ||||
| * Fix ungrabbing of keybindings [Rui; #697003] | ||||
| * Misc fixes and cleanups [Jasper, Simon; #697758] | ||||
|  | ||||
| Contributors: | ||||
|   Jasper Lievisse Adriaanse, Rui Matos, Simon McVittie, Bastien Nocera | ||||
|  | ||||
| Translations: | ||||
|   Guillaume Desmottes [fr], Shankar Prasad [kn], Bruce Cowan [en_GB], | ||||
|   Andika Triwidada [id], Yaron Shahrabani [he], Kjartan Maraas [nb], | ||||
|   Gheyret Kenji [ug] | ||||
|  | ||||
| 3.8.0 | ||||
| ===== | ||||
| * Address major memory leak when changing backgrounds [Ray; #696157] | ||||
|  | ||||
| Contributors: | ||||
|   Ray Strode | ||||
|  | ||||
| Translations: | ||||
|   Sandeep Sheshrao Shedmake [mr], Victor Ibragimov [tg], Gabor Kelemen [hu], | ||||
|   Ville-Pekka Vainio [fi], Rajesh Ranjan [hi], Dr.T.Vasudevan [ta], | ||||
|   ManojKumar Giri [or], Yuri Myasoedov [ru], Petr Kovar [cs], | ||||
|   Jiro Matsuzawa [ja], Krishnababu Krothapalli [te], Ani Peter [ml], | ||||
|   Inaki Larranaga Murgoitio [eu] | ||||
|  | ||||
| 3.7.92 | ||||
| ====== | ||||
| * Build and improve reference docs [Tomeu; #676856, #695641, #695935] | ||||
| * Add tracking of whether there are fullscreen windows [Owen; 649748] | ||||
| * Misc bug fixes and cleanups [Adel, Giovanni, Owen, Jasper, Florian; #695269, | ||||
|   #695711, #694046, #695813, #695881, #676856, #696053, #682779, #696089, | ||||
|   #696091, #696087] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Adel Gadllah, Florian Müllner, Jasper St. Pierre, | ||||
|   Tomeu Vizoso, Owen W. Taylor | ||||
|  | ||||
| Translations: | ||||
|   Chao-Hsiung Liao [zh_HK, zh_TW], Rafael Ferreira [pt_BR], | ||||
|   Ihar Hrachyshka [be], Nilamdyuti Goswami [as], Matej Urbančič [sl], | ||||
|   Dimitris Spingos [el], Jan Kyselica [sk], Khaled Hosny [ar], | ||||
|   Мирослав Николић [sr, sr@latin], Duarte Loreto [pt], Sweta Kothari [gu], | ||||
|   Milo Casagrande [it], Changwoo Ryu [ko], Gil Forcada [ca], | ||||
|   Carles Ferrando [ca@valencia], Mattias Põldaru [et], Alexandre Franke [fr], | ||||
|   Ask H. Larsen [da], Rūdolfs Mazurs [lv], Nguyễn Thái Ngọc Duy [vi] | ||||
|  | ||||
| 3.7.91 | ||||
| ====== | ||||
| * Fix windows being treated as remote after hostname changes [Ray; #688716] | ||||
| * Add meta_window_get_all_monitors() method [Adel; #646861] | ||||
| * Add grab API for externally defined accelerators [Florian; #643111] | ||||
| * Make session registration an explicit step [Ray; #694876] | ||||
| * Avoid unnecessary stage redraws [Adel; #694988, #695006] | ||||
| * Misc fixes [Giovanni, Ray, Jasper, Rui, Pavel, Owen; #694801, #694725, | ||||
|   #694641, #694393, #678917, #695093, #694837, #695135, #694771, #694321] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Adel Gadllah, Rui Matos, Florian Müllner, | ||||
|   Jasper St. Pierre, Ray Strode, Owen Taylor, Pavel Vasin | ||||
|  | ||||
| Translations: | ||||
|   Daniel Mustieles [es], Yaron Shahrabani [he], A S Alam [pa], Piotr Drąg [pl], | ||||
|   Gheyret Kenji [ug], Alexandre Franke [fr], Milo Casagrande [it], | ||||
|   Fran Diéguez [gl], Dimitris Spingos [el], Мирослав Николић [sr, sr@latin], | ||||
|   Chao-Hsiung Liao [zh_HK, zh_TW], Nguyễn Thái Ngọc Duy [vi], | ||||
|   Aurimas Černius [lt], Mario Blättermann [de], Kjartan Maraas [nb] | ||||
|  | ||||
| 3.7.90 | ||||
| ====== | ||||
| * Support _NET_WM_OPAQUE_REGION [Jasper, Adel; #679901] | ||||
| * Add wrapper for XI2.3 pointer barriers [Jasper; #677215] | ||||
| * Update style of resize popups [Cosimo; #692741] | ||||
| * Implement compositor <-> application frame synchronization [Owen; #685463] | ||||
| * Handle animated backgrounds [Ray; #682427] | ||||
| * Add a new window group for override-redirect windows [Gayan; #633620] | ||||
| * Pass on pointer events on guard window to Clutter [Jasper; #681540] | ||||
| * Show correct shortcut in window menus [Giovanni; #694045] | ||||
| * Don't put minimized windows at the back of alt-tab [Jasper; #693991] | ||||
| * Misc bug fixes and cleanups [Jasper, Rico, Adel, Florian, Rui, Giovanni, | ||||
|   Owen; #692679, #693354, #690581, #693439, #692718, #693475, #693482, #693540, | ||||
|   #690580, #680990, #693833, #693922, #693854, #694224] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Cosimo Cecchi, Adel Gadllah, Rui Matos, Florian Müllner, | ||||
|   Gayan Perera, Jasper St. Pierre, Ray Strode, Owen Taylor, Rico Tzschichholz | ||||
|  | ||||
| Translations: | ||||
|   Fran Diéguez [gl], A S Alam [pa], Alexandre Franke [fr], Aurimas Černius [lt], | ||||
|   Мирослав Николић [sr, sr@latin], Fran Diéguez [gl], Piotr Drąg [pl], | ||||
|   Luca Ferretti [it], Daniel Mustieles [es] | ||||
|  | ||||
| 3.7.5 | ||||
| ===== | ||||
| * Don't allow multiline window titles [Jon; #683056] | ||||
| * Make meta_window_located_on_workspace() public [Jasper; #691744] | ||||
| * Request XI2.3 [Colin; #692877] | ||||
| * Add meta_window_set_icon_geometry() method [Florian; #692997] | ||||
| * Require XFixes 5.0 [Jasper; #677215] | ||||
| * Change unredirection hints to match spec changes [Adel; #693064] | ||||
| * Improve unredict heuristicts [Adel; #683786] | ||||
| * Misc bug fixes and cleanups [Florian, Jasper, Adel; #691874, #679901, | ||||
|   #692952, #693042] | ||||
|  | ||||
| Contributors: | ||||
|   Adel Gadllah, William Jon McCann, Florian Müllner, Jasper St. Pierre, | ||||
|   Colin Walters | ||||
|  | ||||
| Translations: | ||||
|   Daniel Mustieles [es], Ihar Hrachyshka [be], Nilamdyuti Goswami [as], | ||||
|   Gheyret Kenji [ug], Kjartan Maraas [nb], Yaron Shahrabani [he], | ||||
|   Piotr Drąg [pl], Chao-Hsiung Liao [zh_HK,zh_TW], Milo Casagrande [it] | ||||
|  | ||||
| 3.7.4 | ||||
| ===== | ||||
| * Add support for bypass compositor hints [Adel; #683020] | ||||
|   | ||||
| @@ -5,7 +5,7 @@ srcdir=`dirname $0` | ||||
| test -z "$srcdir" && srcdir=. | ||||
|  | ||||
| PKG_NAME="mutter" | ||||
| REQUIRED_AUTOMAKE_VERSION=1.10 | ||||
| REQUIRED_AUTOMAKE_VERSION=1.13 | ||||
|  | ||||
| (test -f $srcdir/configure.ac \ | ||||
|   && test -d $srcdir/src) || { | ||||
|   | ||||
							
								
								
									
										84
									
								
								configure.ac
									
									
									
									
									
								
							
							
						
						
									
										84
									
								
								configure.ac
									
									
									
									
									
								
							| @@ -1,8 +1,8 @@ | ||||
| AC_PREREQ(2.50) | ||||
|  | ||||
| m4_define([mutter_major_version], [3]) | ||||
| m4_define([mutter_minor_version], [7]) | ||||
| m4_define([mutter_micro_version], [4]) | ||||
| m4_define([mutter_minor_version], [10]) | ||||
| m4_define([mutter_micro_version], [1]) | ||||
|  | ||||
| m4_define([mutter_version], | ||||
|           [mutter_major_version.mutter_minor_version.mutter_micro_version]) | ||||
| @@ -15,10 +15,14 @@ AC_INIT([mutter], [mutter_version], | ||||
| AC_CONFIG_SRCDIR(src/core/display.c) | ||||
| AC_CONFIG_HEADERS(config.h) | ||||
|  | ||||
| AM_INIT_AUTOMAKE([1.11 no-dist-gzip dist-xz tar-ustar]) | ||||
| AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz tar-ustar]) | ||||
| m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])],) | ||||
| AM_MAINTAINER_MODE([enable]) | ||||
|  | ||||
| # Change pkglibdir and pkgdatadir to mutter-wayland instead of mutter | ||||
| PACKAGE="mutter-wayland" | ||||
| AC_SUBST([PACKAGE], [$PACKAGE]) | ||||
|  | ||||
| MUTTER_MAJOR_VERSION=mutter_major_version | ||||
| MUTTER_MINOR_VERSION=mutter_minor_version | ||||
| MUTTER_MICRO_VERSION=mutter_micro_version | ||||
| @@ -34,7 +38,7 @@ AC_SUBST(MUTTER_PLUGIN_DIR) | ||||
| # Honor aclocal flags | ||||
| AC_SUBST(ACLOCAL_AMFLAGS, "\${ACLOCAL_FLAGS}") | ||||
|  | ||||
| GETTEXT_PACKAGE=mutter | ||||
| GETTEXT_PACKAGE=mutter-wayland | ||||
| AC_SUBST(GETTEXT_PACKAGE) | ||||
| AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[Name of default gettext domain]) | ||||
|  | ||||
| @@ -71,10 +75,12 @@ MUTTER_PC_MODULES=" | ||||
|    gio-2.0 >= 2.25.10 | ||||
|    pango >= 1.2.0 | ||||
|    cairo >= 1.10.0 | ||||
|    gsettings-desktop-schemas >= 3.3.0 | ||||
|    gsettings-desktop-schemas >= 3.7.3 | ||||
|    xcomposite >= 0.2 xfixes xrender xdamage xi >= 1.6.0 | ||||
|    $CLUTTER_PACKAGE >= 1.9.10 | ||||
|    cogl-1.0 >= 1.9.6 | ||||
|    $CLUTTER_PACKAGE >= 1.15.94 | ||||
|    cogl-1.0 >= 1.13.3 | ||||
|    upower-glib > 0.9.11 | ||||
|    gnome-desktop-3.0 | ||||
| " | ||||
|  | ||||
| GLIB_GSETTINGS | ||||
| @@ -113,14 +119,32 @@ AC_ARG_ENABLE(shape, | ||||
|                  [disable mutter's use of the shaped window extension]),, | ||||
|   enable_shape=auto) | ||||
|  | ||||
| ## Wayland support requires the xserver.xml protocol extension found in the weston | ||||
| ## repository but since there aren't currently established conventions for | ||||
| ## installing and discovering these we simply require a location to be given | ||||
| ## explicitly... | ||||
| AC_ARG_WITH([wayland-protocols], | ||||
|             [AS_HELP_STRING([--with-wayland-protocols], [Location for wayland extension protocol specs])], | ||||
|             [ | ||||
|             ], | ||||
|             []) | ||||
|  | ||||
| AC_ARG_WITH([xwayland-path], | ||||
|             [AS_HELP_STRING([--with-xwayland-path], [Absolute path for an X Wayland server])], | ||||
|             [XWAYLAND_PATH="$withval"], | ||||
|             [XWAYLAND_PATH="$bindir/Xorg"]) | ||||
|  | ||||
| AM_GLIB_GNU_GETTEXT | ||||
|  | ||||
| ## here we get the flags we'll actually use | ||||
| # 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) | ||||
| PKG_CHECK_MODULES(MUTTER_WINDOW_DEMO, gtk+-3.0) | ||||
| PKG_CHECK_MODULES(MUTTER_LAUNCH, libdrm libsystemd-login) | ||||
|  | ||||
| saved_LIBS="$LIBS" | ||||
| LIBS="$LIBS $MUTTER_LAUNCH" | ||||
| AC_CHECK_FUNCS([sd_session_get_vt]) | ||||
| LIBS="$saved_LIBS" | ||||
|  | ||||
| # Unconditionally use this dir to avoid a circular dep with gnomecc | ||||
| GNOME_KEYBINDINGS_KEYSDIR="${datadir}/gnome-control-center/keybindings" | ||||
| @@ -185,22 +209,23 @@ if test x$found_introspection != xno; then | ||||
|   AC_SUBST(META_GIR) | ||||
| fi | ||||
|  | ||||
| AC_MSG_CHECKING([Xcursor]) | ||||
| if $PKG_CONFIG xcursor; then | ||||
|      have_xcursor=yes | ||||
|   else | ||||
|      have_xcursor=no | ||||
|   fi | ||||
|   AC_MSG_RESULT($have_xcursor) | ||||
| MUTTER_PC_MODULES="$MUTTER_PC_MODULES xcursor" | ||||
|  | ||||
| if test x$have_xcursor = xyes; then | ||||
|   echo "Building with Xcursor" | ||||
|   MUTTER_PC_MODULES="$MUTTER_PC_MODULES xcursor" | ||||
|   AC_DEFINE(HAVE_XCURSOR, , [Building with Xcursor support]) | ||||
| fi | ||||
| # We always build with wayland enabled | ||||
| AC_DEFINE(HAVE_WAYLAND, , [Building with Wayland support]) | ||||
|  | ||||
| AC_PATH_PROG([WAYLAND_SCANNER],[wayland-scanner],[no]) | ||||
| AS_IF([test "x$WAYLAND_SCANNER" = "xno"], | ||||
|   AC_MSG_ERROR([Could not find wayland-scanner in your PATH, required for parsing wayland extension protocols])) | ||||
| AC_SUBST([WAYLAND_SCANNER]) | ||||
| AC_SUBST(XWAYLAND_PATH) | ||||
|  | ||||
| MUTTER_PC_MODULES="$MUTTER_PC_MODULES clutter-wayland-1.0 clutter-wayland-compositor-1.0 clutter-egl-1.0 wayland-server libdrm" | ||||
| PKG_CHECK_MODULES(MUTTER, $MUTTER_PC_MODULES) | ||||
|  | ||||
| PKG_CHECK_EXISTS([xi >= 1.6.99.1], | ||||
|                  AC_DEFINE([HAVE_XI23],[1],[Define if you have support for XInput 2.3 or greater])) | ||||
|  | ||||
| # This is used for plugins | ||||
| AC_SUBST(CLUTTER_PACKAGE) | ||||
| PKG_CHECK_MODULES(CLUTTER, $CLUTTER_PACKAGE) | ||||
| @@ -304,9 +329,6 @@ if test "x$found_xsync" = "xyes"; then | ||||
| fi | ||||
|  | ||||
| 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 "$MUTTER_LIBS" in | ||||
| @@ -361,6 +383,8 @@ if test "x$enable_debug" = "xyes"; then | ||||
| 	CFLAGS="$CFLAGS -g -O" | ||||
| fi | ||||
|  | ||||
| GTK_DOC_CHECK([1.15], [--flavour no-tmpl]) | ||||
|  | ||||
| #### Warnings (last since -Werror can disturb other tests) | ||||
|  | ||||
| # Stay command-line compatible with the gnome-common configure option. Here | ||||
| @@ -431,12 +455,12 @@ AC_CONFIG_FILES([ | ||||
| Makefile | ||||
| doc/Makefile | ||||
| doc/man/Makefile | ||||
| doc/reference/Makefile | ||||
| doc/reference/meta-docs.sgml | ||||
| src/Makefile | ||||
| src/wm-tester/Makefile | ||||
| src/libmutter.pc | ||||
| src/mutter-plugins.pc | ||||
| src/tools/Makefile | ||||
| src/libmutter-wayland.pc | ||||
| src/compositor/plugins/Makefile | ||||
| protocol/Makefile | ||||
| po/Makefile.in | ||||
| ]) | ||||
|  | ||||
| @@ -452,7 +476,7 @@ fi | ||||
|  | ||||
| dnl ========================================================================== | ||||
| echo " | ||||
| mutter-$VERSION | ||||
| mutter-wayland-$VERSION | ||||
|  | ||||
| 	prefix:                   ${prefix} | ||||
| 	source code location:	  ${srcdir} | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| SUBDIRS = man | ||||
| SUBDIRS = man reference | ||||
|  | ||||
| EXTRA_DIST=theme-format.txt dialogs.txt code-overview.txt \ | ||||
| 	how-to-get-focus-right.txt | ||||
|   | ||||
| @@ -1,4 +1,3 @@ | ||||
| man_MANS = mutter.1 mutter-theme-viewer.1 \ | ||||
| 	   mutter-window-demo.1 mutter-message.1 | ||||
| man_MANS = mutter.1 | ||||
|  | ||||
| EXTRA_DIST = $(man_MANS) | ||||
|   | ||||
| @@ -1,60 +0,0 @@ | ||||
| .\"                                      Hey, EMACS: -*- nroff -*- | ||||
| .\" 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) | ||||
| .\" ----- | ||||
| .\" This file was confirmed to be licenced under the GPL | ||||
| .\" by its author and copyright holder, Akira TAGOH, on June 1st 2008: | ||||
| .\" | ||||
| .\" > I'm comfortable with DFSG-free. that sounds great if you think it's | ||||
| .\" > useful and worth containing it in upstream. | ||||
| .\" ... | ||||
| .\" > 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 MUTTER\-MESSAGE 1 "28 August 2002" | ||||
| .\" Please adjust this date whenever revising the manpage. | ||||
| .\" | ||||
| .\" Some roff macros, for reference: | ||||
| .\" .nh        disable hyphenation | ||||
| .\" .hy        enable hyphenation | ||||
| .\" .ad l      left justify | ||||
| .\" .ad b      justify to both left and right margins | ||||
| .\" .nf        disable filling | ||||
| .\" .fi        enable filling | ||||
| .\" .br        insert line break | ||||
| .\" .sp <n>    insert n+1 empty lines | ||||
| .\" for manpage-specific macros, see man(7) | ||||
| .SH NAME | ||||
| MUTTER\-MESSAGE \- a command to send a message to Mutter | ||||
| .SH SYNOPSIS | ||||
| .B MUTTER\-MESSAGE | ||||
| [restart|reload\-theme|enable\-keybindings|disable\-keybindings] | ||||
| .SH DESCRIPTION | ||||
| This manual page documents briefly the | ||||
| .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. | ||||
| \fBmutter\-message\fP send a specified message to \fBmutter\fP(1). | ||||
| .SH OPTIONS | ||||
| .TP | ||||
| .B restart | ||||
| Restart \fBmutter\fP(1) which is running. | ||||
| .TP | ||||
| .B reload-theme | ||||
| Reload a theme which is specified on gsettings database. | ||||
| .TP | ||||
| .B enable-keybindings | ||||
| Enable all of keybindings which is specified on gsettings database. | ||||
| .TP | ||||
| .B disable-keybindings | ||||
| Disable all of keybindings which is specified on gsettings database. | ||||
| .SH SEE ALSO | ||||
| .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). | ||||
| @@ -1,43 +0,0 @@ | ||||
| .\" In .TH, FOO should be all caps, SECTION should be 1-8, maybe w/ subsection | ||||
| .\" other parms are allowed: see man(7), man(1) | ||||
| .\" | ||||
| .\" Based on template provided by Tom Christiansen <tchrist@jhereg.perl.com>. | ||||
| .\"  | ||||
| .TH MUTTER-THEME-VIEWER 1 "1 June 2004"  | ||||
| .SH NAME | ||||
| mutter-theme-viewer \- view mutter themes | ||||
| .SH SYNOPSIS | ||||
| .B mutter-theme-viewer | ||||
| [ | ||||
| .I THEMENAME | ||||
| ] | ||||
| .SH DESCRIPTION | ||||
| .\" Putting a newline after each sentence can generate better output. | ||||
| .B mutter-theme-viewer | ||||
| allows you to preview any installed Mutter theme. | ||||
| .PP | ||||
| 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 | ||||
| .TP | ||||
| .I THEMENAME | ||||
| Name of the theme to be shown (\fIAtlanta\fR by default). | ||||
| It is case-sensitive. | ||||
| .SH FILES | ||||
| .br | ||||
| .nf | ||||
| .TP | ||||
| .I /usr/share/themes | ||||
| system themes directory | ||||
| .TP | ||||
| .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 mutter (1), | ||||
| .BR mutter-window-demo (1). | ||||
| @@ -1,25 +0,0 @@ | ||||
| .\" In .TH, FOO should be all caps, SECTION should be 1-8, maybe w/ subsection | ||||
| .\" other parms are allowed: see man(7), man(1) | ||||
| .\" | ||||
| .\" Based on template provided by Tom Christiansen <tchrist@jhereg.perl.com>. | ||||
| .\"  | ||||
| .TH MUTTER-WINDOW-DEMO 1 "1 June 2004"  | ||||
| .SH NAME | ||||
| mutter-window-demo \- demo of window features | ||||
| .SH SYNOPSIS | ||||
| .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 | ||||
| managers and window manager themes should handle. | ||||
| .PP | ||||
| Be sure to tear off the menu and toolbar, those are also a special | ||||
| kind of window. | ||||
| .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 x-window-manager (1), | ||||
| .BR mutter (1), | ||||
| .BR mutter-theme-viewer (1). | ||||
							
								
								
									
										166
									
								
								doc/reference/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										166
									
								
								doc/reference/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,166 @@ | ||||
| ## Process this file with automake to produce Makefile.in | ||||
|  | ||||
| # We require automake 1.6 at least. | ||||
| AUTOMAKE_OPTIONS = 1.6 | ||||
|  | ||||
| # This is a blank Makefile.am for using gtk-doc. | ||||
| # Copy this to your project's API docs directory and modify the variables to | ||||
| # suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples | ||||
| # of using the various options. | ||||
|  | ||||
| # The name of the module, e.g. 'glib'. | ||||
| DOC_MODULE=meta | ||||
|  | ||||
| # Uncomment for versioned docs and specify the version of the module, e.g. '2'. | ||||
| #DOC_MODULE_VERSION=2 | ||||
|  | ||||
|  | ||||
| # The top-level SGML file. You can change this if you want to. | ||||
| DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml | ||||
|  | ||||
| # Directories containing the source code, relative to $(srcdir). | ||||
| # gtk-doc will search all .c and .h files beneath these paths | ||||
| # for inline comments documenting functions and macros. | ||||
| # e.g. DOC_SOURCE_DIR=../../../gtk ../../../gdk | ||||
| DOC_SOURCE_DIR=../../src/ | ||||
|  | ||||
| # Extra options to pass to gtkdoc-scangobj. Not normally needed. | ||||
| SCANGOBJ_OPTIONS= | ||||
|  | ||||
| # Extra options to supply to gtkdoc-scan. | ||||
| # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" | ||||
| SCAN_OPTIONS=--rebuild-types | ||||
|  | ||||
| # Extra options to supply to gtkdoc-mkdb. | ||||
| # e.g. MKDB_OPTIONS=--xml-mode --output-format=xml | ||||
| MKDB_OPTIONS=--xml-mode --output-format=xml | ||||
|  | ||||
| # Extra options to supply to gtkdoc-mktmpl | ||||
| # e.g. MKTMPL_OPTIONS=--only-section-tmpl | ||||
| MKTMPL_OPTIONS= | ||||
|  | ||||
| # Extra options to supply to gtkdoc-mkhtml | ||||
| MKHTML_OPTIONS= | ||||
|  | ||||
| # Extra options to supply to gtkdoc-fixref. Not normally needed. | ||||
| # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html | ||||
| FIXXREF_OPTIONS= | ||||
|  | ||||
| # Used for dependencies. The docs will be rebuilt if any of these change. | ||||
| # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h | ||||
| # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c | ||||
| HFILE_GLOB=$(top_srcdir)/src/*.h | ||||
| CFILE_GLOB=$(top_srcdir)/src/*.c | ||||
|  | ||||
| # Extra header to include when scanning, which are not under DOC_SOURCE_DIR | ||||
| # e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h | ||||
| EXTRA_HFILES= | ||||
|  | ||||
| # Header files or dirs to ignore when scanning. Use base file/dir names | ||||
| # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h private_code | ||||
| IGNORE_HFILES= \ | ||||
| 	async-getprop.h \ | ||||
| 	atoms.h \ | ||||
| 	bell.h \ | ||||
| 	boxes-private.h \ | ||||
| 	clutter-utils.h \ | ||||
| 	cogl-utils.h \ | ||||
| 	compositor-private.h \ | ||||
| 	constraints.h \ | ||||
| 	core.h \ | ||||
| 	display-private.h \ | ||||
| 	draw-workspace.h \ | ||||
| 	edge-resistance.h \ | ||||
| 	eventqueue.h \ | ||||
| 	frame.h \ | ||||
| 	frames.h \ | ||||
| 	group-private.h \ | ||||
| 	group-props.h \ | ||||
| 	iconcache.h \ | ||||
| 	inlinepixbufs.h \ | ||||
| 	keybindings-private.h \ | ||||
| 	menu.h \ | ||||
| 	metaaccellabel.h \ | ||||
| 	meta-background-actor-private.h \ | ||||
| 	meta-background-group-private.h \ | ||||
| 	meta-module.h \ | ||||
| 	meta-plugin-manager.h \ | ||||
| 	meta-shadow-factory-private.h \ | ||||
| 	meta-texture-rectangle.h \ | ||||
| 	meta-texture-tower.h \ | ||||
| 	meta-window-actor-private.h \ | ||||
| 	meta-window-group.h \ | ||||
| 	meta-window-shape.h \ | ||||
| 	mutter-enum-types.h \ | ||||
| 	mutter-Xatomtype.h \ | ||||
| 	place.h \ | ||||
| 	preview-widget.h \ | ||||
| 	region-utils.h \ | ||||
| 	resizepopup.h \ | ||||
| 	screen-private.h \ | ||||
| 	session.h \ | ||||
| 	stack.h \ | ||||
| 	stack-tracker.h \ | ||||
| 	stamp-mutter-enum-types.h \ | ||||
| 	tabpopup.h \ | ||||
| 	theme.h \ | ||||
| 	theme-private.h \ | ||||
| 	tile-preview.h \ | ||||
| 	ui.h \ | ||||
| 	window-private.h \ | ||||
| 	window-props.h \ | ||||
| 	workspace-private.h \ | ||||
| 	xprops.h \ | ||||
| 	$(NULL) | ||||
|  | ||||
| MKDB_OPTIONS+=--ignore-files="$(IGNORE_HFILES)" | ||||
|  | ||||
| # Images to copy into HTML directory. | ||||
| # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png | ||||
| HTML_IMAGES= | ||||
|  | ||||
| # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). | ||||
| # e.g. content_files=running.sgml building.sgml changes-2.0.sgml | ||||
| content_files= \ | ||||
| 	mutter-overview.xml \ | ||||
| 	running-mutter.xml \ | ||||
| 	$(NULL) | ||||
|  | ||||
| # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded | ||||
| # These files must be listed here *and* in content_files | ||||
| # e.g. expand_content_files=running.sgml | ||||
| expand_content_files= \ | ||||
| 	mutter-overview.xml \ | ||||
| 	running-mutter.xml \ | ||||
| 	$(NULL) | ||||
|  | ||||
| # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. | ||||
| # Only needed if you are using gtkdoc-scangobj to dynamically query widget | ||||
| # signals and properties. | ||||
| # e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) | ||||
| # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) | ||||
| GTKDOC_CFLAGS=$(MUTTER_CFLAGS) | ||||
| GTKDOC_LIBS=$(MUTTER_LIBS) $(top_builddir)/src/libmutter-wayland.la | ||||
|  | ||||
| # This includes the standard gtk-doc make rules, copied by gtkdocize. | ||||
| include $(top_srcdir)/gtk-doc.make | ||||
|  | ||||
| # Other files to distribute | ||||
| # e.g. EXTRA_DIST += version.xml.in | ||||
| EXTRA_DIST += | ||||
|  | ||||
| # Files not to distribute | ||||
| # for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types | ||||
| # for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt | ||||
| DISTCLEANFILES = $(DOC_MODULES).types | ||||
|  | ||||
| # Comment this out if you want 'make check' to test you doc status | ||||
| # and run some sanity checks | ||||
| if ENABLE_GTK_DOC | ||||
| TESTS_ENVIRONMENT = cd $(srcdir) && \ | ||||
|   DOC_MODULE=$(DOC_MODULE) DOC_MAIN_SGML_FILE=$(DOC_MAIN_SGML_FILE) \ | ||||
|   SRCDIR=$(abs_srcdir) BUILDDIR=$(abs_builddir) | ||||
| #TESTS = $(GTKDOC_CHECK) | ||||
| endif | ||||
|  | ||||
| -include $(top_srcdir)/git.mk | ||||
							
								
								
									
										59
									
								
								doc/reference/meta-docs.sgml.in
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								doc/reference/meta-docs.sgml.in
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| <?xml version="1.0"?> | ||||
| <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" | ||||
|                "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" | ||||
| [ | ||||
|   <!ENTITY % local.common.attrib "xmlns:xi  CDATA  #FIXED 'http://www.w3.org/2003/XInclude'"> | ||||
|   <!ENTITY version "@VERSION@"> | ||||
| ]> | ||||
| <book id="index"> | ||||
|   <bookinfo> | ||||
|     <title>Mutter Reference Manual</title> | ||||
|     <releaseinfo> | ||||
|       This document is for Mutter &version;. | ||||
|       The latest version of this documentation can be found on-line at | ||||
|       <ulink role="online-location" url="http://developer.gnome.org/meta/">http://developer.gnome.org/meta/</ulink>. | ||||
|     </releaseinfo> | ||||
|   </bookinfo> | ||||
|  | ||||
|   <xi:include href="xml/mutter-overview.xml"/> | ||||
|   <xi:include href="xml/running-mutter.xml"/> | ||||
|  | ||||
|   <part id="core-reference"> | ||||
|     <title>Mutter Core Reference</title> | ||||
|     <xi:include href="xml/main.xml"/> | ||||
|     <xi:include href="xml/common.xml"/> | ||||
|     <xi:include href="xml/gradient.xml"/> | ||||
|     <xi:include href="xml/prefs.xml"/> | ||||
|     <xi:include href="xml/util.xml"/> | ||||
|     <xi:include href="xml/errors.xml"/> | ||||
|     <xi:include href="xml/meta-plugin.xml"/> | ||||
|     <xi:include href="xml/barrier.xml"/> | ||||
|     <xi:include href="xml/boxes.xml"/> | ||||
|     <xi:include href="xml/compositor.xml"/> | ||||
|     <xi:include href="xml/display.xml"/> | ||||
|     <xi:include href="xml/group.xml"/> | ||||
|     <xi:include href="xml/keybindings.xml"/> | ||||
|     <xi:include href="xml/meta-background-actor.xml"/> | ||||
|     <xi:include href="xml/meta-shadow-factory.xml"/> | ||||
|     <xi:include href="xml/meta-shaped-texture.xml"/> | ||||
|     <xi:include href="xml/meta-window-actor.xml"/> | ||||
|     <xi:include href="xml/screen.xml"/> | ||||
|     <xi:include href="xml/window.xml"/> | ||||
|     <xi:include href="xml/workspace.xml"/> | ||||
|   </part> | ||||
|  | ||||
|   <chapter id="object-tree"> | ||||
|     <title>Object Hierarchy</title> | ||||
|      <xi:include href="xml/tree_index.sgml"/> | ||||
|   </chapter> | ||||
|   <index id="api-index-full"> | ||||
|     <title>API Index</title> | ||||
|     <xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include> | ||||
|   </index> | ||||
|   <index id="deprecated-api-index" role="deprecated"> | ||||
|     <title>Index of deprecated API</title> | ||||
|     <xi:include href="xml/api-index-deprecated.xml"><xi:fallback /></xi:include> | ||||
|   </index> | ||||
|  | ||||
|   <xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include> | ||||
| </book> | ||||
							
								
								
									
										666
									
								
								doc/reference/meta-sections.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										666
									
								
								doc/reference/meta-sections.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,666 @@ | ||||
| <SECTION> | ||||
| <FILE>barrier</FILE> | ||||
| <TITLE>MetaBarrier</TITLE> | ||||
| MetaBarrier | ||||
| MetaBarrierClass | ||||
| meta_barrier_is_active | ||||
| meta_barrier_destroy | ||||
| meta_barrier_release | ||||
| MetaBarrierDirection | ||||
| MetaBarrierEvent | ||||
| <SUBSECTION Standard> | ||||
| META_BARRIER | ||||
| META_BARRIER_CLASS | ||||
| META_BARRIER_GET_CLASS | ||||
| META_IS_BARRIER | ||||
| META_IS_BARRIER_CLASS | ||||
| META_TYPE_BARRIER | ||||
| META_TYPE_BARRIER_EVENT | ||||
| MetaBarrierPrivate | ||||
| meta_barrier_event_get_type | ||||
| meta_barrier_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>boxes</FILE> | ||||
| MetaRectangle | ||||
| MetaStrut | ||||
| MetaEdgeType | ||||
| MetaEdge | ||||
| meta_rectangle_copy | ||||
| meta_rectangle_free | ||||
| meta_rect | ||||
| meta_rectangle_area | ||||
| meta_rectangle_intersect | ||||
| meta_rectangle_equal | ||||
| meta_rectangle_union | ||||
| meta_rectangle_overlap | ||||
| meta_rectangle_vert_overlap | ||||
| meta_rectangle_horiz_overlap | ||||
| meta_rectangle_could_fit_rect | ||||
| meta_rectangle_contains_rect | ||||
| <SUBSECTION Standard> | ||||
| META_TYPE_RECTANGLE | ||||
| meta_rectangle_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>common</FILE> | ||||
| META_VIRTUAL_CORE_POINTER_ID | ||||
| META_VIRTUAL_CORE_KEYBOARD_ID | ||||
| MetaFrameFlags | ||||
| MetaMenuOp | ||||
| MetaWindowMenuFunc | ||||
| MetaGrabOp | ||||
| MetaCursor | ||||
| MetaFrameType | ||||
| MetaVirtualModifier | ||||
| MetaDirection | ||||
| MetaMotionDirection | ||||
| MetaSide | ||||
| MetaButtonFunction | ||||
| MAX_BUTTONS_PER_CORNER | ||||
| MetaButtonLayout | ||||
| MetaFrameBorders | ||||
| meta_frame_borders_clear | ||||
| META_ICON_WIDTH | ||||
| META_ICON_HEIGHT | ||||
| META_MINI_ICON_WIDTH | ||||
| META_MINI_ICON_HEIGHT | ||||
| META_DEFAULT_ICON_NAME | ||||
| META_PRIORITY_RESIZE | ||||
| META_PRIORITY_BEFORE_REDRAW | ||||
| META_PRIORITY_REDRAW | ||||
| META_PRIORITY_PREFS_NOTIFY | ||||
| POINT_IN_RECT | ||||
| MetaStackLayer | ||||
| MetaWindowMenu | ||||
| MetaResizePopup | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>compositor</FILE> | ||||
| MetaCompEffect | ||||
| MetaCompositor | ||||
| meta_compositor_new | ||||
| meta_compositor_destroy | ||||
| meta_compositor_manage_screen | ||||
| meta_compositor_unmanage_screen | ||||
| meta_compositor_window_shape_changed | ||||
| meta_compositor_process_event | ||||
| meta_compositor_filter_keybinding | ||||
| meta_compositor_add_window | ||||
| meta_compositor_remove_window | ||||
| meta_compositor_show_window | ||||
| meta_compositor_hide_window | ||||
| meta_compositor_switch_workspace | ||||
| meta_compositor_maximize_window | ||||
| meta_compositor_unmaximize_window | ||||
| meta_compositor_window_mapped | ||||
| meta_compositor_window_unmapped | ||||
| meta_compositor_sync_window_geometry | ||||
| meta_compositor_set_updates_frozen | ||||
| meta_compositor_queue_frame_drawn | ||||
| meta_compositor_sync_stack | ||||
| meta_compositor_sync_screen_size | ||||
| meta_compositor_flash_screen | ||||
| meta_get_stage_for_screen | ||||
| meta_get_overlay_group_for_screen | ||||
| meta_get_overlay_window | ||||
| meta_get_window_actors | ||||
| meta_get_window_group_for_screen | ||||
| meta_get_top_window_group_for_screen | ||||
| meta_disable_unredirect_for_screen | ||||
| meta_enable_unredirect_for_screen | ||||
| meta_set_stage_input_region | ||||
| meta_empty_stage_input_region | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>display</FILE> | ||||
| MetaTabList | ||||
| MetaTabShowType | ||||
| meta_XFree | ||||
| meta_display_get_compositor_version | ||||
| meta_display_get_xinput_opcode | ||||
| meta_display_supports_extended_barriers | ||||
| meta_display_get_xdisplay | ||||
| meta_display_get_compositor | ||||
| meta_display_get_screens | ||||
| meta_display_has_shape | ||||
| meta_display_screen_for_root | ||||
| meta_display_get_focus_window | ||||
| meta_display_xwindow_is_a_no_focus_window | ||||
| meta_display_get_damage_event_base | ||||
| meta_display_get_shape_event_base | ||||
| meta_display_xserver_time_is_before | ||||
| meta_display_get_last_user_time | ||||
| meta_display_get_current_time | ||||
| meta_display_get_current_time_roundtrip | ||||
| meta_display_get_ignored_modifier_mask | ||||
| meta_display_get_tab_list | ||||
| meta_display_get_tab_next | ||||
| meta_display_get_tab_current | ||||
| meta_display_begin_grab_op | ||||
| meta_display_end_grab_op | ||||
| meta_display_get_grab_op | ||||
| meta_display_add_keybinding | ||||
| meta_display_remove_keybinding | ||||
| meta_display_get_keybinding_action | ||||
| meta_display_set_input_focus_window | ||||
| meta_display_focus_the_no_focus_window | ||||
| meta_display_sort_windows_by_stacking | ||||
| meta_display_get_leader_window | ||||
| meta_display_add_ignored_crossing_serial | ||||
| meta_display_unmanage_screen | ||||
| meta_display_clear_mouse_mode | ||||
| MetaDisplay | ||||
| MetaDisplayClass | ||||
| <SUBSECTION Standard> | ||||
| META_DISPLAY | ||||
| META_DISPLAY_CLASS | ||||
| META_DISPLAY_GET_CLASS | ||||
| META_IS_DISPLAY | ||||
| META_IS_DISPLAY_CLASS | ||||
| META_TYPE_DISPLAY | ||||
| meta_display_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>errors</FILE> | ||||
| meta_error_trap_push | ||||
| meta_error_trap_pop | ||||
| meta_error_trap_push_with_return | ||||
| meta_error_trap_pop_with_return | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>gradient</FILE> | ||||
| MetaGradientType | ||||
| meta_gradient_create_simple | ||||
| meta_gradient_create_multi | ||||
| meta_gradient_create_interwoven | ||||
| meta_gradient_add_alpha | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>group</FILE> | ||||
| MetaGroup | ||||
| meta_window_get_group | ||||
| meta_window_compute_group | ||||
| meta_window_shutdown_group | ||||
| meta_window_group_leader_changed | ||||
| meta_display_lookup_group | ||||
| meta_group_list_windows | ||||
| meta_group_update_layers | ||||
| meta_group_get_startup_id | ||||
| meta_group_get_size | ||||
| meta_group_property_notify | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>keybindings</FILE> | ||||
| MetaKeyBinding | ||||
| META_TYPE_KEY_BINDING | ||||
| meta_key_binding_get_name | ||||
| meta_key_binding_get_modifiers | ||||
| meta_key_binding_get_mask | ||||
| meta_key_binding_is_builtin | ||||
| meta_keybindings_set_custom_handler | ||||
| meta_keybindings_switch_window | ||||
| meta_screen_ungrab_all_keys | ||||
| meta_screen_grab_all_keys | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>main</FILE> | ||||
| meta_get_option_context | ||||
| meta_init | ||||
| meta_run | ||||
| meta_get_replace_current_wm | ||||
| meta_set_wm_name | ||||
| meta_set_gnome_wm_keybindings | ||||
| MetaExitCode | ||||
| meta_exit | ||||
| meta_quit | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>meta-background</FILE> | ||||
| <TITLE>MetaBackground</TITLE> | ||||
| MetaBackgroundEffects | ||||
| MetaBackground | ||||
| MetaBackgroundClass | ||||
| meta_background_new | ||||
| meta_background_copy | ||||
| meta_background_load_gradient | ||||
| meta_background_load_color | ||||
| meta_background_load_still_frame | ||||
| meta_background_load_file_async | ||||
| meta_background_load_file_finish | ||||
| meta_background_get_filename | ||||
| meta_background_get_style | ||||
| meta_background_get_shading | ||||
| meta_background_get_color | ||||
| meta_background_get_second_color | ||||
| <SUBSECTION Standard> | ||||
| META_BACKGROUND | ||||
| META_BACKGROUND_CLASS | ||||
| META_BACKGROUND_GET_CLASS | ||||
| META_IS_BACKGROUND | ||||
| META_IS_BACKGROUND_CLASS | ||||
| META_TYPE_BACKGROUND | ||||
| MetaBackgroundPrivate | ||||
| meta_background_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>meta-background-actor</FILE> | ||||
| <TITLE>MetaBackgroundActor</TITLE> | ||||
| MetaBackgroundActor | ||||
| MetaBackgroundActorClass | ||||
| meta_background_actor_new_for_screen | ||||
| MetaSnippetHook | ||||
| meta_background_actor_add_glsl_snippet | ||||
| meta_background_actor_set_uniform_float | ||||
| <SUBSECTION Standard> | ||||
| META_BACKGROUND_ACTOR | ||||
| META_BACKGROUND_ACTOR_CLASS | ||||
| META_BACKGROUND_ACTOR_GET_CLASS | ||||
| META_IS_BACKGROUND_ACTOR | ||||
| META_IS_BACKGROUND_ACTOR_CLASS | ||||
| META_TYPE_BACKGROUND_ACTOR | ||||
| MetaBackgroundActorPrivate | ||||
| meta_background_actor_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>meta-background-group</FILE> | ||||
| <TITLE>MetaBackgroundGroup</TITLE> | ||||
| MetaBackgroundGroupClass | ||||
| meta_background_group_new | ||||
| <SUBSECTION Standard> | ||||
| META_BACKGROUND_GROUP | ||||
| META_BACKGROUND_GROUP_CLASS | ||||
| META_BACKGROUND_GROUP_GET_CLASS | ||||
| META_IS_BACKGROUND_GROUP | ||||
| META_IS_BACKGROUND_GROUP_CLASS | ||||
| META_TYPE_BACKGROUND_GROUP | ||||
| MetaBackgroundGroupPrivate | ||||
| meta_background_group_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>meta-plugin</FILE> | ||||
| <TITLE>MetaPlugin</TITLE> | ||||
| MetaPlugin | ||||
| MetaPluginClass | ||||
| MetaPluginInfo | ||||
| meta_plugin_running | ||||
| meta_plugin_debug_mode | ||||
| meta_plugin_get_info | ||||
| MetaPluginVersion | ||||
| META_PLUGIN_DECLARE | ||||
| meta_plugin_switch_workspace_completed | ||||
| meta_plugin_minimize_completed | ||||
| meta_plugin_maximize_completed | ||||
| meta_plugin_unmaximize_completed | ||||
| meta_plugin_map_completed | ||||
| meta_plugin_destroy_completed | ||||
| MetaModalOptions | ||||
| meta_plugin_begin_modal | ||||
| meta_plugin_end_modal | ||||
| meta_plugin_get_screen | ||||
| meta_plugin_manager_set_plugin_type | ||||
| <SUBSECTION Standard> | ||||
| META_IS_PLUGIN | ||||
| META_IS_PLUGIN_CLASS | ||||
| META_PLUGIN | ||||
| META_PLUGIN_CLASS | ||||
| META_PLUGIN_GET_CLASS | ||||
| META_TYPE_PLUGIN | ||||
| MetaPluginPrivate | ||||
| meta_plugin_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>meta-shadow-factory</FILE> | ||||
| MetaShadowParams | ||||
| meta_shadow_factory_get_default | ||||
| meta_shadow_factory_set_params | ||||
| meta_shadow_factory_get_params | ||||
| MetaShadowFactory | ||||
| MetaShadowFactoryClass | ||||
| <SUBSECTION Standard> | ||||
| META_IS_SHADOW_FACTORY | ||||
| META_IS_SHADOW_FACTORY_CLASS | ||||
| META_SHADOW_FACTORY | ||||
| META_SHADOW_FACTORY_CLASS | ||||
| META_SHADOW_FACTORY_GET_CLASS | ||||
| META_TYPE_SHADOW_FACTORY | ||||
| meta_shadow_factory_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>meta-shaped-texture</FILE> | ||||
| <TITLE>MetaShapedTexture</TITLE> | ||||
| MetaShapedTexture | ||||
| MetaShapedTextureClass | ||||
| meta_shaped_texture_new | ||||
| meta_shaped_texture_set_create_mipmaps | ||||
| meta_shaped_texture_update_area | ||||
| meta_shaped_texture_set_pixmap | ||||
| meta_shaped_texture_get_texture | ||||
| meta_shaped_texture_set_mask_texture | ||||
| meta_shaped_texture_set_clip_region | ||||
| meta_shaped_texture_get_image | ||||
| <SUBSECTION Standard> | ||||
| META_IS_SHAPED_TEXTURE | ||||
| META_IS_SHAPED_TEXTURE_CLASS | ||||
| META_SHAPED_TEXTURE | ||||
| META_SHAPED_TEXTURE_CLASS | ||||
| META_SHAPED_TEXTURE_GET_CLASS | ||||
| META_TYPE_SHAPED_TEXTURE | ||||
| MetaShapedTexturePrivate | ||||
| meta_shaped_texture_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>meta-window-actor</FILE> | ||||
| <TITLE>MetaWindowActor</TITLE> | ||||
| MetaWindowActor | ||||
| MetaWindowActorClass | ||||
| meta_window_actor_get_x_window | ||||
| meta_window_actor_get_workspace | ||||
| meta_window_actor_get_meta_window | ||||
| meta_window_actor_get_texture | ||||
| meta_window_actor_is_override_redirect | ||||
| meta_window_actor_get_description | ||||
| meta_window_actor_showing_on_its_workspace | ||||
| meta_window_actor_is_destroyed | ||||
| <SUBSECTION Standard> | ||||
| META_IS_WINDOW_ACTOR | ||||
| META_IS_WINDOW_ACTOR_CLASS | ||||
| META_TYPE_WINDOW_ACTOR | ||||
| META_WINDOW_ACTOR | ||||
| META_WINDOW_ACTOR_CLASS | ||||
| META_WINDOW_ACTOR_GET_CLASS | ||||
| MetaWindowActorPrivate | ||||
| meta_window_actor_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>prefs</FILE> | ||||
| MetaPreference | ||||
| MetaPrefsChangedFunc | ||||
| meta_prefs_add_listener | ||||
| meta_prefs_remove_listener | ||||
| meta_prefs_init | ||||
| meta_prefs_override_preference_schema | ||||
| meta_preference_to_string | ||||
| meta_prefs_get_mouse_button_mods | ||||
| meta_prefs_get_mouse_button_resize | ||||
| meta_prefs_get_mouse_button_menu | ||||
| meta_prefs_get_focus_mode | ||||
| meta_prefs_get_focus_new_windows | ||||
| meta_prefs_get_attach_modal_dialogs | ||||
| meta_prefs_get_raise_on_click | ||||
| meta_prefs_get_theme | ||||
| meta_prefs_get_titlebar_font | ||||
| meta_prefs_get_num_workspaces | ||||
| meta_prefs_get_dynamic_workspaces | ||||
| meta_prefs_get_disable_workarounds | ||||
| meta_prefs_get_auto_raise | ||||
| meta_prefs_get_auto_raise_delay | ||||
| meta_prefs_get_focus_change_on_pointer_rest | ||||
| meta_prefs_get_gnome_accessibility | ||||
| meta_prefs_get_gnome_animations | ||||
| meta_prefs_get_edge_tiling | ||||
| meta_prefs_get_auto_maximize | ||||
| meta_prefs_get_button_layout | ||||
| meta_prefs_get_action_double_click_titlebar | ||||
| meta_prefs_get_action_middle_click_titlebar | ||||
| meta_prefs_get_action_right_click_titlebar | ||||
| meta_prefs_set_num_workspaces | ||||
| meta_prefs_get_workspace_name | ||||
| meta_prefs_change_workspace_name | ||||
| meta_prefs_get_cursor_theme | ||||
| meta_prefs_get_cursor_size | ||||
| meta_prefs_get_compositing_manager | ||||
| meta_prefs_get_force_fullscreen | ||||
| meta_prefs_set_force_fullscreen | ||||
| meta_prefs_get_workspaces_only_on_primary | ||||
| meta_prefs_get_no_tab_popup | ||||
| meta_prefs_set_no_tab_popup | ||||
| meta_prefs_get_draggable_border_width | ||||
| meta_prefs_get_ignore_request_hide_titlebar | ||||
| meta_prefs_set_ignore_request_hide_titlebar | ||||
| MetaKeyBindingAction | ||||
| MetaKeyBindingFlags | ||||
| MetaKeyCombo | ||||
| MetaKeyHandlerFunc | ||||
| meta_prefs_get_keybindings | ||||
| meta_prefs_get_keybinding_action | ||||
| meta_prefs_get_window_binding | ||||
| meta_prefs_get_overlay_binding | ||||
| meta_prefs_get_visual_bell | ||||
| meta_prefs_bell_is_audible | ||||
| meta_prefs_get_visual_bell_type | ||||
| MetaKeyHandler | ||||
| <SUBSECTION Standard> | ||||
| meta_key_binding_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>screen</FILE> | ||||
| MetaScreen | ||||
| MetaScreenClass | ||||
| meta_screen_get_screen_number | ||||
| meta_screen_get_display | ||||
| meta_screen_get_xroot | ||||
| meta_screen_get_size | ||||
| meta_screen_get_compositor_data | ||||
| meta_screen_set_compositor_data | ||||
| meta_screen_for_x_screen | ||||
| meta_screen_set_cm_selection | ||||
| meta_screen_unset_cm_selection | ||||
| meta_screen_get_startup_sequences | ||||
| meta_screen_get_workspaces | ||||
| meta_screen_get_n_workspaces | ||||
| meta_screen_get_workspace_by_index | ||||
| meta_screen_remove_workspace | ||||
| meta_screen_append_new_workspace | ||||
| meta_screen_get_active_workspace_index | ||||
| meta_screen_get_active_workspace | ||||
| meta_screen_get_n_monitors | ||||
| meta_screen_get_primary_monitor | ||||
| meta_screen_get_current_monitor | ||||
| meta_screen_get_monitor_geometry | ||||
| meta_screen_get_monitor_index_for_rect | ||||
| meta_screen_focus_default_window | ||||
| MetaScreenCorner | ||||
| meta_screen_override_workspace_layout | ||||
| <SUBSECTION Standard> | ||||
| META_IS_SCREEN | ||||
| META_IS_SCREEN_CLASS | ||||
| META_SCREEN | ||||
| META_SCREEN_CLASS | ||||
| META_SCREEN_GET_CLASS | ||||
| META_TYPE_SCREEN | ||||
| meta_screen_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>util</FILE> | ||||
| meta_is_verbose | ||||
| meta_set_verbose | ||||
| meta_is_debugging | ||||
| meta_set_debugging | ||||
| meta_is_syncing | ||||
| meta_set_syncing | ||||
| meta_set_replace_current_wm | ||||
| meta_debug_spew_real | ||||
| meta_verbose_real | ||||
| meta_bug | ||||
| meta_warning | ||||
| meta_fatal | ||||
| MetaDebugTopic | ||||
| meta_topic_real | ||||
| meta_add_verbose_topic | ||||
| meta_remove_verbose_topic | ||||
| meta_push_no_msg_prefix | ||||
| meta_pop_no_msg_prefix | ||||
| meta_unsigned_long_equal | ||||
| meta_unsigned_long_hash | ||||
| meta_frame_type_to_string | ||||
| meta_gravity_to_string | ||||
| _ | ||||
| N_ | ||||
| meta_g_utf8_strndup | ||||
| meta_free_gslist_and_elements | ||||
| meta_show_dialog | ||||
| meta_debug_spew | ||||
| meta_verbose | ||||
| meta_topic | ||||
| MetaLaterType | ||||
| meta_later_add | ||||
| meta_later_remove | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>window</FILE> | ||||
| MetaWindow | ||||
| MetaWindowClass | ||||
| MetaWindowType | ||||
| MetaMaximizeFlags | ||||
| meta_window_get_frame | ||||
| meta_window_has_focus | ||||
| meta_window_appears_focused | ||||
| meta_window_is_shaded | ||||
| meta_window_is_monitor_sized | ||||
| meta_window_is_override_redirect | ||||
| meta_window_is_skip_taskbar | ||||
| meta_window_get_rect | ||||
| meta_window_get_input_rect | ||||
| meta_window_get_outer_rect | ||||
| meta_window_get_screen | ||||
| meta_window_get_display | ||||
| meta_window_get_xwindow | ||||
| meta_window_get_window_type | ||||
| meta_window_get_window_type_atom | ||||
| meta_window_get_workspace | ||||
| meta_window_get_monitor | ||||
| meta_window_is_on_all_workspaces | ||||
| meta_window_located_on_workspace | ||||
| meta_window_is_hidden | ||||
| meta_window_activate | ||||
| meta_window_activate_with_workspace | ||||
| meta_window_get_description | ||||
| meta_window_get_wm_class | ||||
| meta_window_get_wm_class_instance | ||||
| meta_window_showing_on_its_workspace | ||||
| meta_window_get_gtk_application_id | ||||
| meta_window_get_gtk_unique_bus_name | ||||
| meta_window_get_gtk_application_object_path | ||||
| meta_window_get_gtk_window_object_path | ||||
| meta_window_get_gtk_app_menu_object_path | ||||
| meta_window_get_gtk_menubar_object_path | ||||
| meta_window_move | ||||
| meta_window_move_frame | ||||
| meta_window_move_resize_frame | ||||
| meta_window_move_to_monitor | ||||
| meta_window_resize | ||||
| meta_window_set_demands_attention | ||||
| meta_window_unset_demands_attention | ||||
| meta_window_get_startup_id | ||||
| meta_window_change_workspace_by_index | ||||
| meta_window_change_workspace | ||||
| meta_window_get_compositor_private | ||||
| meta_window_set_compositor_private | ||||
| meta_window_configure_notify | ||||
| meta_window_get_role | ||||
| meta_window_get_layer | ||||
| meta_window_find_root_ancestor | ||||
| meta_window_is_ancestor_of_transient | ||||
| MetaWindowForeachFunc | ||||
| meta_window_foreach_transient | ||||
| meta_window_foreach_ancestor | ||||
| meta_window_get_maximized | ||||
| meta_window_is_fullscreen | ||||
| meta_window_is_on_primary_monitor | ||||
| meta_window_requested_bypass_compositor | ||||
| meta_window_requested_dont_bypass_compositor | ||||
| meta_window_is_mapped | ||||
| meta_window_toplevel_is_mapped | ||||
| meta_window_get_icon_geometry | ||||
| meta_window_set_icon_geometry | ||||
| meta_window_maximize | ||||
| meta_window_unmaximize | ||||
| meta_window_minimize | ||||
| meta_window_unminimize | ||||
| meta_window_raise | ||||
| meta_window_lower | ||||
| meta_window_get_title | ||||
| meta_window_get_transient_for | ||||
| meta_window_get_transient_for_as_xid | ||||
| meta_window_delete | ||||
| meta_window_get_stable_sequence | ||||
| meta_window_get_user_time | ||||
| meta_window_get_pid | ||||
| meta_window_get_client_machine | ||||
| meta_window_is_remote | ||||
| meta_window_is_modal | ||||
| meta_window_is_attached_dialog | ||||
| meta_window_get_mutter_hints | ||||
| meta_window_get_frame_type | ||||
| meta_window_get_frame_bounds | ||||
| meta_window_get_tile_match | ||||
| meta_window_make_fullscreen | ||||
| meta_window_unmake_fullscreen | ||||
| meta_window_make_above | ||||
| meta_window_unmake_above | ||||
| meta_window_shade | ||||
| meta_window_unshade | ||||
| meta_window_stick | ||||
| meta_window_unstick | ||||
| meta_window_kill | ||||
| meta_window_focus | ||||
| meta_window_check_alive | ||||
| meta_window_get_work_area_current_monitor | ||||
| meta_window_get_work_area_for_monitor | ||||
| meta_window_get_work_area_all_monitors | ||||
| meta_window_begin_grab_op | ||||
| <SUBSECTION Standard> | ||||
| META_IS_WINDOW | ||||
| META_IS_WINDOW_CLASS | ||||
| META_TYPE_WINDOW | ||||
| META_WINDOW | ||||
| META_WINDOW_CLASS | ||||
| META_WINDOW_GET_CLASS | ||||
| meta_window_get_type | ||||
| </SECTION> | ||||
|  | ||||
| <SECTION> | ||||
| <FILE>workspace</FILE> | ||||
| MetaWorkspace | ||||
| MetaWorkspaceClass | ||||
| meta_workspace_index | ||||
| meta_workspace_get_screen | ||||
| meta_workspace_list_windows | ||||
| meta_workspace_get_work_area_for_monitor | ||||
| meta_workspace_get_work_area_all_monitors | ||||
| meta_workspace_activate | ||||
| meta_workspace_activate_with_focus | ||||
| meta_workspace_update_window_hints | ||||
| meta_workspace_set_builtin_struts | ||||
| meta_workspace_get_neighbor | ||||
| <SUBSECTION Standard> | ||||
| META_IS_WORKSPACE | ||||
| META_IS_WORKSPACE_CLASS | ||||
| META_TYPE_WORKSPACE | ||||
| META_WORKSPACE | ||||
| META_WORKSPACE_CLASS | ||||
| META_WORKSPACE_GET_CLASS | ||||
| meta_workspace_get_type | ||||
| </SECTION> | ||||
|  | ||||
							
								
								
									
										15
									
								
								doc/reference/mutter-overview.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								doc/reference/mutter-overview.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| <part id="mutter-overview"> | ||||
|  | ||||
|   <title>Overview</title> | ||||
|  | ||||
|   <partintro> | ||||
|  | ||||
|     <para>Mutter is a GObject-based library for creating compositing window managers.</para> | ||||
|  | ||||
|     <para>Compositors that wish to use Mutter must implement a subclass of #MetaPlugin and register it with meta_plugin_manager_set_plugin_type() before calling meta_init() but after g_type_init().</para> | ||||
|  | ||||
|     <para>#MetaPlugin provides virtual functions that allow to override default behavior in the window management code, such as the effect to perform when a window is created or when switching workspaces.</para> | ||||
|  | ||||
|   </partintro> | ||||
|  | ||||
| </part> | ||||
							
								
								
									
										100
									
								
								doc/reference/running-mutter.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										100
									
								
								doc/reference/running-mutter.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,100 @@ | ||||
| <part id="running-mutter"> | ||||
|  | ||||
|   <title>Running Mutter</title> | ||||
|  | ||||
|   <partintro> | ||||
|  | ||||
|     <section id="environment-variables"> | ||||
|       <title>Environment Variables</title> | ||||
|  | ||||
|       <para> | ||||
|         Mutter automatically checks environment variables during | ||||
|         its initialization. These environment variables are meant | ||||
|         as debug tools or overrides for default behaviours: | ||||
|       </para> | ||||
|  | ||||
|       <variablelist> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_VERBOSE</term> | ||||
|           <listitem> | ||||
|             <para>Enable verbose mode, in which more information is printed to the console. Mutter needs to be built with the --enable-verbose-mode option (enabled by default). For more fine-grained control of the output, see meta_add_verbose_topic().</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_DEBUG</term> | ||||
|           <listitem> | ||||
|             <para>Traps and prints X errors to the console.</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_G_FATAL_WARNINGS</term> | ||||
|           <listitem> | ||||
|             <para>Causes any logging from the domains Mutter, Gtk, Gdk, Pango or GLib to terminate the process (only when using the log functions in GLib).</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_USE_LOGFILE</term> | ||||
|           <listitem> | ||||
|             <para>Log all messages to a temporary file.</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_DEBUG_XINERAMA</term> | ||||
|           <listitem> | ||||
|             <para>Log extra information about support of the XINERAMA extension.</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_DEBUG_SM</term> | ||||
|           <listitem> | ||||
|             <para>Log extra information about session management.</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_DEBUG_BUTTON_GRABS</term> | ||||
|           <listitem> | ||||
|             <para>Log extra information about button grabs.</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_SYNC</term> | ||||
|           <listitem> | ||||
|             <para>Call XSync after each X call.</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_DISPLAY</term> | ||||
|           <listitem> | ||||
|             <para>Name of the X11 display to use.</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>META_DISABLE_MIPMAPS</term> | ||||
|           <listitem> | ||||
|             <para>Disable use of mipmaps for the textures that back window pixmaps.</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_USE_STATIC_GRAVITY</term> | ||||
|           <listitem> | ||||
|             <para>Enable support for clients with static bit-gravity.</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_WM_CLASS_FILTER</term> | ||||
|           <listitem> | ||||
|             <para>Comma-separated list of WM_CLASS names to which to restrict Mutter to.</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|         <varlistentry> | ||||
|           <term>MUTTER_DISABLE_FALLBACK_COLOR</term> | ||||
|           <listitem> | ||||
|             <para>Disable fallback for themed colors, for easier detection of typographical errors.</para> | ||||
|           </listitem> | ||||
|         </varlistentry> | ||||
|       </variablelist> | ||||
|  | ||||
|     </section> | ||||
|  | ||||
|   </partintro> | ||||
| </part> | ||||
| @@ -44,6 +44,7 @@ is | ||||
| it | ||||
| ja | ||||
| ka | ||||
| kk | ||||
| kn | ||||
| ko | ||||
| ku | ||||
| @@ -80,6 +81,7 @@ sr@latin | ||||
| sv | ||||
| ta | ||||
| te | ||||
| tg | ||||
| th | ||||
| tk | ||||
| tr | ||||
|   | ||||
| @@ -4,6 +4,7 @@ src/50-mutter-navigation.xml.in | ||||
| src/50-mutter-system.xml.in | ||||
| src/50-mutter-windows.xml.in | ||||
| src/compositor/compositor.c | ||||
| src/compositor/meta-background.c | ||||
| src/core/bell.c | ||||
| src/core/core.c | ||||
| src/core/delete.c | ||||
| @@ -11,6 +12,7 @@ src/core/display.c | ||||
| src/core/errors.c | ||||
| src/core/keybindings.c | ||||
| src/core/main.c | ||||
| src/core/monitor.c | ||||
| src/core/mutter.c | ||||
| src/core/prefs.c | ||||
| src/core/screen.c | ||||
| @@ -19,15 +21,12 @@ src/core/util.c | ||||
| src/core/window.c | ||||
| src/core/window-props.c | ||||
| src/core/xprops.c | ||||
| src/mutter.desktop.in | ||||
| src/mutter-wm.desktop.in | ||||
| src/mutter-wayland.desktop.in | ||||
| src/org.gnome.mutter.gschema.xml.in | ||||
| src/tools/mutter-message.c | ||||
| src/org.gnome.mutter.wayland.gschema.xml.in | ||||
| src/ui/frames.c | ||||
| src/ui/menu.c | ||||
| src/ui/metaaccellabel.c | ||||
| src/ui/resizepopup.c | ||||
| src/ui/theme.c | ||||
| src/ui/theme-parser.c | ||||
| src/ui/theme-viewer.c | ||||
|  | ||||
|   | ||||
							
								
								
									
										224
									
								
								po/ar.po
									
									
									
									
									
								
							
							
						
						
									
										224
									
								
								po/ar.po
									
									
									
									
									
								
							| @@ -4,14 +4,14 @@ | ||||
| # Arafat Medini <lumina@silverpen.de>, 2003. | ||||
| # Abdulaziz Al-Arfaj <alarfaj0@yahoo.com>, 2004. | ||||
| # Djihed Afifi <djihed@gmail.com>, 2006. | ||||
| # Khaled Hosny <khaledhosny@eglug.org>, 2006, 2007, 2008, 2009, 2010, 2011, 2012. | ||||
| # Khaled Hosny <khaledhosny@eglug.org>, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013. | ||||
| # Anas Afif Emad <anas.e87@gmail.com>, 2008. | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: metacity.HEAD\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2012-12-24 13:14+0200\n" | ||||
| "PO-Revision-Date: 2012-12-24 13:17+0200\n" | ||||
| "POT-Creation-Date: 2013-03-09 22:48+0200\n" | ||||
| "PO-Revision-Date: 2013-03-09 22:48+0200\n" | ||||
| "Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n" | ||||
| "Language-Team: Arabic <doc@arabeyes.org>\n" | ||||
| "Language: ar\n" | ||||
| @@ -167,8 +167,8 @@ msgid "Close window" | ||||
| msgstr "أغلق النّافذة" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Minimize window" | ||||
| msgstr "صغّر النّافذة" | ||||
| msgid "Hide window" | ||||
| msgstr "أخفِ النّافذة" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| msgid "Move window" | ||||
| @@ -212,13 +212,17 @@ msgstr "المنظور مقسوم على اليسار" | ||||
|  | ||||
| #. This probably means that a non-WM compositor like xcompmgr is running; | ||||
| #. * we have no way to get it to exit | ||||
| #: ../src/compositor/compositor.c:512 | ||||
| #: ../src/compositor/compositor.c:502 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Another compositing manager is already running on screen %i on display \"%s" | ||||
| "\"." | ||||
| msgstr "يعمل مدير مزج آخر على الشاشة %i والعرض \"%s\"." | ||||
|  | ||||
| #: ../src/compositor/meta-background.c:1180 | ||||
| msgid "background texture could not be created from file" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| msgid "Bell event" | ||||
| msgstr "حدث جرس" | ||||
| @@ -251,23 +255,28 @@ msgstr "ا_نتظر" | ||||
| msgid "_Force Quit" | ||||
| msgstr "أ_جبر الإنهاء" | ||||
|  | ||||
| #: ../src/core/display.c:394 | ||||
| #: ../src/core/display.c:402 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "الامتداد %s مفقود، لكنه مطلوب للتركيب" | ||||
|  | ||||
| #: ../src/core/display.c:491 | ||||
| #: ../src/core/display.c:494 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "فشل فتح عرض نظام نوافذ إكس '%s'\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:876 | ||||
| #: ../src/core/keybindings.c:929 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| "binding\n" | ||||
| msgstr "يستعمل برنامج آخر المفتاح %s بالفعل مع المغيرين %x كرابط\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:1129 | ||||
| #, c-format | ||||
| msgid "\"%s\" is not a valid accelerator\n" | ||||
| msgstr "\"%s\" ليس اختصارا صحيحا\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "عطّل الاتصال بمدير الجلسة" | ||||
| @@ -292,12 +301,12 @@ msgstr "ابدأ الجلسة من ملف محفوظ" | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "اجعل نداءات س متزامنة" | ||||
|  | ||||
| #: ../src/core/main.c:496 | ||||
| #: ../src/core/main.c:533 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "فشلت قراءة دليل السِمات : %s\n" | ||||
|  | ||||
| #: ../src/core/main.c:512 | ||||
| #: ../src/core/main.c:549 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -325,7 +334,7 @@ msgstr "اطبع الإصدارة" | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "ملحق مَتَر الذي سيُستخدم" | ||||
|  | ||||
| #: ../src/core/prefs.c:1079 | ||||
| #: ../src/core/prefs.c:1087 | ||||
| msgid "" | ||||
| "Workarounds for broken applications disabled. Some applications may not " | ||||
| "behave properly.\n" | ||||
| @@ -333,12 +342,12 @@ msgstr "" | ||||
| "عطّلت الحلول الجزئيّة للتطبيقات المعطوبة . ربما لن تتصرف بعض التطبيقات " | ||||
| "بسلامة.\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1154 | ||||
| #: ../src/core/prefs.c:1162 | ||||
| #, c-format | ||||
| msgid "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
| msgstr "لا يمكن تحليل وصف الخط \"%s\" من مفتاح GSettings %s\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1220 | ||||
| #: ../src/core/prefs.c:1228 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for mouse button " | ||||
| @@ -346,7 +355,7 @@ msgid "" | ||||
| msgstr "" | ||||
| "\"%s\" الموجود في قاعدة بيانات الإعدادات ليس قيمة سليمة لمغير أزرار الفأرة\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1757 | ||||
| #: ../src/core/prefs.c:1780 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| @@ -355,17 +364,17 @@ msgstr "" | ||||
| "\"%s\" الموجود في قاعدة بيانات الإعدادات ليس قيمة سليمة لارتباط المفتاح \"%s" | ||||
| "\"\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1854 | ||||
| #: ../src/core/prefs.c:1879 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "مساحة العمل %d" | ||||
|  | ||||
| #: ../src/core/screen.c:658 | ||||
| #: ../src/core/screen.c:674 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "الشاشة %d على العرض '%s' غير صحيحة\n" | ||||
|  | ||||
| #: ../src/core/screen.c:674 | ||||
| #: ../src/core/screen.c:690 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -374,18 +383,18 @@ msgstr "" | ||||
| "الشاشة %d على العرض \"%s\" لها مدير نوافذ بالفعل، حاول استعمال خيار التبديل " | ||||
| "--replace لتحُلّ محلّ مدير النوافذ الحالي.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:701 | ||||
| #: ../src/core/screen.c:717 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| msgstr "لا يمكن الحصول على اختيار مدير النوافذ على الشاشة %d العرض \"%s\"\n" | ||||
|  | ||||
| #: ../src/core/screen.c:770 | ||||
| #: ../src/core/screen.c:795 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "الشاشة %d على العرض \"%s\" لها مدير نوافذ بالفعل\n" | ||||
|  | ||||
| #: ../src/core/screen.c:955 | ||||
| #: ../src/core/screen.c:980 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "لا يمكن ترك الشاشة %d على العرض \"%s\"\n" | ||||
| @@ -482,7 +491,7 @@ msgid "Window manager error: " | ||||
| msgstr "خطأ مدير النوافذ: " | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7275 | ||||
| #: ../src/core/window.c:7538 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -498,7 +507,7 @@ msgstr "" | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7941 | ||||
| #: ../src/core/window.c:8262 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| @@ -507,22 +516,22 @@ msgstr "" | ||||
| "ضبطت النافذة %s تلميحة MWM يدل على انه لا يمكن تحجيمها، لكنها تضبط الحجم " | ||||
| "الأدنى %d x %d و الحجم الأقصى %d x %d، هذا ليس له أي معنى.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:274 | ||||
| #: ../src/core/window-props.c:318 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "ضبط التطبيق رمز NET_WM_PID غير مفهوم %lu\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:393 | ||||
| #: ../src/core/window-props.c:434 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s (على %s)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1448 | ||||
| #: ../src/core/window-props.c:1517 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "نافذة WM_TRANSIENT_FOR  0x%lx غير صحيحة ل %s.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1459 | ||||
| #: ../src/core/window-props.c:1528 | ||||
| #, fuzzy, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "نافذة WM_TRANSIENT_FOR  0x%lx غير صحيحة ل %s.\n" | ||||
| @@ -645,10 +654,20 @@ msgid "" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:17 | ||||
| msgid "Select window from tab popup" | ||||
| msgid "Auto maximize nearly monitor sized windows" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "" | ||||
| "If enabled, new windows that are initially the size of the monitor " | ||||
| "automatically get maximized." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:19 | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:20 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "" | ||||
|  | ||||
| @@ -851,69 +870,69 @@ msgstr "Mod5" | ||||
| #. Translators: This represents the size of a window.  The first number is | ||||
| #. * the width of the window and the second is the height. | ||||
| #. | ||||
| #: ../src/ui/resizepopup.c:113 | ||||
| #: ../src/ui/resizepopup.c:136 | ||||
| #, c-format | ||||
| msgid "%d x %d" | ||||
| msgstr "%d × %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:235 | ||||
| msgid "top" | ||||
| msgstr "أعلى" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:237 | ||||
| msgid "bottom" | ||||
| msgstr "أسفل" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:239 | ||||
| msgid "left" | ||||
| msgstr "يسار" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:241 | ||||
| msgid "right" | ||||
| msgstr "يمين" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:269 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "هندسة الإطار لا تخصص البعد \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:288 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "هندسة الإطار لا تخصص البعد \"%s\" للحد \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:325 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "النسبة الجانبية للزر %g غير معقولة" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:337 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "هندسة الإطار لا تخصص حجم الأزرار" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1050 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "يجب أن يكون للتّدرُّجات لونان على الأقل" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #: ../src/ui/theme.c:1202 | ||||
| #, fuzzy, c-format | ||||
| msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| "parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\"" | ||||
| msgstr "" | ||||
| "يحب أن يكون لتخصيص حالة ألوان جتك قوس غلق قائم بعد الحالة/ مثال gtk:fg" | ||||
| "[NORMAL]، NORMAL هنا هو الحالة، لا يمكن تحليل \"%s\"" | ||||
| "يحب أن يكون لتخصيص حالة ألوان جتك قوس غلق قائم بعد الحالة/ مثال gtk:" | ||||
| "fg[NORMAL]، NORMAL هنا هو الحالة، لا يمكن تحليل \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1218 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| "_ are valid" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #: ../src/ui/theme.c:1232 | ||||
| #, fuzzy, c-format | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| @@ -921,7 +940,7 @@ msgid "" | ||||
| msgstr "" | ||||
| "تهيئة التظليل هي \"تظليل/اللون_الأساسي/العامل\"، \"%s\" لا يناسب التهيئة" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1277 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| @@ -930,158 +949,158 @@ msgstr "" | ||||
| "يجب أن تكون حالة تخصيصات ألوان جتك  في قوسان قائمان، مثال gtk:fg[NORMAL] " | ||||
| "NORMAL هنا هو الحالة، لا يمكن تحليل \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1291 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| "fg[NORMAL] where NORMAL is the state; could not parse \"%s\"" | ||||
| msgstr "" | ||||
| "يحب أن يكون لتخصيص حالة ألوان جتك قوس غلق قائم بعد الحالة/ مثال gtk:fg" | ||||
| "[NORMAL]، NORMAL هنا هو الحالة، لا يمكن تحليل \"%s\"" | ||||
| "يحب أن يكون لتخصيص حالة ألوان جتك قوس غلق قائم بعد الحالة/ مثال gtk:" | ||||
| "fg[NORMAL]، NORMAL هنا هو الحالة، لا يمكن تحليل \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1302 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "لم تفهم الحالة \"%s\" في تخصيص الألوان" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1315 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "لم يفهم جزء اللون \"%s\" في تخصيص اللون" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1344 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| "format" | ||||
| msgstr "تهيئة الخلط \"blend/bg_color/fg_color/alpha\"، \"%s\"لا يناسب التهيئة" | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1355 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "لا يمكن تحليل قيمة الشفافية \"%s\" في اللون المخلط" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1365 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "قيمة الشفافية \"%s\" في اللون المخلوط ليست بين 0.0 و 1.0" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1412 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| msgstr "" | ||||
| "تهيئة التظليل هي \"تظليل/اللون_الأساسي/العامل\"، \"%s\" لا يناسب التهيئة" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1423 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "لا يمكن تحليل عامل التظليل \"%s\" في اللون المظلل" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1433 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "عامل التظليل \"%s\" في اللون المظلل سلبي" | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1462 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "لا يمكن تحليل اللون \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1779 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "تعبير الإحداثيّات يحتوي على الرمز '%s' الممنوع" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1806 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| "parsed" | ||||
| msgstr "تعبير الإحداثيّات يحتوي على عدد نقطة متغيرة '%s' تعذّر تحليله" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1820 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "تعبير الإحداثيّات يحتوي على عدد صحيح '%s' تعذّر تحليله" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1941 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| "\"%s\"" | ||||
| msgstr "تعبير الإحداثيّات يحتوي على مقسوم مجهول عند بداية هذا النص: \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:1998 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "تعبير الإحداثيّات فارغ أو لم يفهم" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2111 ../src/ui/theme.c:2121 ../src/ui/theme.c:2155 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "تعبير الإحداثيّات ينتُج عند القسمة على صفر" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2163 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| msgstr "تعبير الإحداثيّاتيّات يحاول استعمال مقسوم mod على عدد فاصلة متحرّكة" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2219 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| msgstr "تعبير الإحداثيّات له مقسوم \"%s\" بالرغم من ترقبه قاسم" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2228 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "تعبير الإحداثيّات له قاسم بالرغم من ترقبه لمقسوم" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2236 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "انتهى تعبير الإحداثيّات بمقسوم عوضا عن قاسم" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2246 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| "operand in between" | ||||
| msgstr "لتعبير الإحداثيّات مقسوم \"%c\" يتبع القاسم \"%c\" بدون قاسم بينهما" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2397 ../src/ui/theme.c:2442 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "كان لتعبير الإحداثيّات متغير أو ثابت \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2496 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "غمر محلّل تعبير الإحداثيّات مجاله" | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2525 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "كان لتعبير الإحداثيّات قوس غلق بدون قوس فتح" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2589 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "كان لتعبير الإحداثيات قوس فتح بدون قوس غلق" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2600 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "تعبير الإحداثيات لا يملك قاسمات و مقسومات" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2813 ../src/ui/theme.c:2833 ../src/ui/theme.c:2853 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "احتوت السِمة على تعبير ادى الى خطأ: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4499 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| @@ -1090,25 +1109,25 @@ msgstr "" | ||||
| "يجب تخصيص <button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> " | ||||
| "لأسلوب الإطار هذا" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5010 ../src/ui/theme.c:5035 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "" | ||||
| "<frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/> مفقود" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5083 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "فشل تحميل السِمة \"%s\": %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5219 ../src/ui/theme.c:5226 ../src/ui/theme.c:5233 | ||||
| #: ../src/ui/theme.c:5240 ../src/ui/theme.c:5247 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "لا <%s> ضبط للسِمة \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5255 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| @@ -1117,14 +1136,14 @@ msgstr "" | ||||
| "لا أسلوب إطار مضبوط لنوع النافذة \"%s\" في السِمة \"%s\"، اضف عنصر <window " | ||||
| "type=\"%s\" style_set=\"whatever\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5662 ../src/ui/theme.c:5724 ../src/ui/theme.c:5787 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| msgstr "" | ||||
| "الثوابت المعرفة من طرف المستخدم يجب أن تبدأ بحروف كبيرة، \"%s\" لا يبدأ بذلك" | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5670 ../src/ui/theme.c:5732 ../src/ui/theme.c:5795 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "عُرِّف الثابت \"%s\" بالفعل" | ||||
| @@ -1599,56 +1618,56 @@ msgstr "حد" | ||||
| msgid "Attached Modal Dialog" | ||||
| msgstr "صندوق حوار سائد" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:739 | ||||
| #: ../src/ui/theme-viewer.c:737 | ||||
| #, c-format | ||||
| msgid "Button layout test %d" | ||||
| msgstr "تجربة تصميم الأزرار %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:768 | ||||
| #: ../src/ui/theme-viewer.c:766 | ||||
| #, c-format | ||||
| msgid "%g milliseconds to draw one window frame" | ||||
| msgstr "%g ملي ثانية لرسم إظار واحد للنافذة" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:813 | ||||
| #: ../src/ui/theme-viewer.c:811 | ||||
| #, c-format | ||||
| msgid "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
| msgstr "الإستعمال: metacity-theme-viewer [THEMENAME]\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:820 | ||||
| #: ../src/ui/theme-viewer.c:818 | ||||
| #, c-format | ||||
| msgid "Error loading theme: %s\n" | ||||
| msgstr "خطأ عند تحميل السِمة: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:826 | ||||
| #: ../src/ui/theme-viewer.c:824 | ||||
| #, c-format | ||||
| msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| msgstr "حُمِّلت السِمة \"%s\" في %g ثواني\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:870 | ||||
| #: ../src/ui/theme-viewer.c:869 | ||||
| msgid "Normal Title Font" | ||||
| msgstr "خط عنوان عادي" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:876 | ||||
| #: ../src/ui/theme-viewer.c:875 | ||||
| msgid "Small Title Font" | ||||
| msgstr "خط عنوان صغير" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:882 | ||||
| #: ../src/ui/theme-viewer.c:881 | ||||
| msgid "Large Title Font" | ||||
| msgstr "خط عنوان كبير" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:887 | ||||
| #: ../src/ui/theme-viewer.c:886 | ||||
| msgid "Button Layouts" | ||||
| msgstr "تصاميم الأزرار" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:892 | ||||
| #: ../src/ui/theme-viewer.c:891 | ||||
| msgid "Benchmark" | ||||
| msgstr "علامة إهتداء" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:949 | ||||
| #: ../src/ui/theme-viewer.c:947 | ||||
| msgid "Window Title Goes Here" | ||||
| msgstr "عنوان النافذة يكون هنا" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1052 | ||||
| #: ../src/ui/theme-viewer.c:1053 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g " | ||||
| @@ -1658,43 +1677,46 @@ msgstr "" | ||||
| "دفعت %d إطارات في %g ثوان بإتجاه العميل (%g ملي ثانية لكل إطار) و %g ثواني " | ||||
| "بوقت ساعة حائطية مع مصادر خادوم X (%g ملي ثانية لكل إطار)\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1271 | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| msgid "position expression test returned TRUE but set error" | ||||
| msgstr "أرجع إختبار تعبير الموقع TRUE لكنه لم يكتشف الخطأ" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| #: ../src/ui/theme-viewer.c:1275 | ||||
| msgid "position expression test returned FALSE but didn't set error" | ||||
| msgstr "أرجع إختبار تعبير الموقع خطأ لكنه لم يكتشف الخطأ" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1277 | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| msgid "Error was expected but none given" | ||||
| msgstr "تُرُقِّب خطأ لكن لم يعطى أي خطأ" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| #: ../src/ui/theme-viewer.c:1281 | ||||
| #, c-format | ||||
| msgid "Error %d was expected but %d given" | ||||
| msgstr "تُرقّب %d لكن أعطى %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1285 | ||||
| #: ../src/ui/theme-viewer.c:1287 | ||||
| #, c-format | ||||
| msgid "Error not expected but one was returned: %s" | ||||
| msgstr "لم يُترقب خطأ لكنه أرجع واحدًا: %s" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1289 | ||||
| #: ../src/ui/theme-viewer.c:1291 | ||||
| #, c-format | ||||
| msgid "x value was %d, %d was expected" | ||||
| msgstr "قيمة س كانت %d، تُرُقِّب %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1292 | ||||
| #: ../src/ui/theme-viewer.c:1294 | ||||
| #, c-format | ||||
| msgid "y value was %d, %d was expected" | ||||
| msgstr "قيمة ص كانت %d، تُرُقَِب %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1357 | ||||
| #: ../src/ui/theme-viewer.c:1359 | ||||
| #, c-format | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "حُلِّلت %d تعابير الإحداثيات في %g ثواني (بمعدّل %g ثوان)\n" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "صغّر النّافذة" | ||||
|  | ||||
| #~ msgid "Comma-separated list of compositor plugins" | ||||
| #~ msgstr "قائمة بملحقات المزج مفصولة بفاصلة" | ||||
|  | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										664
									
								
								po/en_GB.po
									
									
									
									
									
								
							
							
						
						
									
										664
									
								
								po/en_GB.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										207
									
								
								po/es.po
									
									
									
									
									
								
							
							
						
						
									
										207
									
								
								po/es.po
									
									
									
									
									
								
							| @@ -7,15 +7,15 @@ | ||||
| # Pablo Gonzalo del Campo <pablodc@bigfoot.com>,2002,2003. | ||||
| # Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2004, 2005, 2006. | ||||
| # Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2010, 2011. | ||||
| # Daniel Mustieles <daniel.mustieles@gmail.com>, 2011, 2012. | ||||
| # Daniel Mustieles <daniel.mustieles@gmail.com>, 2011, 2012, 2013. | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: mutter.master\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" | ||||
| "product=mutter&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2012-12-25 12:35+0000\n" | ||||
| "PO-Revision-Date: 2012-12-26 11:47+0100\n" | ||||
| "POT-Creation-Date: 2013-03-01 15:50+0000\n" | ||||
| "PO-Revision-Date: 2013-03-04 13:55+0100\n" | ||||
| "Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" | ||||
| "Language-Team: Español <gnome-es-list@gnome.org>\n" | ||||
| "Language: \n" | ||||
| @@ -170,8 +170,8 @@ msgid "Close window" | ||||
| msgstr "Cerrar la ventana" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Minimize window" | ||||
| msgstr "Minimizar la ventana" | ||||
| msgid "Hide window" | ||||
| msgstr "Ocultar la ventana" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| msgid "Move window" | ||||
| @@ -215,7 +215,7 @@ msgstr "Ver división a la derecha" | ||||
|  | ||||
| #. This probably means that a non-WM compositor like xcompmgr is running; | ||||
| #. * we have no way to get it to exit | ||||
| #: ../src/compositor/compositor.c:512 | ||||
| #: ../src/compositor/compositor.c:507 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Another compositing manager is already running on screen %i on display \"%s" | ||||
| @@ -224,6 +224,10 @@ msgstr "" | ||||
| "Ya existe un gestor de composición ejecutándose en la monitor %i, pantalla «%" | ||||
| "s»." | ||||
|  | ||||
| #: ../src/compositor/meta-background.c:1111 | ||||
| msgid "background texture could not be created from file" | ||||
| msgstr "no se pudo crear la textura de fondo a partir de archivo" | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| msgid "Bell event" | ||||
| msgstr "Evento de campana" | ||||
| @@ -258,17 +262,17 @@ msgstr "_Esperar" | ||||
| msgid "_Force Quit" | ||||
| msgstr "_Forzar la salida" | ||||
|  | ||||
| #: ../src/core/display.c:394 | ||||
| #: ../src/core/display.c:401 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "Falta la extensión %s requerida para la composición" | ||||
|  | ||||
| #: ../src/core/display.c:491 | ||||
| #: ../src/core/display.c:493 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "Ocurrió un error al abrir la pantalla de X Window System «%s»\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:876 | ||||
| #: ../src/core/keybindings.c:929 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| @@ -277,6 +281,12 @@ msgstr "" | ||||
| "Algún otro programa ya está usando la clave %s con el modificador %x como " | ||||
| "una vinculación\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:1129 | ||||
| #, c-format | ||||
| #| msgid "\"%s\" is not a valid value for focus attribute" | ||||
| msgid "\"%s\" is not a valid accelerator\n" | ||||
| msgstr "«%s» no es un acelerador válido\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "Desactivar conexión al gestor de sesión" | ||||
| @@ -301,12 +311,12 @@ msgstr "Inicializar sesión desde el archivo de salvaguarda" | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "Hacer que las llamadas a las X sean síncronas" | ||||
|  | ||||
| #: ../src/core/main.c:496 | ||||
| #: ../src/core/main.c:494 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "Falló al inspeccionar la carpeta de temas: %s\n" | ||||
|  | ||||
| #: ../src/core/main.c:512 | ||||
| #: ../src/core/main.c:510 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -361,7 +371,7 @@ msgstr "" | ||||
| "«%s» encontrado en la base de datos de configuración no es un valor válido " | ||||
| "para el modificador del botón del ratón\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1768 | ||||
| #: ../src/core/prefs.c:1780 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| @@ -370,17 +380,17 @@ msgstr "" | ||||
| "«%s» encontrado en la base de datos de configuración no es un valor válido " | ||||
| "para la combinación de teclas «%s»\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1865 | ||||
| #: ../src/core/prefs.c:1879 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "Área de trabajo %d" | ||||
|  | ||||
| #: ../src/core/screen.c:658 | ||||
| #: ../src/core/screen.c:673 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "La ventana %d en la pantalla «%s» no es válida\n" | ||||
|  | ||||
| #: ../src/core/screen.c:674 | ||||
| #: ../src/core/screen.c:689 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -389,7 +399,7 @@ msgstr "" | ||||
| "La ventana %d en la pantalla «%s» ya tiene un gestor de ventanas, intente " | ||||
| "usar la opción «--replace» para reemplazar el gestor de ventanas activo.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:701 | ||||
| #: ../src/core/screen.c:716 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| @@ -397,12 +407,12 @@ msgstr "" | ||||
| "No se ha podido obtener la selección del gestor de ventanas en la ventana %d " | ||||
| "en la pantalla «%s»\n" | ||||
|  | ||||
| #: ../src/core/screen.c:770 | ||||
| #: ../src/core/screen.c:794 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "La ventana %d en la pantalla «%s» ya tiene un gestor de ventanas\n" | ||||
|  | ||||
| #: ../src/core/screen.c:955 | ||||
| #: ../src/core/screen.c:979 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "No se ha podido liberar el monitor %d en la pantalla «%s»\n" | ||||
| @@ -501,7 +511,7 @@ msgid "Window manager error: " | ||||
| msgstr "Error del gestor de ventanas: " | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7275 | ||||
| #: ../src/core/window.c:7539 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -517,7 +527,7 @@ msgstr "" | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7941 | ||||
| #: ../src/core/window.c:8263 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %" | ||||
| @@ -527,23 +537,23 @@ msgstr "" | ||||
| "redimensionable, pero configuró el tamaño mínimo a %d x %d y el tamaño " | ||||
| "máximo a %d x %d ; esto no tiene mucho sentido.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:274 | ||||
| #: ../src/core/window-props.c:318 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "La aplicación establecio un _NET_WM_PID %lu erróneo\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:393 | ||||
| #: ../src/core/window-props.c:434 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s (on %s)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1448 | ||||
| #: ../src/core/window-props.c:1517 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "" | ||||
| "WM_TRANSIENT_FOR no válido para la ventana 0x%lx especificada para %s.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1459 | ||||
| #: ../src/core/window-props.c:1528 | ||||
| #, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "WM_TRANSIENT_FOR ventana 0x%lx para %s crearía un bucle.\n" | ||||
| @@ -701,11 +711,11 @@ msgstr "" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "" | ||||
| "If enabled, monitor nearly monitor sized windows automatically get maximized " | ||||
| "when mapped." | ||||
| "If enabled, new windows that are initially the size of the monitor " | ||||
| "automatically get maximized." | ||||
| msgstr "" | ||||
| "Si está activada, las ventanas cercanas al tamaño de la pantalla se " | ||||
| "maximizan automáticamente al mapearlas." | ||||
| "Si está activada, las ventanas nuevas que inicialmente tienen el tamaño de " | ||||
| "la pantalla, se maximizan." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:19 | ||||
| msgid "Select window from tab popup" | ||||
| @@ -914,54 +924,54 @@ msgstr "Mod5" | ||||
| #. Translators: This represents the size of a window.  The first number is | ||||
| #. * the width of the window and the second is the height. | ||||
| #. | ||||
| #: ../src/ui/resizepopup.c:113 | ||||
| #: ../src/ui/resizepopup.c:136 | ||||
| #, c-format | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:235 | ||||
| msgid "top" | ||||
| msgstr "superior" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:237 | ||||
| msgid "bottom" | ||||
| msgstr "inferior" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:239 | ||||
| msgid "left" | ||||
| msgstr "izquierda" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:241 | ||||
| msgid "right" | ||||
| msgstr "derecha" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:269 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "La geometría del marco no especifica la dimensión «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:288 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "" | ||||
| "La geometría del marco no especifica la dimensión «%s» para el borde «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:325 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "La proporción del botón %g no es razonable" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:337 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "La geometría del marco no especifica el tamaño de los botones" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1050 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "Los degradados deben tener al menos dos colores" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #: ../src/ui/theme.c:1202 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| @@ -971,7 +981,7 @@ msgstr "" | ||||
| "alternativo entre paréntesis, ejemplo: gtk:custom(foo,bar); no se pudo " | ||||
| "analizar «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1218 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| @@ -980,7 +990,7 @@ msgstr "" | ||||
| "Caracter «%c» no válido en el parámetro «color_name» de «gtk:custom», sólo «A-Za-" | ||||
| "z0-9-_» son válidos" | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #: ../src/ui/theme.c:1232 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| @@ -989,7 +999,7 @@ msgstr "" | ||||
| "El formato de «gtk:custom» es «gtk:custom(nombre_de_color," | ||||
| "nombre_alternativo)», «%s» no respeta el formato" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1277 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| @@ -999,7 +1009,7 @@ msgstr "" | ||||
| "ejemplo. gtk:fg[NORMAL] donde NORMAL es el estado ; no se ha podido " | ||||
| "interpretar «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1291 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| @@ -1009,18 +1019,18 @@ msgstr "" | ||||
| "estado, ejemplo. gtk:fg[NORMAL] donde NORMAL es el estado ; no se ha podido " | ||||
| "interpretar «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1302 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "No se entiende el estado «%s» en la especificación del color" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1315 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "" | ||||
| "No se entiende el componente de color «%s» en la especificación del color" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1344 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| @@ -1029,17 +1039,17 @@ msgstr "" | ||||
| "El formato de blend es «blend/bg_color/fg_color/alfa», «%s» no cumple con el " | ||||
| "formato" | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1355 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "No se ha podido interpretar el valor alfa «%s» en el color mezclado" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1365 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "El valor alfa «%s» en el color mezclado no está entre 0.0 y 1.0" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1412 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| @@ -1047,31 +1057,31 @@ msgstr "" | ||||
| "El formato de sombreado es «shade/base_color/factor», «%s» no coincide con el " | ||||
| "formato" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1423 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "" | ||||
| "No se ha podido interpretar el factor de sombreado «%s» en el color del " | ||||
| "sombreado" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1433 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "El factor de sombreado «%s» en el color sombreado es negativo" | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1462 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "No se ha podido interpretar el color «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1779 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "" | ||||
| "La expresión de coordenadas contenía un carácter «%s» en cual no está " | ||||
| "permitido" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1806 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| @@ -1080,13 +1090,13 @@ msgstr "" | ||||
| "La expresión de coordenadas contenía un número de coma flotante «%s» en cual " | ||||
| "no pudo ser analizado" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1820 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "" | ||||
| "La expresión de coordenadas contenía un entero «%s» que no pudo ser analizado" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1941 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| @@ -1095,17 +1105,17 @@ msgstr "" | ||||
| "La expresión de coordenadas contenía un operador no válido al inicio de su " | ||||
| "texto: «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:1998 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "La expresión de coordenadas estaba vacía o no fue entendida" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2111 ../src/ui/theme.c:2121 ../src/ui/theme.c:2155 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "La expresión de coordenadas resultó en un error de división por cero" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2163 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| @@ -1113,7 +1123,7 @@ msgstr "" | ||||
| "La expresión de coordenadas intentó usar un operador mod con un número de " | ||||
| "coma flotante" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2219 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| @@ -1121,19 +1131,19 @@ msgstr "" | ||||
| "La expresión de coordenadas tiene un operador «%s» donde se esperaba un " | ||||
| "operando" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2228 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "" | ||||
| "La expresión de coordenadas tiene un operando donde se esperaba un operador" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2236 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "" | ||||
| "La expresión de coordenadas termina con una operador en vez de un operando" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2246 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| @@ -1142,42 +1152,42 @@ msgstr "" | ||||
| "La expresión de coordenadas tiene el operador «%c» seguido del operador «%c» " | ||||
| "sin un operando entre ellos" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2397 ../src/ui/theme.c:2442 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "" | ||||
| "La expresión de coordenadas tenía una variable o constante desconocida «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2496 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "El parser de la expresión de coordenadas desbordó su búfer." | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2525 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "" | ||||
| "La expresión de coordenadas tenía un paréntesis cerrado sin un paréntesis " | ||||
| "abierto" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2589 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "" | ||||
| "La expresión de coordenadas tenía un paréntesis abierto sin un paréntesis " | ||||
| "cerrado" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2600 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "La expresión de coordenadas no parece tener ni operadores ni operandos" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2813 ../src/ui/theme.c:2833 ../src/ui/theme.c:2853 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "El tema contenía una expresión que ha resultado en un error: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4499 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| @@ -1186,25 +1196,25 @@ msgstr "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> debe ser " | ||||
| "especificado para este estilo de marco" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5010 ../src/ui/theme.c:5035 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "" | ||||
| "Falta <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5083 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "Ocurrió un error al cargar el tema «%s»: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5219 ../src/ui/theme.c:5226 ../src/ui/theme.c:5233 | ||||
| #: ../src/ui/theme.c:5240 ../src/ui/theme.c:5247 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "No se configuró <%s> para el tema «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5255 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| @@ -1213,7 +1223,7 @@ msgstr "" | ||||
| "No hay un estilo de marco para el tipo de ventana «%s» en el tema «%s», añada " | ||||
| "un elemento <window type=\"%s\" style_set=\"whatever\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5662 ../src/ui/theme.c:5724 ../src/ui/theme.c:5787 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| @@ -1221,7 +1231,7 @@ msgstr "" | ||||
| "Las constantes definidas por el usuario deben comenzar con una letra " | ||||
| "mayúscula; «%s» no lo hace" | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5670 ../src/ui/theme.c:5732 ../src/ui/theme.c:5795 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "La constante «%s» ya ha sido definida" | ||||
| @@ -1718,56 +1728,56 @@ msgstr "Borde" | ||||
| msgid "Attached Modal Dialog" | ||||
| msgstr "Diálogo modal adjunto" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:739 | ||||
| #: ../src/ui/theme-viewer.c:737 | ||||
| #, c-format | ||||
| msgid "Button layout test %d" | ||||
| msgstr "Test de distribución de botones %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:768 | ||||
| #: ../src/ui/theme-viewer.c:766 | ||||
| #, c-format | ||||
| msgid "%g milliseconds to draw one window frame" | ||||
| msgstr "%g milisegundos para dibujar un marco de ventana" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:813 | ||||
| #: ../src/ui/theme-viewer.c:811 | ||||
| #, c-format | ||||
| msgid "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
| msgstr "Uso: metacity-theme-viewer [NOMBRETEMA]\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:820 | ||||
| #: ../src/ui/theme-viewer.c:818 | ||||
| #, c-format | ||||
| msgid "Error loading theme: %s\n" | ||||
| msgstr "Ocurrió un error al cargar el tema:«%s»\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:826 | ||||
| #: ../src/ui/theme-viewer.c:824 | ||||
| #, c-format | ||||
| msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| msgstr "Se cargó el tema «%s» en %g segundos\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:870 | ||||
| #: ../src/ui/theme-viewer.c:869 | ||||
| msgid "Normal Title Font" | ||||
| msgstr "Tipografía de título normal" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:876 | ||||
| #: ../src/ui/theme-viewer.c:875 | ||||
| msgid "Small Title Font" | ||||
| msgstr "Tipografía de título pequeña" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:882 | ||||
| #: ../src/ui/theme-viewer.c:881 | ||||
| msgid "Large Title Font" | ||||
| msgstr "Tipografía de título grande" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:887 | ||||
| #: ../src/ui/theme-viewer.c:886 | ||||
| msgid "Button Layouts" | ||||
| msgstr "Distribución de botones" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:892 | ||||
| #: ../src/ui/theme-viewer.c:891 | ||||
| msgid "Benchmark" | ||||
| msgstr "Banco de pruebas" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:949 | ||||
| #: ../src/ui/theme-viewer.c:947 | ||||
| msgid "Window Title Goes Here" | ||||
| msgstr "El título de la ventana va aquí" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1052 | ||||
| #: ../src/ui/theme-viewer.c:1053 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g " | ||||
| @@ -1778,47 +1788,50 @@ msgstr "" | ||||
| "marco) y %g segundos de tiempo estándar incluyendo recursos del servidor X (%" | ||||
| "g milisegundos por marco)\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1271 | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| msgid "position expression test returned TRUE but set error" | ||||
| msgstr "" | ||||
| "prueba de expresión de la posición devolvió TRUE pero estableció un error" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| #: ../src/ui/theme-viewer.c:1275 | ||||
| msgid "position expression test returned FALSE but didn't set error" | ||||
| msgstr "" | ||||
| "prueba de expresión de la posición devolvió FASE pero no estableció un error" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1277 | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| msgid "Error was expected but none given" | ||||
| msgstr "Se esperaba un error, pero no se dio ninguno" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| #: ../src/ui/theme-viewer.c:1281 | ||||
| #, c-format | ||||
| msgid "Error %d was expected but %d given" | ||||
| msgstr "Se esperaba el error %d pero se dio el %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1285 | ||||
| #: ../src/ui/theme-viewer.c:1287 | ||||
| #, c-format | ||||
| msgid "Error not expected but one was returned: %s" | ||||
| msgstr "No se esperaba un error pero se devolvió uno: %s" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1289 | ||||
| #: ../src/ui/theme-viewer.c:1291 | ||||
| #, c-format | ||||
| msgid "x value was %d, %d was expected" | ||||
| msgstr "el valor x era %d, se esperaba %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1292 | ||||
| #: ../src/ui/theme-viewer.c:1294 | ||||
| #, c-format | ||||
| msgid "y value was %d, %d was expected" | ||||
| msgstr "el valor y era %d, se esperaba %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1357 | ||||
| #: ../src/ui/theme-viewer.c:1359 | ||||
| #, c-format | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "" | ||||
| "%d expresiones de coordenadas interpretadas en %g segundos (%g segundos de " | ||||
| "media)\n" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "Minimizar la ventana" | ||||
|  | ||||
| #~ msgid "Comma-separated list of compositor plugins" | ||||
| #~ msgstr "Lista de complementos del compositor separados por comas" | ||||
|  | ||||
|   | ||||
							
								
								
									
										257
									
								
								po/et.po
									
									
									
									
									
								
							
							
						
						
									
										257
									
								
								po/et.po
									
									
									
									
									
								
							| @@ -7,15 +7,15 @@ | ||||
| # | ||||
| # Tõivo Leedjärv <toivo linux ee>, 2004. | ||||
| # Ivar Smolin <okul linux ee>, 2005, 2006, 2009–2011. | ||||
| # Mattias Põldaru <mahfiaz@gmail.com>, 2008–2011, 2012. | ||||
| # Mattias Põldaru <mahfiaz@gmail.com>, 2008–2011, 2012, 2013. | ||||
| # | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: mutter MASTER\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" | ||||
| "product=mutter&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2012-12-18 22:30+0000\n" | ||||
| "PO-Revision-Date: 2012-12-19 18:06+0300\n" | ||||
| "POT-Creation-Date: 2013-09-10 15:25+0000\n" | ||||
| "PO-Revision-Date: 2013-09-11 23:20+0300\n" | ||||
| "Last-Translator: Mattias Põldaru <mahfiaz@gmail.com>\n" | ||||
| "Language-Team: Estonian <>\n" | ||||
| "Language: et\n" | ||||
| @@ -23,6 +23,7 @@ msgstr "" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n!=1);\n" | ||||
| "X-Generator: Poedit 1.5.4\n" | ||||
|  | ||||
| msgid "Navigation" | ||||
| msgstr "Navigeerimine" | ||||
| @@ -132,8 +133,8 @@ msgstr "Varjatud oleku vahetamine" | ||||
| msgid "Close window" | ||||
| msgstr "Akna sulgemine" | ||||
|  | ||||
| msgid "Minimize window" | ||||
| msgstr "Akna minimeerimine" | ||||
| msgid "Hide window" | ||||
| msgstr "Peida aken" | ||||
|  | ||||
| msgid "Move window" | ||||
| msgstr "Akna liigutamine" | ||||
| @@ -173,6 +174,9 @@ msgid "" | ||||
| "\"." | ||||
| msgstr "Teine komposiithaldur juba töötab ekraani %i kuval \"%s\"." | ||||
|  | ||||
| msgid "background texture could not be created from file" | ||||
| msgstr "failist polnud võimalik taustatekstuuri luua" | ||||
|  | ||||
| msgid "Bell event" | ||||
| msgstr "Helina sündmus" | ||||
|  | ||||
| @@ -214,6 +218,10 @@ msgstr "" | ||||
| "Mõni teine programm juba kasutab klahvi %s koos muuteklahvidega %x " | ||||
| "kiirklahvina\n" | ||||
|  | ||||
| #, c-format | ||||
| msgid "\"%s\" is not a valid accelerator\n" | ||||
| msgstr "\"%s\" pole sobiv kiirklahv\n" | ||||
|  | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "Seansihalduriga ühendumise keelamine" | ||||
|  | ||||
| @@ -242,6 +250,17 @@ msgid "" | ||||
| msgstr "" | ||||
| "Teemat ei leitud! Veendu, et %s on olemas ja sisaldab harilikke teemasid.\n" | ||||
|  | ||||
| msgid "Built-in display" | ||||
| msgstr "Sisseehitatud kuva" | ||||
|  | ||||
| #. TRANSLATORS: this is a monitor name (in case we don't know | ||||
| #. the vendor), it's Unknown followed by a size in inches, | ||||
| #. like 'Unknown 15"' | ||||
| #. | ||||
| #, c-format | ||||
| msgid "Unknown %s" | ||||
| msgstr "Tundmatu %s" | ||||
|  | ||||
| #, c-format | ||||
| msgid "" | ||||
| "mutter %s\n" | ||||
| @@ -374,7 +393,6 @@ msgstr "Tõrge logifaili %s avamisel funktsiooniga fdopen(): %s\n" | ||||
| msgid "Opened log file %s\n" | ||||
| msgstr "Avati logifail %s\n" | ||||
|  | ||||
| #, c-format | ||||
| msgid "Mutter was compiled without support for verbose mode\n" | ||||
| msgstr "Mutter kompileeriti ilma jutuka režiimi toeta\n" | ||||
|  | ||||
| @@ -549,16 +567,22 @@ msgstr "" | ||||
| "Lohistatava äärise laius. Kui kujunduse nähtavatest ääristest ei piisa, " | ||||
| "lisatakse puuduoleva osa jaoks nähtamatu ääris." | ||||
|  | ||||
| msgid "Auto maximize nearly monitor sized windows" | ||||
| msgstr "Peaaegu monitori suurused ekraanid maksimeeritakse automaatselt" | ||||
|  | ||||
| msgid "" | ||||
| "If enabled, new windows that are initially the size of the monitor " | ||||
| "automatically get maximized." | ||||
| msgstr "" | ||||
| "Kui lubatud, maksimeeritakse automaatselt aknad, mis on avanedes monitori " | ||||
| "suurused." | ||||
|  | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "Akna valimine tabulaatori hüpikaknalt" | ||||
|  | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "Tabulaatori hüpikakna katkestamine" | ||||
|  | ||||
| #, c-format | ||||
| msgid "Usage: %s\n" | ||||
| msgstr "Kasutamine: %s\n" | ||||
|  | ||||
| #. Translators: Translate this string the same way as you do in libwnck! | ||||
| msgid "Mi_nimize" | ||||
| msgstr "_Minimeeri" | ||||
| @@ -1264,156 +1288,151 @@ msgstr "Selle teema jaoks on <%s> määratud kaks korda" | ||||
| msgid "Failed to find a valid file for theme %s\n" | ||||
| msgstr "Tõrge %s teema jaoks korrektse faili leidmisel\n" | ||||
|  | ||||
| msgid "_Windows" | ||||
| msgstr "_Aknad" | ||||
| #~ msgid "Usage: %s\n" | ||||
| #~ msgstr "Kasutamine: %s\n" | ||||
|  | ||||
| msgid "_Dialog" | ||||
| msgstr "_Dialoog" | ||||
| #~ msgid "_Windows" | ||||
| #~ msgstr "_Aknad" | ||||
|  | ||||
| msgid "_Modal dialog" | ||||
| msgstr "_Modaaldialoog" | ||||
| #~ msgid "_Dialog" | ||||
| #~ msgstr "_Dialoog" | ||||
|  | ||||
| msgid "_Utility" | ||||
| msgstr "_Utiliit" | ||||
| #~ msgid "_Modal dialog" | ||||
| #~ msgstr "_Modaaldialoog" | ||||
|  | ||||
| msgid "_Splashscreen" | ||||
| msgstr "_Käivitusekraan" | ||||
| #~ msgid "_Utility" | ||||
| #~ msgstr "_Utiliit" | ||||
|  | ||||
| msgid "_Top dock" | ||||
| msgstr "Ü_lemine dokk" | ||||
| #~ msgid "_Splashscreen" | ||||
| #~ msgstr "_Käivitusekraan" | ||||
|  | ||||
| msgid "_Bottom dock" | ||||
| msgstr "_Alumine dokk" | ||||
| #~ msgid "_Top dock" | ||||
| #~ msgstr "Ü_lemine dokk" | ||||
|  | ||||
| msgid "_Left dock" | ||||
| msgstr "_Vasak dokk" | ||||
| #~ msgid "_Bottom dock" | ||||
| #~ msgstr "_Alumine dokk" | ||||
|  | ||||
| msgid "_Right dock" | ||||
| msgstr "_Parem dokk" | ||||
| #~ msgid "_Left dock" | ||||
| #~ msgstr "_Vasak dokk" | ||||
|  | ||||
| msgid "_All docks" | ||||
| msgstr "_Kõik dokid" | ||||
| #~ msgid "_Right dock" | ||||
| #~ msgstr "_Parem dokk" | ||||
|  | ||||
| msgid "Des_ktop" | ||||
| msgstr "_Töölaud" | ||||
| #~ msgid "_All docks" | ||||
| #~ msgstr "_Kõik dokid" | ||||
|  | ||||
| msgid "Open another one of these windows" | ||||
| msgstr "Ava neist akendest järgmine" | ||||
| #~ msgid "Des_ktop" | ||||
| #~ msgstr "_Töölaud" | ||||
|  | ||||
| msgid "This is a demo button with an 'open' icon" | ||||
| msgstr "See on näidisnupp koos 'ava' ikooniga" | ||||
| #~ msgid "Open another one of these windows" | ||||
| #~ msgstr "Ava neist akendest järgmine" | ||||
|  | ||||
| msgid "This is a demo button with a 'quit' icon" | ||||
| msgstr "See on näidisnupp koos 'lõpeta' ikooniga" | ||||
| #~ msgid "This is a demo button with an 'open' icon" | ||||
| #~ msgstr "See on näidisnupp koos 'ava' ikooniga" | ||||
|  | ||||
| msgid "This is a sample message in a sample dialog" | ||||
| msgstr "See on näidisteade näidisdialoogis" | ||||
| #~ msgid "This is a demo button with a 'quit' icon" | ||||
| #~ msgstr "See on näidisnupp koos 'lõpeta' ikooniga" | ||||
|  | ||||
| #, c-format | ||||
| msgid "Fake menu item %d\n" | ||||
| msgstr "Võltsitud menüüpunkt %d\n" | ||||
| #~ msgid "This is a sample message in a sample dialog" | ||||
| #~ msgstr "See on näidisteade näidisdialoogis" | ||||
|  | ||||
| msgid "Border-only window" | ||||
| msgstr "Ainult raamiga aken" | ||||
| #~ msgid "Fake menu item %d\n" | ||||
| #~ msgstr "Võltsitud menüüpunkt %d\n" | ||||
|  | ||||
| msgid "Bar" | ||||
| msgstr "Riba" | ||||
| #~ msgid "Border-only window" | ||||
| #~ msgstr "Ainult raamiga aken" | ||||
|  | ||||
| msgid "Normal Application Window" | ||||
| msgstr "Tavaline rakenduseaken" | ||||
| #~ msgid "Bar" | ||||
| #~ msgstr "Riba" | ||||
|  | ||||
| msgid "Dialog Box" | ||||
| msgstr "Dialoogikast" | ||||
| #~ msgid "Normal Application Window" | ||||
| #~ msgstr "Tavaline rakenduseaken" | ||||
|  | ||||
| msgid "Modal Dialog Box" | ||||
| msgstr "Modaalne dialoogikast" | ||||
| #~ msgid "Dialog Box" | ||||
| #~ msgstr "Dialoogikast" | ||||
|  | ||||
| msgid "Utility Palette" | ||||
| msgstr "Rakendite palett" | ||||
| #~ msgid "Modal Dialog Box" | ||||
| #~ msgstr "Modaalne dialoogikast" | ||||
|  | ||||
| msgid "Torn-off Menu" | ||||
| msgstr "Ärarebitav menüü" | ||||
| #~ msgid "Utility Palette" | ||||
| #~ msgstr "Rakendite palett" | ||||
|  | ||||
| msgid "Border" | ||||
| msgstr "Raam" | ||||
| #~ msgid "Torn-off Menu" | ||||
| #~ msgstr "Ärarebitav menüü" | ||||
|  | ||||
| msgid "Attached Modal Dialog" | ||||
| msgstr "Kinnistatud modaaldialoog" | ||||
| #~ msgid "Border" | ||||
| #~ msgstr "Raam" | ||||
|  | ||||
| #, c-format | ||||
| msgid "Button layout test %d" | ||||
| msgstr "Nuppude paigutuse test %d" | ||||
| #~ msgid "Attached Modal Dialog" | ||||
| #~ msgstr "Kinnistatud modaaldialoog" | ||||
|  | ||||
| #, c-format | ||||
| msgid "%g milliseconds to draw one window frame" | ||||
| msgstr "%g millisekundit kulub ühe akna raami joonistamiseks" | ||||
| #~ msgid "Button layout test %d" | ||||
| #~ msgstr "Nuppude paigutuse test %d" | ||||
|  | ||||
| #, c-format | ||||
| msgid "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
| msgstr "Kasutamine: metacity-theme-viewer [TEEMANIMI]\n" | ||||
| #~ msgid "%g milliseconds to draw one window frame" | ||||
| #~ msgstr "%g millisekundit kulub ühe akna raami joonistamiseks" | ||||
|  | ||||
| #, c-format | ||||
| msgid "Error loading theme: %s\n" | ||||
| msgstr "Viga teema laadimisel: %s\n" | ||||
| #~ msgid "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
| #~ msgstr "Kasutamine: metacity-theme-viewer [TEEMANIMI]\n" | ||||
|  | ||||
| #, c-format | ||||
| msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| msgstr "Teema \"%s\" laaditi %g sekundiga\n" | ||||
| #~ msgid "Error loading theme: %s\n" | ||||
| #~ msgstr "Viga teema laadimisel: %s\n" | ||||
|  | ||||
| msgid "Normal Title Font" | ||||
| msgstr "Tiitli tavasuurusega kirjatüüp" | ||||
| #~ msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| #~ msgstr "Teema \"%s\" laaditi %g sekundiga\n" | ||||
|  | ||||
| msgid "Small Title Font" | ||||
| msgstr "Tiitli väike kirjatüüp" | ||||
| #~ msgid "Normal Title Font" | ||||
| #~ msgstr "Tiitli tavasuurusega kirjatüüp" | ||||
|  | ||||
| msgid "Large Title Font" | ||||
| msgstr "Tiitli suur kirjatüüp" | ||||
| #~ msgid "Small Title Font" | ||||
| #~ msgstr "Tiitli väike kirjatüüp" | ||||
|  | ||||
| msgid "Button Layouts" | ||||
| msgstr "Nuppude paigutus" | ||||
| #~ msgid "Large Title Font" | ||||
| #~ msgstr "Tiitli suur kirjatüüp" | ||||
|  | ||||
| msgid "Benchmark" | ||||
| msgstr "Jõudlus" | ||||
| #~ msgid "Button Layouts" | ||||
| #~ msgstr "Nuppude paigutus" | ||||
|  | ||||
| msgid "Window Title Goes Here" | ||||
| msgstr "Siia tuleb akna pealkiri" | ||||
| #~ msgid "Benchmark" | ||||
| #~ msgstr "Jõudlus" | ||||
|  | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g " | ||||
| "seconds wall clock time including X server resources (%g milliseconds per " | ||||
| "frame)\n" | ||||
| msgstr "" | ||||
| "Joonistati %d kaadrit %g kliendi-kella sekundiga (%g millisekundit kaadrile) " | ||||
| "ja %g sekundiga seinakella järgi, millesse on kaasatud X-serveri " | ||||
| "ressursikasutus (%g millisekundit kaadrile)\n" | ||||
| #~ msgid "Window Title Goes Here" | ||||
| #~ msgstr "Siia tuleb akna pealkiri" | ||||
|  | ||||
| msgid "position expression test returned TRUE but set error" | ||||
| msgstr "asukoha avaldise kontroll tagastas TÕENE, aga määras vea" | ||||
| #~ msgid "" | ||||
| #~ "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and " | ||||
| #~ "%g seconds wall clock time including X server resources (%g milliseconds " | ||||
| #~ "per frame)\n" | ||||
| #~ msgstr "" | ||||
| #~ "Joonistati %d kaadrit %g kliendi-kella sekundiga (%g millisekundit " | ||||
| #~ "kaadrile) ja %g sekundiga seinakella järgi, millesse on kaasatud X-" | ||||
| #~ "serveri ressursikasutus (%g millisekundit kaadrile)\n" | ||||
|  | ||||
| msgid "position expression test returned FALSE but didn't set error" | ||||
| msgstr "asukoha avaldise kontroll tagastas VÄÄR, aga ei määranud viga" | ||||
| #~ msgid "position expression test returned TRUE but set error" | ||||
| #~ msgstr "asukoha avaldise kontroll tagastas TÕENE, aga määras vea" | ||||
|  | ||||
| msgid "Error was expected but none given" | ||||
| msgstr "Oodati viga, aga ühtegi ei edastatud" | ||||
| #~ msgid "position expression test returned FALSE but didn't set error" | ||||
| #~ msgstr "asukoha avaldise kontroll tagastas VÄÄR, aga ei määranud viga" | ||||
|  | ||||
| #, c-format | ||||
| msgid "Error %d was expected but %d given" | ||||
| msgstr "Oodati viga %d, aga edastati viga %d" | ||||
| #~ msgid "Error was expected but none given" | ||||
| #~ msgstr "Oodati viga, aga ühtegi ei edastatud" | ||||
|  | ||||
| #, c-format | ||||
| msgid "Error not expected but one was returned: %s" | ||||
| msgstr "Viga ei oodatud, aga üks edastati: %s" | ||||
| #~ msgid "Error %d was expected but %d given" | ||||
| #~ msgstr "Oodati viga %d, aga edastati viga %d" | ||||
|  | ||||
| #, c-format | ||||
| msgid "x value was %d, %d was expected" | ||||
| msgstr "x väärtus oli %d, oodati väärtust %d" | ||||
| #~ msgid "Error not expected but one was returned: %s" | ||||
| #~ msgstr "Viga ei oodatud, aga üks edastati: %s" | ||||
|  | ||||
| #, c-format | ||||
| msgid "y value was %d, %d was expected" | ||||
| msgstr "y väärtus oli %d, oodati väärtust %d" | ||||
| #~ msgid "x value was %d, %d was expected" | ||||
| #~ msgstr "x väärtus oli %d, oodati väärtust %d" | ||||
|  | ||||
| #, c-format | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "" | ||||
| "%d koordinaatide avaldis töödeldi %g sekundiga (keskmine %g sekundit)\n" | ||||
| #~ msgid "y value was %d, %d was expected" | ||||
| #~ msgstr "y väärtus oli %d, oodati väärtust %d" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| #~ msgstr "" | ||||
| #~ "%d koordinaatide avaldis töödeldi %g sekundiga (keskmine %g sekundit)\n" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "Akna minimeerimine" | ||||
|   | ||||
							
								
								
									
										219
									
								
								po/gl.po
									
									
									
									
									
								
							
							
						
						
									
										219
									
								
								po/gl.po
									
									
									
									
									
								
							| @@ -9,13 +9,13 @@ | ||||
| # Mancomún - Centro de Referencia e Servizos de Software Libre <g11n@mancomun.org>, 2009. | ||||
| # Fran Diéguez <frandieguez@gnome.org>, 2009, 2010, 2011, 2012. | ||||
| # Leandro Regueiro <leandro.regueiro@gmail.com>, 2012. | ||||
| # Fran Dieguez <frandieguez@gnome.org>, 2012. | ||||
| # Fran Dieguez <frandieguez@gnome.org>, 2012, 2013. | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: gl\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2012-12-24 22:58+0100\n" | ||||
| "PO-Revision-Date: 2012-12-24 23:03+0200\n" | ||||
| "POT-Creation-Date: 2013-03-04 13:55+0100\n" | ||||
| "PO-Revision-Date: 2013-03-04 14:20+0200\n" | ||||
| "Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n" | ||||
| "Language-Team: gnome-l10n-gl@gnome.org\n" | ||||
| "Language: gl\n" | ||||
| @@ -170,8 +170,8 @@ msgid "Close window" | ||||
| msgstr "Pechar xanela" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Minimize window" | ||||
| msgstr "Minimizar xanela" | ||||
| msgid "Hide window" | ||||
| msgstr "Ocultar xanela" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| msgid "Move window" | ||||
| @@ -215,7 +215,7 @@ msgstr "Dividir vista á dereita" | ||||
|  | ||||
| #. This probably means that a non-WM compositor like xcompmgr is running; | ||||
| #. * we have no way to get it to exit | ||||
| #: ../src/compositor/compositor.c:512 | ||||
| #: ../src/compositor/compositor.c:509 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Another compositing manager is already running on screen %i on display \"%s" | ||||
| @@ -224,6 +224,10 @@ msgstr "" | ||||
| "Xa se está a executar outro xestor de composición na pantalla %i na " | ||||
| "visualización «%s»" | ||||
|  | ||||
| #: ../src/compositor/meta-background.c:1180 | ||||
| msgid "background texture could not be created from file" | ||||
| msgstr "a textura do fondo non puido crearse desde o ficheiro" | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| msgid "Bell event" | ||||
| msgstr "Evento de campá" | ||||
| @@ -258,17 +262,17 @@ msgstr "Espe_rar" | ||||
| msgid "_Force Quit" | ||||
| msgstr "_Forzar a saída" | ||||
|  | ||||
| #: ../src/core/display.c:394 | ||||
| #: ../src/core/display.c:401 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "Falta a extensión %s que se require para a composición" | ||||
|  | ||||
| #: ../src/core/display.c:491 | ||||
| #: ../src/core/display.c:493 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "Produciuse un erro ao abrir a visualización do X Window System «%s»\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:876 | ||||
| #: ../src/core/keybindings.c:929 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| @@ -277,6 +281,11 @@ msgstr "" | ||||
| "Algún outro programa xa está usando a tecla %s cos modificadores %x como " | ||||
| "combinación\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:1129 | ||||
| #, c-format | ||||
| msgid "\"%s\" is not a valid accelerator\n" | ||||
| msgstr "«%s» non é un acelerador correcto\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "Desactivar a conexión ao xestor de sesión" | ||||
| @@ -301,12 +310,12 @@ msgstr "Inicializar sesión desde o ficheiro de salvagarda" | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "Facer que as chamadas a X sexan sincrónicas" | ||||
|  | ||||
| #: ../src/core/main.c:496 | ||||
| #: ../src/core/main.c:533 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "Produciuse un erro ao dixitalizar o directorio de temas: %s\n" | ||||
|  | ||||
| #: ../src/core/main.c:512 | ||||
| #: ../src/core/main.c:549 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -337,7 +346,7 @@ msgstr "Imprimir versión" | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "Engadido de mutter que usar" | ||||
|  | ||||
| #: ../src/core/prefs.c:1079 | ||||
| #: ../src/core/prefs.c:1087 | ||||
| msgid "" | ||||
| "Workarounds for broken applications disabled. Some applications may not " | ||||
| "behave properly.\n" | ||||
| @@ -345,14 +354,14 @@ msgstr "" | ||||
| "Desactiváronse os arranxos para aplicativos danados. Pode que algúns " | ||||
| "aplicativos non se comporten correctamente.\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1154 | ||||
| #: ../src/core/prefs.c:1162 | ||||
| #, c-format | ||||
| msgid "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
| msgstr "" | ||||
| "Non foi posíbel analizar a descrición do tipo de letra «%s» da chave " | ||||
| "GSettings %s\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1220 | ||||
| #: ../src/core/prefs.c:1228 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for mouse button " | ||||
| @@ -361,7 +370,7 @@ msgstr "" | ||||
| "«%s» atopados na base de datos de configuración non é un valor correcto para " | ||||
| "o modificador do botón do rato\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1757 | ||||
| #: ../src/core/prefs.c:1780 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| @@ -370,17 +379,17 @@ msgstr "" | ||||
| "«%s» atopados na base de datos de configuración non é un valor correcto para " | ||||
| "a combinación de teclas «%s»\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1854 | ||||
| #: ../src/core/prefs.c:1879 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "Espazo de traballo %d" | ||||
|  | ||||
| #: ../src/core/screen.c:658 | ||||
| #: ../src/core/screen.c:673 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "A pantalla %d na visualización «%s» non é válida\n" | ||||
|  | ||||
| #: ../src/core/screen.c:674 | ||||
| #: ../src/core/screen.c:689 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -389,7 +398,7 @@ msgstr "" | ||||
| "A visualización %d na pantalla «%s» ten xa un xestor de xanelas, tente usar " | ||||
| "a opción --replace para substituír o xestor de xanelas.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:701 | ||||
| #: ../src/core/screen.c:716 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| @@ -397,12 +406,12 @@ msgstr "" | ||||
| "Non foi posíbel obter a selección do xestor de xanelas na pantalla %d na " | ||||
| "visualización «%s»\n" | ||||
|  | ||||
| #: ../src/core/screen.c:770 | ||||
| #: ../src/core/screen.c:794 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "A visualización %d na pantalla «%s» ten xa un xestor de xanelas\n" | ||||
|  | ||||
| #: ../src/core/screen.c:955 | ||||
| #: ../src/core/screen.c:979 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "Non foi posíbel liberar a visualización %d na pantalla «%s»\n" | ||||
| @@ -499,7 +508,7 @@ msgid "Window manager error: " | ||||
| msgstr "Erro do xestor de xanelas: " | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7275 | ||||
| #: ../src/core/window.c:7539 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -515,7 +524,7 @@ msgstr "" | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7941 | ||||
| #: ../src/core/window.c:8263 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| @@ -525,23 +534,23 @@ msgstr "" | ||||
| "mais configurou o tamaño mínimo a %d x %d e o tamaño máximo a %d x %d, isto " | ||||
| "non ten moito sentido.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:274 | ||||
| #: ../src/core/window-props.c:318 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "O aplicativo configurou un _NET_WM_PID %lu falso\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:393 | ||||
| #: ../src/core/window-props.c:434 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s (en %s)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1448 | ||||
| #: ../src/core/window-props.c:1517 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "" | ||||
| "WM_TRANSIENT_FOR non válido para a xanela 0x%lx especificada para %s.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1459 | ||||
| #: ../src/core/window-props.c:1528 | ||||
| #, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "WM_TRANSIENT_FOR xanela 0x%lx para %s crearía un bucle.\n" | ||||
| @@ -689,10 +698,23 @@ msgstr "" | ||||
| "son suficientes, engadiranse bordos invisíbeis para satisfacer este valor." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:17 | ||||
| msgid "Auto maximize nearly monitor sized windows" | ||||
| msgstr "" | ||||
| "Maximizar automaticamente as xanelas que case teñan o tamaño da pantalla" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "" | ||||
| "If enabled, new windows that are initially the size of the monitor " | ||||
| "automatically get maximized." | ||||
| msgstr "" | ||||
| "Se está activada, as xanelas novas que inicialmente teñan o tamaño da " | ||||
| "pantalla maximizaranse automaticamente." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:19 | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "Seleccionar xanela da lapela emerxente" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:20 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "Cancelar lapela emerxente" | ||||
|  | ||||
| @@ -895,53 +917,53 @@ msgstr "Mod5" | ||||
| #. Translators: This represents the size of a window.  The first number is | ||||
| #. * the width of the window and the second is the height. | ||||
| #. | ||||
| #: ../src/ui/resizepopup.c:113 | ||||
| #: ../src/ui/resizepopup.c:136 | ||||
| #, c-format | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:235 | ||||
| msgid "top" | ||||
| msgstr "superior" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:237 | ||||
| msgid "bottom" | ||||
| msgstr "inferior" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:239 | ||||
| msgid "left" | ||||
| msgstr "esquerda" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:241 | ||||
| msgid "right" | ||||
| msgstr "dereita" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:269 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "a xeometría do marco non especifica a dimensión «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:288 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "a xeometría do marco non especifica a dimensión «%s» para o bordo «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:325 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "A proporción de aspecto do botón %g non é razoábel" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:337 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "A xeometría do marco non especifica o tamaño dos botóns" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1050 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "As gradacións deben ter polo menos dúas cores" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #: ../src/ui/theme.c:1202 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| @@ -951,7 +973,7 @@ msgstr "" | ||||
| "entre parénteses, por exemplo: gtk:custom(foo,bar); non foi posíbel analizar " | ||||
| "«%s»." | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1218 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| @@ -960,7 +982,7 @@ msgstr "" | ||||
| "O carácter «%c» non é válido no parámetro «color_name» de «gtk:custom», só " | ||||
| "«A-Za-z0-9» son válidos" | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #: ../src/ui/theme.c:1232 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| @@ -969,7 +991,7 @@ msgstr "" | ||||
| "O formato de «gtk:custom» é «gtk:custom(nome_de_cor,nome_alternativo», «%s» " | ||||
| "non respecta o formato" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1277 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| @@ -978,7 +1000,7 @@ msgstr "" | ||||
| "A especificación de cor do GTK debe ter o estado entre parénteses, exemplo. " | ||||
| "gtk:fg[NORMAL] onde NORMAL é o estado; non foi posíbel analizar «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1291 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| @@ -988,17 +1010,17 @@ msgstr "" | ||||
| "estado, exemplo. gtk:fg[NORMAL] onde NORMAL é o estado; non foi posíbel " | ||||
| "analizar «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1302 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "Non se entende o estado «%s» na especificación da cor" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1315 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "Non se entende o compoñente de cor «%s» na especificación da cor" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1344 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| @@ -1007,17 +1029,17 @@ msgstr "" | ||||
| "O formato de blend é «blend/bg_color/fg_color/alpha», «%s»non coincide co " | ||||
| "formato" | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1355 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "Non foi posíbel analizar o valor alfa «%s» na cor mesturada" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1365 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "O valor alfa «%s» na cor mesturada non está entre 0.0 e 1.0" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1412 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| @@ -1025,28 +1047,28 @@ msgstr "" | ||||
| "O formato de sombreado é \"shade/base_color/factor\", «%s» non coincide co " | ||||
| "formato" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1423 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "Non foi posíbel analizar o factor de sombreado «%s» na cor sombreada" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1433 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "O factor de sombreado «%s» na cor sombreada é negativo" | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1462 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "Non foi posíbel analizar a cor «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1779 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "" | ||||
| "A expresión de coordenadas contén un carácter «%s» que non está permitido" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1806 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| @@ -1055,14 +1077,14 @@ msgstr "" | ||||
| "A expresión de coordenadas contén un número de coma flotante «%s» que non " | ||||
| "foi posíbel analizar" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1820 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "" | ||||
| "A expresión de coordenadas contén un enteiro «%s» que non foi posíbel " | ||||
| "analizar" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1941 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| @@ -1071,17 +1093,17 @@ msgstr "" | ||||
| "A expresión de coordenadas contén un operador non válido ao inicio do seu " | ||||
| "texto: «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:1998 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "A expresión de coordenadas está baleira ou non se entendeu" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2111 ../src/ui/theme.c:2121 ../src/ui/theme.c:2155 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "A expresión de coordenadas resultou nun erro de división por cero" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2163 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| @@ -1089,25 +1111,25 @@ msgstr "" | ||||
| "A expresión de coordenadas tentou usar un operador mod cun número de coma " | ||||
| "flotante" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2219 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| msgstr "" | ||||
| "A expresión de coordenadas ten un operador «%s» onde se esperaba un operando" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2228 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "" | ||||
| "A expresión de coordenadas ten un operando onde se esperaba un operador" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2236 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "A expresión de coordenadas remata cun operador en vez dun operando" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2246 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| @@ -1116,42 +1138,42 @@ msgstr "" | ||||
| "A expresión de coordenadas ten un operador \"%c\" seguido do operador \"%c\" " | ||||
| "sen un operando entre eles" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2397 ../src/ui/theme.c:2442 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "" | ||||
| "A expresión de coordenadas ten unha variábel ou constante descoñecida «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2496 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "O analizador da expresión de coordenadas desbordou o seu búfer." | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2525 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "" | ||||
| "A expresión de coordenadas ten unha paréntese pechada sen unha paréntese " | ||||
| "aberta" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2589 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "" | ||||
| "A expresión de coordenadas ten unha paréntese aberta sen unha paréntese " | ||||
| "pechada" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2600 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "A expresión de coordenadas non parece ter nin operadores nin operandos" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2813 ../src/ui/theme.c:2833 ../src/ui/theme.c:2853 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "O tema contiña unha expresión que resultou ser un erro: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4499 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| @@ -1160,24 +1182,24 @@ msgstr "" | ||||
| "<button function=«%s» state=«%s» draw_ops=\"whatever\"/> débese especificar " | ||||
| "para este estilo de marco" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5010 ../src/ui/theme.c:5035 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "Falta <frame state=«%s» resize=«%s» focus=«%s» style=\"whatever\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5083 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "Produciuse un erro ao cargar o tema «%s»: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5219 ../src/ui/theme.c:5226 ../src/ui/theme.c:5233 | ||||
| #: ../src/ui/theme.c:5240 ../src/ui/theme.c:5247 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "Non se configurou <%s> para o tema «%s»" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5255 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| @@ -1186,7 +1208,7 @@ msgstr "" | ||||
| "Non hai un estilo de marco para o tipo de xanela «%s» no tema «%s», engada " | ||||
| "un elemento <window type=«%s» style_set=\"whatever\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5662 ../src/ui/theme.c:5724 ../src/ui/theme.c:5787 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| @@ -1194,7 +1216,7 @@ msgstr "" | ||||
| "As constantes definidas polo usuario deben comezar cunha letra maiúscula; " | ||||
| "«%s» non o fai" | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5670 ../src/ui/theme.c:5732 ../src/ui/theme.c:5795 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "A constante «%s» xa foi definida" | ||||
| @@ -1687,56 +1709,56 @@ msgstr "Bordo" | ||||
| msgid "Attached Modal Dialog" | ||||
| msgstr "Diálogo modal adxunto" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:739 | ||||
| #: ../src/ui/theme-viewer.c:737 | ||||
| #, c-format | ||||
| msgid "Button layout test %d" | ||||
| msgstr "Proba de disposición de botóns %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:768 | ||||
| #: ../src/ui/theme-viewer.c:766 | ||||
| #, c-format | ||||
| msgid "%g milliseconds to draw one window frame" | ||||
| msgstr "%g milisegundos para debuxar un marco de xanela" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:813 | ||||
| #: ../src/ui/theme-viewer.c:811 | ||||
| #, c-format | ||||
| msgid "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
| msgstr "Uso: metacity-theme-viewer [NOMETEMA]\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:820 | ||||
| #: ../src/ui/theme-viewer.c:818 | ||||
| #, c-format | ||||
| msgid "Error loading theme: %s\n" | ||||
| msgstr "Produciuse un erro ao cargar o tema: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:826 | ||||
| #: ../src/ui/theme-viewer.c:824 | ||||
| #, c-format | ||||
| msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| msgstr "Cargouse o tema «%s» en %g segundos\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:870 | ||||
| #: ../src/ui/theme-viewer.c:869 | ||||
| msgid "Normal Title Font" | ||||
| msgstr "Tipo de letra de título normal" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:876 | ||||
| #: ../src/ui/theme-viewer.c:875 | ||||
| msgid "Small Title Font" | ||||
| msgstr "Tipo de letra de título pequena" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:882 | ||||
| #: ../src/ui/theme-viewer.c:881 | ||||
| msgid "Large Title Font" | ||||
| msgstr "Tipo de letra de título grande" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:887 | ||||
| #: ../src/ui/theme-viewer.c:886 | ||||
| msgid "Button Layouts" | ||||
| msgstr "Disposición dos botóns" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:892 | ||||
| #: ../src/ui/theme-viewer.c:891 | ||||
| msgid "Benchmark" | ||||
| msgstr "Banco de probas" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:949 | ||||
| #: ../src/ui/theme-viewer.c:947 | ||||
| msgid "Window Title Goes Here" | ||||
| msgstr "O título da xanela vai aquí" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1052 | ||||
| #: ../src/ui/theme-viewer.c:1053 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g " | ||||
| @@ -1747,47 +1769,50 @@ msgstr "" | ||||
| "marco) e %g segundos de tempo estándar incluíndo recursos do servidor X (%g " | ||||
| "milisegundos por marco)\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1271 | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| msgid "position expression test returned TRUE but set error" | ||||
| msgstr "" | ||||
| "a proba de expresión da posición devolveu TRUE mais estabeleceu un erro" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| #: ../src/ui/theme-viewer.c:1275 | ||||
| msgid "position expression test returned FALSE but didn't set error" | ||||
| msgstr "" | ||||
| "a proba de expresión da posición devolveu FALSE mais estabeleceu un erro" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1277 | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| msgid "Error was expected but none given" | ||||
| msgstr "Esperábase un erro, mais non se deu ningún" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| #: ../src/ui/theme-viewer.c:1281 | ||||
| #, c-format | ||||
| msgid "Error %d was expected but %d given" | ||||
| msgstr "Esperábase un erro %d mais deuse %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1285 | ||||
| #: ../src/ui/theme-viewer.c:1287 | ||||
| #, c-format | ||||
| msgid "Error not expected but one was returned: %s" | ||||
| msgstr "Non se esperaba ningún erro mais devolveuse un: %s" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1289 | ||||
| #: ../src/ui/theme-viewer.c:1291 | ||||
| #, c-format | ||||
| msgid "x value was %d, %d was expected" | ||||
| msgstr "o valor x era %d, esperábase %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1292 | ||||
| #: ../src/ui/theme-viewer.c:1294 | ||||
| #, c-format | ||||
| msgid "y value was %d, %d was expected" | ||||
| msgstr "o valor y era %d, esperábase %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1357 | ||||
| #: ../src/ui/theme-viewer.c:1359 | ||||
| #, c-format | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "" | ||||
| "%d expresións de coordenadas interpretadas en %g segundos (%g segundos de " | ||||
| "media)\n" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "Minimizar xanela" | ||||
|  | ||||
| #~ msgid "Comma-separated list of compositor plugins" | ||||
| #~ msgstr "Lista de separadas por comas dos complementos do compositor" | ||||
|  | ||||
|   | ||||
							
								
								
									
										264
									
								
								po/he.po
									
									
									
									
									
								
							
							
						
						
									
										264
									
								
								po/he.po
									
									
									
									
									
								
							| @@ -9,8 +9,8 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: metacity.HEAD.he\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2012-12-26 19:50+0200\n" | ||||
| "PO-Revision-Date: 2012-12-26 19:50+0200\n" | ||||
| "POT-Creation-Date: 2013-04-03 08:27+0300\n" | ||||
| "PO-Revision-Date: 2013-04-03 08:28+0200\n" | ||||
| "Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n" | ||||
| "Language-Team: Hebrew <he@li.org>\n" | ||||
| "Language: he\n" | ||||
| @@ -164,8 +164,8 @@ msgid "Close window" | ||||
| msgstr "סגירת חלון" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Minimize window" | ||||
| msgstr "מזעור חלון" | ||||
| msgid "Hide window" | ||||
| msgstr "הסתרת החלון" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| msgid "Move window" | ||||
| @@ -209,12 +209,16 @@ msgstr "פיצול הצפייה מימין" | ||||
|  | ||||
| #. This probably means that a non-WM compositor like xcompmgr is running; | ||||
| #. * we have no way to get it to exit | ||||
| #: ../src/compositor/compositor.c:512 | ||||
| #: ../src/compositor/compositor.c:568 | ||||
| #, c-format | ||||
| msgid "Another compositing manager is already running on screen %i on display \"%s\"." | ||||
| msgstr "מנהל תצוגת חלונות אחר כבר פועל במסך %i בתצוגה „%s“." | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| #: ../src/compositor/meta-background.c:1064 | ||||
| msgid "background texture could not be created from file" | ||||
| msgstr "לא ניתן ליצור מרקם רקע מקובץ" | ||||
|  | ||||
| #: ../src/core/bell.c:322 | ||||
| msgid "Bell event" | ||||
| msgstr "אירוע פעמון" | ||||
|  | ||||
| @@ -244,51 +248,56 @@ msgstr "ה_מתנה" | ||||
| msgid "_Force Quit" | ||||
| msgstr "_אילוץ סגירה" | ||||
|  | ||||
| #: ../src/core/display.c:394 | ||||
| #: ../src/core/display.c:401 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "Missing %s extension required for compositing" | ||||
|  | ||||
| #: ../src/core/display.c:491 | ||||
| #: ../src/core/display.c:493 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "Failed to open X Window System display '%s'\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:876 | ||||
| #: ../src/core/keybindings.c:935 | ||||
| #, c-format | ||||
| msgid "Some other program is already using the key %s with modifiers %x as a binding\n" | ||||
| msgstr "תכנית אחרת כבר משתמשת במקש %s עם המקש %x כצירוף\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| #: ../src/core/keybindings.c:1135 | ||||
| #, c-format | ||||
| msgid "\"%s\" is not a valid accelerator\n" | ||||
| msgstr "\"%s\" אינו מקש האצה תקני\n" | ||||
|  | ||||
| #: ../src/core/main.c:197 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "Disable connection to session manager" | ||||
|  | ||||
| #: ../src/core/main.c:202 | ||||
| #: ../src/core/main.c:203 | ||||
| msgid "Replace the running window manager" | ||||
| msgstr "Replace the running window manager" | ||||
|  | ||||
| #: ../src/core/main.c:208 | ||||
| #: ../src/core/main.c:209 | ||||
| msgid "Specify session management ID" | ||||
| msgstr "Specify session management ID" | ||||
|  | ||||
| #: ../src/core/main.c:213 | ||||
| #: ../src/core/main.c:214 | ||||
| msgid "X Display to use" | ||||
| msgstr "X Display to use" | ||||
|  | ||||
| #: ../src/core/main.c:219 | ||||
| #: ../src/core/main.c:220 | ||||
| msgid "Initialize session from savefile" | ||||
| msgstr "Initialize session from savefile" | ||||
|  | ||||
| #: ../src/core/main.c:225 | ||||
| #: ../src/core/main.c:226 | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "Make X calls synchronous" | ||||
|  | ||||
| #: ../src/core/main.c:496 | ||||
| #: ../src/core/main.c:534 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "Failed to scan themes directory: %s\n" | ||||
|  | ||||
| #: ../src/core/main.c:512 | ||||
| #: ../src/core/main.c:550 | ||||
| #, c-format | ||||
| msgid "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| msgstr "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -314,51 +323,51 @@ msgstr "Print version" | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "תוסף ה־mutter לשימוש" | ||||
|  | ||||
| #: ../src/core/prefs.c:1087 | ||||
| #: ../src/core/prefs.c:1095 | ||||
| msgid "Workarounds for broken applications disabled. Some applications may not behave properly.\n" | ||||
| msgstr "Workarounds for broken applications disabled. Some applications may not behave properly.\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1162 | ||||
| #: ../src/core/prefs.c:1170 | ||||
| #, c-format | ||||
| msgid "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
| msgstr "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1228 | ||||
| #: ../src/core/prefs.c:1236 | ||||
| #, c-format | ||||
| msgid "\"%s\" found in configuration database is not a valid value for mouse button modifier\n" | ||||
| msgstr "\"%s\" found in configuration database is not a valid value for mouse button modifier\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1768 | ||||
| #: ../src/core/prefs.c:1788 | ||||
| #, c-format | ||||
| msgid "\"%s\" found in configuration database is not a valid value for keybinding \"%s\"\n" | ||||
| msgstr "\"%s\" found in configuration database is not a valid value for keybinding \"%s\"\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1865 | ||||
| #: ../src/core/prefs.c:1887 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "סביבת עבודה %d" | ||||
|  | ||||
| #: ../src/core/screen.c:658 | ||||
| #: ../src/core/screen.c:691 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "Screen %d on display '%s' is invalid\n" | ||||
|  | ||||
| #: ../src/core/screen.c:674 | ||||
| #: ../src/core/screen.c:707 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager; try using the --replace option to replace the current window manager.\n" | ||||
| msgstr "Screen %d on display \"%s\" already has a window manager; try using the --replace option to replace the current window manager.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:701 | ||||
| #: ../src/core/screen.c:734 | ||||
| #, c-format | ||||
| msgid "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| msgstr "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
|  | ||||
| #: ../src/core/screen.c:770 | ||||
| #: ../src/core/screen.c:812 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "Screen %d on display \"%s\" already has a window manager\n" | ||||
|  | ||||
| #: ../src/core/screen.c:955 | ||||
| #: ../src/core/screen.c:998 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "Could not release screen %d on display \"%s\"\n" | ||||
| @@ -417,45 +426,45 @@ msgstr "Unknown element %s" | ||||
| msgid "These windows do not support "save current setup" and will have to be restarted manually next time you log in." | ||||
| msgstr "חלונות אלו אינם תומכים ב"שמירת ההגדרות הנוכחיות", ויהיה צורך באתחול ידני בכניסה הבאה שלך." | ||||
|  | ||||
| #: ../src/core/util.c:80 | ||||
| #: ../src/core/util.c:84 | ||||
| #, c-format | ||||
| msgid "Failed to open debug log: %s\n" | ||||
| msgstr "Failed to open debug log: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:90 | ||||
| #: ../src/core/util.c:94 | ||||
| #, c-format | ||||
| msgid "Failed to fdopen() log file %s: %s\n" | ||||
| msgstr "Failed to fdopen() log file %s: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:96 | ||||
| #: ../src/core/util.c:100 | ||||
| #, c-format | ||||
| msgid "Opened log file %s\n" | ||||
| msgstr "Opened log file %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:115 | ||||
| #: ../src/core/util.c:119 | ||||
| #: ../src/tools/mutter-message.c:149 | ||||
| #, c-format | ||||
| msgid "Mutter was compiled without support for verbose mode\n" | ||||
| msgstr "Mutter הודר ללא תמיכה במצב פירוט\n" | ||||
|  | ||||
| #: ../src/core/util.c:259 | ||||
| #: ../src/core/util.c:264 | ||||
| msgid "Window manager: " | ||||
| msgstr "Window manager: " | ||||
|  | ||||
| #: ../src/core/util.c:407 | ||||
| #: ../src/core/util.c:412 | ||||
| msgid "Bug in window manager: " | ||||
| msgstr "Bug in window manager: " | ||||
|  | ||||
| #: ../src/core/util.c:438 | ||||
| #: ../src/core/util.c:443 | ||||
| msgid "Window manager warning: " | ||||
| msgstr "Window manager warning: " | ||||
|  | ||||
| #: ../src/core/util.c:466 | ||||
| #: ../src/core/util.c:471 | ||||
| msgid "Window manager error: " | ||||
| msgstr "Window manager error: " | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7277 | ||||
| #: ../src/core/window.c:7596 | ||||
| #, c-format | ||||
| msgid "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER window as specified in the ICCCM.\n" | ||||
| msgstr "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER window as specified in the ICCCM.\n" | ||||
| @@ -467,27 +476,27 @@ msgstr "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADE | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7943 | ||||
| #: ../src/core/window.c:8320 | ||||
| #, c-format | ||||
| msgid "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %d x %d and max size %d x %d; this doesn't make much sense.\n" | ||||
| msgstr "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %d x %d and max size %d x %d; this doesn't make much sense.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:274 | ||||
| #: ../src/core/window-props.c:318 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "Application set a bogus _NET_WM_PID %lu\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:393 | ||||
| #: ../src/core/window-props.c:434 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s (מעל %s)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1448 | ||||
| #: ../src/core/window-props.c:1517 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1459 | ||||
| #: ../src/core/window-props.c:1528 | ||||
| #, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| @@ -591,8 +600,8 @@ msgid "Auto maximize nearly monitor sized windows" | ||||
| msgstr "Auto maximize nearly monitor sized windows" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "If enabled, monitor nearly monitor sized windows automatically get maximized when mapped." | ||||
| msgstr "If enabled, monitor nearly monitor sized windows automatically get maximized when mapped." | ||||
| msgid "If enabled, new windows that are initially the size of the monitor automatically get maximized." | ||||
| msgstr "If enabled, new windows that are initially the size of the monitor automatically get maximized." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:19 | ||||
| msgid "Select window from tab popup" | ||||
| @@ -802,252 +811,252 @@ msgstr "Mod5" | ||||
| #. Translators: This represents the size of a window.  The first number is | ||||
| #. * the width of the window and the second is the height. | ||||
| #. | ||||
| #: ../src/ui/resizepopup.c:113 | ||||
| #: ../src/ui/resizepopup.c:136 | ||||
| #, c-format | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:236 | ||||
| msgid "top" | ||||
| msgstr "top" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:238 | ||||
| msgid "bottom" | ||||
| msgstr "bottom" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:240 | ||||
| msgid "left" | ||||
| msgstr "left" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:242 | ||||
| msgid "right" | ||||
| msgstr "right" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:270 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "frame geometry does not specify \"%s\" dimension" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:289 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:326 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "Button aspect ratio %g is not reasonable" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:338 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "Frame geometry does not specify size of buttons" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1051 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "Gradients should have at least two colors" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #: ../src/ui/theme.c:1203 | ||||
| #, c-format | ||||
| msgid "GTK custom color specification must have color name and fallback in parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\"" | ||||
| msgstr "GTK custom color specification must have color name and fallback in parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1219 | ||||
| #, c-format | ||||
| msgid "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-_ are valid" | ||||
| msgstr "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-_ are valid" | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #: ../src/ui/theme.c:1233 | ||||
| #, c-format | ||||
| msgid "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not fit the format" | ||||
| msgstr "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not fit the format" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1278 | ||||
| #, c-format | ||||
| msgid "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\"" | ||||
| msgstr "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1292 | ||||
| #, c-format | ||||
| msgid "GTK color specification must have a close bracket after the state, e.g. gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\"" | ||||
| msgstr "GTK color specification must have a close bracket after the state, e.g. gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1303 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "Did not understand state \"%s\" in color specification" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1316 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "Did not understand color component \"%s\" in color specification" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1345 | ||||
| #, c-format | ||||
| msgid "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the format" | ||||
| msgstr "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the format" | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1356 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "Could not parse alpha value \"%s\" in blended color" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1366 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1413 | ||||
| #, c-format | ||||
| msgid "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| msgstr "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1424 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "Could not parse shade factor \"%s\" in shaded color" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1434 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "Shade factor \"%s\" in shaded color is negative" | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1463 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "Could not parse color \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1780 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "Coordinate expression contains character '%s' which is not allowed" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1807 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains floating point number '%s' which could not be parsed" | ||||
| msgstr "Coordinate expression contains floating point number '%s' which could not be parsed" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1821 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "Coordinate expression contains integer '%s' which could not be parsed" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1942 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contained unknown operator at the start of this text: \"%s\"" | ||||
| msgstr "Coordinate expression contained unknown operator at the start of this text: \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:1999 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "Coordinate expression was empty or not understood" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 | ||||
| #: ../src/ui/theme.c:2120 | ||||
| #: ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2112 | ||||
| #: ../src/ui/theme.c:2122 | ||||
| #: ../src/ui/theme.c:2156 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "Coordinate expression results in division by zero" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2164 | ||||
| #, c-format | ||||
| msgid "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| msgstr "Coordinate expression tries to use mod operator on a floating-point number" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2220 | ||||
| #, c-format | ||||
| msgid "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| msgstr "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2229 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "Coordinate expression had an operand where an operator was expected" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2237 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "Coordinate expression ended with an operator instead of an operand" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2247 | ||||
| #, c-format | ||||
| msgid "Coordinate expression has operator \"%c\" following operator \"%c\" with no operand in between" | ||||
| msgstr "Coordinate expression has operator \"%c\" following operator \"%c\" with no operand in between" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 | ||||
| #: ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2398 | ||||
| #: ../src/ui/theme.c:2443 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "Coordinate expression had unknown variable or constant \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2497 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "Coordinate expression parser overflowed its buffer." | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2526 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2590 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2601 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "Coordinate expression doesn't seem to have any operators or operands" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 | ||||
| #: ../src/ui/theme.c:2832 | ||||
| #: ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2814 | ||||
| #: ../src/ui/theme.c:2834 | ||||
| #: ../src/ui/theme.c:2854 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "Theme contained an expression that resulted in an error: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4500 | ||||
| #, c-format | ||||
| msgid "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be specified for this frame style" | ||||
| msgstr "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be specified for this frame style" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 | ||||
| #: ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5011 | ||||
| #: ../src/ui/theme.c:5036 | ||||
| #, c-format | ||||
| msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5084 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "Failed to load theme \"%s\": %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 | ||||
| #: ../src/ui/theme.c:5225 | ||||
| #: ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 | ||||
| #: ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5220 | ||||
| #: ../src/ui/theme.c:5227 | ||||
| #: ../src/ui/theme.c:5234 | ||||
| #: ../src/ui/theme.c:5241 | ||||
| #: ../src/ui/theme.c:5248 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "No <%s> set for theme \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5256 | ||||
| #, c-format | ||||
| msgid "No frame style set for window type \"%s\" in theme \"%s\", add a <window type=\"%s\" style_set=\"whatever\"/> element" | ||||
| msgstr "No frame style set for window type \"%s\" in theme \"%s\", add a <window type=\"%s\" style_set=\"whatever\"/> element" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 | ||||
| #: ../src/ui/theme.c:5712 | ||||
| #: ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5663 | ||||
| #: ../src/ui/theme.c:5725 | ||||
| #: ../src/ui/theme.c:5788 | ||||
| #, c-format | ||||
| msgid "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| msgstr "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 | ||||
| #: ../src/ui/theme.c:5720 | ||||
| #: ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5671 | ||||
| #: ../src/ui/theme.c:5733 | ||||
| #: ../src/ui/theme.c:5796 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "Constant \"%s\" has already been defined" | ||||
| @@ -1419,7 +1428,7 @@ msgstr "מלל לא מורשה בתג <%s>" | ||||
| msgid "<%s> specified twice for this theme" | ||||
| msgstr "<%s> צוין פעמיים עבור ערכת נושא זו" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:4334 | ||||
| #: ../src/ui/theme-parser.c:4336 | ||||
| #, c-format | ||||
| msgid "Failed to find a valid file for theme %s\n" | ||||
| msgstr "Failed to find a valid file for theme %s\n" | ||||
| @@ -1525,97 +1534,100 @@ msgstr "מסגרת" | ||||
| msgid "Attached Modal Dialog" | ||||
| msgstr "חלון חוסם מוצמד" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:739 | ||||
| #: ../src/ui/theme-viewer.c:737 | ||||
| #, c-format | ||||
| msgid "Button layout test %d" | ||||
| msgstr "בדיקת פריסת לחצנים %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:768 | ||||
| #: ../src/ui/theme-viewer.c:766 | ||||
| #, c-format | ||||
| msgid "%g milliseconds to draw one window frame" | ||||
| msgstr "%g מילישניות לציור של מסגרת חלון אחת" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:813 | ||||
| #: ../src/ui/theme-viewer.c:811 | ||||
| #, c-format | ||||
| msgid "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
| msgstr "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:820 | ||||
| #: ../src/ui/theme-viewer.c:818 | ||||
| #, c-format | ||||
| msgid "Error loading theme: %s\n" | ||||
| msgstr "Error loading theme: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:826 | ||||
| #: ../src/ui/theme-viewer.c:824 | ||||
| #, c-format | ||||
| msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| msgstr "Loaded theme \"%s\" in %g seconds\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:870 | ||||
| #: ../src/ui/theme-viewer.c:869 | ||||
| msgid "Normal Title Font" | ||||
| msgstr "גופן כותרת רגילה" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:876 | ||||
| #: ../src/ui/theme-viewer.c:875 | ||||
| msgid "Small Title Font" | ||||
| msgstr "גופן כותרת קטנה" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:882 | ||||
| #: ../src/ui/theme-viewer.c:881 | ||||
| msgid "Large Title Font" | ||||
| msgstr "גופן כותרת גדולה" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:887 | ||||
| #: ../src/ui/theme-viewer.c:886 | ||||
| msgid "Button Layouts" | ||||
| msgstr "פריסת לחצנים" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:892 | ||||
| #: ../src/ui/theme-viewer.c:891 | ||||
| msgid "Benchmark" | ||||
| msgstr "מדידת ביצועים" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:949 | ||||
| #: ../src/ui/theme-viewer.c:947 | ||||
| msgid "Window Title Goes Here" | ||||
| msgstr "כותרת החלון מופיעה כאן" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1052 | ||||
| #: ../src/ui/theme-viewer.c:1053 | ||||
| #, c-format | ||||
| msgid "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g seconds wall clock time including X server resources (%g milliseconds per frame)\n" | ||||
| msgstr "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g seconds wall clock time including X server resources (%g milliseconds per frame)\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1271 | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| msgid "position expression test returned TRUE but set error" | ||||
| msgstr "position expression test returned TRUE but set error" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| #: ../src/ui/theme-viewer.c:1275 | ||||
| msgid "position expression test returned FALSE but didn't set error" | ||||
| msgstr "position expression test returned FALSE but didn't set error" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1277 | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| msgid "Error was expected but none given" | ||||
| msgstr "Error was expected but none given" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| #: ../src/ui/theme-viewer.c:1281 | ||||
| #, c-format | ||||
| msgid "Error %d was expected but %d given" | ||||
| msgstr "Error %d was expected but %d given" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1285 | ||||
| #: ../src/ui/theme-viewer.c:1287 | ||||
| #, c-format | ||||
| msgid "Error not expected but one was returned: %s" | ||||
| msgstr "Error not expected but one was returned: %s" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1289 | ||||
| #: ../src/ui/theme-viewer.c:1291 | ||||
| #, c-format | ||||
| msgid "x value was %d, %d was expected" | ||||
| msgstr "x value was %d, %d was expected" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1292 | ||||
| #: ../src/ui/theme-viewer.c:1294 | ||||
| #, c-format | ||||
| msgid "y value was %d, %d was expected" | ||||
| msgstr "y value was %d, %d was expected" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1357 | ||||
| #: ../src/ui/theme-viewer.c:1359 | ||||
| #, c-format | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "מזעור חלון" | ||||
|  | ||||
| #~ msgid "Comma-separated list of compositor plugins" | ||||
| #~ msgstr "Comma-separated list of compositor plugins" | ||||
|  | ||||
|   | ||||
							
								
								
									
										211
									
								
								po/pl.po
									
									
									
									
									
								
							
							
						
						
									
										211
									
								
								po/pl.po
									
									
									
									
									
								
							| @@ -9,14 +9,14 @@ | ||||
| # Marek Stępień <marcoos@aviary.pl>, 2007. | ||||
| # Wadim Dziedzic <wdziedzic@aviary.pl>, 2007. | ||||
| # Tomasz Dominikowski <dominikowski@gmail.com>, 2008-2009. | ||||
| # Piotr Drąg <piotrdrag@gmail.com>, 2010-2012. | ||||
| # Aviary.pl <gnomepl@aviary.pl>, 2007-2012. | ||||
| # Piotr Drąg <piotrdrag@gmail.com>, 2010-2013. | ||||
| # Aviary.pl <gnomepl@aviary.pl>, 2007-2013. | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: mutter\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2012-12-26 21:39+0100\n" | ||||
| "PO-Revision-Date: 2012-12-26 21:40+0100\n" | ||||
| "POT-Creation-Date: 2013-03-02 01:52+0100\n" | ||||
| "PO-Revision-Date: 2013-03-02 01:53+0100\n" | ||||
| "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" | ||||
| "Language-Team: Polish <gnomepl@aviary.pl>\n" | ||||
| "Language: pl\n" | ||||
| @@ -173,8 +173,8 @@ msgid "Close window" | ||||
| msgstr "Zamknięcie okna" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Minimize window" | ||||
| msgstr "Minimalizacja okna" | ||||
| msgid "Hide window" | ||||
| msgstr "Ukrycie okna" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| msgid "Move window" | ||||
| @@ -187,7 +187,7 @@ msgstr "Zmiana rozmiaru okna" | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "" | ||||
| "Przełączenie obecności okna na wszystkich obszarach roboczych lub jednym " | ||||
| "Przełączenie obecności okna na wszystkich obszarach roboczych lub jednym" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:13 | ||||
| msgid "Raise window if covered, otherwise lower it" | ||||
| @@ -220,7 +220,7 @@ msgstr "Podział widoku po prawej" | ||||
|  | ||||
| #. This probably means that a non-WM compositor like xcompmgr is running; | ||||
| #. * we have no way to get it to exit | ||||
| #: ../src/compositor/compositor.c:512 | ||||
| #: ../src/compositor/compositor.c:507 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Another compositing manager is already running on screen %i on display \"%s" | ||||
| @@ -228,6 +228,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Inny menedżer składania jest już uruchomiony na podekranie %i ekranu \"%s\"." | ||||
|  | ||||
| #: ../src/compositor/meta-background.c:1111 | ||||
| msgid "background texture could not be created from file" | ||||
| msgstr "nie można utworzyć tekstury tła z pliku" | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| msgid "Bell event" | ||||
| msgstr "Zdarzenie sygnału dźwiękowego" | ||||
| @@ -260,18 +264,18 @@ msgstr "_Czekaj" | ||||
| msgid "_Force Quit" | ||||
| msgstr "_Zakończ" | ||||
|  | ||||
| #: ../src/core/display.c:394 | ||||
| #: ../src/core/display.c:401 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "Brak rozszerzenia %s, wymaganego przez składanie" | ||||
|  | ||||
| #: ../src/core/display.c:491 | ||||
| #: ../src/core/display.c:493 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "" | ||||
| "Otwarcie połączenia z ekranem \"%s\" systemu X Window się nie powiodło\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:876 | ||||
| #: ../src/core/keybindings.c:929 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| @@ -280,9 +284,14 @@ msgstr "" | ||||
| "Skrótu klawiszowego z klawiszem %s i modyfikatorami %x używa już inny " | ||||
| "program\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:1129 | ||||
| #, c-format | ||||
| msgid "\"%s\" is not a valid accelerator\n" | ||||
| msgstr "\"%s\" nie jest prawidłowym skrótem\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "Wyłącza połączenie z menedżerem sesji" | ||||
| msgstr "Rozłącza połączenie z menedżerem sesji" | ||||
|  | ||||
| #: ../src/core/main.c:202 | ||||
| msgid "Replace the running window manager" | ||||
| @@ -290,7 +299,7 @@ msgstr "Zastępuje uruchomionego menedżera okien" | ||||
|  | ||||
| #: ../src/core/main.c:208 | ||||
| msgid "Specify session management ID" | ||||
| msgstr "Określa identyfikator zarządzania sesją" | ||||
| msgstr "Podaje identyfikator zarządzania sesją" | ||||
|  | ||||
| #: ../src/core/main.c:213 | ||||
| msgid "X Display to use" | ||||
| @@ -304,12 +313,12 @@ msgstr "Inicjuje sesję z zapisanego pliku" | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "Synchroniczne wywołania X" | ||||
|  | ||||
| #: ../src/core/main.c:496 | ||||
| #: ../src/core/main.c:533 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "Przejrzenie katalogu z motywami się nie powiodło: %s\n" | ||||
|  | ||||
| #: ../src/core/main.c:512 | ||||
| #: ../src/core/main.c:549 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -365,7 +374,7 @@ msgstr "" | ||||
| "Wartość \"%s\", odnaleziona w bazie danych konfiguracji nie opisuje " | ||||
| "prawidłowo modyfikatora przycisku myszy\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1768 | ||||
| #: ../src/core/prefs.c:1780 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| @@ -374,17 +383,17 @@ msgstr "" | ||||
| "Wartość \"%s\", odnaleziona w bazie danych konfiguracji nie opisuje " | ||||
| "prawidłowo skrótu klawiszowego \"%s\"\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1865 | ||||
| #: ../src/core/prefs.c:1879 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "Obszar roboczy %d" | ||||
|  | ||||
| #: ../src/core/screen.c:658 | ||||
| #: ../src/core/screen.c:673 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "Podekran %d ekranu \"%s\" jest nieprawidłowy\n" | ||||
|  | ||||
| #: ../src/core/screen.c:674 | ||||
| #: ../src/core/screen.c:689 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -393,7 +402,7 @@ msgstr "" | ||||
| "Na podekranie %d ekranu \"%s\" działa już menedżer okien. Aby zastąpić " | ||||
| "działającego menedżera okien, proszę spróbować użyć opcji --replace.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:701 | ||||
| #: ../src/core/screen.c:716 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| @@ -401,12 +410,12 @@ msgstr "" | ||||
| "Nie można uzyskać zaznaczenia menedżera okien na podekranie %d ekranu \"%s" | ||||
| "\"\n" | ||||
|  | ||||
| #: ../src/core/screen.c:770 | ||||
| #: ../src/core/screen.c:794 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "Na podekranie %d ekranu \"%s\" działa już menedżer okien\n" | ||||
|  | ||||
| #: ../src/core/screen.c:955 | ||||
| #: ../src/core/screen.c:979 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "Nie można zwolnić podekranu %d ekranu \"%s\"\n" | ||||
| @@ -506,7 +515,7 @@ msgid "Window manager error: " | ||||
| msgstr "Błąd menedżera okien: " | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7277 | ||||
| #: ../src/core/window.c:7539 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -522,7 +531,7 @@ msgstr "" | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7943 | ||||
| #: ../src/core/window.c:8263 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| @@ -532,23 +541,23 @@ msgstr "" | ||||
| "niezmienny, lecz jednocześnie ustawia minimalny rozmiar na %d x %d, a " | ||||
| "maksymalny rozmiar na %d x %d. To nie ma żadnego sensu.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:274 | ||||
| #: ../src/core/window-props.c:318 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "Program ustawił błędną wartość _NET_WM_PID %lu\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:393 | ||||
| #: ../src/core/window-props.c:434 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s (na %s)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1448 | ||||
| #: ../src/core/window-props.c:1517 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "" | ||||
| "Nieprawidłowa wartość WM_TRANSIENT_FOR dla okna 0x%lx określona w %s.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1459 | ||||
| #: ../src/core/window-props.c:1528 | ||||
| #, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "WM_TRANSIENT_FOR okna 0x%lx dla %s utworzyłoby pętlę.\n" | ||||
| @@ -707,11 +716,11 @@ msgstr "" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "" | ||||
| "If enabled, monitor nearly monitor sized windows automatically get maximized " | ||||
| "when mapped." | ||||
| "If enabled, new windows that are initially the size of the monitor " | ||||
| "automatically get maximized." | ||||
| msgstr "" | ||||
| "Jeśli jest włączone, to okna o rozmiarze zbliżonym do rozmiaru monitora " | ||||
| "zostają automatycznie maksymalizowane podczas mapowania." | ||||
| "Jeśli jest włączone, to nowe okna o początkowym rozmiarze zbliżonym do " | ||||
| "rozmiaru monitora zostają automatycznie maksymalizowane." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:19 | ||||
| msgid "Select window from tab popup" | ||||
| @@ -920,54 +929,54 @@ msgstr "Mod5" | ||||
| #. Translators: This represents the size of a window.  The first number is | ||||
| #. * the width of the window and the second is the height. | ||||
| #. | ||||
| #: ../src/ui/resizepopup.c:113 | ||||
| #: ../src/ui/resizepopup.c:136 | ||||
| #, c-format | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:235 | ||||
| msgid "top" | ||||
| msgstr "góra" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:237 | ||||
| msgid "bottom" | ||||
| msgstr "dół" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:239 | ||||
| msgid "left" | ||||
| msgstr "lewa" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:241 | ||||
| msgid "right" | ||||
| msgstr "prawa" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:269 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "Rozmiar ramki nie określa wymiaru \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:288 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "Rozmiar ramki nie określa wymiaru \"%s\" dla krawędzi \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:325 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "" | ||||
| "Współczynnik proporcji przycisku %g nie mieści się w rozsądnych granicach" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:337 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "Rozmiar ramki nie określa liczby przycisków" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1050 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "Gradienty powinny się składać co najmniej z dwóch kolorów" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #: ../src/ui/theme.c:1202 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| @@ -977,7 +986,7 @@ msgstr "" | ||||
| "kolor zastępczy w nawiasach, np. gtk:custom(foo,bar); nie można przetworzyć " | ||||
| "\"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1218 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| @@ -986,7 +995,7 @@ msgstr "" | ||||
| "Nieprawidłowy znak \"%c\" w parametrze nazwa_koloru opcji gtk:custom, tylko " | ||||
| "znaki A-Za-z0-9-_ są prawidłowe" | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #: ../src/ui/theme.c:1232 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| @@ -995,7 +1004,7 @@ msgstr "" | ||||
| "Formatem Gtk:custom jest \"gtk:custom(nazwa_koloru,kolor_zastępczy)\", \"%s" | ||||
| "\" nie pasuje do formatu" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1277 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| @@ -1005,7 +1014,7 @@ msgstr "" | ||||
| "kwadratowych, np. gtk:fg[NORMAL], gdzie NORMAL jest nazwą stanu; nie można " | ||||
| "przetworzyć \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1291 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| @@ -1015,17 +1024,17 @@ msgstr "" | ||||
| "nawias kwadratowy, np. gtk:fg[NORMAL], gdzie NORMAL jest nazwą stanu; nie " | ||||
| "można przetworzyć \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1302 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "Niezrozumiały stan \"%s\" w specyfikacji koloru" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1315 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "Niezrozumiała definicja koloru \"%s\" w specyfikacji koloru" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1344 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| @@ -1034,19 +1043,19 @@ msgstr "" | ||||
| "Formatem przenikania jest \"blend/bg_color/fg_color/alpha\", \"%s\" nie " | ||||
| "pasuje do formatu" | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1355 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "Nie można przetworzyć wartości alfa \"%s\" w przenikającym kolorze" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1365 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "" | ||||
| "Wartość alfa \"%s\" w przenikającym kolorze nie zawiera się pomiędzy 0,0 i " | ||||
| "1,0" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1412 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| @@ -1054,29 +1063,29 @@ msgstr "" | ||||
| "Formatem przenikania jest \"shade/base_color/factor\", \"%s\" nie pasuje do " | ||||
| "formatu" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1423 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "" | ||||
| "Nie można przetworzyć współczynnika przenikania \"%s\" w przenikającym " | ||||
| "kolorze" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1433 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "Współczynnik przenikania \"%s\" w przenikającym kolorze jest ujemny" | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1462 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "Nie można przetworzyć koloru \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1779 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "Wyrażenie określające współrzędne zawiera niedozwolony znak \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1806 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| @@ -1085,14 +1094,14 @@ msgstr "" | ||||
| "Wyrażenie określające współrzędne zawiera liczbę zmiennoprzecinkową \"%s\", " | ||||
| "której nie można przetworzyć" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1820 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "" | ||||
| "Wyrażenie określające współrzędne zawiera liczbę całkowitą \"%s\", której " | ||||
| "nie można przetworzyć" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1941 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| @@ -1101,18 +1110,18 @@ msgstr "" | ||||
| "Wyrażenie określające współrzędne zawiera nieznany operator na początku " | ||||
| "tekstu: \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:1998 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "" | ||||
| "Wyrażenie określające współrzędne jest puste lub nie można go rozpoznać" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2111 ../src/ui/theme.c:2121 ../src/ui/theme.c:2155 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "Wyrażenie opisujące położenie zawiera dzielenie przez zero" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2163 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| @@ -1120,7 +1129,7 @@ msgstr "" | ||||
| "Wyrażenie opisujące położenie używa operatora dzielenia modulo z liczbą " | ||||
| "zmiennoprzecinkową" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2219 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| @@ -1128,19 +1137,19 @@ msgstr "" | ||||
| "Wyrażenie opisujące położenie zawiera operator \"%s\" w miejscu, w którym " | ||||
| "oczekiwano operandu" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2228 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "" | ||||
| "Wyrażenie opisujące położenie zawiera operand w miejscu, w którym oczekiwano " | ||||
| "operatora" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2236 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "Wyrażenie opisujące położenie kończy się operatorem zamiast operandem" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2246 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| @@ -1149,43 +1158,43 @@ msgstr "" | ||||
| "Wyrażenie opisujące położenie zawiera operator \"%c\" bezpośrednio po " | ||||
| "operatorze \"%c\" bez rozdzielającego ich operandu" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2397 ../src/ui/theme.c:2442 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "" | ||||
| "Wyrażenie opisujące położenie zawiera nieznaną zmienną lub stałą \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2496 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "Parser wyrażeń określających współrzędne przepełnił swój bufor." | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2525 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "" | ||||
| "Wyrażenie opisujące położenie zawiera nawias zamykający bez odpowiadającego " | ||||
| "mu nawiasu otwierającego" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2589 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "" | ||||
| "Wyrażenie opisujące położenie zawiera nawias otwierający bez odpowiadającego " | ||||
| "mu nawiasu zamykającego" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2600 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "" | ||||
| "Wyrażenie opisujące położenie nie zawiera żadnych operatorów ani operandów" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2813 ../src/ui/theme.c:2833 ../src/ui/theme.c:2853 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "Motyw zawiera wyrażenie, przy którego obliczaniu wystąpił błąd: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4499 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| @@ -1194,25 +1203,25 @@ msgstr "" | ||||
| "Przy tym stylu ramki należy podać <button function=\"%s\" state=\"%s\" " | ||||
| "draw_ops=\"cokolwiek\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5010 ../src/ui/theme.c:5035 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "" | ||||
| "Brak <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"cokolwiek\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5083 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "Wczytanie motywu \"%s\" się nie powiodło: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5219 ../src/ui/theme.c:5226 ../src/ui/theme.c:5233 | ||||
| #: ../src/ui/theme.c:5240 ../src/ui/theme.c:5247 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "Nie określono elementu <%s> dla motywu \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5255 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| @@ -1221,7 +1230,7 @@ msgstr "" | ||||
| "Przy typie okna \"%s\" w motywie \"%s\" nie ustawiono stylu ramki. Należy " | ||||
| "dodać element <window type=\"%s\" style_set=\"cokolwiek\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5662 ../src/ui/theme.c:5724 ../src/ui/theme.c:5787 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| @@ -1229,7 +1238,7 @@ msgstr "" | ||||
| "Stałe definiowane przez użytkownika powinny rozpoczynać się wielką literą, " | ||||
| "natomiast \"%s\" nie spełnia tego warunku" | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5670 ../src/ui/theme.c:5732 ../src/ui/theme.c:5795 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "Stała \"%s\" została już określona" | ||||
| @@ -1723,57 +1732,57 @@ msgstr "Krawędź" | ||||
| msgid "Attached Modal Dialog" | ||||
| msgstr "Dołączone modalne okno dialogowe" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:739 | ||||
| #: ../src/ui/theme-viewer.c:737 | ||||
| #, c-format | ||||
| msgid "Button layout test %d" | ||||
| msgstr "Test układu przycisków %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:768 | ||||
| #: ../src/ui/theme-viewer.c:766 | ||||
| #, c-format | ||||
| msgid "%g milliseconds to draw one window frame" | ||||
| msgstr "%g milisekundy do narysowania jednej ramki okna" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:813 | ||||
| #: ../src/ui/theme-viewer.c:811 | ||||
| #, c-format | ||||
| msgid "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
| msgstr "Użycie: metacity-theme-viewer [NAZWA_MOTYWU]\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:820 | ||||
| #: ../src/ui/theme-viewer.c:818 | ||||
| #, c-format | ||||
| msgid "Error loading theme: %s\n" | ||||
| msgstr "Błąd podczas wczytywania motywu: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:826 | ||||
| #: ../src/ui/theme-viewer.c:824 | ||||
| #, c-format | ||||
| msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| msgstr "Wczytano motyw \"%s\" w ciągu %g sekund\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:870 | ||||
| #: ../src/ui/theme-viewer.c:869 | ||||
| msgid "Normal Title Font" | ||||
| msgstr "Zwykła czcionka tytułu" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:876 | ||||
| #: ../src/ui/theme-viewer.c:875 | ||||
| msgid "Small Title Font" | ||||
| msgstr "Mała czcionka tytułu" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:882 | ||||
| #: ../src/ui/theme-viewer.c:881 | ||||
| msgid "Large Title Font" | ||||
| msgstr "Duża czcionka tytułu" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:887 | ||||
| #: ../src/ui/theme-viewer.c:886 | ||||
| msgid "Button Layouts" | ||||
| msgstr "Układy przycisków" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:892 | ||||
| #: ../src/ui/theme-viewer.c:891 | ||||
| msgid "Benchmark" | ||||
| msgstr "Test wydajności" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:949 | ||||
| #: ../src/ui/theme-viewer.c:947 | ||||
| msgid "Window Title Goes Here" | ||||
| msgstr "Tutaj znajduje się tytuł okna" | ||||
|  | ||||
| # FIXME - bełkot | ||||
| #: ../src/ui/theme-viewer.c:1052 | ||||
| #: ../src/ui/theme-viewer.c:1053 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g " | ||||
| @@ -1784,39 +1793,39 @@ msgstr "" | ||||
| "%g sekund rzeczywistych, włączając w to zasoby serwera X (%g milisekund na " | ||||
| "ramkę)\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1271 | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| msgid "position expression test returned TRUE but set error" | ||||
| msgstr "Test wyrażenia pozycji zwrócił wartość PRAWDA, lecz ustawił błąd" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| #: ../src/ui/theme-viewer.c:1275 | ||||
| msgid "position expression test returned FALSE but didn't set error" | ||||
| msgstr "Test wyrażenia pozycji zwrócił wartość FAŁSZ, lecz nie ustawił błędu" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1277 | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| msgid "Error was expected but none given" | ||||
| msgstr "Oczekiwano błędu, lecz nie otrzymano żadnego" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| #: ../src/ui/theme-viewer.c:1281 | ||||
| #, c-format | ||||
| msgid "Error %d was expected but %d given" | ||||
| msgstr "Oczekiwano błędu %d, lecz otrzymano %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1285 | ||||
| #: ../src/ui/theme-viewer.c:1287 | ||||
| #, c-format | ||||
| msgid "Error not expected but one was returned: %s" | ||||
| msgstr "Nie oczekiwano błędu, lecz został on zwrócony: %s" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1289 | ||||
| #: ../src/ui/theme-viewer.c:1291 | ||||
| #, c-format | ||||
| msgid "x value was %d, %d was expected" | ||||
| msgstr "Wartością X było %d, oczekiwano wartości %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1292 | ||||
| #: ../src/ui/theme-viewer.c:1294 | ||||
| #, c-format | ||||
| msgid "y value was %d, %d was expected" | ||||
| msgstr "Wartością Y było %d, oczekiwano wartości %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1357 | ||||
| #: ../src/ui/theme-viewer.c:1359 | ||||
| #, c-format | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "" | ||||
|   | ||||
							
								
								
									
										504
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
							
						
						
									
										504
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										99
									
								
								po/sl.po
									
									
									
									
									
								
							
							
						
						
									
										99
									
								
								po/sl.po
									
									
									
									
									
								
							| @@ -11,8 +11,8 @@ msgstr "" | ||||
| "Project-Id-Version: mutter master\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" | ||||
| "product=mutter&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2013-01-12 04:34+0000\n" | ||||
| "PO-Revision-Date: 2013-01-13 11:53+0100\n" | ||||
| "POT-Creation-Date: 2013-03-07 14:02+0000\n" | ||||
| "PO-Revision-Date: 2013-03-07 17:16+0100\n" | ||||
| "Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n" | ||||
| "Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n" | ||||
| "Language: sl_SI\n" | ||||
| @@ -215,7 +215,7 @@ msgstr "Poglej razdelek na desni" | ||||
|  | ||||
| #. This probably means that a non-WM compositor like xcompmgr is running; | ||||
| #. * we have no way to get it to exit | ||||
| #: ../src/compositor/compositor.c:512 | ||||
| #: ../src/compositor/compositor.c:502 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Another compositing manager is already running on screen %i on display \"%s" | ||||
| @@ -223,6 +223,10 @@ msgid "" | ||||
| msgstr "" | ||||
| "Drug upravljalnik sestavljanja je že zagnan na zaslonu %i prikaza \"%s\"." | ||||
|  | ||||
| #: ../src/compositor/meta-background.c:1180 | ||||
| msgid "background texture could not be created from file" | ||||
| msgstr "teksture ozadja iz datoteke ni mogoče ustvariti" | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| msgid "Bell event" | ||||
| msgstr "Dogodek zvonjenja" | ||||
| @@ -257,24 +261,29 @@ msgstr "_Počakaj" | ||||
| msgid "_Force Quit" | ||||
| msgstr "_Vsili konec" | ||||
|  | ||||
| #: ../src/core/display.c:394 | ||||
| #: ../src/core/display.c:402 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "Manjka razširitev %s, ki je ključna za sestavljanje" | ||||
|  | ||||
| #: ../src/core/display.c:491 | ||||
| #: ../src/core/display.c:494 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "Ni mogoče odpreti zaslona '%s' okenskega sistema X\n" | ||||
|  | ||||
| # G:1 K:0 O:0 | ||||
| #: ../src/core/keybindings.c:876 | ||||
| #: ../src/core/keybindings.c:929 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| "binding\n" | ||||
| msgstr "Tipko %s s spremenilnikom %x uporablja že nek drug program\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:1129 | ||||
| #, c-format | ||||
| msgid "\"%s\" is not a valid accelerator\n" | ||||
| msgstr "\"%s\" ni veljaven pospeševalnik\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "Onemogoči povezavo z upravljalnikom sej" | ||||
| @@ -299,12 +308,12 @@ msgstr "Začni sejo iz shranjene datoteke" | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "Uskladi klice X" | ||||
|  | ||||
| #: ../src/core/main.c:494 | ||||
| #: ../src/core/main.c:533 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "Ni mogoče preiskati mape tem: %s\n" | ||||
|  | ||||
| #: ../src/core/main.c:510 | ||||
| #: ../src/core/main.c:549 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -367,17 +376,17 @@ msgstr "" | ||||
| "bližnjico \"%s\"\n" | ||||
|  | ||||
| # G:1 K:0 O:0 | ||||
| #: ../src/core/prefs.c:1877 | ||||
| #: ../src/core/prefs.c:1879 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "Delovna površina %d" | ||||
|  | ||||
| #: ../src/core/screen.c:658 | ||||
| #: ../src/core/screen.c:674 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "Zaslon %d na prikazu '%s' ni veljaven\n" | ||||
|  | ||||
| #: ../src/core/screen.c:674 | ||||
| #: ../src/core/screen.c:690 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -386,19 +395,19 @@ msgstr "" | ||||
| "Zaslon %d na prikazu \"%s\" je že upravljan z upravljalnikom oken; " | ||||
| "poskušajte uporabiti možnost --replace za zamenjavo trenutnega.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:701 | ||||
| #: ../src/core/screen.c:717 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| msgstr "" | ||||
| "Ni mogoče dobiti izbire upravljalnika oken na zaslonu %d prikaza \"%s\"\n" | ||||
|  | ||||
| #: ../src/core/screen.c:770 | ||||
| #: ../src/core/screen.c:795 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "Zaslon %d na prikazu \"%s\"  je že upravljan z upravljalnikom oken\n" | ||||
|  | ||||
| #: ../src/core/screen.c:955 | ||||
| #: ../src/core/screen.c:980 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "Ni mogoče opustiti zaslona %d na prikazu \"%s\"\n" | ||||
| @@ -500,7 +509,7 @@ msgid "Window manager error: " | ||||
| msgstr "Napaka upravljalnika oken: " | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7279 | ||||
| #: ../src/core/window.c:7538 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -516,7 +525,7 @@ msgstr "" | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7945 | ||||
| #: ../src/core/window.c:8262 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| @@ -526,22 +535,22 @@ msgstr "" | ||||
| "pa določi najmanjšo velikost na %d x %d in največjo na %d x %d; vrednost ni " | ||||
| "smiselna.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:274 | ||||
| #: ../src/core/window-props.c:318 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "Program je nastavil pokvarjen _NET_WM_PID %lu\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:393 | ||||
| #: ../src/core/window-props.c:434 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s (na %s)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1448 | ||||
| #: ../src/core/window-props.c:1517 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "Neveljaven WM_TRANSIENT_FOR za okno 0x%lx naveden za %s.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1459 | ||||
| #: ../src/core/window-props.c:1528 | ||||
| #, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "Predmet WM_TRANSIENT_FOR okna 0x%lx za %s lahko ustvari zanko.\n" | ||||
| @@ -691,11 +700,11 @@ msgstr "Samodejno razpni okna, ki so skoraj enaka velikosti zaslona" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "" | ||||
| "If enabled, monitor nearly monitor sized windows automatically get maximized " | ||||
| "when mapped." | ||||
| "If enabled, new windows that are initially the size of the monitor " | ||||
| "automatically get maximized." | ||||
| msgstr "" | ||||
| "Izbrana možnost omogoča, da bodo okna, ki so skoraj tako velika kot je velik " | ||||
| "zaslon, samodejno razpeta med preslikavo." | ||||
| "Izbrana možnost omogoča, da bodo okna, ki so skoraj tako velika, kot je " | ||||
| "velik zaslon, med preslikavo samodejno razpeta." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:19 | ||||
| msgid "Select window from tab popup" | ||||
| @@ -922,7 +931,7 @@ msgstr "Mod5" | ||||
| #. Translators: This represents the size of a window.  The first number is | ||||
| #. * the width of the window and the second is the height. | ||||
| #. | ||||
| #: ../src/ui/resizepopup.c:113 | ||||
| #: ../src/ui/resizepopup.c:136 | ||||
| #, c-format | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
| @@ -1702,56 +1711,56 @@ msgstr "Okvir" | ||||
| msgid "Attached Modal Dialog" | ||||
| msgstr "Pripeto modalno okno" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:739 | ||||
| #: ../src/ui/theme-viewer.c:737 | ||||
| #, c-format | ||||
| msgid "Button layout test %d" | ||||
| msgstr "Preizkus razporeditve gumbov %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:768 | ||||
| #: ../src/ui/theme-viewer.c:766 | ||||
| #, c-format | ||||
| msgid "%g milliseconds to draw one window frame" | ||||
| msgstr "%g milisekund za risanje ene sličice okna" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:813 | ||||
| #: ../src/ui/theme-viewer.c:811 | ||||
| #, c-format | ||||
| msgid "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
| msgstr "Uporaba: metacity-theme-viewer [IMETEME]\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:820 | ||||
| #: ../src/ui/theme-viewer.c:818 | ||||
| #, c-format | ||||
| msgid "Error loading theme: %s\n" | ||||
| msgstr "Napaka med nalaganjem teme: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:826 | ||||
| #: ../src/ui/theme-viewer.c:824 | ||||
| #, c-format | ||||
| msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| msgstr "Tema \"%s\" naložena v %g sekundah\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:871 | ||||
| #: ../src/ui/theme-viewer.c:869 | ||||
| msgid "Normal Title Font" | ||||
| msgstr "Običajna pisava naziva" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:877 | ||||
| #: ../src/ui/theme-viewer.c:875 | ||||
| msgid "Small Title Font" | ||||
| msgstr "Majhna pisava naziva" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:883 | ||||
| #: ../src/ui/theme-viewer.c:881 | ||||
| msgid "Large Title Font" | ||||
| msgstr "Velika pisava naziva" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:888 | ||||
| #: ../src/ui/theme-viewer.c:886 | ||||
| msgid "Button Layouts" | ||||
| msgstr "Razpored gumbov" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:893 | ||||
| #: ../src/ui/theme-viewer.c:891 | ||||
| msgid "Benchmark" | ||||
| msgstr "Primerjalni preizkus" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:949 | ||||
| #: ../src/ui/theme-viewer.c:947 | ||||
| msgid "Window Title Goes Here" | ||||
| msgstr "Tukaj je izpisan naziv okna" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1055 | ||||
| #: ../src/ui/theme-viewer.c:1053 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g " | ||||
| @@ -1762,41 +1771,41 @@ msgstr "" | ||||
| "sekund v času stenske ure, upoštevajoč sredstva strežnika X (%g milisekund " | ||||
| "na sličico)\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1275 | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| msgid "position expression test returned TRUE but set error" | ||||
| msgstr "" | ||||
| "preizkus izjave položaja je vrnil logični PRAV, vendar je določil  tudi " | ||||
| "napako" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1277 | ||||
| #: ../src/ui/theme-viewer.c:1275 | ||||
| msgid "position expression test returned FALSE but didn't set error" | ||||
| msgstr "preizkus izjave položaja je vrnil logični NAPAK in ni določil  napake" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1281 | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| msgid "Error was expected but none given" | ||||
| msgstr "Pričakovana je napaka, vendar ni odziva" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1283 | ||||
| #: ../src/ui/theme-viewer.c:1281 | ||||
| #, c-format | ||||
| msgid "Error %d was expected but %d given" | ||||
| msgstr "Pričakovana je napaka %d, vrnjena pa je bila %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1289 | ||||
| #: ../src/ui/theme-viewer.c:1287 | ||||
| #, c-format | ||||
| msgid "Error not expected but one was returned: %s" | ||||
| msgstr "Napaka ni pričakovana, vendar je vrnjen odziv: %s" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1293 | ||||
| #: ../src/ui/theme-viewer.c:1291 | ||||
| #, c-format | ||||
| msgid "x value was %d, %d was expected" | ||||
| msgstr "vrednost x je %d, pričakovana pa je %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1296 | ||||
| #: ../src/ui/theme-viewer.c:1294 | ||||
| #, c-format | ||||
| msgid "y value was %d, %d was expected" | ||||
| msgstr "vrednost y je %d, pričakovana pa je %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1361 | ||||
| #: ../src/ui/theme-viewer.c:1359 | ||||
| #, c-format | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "" | ||||
|   | ||||
							
								
								
									
										573
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
							
						
						
									
										573
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										282
									
								
								po/ta.po
									
									
									
									
									
								
							
							
						
						
									
										282
									
								
								po/ta.po
									
									
									
									
									
								
							| @@ -7,17 +7,17 @@ | ||||
| # Dinesh Nadarajah <n_dinesh@yahoo.com>, 2003. | ||||
| # Jayaradha N <jaya@pune.redhat.com>, 2004. | ||||
| # Felix <ifelix@redhat.com>, 2006. | ||||
| # Dr.T.Vasudevan <agnihot3@gmail.com>, 2007, 2010, 2011, 2012. | ||||
| # Dr.T.Vasudevan <agnihot3@gmail.com>, 2007, 2010, 2011, 2012, 2013. | ||||
| # Dr.T.vasudevan <agnihot3@gmail.com>, 2009. | ||||
| # I. Felix <ifelix@redhat.com>, 2009, 2011. | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: metacity.gnome-2-26.ta\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2012-12-02 17:25+0530\n" | ||||
| "PO-Revision-Date: 2012-12-02 18:58+0530\n" | ||||
| "POT-Creation-Date: 2013-03-23 14:03+0530\n" | ||||
| "PO-Revision-Date: 2013-03-23 14:11+0530\n" | ||||
| "Last-Translator: Dr.T.Vasudevan <drtvasudevan@gmail.com>\n" | ||||
| "Language-Team: American English <gnome-tamil-translation@googlegroups.com>\n" | ||||
| "Language-Team: American English <<gnome-tamil-translation@googlegroups.com>>\n" | ||||
| "Language: en_US\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| @@ -70,58 +70,62 @@ msgid "Switch applications" | ||||
| msgstr "பயன்பாடுகளுக்கிடையே மாறவும்" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:11 | ||||
| msgid "Switch windows" | ||||
| msgstr "சாளரத்தை மாற்றுக" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:12 | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "ஒரு பயன்பாட்டின் சாளரங்களிடையே மாறவும்" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:12 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:13 | ||||
| msgid "Switch system controls" | ||||
| msgstr "கணினி கட்டுப்பாடுகளை மாற்றவும்" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:13 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| msgid "Switch windows directly" | ||||
| msgstr "சாளரங்களிடையே உடனடியாக நகரவும்" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "ஒரு பயன்பாட்டின் சாளரங்களிடையே நேரடியாக நகரவும்" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "கணினி கட்டுப்பாடுகளை நேரடியாக மாற்றவும்" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "எல்லா வழக்கமான சாளரங்களையும் மறை" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "பணியிடம் 1க்கு மாறு" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "பணியிடம் 2 க்கு மாறு" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "பணியிடம் 3 க்கு மாறு" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "பணியிடம் 4 க்கு மாறு" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| msgid "Move to workspace left" | ||||
| msgstr "வேலையிடத்தை இடப்பக்கத்திற்கு நகர்த்தவும்" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| msgid "Move to workspace right" | ||||
| msgstr "வேலையிடத்தை வலப்பக்கத்திற்கு நகர்த்தவும்" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| msgid "Move to workspace above" | ||||
| msgstr "வேலையிடத்தை மேல்பக்கத்திற்கு நகர்த்தவும்" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:25 | ||||
| msgid "Move to workspace below" | ||||
| msgstr "வேலையிடத்தை கீழே நகர்த்தவும் " | ||||
|  | ||||
| @@ -170,8 +174,8 @@ msgid "Close window" | ||||
| msgstr "சாளரம் மூடவும்" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Minimize window" | ||||
| msgstr "சாளரத்தை சிறிதாக்கு" | ||||
| msgid "Hide window" | ||||
| msgstr "சாளரத்தை மறை " | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| msgid "Move window" | ||||
| @@ -217,7 +221,7 @@ msgstr "வலது பக்கத்தில் பிளந்து பா | ||||
|  | ||||
| #. This probably means that a non-WM compositor like xcompmgr is running; | ||||
| #. * we have no way to get it to exit | ||||
| #: ../src/compositor/compositor.c:492 | ||||
| #: ../src/compositor/compositor.c:568 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Another compositing manager is already running on screen %i on display \"%s" | ||||
| @@ -225,7 +229,11 @@ msgid "" | ||||
| msgstr "" | ||||
| " %i திரையில் காட்சி \"%s\" இல் இன்னொரு சாளர மேலாளர் இயங்கிக்கொண்டு இருக்கிறது." | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| #: ../src/compositor/meta-background.c:1191 | ||||
| msgid "background texture could not be created from file" | ||||
| msgstr "கோப்பிலிருந்து பின் புல இழை நய அமைப்பை உருவாக்க முடியவில்லை." | ||||
|  | ||||
| #: ../src/core/bell.c:322 | ||||
| msgid "Bell event" | ||||
| msgstr "மணி நிகழ்ச்சி" | ||||
|  | ||||
| @@ -260,17 +268,17 @@ msgstr "_காத்திரு" | ||||
| msgid "_Force Quit" | ||||
| msgstr "கட்டாய வெளியேற்றம் (_F)" | ||||
|  | ||||
| #: ../src/core/display.c:397 | ||||
| #: ../src/core/display.c:401 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "நீட்சி  %s  காணப்படவில்லை பவின் ஆக்கத்துக்கு அது அவசியம்" | ||||
|  | ||||
| #: ../src/core/display.c:494 | ||||
| #: ../src/core/display.c:493 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "X சாளர காட்சியை திறப்பதில் தோல்வி '%s'\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:860 | ||||
| #: ../src/core/keybindings.c:935 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| @@ -278,36 +286,41 @@ msgid "" | ||||
| msgstr "" | ||||
| "விசை %s ஐ மாற்றி  %x ஓடு இணைத்து வேறு நிரல் பயன்படுத்திக்கொண்டிருக்கிறது\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| #: ../src/core/keybindings.c:1135 | ||||
| #, c-format | ||||
| msgid "\"%s\" is not a valid accelerator\n" | ||||
| msgstr "\"%s\" செல்லாத முடுக்கி\n" | ||||
|  | ||||
| #: ../src/core/main.c:197 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "அமர்வு மேலாளருடன் இருக்கும் இணைப்பை முடக்கு" | ||||
|  | ||||
| #: ../src/core/main.c:202 | ||||
| #: ../src/core/main.c:203 | ||||
| msgid "Replace the running window manager" | ||||
| msgstr "இயங்கும் சாளர மேலாளரை  மாற்றுக" | ||||
|  | ||||
| #: ../src/core/main.c:208 | ||||
| #: ../src/core/main.c:209 | ||||
| msgid "Specify session management ID" | ||||
| msgstr "அமர்வு மேலாண் எண்ணை குறிப்பிடு" | ||||
|  | ||||
| #: ../src/core/main.c:213 | ||||
| #: ../src/core/main.c:214 | ||||
| msgid "X Display to use" | ||||
| msgstr "பயன்படுத்த வேண்டிய X காட்சி" | ||||
|  | ||||
| #: ../src/core/main.c:219 | ||||
| #: ../src/core/main.c:220 | ||||
| msgid "Initialize session from savefile" | ||||
| msgstr "அமர்வை சேவ்பைல் இலிருந்து துவக்கு " | ||||
|  | ||||
| #: ../src/core/main.c:225 | ||||
| #: ../src/core/main.c:226 | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "எக்ஸ் அழைப்புகளை ஒத்திசை." | ||||
|  | ||||
| #: ../src/core/main.c:494 | ||||
| #: ../src/core/main.c:534 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "கருப்பொருள் அடைவை வருடுவதில் தோல்வி: %s\n" | ||||
|  | ||||
| #: ../src/core/main.c:510 | ||||
| #: ../src/core/main.c:550 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -341,7 +354,7 @@ msgstr "அச்சு பதிப்பு" | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "பயன்படுத்த க்ளட்டர் செருகிகள்" | ||||
|  | ||||
| #: ../src/core/prefs.c:1079 | ||||
| #: ../src/core/prefs.c:1095 | ||||
| msgid "" | ||||
| "Workarounds for broken applications disabled. Some applications may not " | ||||
| "behave properly.\n" | ||||
| @@ -349,14 +362,14 @@ msgstr "" | ||||
| "உடைந்த பயன்பாடுகளின் செயல்பாடு தடைசெய்யப்பட்டது, சில பயன்பாடுகள் சரியாக வேலை " | ||||
| "செய்யாது.\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1154 | ||||
| #: ../src/core/prefs.c:1170 | ||||
| #, c-format | ||||
| msgid "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
| msgstr "" | ||||
| "எழுத்துரு விளக்கம் \"%s\" ஐ ஜிசெட்டிங்க்ஸ் விசையிலிருந்து பகுக்க முடியவில்லை %" | ||||
| "s\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1220 | ||||
| #: ../src/core/prefs.c:1236 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for mouse button " | ||||
| @@ -364,24 +377,24 @@ msgid "" | ||||
| msgstr "" | ||||
| "அமைப்பு பாங்கில் உள்ள \"%s\" சுட்டி பட்டன் மாற்றியில் செல்லாத மதிப்பு\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1757 | ||||
| #: ../src/core/prefs.c:1788 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| "\"%s\"\n" | ||||
| msgstr "\"%s\" அமைப்பு தரவுத்தளத்தில் உள்ள மதிப்பு செல்லாத கீபைன்டிங்\"%s\"\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1854 | ||||
| #: ../src/core/prefs.c:1887 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "வேலையிடம் %d" | ||||
|  | ||||
| #: ../src/core/screen.c:652 | ||||
| #: ../src/core/screen.c:691 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "திரை %d காட்சி '%s' இல் செல்லாது\n" | ||||
|  | ||||
| #: ../src/core/screen.c:668 | ||||
| #: ../src/core/screen.c:707 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -390,18 +403,18 @@ msgstr "" | ||||
| "திரை %d காட்சி \"%s\" க்கு சாளர மேலாளர் உள்ளது; --replace தேர்வை பயன்படுத்தி " | ||||
| "தற்போதைய சாளரத்தை மாற்றவும்.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:695 | ||||
| #: ../src/core/screen.c:734 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| msgstr "திரையில் சாளர மேலாளர் தேர்வை பெறமுடியவில்லை %d காட்சி \"%s\"\n" | ||||
|  | ||||
| #: ../src/core/screen.c:750 | ||||
| #: ../src/core/screen.c:812 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "திரை %d யின் காட்சி \"%s\" க்கு சாளர மேலாளர் ஏற்கெனவே உள்ளது\n" | ||||
|  | ||||
| #: ../src/core/screen.c:935 | ||||
| #: ../src/core/screen.c:998 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "திரை %d ஐ விடுவிக்க முடியவில்லை \"%s\"\n" | ||||
| @@ -462,44 +475,44 @@ msgstr "" | ||||
| " "தற்போதைய அமைப்பை சேமி" செயலுக்கு ஆதரவு இல்லை மேலும் அடுத்த முறை " | ||||
| "உள்நுழையும் போது நீங்களாக துவக்க வேண்டும்" | ||||
|  | ||||
| #: ../src/core/util.c:80 | ||||
| #: ../src/core/util.c:84 | ||||
| #, c-format | ||||
| msgid "Failed to open debug log: %s\n" | ||||
| msgstr "பிழைதிருத்த பட்டியலை திறப்பதில் தோல்வி: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:90 | ||||
| #: ../src/core/util.c:94 | ||||
| #, c-format | ||||
| msgid "Failed to fdopen() log file %s: %s\n" | ||||
| msgstr "fdopen() பதிவுக்கோப்பு தோல்வி %s: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:96 | ||||
| #: ../src/core/util.c:100 | ||||
| #, c-format | ||||
| msgid "Opened log file %s\n" | ||||
| msgstr "பதிவுக்கோப்பு திறக்கப்பட்டது %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:115 ../src/tools/mutter-message.c:149 | ||||
| #: ../src/core/util.c:119 ../src/tools/mutter-message.c:149 | ||||
| #, c-format | ||||
| msgid "Mutter was compiled without support for verbose mode\n" | ||||
| msgstr "வெர்போஸ் ஆதரவு இல்லாமல் மட்டர் அமைக்கப்பட்டது\n" | ||||
|  | ||||
| #: ../src/core/util.c:259 | ||||
| #: ../src/core/util.c:264 | ||||
| msgid "Window manager: " | ||||
| msgstr "சாளர மேலாளர்:" | ||||
|  | ||||
| #: ../src/core/util.c:407 | ||||
| #: ../src/core/util.c:412 | ||||
| msgid "Bug in window manager: " | ||||
| msgstr "சாளர மேலாளரில் பிழை" | ||||
|  | ||||
| #: ../src/core/util.c:438 | ||||
| #: ../src/core/util.c:443 | ||||
| msgid "Window manager warning: " | ||||
| msgstr "சாளர மேலாளர் எச்சரிக்கை:" | ||||
|  | ||||
| #: ../src/core/util.c:466 | ||||
| #: ../src/core/util.c:471 | ||||
| msgid "Window manager error: " | ||||
| msgstr "சாளர மேலாளர் பிழை" | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7240 | ||||
| #: ../src/core/window.c:7596 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -516,7 +529,7 @@ msgstr "" | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7905 | ||||
| #: ../src/core/window.c:8320 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| @@ -526,22 +539,22 @@ msgstr "" | ||||
| "அதிக " | ||||
| "பட்ச அளவு %d x %d; பொருள் தரும்படி இல்லை.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:274 | ||||
| #: ../src/core/window-props.c:318 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "பயன்பாடு பொய்யான ஒரு _NET_WM_PID %lu ஐ அமைத்தது\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:393 | ||||
| #: ../src/core/window-props.c:434 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s (%s மீது)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1448 | ||||
| #: ../src/core/window-props.c:1517 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "செல்லாத WM_TRANSIENT_FOR சாளரம் 0x%lx இதற்கு குறிக்கப்பட்டது: %s.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1459 | ||||
| #: ../src/core/window-props.c:1528 | ||||
| #, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "WM_TRANSIENT_FOR சாளரம் 0x%lx %s க்கு சுழல் நிகழ்வை உருவாக்கும்.\n" | ||||
| @@ -693,10 +706,22 @@ msgstr "" | ||||
| "இந்த மதிப்பை அடைய மறை விளிம்பு சேர்க்கப்படும்." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:17 | ||||
| msgid "Auto maximize nearly monitor sized windows" | ||||
| msgstr "ஏறத்தாழ திரை அளவுள்ள சாளரங்களை தானியங்கியாக அதிக பட்ச அளவாக்கு" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "" | ||||
| "If enabled, new windows that are initially the size of the monitor " | ||||
| "automatically get maximized." | ||||
| msgstr "" | ||||
| "செயலாக்கினால், துவக்கத்தில் ஏறத்தாழ திரை அளவுள்ள புதிய சாளரங்கள் தானியங்கியாக " | ||||
| "அதிக பட்ச அளவாக்கப்படும்" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:19 | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "கீற்றுத்துள்ளலிருந்து சாளரத்தை தேர்ந்தெடுக்கவும்." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:20 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "கீற்று துள்ளுவதை இரத்து செய்" | ||||
|  | ||||
| @@ -899,53 +924,53 @@ msgstr "Mod5" | ||||
| #. Translators: This represents the size of a window.  The first number is | ||||
| #. * the width of the window and the second is the height. | ||||
| #. | ||||
| #: ../src/ui/resizepopup.c:113 | ||||
| #: ../src/ui/resizepopup.c:136 | ||||
| #, c-format | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:236 | ||||
| msgid "top" | ||||
| msgstr "மேல்" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:238 | ||||
| msgid "bottom" | ||||
| msgstr "கீழ்" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:240 | ||||
| msgid "left" | ||||
| msgstr "இடது" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:242 | ||||
| msgid "right" | ||||
| msgstr "வலது" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:270 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "சட்ட வடிவியல் \"%s\" அளவை குறிப்பிடவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:289 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "\"%s\" ஓரத்திற்கு வடிவியல் \"%s\" அளவை குறிப்பிடவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:326 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "பட்டன் அளவு விகிதம் %g சரியில்ல" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:338 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "சட்ட அளவு பட்டன் அளவை குறிப்பிடவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1051 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "க்ரேடியன்டில் இரண்டு நிறங்களாவது இருக்க வேண்டும்" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #: ../src/ui/theme.c:1203 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| @@ -955,7 +980,7 @@ msgstr "" | ||||
| "அடைப்புக்குறிகளுக்குள்ளும்  " | ||||
| "கொண்டிருக்க வேண்டும் உம்  gtk:custom(foo,bar); \"%s\" ஐ பகுக்க முடியவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1219 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| @@ -965,7 +990,7 @@ msgstr "" | ||||
| "A-Za-z0-9-" | ||||
| "_ ஆகியன மட்டுமே செல்லுபடியாகும்." | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #: ../src/ui/theme.c:1233 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| @@ -974,7 +999,7 @@ msgstr "" | ||||
| "ஜிடிகே:தனிப்பயன் ஒழுங்கு \"gtk:custom(color_name,fallback)\", \"%s\" இந்த " | ||||
| "ஒழுங்குக்கு பொருந்தாது" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1278 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| @@ -984,7 +1009,7 @@ msgstr "" | ||||
| "நிலையை " | ||||
| "குறிக்கும் பகுக்க முடியாது \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1292 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| @@ -994,17 +1019,17 @@ msgstr "" | ||||
| "NORMAL " | ||||
| "நிலையை குறிக்கும் பகுக்க முடியாது \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1303 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "நிலை \"%s\" வண்ண குறிப்பில் புரிந்துகொள்ள முடியவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1316 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "நிலை \"%s\" வண்ண குறிப்பு பொருளில் புரிந்துகொள்ள முடியவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1345 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| @@ -1013,18 +1038,18 @@ msgstr "" | ||||
| "வளைந்த அமைப்பு \"blend/bg_color/fg_color/alpha\", \"%s\" இந்த வடிவமைப்பிற்கு " | ||||
| "பொருந்தாது" | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1356 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "ஆம்ஃபா மதிப்பை \"%s\" வளைந்த நிறத்தில் பகுக்க முடியவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1366 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "" | ||||
| "ஆல்ஃபா மதுப்பு \"%s\"வளைவு நிறத்தில் 0.0 க்கும் 1.0 க்கும் இடையில் இல்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1413 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| @@ -1032,39 +1057,39 @@ msgstr "" | ||||
| "நிழல் வடிவமைப்பு \"shade/base_color/factor\", \"%s\" இந்த அமைப்பிற்கு " | ||||
| "பொருந்தாது" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1424 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "நிழல்விகிதத்தை \"%s\" நிறத்தோடு பகுக்க முடியாது" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1434 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "நிழல் விகிதம் \"%s\" முழுக்களாக உள்ளது " | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1463 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "\"%s\" நிறத்தை பகுக்க முடியவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1780 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "அச்சுக்கள் எழுத்தால் குறிக்கப்பட்டுள்ளது '%s' க்கு அனுமதி இல்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1807 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| "parsed" | ||||
| msgstr "அச்சுக்கள் பின்ன எண்ணால் குறிக்கப்பட்டுள்ளது '%s' ஐ பகுக்க முடியாது" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1821 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "அச்சுக்கள் இயல் எண்ணால் குறிக்கப்பட்டுள்ளது '%s' ஐ பகுக்க முடியாது" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1942 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| @@ -1072,41 +1097,41 @@ msgid "" | ||||
| msgstr "" | ||||
| "உரையின் துவக்கத்தில் அச்சின் கூற்றில் தெரியாத செயல் இடம்பெற்றுள்ளது \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:1999 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "அச்சு கூற்று காலியாக உள்ளது அல்லது புரியவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2112 ../src/ui/theme.c:2122 ../src/ui/theme.c:2156 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "அச்சு கூற்று பூஜ்ஜியத்தால் வகுத்தல் பிழையை தந்தது" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2164 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| msgstr "அச்சு கூற்று mod ஆப்பரேட்டரை பின்ன எண்ணில் பயன்படுத்த முயல்கிறது" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2220 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| msgstr "" | ||||
| "அச்சு கூற்றில் ஆப்பரேட்டர் உள்ளது \"%s\" ஆப்பரன் எதிர்பார்க்கப்படுகிறது" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2229 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "" | ||||
| "அச்சு கூற்றில் ஆப்பரன்ட் உள்ளது ஆனால் ஆப்பரேட்டர் எதிர்பார்க்கப்படுகிறது" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2237 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "அச்சு கூற்றில் ஆப்பரன்ட்டுக்கு பதில் ஆப்பரேட்டரால் முடிந்தது" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2247 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| @@ -1115,39 +1140,39 @@ msgstr "" | ||||
| "அச்சு கூற்றில்  \"%c\" ஆப்பரேட்டர் உள்ளது \"%c\" ஆப்பரேட்டருக்கு ஆப்பரன்ட் " | ||||
| "இல்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2398 ../src/ui/theme.c:2443 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "அச்சு கூற்றில் செல்லாத மாற்றி மற்றும் கான்ஸ்ட்டன் உள்ளது \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2497 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "ஆயத்தொலைவு தெரிவிப்பு பகுப்பி அதன் இடையகத்தை நிரப்பியது" | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2526 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "" | ||||
| "அச்சு கூற்றில் மூடிய அடைப்புக்குறி உள்ளது ஆனால் திறந்த அடைப்புகுறி இல்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2590 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "" | ||||
| "அச்சு கூற்றில் திறந்த அடைப்புக்குறி உள்ளது ஆனால் மூடிய அடைப்புகுறி இல்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2601 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "அச்சுக்கூற்றில் ஆப்பரன்ட் மற்றும் ஆப்பரேட்டர் காணப்படவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2814 ../src/ui/theme.c:2834 ../src/ui/theme.c:2854 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "கருப்பொருளில் ஒரு கூற்று இருந்தது. அது பிழையை ஏற்படுத்தியது : %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4500 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| @@ -1157,25 +1182,25 @@ msgstr "" | ||||
| "பாணிக்கு " | ||||
| "குறிப்பிடப்பட வேண்டும்" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5011 ../src/ui/theme.c:5036 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "" | ||||
| "காணவில்லை <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5084 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "கருப்பொருளை ஏற்றுவதில் தோல்வி \"%s\": %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5220 ../src/ui/theme.c:5227 ../src/ui/theme.c:5234 | ||||
| #: ../src/ui/theme.c:5241 ../src/ui/theme.c:5248 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "இல்லை<%s> கருப்பொருளுக்காக அமைக்கப்பட்டது \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5256 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| @@ -1184,7 +1209,7 @@ msgstr "" | ||||
| "சட்ட பாணி சாளர வகை இல்லை\"%s\" கருப்பொருளில் \"%s\", <window type=\"%s\" " | ||||
| "style_set=\"whatever\"/> உறுப்பை சேர்க்கவும்" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5663 ../src/ui/theme.c:5725 ../src/ui/theme.c:5788 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| @@ -1192,7 +1217,7 @@ msgstr "" | ||||
| "பயனீட்டாளர்-குறிப்பிட்ட கான்ஸ்டன் பெரிய எழுத்தில் துவங்க வேண்டும்; \"%s\" " | ||||
| "இல்லை" | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5671 ../src/ui/theme.c:5733 ../src/ui/theme.c:5796 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "கான்ஸ்டன் \"%s\" ஏற்கெனவே குறிப்பிடப்பட்டது" | ||||
| @@ -1575,7 +1600,7 @@ msgstr "உறுப்பிற்குள் உரை அனுமதி இ | ||||
| msgid "<%s> specified twice for this theme" | ||||
| msgstr "<%s> இந்த கருப்பொருளுக்கு இரண்டுமுறை குறிப்பிட்டுள்ளது" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:4334 | ||||
| #: ../src/ui/theme-parser.c:4336 | ||||
| #, c-format | ||||
| msgid "Failed to find a valid file for theme %s\n" | ||||
| msgstr "%s கருத்துக்கு செல்லுபடியாகும் கோப்பு கண்டுபிடித்தல் தோல்வியுற்றது \n" | ||||
| @@ -1681,56 +1706,56 @@ msgstr "ஓரம்" | ||||
| msgid "Attached Modal Dialog" | ||||
| msgstr "இணைத்த மாதிரி உரையாடல்" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:739 | ||||
| #: ../src/ui/theme-viewer.c:737 | ||||
| #, c-format | ||||
| msgid "Button layout test %d" | ||||
| msgstr "பட்டன் உருவரை சோதனை %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:768 | ||||
| #: ../src/ui/theme-viewer.c:766 | ||||
| #, c-format | ||||
| msgid "%g milliseconds to draw one window frame" | ||||
| msgstr "%g சாளரத்தை வரைய மில்லிசெக்கண்டு" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:813 | ||||
| #: ../src/ui/theme-viewer.c:811 | ||||
| #, c-format | ||||
| msgid "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
| msgstr "பயன்பாடு: metacity-theme-viewer [THEMENAME]\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:820 | ||||
| #: ../src/ui/theme-viewer.c:818 | ||||
| #, c-format | ||||
| msgid "Error loading theme: %s\n" | ||||
| msgstr "கருப்பொருளை ஏற்றுவதில் பிழை: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:826 | ||||
| #: ../src/ui/theme-viewer.c:824 | ||||
| #, c-format | ||||
| msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| msgstr "கருப்பொருள்  \"%s\" %g செகண்டில்\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:870 | ||||
| #: ../src/ui/theme-viewer.c:869 | ||||
| msgid "Normal Title Font" | ||||
| msgstr "இயல்பான தலைப்பு எழுத்துரு" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:876 | ||||
| #: ../src/ui/theme-viewer.c:875 | ||||
| msgid "Small Title Font" | ||||
| msgstr "சிறிய தலைப்பு எழுத்துரு" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:882 | ||||
| #: ../src/ui/theme-viewer.c:881 | ||||
| msgid "Large Title Font" | ||||
| msgstr "பெரிய தலைப்பு எழுத்துரு" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:887 | ||||
| #: ../src/ui/theme-viewer.c:886 | ||||
| msgid "Button Layouts" | ||||
| msgstr "பட்டன் உருவரை" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:892 | ||||
| #: ../src/ui/theme-viewer.c:891 | ||||
| msgid "Benchmark" | ||||
| msgstr "நிர்ணயம்" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:944 | ||||
| #: ../src/ui/theme-viewer.c:947 | ||||
| msgid "Window Title Goes Here" | ||||
| msgstr "சாளர தலைப்பு இங்கே" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1047 | ||||
| #: ../src/ui/theme-viewer.c:1053 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g " | ||||
| @@ -1741,43 +1766,46 @@ msgstr "" | ||||
| "சேவகனின் " | ||||
| "மூலத்தில் (%g மில்லி செகண்ட் சட்டத்திற்கு)\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1266 | ||||
| #: ../src/ui/theme-viewer.c:1273 | ||||
| msgid "position expression test returned TRUE but set error" | ||||
| msgstr "நிலை கூற்று சோதனை உண்மையை தந்தது ஆனால் பிழை" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1268 | ||||
| #: ../src/ui/theme-viewer.c:1275 | ||||
| msgid "position expression test returned FALSE but didn't set error" | ||||
| msgstr "நிலை கூற்று சோதனை பொய்யை தந்தது ஆனால் பிழை" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1272 | ||||
| #: ../src/ui/theme-viewer.c:1279 | ||||
| msgid "Error was expected but none given" | ||||
| msgstr "பிழை எதிர்பார்க்கப்பட்டடு ஆனால் தரப்படவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1274 | ||||
| #: ../src/ui/theme-viewer.c:1281 | ||||
| #, c-format | ||||
| msgid "Error %d was expected but %d given" | ||||
| msgstr "பிழை %d எதிர்பார்க்கப்பட்டது %d தரப்படவில்லை" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1280 | ||||
| #: ../src/ui/theme-viewer.c:1287 | ||||
| #, c-format | ||||
| msgid "Error not expected but one was returned: %s" | ||||
| msgstr "பிழை எதிர்பார்க்கப்பட்டடு ஆனால் தரப்படவில்லை: %s" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1284 | ||||
| #: ../src/ui/theme-viewer.c:1291 | ||||
| #, c-format | ||||
| msgid "x value was %d, %d was expected" | ||||
| msgstr "x மதிப்பு %d, %d எதிர்பார்க்கப்பட்டது" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1287 | ||||
| #: ../src/ui/theme-viewer.c:1294 | ||||
| #, c-format | ||||
| msgid "y value was %d, %d was expected" | ||||
| msgstr "y மதிப்பு %d, %d எதிர்பார்க்கப்பட்டது" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1352 | ||||
| #: ../src/ui/theme-viewer.c:1359 | ||||
| #, c-format | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "%d அச்சு கூற்று பகுக்கப்பட்டது %g செகண்டில் (%g சராசரி செகண்ட்)\n" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "சாளரத்தை சிறிதாக்கு" | ||||
|  | ||||
| #~ msgid "Comma-separated list of compositor plugins" | ||||
| #~ msgstr "பல்வினையாக்கியின் சொருகிகளின் கமாவால் பிரித்த பட்டியல்." | ||||
|  | ||||
|   | ||||
							
								
								
									
										1094
									
								
								po/zh_HK.po
									
									
									
									
									
								
							
							
						
						
									
										1094
									
								
								po/zh_HK.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1096
									
								
								po/zh_TW.po
									
									
									
									
									
								
							
							
						
						
									
										1096
									
								
								po/zh_TW.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1
									
								
								protocol/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								protocol/Makefile.am
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| EXTRA_DIST = xserver.xml | ||||
							
								
								
									
										30
									
								
								protocol/gtk-shell.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								protocol/gtk-shell.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| <protocol name="gtk"> | ||||
|  | ||||
|   <interface name="gtk_shell" version="1"> | ||||
|     <enum name="capability"> | ||||
|       <entry name="global_app_menu" value="1"/> | ||||
|       <entry name="global_menu_bar" value="2"/> | ||||
|     </enum> | ||||
|  | ||||
|     <event name="capabilities"> | ||||
|       <arg name="capabilities" type="uint"/> | ||||
|     </event> | ||||
|  | ||||
|     <request name="get_gtk_surface"> | ||||
|       <arg name="gtk_surface" type="new_id" interface="gtk_surface"/> | ||||
|       <arg name="surface" type="object" interface="wl_surface"/> | ||||
|     </request> | ||||
|   </interface> | ||||
|  | ||||
|   <interface name="gtk_surface" version="1"> | ||||
|     <request name="set_dbus_properties"> | ||||
|       <arg name="application_id" type="string" allow-null="true"/> | ||||
|       <arg name="app_menu_path" type="string" allow-null="true"/> | ||||
|       <arg name="menubar_path" type="string" allow-null="true"/> | ||||
|       <arg name="window_object_path" type="string" allow-null="true"/> | ||||
|       <arg name="application_object_path" type="string" allow-null="true"/> | ||||
|       <arg name="unique_bus_name" type="string" allow-null="true"/> | ||||
|     </request> | ||||
|   </interface> | ||||
|  | ||||
| </protocol> | ||||
							
								
								
									
										18
									
								
								protocol/xserver.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								protocol/xserver.xml
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| <protocol name="xserver"> | ||||
|  | ||||
|   <interface name="xserver" version="1"> | ||||
|     <request name="set_window_id"> | ||||
|       <arg name="surface" type="object" interface="wl_surface"/> | ||||
|       <arg name="id" type="uint"/> | ||||
|     </request> | ||||
|  | ||||
|     <event name="client"> | ||||
|       <arg name="fd" type="fd"/> | ||||
|     </event> | ||||
|  | ||||
|     <event name="listen_socket"> | ||||
|       <arg name="fd" type="fd"/> | ||||
|     </event> | ||||
|   </interface> | ||||
|  | ||||
| </protocol> | ||||
							
								
								
									
										189
									
								
								src/Makefile.am
									
									
									
									
									
								
							
							
						
						
									
										189
									
								
								src/Makefile.am
									
									
									
									
									
								
							| @@ -1,12 +1,16 @@ | ||||
| # Flag build for parallelism; see https://savannah.gnu.org/patch/?6905 | ||||
| .AUTOPARALLEL: | ||||
|  | ||||
| lib_LTLIBRARIES = libmutter.la | ||||
| lib_LTLIBRARIES = libmutter-wayland.la | ||||
|  | ||||
| SUBDIRS=wm-tester tools compositor/plugins | ||||
| SUBDIRS=compositor/plugins | ||||
|  | ||||
| INCLUDES=								\ | ||||
| 	-DCLUTTER_ENABLE_EXPERIMENTAL_API				\ | ||||
| 	-DCOGL_ENABLE_EXPERIMENTAL_API					\ | ||||
| 	-DCOGL_ENABLE_EXPERIMENTAL_2_0_API                              \ | ||||
| 	$(MUTTER_CFLAGS)						\ | ||||
| 	-I$(top_builddir)						\ | ||||
| 	-I$(srcdir)							\ | ||||
| 	-I$(srcdir)/core						\ | ||||
| 	-I$(srcdir)/ui							\ | ||||
| @@ -26,24 +30,44 @@ INCLUDES=								\ | ||||
| 	-DMUTTER_PLUGIN_DIR=\"@MUTTER_PLUGIN_DIR@\"			\ | ||||
| 	-DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" | ||||
|  | ||||
| mutter_built_sources = \ | ||||
| 	mutter-enum-types.h \ | ||||
| 	mutter-enum-types.c | ||||
| INCLUDES += \ | ||||
| 	-I$(srcdir)/wayland						\ | ||||
| 	-I$(builddir)/wayland						\ | ||||
| 	-DXWAYLAND_PATH='"@XWAYLAND_PATH@"' | ||||
|  | ||||
| libmutter_la_SOURCES =				\ | ||||
| mutter_built_sources = \ | ||||
| 	$(dbus_idle_built_sources)		\ | ||||
| 	$(dbus_xrandr_built_sources)		\ | ||||
| 	mutter-enum-types.h 			\ | ||||
| 	mutter-enum-types.c			\ | ||||
| 	wayland/gtk-shell-protocol.c		\ | ||||
| 	wayland/gtk-shell-server-protocol.h	\ | ||||
| 	wayland/gtk-shell-client-protocol.h	\ | ||||
| 	wayland/xserver-protocol.c		\ | ||||
| 	wayland/xserver-server-protocol.h	\ | ||||
| 	wayland/xserver-client-protocol.h | ||||
|  | ||||
| libmutter_wayland_la_SOURCES =			\ | ||||
| 	core/async-getprop.c			\ | ||||
| 	core/async-getprop.h			\ | ||||
| 	core/barrier.c				\ | ||||
| 	meta/barrier.h				\ | ||||
| 	core/bell.c				\ | ||||
| 	core/bell.h				\ | ||||
| 	core/boxes.c				\ | ||||
| 	core/boxes-private.h			\ | ||||
| 	meta/boxes.h				\ | ||||
| 	compositor/clutter-utils.c		\ | ||||
| 	compositor/clutter-utils.h		\ | ||||
| 	compositor/cogl-utils.c			\ | ||||
| 	compositor/cogl-utils.h			\ | ||||
| 	compositor/compositor.c			\ | ||||
| 	compositor/compositor-private.h		\ | ||||
| 	compositor/meta-background.c		\ | ||||
| 	compositor/meta-background-actor.c	\ | ||||
| 	compositor/meta-background-actor-private.h	\ | ||||
| 	compositor/meta-background-group.c	\ | ||||
| 	compositor/meta-background-group-private.h	\ | ||||
| 	compositor/meta-module.c		\ | ||||
| 	compositor/meta-module.h		\ | ||||
| 	compositor/meta-plugin.c		\ | ||||
| @@ -52,6 +76,7 @@ libmutter_la_SOURCES =				\ | ||||
| 	compositor/meta-shadow-factory.c	\ | ||||
| 	compositor/meta-shadow-factory-private.h	\ | ||||
| 	compositor/meta-shaped-texture.c	\ | ||||
| 	compositor/meta-shaped-texture-private.h 	\ | ||||
| 	compositor/meta-texture-rectangle.c	\ | ||||
| 	compositor/meta-texture-rectangle.h	\ | ||||
| 	compositor/meta-texture-tower.c		\ | ||||
| @@ -65,7 +90,9 @@ libmutter_la_SOURCES =				\ | ||||
| 	compositor/region-utils.c		\ | ||||
| 	compositor/region-utils.h		\ | ||||
| 	meta/compositor.h			\ | ||||
| 	meta/meta-background.h			\ | ||||
| 	meta/meta-background-actor.h		\ | ||||
| 	meta/meta-background-group.h		\ | ||||
| 	meta/meta-plugin.h			\ | ||||
| 	meta/meta-shadow-factory.h		\ | ||||
| 	meta/meta-window-actor.h		\ | ||||
| @@ -82,10 +109,10 @@ libmutter_la_SOURCES =				\ | ||||
| 	ui/draw-workspace.h			\ | ||||
| 	core/edge-resistance.c			\ | ||||
| 	core/edge-resistance.h			\ | ||||
| 	core/edid-parse.c			\ | ||||
| 	core/edid.h				\ | ||||
| 	core/errors.c				\ | ||||
| 	meta/errors.h				\ | ||||
| 	core/eventqueue.c			\ | ||||
| 	core/eventqueue.h			\ | ||||
| 	core/frame.c				\ | ||||
| 	core/frame.h				\ | ||||
| 	ui/gradient.c				\ | ||||
| @@ -100,6 +127,16 @@ libmutter_la_SOURCES =				\ | ||||
| 	core/keybindings.c			\ | ||||
| 	core/keybindings-private.h		\ | ||||
| 	core/main.c				\ | ||||
| 	core/meta-cursor-tracker.c		\ | ||||
| 	core/meta-cursor-tracker-private.h	\ | ||||
| 	core/meta-idle-monitor.c		\ | ||||
| 	core/meta-idle-monitor-private.h	\ | ||||
| 	core/meta-xrandr-shared.h		\ | ||||
| 	core/monitor.c				\ | ||||
| 	core/monitor-config.c			\ | ||||
| 	core/monitor-kms.c			\ | ||||
| 	core/monitor-private.h			\ | ||||
| 	core/monitor-xrandr.c			\ | ||||
| 	core/mutter-Xatomtype.h			\ | ||||
| 	core/place.c				\ | ||||
| 	core/place.h				\ | ||||
| @@ -117,6 +154,7 @@ libmutter_la_SOURCES =				\ | ||||
| 	core/stack-tracker.h			\ | ||||
| 	core/util.c				\ | ||||
| 	meta/util.h				\ | ||||
| 	core/util-private.h			\ | ||||
| 	core/window-props.c			\ | ||||
| 	core/window-props.h			\ | ||||
| 	core/window.c				\ | ||||
| @@ -129,7 +167,6 @@ libmutter_la_SOURCES =				\ | ||||
| 	meta/common.h				\ | ||||
| 	core/core.h				\ | ||||
| 	ui/ui.h					\ | ||||
| 	inlinepixbufs.h				\ | ||||
| 	ui/frames.c				\ | ||||
| 	ui/frames.h				\ | ||||
| 	ui/menu.c				\ | ||||
| @@ -147,16 +184,37 @@ libmutter_la_SOURCES =				\ | ||||
| 	meta/theme.h				\ | ||||
| 	ui/theme-private.h			\ | ||||
| 	ui/ui.c					\ | ||||
| 	meta/preview-widget.h			\ | ||||
| 	ui/preview-widget.c			\ | ||||
| 	$(mutter_built_sources) | ||||
|  | ||||
| libmutter_la_LDFLAGS = -no-undefined | ||||
| libmutter_la_LIBADD  = $(MUTTER_LIBS) | ||||
| libmutter_wayland_la_SOURCES +=			\ | ||||
| 	wayland/meta-wayland.c			\ | ||||
| 	wayland/meta-wayland-private.h		\ | ||||
| 	wayland/meta-xwayland-private.h		\ | ||||
| 	wayland/meta-xwayland.c			\ | ||||
| 	wayland/meta-wayland-data-device.c      \ | ||||
| 	wayland/meta-wayland-data-device.h      \ | ||||
| 	wayland/meta-wayland-keyboard.c		\ | ||||
| 	wayland/meta-wayland-keyboard.h		\ | ||||
| 	wayland/meta-wayland-pointer.c		\ | ||||
| 	wayland/meta-wayland-pointer.h		\ | ||||
| 	wayland/meta-wayland-seat.c		\ | ||||
| 	wayland/meta-wayland-seat.h		\ | ||||
| 	wayland/meta-wayland-stage.h		\ | ||||
| 	wayland/meta-wayland-stage.c		\ | ||||
| 	wayland/meta-wayland-surface.c		\ | ||||
| 	wayland/meta-wayland-surface.h		\ | ||||
| 	wayland/meta-wayland-types.h		\ | ||||
| 	wayland/meta-wayland-versions.h		\ | ||||
| 	wayland/meta-weston-launch.c		\ | ||||
| 	wayland/meta-weston-launch.h | ||||
|  | ||||
| libmutter_wayland_la_LDFLAGS = -no-undefined | ||||
| libmutter_wayland_la_LIBADD  = $(MUTTER_LIBS) | ||||
|  | ||||
| # Headers installed for plugins; introspected information will | ||||
| # be extracted into Mutter-<version>.gir | ||||
| libmutterinclude_base_headers =		\ | ||||
| 	meta/barrier.h				\ | ||||
| 	meta/boxes.h				\ | ||||
| 	meta/common.h				\ | ||||
| 	meta/compositor-mutter.h		\ | ||||
| @@ -168,6 +226,10 @@ libmutterinclude_base_headers =		\ | ||||
| 	meta/keybindings.h			\ | ||||
| 	meta/main.h				\ | ||||
| 	meta/meta-background-actor.h		\ | ||||
| 	meta/meta-background-group.h		\ | ||||
| 	meta/meta-background.h			\ | ||||
| 	meta/meta-cursor-tracker.h		\ | ||||
| 	meta/meta-idle-monitor.h		\ | ||||
| 	meta/meta-plugin.h			\ | ||||
| 	meta/meta-shaped-texture.h		\ | ||||
| 	meta/meta-shadow-factory.h		\ | ||||
| @@ -183,22 +245,29 @@ libmutterinclude_base_headers =		\ | ||||
| # 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 | ||||
|  | ||||
| libmutterincludedir = $(includedir)/mutter/meta | ||||
| libmutterincludedir = $(includedir)/mutter-wayland/meta | ||||
|  | ||||
| libmutterinclude_HEADERS =			\ | ||||
| 	$(libmutterinclude_base_headers)	\ | ||||
| 	$(libmutterinclude_extra_headers) | ||||
|  | ||||
| mutter_theme_viewer_SOURCES=  \ | ||||
| 	ui/theme-viewer.c | ||||
| bin_PROGRAMS=mutter-wayland | ||||
|  | ||||
| bin_PROGRAMS=mutter mutter-theme-viewer | ||||
| mutter_wayland_SOURCES = core/mutter.c | ||||
| mutter_wayland_LDADD = $(MUTTER_LIBS) libmutter-wayland.la | ||||
|  | ||||
| mutter_SOURCES = core/mutter.c | ||||
| mutter_LDADD = $(MUTTER_LIBS) libmutter.la | ||||
| bin_PROGRAMS+=mutter-launch | ||||
|  | ||||
| mutter_launch_SOURCES = wayland/weston-launch.c wayland/weston-launch.h | ||||
|  | ||||
| mutter_launch_CFLAGS = $(MUTTER_LAUNCH_CFLAGS) -DLIBDIR=\"$(libdir)\" | ||||
| mutter_launch_LDFLAGS = $(MUTTER_LAUNCH_LIBS) -lpam | ||||
|  | ||||
| install-exec-hook: | ||||
| 	-chown root $(DESTDIR)$(bindir)/mutter-launch | ||||
| 	-chmod u+s $(DESTDIR)$(bindir)/mutter-launch | ||||
|  | ||||
| if HAVE_INTROSPECTION | ||||
| include $(INTROSPECTION_MAKEFILE) | ||||
| @@ -220,43 +289,36 @@ typelib_DATA = Meta-$(api_version).typelib | ||||
|  | ||||
| INTROSPECTION_GIRS = Meta-$(api_version).gir | ||||
|  | ||||
| Meta-$(api_version).gir: libmutter.la | ||||
| Meta-$(api_version).gir: libmutter-wayland.la | ||||
| @META_GIR@_INCLUDES = GObject-2.0 GDesktopEnums-3.0 Gdk-3.0 Gtk-3.0 Clutter-1.0 xlib-2.0 xfixes-4.0 Cogl-1.0 | ||||
| @META_GIR@_EXPORT_PACKAGES = libmutter | ||||
| @META_GIR@_EXPORT_PACKAGES = libmutter-wayland | ||||
| @META_GIR@_CFLAGS = $(INCLUDES) | ||||
| @META_GIR@_LIBS = libmutter.la | ||||
| @META_GIR@_LIBS = libmutter-wayland.la | ||||
| @META_GIR@_FILES =				\ | ||||
| 	mutter-enum-types.h			\ | ||||
| 	$(libmutterinclude_base_headers)	\ | ||||
| 	$(filter %.c,$(libmutter_la_SOURCES)) | ||||
| 	$(filter %.c,$(libmutter_wayland_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 | ||||
| testboxes_LDADD = $(MUTTER_LIBS) libmutter-wayland.la | ||||
| testgradient_LDADD = $(MUTTER_LIBS) libmutter-wayland.la | ||||
| testasyncgetprop_LDADD = $(MUTTER_LIBS) libmutter-wayland.la | ||||
|  | ||||
| @INTLTOOL_DESKTOP_RULE@ | ||||
|  | ||||
| desktopfilesdir=$(datadir)/applications | ||||
| desktopfiles_in_files=mutter.desktop.in | ||||
| desktopfiles_in_files=mutter-wayland.desktop.in | ||||
| desktopfiles_files=$(desktopfiles_in_files:.desktop.in=.desktop) | ||||
| desktopfiles_DATA = $(desktopfiles_files) | ||||
|  | ||||
| wmpropertiesdir=$(datadir)/gnome/wm-properties | ||||
| wmproperties_in_files=mutter-wm.desktop.in | ||||
| wmproperties_files=$(wmproperties_in_files:.desktop.in=.desktop) | ||||
| wmproperties_DATA = $(wmproperties_files) | ||||
|  | ||||
| xmldir       = @GNOME_KEYBINDINGS_KEYSDIR@ | ||||
| xml_in_files = \ | ||||
|         50-mutter-navigation.xml.in	\ | ||||
| @@ -264,35 +326,28 @@ xml_in_files = \ | ||||
|         50-mutter-windows.xml.in | ||||
| xml_DATA     = $(xml_in_files:.xml.in=.xml) | ||||
|  | ||||
| gsettings_SCHEMAS = org.gnome.mutter.gschema.xml | ||||
| dbus_idle_built_sources = meta-dbus-idle-monitor.c meta-dbus-idle-monitor.h | ||||
|  | ||||
| gsettings_SCHEMAS = org.gnome.mutter.gschema.xml org.gnome.mutter.wayland.gschema.xml | ||||
| @INTLTOOL_XML_NOMERGE_RULE@ | ||||
| @GSETTINGS_RULES@ | ||||
|  | ||||
| convertdir = $(datadir)/GConf/gsettings | ||||
| convert_DATA = mutter-schemas.convert | ||||
|  | ||||
| IMAGES=stock_maximize.png stock_minimize.png stock_delete.png | ||||
| VARIABLES=stock_maximize_data $(srcdir)/stock_maximize.png \ | ||||
|           stock_minimize_data $(srcdir)/stock_minimize.png \ | ||||
|           stock_delete_data $(srcdir)/stock_delete.png | ||||
|  | ||||
| BUILT_SOURCES = inlinepixbufs.h | ||||
| CLEANFILES =					\ | ||||
| 	inlinepixbufs.h				\ | ||||
| 	mutter.desktop				\ | ||||
| 	mutter-wayland.desktop			\ | ||||
| 	mutter-wm.desktop			\ | ||||
| 	org.gnome.mutter.gschema.xml		\ | ||||
| 	org.gnome.mutter.wayland.gschema.xml	\ | ||||
| 	$(xml_DATA)				\ | ||||
| 	$(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 = libmutter.pc mutter-plugins.pc | ||||
| pkgconfig_DATA = libmutter-wayland.pc | ||||
|  | ||||
| EXTRA_DIST=$(desktopfiles_files) 	\ | ||||
| 	$(wmproperties_files)		\ | ||||
| @@ -301,13 +356,14 @@ EXTRA_DIST=$(desktopfiles_files) 	\ | ||||
| 	$(wmproperties_in_files)	\ | ||||
| 	$(xml_in_files)			\ | ||||
| 	org.gnome.mutter.gschema.xml.in \ | ||||
| 	org.gnome.mutter.wayland.gschema.xml.in \ | ||||
| 	mutter-schemas.convert \ | ||||
| 	libmutter.pc.in \ | ||||
| 	mutter-plugins.pc.in  \ | ||||
| 	libmutter-wayland.pc.in \ | ||||
| 	mutter-enum-types.h.in \ | ||||
| 	mutter-enum-types.c.in | ||||
| 	mutter-enum-types.c.in \ | ||||
| 	xrandr.xml idle-monitor.xml | ||||
|  | ||||
| BUILT_SOURCES += $(mutter_built_sources) | ||||
| BUILT_SOURCES = $(mutter_built_sources) | ||||
| MUTTER_STAMP_FILES = stamp-mutter-enum-types.h | ||||
| CLEANFILES += $(MUTTER_STAMP_FILES) | ||||
|  | ||||
| @@ -329,3 +385,32 @@ mutter-enum-types.c: stamp-mutter-enum-types.h mutter-enum-types.c.in | ||||
| 	  $(libmutterinclude_base_headers) ) >> xgen-tetc && \ | ||||
| 	cp xgen-tetc mutter-enum-types.c && \ | ||||
| 	rm -f xgen-tetc | ||||
|  | ||||
| dbus_xrandr_built_sources = meta-dbus-xrandr.c meta-dbus-xrandr.h | ||||
|  | ||||
| $(dbus_xrandr_built_sources) : Makefile.am xrandr.xml | ||||
| 	$(AM_V_GEN)gdbus-codegen							\ | ||||
| 		--interface-prefix org.gnome.Mutter					\ | ||||
| 		--c-namespace MetaDBus							\ | ||||
| 		--generate-c-code meta-dbus-xrandr					\ | ||||
| 		$(srcdir)/xrandr.xml | ||||
|  | ||||
| dbus_idle_built_sources = meta-dbus-idle-monitor.c meta-dbus-idle-monitor.h | ||||
|  | ||||
| $(dbus_idle_built_sources) : Makefile.am idle-monitor.xml | ||||
| 	$(AM_V_GEN)gdbus-codegen							\ | ||||
| 		--interface-prefix org.gnome.Mutter					\ | ||||
| 		--c-namespace MetaDBus							\ | ||||
| 		--generate-c-code meta-dbus-idle-monitor				\ | ||||
| 		--c-generate-object-manager						\ | ||||
| 		$(srcdir)/idle-monitor.xml | ||||
|  | ||||
| wayland/%-protocol.c : $(top_builddir)/protocol/%.xml | ||||
| 	mkdir -p wayland | ||||
| 	$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@ | ||||
| wayland/%-server-protocol.h : $(top_builddir)/protocol/%.xml | ||||
| 	mkdir -p wayland | ||||
| 	$(AM_V_GEN)$(WAYLAND_SCANNER) server-header < $< > $@ | ||||
| wayland/%-client-protocol.h : $(top_builddir)/protocol/%.xml | ||||
| 	mkdir -p wayland | ||||
| 	$(AM_V_GEN)$(WAYLAND_SCANNER) client-header < $< > $@ | ||||
|   | ||||
							
								
								
									
										120
									
								
								src/compositor/clutter-utils.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										120
									
								
								src/compositor/clutter-utils.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,120 @@ | ||||
| /* -*- 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 "clutter-utils.h" | ||||
| #include <math.h> | ||||
|  | ||||
| /* This file uses pixel-aligned region computation to determine what | ||||
|  * can be clipped out. This only really works if everything is aligned | ||||
|  * to the pixel grid - not scaled or rotated and at integer offsets. | ||||
|  * | ||||
|  * (This could be relaxed - if we turned off filtering for unscaled | ||||
|  * windows then windows would be, by definition aligned to the pixel | ||||
|  * grid. And for rectangular windows without a shape, the outline that | ||||
|  * we draw for an unrotated window is always a rectangle because we | ||||
|  * don't use antialasing for the window boundary - with or without | ||||
|  * filtering, with or without a scale. But figuring out exactly | ||||
|  * what pixels will be drawn by the graphics system in these cases | ||||
|  * gets tricky, so we just go for the easiest part - no scale, | ||||
|  * and at integer offsets.) | ||||
|  * | ||||
|  * The way we check for pixel-aligned is by looking at the | ||||
|  * transformation into screen space of the allocation box of an actor | ||||
|  * and and checking if the corners are "close enough" to integral | ||||
|  * pixel values. | ||||
|  */ | ||||
|  | ||||
| /* The definition of "close enough" to integral pixel values is | ||||
|  * equality when we convert to 24.8 fixed-point. | ||||
|  */ | ||||
| static inline int | ||||
| round_to_fixed (float x) | ||||
| { | ||||
|   return roundf (x * 256); | ||||
| } | ||||
|  | ||||
| /* This helper function checks if (according to our fixed point precision) | ||||
|  * the vertices @verts form a box of width @widthf and height @heightf | ||||
|  * located at integral coordinates. These coordinates are returned | ||||
|  * in @x_origin and @y_origin. | ||||
|  */ | ||||
| gboolean | ||||
| meta_actor_vertices_are_untransformed (ClutterVertex *verts, | ||||
|                                        float          widthf, | ||||
|                                        float          heightf, | ||||
|                                        int           *x_origin, | ||||
|                                        int           *y_origin) | ||||
| { | ||||
|   int width, height; | ||||
|   int v0x, v0y, v1x, v1y, v2x, v2y, v3x, v3y; | ||||
|   int x, y; | ||||
|  | ||||
|   width = round_to_fixed (widthf); height = round_to_fixed (heightf); | ||||
|  | ||||
|   v0x = round_to_fixed (verts[0].x); v0y = round_to_fixed (verts[0].y); | ||||
|   v1x = round_to_fixed (verts[1].x); v1y = round_to_fixed (verts[1].y); | ||||
|   v2x = round_to_fixed (verts[2].x); v2y = round_to_fixed (verts[2].y); | ||||
|   v3x = round_to_fixed (verts[3].x); v3y = round_to_fixed (verts[3].y); | ||||
|  | ||||
|   /* Using shifting for converting fixed => int, gets things right for | ||||
|    * negative values. / 256. wouldn't do the same | ||||
|    */ | ||||
|   x = v0x >> 8; | ||||
|   y = v0y >> 8; | ||||
|  | ||||
|   /* At integral coordinates? */ | ||||
|   if (x * 256 != v0x || y * 256 != v0y) | ||||
|     return FALSE; | ||||
|  | ||||
|   /* Not scaled? */ | ||||
|   if (v1x - v0x != width || v2y - v0y != height) | ||||
|     return FALSE; | ||||
|  | ||||
|   /* Not rotated/skewed? */ | ||||
|   if (v0x != v2x || v0y != v1y || | ||||
|       v3x != v1x || v3y != v2y) | ||||
|     return FALSE; | ||||
|  | ||||
|   *x_origin = x; | ||||
|   *y_origin = y; | ||||
|  | ||||
|   return TRUE; | ||||
| } | ||||
|  | ||||
| /* Check if an actor is "untransformed" - which actually means transformed by | ||||
|  * at most a integer-translation. The integer translation, if any, is returned. | ||||
|  */ | ||||
| gboolean | ||||
| meta_actor_is_untransformed (ClutterActor *actor, | ||||
|                              int          *x_origin, | ||||
|                              int          *y_origin) | ||||
| { | ||||
|   gfloat widthf, heightf; | ||||
|   ClutterVertex verts[4]; | ||||
|  | ||||
|   clutter_actor_get_size (actor, &widthf, &heightf); | ||||
|   clutter_actor_get_abs_allocation_vertices (actor, verts); | ||||
|  | ||||
|   return meta_actor_vertices_are_untransformed (verts, widthf, heightf, x_origin, y_origin); | ||||
| } | ||||
|  | ||||
							
								
								
									
										36
									
								
								src/compositor/clutter-utils.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								src/compositor/clutter-utils.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ | ||||
| /* | ||||
|  * Utilities for use with Clutter | ||||
|  * | ||||
|  * 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_CLUTTER_UTILS_H__ | ||||
| #define __META_CLUTTER_UTILS_H__ | ||||
|  | ||||
| #include <clutter/clutter.h> | ||||
| gboolean meta_actor_vertices_are_untransformed (ClutterVertex *verts, | ||||
|                                                 float          widthf, | ||||
|                                                 float          heightf, | ||||
|                                                 int           *x_origin, | ||||
|                                                 int           *y_origin); | ||||
| gboolean meta_actor_is_untransformed (ClutterActor *actor, | ||||
|                                       int          *x_origin, | ||||
|                                       int          *y_origin); | ||||
|  | ||||
| #endif /* __META_CLUTTER_UTILS_H__ */ | ||||
| @@ -21,14 +21,15 @@ | ||||
|  * 02111-1307, USA. | ||||
|  */ | ||||
|  | ||||
| #include <clutter/clutter.h> | ||||
| #include "cogl-utils.h" | ||||
|  | ||||
| /** | ||||
|  * meta_create_color_texture_4ub: | ||||
|  * @red: | ||||
|  * @green: | ||||
|  * @blue: | ||||
|  * @alpha: | ||||
|  * @red: red component | ||||
|  * @green: green component | ||||
|  * @blue: blue component | ||||
|  * @alpha: alpha component | ||||
|  * @flags: Optional flags for the texture, or %COGL_TEXTURE_NONE; | ||||
|  *   %COGL_TEXTURE_NO_SLICING is useful if the texture will be | ||||
|  *   repeated to create a constant color fill, since hardware | ||||
| @@ -39,7 +40,7 @@ | ||||
|  * | ||||
|  * Return value: (transfer full): a newly created Cogl texture | ||||
|  */ | ||||
| CoglHandle | ||||
| CoglTexture * | ||||
| meta_create_color_texture_4ub (guint8           red, | ||||
|                                guint8           green, | ||||
|                                guint8           blue, | ||||
| @@ -49,7 +50,7 @@ meta_create_color_texture_4ub (guint8           red, | ||||
|   CoglColor color; | ||||
|   guint8 pixel[4]; | ||||
|  | ||||
|   cogl_color_set_from_4ub (&color, red, green, blue, alpha); | ||||
|   cogl_color_init_from_4ub (&color, red, green, blue, alpha); | ||||
|   cogl_color_premultiply (&color); | ||||
|  | ||||
|   pixel[0] = cogl_color_get_red_byte (&color); | ||||
| @@ -68,43 +69,42 @@ meta_create_color_texture_4ub (guint8           red, | ||||
| /* Based on gnome-shell/src/st/st-private.c:_st_create_texture_material.c */ | ||||
|  | ||||
| /** | ||||
|  * meta_create_texture_material: | ||||
|  * meta_create_texture_pipeline: | ||||
|  * @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) | ||||
|  * Creates a pipeline with a single layer. Using a common template | ||||
|  * makes it easier for Cogl to share a shader for different uses in | ||||
|  * Mutter. | ||||
|  * | ||||
|  * Return value: (transfer full): a newly created Cogl material | ||||
|  * Return value: (transfer full): a newly created #CoglPipeline | ||||
|  */ | ||||
| CoglHandle | ||||
| meta_create_texture_material (CoglHandle src_texture) | ||||
| CoglPipeline * | ||||
| meta_create_texture_pipeline (CoglTexture *src_texture) | ||||
| { | ||||
|   static CoglHandle texture_material_template = COGL_INVALID_HANDLE; | ||||
|   CoglHandle material; | ||||
|   static CoglPipeline *texture_pipeline_template = NULL; | ||||
|   CoglPipeline *pipeline; | ||||
|  | ||||
|   /* 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)) | ||||
|   /* The only state used in the pipeline that would affect the shader | ||||
|      generation is the texture type on the layer. Therefore we create | ||||
|      a template pipeline which sets this state and all texture | ||||
|      pipelines are created as a copy of this. That way Cogl can find | ||||
|      the shader state for the pipeline more quickly by looking at the | ||||
|      pipeline ancestry instead of resorting to the shader cache. */ | ||||
|   if (G_UNLIKELY (texture_pipeline_template == NULL)) | ||||
|     { | ||||
|       CoglHandle dummy_texture; | ||||
|       CoglContext *ctx = | ||||
|         clutter_backend_get_cogl_context (clutter_get_default_backend ()); | ||||
|  | ||||
|       dummy_texture = meta_create_color_texture_4ub (0xff, 0xff, 0xff, 0xff, | ||||
|                                                      COGL_TEXTURE_NONE); | ||||
|  | ||||
|       texture_material_template = cogl_material_new (); | ||||
|       cogl_material_set_layer (texture_material_template, 0, dummy_texture); | ||||
|       cogl_handle_unref (dummy_texture); | ||||
|       texture_pipeline_template = cogl_pipeline_new (ctx); | ||||
|       cogl_pipeline_set_layer_null_texture (texture_pipeline_template, | ||||
|                                             0, /* layer */ | ||||
|                                             COGL_TEXTURE_TYPE_2D); | ||||
|     } | ||||
|  | ||||
|   material = cogl_material_copy (texture_material_template); | ||||
|   pipeline = cogl_pipeline_copy (texture_pipeline_template); | ||||
|  | ||||
|   if (src_texture != COGL_INVALID_HANDLE) | ||||
|     cogl_material_set_layer (material, 0, src_texture); | ||||
|   if (src_texture != NULL) | ||||
|     cogl_pipeline_set_layer_texture (pipeline, 0, src_texture); | ||||
|  | ||||
|   return material; | ||||
|   return pipeline; | ||||
| } | ||||
|   | ||||
| @@ -25,11 +25,11 @@ | ||||
|  | ||||
| #include <cogl/cogl.h> | ||||
|  | ||||
| CoglHandle meta_create_color_texture_4ub (guint8           red, | ||||
|                                           guint8           green, | ||||
|                                           guint8           blue, | ||||
|                                           guint8           alpha, | ||||
|                                           CoglTextureFlags flags); | ||||
| CoglHandle meta_create_texture_material  (CoglHandle src_texture); | ||||
| CoglTexture * meta_create_color_texture_4ub (guint8           red, | ||||
|                                              guint8           green, | ||||
|                                              guint8           blue, | ||||
|                                              guint8           alpha, | ||||
|                                              CoglTextureFlags flags); | ||||
| CoglPipeline * meta_create_texture_pipeline (CoglTexture *texture); | ||||
|  | ||||
| #endif /* __META_COGL_UTILS_H__ */ | ||||
|   | ||||
| @@ -25,22 +25,28 @@ struct _MetaCompositor | ||||
|  | ||||
|   MetaPlugin     *modal_plugin; | ||||
|  | ||||
|   gboolean        show_redraw : 1; | ||||
|   gboolean        debug       : 1; | ||||
|   gboolean        no_mipmaps  : 1; | ||||
|   gint64          server_time_query_time; | ||||
|   gint64          server_time_offset; | ||||
|  | ||||
|   guint           server_time_is_monotonic_time : 1; | ||||
|   guint           show_redraw : 1; | ||||
|   guint           debug       : 1; | ||||
|   guint           no_mipmaps  : 1; | ||||
| }; | ||||
|  | ||||
| struct _MetaCompScreen | ||||
| { | ||||
|   MetaScreen            *screen; | ||||
|  | ||||
|   ClutterActor          *stage, *window_group, *overlay_group; | ||||
|   ClutterActor          *stage, *window_group, *top_window_group, *overlay_group; | ||||
|   ClutterActor          *background_actor; | ||||
|   ClutterActor		*hidden_group; | ||||
|   GList                 *windows; | ||||
|   GHashTable            *windows_by_xid; | ||||
|   Window                 output; | ||||
|  | ||||
|   CoglOnscreen          *onscreen; | ||||
|   CoglFrameClosure      *frame_closure; | ||||
|  | ||||
|   /* Used for unredirecting fullscreen windows */ | ||||
|   guint                   disable_unredirect_count; | ||||
|   MetaWindowActor             *unredirected_window; | ||||
| @@ -53,18 +59,22 @@ struct _MetaCompScreen | ||||
|   MetaPluginManager *plugin_mgr; | ||||
| }; | ||||
|  | ||||
| /* Wait 2ms after vblank before starting to draw next frame */ | ||||
| #define META_SYNC_DELAY 2 | ||||
|  | ||||
| void meta_switch_workspace_completed (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); | ||||
|  | ||||
| gint64 meta_compositor_monotonic_time_to_server_time (MetaDisplay *display, | ||||
|                                                       gint64       monotonic_time); | ||||
|  | ||||
| void meta_check_end_modal (MetaScreen *screen); | ||||
|  | ||||
| #endif /* META_COMPOSITOR_PRIVATE_H */ | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -6,10 +6,9 @@ | ||||
| #include <meta/screen.h> | ||||
| #include <meta/meta-background-actor.h> | ||||
|  | ||||
| void meta_background_actor_set_visible_region  (MetaBackgroundActor *self, | ||||
|                                                 cairo_region_t      *visible_region); | ||||
| void meta_background_actor_set_clip_region  (MetaBackgroundActor *self, | ||||
|                                              cairo_region_t      *clip_region); | ||||
|  | ||||
| void meta_background_actor_update              (MetaScreen *screen); | ||||
| void meta_background_actor_screen_size_changed (MetaScreen *screen); | ||||
| cairo_region_t *meta_background_actor_get_clip_region (MetaBackgroundActor *self); | ||||
|  | ||||
| #endif /* META_BACKGROUND_ACTOR_PRIVATE_H */ | ||||
|   | ||||
| @@ -1,7 +1,5 @@ | ||||
| /* -*- 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. | ||||
|  * | ||||
| @@ -23,12 +21,17 @@ | ||||
|  * Portions adapted from gnome-shell/src/shell-global.c | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * SECTION:meta-background-actor | ||||
|  * @title: MetaBackgroundActor | ||||
|  * @short_description: Actor for painting the root window background | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #define COGL_ENABLE_EXPERIMENTAL_API | ||||
| #include <cogl/cogl-texture-pixmap-x11.h> | ||||
|  | ||||
| #define CLUTTER_ENABLE_EXPERIMENTAL_API | ||||
| #include <clutter/clutter.h> | ||||
|  | ||||
| #include <X11/Xatom.h> | ||||
| @@ -36,222 +39,22 @@ | ||||
| #include "cogl-utils.h" | ||||
| #include "compositor-private.h" | ||||
| #include <meta/errors.h> | ||||
| #include <meta/meta-background.h> | ||||
| #include "meta-background-actor-private.h" | ||||
|  | ||||
| /* We allow creating multiple MetaBackgroundActors for the same MetaScreen to | ||||
|  * allow different rendering options to be set for different copies. | ||||
|  * But we want to share the same underlying CoglTexture for efficiency and | ||||
|  * to avoid driver bugs that might occur if we created multiple CoglTexturePixmaps | ||||
|  * for the same pixmap. | ||||
|  * | ||||
|  * This structure holds common information. | ||||
|  */ | ||||
| typedef struct _MetaScreenBackground MetaScreenBackground; | ||||
|  | ||||
| struct _MetaScreenBackground | ||||
| { | ||||
|   MetaScreen *screen; | ||||
|   GSList *actors; | ||||
|  | ||||
|   float texture_width; | ||||
|   float texture_height; | ||||
|   CoglTexture *texture; | ||||
|   CoglMaterialWrapMode wrap_mode; | ||||
|   guint have_pixmap : 1; | ||||
| }; | ||||
|  | ||||
| struct _MetaBackgroundActorPrivate | ||||
| { | ||||
|   MetaScreenBackground *background; | ||||
|   CoglPipeline *pipeline; | ||||
|  | ||||
|   cairo_region_t *visible_region; | ||||
|   float dim_factor; | ||||
|   cairo_region_t *clip_region; | ||||
| }; | ||||
|  | ||||
| enum | ||||
| { | ||||
|   PROP_0, | ||||
|  | ||||
|   PROP_DIM_FACTOR, | ||||
|  | ||||
|   PROP_LAST | ||||
| }; | ||||
|  | ||||
| static GParamSpec *obj_props[PROP_LAST]; | ||||
|  | ||||
| G_DEFINE_TYPE (MetaBackgroundActor, meta_background_actor, CLUTTER_TYPE_ACTOR); | ||||
|  | ||||
| static void set_texture                (MetaScreenBackground *background, | ||||
|                                         CoglHandle            texture); | ||||
| static void set_texture_to_stage_color (MetaScreenBackground *background); | ||||
|  | ||||
| static void | ||||
| on_notify_stage_color (GObject              *stage, | ||||
|                        GParamSpec           *pspec, | ||||
|                        MetaScreenBackground *background) | ||||
| { | ||||
|   if (!background->have_pixmap) | ||||
|     set_texture_to_stage_color (background); | ||||
| } | ||||
|  | ||||
| static void | ||||
| free_screen_background (MetaScreenBackground *background) | ||||
| { | ||||
|   set_texture (background, COGL_INVALID_HANDLE); | ||||
|  | ||||
|   if (background->screen != NULL) | ||||
|     { | ||||
|       ClutterActor *stage = meta_get_stage_for_screen (background->screen); | ||||
|       g_signal_handlers_disconnect_by_func (stage, | ||||
|                                             (gpointer) on_notify_stage_color, | ||||
|                                             background); | ||||
|       background->screen = NULL; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static MetaScreenBackground * | ||||
| meta_screen_background_get (MetaScreen *screen) | ||||
| { | ||||
|   MetaScreenBackground *background; | ||||
|  | ||||
|   background = g_object_get_data (G_OBJECT (screen), "meta-screen-background"); | ||||
|   if (background == NULL) | ||||
|     { | ||||
|       ClutterActor *stage; | ||||
|  | ||||
|       background = g_new0 (MetaScreenBackground, 1); | ||||
|  | ||||
|       background->screen = screen; | ||||
|       g_object_set_data_full (G_OBJECT (screen), "meta-screen-background", | ||||
|                               background, (GDestroyNotify) free_screen_background); | ||||
|  | ||||
|       stage = meta_get_stage_for_screen (screen); | ||||
|       g_signal_connect (stage, "notify::color", | ||||
|                         G_CALLBACK (on_notify_stage_color), background); | ||||
|  | ||||
|       meta_background_actor_update (screen); | ||||
|     } | ||||
|  | ||||
|   return background; | ||||
| } | ||||
|  | ||||
| static void | ||||
| update_wrap_mode_of_actor (MetaBackgroundActor *self) | ||||
| { | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|  | ||||
|   cogl_pipeline_set_layer_wrap_mode (priv->pipeline, 0, priv->background->wrap_mode); | ||||
| } | ||||
|  | ||||
| static void | ||||
| update_wrap_mode (MetaScreenBackground *background) | ||||
| { | ||||
|   GSList *l; | ||||
|   int width, height; | ||||
|  | ||||
|   meta_screen_get_size (background->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 == background->texture_width && height == background->texture_height) | ||||
|     background->wrap_mode = COGL_MATERIAL_WRAP_MODE_CLAMP_TO_EDGE; | ||||
|   else | ||||
|     background->wrap_mode = COGL_MATERIAL_WRAP_MODE_REPEAT; | ||||
|  | ||||
|   for (l = background->actors; l; l = l->next) | ||||
|     update_wrap_mode_of_actor (l->data); | ||||
| } | ||||
|  | ||||
| static void | ||||
| set_texture_on_actor (MetaBackgroundActor *self) | ||||
| { | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|   MetaDisplay *display = meta_screen_get_display (priv->background->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_pipeline_set_layer_texture (priv->pipeline, 0, priv->background->texture); | ||||
|   meta_error_trap_pop (display); | ||||
|  | ||||
|   clutter_actor_queue_redraw (CLUTTER_ACTOR (self)); | ||||
| } | ||||
|  | ||||
| static void | ||||
| set_texture (MetaScreenBackground *background, | ||||
|              CoglHandle            texture) | ||||
| { | ||||
|   MetaDisplay *display = meta_screen_get_display (background->screen); | ||||
|   GSList *l; | ||||
|  | ||||
|   /* 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); | ||||
|   if (background->texture != COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       cogl_handle_unref (background->texture); | ||||
|       background->texture = COGL_INVALID_HANDLE; | ||||
|     } | ||||
|   meta_error_trap_pop (display); | ||||
|  | ||||
|   if (texture != COGL_INVALID_HANDLE) | ||||
|     background->texture = cogl_handle_ref (texture); | ||||
|  | ||||
|   background->texture_width = cogl_texture_get_width (background->texture); | ||||
|   background->texture_height = cogl_texture_get_height (background->texture); | ||||
|  | ||||
|   for (l = background->actors; l; l = l->next) | ||||
|     set_texture_on_actor (l->data); | ||||
|  | ||||
|   update_wrap_mode (background); | ||||
| } | ||||
|  | ||||
| /* Sets our pipeline 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 (MetaScreenBackground *background) | ||||
| { | ||||
|   ClutterActor *stage = meta_get_stage_for_screen (background->screen); | ||||
|   ClutterColor color; | ||||
|   CoglHandle texture; | ||||
|  | ||||
|   clutter_stage_get_color (CLUTTER_STAGE (stage), &color); | ||||
|  | ||||
|   /* Slicing will prevent COGL from using hardware texturing for | ||||
|    * the tiled 1x1 pixmap, and will cause it to draw the window | ||||
|    * background in millions of separate 1x1 rectangles */ | ||||
|   texture = meta_create_color_texture_4ub (color.red, color.green, | ||||
|                                            color.blue, 0xff, | ||||
|                                            COGL_TEXTURE_NO_SLICING); | ||||
|   set_texture (background, texture); | ||||
|   cogl_handle_unref (texture); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_background_actor_dispose (GObject *object) | ||||
| { | ||||
|   MetaBackgroundActor *self = META_BACKGROUND_ACTOR (object); | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|  | ||||
|   meta_background_actor_set_visible_region (self, NULL); | ||||
|  | ||||
|   if (priv->background != NULL) | ||||
|     { | ||||
|       priv->background->actors = g_slist_remove (priv->background->actors, self); | ||||
|       priv->background = NULL; | ||||
|     } | ||||
|  | ||||
|   g_clear_pointer(&priv->pipeline, cogl_object_unref); | ||||
|   meta_background_actor_set_clip_region (self, NULL); | ||||
|  | ||||
|   G_OBJECT_CLASS (meta_background_actor_parent_class)->dispose (object); | ||||
| } | ||||
| @@ -262,11 +65,15 @@ meta_background_actor_get_preferred_width (ClutterActor *actor, | ||||
|                                            gfloat       *min_width_p, | ||||
|                                            gfloat       *natural_width_p) | ||||
| { | ||||
|   MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor); | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|   int width, height; | ||||
|   ClutterContent *content; | ||||
|   gfloat width; | ||||
|  | ||||
|   meta_screen_get_size (priv->background->screen, &width, &height); | ||||
|   content = clutter_actor_get_content (actor); | ||||
|  | ||||
|   if (content) | ||||
|     clutter_content_get_preferred_size (content, &width, NULL); | ||||
|   else | ||||
|     width = 0; | ||||
|  | ||||
|   if (min_width_p) | ||||
|     *min_width_p = width; | ||||
| @@ -281,11 +88,15 @@ meta_background_actor_get_preferred_height (ClutterActor *actor, | ||||
|                                             gfloat       *natural_height_p) | ||||
|  | ||||
| { | ||||
|   MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor); | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|   int width, height; | ||||
|   ClutterContent *content; | ||||
|   gfloat height; | ||||
|  | ||||
|   meta_screen_get_size (priv->background->screen, &width, &height); | ||||
|   content = clutter_actor_get_content (actor); | ||||
|  | ||||
|   if (content) | ||||
|     clutter_content_get_preferred_size (content, NULL, &height); | ||||
|   else | ||||
|     height = 0; | ||||
|  | ||||
|   if (min_height_p) | ||||
|     *min_height_p = height; | ||||
| @@ -293,64 +104,19 @@ meta_background_actor_get_preferred_height (ClutterActor *actor, | ||||
|     *natural_height_p = height; | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_background_actor_paint (ClutterActor *actor) | ||||
| { | ||||
|   MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor); | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|   guint8 opacity = clutter_actor_get_paint_opacity (actor); | ||||
|   guint8 color_component; | ||||
|   int width, height; | ||||
|  | ||||
|   meta_screen_get_size (priv->background->screen, &width, &height); | ||||
|  | ||||
|   color_component = (int)(0.5 + opacity * priv->dim_factor); | ||||
|  | ||||
|   cogl_pipeline_set_color4ub (priv->pipeline, | ||||
|                               color_component, | ||||
|                               color_component, | ||||
|                               color_component, | ||||
|                               opacity); | ||||
|  | ||||
|   cogl_set_source (priv->pipeline); | ||||
|  | ||||
|   if (priv->visible_region) | ||||
|     { | ||||
|       int n_rectangles = cairo_region_num_rectangles (priv->visible_region); | ||||
|       int i; | ||||
|  | ||||
|       for (i = 0; i < n_rectangles; i++) | ||||
|         { | ||||
|           cairo_rectangle_int_t rect; | ||||
|           cairo_region_get_rectangle (priv->visible_region, i, &rect); | ||||
|  | ||||
|           cogl_rectangle_with_texture_coords (rect.x, rect.y, | ||||
|                                               rect.x + rect.width, rect.y + rect.height, | ||||
|                                               rect.x / priv->background->texture_width, | ||||
|                                               rect.y / priv->background->texture_height, | ||||
|                                               (rect.x + rect.width) / priv->background->texture_width, | ||||
|                                               (rect.y + rect.height) / priv->background->texture_height); | ||||
|         } | ||||
|     } | ||||
|   else | ||||
|     { | ||||
|       cogl_rectangle_with_texture_coords (0.0f, 0.0f, | ||||
|                                           width, height, | ||||
|                                           0.0f, 0.0f, | ||||
|                                           width / priv->background->texture_width, | ||||
|                                           height / priv->background->texture_height); | ||||
|     } | ||||
| } | ||||
|  | ||||
| static gboolean | ||||
| meta_background_actor_get_paint_volume (ClutterActor       *actor, | ||||
|                                         ClutterPaintVolume *volume) | ||||
| { | ||||
|   MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor); | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|   int width, height; | ||||
|   ClutterContent *content; | ||||
|   gfloat width, height; | ||||
|  | ||||
|   meta_screen_get_size (priv->background->screen, &width, &height); | ||||
|   content = clutter_actor_get_content (actor); | ||||
|  | ||||
|   if (!content) | ||||
|     return FALSE; | ||||
|  | ||||
|   clutter_content_get_preferred_size (content, &width, &height); | ||||
|  | ||||
|   clutter_paint_volume_set_width (volume, width); | ||||
|   clutter_paint_volume_set_height (volume, height); | ||||
| @@ -358,227 +124,60 @@ meta_background_actor_get_paint_volume (ClutterActor       *actor, | ||||
|   return TRUE; | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_background_actor_set_dim_factor (MetaBackgroundActor *self, | ||||
|                                       gfloat               dim_factor) | ||||
| { | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|  | ||||
|   if (priv->dim_factor == dim_factor) | ||||
|     return; | ||||
|  | ||||
|   priv->dim_factor = dim_factor; | ||||
|  | ||||
|   clutter_actor_queue_redraw (CLUTTER_ACTOR (self)); | ||||
|  | ||||
|   g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_DIM_FACTOR]); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_background_actor_get_property(GObject         *object, | ||||
|                                    guint            prop_id, | ||||
|                                    GValue          *value, | ||||
|                                    GParamSpec      *pspec) | ||||
| { | ||||
|   MetaBackgroundActor *self = META_BACKGROUND_ACTOR (object); | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|  | ||||
|   switch (prop_id) | ||||
|     { | ||||
|     case PROP_DIM_FACTOR: | ||||
|       g_value_set_float (value, priv->dim_factor); | ||||
|       break; | ||||
|     default: | ||||
|       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||||
|       break; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_background_actor_set_property(GObject         *object, | ||||
|                                    guint            prop_id, | ||||
|                                    const GValue    *value, | ||||
|                                    GParamSpec      *pspec) | ||||
| { | ||||
|   MetaBackgroundActor *self = META_BACKGROUND_ACTOR (object); | ||||
|  | ||||
|   switch (prop_id) | ||||
|     { | ||||
|     case PROP_DIM_FACTOR: | ||||
|       meta_background_actor_set_dim_factor (self, g_value_get_float (value)); | ||||
|       break; | ||||
|     default: | ||||
|       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||||
|       break; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_background_actor_class_init (MetaBackgroundActorClass *klass) | ||||
| { | ||||
|   GObjectClass *object_class = G_OBJECT_CLASS (klass); | ||||
|   ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass); | ||||
|   GParamSpec *pspec; | ||||
|  | ||||
|   g_type_class_add_private (klass, sizeof (MetaBackgroundActorPrivate)); | ||||
|  | ||||
|   object_class->dispose = meta_background_actor_dispose; | ||||
|   object_class->get_property = meta_background_actor_get_property; | ||||
|   object_class->set_property = meta_background_actor_set_property; | ||||
|  | ||||
|   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; | ||||
|   actor_class->get_paint_volume = meta_background_actor_get_paint_volume; | ||||
|  | ||||
|   /** | ||||
|    * MetaBackgroundActor:dim-factor: | ||||
|    * | ||||
|    * Factor to dim the background by, between 0.0 (black) and 1.0 (original | ||||
|    * colors) | ||||
|    */ | ||||
|   pspec = g_param_spec_float ("dim-factor", | ||||
|                               "Dim factor", | ||||
|                               "Factor to dim the background by", | ||||
|                               0.0, 1.0, | ||||
|                               1.0, | ||||
|                               G_PARAM_READWRITE); | ||||
|   obj_props[PROP_DIM_FACTOR] = pspec; | ||||
|   g_object_class_install_property (object_class, PROP_DIM_FACTOR, pspec); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_background_actor_init (MetaBackgroundActor *self) | ||||
| { | ||||
|   MetaBackgroundActorPrivate *priv; | ||||
|  | ||||
|   priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, | ||||
|                                                    META_TYPE_BACKGROUND_ACTOR, | ||||
|                                                    MetaBackgroundActorPrivate); | ||||
|   priv->dim_factor = 1.0; | ||||
|   self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, | ||||
|                                             META_TYPE_BACKGROUND_ACTOR, | ||||
|                                             MetaBackgroundActorPrivate); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_background_actor_new: | ||||
|  * @screen: the #MetaScreen | ||||
|  * | ||||
|  * Creates a new actor to draw the background for the given screen. | ||||
|  * Creates a new actor to draw the background for the given monitor. | ||||
|  * This actor should be associated with a #MetaBackground using | ||||
|  * clutter_actor_set_content() | ||||
|  * | ||||
|  * Return value: the newly created background actor | ||||
|  */ | ||||
| ClutterActor * | ||||
| meta_background_actor_new_for_screen (MetaScreen *screen) | ||||
| meta_background_actor_new (void) | ||||
| { | ||||
|   MetaBackgroundActor *self; | ||||
|   MetaBackgroundActorPrivate *priv; | ||||
|  | ||||
|   g_return_val_if_fail (META_IS_SCREEN (screen), NULL); | ||||
|  | ||||
|   self = g_object_new (META_TYPE_BACKGROUND_ACTOR, NULL); | ||||
|   priv = self->priv; | ||||
|  | ||||
|   priv->background = meta_screen_background_get (screen); | ||||
|   priv->background->actors = g_slist_prepend (priv->background->actors, self); | ||||
|  | ||||
|   /* A CoglMaterial and a CoglPipeline are the same thing */ | ||||
|   priv->pipeline = (CoglPipeline*) meta_create_texture_material (NULL); | ||||
|  | ||||
|   set_texture_on_actor (self); | ||||
|   update_wrap_mode_of_actor (self); | ||||
|  | ||||
|   return CLUTTER_ACTOR (self); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_background_actor_update: | ||||
|  * @screen: a #MetaScreen | ||||
|  * | ||||
|  * 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 (MetaScreen *screen) | ||||
| { | ||||
|   MetaScreenBackground *background; | ||||
|   MetaDisplay *display; | ||||
|   MetaCompositor *compositor; | ||||
|   Atom type; | ||||
|   int format; | ||||
|   gulong nitems; | ||||
|   gulong bytes_after; | ||||
|   guchar *data; | ||||
|   Pixmap root_pixmap_id; | ||||
|  | ||||
|   background = meta_screen_background_get (screen); | ||||
|   display = meta_screen_get_display (screen); | ||||
|   compositor = meta_display_get_compositor (display); | ||||
|  | ||||
|   root_pixmap_id = None; | ||||
|   if (!XGetWindowProperty (meta_display_get_xdisplay (display), | ||||
|                            meta_screen_get_xroot (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; | ||||
|       CoglContext *ctx = clutter_backend_get_cogl_context (clutter_get_default_backend ()); | ||||
|       GError *error = NULL; | ||||
|  | ||||
|       meta_error_trap_push (display); | ||||
|       texture = cogl_texture_pixmap_x11_new (ctx, root_pixmap_id, FALSE, &error); | ||||
|       meta_error_trap_pop (display); | ||||
|  | ||||
|       if (texture != COGL_INVALID_HANDLE) | ||||
|         { | ||||
|           set_texture (background, texture); | ||||
|           cogl_handle_unref (texture); | ||||
|  | ||||
|           background->have_pixmap = True; | ||||
|           return; | ||||
|         } | ||||
|       else | ||||
|         { | ||||
|           g_warning ("Failed to create background texture from pixmap: %s", | ||||
|                      error->message); | ||||
|           g_error_free (error); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   background->have_pixmap = False; | ||||
|   set_texture_to_stage_color (background); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_background_actor_set_visible_region: | ||||
|  * meta_background_actor_set_clip_region: | ||||
|  * @self: a #MetaBackgroundActor | ||||
|  * @visible_region: (allow-none): the area of the actor (in allocate-relative | ||||
|  * @clip_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) | ||||
| meta_background_actor_set_clip_region (MetaBackgroundActor *self, | ||||
|                                        cairo_region_t      *clip_region) | ||||
| { | ||||
|   MetaBackgroundActorPrivate *priv; | ||||
|  | ||||
| @@ -586,120 +185,44 @@ meta_background_actor_set_visible_region (MetaBackgroundActor *self, | ||||
|  | ||||
|   priv = self->priv; | ||||
|  | ||||
|   if (priv->visible_region) | ||||
|     { | ||||
|       cairo_region_destroy (priv->visible_region); | ||||
|       priv->visible_region = NULL; | ||||
|     } | ||||
|   g_clear_pointer (&priv->clip_region, | ||||
|                    (GDestroyNotify) | ||||
|                    cairo_region_destroy); | ||||
|  | ||||
|   if (visible_region) | ||||
|     { | ||||
|       cairo_rectangle_int_t screen_rect = { 0 }; | ||||
|       meta_screen_get_size (priv->background->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. | ||||
|        */ | ||||
|       priv->visible_region = cairo_region_create_rectangle (&screen_rect); | ||||
|       cairo_region_intersect (priv->visible_region, visible_region); | ||||
|     } | ||||
|   if (clip_region) | ||||
|     priv->clip_region = cairo_region_copy (clip_region); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_background_actor_screen_size_changed: | ||||
|  * @screen: a #MetaScreen | ||||
|  * meta_background_actor_get_clip_region: | ||||
|  * @self: a #MetaBackgroundActor | ||||
|  * | ||||
|  * Called by the compositor when the size of the #MetaScreen changes | ||||
|  * Return value (transfer full): a #cairo_region_t that represents the part of | ||||
|  * the background not obscured by other #MetaBackgroundActor or | ||||
|  * #MetaWindowActor objects. | ||||
|  */ | ||||
| void | ||||
| meta_background_actor_screen_size_changed (MetaScreen *screen) | ||||
| cairo_region_t * | ||||
| meta_background_actor_get_clip_region (MetaBackgroundActor *self) | ||||
| { | ||||
|   MetaScreenBackground *background = meta_screen_background_get (screen); | ||||
|   GSList *l; | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|   ClutterActorBox content_box; | ||||
|   cairo_rectangle_int_t content_area = { 0 }; | ||||
|   cairo_region_t *clip_region; | ||||
|  | ||||
|   update_wrap_mode (background); | ||||
|   g_return_val_if_fail (META_IS_BACKGROUND_ACTOR (self), NULL); | ||||
|  | ||||
|   for (l = background->actors; l; l = l->next) | ||||
|     clutter_actor_queue_relayout (l->data); | ||||
|   if (!priv->clip_region) | ||||
|       return NULL; | ||||
|  | ||||
|   clutter_actor_get_content_box (CLUTTER_ACTOR (self), &content_box); | ||||
|  | ||||
|   content_area.x = content_box.x1; | ||||
|   content_area.y = content_box.y1; | ||||
|   content_area.width = content_box.x2 - content_box.x1; | ||||
|   content_area.height = content_box.y2 - content_box.y1; | ||||
|  | ||||
|   clip_region = cairo_region_create_rectangle (&content_area); | ||||
|   cairo_region_intersect (clip_region, priv->clip_region); | ||||
|  | ||||
|   return clip_region; | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_background_actor_add_glsl_snippet: | ||||
|  * @actor: a #MetaBackgroundActor | ||||
|  * @hook: where to insert the code | ||||
|  * @declarations: GLSL declarations | ||||
|  * @code: GLSL code | ||||
|  * @is_replace: wheter Cogl code should be replaced by the custom shader | ||||
|  * | ||||
|  * Adds a GLSL snippet to the pipeline used for drawing the background. | ||||
|  * See #CoglSnippet for details. | ||||
|  */ | ||||
| void | ||||
| meta_background_actor_add_glsl_snippet (MetaBackgroundActor *actor, | ||||
|                                         MetaSnippetHook      hook, | ||||
|                                         const char          *declarations, | ||||
|                                         const char          *code, | ||||
|                                         gboolean             is_replace) | ||||
| { | ||||
|   MetaBackgroundActorPrivate *priv; | ||||
|   CoglSnippet *snippet; | ||||
|  | ||||
|   g_return_if_fail (META_IS_BACKGROUND_ACTOR (actor)); | ||||
|  | ||||
|   priv = actor->priv; | ||||
|  | ||||
|   if (is_replace) | ||||
|     { | ||||
|       snippet = cogl_snippet_new (hook, declarations, NULL); | ||||
|       cogl_snippet_set_replace (snippet, code); | ||||
|     } | ||||
|   else | ||||
|     { | ||||
|       snippet = cogl_snippet_new (hook, declarations, code); | ||||
|     } | ||||
|  | ||||
|   if (hook == META_SNIPPET_HOOK_VERTEX || | ||||
|       hook == META_SNIPPET_HOOK_FRAGMENT) | ||||
|     cogl_pipeline_add_snippet (priv->pipeline, snippet); | ||||
|   else | ||||
|     cogl_pipeline_add_layer_snippet (priv->pipeline, 0, snippet); | ||||
|  | ||||
|   cogl_object_unref (snippet); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_background_actor_set_uniform_float: | ||||
|  * @actor: a #MetaBackgroundActor | ||||
|  * @uniform_name: | ||||
|  * @n_components: number of components (for vector uniforms) | ||||
|  * @count: number of uniforms (for array uniforms) | ||||
|  * @uniform: (array length=uniform_length): the float values to set | ||||
|  * @uniform_length: the length of @uniform. Must be exactly @n_components x @count, | ||||
|  *                  and is provided mainly for language bindings. | ||||
|  * | ||||
|  * Sets a new GLSL uniform to the provided value. This is mostly | ||||
|  * useful in congiunction with meta_background_actor_add_glsl_snippet(). | ||||
|  */ | ||||
|  | ||||
| void | ||||
| meta_background_actor_set_uniform_float (MetaBackgroundActor *actor, | ||||
|                                          const char          *uniform_name, | ||||
|                                          int                  n_components, | ||||
|                                          int                  count, | ||||
|                                          const float         *uniform, | ||||
|                                          int                  uniform_length) | ||||
| { | ||||
|   MetaBackgroundActorPrivate *priv; | ||||
|  | ||||
|   g_return_if_fail (META_IS_BACKGROUND_ACTOR (actor)); | ||||
|   g_return_if_fail (uniform_length == n_components * count); | ||||
|  | ||||
|   priv = actor->priv; | ||||
|  | ||||
|   cogl_pipeline_set_uniform_float (priv->pipeline, | ||||
|                                    cogl_pipeline_get_uniform_location (priv->pipeline, | ||||
|                                                                        uniform_name), | ||||
|                                    n_components, count, uniform); | ||||
| } | ||||
|  | ||||
|   | ||||
							
								
								
									
										11
									
								
								src/compositor/meta-background-group-private.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								src/compositor/meta-background-group-private.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,11 @@ | ||||
| /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ | ||||
|  | ||||
| #ifndef META_BACKGROUND_GROUP_PRIVATE_H | ||||
| #define META_BACKGROUND_GROUP_PRIVATE_H | ||||
|  | ||||
| #include <meta/screen.h> | ||||
| #include <meta/meta-background-group.h> | ||||
|  | ||||
| void meta_background_group_set_clip_region  (MetaBackgroundGroup *self, | ||||
|                                              cairo_region_t      *visible_region); | ||||
| #endif /* META_BACKGROUND_GROUP_PRIVATE_H */ | ||||
							
								
								
									
										110
									
								
								src/compositor/meta-background-group.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										110
									
								
								src/compositor/meta-background-group.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,110 @@ | ||||
| /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ | ||||
|  | ||||
| /** | ||||
|  * SECTION:meta-background-group | ||||
|  * @title: MetaBackgroundGroup | ||||
|  * @short_description: Container for background actors | ||||
|  * | ||||
|  * This class is a subclass of ClutterActor with special handling for | ||||
|  * MetaBackgroundActor/MetaBackgroundGroup when painting children. | ||||
|  * It makes sure to only draw the parts of the backgrounds not | ||||
|  * occluded by opaque windows. | ||||
|  * | ||||
|  * See #MetaWindowGroup for more information behind the motivation, | ||||
|  * and details on implementation. | ||||
|  */ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #include "compositor-private.h" | ||||
| #include "clutter-utils.h" | ||||
| #include "meta-background-actor-private.h" | ||||
| #include "meta-background-group-private.h" | ||||
|  | ||||
| G_DEFINE_TYPE (MetaBackgroundGroup, meta_background_group, CLUTTER_TYPE_ACTOR); | ||||
|  | ||||
| struct _MetaBackgroundGroupPrivate | ||||
| { | ||||
|   gpointer dummy; | ||||
| }; | ||||
|  | ||||
| static void | ||||
| meta_background_group_dispose (GObject *object) | ||||
| { | ||||
|   G_OBJECT_CLASS (meta_background_group_parent_class)->dispose (object); | ||||
| } | ||||
|  | ||||
| static gboolean | ||||
| meta_background_group_get_paint_volume (ClutterActor       *actor, | ||||
|                                         ClutterPaintVolume *volume) | ||||
| { | ||||
|   return clutter_paint_volume_set_from_allocation (volume, actor); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_background_group_class_init (MetaBackgroundGroupClass *klass) | ||||
| { | ||||
|   GObjectClass *object_class = G_OBJECT_CLASS (klass); | ||||
|   ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass); | ||||
|  | ||||
|   actor_class->get_paint_volume = meta_background_group_get_paint_volume; | ||||
|   object_class->dispose = meta_background_group_dispose; | ||||
|  | ||||
|   g_type_class_add_private (klass, sizeof (MetaBackgroundGroupPrivate)); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_background_group_init (MetaBackgroundGroup *self) | ||||
| { | ||||
|   self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, | ||||
|                                             META_TYPE_BACKGROUND_GROUP, | ||||
|                                             MetaBackgroundGroupPrivate); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_background_group_set_clip_region: | ||||
|  * @self: a #MetaBackgroundGroup | ||||
|  * @region: (allow-none): the parts of the background to paint | ||||
|  * | ||||
|  * Sets the area of the backgrounds that is unobscured by overlapping windows. | ||||
|  * This is used to optimize and only paint the visible portions. | ||||
|  */ | ||||
| void | ||||
| meta_background_group_set_clip_region (MetaBackgroundGroup *self, | ||||
|                                        cairo_region_t      *region) | ||||
| { | ||||
|   GList *children, *l; | ||||
|  | ||||
|   children = clutter_actor_get_children (CLUTTER_ACTOR (self)); | ||||
|   for (l = children; l; l = l->next) | ||||
|     { | ||||
|       ClutterActor *actor = l->data; | ||||
|  | ||||
|       if (META_IS_BACKGROUND_ACTOR (actor)) | ||||
|         { | ||||
|           meta_background_actor_set_clip_region (META_BACKGROUND_ACTOR (actor), region); | ||||
|         } | ||||
|       else if (META_IS_BACKGROUND_GROUP (actor)) | ||||
|         { | ||||
|           int x, y; | ||||
|  | ||||
|           if (!meta_actor_is_untransformed (actor, &x, &y)) | ||||
|             continue; | ||||
|  | ||||
|           cairo_region_translate (region, -x, -y); | ||||
|           meta_background_group_set_clip_region (META_BACKGROUND_GROUP (actor), region); | ||||
|           cairo_region_translate (region, x, y); | ||||
|         } | ||||
|     } | ||||
|   g_list_free (children); | ||||
| } | ||||
|  | ||||
| ClutterActor * | ||||
| meta_background_group_new (void) | ||||
| { | ||||
|   MetaBackgroundGroup *background_group; | ||||
|  | ||||
|   background_group = g_object_new (META_TYPE_BACKGROUND_GROUP, NULL); | ||||
|  | ||||
|   return CLUTTER_ACTOR (background_group); | ||||
| } | ||||
							
								
								
									
										1276
									
								
								src/compositor/meta-background.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1276
									
								
								src/compositor/meta-background.c
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -192,10 +192,7 @@ meta_module_class_init (MetaModuleClass *klass) | ||||
| static void | ||||
| meta_module_init (MetaModule *self) | ||||
| { | ||||
|   MetaModulePrivate *priv; | ||||
|  | ||||
|   self->priv = priv = META_MODULE_GET_PRIVATE (self); | ||||
|  | ||||
|   self->priv = META_MODULE_GET_PRIVATE (self); | ||||
| } | ||||
|  | ||||
| GType | ||||
|   | ||||
| @@ -85,12 +85,20 @@ meta_plugin_manager_load (const gchar       *plugin_name) | ||||
|   g_free (path); | ||||
| } | ||||
|  | ||||
| static void | ||||
| on_confirm_display_change (MetaMonitorManager *monitors, | ||||
|                            MetaPluginManager  *plugin_mgr) | ||||
| { | ||||
|   meta_plugin_manager_confirm_display_change (plugin_mgr); | ||||
| } | ||||
|  | ||||
| MetaPluginManager * | ||||
| meta_plugin_manager_new (MetaScreen *screen) | ||||
| { | ||||
|   MetaPluginManager *plugin_mgr; | ||||
|   MetaPluginClass *klass; | ||||
|   MetaPlugin *plugin; | ||||
|   MetaMonitorManager *monitors; | ||||
|  | ||||
|   plugin_mgr = g_new0 (MetaPluginManager, 1); | ||||
|   plugin_mgr->screen = screen; | ||||
| @@ -101,6 +109,10 @@ meta_plugin_manager_new (MetaScreen *screen) | ||||
|   if (klass->start) | ||||
|     klass->start (plugin); | ||||
|  | ||||
|   monitors = meta_monitor_manager_get (); | ||||
|   g_signal_connect (monitors, "confirm-display-change", | ||||
|                     G_CALLBACK (on_confirm_display_change), plugin_mgr); | ||||
|  | ||||
|   return plugin_mgr; | ||||
| } | ||||
|  | ||||
| @@ -294,29 +306,23 @@ meta_plugin_manager_filter_keybinding (MetaPluginManager *plugin_mgr, | ||||
|   return FALSE; | ||||
| } | ||||
|  | ||||
| /* | ||||
|  * The public method that the compositor hooks into for desktop switching. | ||||
|  * | ||||
|  * Returns TRUE if the plugin handled the event type (i.e., | ||||
|  * if the return value is FALSE, there will be no subsequent call to the | ||||
|  * manager completed() callback, and the compositor must ensure that any | ||||
|  * appropriate post-effect cleanup is carried out. | ||||
|  */ | ||||
| gboolean | ||||
| meta_plugin_manager_xevent_filter (MetaPluginManager *plugin_mgr, | ||||
|                                    XEvent            *xev) | ||||
| { | ||||
|   MetaPlugin *plugin = plugin_mgr->plugin; | ||||
|  | ||||
|   return _meta_plugin_xevent_filter (plugin, xev); | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_plugin_manager_confirm_display_change (MetaPluginManager *plugin_mgr) | ||||
| { | ||||
|   MetaPlugin *plugin = plugin_mgr->plugin; | ||||
|   MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|   /* We need to make sure that clutter gets certain events, like | ||||
|    * ConfigureNotify on the stage window. If there is a plugin that | ||||
|    * provides an xevent_filter function, then it's the responsibility | ||||
|    * of that plugin to pass events to Clutter. Otherwise, we send the | ||||
|    * event directly to Clutter ourselves. | ||||
|    */ | ||||
|   if (klass->xevent_filter) | ||||
|     return klass->xevent_filter (plugin, xev); | ||||
|   if (klass->confirm_display_change) | ||||
|     return klass->confirm_display_change (plugin); | ||||
|   else | ||||
|     return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE; | ||||
|     return meta_plugin_complete_display_change (plugin, TRUE); | ||||
| } | ||||
|   | ||||
| @@ -72,5 +72,9 @@ gboolean meta_plugin_manager_filter_keybinding (MetaPluginManager  *mgr, | ||||
|  | ||||
| gboolean meta_plugin_manager_xevent_filter (MetaPluginManager *mgr, | ||||
|                                             XEvent            *xev); | ||||
| gboolean _meta_plugin_xevent_filter (MetaPlugin *plugin, | ||||
|                                      XEvent     *xev); | ||||
|  | ||||
| void     meta_plugin_manager_confirm_display_change (MetaPluginManager *mgr); | ||||
|  | ||||
| #endif | ||||
|   | ||||
| @@ -21,6 +21,13 @@ | ||||
|  * 02111-1307, USA. | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * SECTION:meta-plugin | ||||
|  * @title: MetaPlugin | ||||
|  * @short_description: Entry point for plugins | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| #include <meta/meta-plugin.h> | ||||
| #include "meta-plugin-manager.h" | ||||
| #include <meta/screen.h> | ||||
| @@ -34,6 +41,7 @@ | ||||
|  | ||||
| #include "compositor-private.h" | ||||
| #include "meta-window-actor-private.h" | ||||
| #include "monitor-private.h" | ||||
|  | ||||
| G_DEFINE_ABSTRACT_TYPE (MetaPlugin, meta_plugin, G_TYPE_OBJECT); | ||||
|  | ||||
| @@ -130,9 +138,7 @@ meta_plugin_class_init (MetaPluginClass *klass) | ||||
| static void | ||||
| meta_plugin_init (MetaPlugin *self) | ||||
| { | ||||
|   MetaPluginPrivate *priv; | ||||
|  | ||||
|   self->priv = priv = META_PLUGIN_GET_PRIVATE (self); | ||||
|   self->priv = META_PLUGIN_GET_PRIVATE (self); | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| @@ -177,6 +183,28 @@ _meta_plugin_effect_started (MetaPlugin *plugin) | ||||
|   priv->running++; | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| _meta_plugin_xevent_filter (MetaPlugin *plugin, | ||||
|                             XEvent     *xev) | ||||
| { | ||||
|   MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|   /* When mutter is running as a wayland compositor, things like input | ||||
|    * events just come directly from clutter so it won't have disabled | ||||
|    * clutter's event retrieval and won't need to forward it events (if | ||||
|    * it did it would lead to recursion). Also when running as a | ||||
|    * wayland compositor we shouldn't be assuming that we're running | ||||
|    * with the clutter x11 backend. | ||||
|    */ | ||||
|  | ||||
|   if (klass->xevent_filter && klass->xevent_filter (plugin, xev)) | ||||
|     return TRUE; | ||||
|   else if (!meta_is_wayland_compositor ()) | ||||
|     return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE; | ||||
|   else | ||||
|     return FALSE; | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_plugin_switch_workspace_completed (MetaPlugin *plugin) | ||||
| { | ||||
| @@ -259,10 +287,6 @@ meta_plugin_destroy_completed (MetaPlugin      *plugin, | ||||
| /** | ||||
|  * meta_plugin_begin_modal: | ||||
|  * @plugin: a #MetaPlugin | ||||
|  * @grab_window: the X window to grab the keyboard and mouse on | ||||
|  * @cursor: the cursor to use for the pointer grab, or None, | ||||
|  *          to use the normal cursor for the grab window and | ||||
|  *          its descendants. | ||||
|  * @options: flags that modify the behavior of the modal grab | ||||
|  * @timestamp: the timestamp used for establishing grabs | ||||
|  * | ||||
| @@ -283,15 +307,13 @@ meta_plugin_destroy_completed (MetaPlugin      *plugin, | ||||
|  */ | ||||
| gboolean | ||||
| meta_plugin_begin_modal (MetaPlugin       *plugin, | ||||
|                          Window            grab_window, | ||||
|                          Cursor            cursor, | ||||
|                          MetaModalOptions  options, | ||||
|                          guint32           timestamp) | ||||
| { | ||||
|   MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; | ||||
|  | ||||
|   return meta_begin_modal_for_plugin (priv->screen, plugin, | ||||
|                                       grab_window, cursor, options, timestamp); | ||||
|                                       options, timestamp); | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -331,3 +353,13 @@ meta_plugin_get_screen (MetaPlugin *plugin) | ||||
|  | ||||
|   return priv->screen; | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_plugin_complete_display_change (MetaPlugin *plugin, | ||||
|                                      gboolean    ok) | ||||
| { | ||||
|   MetaMonitorManager *manager; | ||||
|  | ||||
|   manager = meta_monitor_manager_get (); | ||||
|   meta_monitor_manager_confirm_configuration (manager, ok); | ||||
| } | ||||
|   | ||||
| @@ -40,7 +40,7 @@ typedef struct _MetaShadow MetaShadow; | ||||
|  | ||||
| MetaShadow *meta_shadow_ref         (MetaShadow            *shadow); | ||||
| void        meta_shadow_unref       (MetaShadow            *shadow); | ||||
| CoglHandle  meta_shadow_get_texture (MetaShadow            *shadow); | ||||
| CoglTexture*meta_shadow_get_texture (MetaShadow            *shadow); | ||||
| void        meta_shadow_paint       (MetaShadow            *shadow, | ||||
|                                      int                    window_x, | ||||
|                                      int                    window_y, | ||||
|   | ||||
| @@ -1,9 +1,5 @@ | ||||
| /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ | ||||
| /* | ||||
|  * MetaShadowFactory: | ||||
|  * | ||||
|  * Create and cache shadow textures for abritrary window shapes | ||||
|  * | ||||
|  * Copyright 2010 Red Hat, Inc. | ||||
|  * | ||||
|  * This program is free software; you can redistribute it and/or | ||||
| @@ -21,6 +17,13 @@ | ||||
|  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA | ||||
|  * 02111-1307, USA. | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * SECTION:meta-shadow-factory | ||||
|  * @title: MetaShadowFactory | ||||
|  * @short_description: Create and cache shadow textures for abritrary window shapes | ||||
|  */ | ||||
|  | ||||
| #include <config.h> | ||||
| #include <math.h> | ||||
| #include <string.h> | ||||
| @@ -65,8 +68,8 @@ struct _MetaShadow | ||||
|  | ||||
|   MetaShadowFactory *factory; | ||||
|   MetaShadowCacheKey key; | ||||
|   CoglHandle texture; | ||||
|   CoglHandle material; | ||||
|   CoglTexture *texture; | ||||
|   CoglPipeline *pipeline; | ||||
|  | ||||
|   /* The outer order is the distance the shadow extends outside the window | ||||
|    * shape; the inner border is the unscaled portion inside the window | ||||
| @@ -120,12 +123,12 @@ static guint signals[LAST_SIGNAL] = { 0 }; | ||||
| /* The first element in this array also defines the default parameters | ||||
|  * for newly created classes */ | ||||
| MetaShadowClassInfo default_shadow_classes[] = { | ||||
|   { "normal",       { 6, -1, 0, 3, 255 }, { 3, -1, 0, 3, 128 } }, | ||||
|   { "dialog",       { 6, -1, 0, 3, 255 }, { 3, -1, 0, 3, 128 } }, | ||||
|   { "modal_dialog", { 6, -1, 0, 1, 255 }, { 3, -1, 0, 3, 128 } }, | ||||
|   { "utility",      { 3, -1, 0, 1, 255 }, { 3, -1, 0, 1, 128 } }, | ||||
|   { "border",       { 6, -1, 0, 3, 255 }, { 3, -1, 0, 3, 128 } }, | ||||
|   { "menu",         { 6, -1, 0, 3, 255 }, { 3, -1, 0, 0, 128 } }, | ||||
|   { "normal",       { 6, -1, 0, 3, 128 }, { 3, -1, 0, 3, 32 } }, | ||||
|   { "dialog",       { 6, -1, 0, 3, 128 }, { 3, -1, 0, 3, 32 } }, | ||||
|   { "modal_dialog", { 6, -1, 0, 1, 128 }, { 3, -1, 0, 3, 32 } }, | ||||
|   { "utility",      { 3, -1, 0, 1, 128 }, { 3, -1, 0, 1, 32 } }, | ||||
|   { "border",       { 6, -1, 0, 3, 128 }, { 3, -1, 0, 3, 32 } }, | ||||
|   { "menu",         { 6, -1, 0, 3, 128 }, { 3, -1, 0, 0, 32 } }, | ||||
|  | ||||
|   { "popup-menu",    { 1, -1, 0, 1, 128 }, { 1, -1, 0, 1, 128 } }, | ||||
|  | ||||
| @@ -175,8 +178,8 @@ meta_shadow_unref (MetaShadow *shadow) | ||||
|         } | ||||
|  | ||||
|       meta_window_shape_unref (shadow->key.shape); | ||||
|       cogl_handle_unref (shadow->texture); | ||||
|       cogl_handle_unref (shadow->material); | ||||
|       cogl_object_unref (shadow->texture); | ||||
|       cogl_object_unref (shadow->pipeline); | ||||
|  | ||||
|       g_slice_free (MetaShadow, shadow); | ||||
|     } | ||||
| @@ -218,10 +221,10 @@ meta_shadow_paint (MetaShadow     *shadow, | ||||
|   int dest_y[4]; | ||||
|   int n_x, n_y; | ||||
|  | ||||
|   cogl_material_set_color4ub (shadow->material, | ||||
|   cogl_pipeline_set_color4ub (shadow->pipeline, | ||||
|                               opacity, opacity, opacity, opacity); | ||||
|  | ||||
|   cogl_set_source (shadow->material); | ||||
|   cogl_set_source (shadow->pipeline); | ||||
|  | ||||
|   if (shadow->scale_width) | ||||
|     { | ||||
| @@ -801,7 +804,7 @@ make_shadow (MetaShadow     *shadow, | ||||
|   cairo_region_destroy (column_convolve_region); | ||||
|   g_free (buffer); | ||||
|  | ||||
|   shadow->material = meta_create_texture_material (shadow->texture); | ||||
|   shadow->pipeline = meta_create_texture_pipeline (shadow->texture); | ||||
| } | ||||
|  | ||||
| static MetaShadowParams * | ||||
|   | ||||
							
								
								
									
										44
									
								
								src/compositor/meta-shaped-texture-private.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								src/compositor/meta-shaped-texture-private.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| /* | ||||
|  * shaped texture | ||||
|  * | ||||
|  * An actor to draw a texture clipped to a list of rectangles | ||||
|  * | ||||
|  * Authored By Neil Roberts  <neil@linux.intel.com> | ||||
|  * | ||||
|  * Copyright (C) 2008 Intel Corporation | ||||
|  *               2013 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_SHAPED_TEXTURE_PRIVATE_H__ | ||||
| #define __META_SHAPED_TEXTURE_PRIVATE_H__ | ||||
|  | ||||
| #include <meta/meta-shaped-texture.h> | ||||
| #include "meta-wayland-private.h" | ||||
|  | ||||
| ClutterActor *meta_shaped_texture_new_with_xwindow (Window xwindow); | ||||
| ClutterActor *meta_shaped_texture_new_with_wayland_surface  (MetaWaylandSurface *surface); | ||||
| void meta_shaped_texture_set_wayland_surface                (MetaShapedTexture  *stex, | ||||
|                                                              MetaWaylandSurface *surface); | ||||
| MetaWaylandSurface *meta_shaped_texture_get_wayland_surface (MetaShapedTexture *stex); | ||||
|  | ||||
| void meta_shaped_texture_set_pixmap (MetaShapedTexture *stex, | ||||
|                                      Pixmap             pixmap); | ||||
| void meta_shaped_texture_attach_wayland_buffer (MetaShapedTexture  *stex, | ||||
|                                                 MetaWaylandBuffer  *buffer); | ||||
|  | ||||
| #endif | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -25,9 +25,6 @@ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #define CLUTTER_ENABLE_EXPERIMENTAL_API | ||||
| #define COGL_ENABLE_EXPERIMENTAL_API | ||||
|  | ||||
| #include <clutter/clutter.h> | ||||
| #include "meta-texture-rectangle.h" | ||||
|  | ||||
|   | ||||
| @@ -59,8 +59,8 @@ typedef struct | ||||
| struct _MetaTextureTower | ||||
| { | ||||
|   int n_levels; | ||||
|   CoglHandle textures[MAX_TEXTURE_LEVELS]; | ||||
|   CoglHandle fbos[MAX_TEXTURE_LEVELS]; | ||||
|   CoglTexture *textures[MAX_TEXTURE_LEVELS]; | ||||
|   CoglOffscreen *fbos[MAX_TEXTURE_LEVELS]; | ||||
|   Box invalid[MAX_TEXTURE_LEVELS]; | ||||
| }; | ||||
|  | ||||
| @@ -93,7 +93,7 @@ meta_texture_tower_free (MetaTextureTower *tower) | ||||
| { | ||||
|   g_return_if_fail (tower != NULL); | ||||
|  | ||||
|   meta_texture_tower_set_base_texture (tower, COGL_INVALID_HANDLE); | ||||
|   meta_texture_tower_set_base_texture (tower, NULL); | ||||
|  | ||||
|   g_slice_free (MetaTextureTower, tower); | ||||
| } | ||||
| @@ -110,7 +110,7 @@ meta_texture_tower_free (MetaTextureTower *tower) | ||||
|  */ | ||||
| void | ||||
| meta_texture_tower_set_base_texture (MetaTextureTower *tower, | ||||
|                                      CoglHandle        texture) | ||||
|                                      CoglTexture      *texture) | ||||
| { | ||||
|   int i; | ||||
|  | ||||
| @@ -119,33 +119,33 @@ meta_texture_tower_set_base_texture (MetaTextureTower *tower, | ||||
|   if (texture == tower->textures[0]) | ||||
|     return; | ||||
|  | ||||
|   if (tower->textures[0] != COGL_INVALID_HANDLE) | ||||
|   if (tower->textures[0] != NULL) | ||||
|     { | ||||
|       for (i = 1; i < tower->n_levels; i++) | ||||
|         { | ||||
|           if (tower->textures[i] != COGL_INVALID_HANDLE) | ||||
|           if (tower->textures[i] != NULL) | ||||
|             { | ||||
|               cogl_handle_unref (tower->textures[i]); | ||||
|               tower->textures[i] = COGL_INVALID_HANDLE; | ||||
|               cogl_object_unref (tower->textures[i]); | ||||
|               tower->textures[i] = NULL; | ||||
|             } | ||||
|  | ||||
|           if (tower->fbos[i] != COGL_INVALID_HANDLE) | ||||
|           if (tower->fbos[i] != NULL) | ||||
|             { | ||||
|               cogl_handle_unref (tower->fbos[i]); | ||||
|               tower->fbos[i] = COGL_INVALID_HANDLE; | ||||
|               cogl_object_unref (tower->fbos[i]); | ||||
|               tower->fbos[i] = NULL; | ||||
|             } | ||||
|         } | ||||
|  | ||||
|       cogl_handle_unref (tower->textures[0]); | ||||
|       cogl_object_unref (tower->textures[0]); | ||||
|     } | ||||
|  | ||||
|   tower->textures[0] = texture; | ||||
|  | ||||
|   if (tower->textures[0] != COGL_INVALID_HANDLE) | ||||
|   if (tower->textures[0] != NULL) | ||||
|     { | ||||
|       int width, height; | ||||
|  | ||||
|       cogl_handle_ref (tower->textures[0]); | ||||
|       cogl_object_ref (tower->textures[0]); | ||||
|  | ||||
|       width = cogl_texture_get_width (tower->textures[0]); | ||||
|       height = cogl_texture_get_height (tower->textures[0]); | ||||
| @@ -186,7 +186,7 @@ meta_texture_tower_update_area (MetaTextureTower *tower, | ||||
|  | ||||
|   g_return_if_fail (tower != NULL); | ||||
|  | ||||
|   if (tower->textures[0] == COGL_INVALID_HANDLE) | ||||
|   if (tower->textures[0] == NULL) | ||||
|     return; | ||||
|  | ||||
|   texture_width = cogl_texture_get_width (tower->textures[0]); | ||||
| @@ -387,22 +387,22 @@ static gboolean | ||||
| texture_tower_revalidate_fbo (MetaTextureTower *tower, | ||||
|                               int               level) | ||||
| { | ||||
|   CoglHandle source_texture = tower->textures[level - 1]; | ||||
|   CoglTexture *source_texture = tower->textures[level - 1]; | ||||
|   int source_texture_width = cogl_texture_get_width (source_texture); | ||||
|   int source_texture_height = cogl_texture_get_height (source_texture); | ||||
|   CoglHandle dest_texture = tower->textures[level]; | ||||
|   CoglTexture *dest_texture = tower->textures[level]; | ||||
|   int dest_texture_width = cogl_texture_get_width (dest_texture); | ||||
|   int dest_texture_height = cogl_texture_get_height (dest_texture); | ||||
|   Box *invalid = &tower->invalid[level]; | ||||
|   CoglMatrix modelview; | ||||
|  | ||||
|   if (tower->fbos[level] == COGL_INVALID_HANDLE) | ||||
|   if (tower->fbos[level] == NULL) | ||||
|     tower->fbos[level] = cogl_offscreen_new_to_texture (dest_texture); | ||||
|  | ||||
|   if (tower->fbos[level] == COGL_INVALID_HANDLE) | ||||
|   if (tower->fbos[level] == NULL) | ||||
|     return FALSE; | ||||
|  | ||||
|   cogl_push_framebuffer (tower->fbos[level]); | ||||
|   cogl_push_framebuffer (COGL_FRAMEBUFFER (tower->fbos[level])); | ||||
|  | ||||
|   cogl_ortho (0, dest_texture_width, dest_texture_height, 0, -1., 1.); | ||||
|  | ||||
| @@ -460,12 +460,12 @@ static void | ||||
| texture_tower_revalidate_client (MetaTextureTower *tower, | ||||
|                                  int               level) | ||||
| { | ||||
|   CoglHandle source_texture = tower->textures[level - 1]; | ||||
|   CoglTexture *source_texture = tower->textures[level - 1]; | ||||
|   int source_texture_width = cogl_texture_get_width (source_texture); | ||||
|   int source_texture_height = cogl_texture_get_height (source_texture); | ||||
|   guint source_rowstride; | ||||
|   guchar *source_data; | ||||
|   CoglHandle dest_texture = tower->textures[level]; | ||||
|   CoglTexture *dest_texture = tower->textures[level]; | ||||
|   int dest_texture_width = cogl_texture_get_width (dest_texture); | ||||
|   int dest_texture_height = cogl_texture_get_height (dest_texture); | ||||
|   int dest_x = tower->invalid[level].x1; | ||||
| @@ -575,28 +575,28 @@ texture_tower_revalidate (MetaTextureTower *tower, | ||||
|  * rectangle (0, 0, 200, 200). | ||||
|  * | ||||
|  * Return value: the COGL texture handle to use for painting, or | ||||
|  *  %COGL_INVALID_HANDLE if no base texture has yet been set. | ||||
|  *  %NULL if no base texture has yet been set. | ||||
|  */ | ||||
| CoglHandle | ||||
| CoglTexture * | ||||
| meta_texture_tower_get_paint_texture (MetaTextureTower *tower) | ||||
| { | ||||
|   int texture_width, texture_height; | ||||
|   int level; | ||||
|  | ||||
|   g_return_val_if_fail (tower != NULL, COGL_INVALID_HANDLE); | ||||
|   g_return_val_if_fail (tower != NULL, NULL); | ||||
|  | ||||
|   if (tower->textures[0] == COGL_INVALID_HANDLE) | ||||
|     return COGL_INVALID_HANDLE; | ||||
|   if (tower->textures[0] == NULL) | ||||
|     return NULL; | ||||
|  | ||||
|   texture_width = cogl_texture_get_width (tower->textures[0]); | ||||
|   texture_height = cogl_texture_get_height (tower->textures[0]); | ||||
|  | ||||
|   level = get_paint_level(texture_width, texture_height); | ||||
|   if (level < 0) /* singular paint matrix, scaled to nothing */ | ||||
|     return COGL_INVALID_HANDLE; | ||||
|     return NULL; | ||||
|   level = MIN (level, tower->n_levels - 1); | ||||
|  | ||||
|   if (tower->textures[level] == COGL_INVALID_HANDLE || | ||||
|   if (tower->textures[level] == NULL || | ||||
|       (tower->invalid[level].x2 != tower->invalid[level].x1 && | ||||
|        tower->invalid[level].y2 != tower->invalid[level].y1)) | ||||
|     { | ||||
| @@ -608,7 +608,7 @@ meta_texture_tower_get_paint_texture (MetaTextureTower *tower) | ||||
|          texture_width = MAX (1, texture_width / 2); | ||||
|          texture_height = MAX (1, texture_height / 2); | ||||
|  | ||||
|          if (tower->textures[i] == COGL_INVALID_HANDLE) | ||||
|          if (tower->textures[i] == NULL) | ||||
|            texture_tower_create_texture (tower, i, texture_width, texture_height); | ||||
|        } | ||||
|  | ||||
|   | ||||
| @@ -56,13 +56,13 @@ typedef struct _MetaTextureTower MetaTextureTower; | ||||
| MetaTextureTower *meta_texture_tower_new               (void); | ||||
| void              meta_texture_tower_free              (MetaTextureTower *tower); | ||||
| void              meta_texture_tower_set_base_texture  (MetaTextureTower *tower, | ||||
|                                                         CoglHandle        texture); | ||||
|                                                         CoglTexture      *texture); | ||||
| void              meta_texture_tower_update_area       (MetaTextureTower *tower, | ||||
|                                                         int               x, | ||||
|                                                         int               y, | ||||
|                                                         int               width, | ||||
|                                                         int               height); | ||||
| CoglHandle        meta_texture_tower_get_paint_texture (MetaTextureTower *tower); | ||||
| CoglTexture      *meta_texture_tower_get_paint_texture (MetaTextureTower *tower); | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
|   | ||||
| @@ -5,6 +5,9 @@ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #include <wayland-server.h> | ||||
| #include <meta-wayland-private.h> | ||||
|  | ||||
| #include <X11/extensions/Xdamage.h> | ||||
| #include <meta/compositor-mutter.h> | ||||
|  | ||||
| @@ -24,10 +27,24 @@ void meta_window_actor_unmaximize (MetaWindowActor *self, | ||||
|                                    MetaRectangle   *old_rect, | ||||
|                                    MetaRectangle   *new_rect); | ||||
|  | ||||
| void meta_window_actor_process_damage (MetaWindowActor    *self, | ||||
|                                        XDamageNotifyEvent *event); | ||||
| void meta_window_actor_process_x11_damage (MetaWindowActor    *self, | ||||
|                                            XDamageNotifyEvent *event); | ||||
|  | ||||
| void meta_window_actor_process_wayland_damage (MetaWindowActor *self, | ||||
|                                                int              x, | ||||
|                                                int              y, | ||||
|                                                int              width, | ||||
|                                                int              height); | ||||
| void meta_window_actor_set_wayland_surface    (MetaWindowActor    *self, | ||||
|                                                MetaWaylandSurface *surface); | ||||
| void meta_window_actor_attach_wayland_buffer  (MetaWindowActor   *self, | ||||
|                                                MetaWaylandBuffer *buffer); | ||||
|  | ||||
| void meta_window_actor_pre_paint      (MetaWindowActor    *self); | ||||
| void meta_window_actor_post_paint     (MetaWindowActor    *self); | ||||
| void meta_window_actor_frame_complete (MetaWindowActor    *self, | ||||
|                                        CoglFrameInfo      *frame_info, | ||||
|                                        gint64              presentation_time); | ||||
|  | ||||
| void meta_window_actor_invalidate_shadow (MetaWindowActor *self); | ||||
|  | ||||
| @@ -39,20 +56,28 @@ void meta_window_actor_get_shape_bounds (MetaWindowActor       *self, | ||||
|                                           cairo_rectangle_int_t *bounds); | ||||
|  | ||||
| gboolean meta_window_actor_effect_in_progress  (MetaWindowActor *self); | ||||
| void     meta_window_actor_sync_actor_position (MetaWindowActor *self); | ||||
| void     meta_window_actor_sync_actor_geometry (MetaWindowActor *self, | ||||
|                                                 gboolean         did_placement); | ||||
| void     meta_window_actor_sync_visibility     (MetaWindowActor *self); | ||||
| void     meta_window_actor_update_shape        (MetaWindowActor *self); | ||||
| void     meta_window_actor_update_opacity      (MetaWindowActor *self); | ||||
| void     meta_window_actor_mapped              (MetaWindowActor *self); | ||||
| void     meta_window_actor_unmapped            (MetaWindowActor *self); | ||||
| void     meta_window_actor_set_updates_frozen  (MetaWindowActor *self, | ||||
|                                                 gboolean         updates_frozen); | ||||
| void     meta_window_actor_queue_frame_drawn   (MetaWindowActor *self, | ||||
|                                                 gboolean         no_delay_frame); | ||||
|  | ||||
| cairo_region_t *meta_window_actor_get_obscured_region (MetaWindowActor *self); | ||||
|  | ||||
| void meta_window_actor_set_visible_region         (MetaWindowActor *self, | ||||
|                                                    cairo_region_t  *visible_region); | ||||
| void meta_window_actor_set_visible_region_beneath (MetaWindowActor *self, | ||||
|                                                    cairo_region_t  *beneath_region); | ||||
| void meta_window_actor_reset_visible_regions      (MetaWindowActor *self); | ||||
| void meta_window_actor_set_clip_region         (MetaWindowActor *self, | ||||
|                                                 cairo_region_t  *clip_region); | ||||
| void meta_window_actor_set_clip_region_beneath (MetaWindowActor *self, | ||||
|                                                 cairo_region_t  *beneath_region); | ||||
| void meta_window_actor_reset_clip_regions      (MetaWindowActor *self); | ||||
|  | ||||
| void meta_window_actor_set_unobscured_region      (MetaWindowActor *self, | ||||
|                                                    cairo_region_t  *unobscured_region); | ||||
|  | ||||
| void meta_window_actor_effect_completed (MetaWindowActor *actor, | ||||
|                                          gulong           event); | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -7,118 +7,27 @@ | ||||
|  | ||||
| #include <gdk/gdk.h> /* for gdk_rectangle_intersect() */ | ||||
|  | ||||
| #include "clutter-utils.h" | ||||
| #include "compositor-private.h" | ||||
| #include "meta-window-actor-private.h" | ||||
| #include "meta-window-group.h" | ||||
| #include "meta-background-actor-private.h" | ||||
| #include "meta-background-group-private.h" | ||||
| #include "window-private.h" | ||||
|  | ||||
| struct _MetaWindowGroupClass | ||||
| { | ||||
|   ClutterGroupClass parent_class; | ||||
|   ClutterActorClass parent_class; | ||||
| }; | ||||
|  | ||||
| struct _MetaWindowGroup | ||||
| { | ||||
|   ClutterGroup parent; | ||||
|   ClutterActor parent; | ||||
|  | ||||
|   MetaScreen *screen; | ||||
| }; | ||||
|  | ||||
| G_DEFINE_TYPE (MetaWindowGroup, meta_window_group, CLUTTER_TYPE_GROUP); | ||||
|  | ||||
| /* This file uses pixel-aligned region computation to determine what | ||||
|  * can be clipped out. This only really works if everything is aligned | ||||
|  * to the pixel grid - not scaled or rotated and at integer offsets. | ||||
|  * | ||||
|  * (This could be relaxed - if we turned off filtering for unscaled | ||||
|  * windows then windows would be, by definition aligned to the pixel | ||||
|  * grid. And for rectangular windows without a shape, the outline that | ||||
|  * we draw for an unrotated window is always a rectangle because we | ||||
|  * don't use antialasing for the window boundary - with or without | ||||
|  * filtering, with or without a scale. But figuring out exactly | ||||
|  * what pixels will be drawn by the graphics system in these cases | ||||
|  * gets tricky, so we just go for the easiest part - no scale, | ||||
|  * and at integer offsets.) | ||||
|  * | ||||
|  * The way we check for pixel-aligned is by looking at the | ||||
|  * transformation into screen space of the allocation box of an actor | ||||
|  * and and checking if the corners are "close enough" to integral | ||||
|  * pixel values. | ||||
|  */ | ||||
|  | ||||
| /* The definition of "close enough" to integral pixel values is | ||||
|  * equality when we convert to 24.8 fixed-point. | ||||
|  */ | ||||
| static inline int | ||||
| round_to_fixed (float x) | ||||
| { | ||||
|   return roundf (x * 256); | ||||
| } | ||||
|  | ||||
| /* This helper function checks if (according to our fixed point precision) | ||||
|  * the vertices @verts form a box of width @widthf and height @heightf | ||||
|  * located at integral coordinates. These coordinates are returned | ||||
|  * in @x_origin and @y_origin. | ||||
|  */ | ||||
| static gboolean | ||||
| vertices_are_untransformed (ClutterVertex *verts, | ||||
|                             float          widthf, | ||||
|                             float          heightf, | ||||
|                             int           *x_origin, | ||||
|                             int           *y_origin) | ||||
| { | ||||
|   int width, height; | ||||
|   int v0x, v0y, v1x, v1y, v2x, v2y, v3x, v3y; | ||||
|   int x, y; | ||||
|  | ||||
|   width = round_to_fixed (widthf); height = round_to_fixed (heightf); | ||||
|  | ||||
|   v0x = round_to_fixed (verts[0].x); v0y = round_to_fixed (verts[0].y); | ||||
|   v1x = round_to_fixed (verts[1].x); v1y = round_to_fixed (verts[1].y); | ||||
|   v2x = round_to_fixed (verts[2].x); v2y = round_to_fixed (verts[2].y); | ||||
|   v3x = round_to_fixed (verts[3].x); v3y = round_to_fixed (verts[3].y); | ||||
|  | ||||
|   /* Using shifting for converting fixed => int, gets things right for | ||||
|    * negative values. / 256. wouldn't do the same | ||||
|    */ | ||||
|   x = v0x >> 8; | ||||
|   y = v0y >> 8; | ||||
|  | ||||
|   /* At integral coordinates? */ | ||||
|   if (x * 256 != v0x || y * 256 != v0y) | ||||
|     return FALSE; | ||||
|  | ||||
|   /* Not scaled? */ | ||||
|   if (v1x - v0x != width || v2y - v0y != height) | ||||
|     return FALSE; | ||||
|  | ||||
|   /* Not rotated/skewed? */ | ||||
|   if (v0x != v2x || v0y != v1y || | ||||
|       v3x != v1x || v3y != v2y) | ||||
|     return FALSE; | ||||
|  | ||||
|   *x_origin = x; | ||||
|   *y_origin = y; | ||||
|  | ||||
|   return TRUE; | ||||
| } | ||||
|  | ||||
| /* Check if an actor is "untransformed" - which actually means transformed by | ||||
|  * at most a integer-translation. The integer translation, if any, is returned. | ||||
|  */ | ||||
| static gboolean | ||||
| actor_is_untransformed (ClutterActor *actor, | ||||
|                         int          *x_origin, | ||||
|                         int          *y_origin) | ||||
| { | ||||
|   gfloat widthf, heightf; | ||||
|   ClutterVertex verts[4]; | ||||
|  | ||||
|   clutter_actor_get_size (actor, &widthf, &heightf); | ||||
|   clutter_actor_get_abs_allocation_vertices (actor, verts); | ||||
|  | ||||
|   return vertices_are_untransformed (verts, widthf, heightf, x_origin, y_origin); | ||||
| } | ||||
| G_DEFINE_TYPE (MetaWindowGroup, meta_window_group, CLUTTER_TYPE_ACTOR); | ||||
|  | ||||
| /* Help macros to scale from OpenGL <-1,1> coordinates system to | ||||
|  * window coordinates ranging [0,window-size]. Borrowed from clutter-utils.c | ||||
| @@ -175,22 +84,36 @@ painting_untransformed (MetaWindowGroup *window_group, | ||||
|                                       viewport[3], viewport[1]); | ||||
|     } | ||||
|  | ||||
|   return vertices_are_untransformed (vertices, width, height, x_origin, y_origin); | ||||
|   return meta_actor_vertices_are_untransformed (vertices, width, height, x_origin, y_origin); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_window_group_paint (ClutterActor *actor) | ||||
| { | ||||
|   cairo_region_t *visible_region; | ||||
|   ClutterActor *stage; | ||||
|   cairo_rectangle_int_t visible_rect; | ||||
|   GList *children, *l; | ||||
|   cairo_region_t *clip_region; | ||||
|   cairo_region_t *unobscured_region; | ||||
|   ClutterActorIter iter; | ||||
|   ClutterActor *child; | ||||
|   cairo_rectangle_int_t visible_rect, clip_rect; | ||||
|   int paint_x_origin, paint_y_origin; | ||||
|   int actor_x_origin, actor_y_origin; | ||||
|   int paint_x_offset, paint_y_offset; | ||||
|  | ||||
|   MetaWindowGroup *window_group = META_WINDOW_GROUP (actor); | ||||
|   MetaCompScreen *info = meta_screen_get_compositor_data (window_group->screen); | ||||
|   ClutterActor *stage = clutter_actor_get_stage (actor); | ||||
|  | ||||
|   /* Start off by treating all windows as completely unobscured, so damage anywhere | ||||
|    * in a window queues redraws, but confine it more below. */ | ||||
|   clutter_actor_iter_init (&iter, actor); | ||||
|   while (clutter_actor_iter_next (&iter, &child)) | ||||
|     { | ||||
|       if (META_IS_WINDOW_ACTOR (child)) | ||||
|         { | ||||
|           MetaWindowActor *window_actor = META_WINDOW_ACTOR (child); | ||||
|           meta_window_actor_set_unobscured_region (window_actor, NULL); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   /* Normally we expect an actor to be drawn at it's position on the screen. | ||||
|    * However, if we're inside the paint of a ClutterClone, that won't be the | ||||
| @@ -206,7 +129,7 @@ meta_window_group_paint (ClutterActor *actor) | ||||
|    * on the stage. | ||||
|    */ | ||||
|   if (!painting_untransformed (window_group, &paint_x_origin, &paint_y_origin) || | ||||
|       !actor_is_untransformed (actor, &actor_x_origin, &actor_y_origin)) | ||||
|       !meta_actor_is_untransformed (actor, &actor_x_origin, &actor_y_origin)) | ||||
|     { | ||||
|       CLUTTER_ACTOR_CLASS (meta_window_group_parent_class)->paint (actor); | ||||
|       return; | ||||
| @@ -215,12 +138,11 @@ meta_window_group_paint (ClutterActor *actor) | ||||
|   paint_x_offset = paint_x_origin - actor_x_origin; | ||||
|   paint_y_offset = paint_y_origin - actor_y_origin; | ||||
|  | ||||
|   /* We walk the list from top to bottom (opposite of painting order), | ||||
|    * and subtract the opaque area of each window out of the visible | ||||
|    * region that we pass to the windows below. | ||||
|    */ | ||||
|   children = clutter_container_get_children (CLUTTER_CONTAINER (actor)); | ||||
|   children = g_list_reverse (children); | ||||
|   visible_rect.x = visible_rect.y = 0; | ||||
|   visible_rect.width = clutter_actor_get_width (CLUTTER_ACTOR (stage)); | ||||
|   visible_rect.height = clutter_actor_get_height (CLUTTER_ACTOR (stage)); | ||||
|  | ||||
|   unobscured_region = cairo_region_create_rectangle (&visible_rect); | ||||
|  | ||||
|   /* Get the clipped redraw bounds from Clutter so that we can avoid | ||||
|    * painting shadows on windows that don't need to be painted in this | ||||
| @@ -228,27 +150,38 @@ meta_window_group_paint (ClutterActor *actor) | ||||
|    * sizes, we could intersect this with an accurate union of the | ||||
|    * monitors to avoid painting shadows that are visible only in the | ||||
|    * holes. */ | ||||
|   stage = clutter_actor_get_stage (actor); | ||||
|   clutter_stage_get_redraw_clip_bounds (CLUTTER_STAGE (stage), | ||||
|                                         &visible_rect); | ||||
|                                         &clip_rect); | ||||
|  | ||||
|   visible_region = cairo_region_create_rectangle (&visible_rect); | ||||
|   clip_region = cairo_region_create_rectangle (&clip_rect); | ||||
|  | ||||
|   if (info->unredirected_window != NULL) | ||||
|   if (!meta_is_wayland_compositor ()) | ||||
|     { | ||||
|       cairo_rectangle_int_t unredirected_rect; | ||||
|       MetaWindow *window = meta_window_actor_get_meta_window (info->unredirected_window); | ||||
|       info = meta_screen_get_compositor_data (window_group->screen); | ||||
|       if (info->unredirected_window != NULL) | ||||
|         { | ||||
|           cairo_rectangle_int_t unredirected_rect; | ||||
|           MetaWindow *window = meta_window_actor_get_meta_window (info->unredirected_window); | ||||
|  | ||||
|       meta_window_get_outer_rect (window, (MetaRectangle *)&unredirected_rect); | ||||
|       cairo_region_subtract_rectangle (visible_region, &unredirected_rect); | ||||
|           meta_window_get_outer_rect (window, (MetaRectangle *)&unredirected_rect); | ||||
|           cairo_region_subtract_rectangle (unobscured_region, &unredirected_rect); | ||||
|           cairo_region_subtract_rectangle (clip_region, &unredirected_rect); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   for (l = children; l; l = l->next) | ||||
|   /* We walk the list from top to bottom (opposite of painting order), | ||||
|    * and subtract the opaque area of each window out of the visible | ||||
|    * region that we pass to the windows below. | ||||
|    */ | ||||
|   clutter_actor_iter_init (&iter, actor); | ||||
|   while (clutter_actor_iter_prev (&iter, &child)) | ||||
|     { | ||||
|       if (!CLUTTER_ACTOR_IS_VISIBLE (l->data)) | ||||
|       if (!CLUTTER_ACTOR_IS_VISIBLE (child)) | ||||
|         continue; | ||||
|  | ||||
|       if (l->data == info->unredirected_window) | ||||
|       if (!meta_is_wayland_compositor () && | ||||
|           info->unredirected_window != NULL && | ||||
|           child == CLUTTER_ACTOR (info->unredirected_window)) | ||||
|         continue; | ||||
|  | ||||
|       /* If an actor has effects applied, then that can change the area | ||||
| @@ -267,74 +200,93 @@ meta_window_group_paint (ClutterActor *actor) | ||||
|        * as well for the same reason, but omitted for simplicity in the | ||||
|        * hopes that no-one will do that. | ||||
|        */ | ||||
|       if (clutter_actor_has_effects (l->data)) | ||||
|       if (clutter_actor_has_effects (child)) | ||||
|         continue; | ||||
|  | ||||
|       if (META_IS_WINDOW_ACTOR (l->data)) | ||||
|       if (META_IS_WINDOW_ACTOR (child)) | ||||
|         { | ||||
|           MetaWindowActor *window_actor = l->data; | ||||
|           MetaWindowActor *window_actor = META_WINDOW_ACTOR (child); | ||||
|           int x, y; | ||||
|  | ||||
|           if (!actor_is_untransformed (CLUTTER_ACTOR (window_actor), &x, &y)) | ||||
|           if (!meta_actor_is_untransformed (CLUTTER_ACTOR (window_actor), &x, &y)) | ||||
|             continue; | ||||
|  | ||||
|           x += paint_x_offset; | ||||
|           y += paint_y_offset; | ||||
|  | ||||
|           /* Temporarily move to the coordinate system of the actor */ | ||||
|           cairo_region_translate (visible_region, - x, - y); | ||||
|  | ||||
|           meta_window_actor_set_visible_region (window_actor, visible_region); | ||||
|           /* Temporarily move to the coordinate system of the actor */ | ||||
|           cairo_region_translate (unobscured_region, - x, - y); | ||||
|           cairo_region_translate (clip_region, - x, - y); | ||||
|  | ||||
|           meta_window_actor_set_unobscured_region (window_actor, unobscured_region); | ||||
|           meta_window_actor_set_clip_region (window_actor, clip_region); | ||||
|  | ||||
|           if (clutter_actor_get_paint_opacity (CLUTTER_ACTOR (window_actor)) == 0xff) | ||||
|             { | ||||
|               cairo_region_t *obscured_region = meta_window_actor_get_obscured_region (window_actor); | ||||
|               if (obscured_region) | ||||
|                 cairo_region_subtract (visible_region, obscured_region); | ||||
|                 { | ||||
|                   cairo_region_subtract (unobscured_region, obscured_region); | ||||
|                   cairo_region_subtract (clip_region, obscured_region); | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|           meta_window_actor_set_visible_region_beneath (window_actor, visible_region); | ||||
|           cairo_region_translate (visible_region, x, y); | ||||
|           meta_window_actor_set_clip_region_beneath (window_actor, clip_region); | ||||
|  | ||||
|           cairo_region_translate (unobscured_region, x, y); | ||||
|           cairo_region_translate (clip_region, x, y); | ||||
|         } | ||||
|       else if (META_IS_BACKGROUND_ACTOR (l->data)) | ||||
|       else if (META_IS_BACKGROUND_ACTOR (child) || | ||||
|                META_IS_BACKGROUND_GROUP (child)) | ||||
|         { | ||||
|           MetaBackgroundActor *background_actor = l->data; | ||||
|           int x, y; | ||||
|  | ||||
|           if (!actor_is_untransformed (CLUTTER_ACTOR (background_actor), &x, &y)) | ||||
|           if (!meta_actor_is_untransformed (child, &x, &y)) | ||||
|             continue; | ||||
|  | ||||
|           x += paint_x_offset; | ||||
|           y += paint_y_offset; | ||||
|  | ||||
|           cairo_region_translate (visible_region, - x, - y); | ||||
|           meta_background_actor_set_visible_region (background_actor, visible_region); | ||||
|           cairo_region_translate (visible_region, x, y); | ||||
|           cairo_region_translate (clip_region, - x, - y); | ||||
|  | ||||
|           if (META_IS_BACKGROUND_GROUP (child)) | ||||
|             meta_background_group_set_clip_region (META_BACKGROUND_GROUP (child), clip_region); | ||||
|           else | ||||
|             meta_background_actor_set_clip_region (META_BACKGROUND_ACTOR (child), clip_region); | ||||
|           cairo_region_translate (clip_region, x, y); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   cairo_region_destroy (visible_region); | ||||
|   cairo_region_destroy (unobscured_region); | ||||
|   cairo_region_destroy (clip_region); | ||||
|  | ||||
|   CLUTTER_ACTOR_CLASS (meta_window_group_parent_class)->paint (actor); | ||||
|  | ||||
|   /* Now that we are done painting, unset the visible regions (they will | ||||
|    * mess up painting clones of our actors) | ||||
|    */ | ||||
|   for (l = children; l; l = l->next) | ||||
|   clutter_actor_iter_init (&iter, actor); | ||||
|   while (clutter_actor_iter_next (&iter, &child)) | ||||
|     { | ||||
|       if (META_IS_WINDOW_ACTOR (l->data)) | ||||
|       if (META_IS_WINDOW_ACTOR (child)) | ||||
|         { | ||||
|           MetaWindowActor *window_actor = l->data; | ||||
|           meta_window_actor_reset_visible_regions (window_actor); | ||||
|           MetaWindowActor *window_actor = META_WINDOW_ACTOR (child); | ||||
|           meta_window_actor_reset_clip_regions (window_actor); | ||||
|         } | ||||
|       else if (META_IS_BACKGROUND_ACTOR (l->data)) | ||||
|       else if (META_IS_BACKGROUND_ACTOR (child)) | ||||
|         { | ||||
|           MetaBackgroundActor *background_actor = l->data; | ||||
|           meta_background_actor_set_visible_region (background_actor, NULL); | ||||
|           MetaBackgroundActor *background_actor = META_BACKGROUND_ACTOR (child); | ||||
|           meta_background_actor_set_clip_region (background_actor, NULL); | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
|   g_list_free (children); | ||||
| static gboolean | ||||
| meta_window_group_get_paint_volume (ClutterActor       *actor, | ||||
|                                     ClutterPaintVolume *volume) | ||||
| { | ||||
|   return clutter_paint_volume_set_from_allocation (volume, actor); | ||||
| } | ||||
|  | ||||
| static void | ||||
| @@ -343,6 +295,7 @@ meta_window_group_class_init (MetaWindowGroupClass *klass) | ||||
|   ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass); | ||||
|  | ||||
|   actor_class->paint = meta_window_group_paint; | ||||
|   actor_class->get_paint_volume = meta_window_group_get_paint_volume; | ||||
| } | ||||
|  | ||||
| static void | ||||
|   | ||||
| @@ -10,13 +10,15 @@ | ||||
| /** | ||||
|  * MetaWindowGroup: | ||||
|  * | ||||
|  * This class is a subclass of ClutterGroup with special handling for | ||||
|  * MetaWindowActor when painting the group. When we are painting a stack | ||||
|  * of 5-10 maximized windows, the standard bottom-to-top method of | ||||
|  * drawing every actor results in a tremendous amount of overdraw | ||||
|  * and can easily max out the available memory bandwidth on a low-end | ||||
|  * graphics chipset. It's even worse if window textures are being accessed | ||||
|  * over the AGP bus. | ||||
|  * This class is a subclass of ClutterActor with special handling for | ||||
|  * MetaWindowActor/MetaBackgroundActor/MetaBackgroundGroup when painting | ||||
|  * children. | ||||
|  * | ||||
|  * When we are painting a stack of 5-10 maximized windows, the | ||||
|  * standard bottom-to-top method of drawing every actor results in a | ||||
|  * tremendous amount of overdraw and can easily max out the available | ||||
|  * memory bandwidth on a low-end graphics chipset. It's even worse if | ||||
|  * window textures are being accessed over the AGP bus. | ||||
|  * | ||||
|  * The basic technique applied here is to do a pre-pass before painting | ||||
|  * where we walk window from top to bottom and compute the visible area | ||||
| @@ -49,4 +51,7 @@ GType meta_window_group_get_type (void); | ||||
|  | ||||
| ClutterActor *meta_window_group_new (MetaScreen *screen); | ||||
|  | ||||
| gboolean meta_window_group_actor_is_untransformed (ClutterActor *actor, | ||||
|                                                    int          *x_origin, | ||||
|                                                    int          *y_origin); | ||||
| #endif /* META_WINDOW_GROUP_H */ | ||||
|   | ||||
| @@ -21,12 +21,14 @@ | ||||
|  * 02111-1307, USA. | ||||
|  */ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #include <meta/meta-plugin.h> | ||||
| #include <meta/window.h> | ||||
|  | ||||
| #include <libintl.h> | ||||
| #define _(x) dgettext (GETTEXT_PACKAGE, x) | ||||
| #define N_(x) x | ||||
| #include <meta/meta-background-group.h> | ||||
| #include <meta/meta-background-actor.h> | ||||
| #include <meta/util.h> | ||||
| #include <glib/gi18n-lib.h> | ||||
|  | ||||
| #include <clutter/clutter.h> | ||||
| #include <gmodule.h> | ||||
| @@ -68,6 +70,7 @@ struct _MetaDefaultPluginClass | ||||
|  | ||||
| static GQuark actor_data_quark = 0; | ||||
|  | ||||
| static void start      (MetaPlugin      *plugin); | ||||
| static void minimize   (MetaPlugin      *plugin, | ||||
|                         MetaWindowActor *actor); | ||||
| static void map        (MetaPlugin      *plugin, | ||||
| @@ -96,6 +99,8 @@ static void kill_window_effects   (MetaPlugin      *plugin, | ||||
|                                    MetaWindowActor *actor); | ||||
| static void kill_switch_workspace (MetaPlugin      *plugin); | ||||
|  | ||||
| static void confirm_display_change (MetaPlugin *plugin); | ||||
|  | ||||
| static const MetaPluginInfo * plugin_info (MetaPlugin *plugin); | ||||
|  | ||||
| META_PLUGIN_DECLARE(MetaDefaultPlugin, meta_default_plugin); | ||||
| @@ -111,6 +116,8 @@ struct _MetaDefaultPluginPrivate | ||||
|   ClutterActor          *desktop1; | ||||
|   ClutterActor          *desktop2; | ||||
|  | ||||
|   ClutterActor          *background_group; | ||||
|  | ||||
|   MetaPluginInfo         info; | ||||
| }; | ||||
|  | ||||
| @@ -191,6 +198,7 @@ meta_default_plugin_class_init (MetaDefaultPluginClass *klass) | ||||
|   gobject_class->set_property    = meta_default_plugin_set_property; | ||||
|   gobject_class->get_property    = meta_default_plugin_get_property; | ||||
|  | ||||
|   plugin_class->start            = start; | ||||
|   plugin_class->map              = map; | ||||
|   plugin_class->minimize         = minimize; | ||||
|   plugin_class->maximize         = maximize; | ||||
| @@ -200,6 +208,7 @@ meta_default_plugin_class_init (MetaDefaultPluginClass *klass) | ||||
|   plugin_class->plugin_info      = plugin_info; | ||||
|   plugin_class->kill_window_effects   = kill_window_effects; | ||||
|   plugin_class->kill_switch_workspace = kill_switch_workspace; | ||||
|   plugin_class->confirm_display_change = confirm_display_change; | ||||
|  | ||||
|   g_type_class_add_private (gobject_class, sizeof (MetaDefaultPluginPrivate)); | ||||
| } | ||||
| @@ -282,6 +291,78 @@ on_switch_workspace_effect_complete (ClutterTimeline *timeline, gpointer data) | ||||
|   meta_plugin_switch_workspace_completed (plugin); | ||||
| } | ||||
|  | ||||
| static gboolean | ||||
| show_stage (MetaPlugin *plugin) | ||||
| { | ||||
|   MetaScreen *screen; | ||||
|   ClutterActor *stage; | ||||
|  | ||||
|   screen = meta_plugin_get_screen (plugin); | ||||
|   stage = meta_get_stage_for_screen (screen); | ||||
|  | ||||
|   clutter_actor_show (stage); | ||||
|  | ||||
|   return FALSE; | ||||
| } | ||||
|  | ||||
| static void | ||||
| on_monitors_changed (MetaScreen *screen, | ||||
|                      MetaPlugin *plugin) | ||||
| { | ||||
|   MetaDefaultPlugin *self = META_DEFAULT_PLUGIN (plugin); | ||||
|   int i, n; | ||||
|  | ||||
|   clutter_actor_destroy_all_children (self->priv->background_group); | ||||
|  | ||||
|   n = meta_screen_get_n_monitors (screen); | ||||
|   for (i = 0; i < n; i++) | ||||
|     { | ||||
|       MetaRectangle rect; | ||||
|       ClutterActor *background; | ||||
|       ClutterColor color; | ||||
|  | ||||
|       meta_screen_get_monitor_geometry (screen, i, &rect); | ||||
|  | ||||
|       background = meta_background_actor_new (); | ||||
|  | ||||
|       clutter_actor_set_position (background, rect.x, rect.y); | ||||
|       clutter_actor_set_size (background, rect.width, rect.height); | ||||
|  | ||||
|       /* Don't use rand() here, mesa calls srand() internally when | ||||
|          parsing the driconf XML, but it's nice if the colors are | ||||
|          reproducible. | ||||
|       */ | ||||
|       clutter_color_init (&color, | ||||
|                           g_random_int () % 255, | ||||
|                           g_random_int () % 255, | ||||
|                           g_random_int () % 255, | ||||
|                           255); | ||||
|       clutter_actor_set_background_color (background, &color); | ||||
|  | ||||
|       clutter_actor_add_child (self->priv->background_group, background); | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| start (MetaPlugin *plugin) | ||||
| { | ||||
|   MetaDefaultPlugin *self = META_DEFAULT_PLUGIN (plugin); | ||||
|   MetaScreen *screen = meta_plugin_get_screen (plugin); | ||||
|  | ||||
|   self->priv->background_group = meta_background_group_new (); | ||||
|   clutter_actor_insert_child_below (meta_get_window_group_for_screen (screen), | ||||
|                                     self->priv->background_group, NULL); | ||||
|  | ||||
|   g_signal_connect (screen, "monitors-changed", | ||||
|                     G_CALLBACK (on_monitors_changed), plugin); | ||||
|   on_monitors_changed (screen, plugin); | ||||
|  | ||||
|   meta_later_add (META_LATER_BEFORE_REDRAW, | ||||
|                   (GSourceFunc) show_stage, | ||||
|                   plugin, | ||||
|                   NULL); | ||||
| } | ||||
|  | ||||
| static void | ||||
| switch_workspace (MetaPlugin *plugin, | ||||
|                   gint from, gint to, | ||||
| @@ -756,3 +837,33 @@ plugin_info (MetaPlugin *plugin) | ||||
|  | ||||
|   return &priv->info; | ||||
| } | ||||
|  | ||||
| static void | ||||
| on_dialog_closed (GPid     pid, | ||||
|                   gint     status, | ||||
|                   gpointer user_data) | ||||
| { | ||||
|   MetaPlugin *plugin = user_data; | ||||
|   gboolean ok; | ||||
|  | ||||
|   ok = g_spawn_check_exit_status (status, NULL); | ||||
|   meta_plugin_complete_display_change (plugin, ok); | ||||
| } | ||||
|  | ||||
| static void | ||||
| confirm_display_change (MetaPlugin *plugin) | ||||
| { | ||||
|   GPid pid; | ||||
|  | ||||
|   pid = meta_show_dialog ("--question", | ||||
|                           "Does the display look OK?", | ||||
|                           "20", | ||||
|                           NULL, | ||||
|                           "_Keep This Configuration", | ||||
|                           "_Restore Previous Configuration", | ||||
|                           "preferences-desktop-display", | ||||
|                           0, | ||||
|                           NULL, NULL); | ||||
|  | ||||
|   g_child_watch_add (pid, on_dialog_closed, plugin); | ||||
| } | ||||
|   | ||||
							
								
								
									
										408
									
								
								src/core/barrier.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										408
									
								
								src/core/barrier.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,408 @@ | ||||
| /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ | ||||
|  | ||||
| /** | ||||
|  * SECTION:barrier | ||||
|  * @Title: MetaBarrier | ||||
|  * @Short_Description: Pointer barriers | ||||
|  */ | ||||
|  | ||||
| #include "config.h" | ||||
|  | ||||
| #include <glib-object.h> | ||||
|  | ||||
| #include <X11/extensions/XInput2.h> | ||||
| #include <X11/extensions/Xfixes.h> | ||||
| #include <meta/util.h> | ||||
| #include <meta/barrier.h> | ||||
| #include "display-private.h" | ||||
| #include "mutter-enum-types.h" | ||||
| #include "core.h" | ||||
|  | ||||
| G_DEFINE_TYPE (MetaBarrier, meta_barrier, G_TYPE_OBJECT) | ||||
|  | ||||
| enum { | ||||
|   PROP_0, | ||||
|  | ||||
|   PROP_DISPLAY, | ||||
|  | ||||
|   PROP_X1, | ||||
|   PROP_Y1, | ||||
|   PROP_X2, | ||||
|   PROP_Y2, | ||||
|   PROP_DIRECTIONS, | ||||
|  | ||||
|   PROP_LAST, | ||||
| }; | ||||
|  | ||||
| static GParamSpec *obj_props[PROP_LAST]; | ||||
|  | ||||
| enum { | ||||
|   HIT, | ||||
|   LEFT, | ||||
|  | ||||
|   LAST_SIGNAL, | ||||
| }; | ||||
|  | ||||
| static guint obj_signals[LAST_SIGNAL]; | ||||
|  | ||||
| struct _MetaBarrierPrivate | ||||
| { | ||||
|   MetaDisplay *display; | ||||
|  | ||||
|   int x1; | ||||
|   int y1; | ||||
|   int x2; | ||||
|   int y2; | ||||
|  | ||||
|   MetaBarrierDirection directions; | ||||
|  | ||||
|   PointerBarrier xbarrier; | ||||
| }; | ||||
|  | ||||
| static void meta_barrier_event_unref (MetaBarrierEvent *event); | ||||
|  | ||||
| static void | ||||
| meta_barrier_get_property (GObject    *object, | ||||
|                            guint       prop_id, | ||||
|                            GValue     *value, | ||||
|                            GParamSpec *pspec) | ||||
| { | ||||
|   MetaBarrier *barrier = META_BARRIER (object); | ||||
|   MetaBarrierPrivate *priv = barrier->priv; | ||||
|   switch (prop_id) | ||||
|     { | ||||
|     case PROP_DISPLAY: | ||||
|       g_value_set_object (value, priv->display); | ||||
|       break; | ||||
|     case PROP_X1: | ||||
|       g_value_set_int (value, priv->x1); | ||||
|       break; | ||||
|     case PROP_Y1: | ||||
|       g_value_set_int (value, priv->y1); | ||||
|       break; | ||||
|     case PROP_X2: | ||||
|       g_value_set_int (value, priv->x2); | ||||
|       break; | ||||
|     case PROP_Y2: | ||||
|       g_value_set_int (value, priv->y2); | ||||
|       break; | ||||
|     case PROP_DIRECTIONS: | ||||
|       g_value_set_flags (value, priv->directions); | ||||
|       break; | ||||
|     default: | ||||
|       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||||
|       break; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_barrier_set_property (GObject      *object, | ||||
|                            guint         prop_id, | ||||
|                            const GValue *value, | ||||
|                            GParamSpec   *pspec) | ||||
| { | ||||
|   MetaBarrier *barrier = META_BARRIER (object); | ||||
|   MetaBarrierPrivate *priv = barrier->priv; | ||||
|   switch (prop_id) | ||||
|     { | ||||
|     case PROP_DISPLAY: | ||||
|       priv->display = g_value_get_object (value); | ||||
|       break; | ||||
|     case PROP_X1: | ||||
|       priv->x1 = g_value_get_int (value); | ||||
|       break; | ||||
|     case PROP_Y1: | ||||
|       priv->y1 = g_value_get_int (value); | ||||
|       break; | ||||
|     case PROP_X2: | ||||
|       priv->x2 = g_value_get_int (value); | ||||
|       break; | ||||
|     case PROP_Y2: | ||||
|       priv->y2 = g_value_get_int (value); | ||||
|       break; | ||||
|     case PROP_DIRECTIONS: | ||||
|       priv->directions = g_value_get_flags (value); | ||||
|       break; | ||||
|     default: | ||||
|       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||||
|       break; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_barrier_dispose (GObject *object) | ||||
| { | ||||
|   MetaBarrier *barrier = META_BARRIER (object); | ||||
|   MetaBarrierPrivate *priv = barrier->priv; | ||||
|  | ||||
|   if (meta_barrier_is_active (barrier)) | ||||
|     { | ||||
|       meta_bug ("MetaBarrier wrapper %p for X barrier %ld was destroyed" | ||||
|                 " while the X barrier is still active.", | ||||
|                 barrier, priv->xbarrier); | ||||
|     } | ||||
|  | ||||
|   G_OBJECT_CLASS (meta_barrier_parent_class)->dispose (object); | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_barrier_is_active (MetaBarrier *barrier) | ||||
| { | ||||
|   return barrier->priv->xbarrier != 0; | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_barrier_release: | ||||
|  * @barrier: The barrier to release | ||||
|  * @event: The event to release the pointer for | ||||
|  * | ||||
|  * In XI2.3, pointer barriers provide a feature where they can | ||||
|  * be temporarily released so that the pointer goes through | ||||
|  * them. Pass a #MetaBarrierEvent to release the barrier for | ||||
|  * this event sequence. | ||||
|  */ | ||||
| void | ||||
| meta_barrier_release (MetaBarrier      *barrier, | ||||
|                       MetaBarrierEvent *event) | ||||
| { | ||||
| #ifdef HAVE_XI23 | ||||
|   MetaBarrierPrivate *priv = barrier->priv; | ||||
|   if (META_DISPLAY_HAS_XINPUT_23 (priv->display)) | ||||
|     { | ||||
|       XIBarrierReleasePointer (priv->display->xdisplay, | ||||
|                                META_VIRTUAL_CORE_POINTER_ID, | ||||
|                                priv->xbarrier, event->event_id); | ||||
|     } | ||||
| #endif /* HAVE_XI23 */ | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_barrier_constructed (GObject *object) | ||||
| { | ||||
|   MetaBarrier *barrier = META_BARRIER (object); | ||||
|   MetaBarrierPrivate *priv = barrier->priv; | ||||
|   Display *dpy; | ||||
|   Window root; | ||||
|  | ||||
|   g_return_if_fail (priv->x1 == priv->x2 || priv->y1 == priv->y2); | ||||
|  | ||||
|   if (priv->display == NULL) | ||||
|     { | ||||
|       g_warning ("A display must be provided when constructing a barrier."); | ||||
|       return; | ||||
|     } | ||||
|  | ||||
|   dpy = priv->display->xdisplay; | ||||
|   root = DefaultRootWindow (dpy); | ||||
|  | ||||
|   priv->xbarrier = XFixesCreatePointerBarrier (dpy, root, | ||||
|                                                priv->x1, priv->y1, | ||||
|                                                priv->x2, priv->y2, | ||||
|                                                priv->directions, 0, NULL); | ||||
|  | ||||
|   /* Take a ref that we'll release when the XID dies inside destroy(), | ||||
|    * so that the object stays alive and doesn't get GC'd. */ | ||||
|   g_object_ref (barrier); | ||||
|  | ||||
|   g_hash_table_insert (priv->display->xids, &priv->xbarrier, barrier); | ||||
|  | ||||
|   G_OBJECT_CLASS (meta_barrier_parent_class)->constructed (object); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_barrier_class_init (MetaBarrierClass *klass) | ||||
| { | ||||
|   GObjectClass *object_class = G_OBJECT_CLASS (klass); | ||||
|  | ||||
|   object_class->get_property = meta_barrier_get_property; | ||||
|   object_class->set_property = meta_barrier_set_property; | ||||
|   object_class->dispose = meta_barrier_dispose; | ||||
|   object_class->constructed = meta_barrier_constructed; | ||||
|  | ||||
|   obj_props[PROP_DISPLAY] = | ||||
|     g_param_spec_object ("display", | ||||
|                          "Display", | ||||
|                          "The display to construct the pointer barrier on", | ||||
|                          META_TYPE_DISPLAY, | ||||
|                          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); | ||||
|  | ||||
|   obj_props[PROP_X1] = | ||||
|     g_param_spec_int ("x1", | ||||
|                       "X1", | ||||
|                       "The first X coordinate of the barrier", | ||||
|                       0, G_MAXSHORT, 0, | ||||
|                       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); | ||||
|  | ||||
|   obj_props[PROP_Y1] = | ||||
|     g_param_spec_int ("y1", | ||||
|                       "Y1", | ||||
|                       "The first Y coordinate of the barrier", | ||||
|                       0, G_MAXSHORT, 0, | ||||
|                       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); | ||||
|  | ||||
|   obj_props[PROP_X2] = | ||||
|     g_param_spec_int ("x2", | ||||
|                       "X2", | ||||
|                       "The second X coordinate of the barrier", | ||||
|                       0, G_MAXSHORT, G_MAXSHORT, | ||||
|                       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); | ||||
|  | ||||
|   obj_props[PROP_Y2] = | ||||
|     g_param_spec_int ("y2", | ||||
|                       "Y2", | ||||
|                       "The second Y coordinate of the barrier", | ||||
|                       0, G_MAXSHORT, G_MAXSHORT, | ||||
|                       G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); | ||||
|  | ||||
|   obj_props[PROP_DIRECTIONS] = | ||||
|     g_param_spec_flags ("directions", | ||||
|                         "Directions", | ||||
|                         "A set of directions to let the pointer through", | ||||
|                         META_TYPE_BARRIER_DIRECTION, | ||||
|                         0, | ||||
|                         G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); | ||||
|  | ||||
|   g_object_class_install_properties (object_class, PROP_LAST, obj_props); | ||||
|  | ||||
|   /** | ||||
|    * MetaBarrier::hit: | ||||
|    * @barrier: The #MetaBarrier that was hit | ||||
|    * @event: A #MetaBarrierEvent that has the details of how | ||||
|    * the barrier was hit. | ||||
|    * | ||||
|    * When a pointer barrier is hit, this will trigger. This | ||||
|    * requires an XI2-enabled server. | ||||
|    */ | ||||
|   obj_signals[HIT] = | ||||
|     g_signal_new ("hit", | ||||
|                   G_TYPE_FROM_CLASS (object_class), | ||||
|                   G_SIGNAL_RUN_FIRST, | ||||
|                   0, | ||||
|                   NULL, NULL, NULL, | ||||
|                   G_TYPE_NONE, 1, | ||||
|                   META_TYPE_BARRIER_EVENT); | ||||
|  | ||||
|   /** | ||||
|    * MetaBarrier::left: | ||||
|    * @barrier: The #MetaBarrier that was left | ||||
|    * @event: A #MetaBarrierEvent that has the details of how | ||||
|    * the barrier was left. | ||||
|    * | ||||
|    * When a pointer barrier hitbox was left, this will trigger. | ||||
|    * This requires an XI2-enabled server. | ||||
|    */ | ||||
|   obj_signals[LEFT] = | ||||
|     g_signal_new ("left", | ||||
|                   G_TYPE_FROM_CLASS (object_class), | ||||
|                   G_SIGNAL_RUN_FIRST, | ||||
|                   0, | ||||
|                   NULL, NULL, NULL, | ||||
|                   G_TYPE_NONE, 1, | ||||
|                   META_TYPE_BARRIER_EVENT); | ||||
|  | ||||
|   g_type_class_add_private (object_class, sizeof(MetaBarrierPrivate)); | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_barrier_destroy (MetaBarrier *barrier) | ||||
| { | ||||
|   MetaBarrierPrivate *priv = barrier->priv; | ||||
|   Display *dpy; | ||||
|  | ||||
|   if (priv->display == NULL) | ||||
|     return; | ||||
|  | ||||
|   dpy = priv->display->xdisplay; | ||||
|  | ||||
|   if (!meta_barrier_is_active (barrier)) | ||||
|     return; | ||||
|  | ||||
|   XFixesDestroyPointerBarrier (dpy, priv->xbarrier); | ||||
|   g_hash_table_remove (priv->display->xids, &priv->xbarrier); | ||||
|   priv->xbarrier = 0; | ||||
|  | ||||
|   g_object_unref (barrier); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_barrier_init (MetaBarrier *barrier) | ||||
| { | ||||
|   barrier->priv = G_TYPE_INSTANCE_GET_PRIVATE (barrier, META_TYPE_BARRIER, MetaBarrierPrivate); | ||||
| } | ||||
|  | ||||
| #ifdef HAVE_XI23 | ||||
| static void | ||||
| meta_barrier_fire_event (MetaBarrier    *barrier, | ||||
|                          XIBarrierEvent *xevent) | ||||
| { | ||||
|   MetaBarrierEvent *event = g_slice_new0 (MetaBarrierEvent); | ||||
|  | ||||
|   event->ref_count = 1; | ||||
|   event->event_id = xevent->eventid; | ||||
|   event->time = xevent->time; | ||||
|   event->dt = xevent->dtime; | ||||
|  | ||||
|   event->x = xevent->root_x; | ||||
|   event->y = xevent->root_y; | ||||
|   event->dx = xevent->dx; | ||||
|   event->dy = xevent->dy; | ||||
|  | ||||
|   event->released = (xevent->flags & XIBarrierPointerReleased) != 0; | ||||
|   event->grabbed = (xevent->flags & XIBarrierDeviceIsGrabbed) != 0; | ||||
|  | ||||
|   switch (xevent->evtype) | ||||
|     { | ||||
|     case XI_BarrierHit: | ||||
|       g_signal_emit (barrier, obj_signals[HIT], 0, event); | ||||
|       break; | ||||
|     case XI_BarrierLeave: | ||||
|       g_signal_emit (barrier, obj_signals[LEFT], 0, event); | ||||
|       break; | ||||
|     default: | ||||
|       g_assert_not_reached (); | ||||
|     } | ||||
|  | ||||
|   meta_barrier_event_unref (event); | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_display_process_barrier_event (MetaDisplay    *display, | ||||
|                                     XIBarrierEvent *xev) | ||||
| { | ||||
|   MetaBarrier *barrier; | ||||
|  | ||||
|   barrier = g_hash_table_lookup (display->xids, &xev->barrier); | ||||
|   if (barrier != NULL) | ||||
|     { | ||||
|       meta_barrier_fire_event (barrier, xev); | ||||
|       return TRUE; | ||||
|     } | ||||
|  | ||||
|   return FALSE; | ||||
| } | ||||
| #endif /* HAVE_XI23 */ | ||||
|  | ||||
| static MetaBarrierEvent * | ||||
| meta_barrier_event_ref (MetaBarrierEvent *event) | ||||
| { | ||||
|   g_return_val_if_fail (event != NULL, NULL); | ||||
|   g_return_val_if_fail (event->ref_count > 0, NULL); | ||||
|  | ||||
|   g_atomic_int_inc ((volatile int *)&event->ref_count); | ||||
|   return event; | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_barrier_event_unref (MetaBarrierEvent *event) | ||||
| { | ||||
|   g_return_if_fail (event != NULL); | ||||
|   g_return_if_fail (event->ref_count > 0); | ||||
|  | ||||
|   if (g_atomic_int_dec_and_test ((volatile int *)&event->ref_count)) | ||||
|     g_slice_free (MetaBarrierEvent, event); | ||||
| } | ||||
|  | ||||
| G_DEFINE_BOXED_TYPE (MetaBarrierEvent, | ||||
|                      meta_barrier_event, | ||||
|                      meta_barrier_event_ref, | ||||
|                      meta_barrier_event_unref) | ||||
| @@ -22,8 +22,8 @@ | ||||
|  * 02111-1307, USA. | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * SECTION:Bell | ||||
| /* | ||||
|  * SECTION:bell | ||||
|  * @short_description: Ring the bell or flash the screen | ||||
|  * | ||||
|  * Sometimes, X programs "ring the bell", whatever that means. Mutter lets | ||||
| @@ -52,7 +52,10 @@ | ||||
| #include <config.h> | ||||
| #include "bell.h" | ||||
| #include "screen-private.h" | ||||
| #include "window-private.h" | ||||
| #include "util-private.h" | ||||
| #include <meta/prefs.h> | ||||
| #include <meta/compositor.h> | ||||
| #ifdef HAVE_LIBCANBERRA | ||||
| #include <canberra-gtk.h> | ||||
| #endif | ||||
|   | ||||
| @@ -28,30 +28,35 @@ | ||||
|  | ||||
| #ifdef HAVE_XKB | ||||
| /** | ||||
|  * meta_bell_notify: | ||||
|  * @display: The display the bell event came in on | ||||
|  * @xkb_ev: The bell event we just received  | ||||
|  * | ||||
|  * Gives the user some kind of visual bell; in fact, this is our response | ||||
|  * to any kind of bell request, but we set it up so that we only get | ||||
|  * notified about visual bells, and X deals with audible ones. | ||||
|  * | ||||
|  * If the configure script found we had no XKB, this does not exist. | ||||
|  * | ||||
|  * \param display  The display the bell event came in on | ||||
|  * \param xkb_ev   The bell event we just received | ||||
|  */ | ||||
| void meta_bell_notify (MetaDisplay *display, XkbAnyEvent *xkb_ev); | ||||
| #endif | ||||
|  | ||||
| /** | ||||
|  * meta_bell_set_audible: | ||||
|  * @display: The display we're configuring | ||||
|  * @audible: True for an audible bell, false for a visual bell | ||||
|  * | ||||
|  * Turns the bell to audible or visual. This tells X what to do, but | ||||
|  * not Mutter; you will need to set the "visual bell" pref for that. | ||||
|  * | ||||
|  * If the configure script found we had no XKB, this is a no-op. | ||||
|  * | ||||
|  * \param display  The display we're configuring | ||||
|  * \param audible  True for an audible bell, false for a visual bell | ||||
|  */ | ||||
| void meta_bell_set_audible (MetaDisplay *display, gboolean audible); | ||||
|  | ||||
| /** | ||||
|  * meta_bell_init: | ||||
|  * @display: The display which is opening | ||||
|  * | ||||
|  * Initialises the bell subsystem. This involves intialising | ||||
|  * XKB (which, despite being a keyboard extension, is the | ||||
|  * place to look for bell notifications), then asking it | ||||
| @@ -64,8 +69,6 @@ void meta_bell_set_audible (MetaDisplay *display, gboolean audible); | ||||
|  * we will have HAVE_XKB undefined, which will cause this | ||||
|  * function to be a no-op. | ||||
|  * | ||||
|  * \param display  The display which is opening | ||||
|  * | ||||
|  * \bug There is a line of code that's never run that tells | ||||
|  * XKB to reset the bell status after we quit. Bill H said | ||||
|  * (<http://bugzilla.gnome.org/show_bug.cgi?id=99886#c12>) | ||||
| @@ -75,9 +78,10 @@ void meta_bell_set_audible (MetaDisplay *display, gboolean audible); | ||||
| gboolean meta_bell_init (MetaDisplay *display); | ||||
|  | ||||
| /** | ||||
|  * Shuts down the bell subsystem. | ||||
|  * meta_bell_shutdown: | ||||
|  * @display: The display which is closing | ||||
|  * | ||||
|  * \param display  The display which is closing | ||||
|  * Shuts down the bell subsystem. | ||||
|  * | ||||
|  * \bug This is never called! If we had XkbSetAutoResetControls | ||||
|  * enabled in meta_bell_init(), this wouldn't be a problem, but | ||||
| @@ -86,11 +90,12 @@ gboolean meta_bell_init (MetaDisplay *display); | ||||
| void meta_bell_shutdown (MetaDisplay *display); | ||||
|  | ||||
| /** | ||||
|  * meta_bell_notify_frame_destroy: | ||||
|  * @frame: The frame which is being destroyed | ||||
|  * | ||||
|  * Deals with a frame being destroyed. This is important because if we're | ||||
|  * using a visual bell, we might be flashing the edges of the frame, and | ||||
|  * so we'd have a timeout function waiting ready to un-flash them. If the | ||||
|  * frame's going away, we can tell the timeout not to bother. | ||||
|  * | ||||
|  * \param frame  The frame which is being destroyed | ||||
|  */ | ||||
| void meta_bell_notify_frame_destroy (MetaFrame *frame); | ||||
|   | ||||
| @@ -1,6 +1,10 @@ | ||||
| /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ | ||||
|  | ||||
| /* Simple box operations */ | ||||
| /** | ||||
|  * SECTION:boxes | ||||
|  * @Title: MetaRectangle | ||||
|  * @Short_Description: Simple box operations | ||||
|  */ | ||||
|  | ||||
| /*  | ||||
|  * Copyright (C) 2005, 2006 Elijah Newren | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user