Compare commits
	
		
			4 Commits
		
	
	
		
			3.10.2
			...
			wip/media-
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 9e2fc32395 | ||
|   | 53a17185a0 | ||
|   | fa679976e3 | ||
|   | f505c59a9f | 
							
								
								
									
										24
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -19,8 +19,6 @@ libtool | ||||
| ltmain.sh | ||||
| missing | ||||
| .deps | ||||
| src/50-mutter-navigation.xml | ||||
| src/50-mutter-system.xml | ||||
| src/50-mutter-windows.xml | ||||
| src/mutter-wm.desktop | ||||
| src/mutter.desktop | ||||
| @@ -46,6 +44,7 @@ POTFILES | ||||
| po/*.pot | ||||
| 50-metacity-desktop-key.xml | ||||
| 50-metacity-key.xml | ||||
| inlinepixbufs.h | ||||
| libmutter.pc | ||||
| mutter | ||||
| mutter-theme-viewer | ||||
| @@ -55,14 +54,12 @@ org.gnome.mutter.gschema.xml | ||||
| testasyncgetprop | ||||
| testboxes | ||||
| testgradient | ||||
| m4/* | ||||
| mutter-grayscale | ||||
| mutter-mag | ||||
| mutter-message | ||||
| mutter-window-demo | ||||
| focus-window | ||||
| test-attached | ||||
| test-focus | ||||
| test-gravity | ||||
| test-resizing | ||||
| test-size-hints | ||||
| @@ -75,23 +72,4 @@ 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 | ||||
| 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,10 +1,6 @@ | ||||
|  | ||||
| SUBDIRS=src po doc | ||||
|  | ||||
| ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} | ||||
|  | ||||
| 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 | ||||
|   | ||||
							
								
								
									
										345
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										345
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,348 +1,3 @@ | ||||
| 3.10.2 | ||||
| ====== | ||||
| * Fix resize operations using mouse-button-modifier [Lionel; #710251] | ||||
|  | ||||
| Contributors: | ||||
|   Lionel Landwerlin | ||||
|  | ||||
| Translations: | ||||
|   Efstathios Iosifidis [el], Reinout van Schouwen [nl] | ||||
|  | ||||
| 3.10.1.1 | ||||
| ======== | ||||
| * Don't assert that at least one output is connected [Giovanni; #709009] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna | ||||
|  | ||||
| 3.10.1 | ||||
| ====== | ||||
| * Don't apply fullscreen workarounds to CSD windows [Giovanni; #708718] | ||||
| * Fix hangs during DND operations [Adel; #709340] | ||||
| * Use nearest-pixel interpolation when possible [Hans; #708389] | ||||
| * Fix tile previews getting stuck on right click during drags [Lionel; #704759] | ||||
| * Misc bug fixes [Giovanni, Jasper; #708420] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Adel Gadllah, Lionel Landwerlin, Hans Petter Jansson, | ||||
|   Jasper St. Pierre | ||||
|  | ||||
| Translations: | ||||
|   Khaled Hosny [ar], Reinout van Schouwen [nl], Carles Ferrando [ca@valencia] | ||||
|  | ||||
| 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 | ||||
| ====== | ||||
|  | ||||
| Translations: | ||||
|   Ask H. Larsen [da], Gabor Kelemen [hu], Duarte Loreto [pt], | ||||
|   Yosef Or Boczko [he] | ||||
|  | ||||
| 3.9.92 | ||||
| ====== | ||||
| * Don't create a dummy texture for the texture pipeline template [Neil; #707458] | ||||
| * Remove holes generated by disabling the laptop lid [Giovanni; #707473] | ||||
| * https://bugzilla.gnome.org/show_bug.cgi?id=707474 [Giovanni; #707474] | ||||
| * Don't require plugins to pass event to Clutter [Giovanni; #707482] | ||||
| * Add support for more cursor types [Giovanni; #707919] | ||||
| * Immediately fire idle watches that are already expired [Giovanni; #707302] | ||||
| * Misc bug fixes [Giovanni, Colin, Pavel; #707649, #707563, #708070] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Adel Gadllah, Colin Guthrie, Neil Roberts, | ||||
|   Jasper St. Pierre, Ray Strode, 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; #706005] | ||||
| * 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] | ||||
| * Turn blending off when drawing entirely opaque regions [Jasper; #706930] | ||||
| * Check event timestamps before reconfiguring [Giovanni; #706735] | ||||
| * Misc bug fixes [Giovanni, Colin, Seán, Jasper, Cosimo; #706582, #706598, | ||||
|   #706787, #706729, #706825, #707081, #707090, #707250, #707267] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Cosimo Cecchi, Adel Gadllah, Colin Guthrie, Kalev Lember, | ||||
|   Tim Lunn, Jasper St. Pierre, 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 | ||||
| ====== | ||||
| * 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, 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] | ||||
| * Make automaximization optional [Adel; #680990] | ||||
| * Add method for checking if the application is responding [Giovanni; #684340] | ||||
| * Expose the xinput opcode [Jasper; #690590] | ||||
| * Rebrand "minimize" as "hide" [Florian; #682887] | ||||
| * Misc bug fixes and cleanups [Giovanni, Ray, Jasper, Matthias, Debarshi, | ||||
|   Florian, Rui; #690454, #690573, #690593, #690956, #691363, #690609, #690317, | ||||
|   #689263] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Matthias Clasen, Adel Gadllah, Rui Matos, Florian Müllner, | ||||
|   Debarshi Ray, Jasper St. Pierre, Ray Strode | ||||
|  | ||||
| Translations: | ||||
|   Mattias Põldaru [et], Yaron Shahrabani [he], Daniel Mustieles [es], | ||||
|   Khaled Hosny [ar], Fran Diéguez [gl], A S Alam [pa], Piotr Drąg [pl], | ||||
|   Rafael Ferreira [pt_BR], Nilamdyuti Goswami [as], Alexander Shopov [bg], | ||||
|   Matej Urbančič [sl] | ||||
|  | ||||
| 3.7.3 | ||||
| ===== | ||||
| * Fix maximized windows jumping to other monitors [Alban; #556696] | ||||
| * Add 'switch-applications' keybinding [Florian; #688913] | ||||
| * Add a convenience method to focus the default window [Jasper; #689652] | ||||
| * Increase typical icon size to 96 [Jasper; #689651] | ||||
| * Port to XInput2 [Jasper; #688779] | ||||
| * Give dynamic keybindings a keybinding action [Florian; #682315] | ||||
| * Misc. fixes and cleanups [Jasper, Rui; #688777] | ||||
|  | ||||
| Contributors: | ||||
|   Alban Crequy, Rui Matos, Florian Müllner, Jasper St. Pierre | ||||
|  | ||||
| Translations: | ||||
|   Nilamdyuti Goswami [as], Piotr Drąg [pl], Yaron Shahrabani [he], | ||||
|   Dr.T.Vasudevan [ta], ManojKumar Giri [or], Shankar Prasad [kn] | ||||
|  | ||||
| 3.7.2 | ||||
| ===== | ||||
| * Fix spurious focus changes when showing desktop [Florian; #686928] | ||||
| * MetaPluginManager: don't send events to Clutter twice [Owen; #686406] | ||||
| * Add the ability to add shader hooks to MetaBackgroundActor [Giovanni; #669798] | ||||
| * Only process keyboard mapping events for the core X keyboard [Rui; #674859] | ||||
| * Import keybinding files from Metacity [Florian; #687672] | ||||
| * Add compositor hook to process keybindings selectively [Florian; #688202] | ||||
| * MetaBackgroundActor: add a setter for GLSL uniforms [Giovanni; #682536] | ||||
| * Misc. fixes and cleanups [Jasper, Rui, Florian, Rico; #688182] | ||||
|  | ||||
| Contributors: | ||||
|   Giovanni Campagna, Rui Matos, Florian Müllner, Jasper St. Pierre, | ||||
|   Owen Taylor, Rico Tzschichholz | ||||
|  | ||||
| Translations: | ||||
|   Rafael Ferreira [pt_BR], Tobias Endrigkeit [de], Yaron Shahrabani [he] | ||||
|  | ||||
| 3.7.1 | ||||
| ===== | ||||
| * screen: Ignore num-workspaces when using dynamic workspaces [Florian; #685439] | ||||
|   | ||||
							
								
								
									
										18
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								README
									
									
									
									
									
								
							| @@ -1,10 +1,16 @@ | ||||
| The original codebase named "Metacity" is not a meta-City as in an | ||||
| urban center, but rather Meta-ness as in the state of being | ||||
| meta. i.e. metacity : meta as opacity : opaque. Also it may have | ||||
| something to do with the Meta key on UNIX keyboards. | ||||
| Metacity is not a meta-City as in an urban center, but rather | ||||
| Meta-ness as in the state of being meta. i.e. metacity : meta as | ||||
| opacity : opaque. Also it may have something to do with the Meta key | ||||
| on UNIX keyboards. | ||||
|  | ||||
| Since then, it has been renamed mutter after a rebase on top of | ||||
| clutter as a compositing manager. | ||||
| The first release of Metacity was version 2.3. Metacity has no need for | ||||
| your petty hangups about version numbers. | ||||
|  | ||||
| The stable releases so far are 2.4.x, 2.6.x, 2.8.[01], 2.8.1.x, 2.8.5-, | ||||
| 2.10.x, 2.12.x, 2.14.x, 2.16.x. | ||||
|  | ||||
| Unstable branches are 2.3.x, 2.5.x, 2.8.2-4, 2.9.x, 2.11.x, 2.13.x, | ||||
| 2.15.x, 2.17.x. | ||||
|  | ||||
| COMPILING MUTTER | ||||
| === | ||||
|   | ||||
| @@ -7,7 +7,7 @@ test -z "$srcdir" && srcdir=. | ||||
| PKG_NAME="mutter" | ||||
| REQUIRED_AUTOMAKE_VERSION=1.10 | ||||
|  | ||||
| (test -f $srcdir/configure.ac \ | ||||
| (test -f $srcdir/configure.in \ | ||||
|   && test -d $srcdir/src) || { | ||||
|     echo -n "**Error**: Directory "\`$srcdir\'" does not look like the" | ||||
|     echo " top-level metacity directory" | ||||
|   | ||||
| @@ -1,8 +1,8 @@ | ||||
| AC_PREREQ(2.50) | ||||
| 
 | ||||
| m4_define([mutter_major_version], [3]) | ||||
| m4_define([mutter_minor_version], [10]) | ||||
| m4_define([mutter_micro_version], [2]) | ||||
| m4_define([mutter_minor_version], [7]) | ||||
| m4_define([mutter_micro_version], [1]) | ||||
| 
 | ||||
| m4_define([mutter_version], | ||||
|           [mutter_major_version.mutter_minor_version.mutter_micro_version]) | ||||
| @@ -12,7 +12,6 @@ m4_define([mutter_plugin_api_version], [3]) | ||||
| AC_INIT([mutter], [mutter_version], | ||||
|         [http://bugzilla.gnome.org/enter_bug.cgi?product=mutter]) | ||||
| 
 | ||||
| AC_CONFIG_MACRO_DIR([m4]) | ||||
| AC_CONFIG_SRCDIR(src/core/display.c) | ||||
| AC_CONFIG_HEADERS(config.h) | ||||
| 
 | ||||
| @@ -68,16 +67,14 @@ CANBERRA_GTK_VERSION=0.26 | ||||
| CLUTTER_PACKAGE=clutter-1.0 | ||||
| 
 | ||||
| MUTTER_PC_MODULES=" | ||||
|    gtk+-3.0 >= 3.9.11 | ||||
|    gtk+-3.0 >= 3.3.7 | ||||
|    gio-2.0 >= 2.25.10 | ||||
|    pango >= 1.2.0 | ||||
|    cairo >= 1.10.0 | ||||
|    gsettings-desktop-schemas >= 3.7.3 | ||||
|    xcomposite >= 0.2 xfixes xrender xdamage xi >= 1.6.0 | ||||
|    $CLUTTER_PACKAGE >= 1.15.90 | ||||
|    cogl-1.0 >= 1.15.6 | ||||
|    upower-glib > 0.9.11 | ||||
|    gnome-desktop-3.0 | ||||
|    gsettings-desktop-schemas >= 3.3.0 | ||||
|    xcomposite >= 0.2 xfixes xrender xdamage | ||||
|    $CLUTTER_PACKAGE >= 1.9.10 | ||||
|    cogl-1.0 >= 1.9.6 | ||||
| " | ||||
| 
 | ||||
| GLIB_GSETTINGS | ||||
| @@ -121,6 +118,9 @@ 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) | ||||
| 
 | ||||
| # Unconditionally use this dir to avoid a circular dep with gnomecc | ||||
| GNOME_KEYBINDINGS_KEYSDIR="${datadir}/gnome-control-center/keybindings" | ||||
| @@ -201,9 +201,6 @@ fi | ||||
| 
 | ||||
| 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) | ||||
| @@ -307,6 +304,9 @@ 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,7 +361,8 @@ if test "x$enable_debug" = "xyes"; then | ||||
| 	CFLAGS="$CFLAGS -g -O" | ||||
| fi | ||||
| 
 | ||||
| GTK_DOC_CHECK([1.15], [--flavour no-tmpl]) | ||||
| # For fix-meta-rectangle.py | ||||
| AM_PATH_PYTHON([2.5]) | ||||
| 
 | ||||
| #### Warnings (last since -Werror can disturb other tests) | ||||
| 
 | ||||
| @@ -433,11 +434,11 @@ 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/compositor/plugins/Makefile | ||||
| po/Makefile.in | ||||
| ]) | ||||
| @@ -1,4 +1,4 @@ | ||||
| SUBDIRS = man reference | ||||
| SUBDIRS = man | ||||
|  | ||||
| EXTRA_DIST=theme-format.txt dialogs.txt code-overview.txt \ | ||||
| 	how-to-get-focus-right.txt | ||||
|   | ||||
| @@ -1,3 +1,4 @@ | ||||
| man_MANS = mutter.1 | ||||
| man_MANS = mutter.1 mutter-theme-viewer.1 \ | ||||
| 	   mutter-window-demo.1 mutter-message.1 | ||||
|  | ||||
| EXTRA_DIST = $(man_MANS) | ||||
|   | ||||
							
								
								
									
										60
									
								
								doc/man/mutter-message.1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								doc/man/mutter-message.1
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,60 @@ | ||||
| .\"                                      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). | ||||
							
								
								
									
										43
									
								
								doc/man/mutter-theme-viewer.1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								doc/man/mutter-theme-viewer.1
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| .\" 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). | ||||
							
								
								
									
										25
									
								
								doc/man/mutter-window-demo.1
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								doc/man/mutter-window-demo.1
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| .\" 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). | ||||
| @@ -1,166 +0,0 @@ | ||||
| ## 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.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 | ||||
| @@ -1,59 +0,0 @@ | ||||
| <?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> | ||||
| @@ -1,666 +0,0 @@ | ||||
| <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> | ||||
|  | ||||
| @@ -1,15 +0,0 @@ | ||||
| <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> | ||||
| @@ -1,100 +0,0 @@ | ||||
| <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,7 +44,6 @@ is | ||||
| it | ||||
| ja | ||||
| ka | ||||
| kk | ||||
| kn | ||||
| ko | ||||
| ku | ||||
| @@ -81,7 +80,6 @@ sr@latin | ||||
| sv | ||||
| ta | ||||
| te | ||||
| tg | ||||
| th | ||||
| tk | ||||
| tr | ||||
|   | ||||
| @@ -1,10 +1,7 @@ | ||||
| # List of source files containing translatable strings. | ||||
| # Please keep this file sorted alphabetically. | ||||
| 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 | ||||
| @@ -12,7 +9,6 @@ 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 | ||||
| @@ -24,9 +20,12 @@ src/core/xprops.c | ||||
| src/mutter.desktop.in | ||||
| src/mutter-wm.desktop.in | ||||
| src/org.gnome.mutter.gschema.xml.in | ||||
| src/tools/mutter-message.c | ||||
| 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 | ||||
|  | ||||
|   | ||||
							
								
								
									
										184
									
								
								po/ast.po
									
									
									
									
									
								
							
							
						
						
									
										184
									
								
								po/ast.po
									
									
									
									
									
								
							| @@ -37,6 +37,7 @@ msgstr "Petición d'información ventana desconocida: %d" | ||||
| #. Translators: %s is a window title | ||||
| #: ../src/core/delete.c:95 | ||||
| #, c-format | ||||
| #, c-format | ||||
| msgid "<tt>%s</tt> is not responding." | ||||
| msgstr "<tt>%s</tt> nun ta respondiendo." | ||||
|  | ||||
| @@ -121,6 +122,7 @@ msgstr "Comandu de terminal nun definíu.\n" | ||||
|  | ||||
| #: ../src/core/main.c:130 | ||||
| #, c-format | ||||
| #, c-format | ||||
| msgid "" | ||||
| "mutter %s\n" | ||||
| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n" | ||||
| @@ -259,6 +261,7 @@ msgstr "Error axustando númberu d'arees de trabayu a %d: %s\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:2028 ../src/core/prefs.c:2531 | ||||
| #, c-format | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "Espaciu de Trabayu %d" | ||||
|  | ||||
| @@ -272,6 +275,7 @@ msgstr "\"%s\" atopau na base de datos de configuración nun ye un valor válidu | ||||
|  | ||||
| #: ../src/core/prefs.c:2612 | ||||
| #, c-format | ||||
| #, c-format | ||||
| msgid "Error setting name for workspace %d to \"%s\": %s\n" | ||||
| msgstr "Fallu al afitar nome pal espaciu de trabayu %d a \"%s\": %s\n" | ||||
|  | ||||
| @@ -282,16 +286,19 @@ msgstr "Fallu al afitar l'estáu del compositor: %s\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:2845 | ||||
| #, c-format | ||||
| #, c-format | ||||
| msgid "Error setting clutter plugin list: %s\n" | ||||
| msgstr "Fallu al afitar la llista desordenada de plugin: %s\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:2889 | ||||
| #, c-format | ||||
| #, c-format | ||||
| msgid "Error setting live hidden windows status status: %s\n" | ||||
| msgstr "Fallu al afitar l'estáu de les ventanes anubríes: %s\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:2917 | ||||
| #, c-format | ||||
| #, c-format | ||||
| msgid "Error setting no tab popup status: %s\n" | ||||
| msgstr "Fallu al afitar l'estáu de les llingüetes emerxentes: %s\n" | ||||
|  | ||||
| @@ -351,6 +358,7 @@ msgstr "Falló analizar ficheru de sesión guardáu: %s\n" | ||||
|  | ||||
| #: ../src/core/session.c:1198 | ||||
| #, c-format | ||||
| #, c-format | ||||
| msgid "<mutter_session> attribute seen but we already have the session ID" | ||||
| msgstr "Vióse l'atributu <mutter_session> pero yá tenemos la ID de sesión" | ||||
|  | ||||
| @@ -396,6 +404,7 @@ msgstr "Abiertu archivu log %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:139 ../src/tools/mutter-message.c:176 | ||||
| #, c-format | ||||
| #, c-format | ||||
| msgid "Mutter was compiled without support for verbose mode\n" | ||||
| msgstr "Mutter compilose ensin sofitu pal mou testu\n" | ||||
|  | ||||
| @@ -490,19 +499,19 @@ msgid "" | ||||
| msgstr "La propiedá %s del ventanu 0x%lx contien un códigu UTF-8 non válidu pal " | ||||
| "elementu %d na llista\n" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:88 ../src/50-mutter-navigation.xml.in.h:18 | ||||
| #: ../src/include/all-keybindings.h:88 | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "Cambiar a espaciu de trabayu 1" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:90 ../src/50-mutter-navigation.xml.in.h:19 | ||||
| #: ../src/include/all-keybindings.h:90 | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "Cambiar a espaciu de trabayu 2" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:92 ../src/50-mutter-navigation.xml.in.h:20 | ||||
| #: ../src/include/all-keybindings.h:92 | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "Cambiar a espaciu de trabayu 3" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:94 ../src/50-mutter-navigation.xml.in.h:21 | ||||
| #: ../src/include/all-keybindings.h:94 | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "Cambiar a espaciu de trabayu 4" | ||||
|  | ||||
| @@ -631,57 +640,47 @@ msgstr "Saca una semeya d'una ventana" | ||||
| msgid "Run a terminal" | ||||
| msgstr "Executar una terminal" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:271 ../src/50-mutter-windows.xml.in.h:1 | ||||
| #: ../src/include/all-keybindings.h:271 | ||||
| msgid "Activate the window menu" | ||||
| msgstr "Activar el menú de la ventana" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:274 ../src/50-mutter-windows.xml.in.h:13 | ||||
| #, fuzzy | ||||
| #: ../src/include/all-keybindings.h:274 | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  ast.po (metacity)  #-#-#-#-#\n" | ||||
| "Camudar a modu pantalla completa\n" | ||||
| "#-#-#-#-#  ast.po (metacity)  #-#-#-#-#\n" | ||||
| "Camudar a mou pantalla completa" | ||||
| msgstr "Camudar a modu pantalla completa" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:276 ../src/50-mutter-windows.xml.in.h:14 | ||||
| #, fuzzy | ||||
| #: ../src/include/all-keybindings.h:276 | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  ast.po (metacity)  #-#-#-#-#\n" | ||||
| "Camudar a estáu maximizáu\n" | ||||
| "#-#-#-#-#  ast.po (metacity)  #-#-#-#-#\n" | ||||
| "Conmutar l'estáu maximizáu" | ||||
| msgstr "Camudar a estáu maximizáu" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:278 | ||||
| msgid "Toggle whether a window will always be visible over other windows" | ||||
| msgstr "Conmutar si una ventana siempres se verá encima d'otres ventanes" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:280 ../src/50-mutter-windows.xml.in.h:4 | ||||
| #: ../src/include/all-keybindings.h:280 | ||||
| msgid "Maximize window" | ||||
| msgstr "Maximizar ventana" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:282 ../src/50-mutter-windows.xml.in.h:12 | ||||
| #: ../src/include/all-keybindings.h:282 | ||||
| msgid "Restore window" | ||||
| msgstr "Restaurar la ventana" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:284 ../src/50-mutter-windows.xml.in.h:15 | ||||
| #: ../src/include/all-keybindings.h:284 | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "Activa estáu endolcáu" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:286 ../src/50-mutter-windows.xml.in.h:7 | ||||
| #: ../src/include/all-keybindings.h:286 | ||||
| msgid "Minimize window" | ||||
| msgstr "Minimizar ventana" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:288 ../src/50-mutter-windows.xml.in.h:2 | ||||
| #: ../src/include/all-keybindings.h:288 | ||||
| msgid "Close window" | ||||
| msgstr "Zarrar ventana" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:290 ../src/50-mutter-windows.xml.in.h:8 | ||||
| #: ../src/include/all-keybindings.h:290 | ||||
| msgid "Move window" | ||||
| msgstr "Mover ventana" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:292 ../src/50-mutter-windows.xml.in.h:11 | ||||
| #: ../src/include/all-keybindings.h:292 | ||||
| msgid "Resize window" | ||||
| msgstr "Cambiar el tamañu la ventana" | ||||
|  | ||||
| @@ -690,22 +689,18 @@ msgid "Toggle whether window is on all workspaces or just one" | ||||
| msgstr "Conmutar si la ventana apaez en toles árees de trabayu o namái nuna" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:299 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:10 | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "Mover ventana al espaciu de trabayu 1" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:302 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:11 | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "Mover ventana al espaciu de trabayu 2" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:305 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:12 | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "Mover ventana al espaciu de trabayu 3" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:308 | ||||
| #: ../src/50-mutter-navigation.xml.in.h:13 | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "Mover ventana al espaciu de trabayu 4" | ||||
|  | ||||
| @@ -741,24 +736,19 @@ msgstr "Mover ventana al espaciu de trabayu 11" | ||||
| msgid "Move window to workspace 12" | ||||
| msgstr "Mover ventana al espaciu de trabayu 12" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:344 ../src/50-mutter-navigation.xml.in.h:7 | ||||
| #: ../src/include/all-keybindings.h:344 | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "Mover ventana un espaciu de trabayu a manzorga" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:347 ../src/50-mutter-navigation.xml.in.h:8 | ||||
| #, fuzzy | ||||
| #: ../src/include/all-keybindings.h:347 | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  ast.po (metacity)  #-#-#-#-#\n" | ||||
| "Mover ventana un espaciu de trabayu a derecha\n" | ||||
| "#-#-#-#-#  ast.po (metacity)  #-#-#-#-#\n" | ||||
| "Mover ventana un espaciu de trabayu a madrecha" | ||||
| msgstr "Mover ventana un espaciu de trabayu a derecha" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:350 ../src/50-mutter-navigation.xml.in.h:9 | ||||
| #: ../src/include/all-keybindings.h:350 | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "Mover ventana un espaciu de trabayu p'arriba" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:353 ../src/50-mutter-navigation.xml.in.h:6 | ||||
| #: ../src/include/all-keybindings.h:353 | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "Mover ventana un espaciu de trabayu p'abaxo" | ||||
|  | ||||
| @@ -767,29 +757,19 @@ msgid "Raise window if it's covered by another window, otherwise lower it" | ||||
| msgstr "" | ||||
| "Llevantar la ventana si ta cubierta por otra ventana, minimizala n'otru casu" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:358 ../src/50-mutter-windows.xml.in.h:9 | ||||
| #, fuzzy | ||||
| #: ../src/include/all-keybindings.h:358 | ||||
| msgid "Raise window above other windows" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  ast.po (metacity)  #-#-#-#-#\n" | ||||
| "Poner el ventanu en primer planu\n" | ||||
| "#-#-#-#-#  ast.po (metacity)  #-#-#-#-#\n" | ||||
| "Poner la ventana en primer planu" | ||||
| msgstr "Poner el ventanu en primer planu" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:360 ../src/50-mutter-windows.xml.in.h:3 | ||||
| #, fuzzy | ||||
| #: ../src/include/all-keybindings.h:360 | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  ast.po (metacity)  #-#-#-#-#\n" | ||||
| "Ventanu más baxu per debaxo d'otros ventanos\n" | ||||
| "#-#-#-#-#  ast.po (metacity)  #-#-#-#-#\n" | ||||
| "Ventana más baxa per debaxo d'otres ventanes" | ||||
| msgstr "Ventanu más baxu per debaxo d'otros ventanos" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:364 ../src/50-mutter-windows.xml.in.h:6 | ||||
| #: ../src/include/all-keybindings.h:364 | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "Maximizar ventana verticalmente" | ||||
|  | ||||
| #: ../src/include/all-keybindings.h:368 ../src/50-mutter-windows.xml.in.h:5 | ||||
| #: ../src/include/all-keybindings.h:368 | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "Maximizar ventana horizontalmente" | ||||
|  | ||||
| @@ -1003,6 +983,7 @@ msgstr "Espaciu de Trabayu %d%n" | ||||
|  | ||||
| #: ../src/ui/menu.c:213 | ||||
| #, c-format | ||||
| #, c-format | ||||
| msgid "Workspace 1_0" | ||||
| msgstr "Espaciu de Trabayu 1_0" | ||||
|  | ||||
| @@ -1743,6 +1724,7 @@ msgstr "Nun se permite testu dientro del elementu <%s>" | ||||
| #: ../src/ui/theme-parser.c:3748 ../src/ui/theme-parser.c:3760 | ||||
| #: ../src/ui/theme-parser.c:3772 | ||||
| #, c-format | ||||
| #, c-format | ||||
| msgid "<%s> specified twice for this theme" | ||||
| msgstr "<%s> especificáu dos vegaes pa esti tema" | ||||
|  | ||||
| @@ -1954,96 +1936,6 @@ msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "%d espresiones de coordenaes interpretaes en %g segundos (%g segundos de " | ||||
| "media)\n" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "Anubrir toles ventanes normales" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace above" | ||||
| msgstr "Mover al área de trabayu d'arriba" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace below" | ||||
| msgstr "Mover al área de trabayu d'abaxo" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:4 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace left" | ||||
| msgstr "Mover al área de trabayu de la izquierda" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:5 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace right" | ||||
| msgstr "Mover al área de trabayu de la derecha" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| #, fuzzy | ||||
| msgid "Navigation" | ||||
| msgstr "Navegación" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| #, fuzzy | ||||
| msgid "Switch applications" | ||||
| msgstr "Movese ente aplicaciones" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| #, fuzzy | ||||
| msgid "Switch system controls" | ||||
| msgstr "Cambiar ente controles del sistema" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| #, fuzzy | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "Movese ente los controles del sistema direutamente" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| #, fuzzy | ||||
| msgid "Switch windows directly" | ||||
| msgstr "Cambiar ventanes direutamente" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| #, fuzzy | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "Movese ente les ventanes d'una aplicación direutamente" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| #, fuzzy | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "Movese ente les ventanes d'una aplicación" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Show the activities overview" | ||||
| msgstr "Amosar el resume d'actividaes" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Show the run command prompt" | ||||
| msgstr "Amosar l'elementu «executar comando»" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "System" | ||||
| msgstr "Sistema" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| #, fuzzy | ||||
| msgid "Raise window if covered, otherwise lower it" | ||||
| msgstr "Llevantar la ventana si ta cubierta, minimizala n'otru casu" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| #, fuzzy | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "Conmutar la ventana en toles árees de trabayu o namái nuna" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:17 | ||||
| #, fuzzy | ||||
| msgid "Windows" | ||||
| msgstr "Ventanes" | ||||
|  | ||||
| #~ msgid "Desktop" | ||||
| #~ msgstr "Escritoriu" | ||||
|  | ||||
|   | ||||
							
								
								
									
										377
									
								
								po/bg.po
									
									
									
									
									
								
							
							
						
						
									
										377
									
								
								po/bg.po
									
									
									
									
									
								
							| @@ -1,7 +1,7 @@ | ||||
| # Bulgarian translation of mutter po-file. | ||||
| # Copyright (C) 2002, 2004, 2006, 2007, 2008 Free Software Foundation, Inc. | ||||
| # Copyright (C) 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. | ||||
| # Alexander Shopov <ash@kambanaria.org>, 2002, 2006, 2007, 2009, 2010, 2011, 2012, 2013. | ||||
| # Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc. | ||||
| # Alexander Shopov <ash@kambanaria.org>, 2002, 2006, 2007, 2009, 2010, 2011, 2012. | ||||
| # Vladimir Petkov <kaladan@gmail.com>, 2004.  | ||||
| # Rostislav Raykov <zbrox@i-space.org>, 2004. | ||||
| # Yavor Doganov <yavor@gnu.org>, 2008. | ||||
| @@ -11,8 +11,8 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: mutter master\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2013-01-12 06:33+0200\n" | ||||
| "PO-Revision-Date: 2013-01-12 06:33+0200\n" | ||||
| "POT-Creation-Date: 2012-10-14 17:31+0300\n" | ||||
| "PO-Revision-Date: 2012-10-14 17:31+0300\n" | ||||
| "Last-Translator: Alexander Shopov <ash@kambanaria.org>\n" | ||||
| "Language-Team: Bulgarian <dict@fsa-bg.org>\n" | ||||
| "Language: bg\n" | ||||
| @@ -21,197 +21,21 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\n" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| msgid "Navigation" | ||||
| msgstr "Навигация" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:2 | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "Преместване на прозореца в работен плот 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:3 | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "Преместване на прозореца в работен плот 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:4 | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "Преместване на прозореца в работен плот 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:5 | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "Преместване на прозореца в работен плот 4" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:6 | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "Преместване на прозореца един работен плот наляво" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:7 | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "Преместване на прозореца един работен плот надясно" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:8 | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "Преместване на прозореца един работен плот нагоре" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:9 | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "Преместване на прозореца един работен плот надолу" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:10 | ||||
| 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:13 | ||||
| msgid "Switch system controls" | ||||
| msgstr "Преместване на фокуса между служебните обекти" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| msgid "Switch windows directly" | ||||
| msgstr "Незабавно преместване на фокуса между прозорците" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "Незабавно преместване на фокуса между прозорците на едно приложение" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "Незабавно преместване на фокуса между служебните обекти" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "Скриване на всички обикновени прозорци" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "Превключване към работен плот 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "Превключване към работен плот 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "Превключване към работен плот 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "Превключване към работен плот 4" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| msgid "Move to workspace left" | ||||
| msgstr "Преместване на левия работен плот" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| msgid "Move to workspace right" | ||||
| msgstr "Преместване на десния работен плот" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| msgid "Move to workspace above" | ||||
| msgstr "Преместване на горния работен плот" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:25 | ||||
| msgid "Move to workspace below" | ||||
| msgstr "Преместване на долния работен плот" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| msgid "System" | ||||
| msgstr "Система" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:2 | ||||
| msgid "Show the run command prompt" | ||||
| msgstr "Показване на прозореца за стартиране на команда" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:3 | ||||
| msgid "Show the activities overview" | ||||
| msgstr "Преглед на дейностите" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| msgid "Windows" | ||||
| msgstr "Прозорци" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "Activate the window menu" | ||||
| msgstr "Задействане на менюто за прозорците" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "Превключване на режима за цял екран" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "Превключване на състоянието на максимизиране" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| msgid "Maximize window" | ||||
| msgstr "Максимизиране на прозорец" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| msgid "Restore window" | ||||
| msgstr "Възстановяване на прозорец" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "Превключване на състоянието на навиване" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| msgid "Close window" | ||||
| msgstr "Затваряне на прозореца" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Hide window" | ||||
| msgstr "Скриване на прозорец" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| msgid "Move window" | ||||
| msgstr "Преместване на прозорец" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:11 | ||||
| msgid "Resize window" | ||||
| msgstr "Оразмеряване на прозорец" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "Превключване на появата на прозореца на всички работни места" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:13 | ||||
| msgid "Raise window if covered, otherwise lower it" | ||||
| msgstr "Ако прозорецът е под друг, го издига, иначе го понижава" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:14 | ||||
| msgid "Raise window above other windows" | ||||
| msgstr "Издигане на прозореца над другите" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:15 | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "Понижаване на прозореца под другите прозорци" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "Максимизиране на прозореца вертикално" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:17 | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "Максимизиране на прозореца хоризонтално" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:18 | ||||
| msgid "View split on left" | ||||
| msgstr "Изглед разделен отляво" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:19 | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "View split on right" | ||||
| 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:492 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Another compositing manager is already running on screen %i on display \"%s" | ||||
| @@ -227,16 +51,16 @@ msgstr "Събитие за звънец" | ||||
| msgid "Unknown window information request: %d" | ||||
| msgstr "Неизвестна заявка за информация за прозорец: %d" | ||||
|  | ||||
| #: ../src/core/delete.c:111 | ||||
| #, c-format | ||||
| msgid "“%s” is not responding." | ||||
| msgstr "„%s“ не отговаря на съобщенията." | ||||
|  | ||||
| #: ../src/core/delete.c:113 | ||||
| #, c-format | ||||
| msgid "%s is not responding." | ||||
| msgstr "%s не отговаря на съобщенията." | ||||
|  | ||||
| #: ../src/core/delete.c:117 | ||||
| msgid "Application is not responding." | ||||
| msgstr "Програмата не отговаря на съобщенията." | ||||
|  | ||||
| #: ../src/core/delete.c:118 | ||||
| #: ../src/core/delete.c:122 | ||||
| msgid "" | ||||
| "You may choose to wait a short while for it to continue or force the " | ||||
| "application to quit entirely." | ||||
| @@ -244,25 +68,25 @@ msgstr "" | ||||
| "Можете да изчакате малко преди изрично да накарате приложението да спре " | ||||
| "работата си." | ||||
|  | ||||
| #: ../src/core/delete.c:125 | ||||
| #: ../src/core/delete.c:129 | ||||
| msgid "_Wait" | ||||
| msgstr "Из_чакване" | ||||
|  | ||||
| #: ../src/core/delete.c:125 | ||||
| #: ../src/core/delete.c:129 | ||||
| msgid "_Force Quit" | ||||
| msgstr "_Принудително спиране" | ||||
|  | ||||
| #: ../src/core/display.c:394 | ||||
| #: ../src/core/display.c:396 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "Липсва разширението „%s“, необходимо за наслагване" | ||||
|  | ||||
| #: ../src/core/display.c:491 | ||||
| #: ../src/core/display.c:492 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "Неуспех при отварянето на дисплея на X Window „%s“\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:876 | ||||
| #: ../src/core/keybindings.c:853 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| @@ -332,7 +156,7 @@ msgstr "Отпечатване на версията на програмата" | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "Приставка, която да се ползва" | ||||
|  | ||||
| #: ../src/core/prefs.c:1087 | ||||
| #: ../src/core/prefs.c:1079 | ||||
| msgid "" | ||||
| "Workarounds for broken applications disabled. Some applications may not " | ||||
| "behave properly.\n" | ||||
| @@ -340,14 +164,14 @@ msgstr "" | ||||
| "Триковете за развалените програми са изключени. Някои програми могат да са с " | ||||
| "неправилно поведение.\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1162 | ||||
| #: ../src/core/prefs.c:1154 | ||||
| #, c-format | ||||
| msgid "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
| msgstr "" | ||||
| "Описанието на шрифт „%s“ от ключа на GSettings — %s, не може да бъде " | ||||
| "анализирано\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1228 | ||||
| #: ../src/core/prefs.c:1220 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for mouse button " | ||||
| @@ -356,7 +180,7 @@ msgstr "" | ||||
| "„%s“, който е открит в базата от данни с настройките, не е валиден " | ||||
| "модификатор на бутон на мишката\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1780 | ||||
| #: ../src/core/prefs.c:1747 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| @@ -365,17 +189,17 @@ msgstr "" | ||||
| "Низът „%s“ открит в базата от данни с настройки е невалиден за стойност на " | ||||
| "клавишната комбинация „%s“\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1877 | ||||
| #: ../src/core/prefs.c:1844 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "Работен плот %d" | ||||
|  | ||||
| #: ../src/core/screen.c:658 | ||||
| #: ../src/core/screen.c:652 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "Екранът %d на дисплей „%s“ е невалиден\n" | ||||
|  | ||||
| #: ../src/core/screen.c:674 | ||||
| #: ../src/core/screen.c:668 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -384,7 +208,7 @@ msgstr "" | ||||
| "Екранът %d на дисплей „%s“ вече има мениджър на прозорци; пробвайте да го " | ||||
| "замените с опцията --replace.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:701 | ||||
| #: ../src/core/screen.c:695 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| @@ -392,12 +216,12 @@ msgstr "" | ||||
| "Неуспех при получаването на избрания мениджър за прозорци на екран %d, " | ||||
| "дисплей „%s“\n" | ||||
|  | ||||
| #: ../src/core/screen.c:770 | ||||
| #: ../src/core/screen.c:750 | ||||
| #, 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:935 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "Неуспех при отстъпването на екран %d на дисплей „%s“\n" | ||||
| @@ -495,7 +319,7 @@ msgid "Window manager error: " | ||||
| msgstr "Грешка от мениджъра на прозорци: " | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7279 | ||||
| #: ../src/core/window.c:7237 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -511,7 +335,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:7902 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| @@ -618,7 +442,7 @@ msgstr "" | ||||
| "Ако е включено, прозорците ще се максимизират по вертикала и ще заемат " | ||||
| "половината площ по хоризонтала при поставянето им край вертикалните граници " | ||||
| "на екрана. При поставянето им край горната граница прозорците ще се " | ||||
| "максимизират изцяло." | ||||
| "максимзират изцяло." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| @@ -685,23 +509,10 @@ 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, monitor nearly monitor sized windows automatically get maximized " | ||||
| "when mapped." | ||||
| 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 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "Без изскачащ прозорец при обхождане" | ||||
|  | ||||
| @@ -909,48 +720,48 @@ msgstr "Mod5" | ||||
| msgid "%d x %d" | ||||
| msgstr "%d×%d" | ||||
|  | ||||
| #: ../src/ui/theme.c:235 | ||||
| #: ../src/ui/theme.c:234 | ||||
| msgid "top" | ||||
| msgstr "горния" | ||||
|  | ||||
| #: ../src/ui/theme.c:237 | ||||
| #: ../src/ui/theme.c:236 | ||||
| msgid "bottom" | ||||
| msgstr "долния" | ||||
|  | ||||
| #: ../src/ui/theme.c:239 | ||||
| #: ../src/ui/theme.c:238 | ||||
| msgid "left" | ||||
| msgstr "левия" | ||||
|  | ||||
| #: ../src/ui/theme.c:241 | ||||
| #: ../src/ui/theme.c:240 | ||||
| msgid "right" | ||||
| msgstr "десния" | ||||
|  | ||||
| #: ../src/ui/theme.c:269 | ||||
| #: ../src/ui/theme.c:268 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "геометрията на рамката не указва „%s“ размер" | ||||
|  | ||||
| #: ../src/ui/theme.c:288 | ||||
| #: ../src/ui/theme.c:287 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "геометрията на рамката не указва „%s“ размер на „%s“ ръб" | ||||
|  | ||||
| #: ../src/ui/theme.c:325 | ||||
| #: ../src/ui/theme.c:324 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "Отношението на размерите на бутона %g е неподходящо" | ||||
|  | ||||
| #: ../src/ui/theme.c:337 | ||||
| #: ../src/ui/theme.c:336 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "Геометрията на рамката не указва размера на бутоните" | ||||
|  | ||||
| #: ../src/ui/theme.c:1050 | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "Преливките трябва да имат поне два цвята" | ||||
|  | ||||
| #: ../src/ui/theme.c:1202 | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| @@ -959,7 +770,7 @@ msgstr "" | ||||
| "Цветовата спецификация на GTK трябва да съдържа в скоби име на основен и " | ||||
| "резервен цвят: напр. gtk:custom(foo,bar). Неуспех при анализа на „%s“" | ||||
|  | ||||
| #: ../src/ui/theme.c:1218 | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| @@ -968,7 +779,7 @@ msgstr "" | ||||
| "Неправилен знак „%c“ в параметъра за име на цвят (color_name) на gtk:custom. " | ||||
| "Позволени са само A-Za-z0-9-_." | ||||
|  | ||||
| #: ../src/ui/theme.c:1232 | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| @@ -977,7 +788,7 @@ msgstr "" | ||||
| "Форматът на Gtk:custom е „gtk:custom(основен_цвят,резервен_цвят)“, „%s“ не " | ||||
| "съответства на формата" | ||||
|  | ||||
| #: ../src/ui/theme.c:1277 | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| @@ -987,7 +798,7 @@ msgstr "" | ||||
| "скоби, напр. gtk:fg[NORMAL], където NORMAL е състоянието. Неуспех при " | ||||
| "анализира „%s“" | ||||
|  | ||||
| #: ../src/ui/theme.c:1291 | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| @@ -997,17 +808,17 @@ msgstr "" | ||||
| "състоянието, напр. gtk:fg[NORMAL], където NORMAL е състоянието. Неуспех при " | ||||
| "анализа на „%s“" | ||||
|  | ||||
| #: ../src/ui/theme.c:1302 | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "Неуспех при анализа на състоянието „%s“ в цветовата спецификация" | ||||
|  | ||||
| #: ../src/ui/theme.c:1315 | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "Неуспех при анализа на цветови компонент „%s“ в цветовата спецификация" | ||||
|  | ||||
| #: ../src/ui/theme.c:1344 | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| @@ -1016,17 +827,17 @@ msgstr "" | ||||
| "Форматът на смесването е „blend/bg_color/fg_color/alpha“, „%s“ не се " | ||||
| "подчинява на формата" | ||||
|  | ||||
| #: ../src/ui/theme.c:1355 | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "Неуспех при анализира на алфа стойността „%s“ в смесения цвят" | ||||
|  | ||||
| #: ../src/ui/theme.c:1365 | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #, 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:1412 | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| @@ -1034,27 +845,27 @@ msgstr "" | ||||
| "Форматът на навиването е „shade/base_color/factor“, „%s“ не съответства на " | ||||
| "формата" | ||||
|  | ||||
| #: ../src/ui/theme.c:1423 | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "Неуспех при анализа на фактора на навиването „%s“ в цвета за навиване" | ||||
|  | ||||
| #: ../src/ui/theme.c:1433 | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "Факторът на навиване „%s“ в цвета за сянката е отрицателен" | ||||
|  | ||||
| #: ../src/ui/theme.c:1462 | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "Неуспех при анализа на цвета „%s“" | ||||
|  | ||||
| #: ../src/ui/theme.c:1779 | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "Изразът за координати съдържа символа „%s“, който не е позволен" | ||||
|  | ||||
| #: ../src/ui/theme.c:1806 | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| @@ -1063,14 +874,14 @@ msgstr "" | ||||
| "Изразът за координати съдържа числото с плаваща запетая „%s“, което не може " | ||||
| "да бъде анализирано" | ||||
|  | ||||
| #: ../src/ui/theme.c:1820 | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "" | ||||
| "Изразът за координати съдържа цялото число „%s“, което не може да бъде " | ||||
| "анализирано" | ||||
|  | ||||
| #: ../src/ui/theme.c:1941 | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| @@ -1079,24 +890,24 @@ msgstr "" | ||||
| "Изразът за координати съдържа непознат оператор в началото на този текст: " | ||||
| "„%s“" | ||||
|  | ||||
| #: ../src/ui/theme.c:1998 | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "Изразът за координати бе празен или не бе разбран" | ||||
|  | ||||
| #: ../src/ui/theme.c:2111 ../src/ui/theme.c:2121 ../src/ui/theme.c:2155 | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "Изразът за координати дава деление на нула" | ||||
|  | ||||
| #: ../src/ui/theme.c:2163 | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| msgstr "" | ||||
| "Изразът за координати използва оператора mod върху число с плаваща запетая" | ||||
|  | ||||
| #: ../src/ui/theme.c:2219 | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| @@ -1104,18 +915,18 @@ msgstr "" | ||||
| "Изразът за координати използва оператора „%s“ на място, където се очаква " | ||||
| "операнд" | ||||
|  | ||||
| #: ../src/ui/theme.c:2228 | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "" | ||||
| "Изразът за координати използва оператор на място, където се очаква операнд" | ||||
|  | ||||
| #: ../src/ui/theme.c:2236 | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "Изразът за координати завършва с оператор вместо с операнд" | ||||
|  | ||||
| #: ../src/ui/theme.c:2246 | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| @@ -1124,38 +935,38 @@ msgstr "" | ||||
| "Изразът за координати използва оператора „%c“ след „%c“ без да има операнд " | ||||
| "между тях" | ||||
|  | ||||
| #: ../src/ui/theme.c:2397 ../src/ui/theme.c:2442 | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "" | ||||
| "Изразът за координати използва непознатата променлива или константа „%s“" | ||||
|  | ||||
| #: ../src/ui/theme.c:2496 | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "Анализаторът на изрази за координати препълни буфера си." | ||||
|  | ||||
| #: ../src/ui/theme.c:2525 | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "В израза за координати има затваряща скоба без съответна отваряща" | ||||
|  | ||||
| #: ../src/ui/theme.c:2589 | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "В изразът за координати има отваряща скоба без съответна затваряща" | ||||
|  | ||||
| #: ../src/ui/theme.c:2600 | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "Изразът за координати не съдържа нито оператори, нито операнди" | ||||
|  | ||||
| #: ../src/ui/theme.c:2813 ../src/ui/theme.c:2833 ../src/ui/theme.c:2853 | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "Темата съдържа израз, който даде грешка: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4499 | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| @@ -1164,25 +975,25 @@ msgstr "" | ||||
| "За този стил на рамката трябва да се укаже <button function=\"%s\" state=\"%s" | ||||
| "\" draw_ops=\"нещо си\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5010 ../src/ui/theme.c:5035 | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "" | ||||
| "Липсва <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"нещо си\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5083 | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "Неуспех при зареждането на темата „%s“: %s\n" | ||||
|  | ||||
| #: ../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 | ||||
| #: ../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 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "Не е даден елементът <%s> за темата „%s“" | ||||
|  | ||||
| #: ../src/ui/theme.c:5255 | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| @@ -1191,7 +1002,7 @@ msgstr "" | ||||
| "Няма указан стил на рамката за „%s“ прозорците в тема „%s“. Добавете елемент " | ||||
| "<window type=\"%s\" style_set=\"нещо си\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5662 ../src/ui/theme.c:5724 ../src/ui/theme.c:5787 | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| @@ -1199,7 +1010,7 @@ msgstr "" | ||||
| "Константите определени от потребителя трябва да започват с главна буква, а " | ||||
| "„%s“ не започва така" | ||||
|  | ||||
| #: ../src/ui/theme.c:5670 ../src/ui/theme.c:5732 ../src/ui/theme.c:5795 | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "Константата „%s“ вече е дефинирана" | ||||
| @@ -1709,31 +1520,31 @@ msgstr "Грешка при зареждането на темата: %s\n" | ||||
| msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| msgstr "Темата „%s“ е заредена за %g секунди\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:871 | ||||
| #: ../src/ui/theme-viewer.c:870 | ||||
| msgid "Normal Title Font" | ||||
| msgstr "Нормален шрифт на заглавието" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:877 | ||||
| #: ../src/ui/theme-viewer.c:876 | ||||
| msgid "Small Title Font" | ||||
| msgstr "Малък шрифт на заглавието" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:883 | ||||
| #: ../src/ui/theme-viewer.c:882 | ||||
| msgid "Large Title Font" | ||||
| msgstr "Голям шрифт на заглавието" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:888 | ||||
| #: ../src/ui/theme-viewer.c:887 | ||||
| msgid "Button Layouts" | ||||
| msgstr "Изглед на бутоните" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:893 | ||||
| #: ../src/ui/theme-viewer.c:892 | ||||
| msgid "Benchmark" | ||||
| msgstr "Статистика" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:949 | ||||
| #: ../src/ui/theme-viewer.c:944 | ||||
| msgid "Window Title Goes Here" | ||||
| msgstr "Тук се поставя заглавието на прозорците" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1055 | ||||
| #: ../src/ui/theme-viewer.c:1047 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g " | ||||
| @@ -1744,43 +1555,43 @@ msgstr "" | ||||
| "на кадър) и %g секунди нормално време, което включва ресурси от страна на " | ||||
| "сървъра X (по %g милисекунди на кадър)\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1275 | ||||
| #: ../src/ui/theme-viewer.c:1266 | ||||
| msgid "position expression test returned TRUE but set error" | ||||
| msgstr "" | ||||
| "изразът за проверка на разположението върна TRUE, но зададе състояние за " | ||||
| "грешка" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1277 | ||||
| #: ../src/ui/theme-viewer.c:1268 | ||||
| msgid "position expression test returned FALSE but didn't set error" | ||||
| msgstr "" | ||||
| "изразът за проверка на разположението върна FALSE, но не зададе състояние за " | ||||
| "грешка" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1281 | ||||
| #: ../src/ui/theme-viewer.c:1272 | ||||
| msgid "Error was expected but none given" | ||||
| msgstr "Очакваше се грешка, но не беше дадена никаква" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1283 | ||||
| #: ../src/ui/theme-viewer.c:1274 | ||||
| #, c-format | ||||
| msgid "Error %d was expected but %d given" | ||||
| msgstr "Очакваше се грешка %d, но беше дадена %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1289 | ||||
| #: ../src/ui/theme-viewer.c:1280 | ||||
| #, c-format | ||||
| msgid "Error not expected but one was returned: %s" | ||||
| msgstr "Не се очакваше грешка, но беше върната една: %s" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1293 | ||||
| #: ../src/ui/theme-viewer.c:1284 | ||||
| #, c-format | ||||
| msgid "x value was %d, %d was expected" | ||||
| msgstr "стойността на x бе %d, а се очакваше %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1296 | ||||
| #: ../src/ui/theme-viewer.c:1287 | ||||
| #, c-format | ||||
| msgid "y value was %d, %d was expected" | ||||
| msgstr "стойността y бе %d, а се очакваше %d" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1361 | ||||
| #: ../src/ui/theme-viewer.c:1352 | ||||
| #, c-format | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "%d координатен израз обработен за %g секунди (%g секунди средно)\n" | ||||
|   | ||||
							
								
								
									
										3130
									
								
								po/ca@valencia.po
									
									
									
									
									
								
							
							
						
						
									
										3130
									
								
								po/ca@valencia.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										533
									
								
								po/en_GB.po
									
									
									
									
									
								
							
							
						
						
									
										533
									
								
								po/en_GB.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										313
									
								
								po/eo.po
									
									
									
									
									
								
							
							
						
						
									
										313
									
								
								po/eo.po
									
									
									
									
									
								
							| @@ -1493,260 +1493,17 @@ msgstr "Y-valoro estis %d, %d estis atendita" | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "Ŝalti al laborspaco 1" | ||||
| #~ msgid "Switch to workspace 1" | ||||
| #~ msgstr "Ŝalti al laborspaco 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "Ŝalti al laborspaco 2" | ||||
| #~ msgid "Switch to workspace 2" | ||||
| #~ msgstr "Ŝalti al laborspaco 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "Ŝalti al laborspaco 3" | ||||
| #~ msgid "Switch to workspace 3" | ||||
| #~ msgstr "Ŝalti al laborspaco 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "Ŝalti al laborspaco 4" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Activate the window menu" | ||||
| msgstr "Aktivigi la fenestromenuon" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "Baskuligi tutekranan reĝimon" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| #, fuzzy | ||||
| msgid "Maximize window" | ||||
| msgstr "Maksimumigi la fenestron" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| #, fuzzy | ||||
| msgid "Restore window" | ||||
| msgstr "Restaŭri fenestron" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| #, fuzzy | ||||
| msgid "Minimize window" | ||||
| msgstr "Minimumigi fenestron" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| #, fuzzy | ||||
| msgid "Close window" | ||||
| msgstr "Fermi la fenestron" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| #, fuzzy | ||||
| msgid "Move window" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi la fenestron\n" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi fenestron" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:11 | ||||
| #, fuzzy | ||||
| msgid "Resize window" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Ŝanĝi la fenestrograndon\n" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Ŝanĝi fenestrograndon" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi la fenestron al laborspaco 1\n" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi fenestron al laborspaco 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi la fenestron al laborspaco 2\n" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi fenestron al laborspaco 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:4 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi la fenestron al laborspaco 3\n" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi fenestron al laborspaco 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:5 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi la fenestron al laborspaco 4\n" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi fenestron al laborspaco 4" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:6 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi la fenestron al la maldekstra laborspaco\n" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi fenestron al la maldekstra laborspaco" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:7 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi la fenestron al la dekstra laborspaco\n" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi fenestron al la dekstra laborspaco" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:8 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi la fenestron al la supra laborspaco\n" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi fenestron al la supra laborspaco" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:9 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi la fenestron al la suba laborspaco\n" | ||||
| "#-#-#-#-#  eo.po (mutter)  #-#-#-#-#\n" | ||||
| "Movi fenestron al la suba laborspaco" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| #, fuzzy | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "Vertikale maksimumigi la fenestron" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:17 | ||||
| #, fuzzy | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "Horizontale maksimumigi la fenestron" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Navigation" | ||||
| msgstr "Navigado" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:10 | ||||
| #, fuzzy | ||||
| msgid "Switch applications" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:11 | ||||
| #, fuzzy | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "Ŝalti fenestrojn de aplikaĵo" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:12 | ||||
| #, fuzzy | ||||
| msgid "Switch system controls" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:13 | ||||
| #, fuzzy | ||||
| msgid "Switch windows directly" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| #, fuzzy | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| #, fuzzy | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| #, fuzzy | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "Kaŝi ĉiujn normalajn fenestrojn" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace left" | ||||
| msgstr "Movi al la maldekstra laborspaco" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace right" | ||||
| msgstr "Movi al la dekstra laborspaco" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace above" | ||||
| msgstr "Movi al la supra laborspaco" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace below" | ||||
| msgstr "Movi al la malsupra laborspaco" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "System" | ||||
| msgstr "Sistemo" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Show the run command prompt" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "Show the activities overview" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| #, fuzzy | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| #, fuzzy | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| #, fuzzy | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:13 | ||||
| #, fuzzy | ||||
| msgid "Raise window if covered, otherwise lower it" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:14 | ||||
| #, fuzzy | ||||
| msgid "Raise window above other windows" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:15 | ||||
| #, fuzzy | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "" | ||||
| #~ msgid "Switch to workspace 4" | ||||
| #~ msgstr "Ŝalti al laborspaco 4" | ||||
|  | ||||
| #~ msgid "Switch to workspace 5" | ||||
| #~ msgstr "Ŝalti al laborspaco 5" | ||||
| @@ -1841,6 +1598,42 @@ msgstr "" | ||||
| #~ msgid "Run a terminal" | ||||
| #~ msgstr "Ruli terminalon" | ||||
|  | ||||
| #~ msgid "Activate the window menu" | ||||
| #~ msgstr "Aktivigi la fenestromenuon" | ||||
|  | ||||
| #~ msgid "Toggle fullscreen mode" | ||||
| #~ msgstr "Baskuligi tutekranan reĝimon" | ||||
|  | ||||
| #~ msgid "Maximize window" | ||||
| #~ msgstr "Maksimumigi la fenestron" | ||||
|  | ||||
| #~ msgid "Restore window" | ||||
| #~ msgstr "Restaŭri fenestron" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "Minimumigi fenestron" | ||||
|  | ||||
| #~ msgid "Close window" | ||||
| #~ msgstr "Fermi la fenestron" | ||||
|  | ||||
| #~ msgid "Move window" | ||||
| #~ msgstr "Movi la fenestron" | ||||
|  | ||||
| #~ msgid "Resize window" | ||||
| #~ msgstr "Ŝanĝi la fenestrograndon" | ||||
|  | ||||
| #~ msgid "Move window to workspace 1" | ||||
| #~ msgstr "Movi la fenestron al laborspaco 1" | ||||
|  | ||||
| #~ msgid "Move window to workspace 2" | ||||
| #~ msgstr "Movi la fenestron al laborspaco 2" | ||||
|  | ||||
| #~ msgid "Move window to workspace 3" | ||||
| #~ msgstr "Movi la fenestron al laborspaco 3" | ||||
|  | ||||
| #~ msgid "Move window to workspace 4" | ||||
| #~ msgstr "Movi la fenestron al laborspaco 4" | ||||
|  | ||||
| #~ msgid "Move window to workspace 5" | ||||
| #~ msgstr "Movi la fenestron al laborspaco 5" | ||||
|  | ||||
| @@ -1865,6 +1658,24 @@ msgstr "" | ||||
| #~ msgid "Move window to workspace 12" | ||||
| #~ msgstr "Movi la fenestron al laborspaco 12" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the left" | ||||
| #~ msgstr "Movi la fenestron al la maldekstra laborspaco" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the right" | ||||
| #~ msgstr "Movi la fenestron al la dekstra laborspaco" | ||||
|  | ||||
| #~ msgid "Move window one workspace up" | ||||
| #~ msgstr "Movi la fenestron al la supra laborspaco" | ||||
|  | ||||
| #~ msgid "Move window one workspace down" | ||||
| #~ msgstr "Movi la fenestron al la suba laborspaco" | ||||
|  | ||||
| #~ msgid "Maximize window vertically" | ||||
| #~ msgstr "Vertikale maksimumigi la fenestron" | ||||
|  | ||||
| #~ msgid "Maximize window horizontally" | ||||
| #~ msgstr "Horizontale maksimumigi la fenestron" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "There was an error running <tt>%s</tt>:\n" | ||||
| #~ "\n" | ||||
|   | ||||
							
								
								
									
										385
									
								
								po/et.po
									
									
									
									
									
								
							
							
						
						
									
										385
									
								
								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, 2013. | ||||
| # Mattias Põldaru <mahfiaz@gmail.com>, 2008–2011, 2012. | ||||
| # | ||||
| 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: 2013-09-10 15:25+0000\n" | ||||
| "PO-Revision-Date: 2013-09-11 23:20+0300\n" | ||||
| "POT-Creation-Date: 2012-10-17 20:44+0000\n" | ||||
| "PO-Revision-Date: 2012-10-21 20:48+0300\n" | ||||
| "Last-Translator: Mattias Põldaru <mahfiaz@gmail.com>\n" | ||||
| "Language-Team: Estonian <>\n" | ||||
| "Language: et\n" | ||||
| @@ -23,143 +23,10 @@ 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" | ||||
|  | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "Akna liigutamine 1. tööalale" | ||||
|  | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "Akna liigutamine 2. tööalale" | ||||
|  | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "Akna liigutamine 3. tööalale" | ||||
|  | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "Akna liigutamine 4. tööalale" | ||||
|  | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "Akna tõstmine vasakpoolsele tööalale" | ||||
|  | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "Akna tõstmine parempoolsele tööalale" | ||||
|  | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "Akna tõstmine ülemisele tööalale" | ||||
|  | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "Akna tõstmine alumisele tööalale" | ||||
|  | ||||
| msgid "Switch applications" | ||||
| msgstr "Rakenduste vahetamine" | ||||
|  | ||||
| msgid "Switch windows" | ||||
| msgstr "Akende vahetamine" | ||||
|  | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "Rakenduse akende vahetamine" | ||||
|  | ||||
| msgid "Switch system controls" | ||||
| msgstr "Süsteemi juhtalade vahetamine" | ||||
|  | ||||
| msgid "Switch windows directly" | ||||
| msgstr "Akende kohene vahetamine" | ||||
|  | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "Rakenduse akende kohene vahetamine" | ||||
|  | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "Süsteemi juhtalade kohene vahetamine" | ||||
|  | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "Kõigi tavaliste akende peitmine" | ||||
|  | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "1. tööalale liikumine" | ||||
|  | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "2. tööalale liikumine" | ||||
|  | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "3. tööalale liikumine" | ||||
|  | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "4. tööalale liikumine" | ||||
|  | ||||
| msgid "Move to workspace left" | ||||
| msgstr "Vasakpoolsele tööalale liikumine" | ||||
|  | ||||
| msgid "Move to workspace right" | ||||
| msgstr "Parempoolsele tööalale liikumine" | ||||
|  | ||||
| msgid "Move to workspace above" | ||||
| msgstr "Ülemisele tööalale liikumine" | ||||
|  | ||||
| msgid "Move to workspace below" | ||||
| msgstr "Alumisele tööalale liikumine" | ||||
|  | ||||
| msgid "System" | ||||
| msgstr "Süsteem" | ||||
|  | ||||
| msgid "Show the run command prompt" | ||||
| msgstr "Käsuviiba kuvamine" | ||||
|  | ||||
| msgid "Show the activities overview" | ||||
| msgstr "Tegevuste ülevaate avamine" | ||||
|  | ||||
| msgid "Windows" | ||||
| msgstr "Aknad" | ||||
|  | ||||
| msgid "Activate the window menu" | ||||
| msgstr "Aknamenüü avamine" | ||||
|  | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "Täisekraanoleku vahetamine" | ||||
|  | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "Maksimeeritud oleku vahetamine" | ||||
|  | ||||
| msgid "Maximize window" | ||||
| msgstr "Akna maksimeerimine" | ||||
|  | ||||
| msgid "Restore window" | ||||
| msgstr "Akna taastamine" | ||||
|  | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "Varjatud oleku vahetamine" | ||||
|  | ||||
| msgid "Close window" | ||||
| msgstr "Akna sulgemine" | ||||
|  | ||||
| msgid "Hide window" | ||||
| msgstr "Peida aken" | ||||
|  | ||||
| msgid "Move window" | ||||
| msgstr "Akna liigutamine" | ||||
|  | ||||
| msgid "Resize window" | ||||
| msgstr "Akna suuruse muutmine" | ||||
|  | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "Akna kõigil või ühel tööalal olemise vahetamine" | ||||
|  | ||||
| msgid "Raise window if covered, otherwise lower it" | ||||
| msgstr "Akna tõstmine, kui see on kaetud, muul juhul langetamine" | ||||
|  | ||||
| msgid "Raise window above other windows" | ||||
| msgstr "Akna tõstmine teiste kohale" | ||||
|  | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "Akna langetamine teiste taha" | ||||
|  | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "Akna vertikaalne maksimeerimine" | ||||
|  | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "Akna horisontaalne maksimeerimine" | ||||
|  | ||||
| msgid "View split on left" | ||||
| msgstr "Vaade poolitatakse vasakult" | ||||
|  | ||||
| @@ -174,9 +41,6 @@ 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" | ||||
|  | ||||
| @@ -218,10 +82,6 @@ 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" | ||||
|  | ||||
| @@ -250,17 +110,6 @@ 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" | ||||
| @@ -393,6 +242,7 @@ 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" | ||||
|  | ||||
| @@ -567,22 +417,16 @@ 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" | ||||
| @@ -1288,151 +1132,156 @@ 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 "Usage: %s\n" | ||||
| #~ msgstr "Kasutamine: %s\n" | ||||
| msgid "_Windows" | ||||
| msgstr "_Aknad" | ||||
|  | ||||
| #~ msgid "_Windows" | ||||
| #~ msgstr "_Aknad" | ||||
| msgid "_Dialog" | ||||
| msgstr "_Dialoog" | ||||
|  | ||||
| #~ msgid "_Dialog" | ||||
| #~ msgstr "_Dialoog" | ||||
| msgid "_Modal dialog" | ||||
| msgstr "_Modaaldialoog" | ||||
|  | ||||
| #~ msgid "_Modal dialog" | ||||
| #~ msgstr "_Modaaldialoog" | ||||
| msgid "_Utility" | ||||
| msgstr "_Utiliit" | ||||
|  | ||||
| #~ msgid "_Utility" | ||||
| #~ msgstr "_Utiliit" | ||||
| msgid "_Splashscreen" | ||||
| msgstr "_Käivitusekraan" | ||||
|  | ||||
| #~ msgid "_Splashscreen" | ||||
| #~ msgstr "_Käivitusekraan" | ||||
| msgid "_Top dock" | ||||
| msgstr "Ü_lemine dokk" | ||||
|  | ||||
| #~ msgid "_Top dock" | ||||
| #~ msgstr "Ü_lemine dokk" | ||||
| msgid "_Bottom dock" | ||||
| msgstr "_Alumine dokk" | ||||
|  | ||||
| #~ msgid "_Bottom dock" | ||||
| #~ msgstr "_Alumine dokk" | ||||
| msgid "_Left dock" | ||||
| msgstr "_Vasak dokk" | ||||
|  | ||||
| #~ msgid "_Left dock" | ||||
| #~ msgstr "_Vasak dokk" | ||||
| msgid "_Right dock" | ||||
| msgstr "_Parem dokk" | ||||
|  | ||||
| #~ msgid "_Right dock" | ||||
| #~ msgstr "_Parem dokk" | ||||
| msgid "_All docks" | ||||
| msgstr "_Kõik dokid" | ||||
|  | ||||
| #~ msgid "_All docks" | ||||
| #~ msgstr "_Kõik dokid" | ||||
| msgid "Des_ktop" | ||||
| msgstr "_Töölaud" | ||||
|  | ||||
| #~ msgid "Des_ktop" | ||||
| #~ msgstr "_Töölaud" | ||||
| msgid "Open another one of these windows" | ||||
| msgstr "Ava neist akendest järgmine" | ||||
|  | ||||
| #~ msgid "Open another one of these windows" | ||||
| #~ msgstr "Ava neist akendest järgmine" | ||||
| msgid "This is a demo button with an 'open' icon" | ||||
| msgstr "See on näidisnupp koos 'ava' ikooniga" | ||||
|  | ||||
| #~ msgid "This is a demo button with an 'open' icon" | ||||
| #~ msgstr "See on näidisnupp koos 'ava' ikooniga" | ||||
| 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 a 'quit' icon" | ||||
| #~ msgstr "See on näidisnupp koos 'lõpeta' ikooniga" | ||||
| msgid "This is a sample message in a sample dialog" | ||||
| msgstr "See on näidisteade näidisdialoogis" | ||||
|  | ||||
| #~ msgid "This is a sample message in a sample dialog" | ||||
| #~ msgstr "See on näidisteade näidisdialoogis" | ||||
| #, c-format | ||||
| msgid "Fake menu item %d\n" | ||||
| msgstr "Võltsitud menüüpunkt %d\n" | ||||
|  | ||||
| #~ msgid "Fake menu item %d\n" | ||||
| #~ msgstr "Võltsitud menüüpunkt %d\n" | ||||
| msgid "Border-only window" | ||||
| msgstr "Ainult raamiga aken" | ||||
|  | ||||
| #~ msgid "Border-only window" | ||||
| #~ msgstr "Ainult raamiga aken" | ||||
| msgid "Bar" | ||||
| msgstr "Riba" | ||||
|  | ||||
| #~ msgid "Bar" | ||||
| #~ msgstr "Riba" | ||||
| msgid "Normal Application Window" | ||||
| msgstr "Tavaline rakenduseaken" | ||||
|  | ||||
| #~ msgid "Normal Application Window" | ||||
| #~ msgstr "Tavaline rakenduseaken" | ||||
| msgid "Dialog Box" | ||||
| msgstr "Dialoogikast" | ||||
|  | ||||
| #~ msgid "Dialog Box" | ||||
| #~ msgstr "Dialoogikast" | ||||
| msgid "Modal Dialog Box" | ||||
| msgstr "Modaalne dialoogikast" | ||||
|  | ||||
| #~ msgid "Modal Dialog Box" | ||||
| #~ msgstr "Modaalne dialoogikast" | ||||
| msgid "Utility Palette" | ||||
| msgstr "Rakendite palett" | ||||
|  | ||||
| #~ msgid "Utility Palette" | ||||
| #~ msgstr "Rakendite palett" | ||||
| msgid "Torn-off Menu" | ||||
| msgstr "Ärarebitav menüü" | ||||
|  | ||||
| #~ msgid "Torn-off Menu" | ||||
| #~ msgstr "Ärarebitav menüü" | ||||
| msgid "Border" | ||||
| msgstr "Raam" | ||||
|  | ||||
| #~ msgid "Border" | ||||
| #~ msgstr "Raam" | ||||
| msgid "Attached Modal Dialog" | ||||
| msgstr "Kinnistatud modaaldialoog" | ||||
|  | ||||
| #~ msgid "Attached Modal Dialog" | ||||
| #~ msgstr "Kinnistatud modaaldialoog" | ||||
| #, c-format | ||||
| msgid "Button layout test %d" | ||||
| msgstr "Nuppude paigutuse test %d" | ||||
|  | ||||
| #~ msgid "Button layout test %d" | ||||
| #~ msgstr "Nuppude paigutuse test %d" | ||||
| #, c-format | ||||
| msgid "%g milliseconds to draw one window frame" | ||||
| msgstr "%g millisekundit kulub ühe akna raami joonistamiseks" | ||||
|  | ||||
| #~ msgid "%g milliseconds to draw one window frame" | ||||
| #~ msgstr "%g millisekundit kulub ühe akna raami joonistamiseks" | ||||
| #, c-format | ||||
| msgid "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
| msgstr "Kasutamine: metacity-theme-viewer [TEEMANIMI]\n" | ||||
|  | ||||
| #~ msgid "Usage: metacity-theme-viewer [THEMENAME]\n" | ||||
| #~ msgstr "Kasutamine: metacity-theme-viewer [TEEMANIMI]\n" | ||||
| #, c-format | ||||
| msgid "Error loading theme: %s\n" | ||||
| msgstr "Viga teema laadimisel: %s\n" | ||||
|  | ||||
| #~ msgid "Error loading theme: %s\n" | ||||
| #~ msgstr "Viga teema laadimisel: %s\n" | ||||
| #, c-format | ||||
| msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| msgstr "Teema \"%s\" laaditi %g sekundiga\n" | ||||
|  | ||||
| #~ msgid "Loaded theme \"%s\" in %g seconds\n" | ||||
| #~ msgstr "Teema \"%s\" laaditi %g sekundiga\n" | ||||
| msgid "Normal Title Font" | ||||
| msgstr "Tiitli tavasuurusega kirjatüüp" | ||||
|  | ||||
| #~ msgid "Normal Title Font" | ||||
| #~ msgstr "Tiitli tavasuurusega kirjatüüp" | ||||
| msgid "Small Title Font" | ||||
| msgstr "Tiitli väike kirjatüüp" | ||||
|  | ||||
| #~ msgid "Small Title Font" | ||||
| #~ msgstr "Tiitli väike kirjatüüp" | ||||
| msgid "Large Title Font" | ||||
| msgstr "Tiitli suur kirjatüüp" | ||||
|  | ||||
| #~ msgid "Large Title Font" | ||||
| #~ msgstr "Tiitli suur kirjatüüp" | ||||
| msgid "Button Layouts" | ||||
| msgstr "Nuppude paigutus" | ||||
|  | ||||
| #~ msgid "Button Layouts" | ||||
| #~ msgstr "Nuppude paigutus" | ||||
| msgid "Benchmark" | ||||
| msgstr "Jõudlus" | ||||
|  | ||||
| #~ msgid "Benchmark" | ||||
| #~ msgstr "Jõudlus" | ||||
| msgid "Window Title Goes Here" | ||||
| msgstr "Siia tuleb akna pealkiri" | ||||
|  | ||||
| #~ msgid "Window Title Goes Here" | ||||
| #~ msgstr "Siia tuleb akna pealkiri" | ||||
| #, 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 "" | ||||
| #~ "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 TRUE but set error" | ||||
| msgstr "asukoha avaldise kontroll tagastas TÕENE, aga määras vea" | ||||
|  | ||||
| #~ msgid "position expression test returned TRUE but set error" | ||||
| #~ msgstr "asukoha avaldise kontroll tagastas TÕENE, aga määras vea" | ||||
| 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 FALSE but didn't set error" | ||||
| #~ msgstr "asukoha avaldise kontroll tagastas VÄÄR, aga ei määranud viga" | ||||
| msgid "Error was expected but none given" | ||||
| msgstr "Oodati viga, aga ühtegi ei edastatud" | ||||
|  | ||||
| #~ msgid "Error was expected but none given" | ||||
| #~ msgstr "Oodati viga, aga ühtegi ei edastatud" | ||||
| #, c-format | ||||
| msgid "Error %d was expected but %d given" | ||||
| msgstr "Oodati viga %d, aga edastati viga %d" | ||||
|  | ||||
| #~ msgid "Error %d was expected but %d given" | ||||
| #~ msgstr "Oodati viga %d, aga edastati viga %d" | ||||
| #, c-format | ||||
| msgid "Error not expected but one was returned: %s" | ||||
| msgstr "Viga ei oodatud, aga üks edastati: %s" | ||||
|  | ||||
| #~ msgid "Error not expected but one was returned: %s" | ||||
| #~ msgstr "Viga ei oodatud, aga üks edastati: %s" | ||||
| #, c-format | ||||
| msgid "x value was %d, %d was expected" | ||||
| msgstr "x 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 "y value was %d, %d was expected" | ||||
| msgstr "y väärtus oli %d, oodati väärtust %d" | ||||
|  | ||||
| #~ 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" | ||||
| #, 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" | ||||
|   | ||||
							
								
								
									
										360
									
								
								po/fa.po
									
									
									
									
									
								
							
							
						
						
									
										360
									
								
								po/fa.po
									
									
									
									
									
								
							| @@ -20,7 +20,8 @@ msgstr "" | ||||
| "X-Poedit-Country: IRAN, ISLAMIC REPUBLIC OF\n" | ||||
| "X-Poedit-SourceCharset: utf-8\n" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 ../src/50-mutter-windows.xml.in.h:17 | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| #| msgid "/_Windows" | ||||
| msgid "Windows" | ||||
| msgstr "پنجرهها" | ||||
|  | ||||
| @@ -1485,291 +1486,6 @@ msgstr "مقدار y %Id بود، %Id انتظار میرفت" | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "%Id عبارت مختصاتی در %Ig ثانیه تجزیه شد (متوسط %Ig ثانیه)\n" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Close window" | ||||
| msgstr "بستن پنجره" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "پایین بردن پنجره زیر پنجرههای دیگر" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| #, fuzzy | ||||
| msgid "Maximize window" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "حداکثر کردن پنجره\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "بیشینه کردن پنجره" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| #, fuzzy | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "حداکثر کردن افقی پنجره" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| #, fuzzy | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "حداکثر کردن عمودی پنجره" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| #, fuzzy | ||||
| msgid "Minimize window" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "حداقل کردن پنجره\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "کمینه کردن پنجره" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| #, fuzzy | ||||
| msgid "Move window" | ||||
| msgstr "جابهجایی پنجره" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:6 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضای کاری پایینی\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضایکاری پایینی" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:7 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضای کاری چپ \n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضایکاری چپ " | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:8 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضای کاری راست\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضایکاری راست" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:9 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضای کاری بالایی\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضایکاری بالایی" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:10 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضای کاری ۱\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضایکاری ۱" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:11 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضای کاری ۲\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضایکاری ۲" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:12 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "نقلمکان پنجره به فضای کاری ۳\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضایکاری ۳" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:13 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضای کاری ۴\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "جابهجایی پنجره به فضایکاری ۴" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| #, fuzzy | ||||
| msgid "Raise window above other windows" | ||||
| msgstr "پیش آوردن پنجره روی همهی پنجرهها" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:11 | ||||
| #, fuzzy | ||||
| msgid "Resize window" | ||||
| msgstr "تغییر اندازهی پنجره" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "تعویض به فضای کاری ۱\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "رفتن به فضایکاری ۱" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "تعویض به فضای کاری ۲\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "رفتن به فضایکاری ۲" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "تعویض به فضای کاری ۳\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "رفتن به فضایکاری ۳" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "تعویض به فضای کاری ۴\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "رفتن به فضایکاری ۴" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:13 | ||||
| #, fuzzy | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "ضامن حالت تمام صفحه" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:14 | ||||
| #, fuzzy | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "ضامن همیشه در وضیعت حداکثر\n" | ||||
| "#-#-#-#-#  fa.po (metacity HEAD)  #-#-#-#-#\n" | ||||
| "ضامن همیشه در وضعیت حداکثر" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:15 | ||||
| #, fuzzy | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "ضامن وضعیت سایه خورده" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| #, fuzzy | ||||
| #| msgid "Hide all normal windows and set focus to the desktop" | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "مخفی کردن همهی پنجرههای معمول" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:2 | ||||
| #, fuzzy | ||||
| #| msgid "Move to Workspace _Left" | ||||
| msgid "Move to workspace above" | ||||
| msgstr "جابهجایی به فضایکاری _چپ" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:3 | ||||
| #, fuzzy | ||||
| #| msgid "Move to Workspace _Down" | ||||
| msgid "Move to workspace below" | ||||
| msgstr "جابهجایی به فضایکاری پایین" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:4 | ||||
| #, fuzzy | ||||
| #| msgid "Move to Workspace _Left" | ||||
| msgid "Move to workspace left" | ||||
| msgstr "جابهجایی به فضایکاری سمت چپ" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:5 | ||||
| #, fuzzy | ||||
| #| msgid "Move to Workspace R_ight" | ||||
| msgid "Move to workspace right" | ||||
| msgstr "جابهجایی به فضایکاری سمت راست" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| #, fuzzy | ||||
| msgid "Navigation" | ||||
| msgstr "جابهجایی" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| #, fuzzy | ||||
| msgid "Switch applications" | ||||
| msgstr "تعویض برنامهها" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| #, fuzzy | ||||
| msgid "Switch system controls" | ||||
| msgstr "تعویض کنترلهای سیستم" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| #, fuzzy | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "تعویض مستقیمِ کنترلهای سیستم" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| #, fuzzy | ||||
| msgid "Switch windows directly" | ||||
| msgstr "تعویض مستیقیم پنجرهها" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| #, fuzzy | ||||
| #| msgid "Move between windows of an application immediately" | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "تعویض مستقیمِ پنجرههای یک برنامه" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| #, fuzzy | ||||
| #| msgid "Move between windows of an application immediately" | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "تعویض پنجرههای یک برنامه" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Show the activities overview" | ||||
| msgstr "نمایش نمایکلی فعالیتها" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:2 | ||||
| #, fuzzy | ||||
| #| msgid "Show the panel's main menu" | ||||
| msgid "Show the run command prompt" | ||||
| msgstr "نمایش خط فرمان اجرا" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "System" | ||||
| msgstr "سیستم" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Activate the window menu" | ||||
| msgstr "فعال کردن منوی پنجره" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| #, fuzzy | ||||
| #| msgid "Raise window if it's covered by another window, otherwise lower it" | ||||
| msgid "Raise window if covered, otherwise lower it" | ||||
| msgstr "بالا آوردن پنجره در صورتی که پوشیده شده است، در غیر اینصورت پایین برود" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| #, fuzzy | ||||
| msgid "Restore window" | ||||
| msgstr "بازگرداندن پنجره" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| #, fuzzy | ||||
| #| msgid "Toggle whether window is on all workspaces or just one" | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "تغییر حالت پنجره در یک یا تمام فضاهایکاری" | ||||
|  | ||||
| #~ msgid "Failed to parse message \"%s\" from dialog process\n" | ||||
| #~ msgstr "شکست در تجزیه پیغام «%s» از پردازش محاوره\n" | ||||
|  | ||||
| @@ -1906,6 +1622,9 @@ msgstr "تغییر حالت پنجره در یک یا تمام فضاهایک | ||||
| #~ "(کلیک راست) میشود. تغییردهنده به صورت مثلاً«<Alt>» یا «<Super>» " | ||||
| #~ "نمایش داده میشود." | ||||
|  | ||||
| #~ msgid "Close window" | ||||
| #~ msgstr "بستن پنجره" | ||||
|  | ||||
| #~ msgid "Commands to run in response to keybindings" | ||||
| #~ msgstr "فرمانهایی که در پاسخ به کلیدهای مقید اجرا میشوند" | ||||
|  | ||||
| @@ -1984,6 +1703,21 @@ msgstr "تغییر حالت پنجره در یک یا تمام فضاهایک | ||||
| #~ msgstr "" | ||||
| #~ "اگر درست بود از قابلیت کاربری در قبال استفادهی کمتر از منابع صرف نظر شود" | ||||
|  | ||||
| #~ msgid "Lower window below other windows" | ||||
| #~ msgstr "پایین بردن پنجره زیر پنجرههای دیگر" | ||||
|  | ||||
| #~ msgid "Maximize window" | ||||
| #~ msgstr "حداکثر کردن پنجره" | ||||
|  | ||||
| #~ msgid "Maximize window horizontally" | ||||
| #~ msgstr "حداکثر کردن افقی پنجره" | ||||
|  | ||||
| #~ msgid "Maximize window vertically" | ||||
| #~ msgstr "حداکثر کردن عمودی پنجره" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "حداقل کردن پنجره" | ||||
|  | ||||
| #~ msgid "Move backward between panels and the desktop immediately" | ||||
| #~ msgstr "جابهجایی آنی به عقب بین تابلو و رومیزی" | ||||
|  | ||||
| @@ -2005,6 +1739,24 @@ msgstr "تغییر حالت پنجره در یک یا تمام فضاهایک | ||||
| #~ msgid "Move focus backwards between windows using popup display" | ||||
| #~ msgstr "انتقال تمرکز به عقب بین پنجرهها با نمایش واشو" | ||||
|  | ||||
| #~ msgid "Move window" | ||||
| #~ msgstr "جابهجایی پنجره" | ||||
|  | ||||
| #~ msgid "Move window one workspace down" | ||||
| #~ msgstr "جابهجایی پنجره به فضای کاری پایینی" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the left" | ||||
| #~ msgstr "جابهجایی پنجره به فضای کاری چپ " | ||||
|  | ||||
| #~ msgid "Move window one workspace to the right" | ||||
| #~ msgstr "جابهجایی پنجره به فضای کاری راست" | ||||
|  | ||||
| #~ msgid "Move window one workspace up" | ||||
| #~ msgstr "جابهجایی پنجره به فضای کاری بالایی" | ||||
|  | ||||
| #~ msgid "Move window to workspace 1" | ||||
| #~ msgstr "جابهجایی پنجره به فضای کاری ۱" | ||||
|  | ||||
| #~ msgid "Move window to workspace 10" | ||||
| #~ msgstr "جابهجایی پنجره به فضای کاری ۱۰" | ||||
|  | ||||
| @@ -2014,6 +1766,15 @@ msgstr "تغییر حالت پنجره در یک یا تمام فضاهایک | ||||
| #~ msgid "Move window to workspace 12" | ||||
| #~ msgstr "جابهجایی پنجره به فضای کاری ۱۲" | ||||
|  | ||||
| #~ msgid "Move window to workspace 2" | ||||
| #~ msgstr "جابهجایی پنجره به فضای کاری ۲" | ||||
|  | ||||
| #~ msgid "Move window to workspace 3" | ||||
| #~ msgstr "نقلمکان پنجره به فضای کاری ۳" | ||||
|  | ||||
| #~ msgid "Move window to workspace 4" | ||||
| #~ msgstr "جابهجایی پنجره به فضای کاری ۴" | ||||
|  | ||||
| #~ msgid "Move window to workspace 5" | ||||
| #~ msgstr "جابهجایی پنجره به فضای کاری ۵" | ||||
|  | ||||
| @@ -2043,6 +1804,12 @@ msgstr "تغییر حالت پنجره در یک یا تمام فضاهایک | ||||
| #~ "تعداد فضاهای کاری. باید بیش از صفر باشد و حداکثر مشخصی دارد (برای این که " | ||||
| #~ "اتفاقی رومیزیتان را با درخواست ۳۴ میلیون فضای کاری از بین نبرید)." | ||||
|  | ||||
| #~ msgid "Raise window above other windows" | ||||
| #~ msgstr "پیش آوردن پنجره روی همهی پنجرهها" | ||||
|  | ||||
| #~ msgid "Resize window" | ||||
| #~ msgstr "تغییر اندازهی پنجره" | ||||
|  | ||||
| #~ msgid "Run a defined command" | ||||
| #~ msgstr "اجرای یک فرمان تعریف شده" | ||||
|  | ||||
| @@ -2083,6 +1850,9 @@ msgstr "تغییر حالت پنجره در یک یا تمام فضاهایک | ||||
| #~ "بعضی از دور زدنها دورزدن کمبودهای خود قواعد جزئی هستند، بنابراین بعضی " | ||||
| #~ "وقتها اشکال در حالت دور زدن بدون دستکاری قواعد قبل رفع نیست." | ||||
|  | ||||
| #~ msgid "Switch to workspace 1" | ||||
| #~ msgstr "تعویض به فضای کاری ۱" | ||||
|  | ||||
| #~ msgid "Switch to workspace 10" | ||||
| #~ msgstr "تعویض به فضای کاری ۱۰" | ||||
|  | ||||
| @@ -2092,6 +1862,15 @@ msgstr "تغییر حالت پنجره در یک یا تمام فضاهایک | ||||
| #~ msgid "Switch to workspace 12" | ||||
| #~ msgstr "تعویض به فضای کاری ۱۲" | ||||
|  | ||||
| #~ msgid "Switch to workspace 2" | ||||
| #~ msgstr "تعویض به فضای کاری ۲" | ||||
|  | ||||
| #~ msgid "Switch to workspace 3" | ||||
| #~ msgstr "تعویض به فضای کاری ۳" | ||||
|  | ||||
| #~ msgid "Switch to workspace 4" | ||||
| #~ msgstr "تعویض به فضای کاری ۴" | ||||
|  | ||||
| #~ msgid "Switch to workspace 5" | ||||
| #~ msgstr "تعویض به فضای کاری ۵" | ||||
|  | ||||
| @@ -3146,6 +2925,15 @@ msgstr "تغییر حالت پنجره در یک یا تمام فضاهایک | ||||
| #~ msgid "Toggle always on top state" | ||||
| #~ msgstr "ضامن همیشه در وضعیت بالایی" | ||||
|  | ||||
| #~ msgid "Toggle fullscreen mode" | ||||
| #~ msgstr "ضامن حالت تمام صفحه" | ||||
|  | ||||
| #~ msgid "Toggle maximization state" | ||||
| #~ msgstr "ضامن همیشه در وضیعت حداکثر" | ||||
|  | ||||
| #~ msgid "Toggle shaded state" | ||||
| #~ msgstr "ضامن وضعیت سایه خورده" | ||||
|  | ||||
| #~ msgid "Toggle window on all workspaces" | ||||
| #~ msgstr "ضامن پنجره در تمام فضاهای کاری" | ||||
|  | ||||
|   | ||||
							
								
								
									
										798
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
							
						
						
									
										798
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										27
									
								
								po/ro.po
									
									
									
									
									
								
							
							
						
						
									
										27
									
								
								po/ro.po
									
									
									
									
									
								
							| @@ -1944,33 +1944,6 @@ msgstr "" | ||||
| "Expresiile pentru coordonate %d parsate în %g secunde (o medie de %g " | ||||
| "secunde)\n" | ||||
|  | ||||
| #: ../src/50-mutter-launchers.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Launchers" | ||||
| msgstr "Lansatori" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Navigation" | ||||
| msgstr "Navigare" | ||||
|  | ||||
| #: ../src/50-mutter-screenshot.xml.in.h:1 | ||||
| #, fuzzy | ||||
| #| msgid "Take a screenshot" | ||||
| msgid "Screenshots" | ||||
| msgstr "Capturi de ecran" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "System" | ||||
| msgstr "Sistem" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| #, fuzzy | ||||
| #| msgid "/_Windows" | ||||
| msgid "Windows" | ||||
| msgstr "Ferestre" | ||||
|  | ||||
| #~ msgid "Window Management" | ||||
| #~ msgstr "Administrare ferestre" | ||||
|  | ||||
|   | ||||
							
								
								
									
										636
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
							
						
						
									
										636
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										253
									
								
								po/sv.po
									
									
									
									
									
								
							
							
						
						
									
										253
									
								
								po/sv.po
									
									
									
									
									
								
							| @@ -1429,180 +1429,7 @@ msgstr "y-värdet var %d, %d förväntades" | ||||
| #: ../src/ui/theme-viewer.c:1352 | ||||
| #, c-format | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "" | ||||
| "%d koordinatuttryck tolkades på %g sekunder (%g sekunder i medelvärde)\n" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "Växla till arbetsyta 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "Växla till arbetsyta 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "Växla till arbetsyta 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "Växla till arbetsyta 4" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "Activate the window menu" | ||||
| msgstr "Aktivera fönstermenyn" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "Växla helskärmsläge" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "Växla maximeringstillstånd" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| msgid "Maximize window" | ||||
| msgstr "Maximera fönster" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| msgid "Restore window" | ||||
| msgstr "Återställ fönster" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "Växla upprullat tillstånd" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Minimize window" | ||||
| msgstr "Minimera fönster" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| msgid "Close window" | ||||
| msgstr "Stäng fönster" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| msgid "Move window" | ||||
| msgstr "Flytta fönster" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:11 | ||||
| msgid "Resize window" | ||||
| msgstr "Ändra storlek på fönster" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:2 | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "Flytta fönster till arbetsyta 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:3 | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "Flytta fönster till arbetsyta 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:4 | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "Flytta fönster till arbetsyta 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:5 | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "Flytta fönster till arbetsyta 4" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:6 | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "Flytta fönster en arbetsyta åt vänster" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:7 | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "Flytta fönster en arbetsyta åt höger" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:8 | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "Flytta fönster en arbetsyta uppåt" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:9 | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "Flytta fönster en arbetsyta nedåt" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:14 | ||||
| msgid "Raise window above other windows" | ||||
| msgstr "Höj fönstret över andra fönster" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:15 | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "Sänk fönster under andra fönster" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "Maximera fönster vertikalt" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:17 | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "Maximera fönster horisontellt" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| msgid "Navigation" | ||||
| msgstr "Navigation" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:10 | ||||
| msgid "Switch applications" | ||||
| msgstr "Växla program" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:11 | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "Växla fönster för ett program" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:12 | ||||
| msgid "Switch system controls" | ||||
| msgstr "Växla systemkontroller" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:13 | ||||
| msgid "Switch windows directly" | ||||
| msgstr "Växla fönster direkt" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "Växla fönster för ett program direkt" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "Växla systemkontroller direkt" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "Dölj alla normala fönster" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| msgid "Move to workspace left" | ||||
| msgstr "Flytta till arbetsyta till vänster" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| msgid "Move to workspace right" | ||||
| msgstr "Flytta till arbetsyta till höger" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| msgid "Move to workspace above" | ||||
| msgstr "Flytta till arbetsyta ovanför" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| msgid "Move to workspace below" | ||||
| msgstr "Flytta till arbetsyta nedanför" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| msgid "System" | ||||
| msgstr "System" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:2 | ||||
| msgid "Show the run command prompt" | ||||
| msgstr "Visa Kör kommando-dialogen" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:3 | ||||
| msgid "Show the activities overview" | ||||
| msgstr "Visa aktivitetsöversikt" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "Växla fönster på alla arbetsytor eller bara en" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:13 | ||||
| msgid "Raise window if covered, otherwise lower it" | ||||
| msgstr "Höj fönstret om det skyms av ett annat fönster, sänk det annars" | ||||
| msgstr "%d koordinatuttryck tolkades på %g sekunder (%g sekunder i medelvärde)\n" | ||||
|  | ||||
| #~ msgid "Comma-separated list of compositor plugins" | ||||
| #~ msgstr "Kommaseparerad lista över compositor-instick" | ||||
| @@ -1650,6 +1477,18 @@ msgstr "Höj fönstret om det skyms av ett annat fönster, sänk det annars" | ||||
| #~ msgid "Put Window On Only One Workspace" | ||||
| #~ msgstr "Placera fönstret på endast en arbetsyta" | ||||
|  | ||||
| #~ msgid "Switch to workspace 1" | ||||
| #~ msgstr "Växla till arbetsyta 1" | ||||
|  | ||||
| #~ msgid "Switch to workspace 2" | ||||
| #~ msgstr "Växla till arbetsyta 2" | ||||
|  | ||||
| #~ msgid "Switch to workspace 3" | ||||
| #~ msgstr "Växla till arbetsyta 3" | ||||
|  | ||||
| #~ msgid "Switch to workspace 4" | ||||
| #~ msgstr "Växla till arbetsyta 4" | ||||
|  | ||||
| #~ msgid "Switch to workspace 5" | ||||
| #~ msgstr "Växla till arbetsyta 5" | ||||
|  | ||||
| @@ -1748,14 +1587,56 @@ msgstr "Höj fönstret om det skyms av ett annat fönster, sänk det annars" | ||||
| #~ msgid "Run a terminal" | ||||
| #~ msgstr "Kör en terminal" | ||||
|  | ||||
| #~ msgid "Activate the window menu" | ||||
| #~ msgstr "Aktivera fönstermenyn" | ||||
|  | ||||
| #~ msgid "Toggle fullscreen mode" | ||||
| #~ msgstr "Växla helskärmsläge" | ||||
|  | ||||
| #~ msgid "Toggle maximization state" | ||||
| #~ msgstr "Växla maximeringstillstånd" | ||||
|  | ||||
| #~ msgid "Toggle whether a window will always be visible over other windows" | ||||
| #~ msgstr "" | ||||
| #~ "Växla huruvida ett fönster alltid kommer att vara synlig över andra " | ||||
| #~ "fönster" | ||||
|  | ||||
| #~ msgid "Maximize window" | ||||
| #~ msgstr "Maximera fönster" | ||||
|  | ||||
| #~ msgid "Restore window" | ||||
| #~ msgstr "Återställ fönster" | ||||
|  | ||||
| #~ msgid "Toggle shaded state" | ||||
| #~ msgstr "Växla upprullat tillstånd" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "Minimera fönster" | ||||
|  | ||||
| #~ msgid "Close window" | ||||
| #~ msgstr "Stäng fönster" | ||||
|  | ||||
| #~ msgid "Move window" | ||||
| #~ msgstr "Flytta fönster" | ||||
|  | ||||
| #~ msgid "Resize window" | ||||
| #~ msgstr "Ändra storlek på fönster" | ||||
|  | ||||
| #~ msgid "Toggle whether window is on all workspaces or just one" | ||||
| #~ msgstr "Växla huruvida fönstret finns på alla arbetsytor eller bara en" | ||||
|  | ||||
| #~ msgid "Move window to workspace 1" | ||||
| #~ msgstr "Flytta fönster till arbetsyta 1" | ||||
|  | ||||
| #~ msgid "Move window to workspace 2" | ||||
| #~ msgstr "Flytta fönster till arbetsyta 2" | ||||
|  | ||||
| #~ msgid "Move window to workspace 3" | ||||
| #~ msgstr "Flytta fönster till arbetsyta 3" | ||||
|  | ||||
| #~ msgid "Move window to workspace 4" | ||||
| #~ msgstr "Flytta fönster till arbetsyta 4" | ||||
|  | ||||
| #~ msgid "Move window to workspace 5" | ||||
| #~ msgstr "Flytta fönster till arbetsyta 5" | ||||
|  | ||||
| @@ -1780,9 +1661,33 @@ msgstr "Höj fönstret om det skyms av ett annat fönster, sänk det annars" | ||||
| #~ msgid "Move window to workspace 12" | ||||
| #~ msgstr "Flytta fönster till arbetsyta 12" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the left" | ||||
| #~ msgstr "Flytta fönster en arbetsyta åt vänster" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the right" | ||||
| #~ msgstr "Flytta fönster en arbetsyta åt höger" | ||||
|  | ||||
| #~ msgid "Move window one workspace up" | ||||
| #~ msgstr "Flytta fönster en arbetsyta uppåt" | ||||
|  | ||||
| #~ msgid "Move window one workspace down" | ||||
| #~ msgstr "Flytta fönster en arbetsyta nedåt" | ||||
|  | ||||
| #~ msgid "Raise window if it's covered by another window, otherwise lower it" | ||||
| #~ msgstr "Höj fönstret om det skyms av ett annat fönster, sänk det annars" | ||||
|  | ||||
| #~ msgid "Raise window above other windows" | ||||
| #~ msgstr "Höj fönstret över andra fönster" | ||||
|  | ||||
| #~ msgid "Lower window below other windows" | ||||
| #~ msgstr "Sänk fönster under andra fönster" | ||||
|  | ||||
| #~ msgid "Maximize window vertically" | ||||
| #~ msgstr "Maximera fönster vertikalt" | ||||
|  | ||||
| #~ msgid "Maximize window horizontally" | ||||
| #~ msgstr "Maximera fönster horisontellt" | ||||
|  | ||||
| #~ msgid "Move window to north-west (top left) corner" | ||||
| #~ msgstr "Flytta fönstret till nordvästra (övre vänstra) hörnet" | ||||
|  | ||||
|   | ||||
							
								
								
									
										227
									
								
								po/th.po
									
									
									
									
									
								
							
							
						
						
									
										227
									
								
								po/th.po
									
									
									
									
									
								
							| @@ -1543,177 +1543,8 @@ msgstr "ค่าของ y เป็น %d แต่ที่คาดหว | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "แจงค่านิพจน์พิกัดทั้งหมด %d นิพจน์ ในเวลา %g วินาที (%g วินาทีโดยเฉลี่ย)\n" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "สลับไปพื้นที่ทำงาน 1" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "Activate the window menu" | ||||
| msgstr "เปิดเมนูหน้าต่าง" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "สลับโหมดเต็มหน้าจอ" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "สลับสถานะขยายแผ่" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| msgid "Maximize window" | ||||
| msgstr "ขยายแผ่หน้าต่างเต็มพื้นโต๊ะ" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| msgid "Restore window" | ||||
| msgstr "คืนขนาดหน้าต่าง" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "ม้วน/คลี่หน้าต่าง" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Minimize window" | ||||
| msgstr "ย่อเก็บหน้าต่าง" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| msgid "Close window" | ||||
| msgstr "ปิดหน้าต่าง" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| msgid "Move window" | ||||
| msgstr "ย้ายหน้าต่าง" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:11 | ||||
| msgid "Resize window" | ||||
| msgstr "ปรับขนาดหน้าต่าง" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:6 | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "ย้ายหน้าต่างไปพื้นที่ทำงานด้านซ้าย" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:7 | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "ย้ายหน้าต่างไปพื้นที่ทำงานด้านขวา" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:8 | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "ย้ายหน้าต่างไปพื้นที่ทำงานด้านบน" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:9 | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "ย้ายหน้าต่างไปพื้นที่ทำงานด้านล่าง" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:14 | ||||
| msgid "Raise window above other windows" | ||||
| msgstr "ยกหน้าต่างขึ้นมาไว้หน้าหน้าต่างอื่นๆ" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:15 | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "ถอยหน้าต่างลงไปใว้หลังหน้าต่างอื่น" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "ขยายแผ่หน้าต่างเต็มด้านสูง" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:17 | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "ขยายแผ่หน้าต่างเต็มด้านกว้าง" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| msgid "Navigation" | ||||
| msgstr "ท่องย้าย" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:2 | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "ย้ายหน้าต่างไปพื้นที่ทำงาน 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:3 | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "ย้ายหน้าต่างไปพื้นที่ทำงาน 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:4 | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "ย้ายหน้าต่างไปพื้นที่ทำงาน 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:5 | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "ย้ายหน้าต่างไปพื้นที่ทำงาน 4" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:10 | ||||
| msgid "Switch applications" | ||||
| msgstr "สลับโปรแกรม" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:11 | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "สลับหน้าต่างภายในโปรแกรม" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:12 | ||||
| msgid "Switch system controls" | ||||
| msgstr "สลับส่วนควบคุมระบบ" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:13 | ||||
| msgid "Switch windows directly" | ||||
| msgstr "สลับหน้าต่างโดยตรง" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "สลับหน้าต่างภายในโปรแกรมโดยตรง" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "สลับส่วนควบคุมระบบโดยตรง" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "ซ่อนหน้าต่างทั้งหมด" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "สลับไปพื้นที่ทำงาน 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "สลับไปพื้นที่ทำงาน 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "สลับไปพื้นที่ทำงาน 4" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| msgid "Move to workspace left" | ||||
| msgstr "ย้ายไปพื้นที่ทำงานซ้าย" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| msgid "Move to workspace right" | ||||
| msgstr "ย้ายไปพื้นที่ทำงานขวา" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| msgid "Move to workspace above" | ||||
| msgstr "ย้ายไปพื้นที่ทำงานซ้าย" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| msgid "Move to workspace below" | ||||
| msgstr "ย้ายไปพื้นที่ทำงานล่าง" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| msgid "System" | ||||
| msgstr "ระบบ" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:2 | ||||
| msgid "Show the run command prompt" | ||||
| msgstr "แสดงกล่องเรียกคำสั่ง" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:3 | ||||
| msgid "Show the activities overview" | ||||
| msgstr "แสดงภาพรวมของกิจกรรมต่างๆ" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "สลับการแสดงหน้าต่างบนทุกพื้นที่ทำงานกับบนพื้นที่เดียว" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:13 | ||||
| msgid "Raise window if covered, otherwise lower it" | ||||
| msgstr "ยกหน้าต่างขึ้นถ้าถูกบัง มิฉะนั้นก็เอาลงด้านหลัง" | ||||
| #~ msgid "Switch to workspace 1" | ||||
| #~ msgstr "สลับไปพื้นที่ทำงาน 1" | ||||
|  | ||||
| #~ msgid "Switch to workspace on the left of the current workspace" | ||||
| #~ msgstr "สลับไปพื้นที่ทำงานด้านซ้ายของพื้นที่ทำงานปัจจุบัน" | ||||
| @@ -1785,15 +1616,69 @@ msgstr "ยกหน้าต่างขึ้นถ้าถูกบัง  | ||||
| #~ msgid "Run a terminal" | ||||
| #~ msgstr "เปิดเทอร์มินัล" | ||||
|  | ||||
| #~ msgid "Activate the window menu" | ||||
| #~ msgstr "เปิดเมนูหน้าต่าง" | ||||
|  | ||||
| #~ msgid "Toggle fullscreen mode" | ||||
| #~ msgstr "สลับโหมดเต็มหน้าจอ" | ||||
|  | ||||
| #~ msgid "Toggle maximization state" | ||||
| #~ msgstr "สลับสถานะขยายแผ่" | ||||
|  | ||||
| #~ msgid "Toggle whether a window will always be visible over other windows" | ||||
| #~ msgstr "สลับสถานะหน้าต่าง ว่าค้างอยู่บนสุดเหนือหน้าต่างอื่นหรือไม่" | ||||
|  | ||||
| #~ msgid "Maximize window" | ||||
| #~ msgstr "ขยายแผ่หน้าต่างเต็มพื้นโต๊ะ" | ||||
|  | ||||
| #~ msgid "Restore window" | ||||
| #~ msgstr "คืนขนาดหน้าต่าง" | ||||
|  | ||||
| #~ msgid "Toggle shaded state" | ||||
| #~ msgstr "ม้วน/คลี่หน้าต่าง" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "ย่อเก็บหน้าต่าง" | ||||
|  | ||||
| #~ msgid "Close window" | ||||
| #~ msgstr "ปิดหน้าต่าง" | ||||
|  | ||||
| #~ msgid "Move window" | ||||
| #~ msgstr "ย้ายหน้าต่าง" | ||||
|  | ||||
| #~ msgid "Resize window" | ||||
| #~ msgstr "ปรับขนาดหน้าต่าง" | ||||
|  | ||||
| #~ msgid "Toggle whether window is on all workspaces or just one" | ||||
| #~ msgstr "สลับสถานะหน้าต่าง ว่าแสดงบนทุกพื้นที่ทำงาน หรือแค่พื้นที่ทำงานเดียว" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the left" | ||||
| #~ msgstr "ย้ายหน้าต่างไปพื้นที่ทำงานด้านซ้าย" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the right" | ||||
| #~ msgstr "ย้ายหน้าต่างไปพื้นที่ทำงานด้านขวา" | ||||
|  | ||||
| #~ msgid "Move window one workspace up" | ||||
| #~ msgstr "ย้ายหน้าต่างไปพื้นที่ทำงานด้านบน" | ||||
|  | ||||
| #~ msgid "Move window one workspace down" | ||||
| #~ msgstr "ย้ายหน้าต่างไปพื้นที่ทำงานด้านล่าง" | ||||
|  | ||||
| #~ msgid "Raise window if it's covered by another window, otherwise lower it" | ||||
| #~ msgstr "ยกหน้าต่างขึ้นถ้าถูกบัง มิฉะนั้นก็เอาลงด้านหลัง" | ||||
|  | ||||
| #~ msgid "Raise window above other windows" | ||||
| #~ msgstr "ยกหน้าต่างขึ้นมาไว้หน้าหน้าต่างอื่นๆ" | ||||
|  | ||||
| #~ msgid "Lower window below other windows" | ||||
| #~ msgstr "ถอยหน้าต่างลงไปใว้หลังหน้าต่างอื่น" | ||||
|  | ||||
| #~ msgid "Maximize window vertically" | ||||
| #~ msgstr "ขยายแผ่หน้าต่างเต็มด้านสูง" | ||||
|  | ||||
| #~ msgid "Maximize window horizontally" | ||||
| #~ msgstr "ขยายแผ่หน้าต่างเต็มด้านกว้าง" | ||||
|  | ||||
| #~ msgid "Move window to north-west (top left) corner" | ||||
| #~ msgstr "ย้ายหน้าต่างไปที่มุมบนซ้ายของหน้าจอ" | ||||
|  | ||||
|   | ||||
							
								
								
									
										296
									
								
								po/uk.po
									
									
									
									
									
								
							
							
						
						
									
										296
									
								
								po/uk.po
									
									
									
									
									
								
							| @@ -1568,224 +1568,6 @@ msgstr "" | ||||
| "%d координатних виразів проаналізовано за %g секунд (середнє значення: %g " | ||||
| "секунд)\n" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перейти на робочий простір 1\n" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перейти до робочого простору 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перейти на робочий простір 2\n" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перейти до робочого простору 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перейти на робочий простір 3\n" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перейти до робочого простору 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перейти на робочий простір 4\n" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перейти до робочого простору 4" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "Activate the window menu" | ||||
| msgstr "Активувати меню вікна" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "Перемикання повноекранного режиму" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| #, fuzzy | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перемикання стану розгортання\n" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перемикання стану розгортання вікна на весь екран" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| #, fuzzy | ||||
| msgid "Maximize window" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Розгорнути вікно\n" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Розгорнути вікно на весь екран" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| msgid "Restore window" | ||||
| msgstr "Відновити вікно" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "Перемикання стану згорнутості" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Minimize window" | ||||
| msgstr "Згорнути вікно" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| msgid "Close window" | ||||
| msgstr "Закрити вікно" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| msgid "Move window" | ||||
| msgstr "Перемістити вікно" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:11 | ||||
| #, fuzzy | ||||
| msgid "Resize window" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Змінити розмір вікна\n" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Змінити розміри вікна" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:2 | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "Перемістити вікно на робочий простір 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:3 | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "Перемістити вікно на робочий простір 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:4 | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "Перемістити вікно на робочий простір 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:5 | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "Перемістити вікно на робочий простір 4" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:6 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перемістити вікно у робочий простір ліворуч\n" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перемістити вікно на робочий простір ліворуч" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:7 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перемістити вікно у робочий простір праворуч\n" | ||||
| "#-#-#-#-#  uk.po (metacity)  #-#-#-#-#\n" | ||||
| "Перемістити вікно на робочий простір праворуч" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:8 | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "Перемістити вікно на робочий простір вище" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:9 | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "Перемістити вікно на робочий простір нижче" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:14 | ||||
| msgid "Raise window above other windows" | ||||
| msgstr "Підняти вікно над іншими" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:15 | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "Перемістити вікна нижче усіх вікон" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "Розгорнути вікно на весь екран вертикально" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:17 | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "Розгорнути вікно на весь екран горизонтально" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| msgid "Navigation" | ||||
| msgstr "Навігація" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:10 | ||||
| msgid "Switch applications" | ||||
| msgstr "Перемкнути програми" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:11 | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "Перемкнути вікна програм" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:12 | ||||
| msgid "Switch system controls" | ||||
| msgstr "Перемкнути системні керування" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:13 | ||||
| msgid "Switch windows directly" | ||||
| msgstr "Перемкнути вікна напряму" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "Перемкнути вікна програм напряму" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "Перемкнути системні керування напряму" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "Сховати всі звичайні вікна" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| msgid "Move to workspace left" | ||||
| msgstr "Перейти до робочого простору ліворуч" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| msgid "Move to workspace right" | ||||
| msgstr "Перейти до робочого простору праворуч" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| msgid "Move to workspace above" | ||||
| msgstr "Перейти до робочого простору вище" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| msgid "Move to workspace below" | ||||
| msgstr "Перейти до робочого простору знизу" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| msgid "System" | ||||
| msgstr "Система" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:2 | ||||
| msgid "Show the run command prompt" | ||||
| msgstr "Показати запуск командного рядка" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:3 | ||||
| msgid "Show the activities overview" | ||||
| msgstr "Показати огляд активності" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "Перемикання вікна на всі робочі простори або один" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:13 | ||||
| msgid "Raise window if covered, otherwise lower it" | ||||
| msgstr "" | ||||
| "Підняти вікно на передній план, якщо воно прикрите іншим, інакше опустити " | ||||
|  | ||||
| #~ msgid "Comma-separated list of compositor plugins" | ||||
| #~ msgstr "Список композитних додатків розділених комою" | ||||
|  | ||||
| @@ -1832,6 +1614,18 @@ msgstr "" | ||||
| #~ msgid "Put Window On Only One Workspace" | ||||
| #~ msgstr "Розміщувати вікно лише на одному робочому просторі" | ||||
|  | ||||
| #~ msgid "Switch to workspace 1" | ||||
| #~ msgstr "Перейти на робочий простір 1" | ||||
|  | ||||
| #~ msgid "Switch to workspace 2" | ||||
| #~ msgstr "Перейти на робочий простір 2" | ||||
|  | ||||
| #~ msgid "Switch to workspace 3" | ||||
| #~ msgstr "Перейти на робочий простір 3" | ||||
|  | ||||
| #~ msgid "Switch to workspace 4" | ||||
| #~ msgstr "Перейти на робочий простір 4" | ||||
|  | ||||
| #~ msgid "Switch to workspace 5" | ||||
| #~ msgstr "Перейти на робочий простір 5" | ||||
|  | ||||
| @@ -1929,12 +1723,54 @@ msgstr "" | ||||
| #~ msgid "Run a terminal" | ||||
| #~ msgstr "Запустити термінал" | ||||
|  | ||||
| #~ msgid "Activate the window menu" | ||||
| #~ msgstr "Активувати меню вікна" | ||||
|  | ||||
| #~ msgid "Toggle fullscreen mode" | ||||
| #~ msgstr "Перемикання повноекранного режиму" | ||||
|  | ||||
| #~ msgid "Toggle maximization state" | ||||
| #~ msgstr "Перемикання стану розгортання" | ||||
|  | ||||
| #~ msgid "Toggle whether a window will always be visible over other windows" | ||||
| #~ msgstr "Перемикання видимості вікна над усіма іншими вікнами назавжди" | ||||
|  | ||||
| #~ msgid "Maximize window" | ||||
| #~ msgstr "Розгорнути вікно" | ||||
|  | ||||
| #~ msgid "Restore window" | ||||
| #~ msgstr "Відновити вікно" | ||||
|  | ||||
| #~ msgid "Toggle shaded state" | ||||
| #~ msgstr "Перемикання стану згорнутості" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "Згорнути вікно" | ||||
|  | ||||
| #~ msgid "Close window" | ||||
| #~ msgstr "Закрити вікно" | ||||
|  | ||||
| #~ msgid "Move window" | ||||
| #~ msgstr "Перемістити вікно" | ||||
|  | ||||
| #~ msgid "Resize window" | ||||
| #~ msgstr "Змінити розмір вікна" | ||||
|  | ||||
| #~ msgid "Toggle whether window is on all workspaces or just one" | ||||
| #~ msgstr "Перемикання розміщення вікна всіх робочих просторах або одному " | ||||
|  | ||||
| #~ msgid "Move window to workspace 1" | ||||
| #~ msgstr "Перемістити вікно на робочий простір 1" | ||||
|  | ||||
| #~ msgid "Move window to workspace 2" | ||||
| #~ msgstr "Перемістити вікно на робочий простір 2" | ||||
|  | ||||
| #~ msgid "Move window to workspace 3" | ||||
| #~ msgstr "Перемістити вікно на робочий простір 3" | ||||
|  | ||||
| #~ msgid "Move window to workspace 4" | ||||
| #~ msgstr "Перемістити вікно на робочий простір 4" | ||||
|  | ||||
| #~ msgid "Move window to workspace 5" | ||||
| #~ msgstr "Перемістити вікно на робочий простір 5" | ||||
|  | ||||
| @@ -1959,9 +1795,33 @@ msgstr "" | ||||
| #~ msgid "Move window to workspace 12" | ||||
| #~ msgstr "Перемістити вікно на робочий простір 12" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the left" | ||||
| #~ msgstr "Перемістити вікно у робочий простір ліворуч" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the right" | ||||
| #~ msgstr "Перемістити вікно у робочий простір праворуч" | ||||
|  | ||||
| #~ msgid "Move window one workspace up" | ||||
| #~ msgstr "Перемістити вікно на робочий простір вище" | ||||
|  | ||||
| #~ msgid "Move window one workspace down" | ||||
| #~ msgstr "Перемістити вікно на робочий простір нижче" | ||||
|  | ||||
| #~ msgid "Raise window if it's covered by another window, otherwise lower it" | ||||
| #~ msgstr "Підняти вікно, якщо його покрито іншим, інакше опустити його" | ||||
|  | ||||
| #~ msgid "Raise window above other windows" | ||||
| #~ msgstr "Підняти вікно над іншими" | ||||
|  | ||||
| #~ msgid "Lower window below other windows" | ||||
| #~ msgstr "Перемістити вікна нижче усіх вікон" | ||||
|  | ||||
| #~ msgid "Maximize window vertically" | ||||
| #~ msgstr "Розгорнути вікно на весь екран вертикально" | ||||
|  | ||||
| #~ msgid "Maximize window horizontally" | ||||
| #~ msgstr "Розгорнути вікно на весь екран горизонтально" | ||||
|  | ||||
| #~ msgid "Move window to north-west (top left) corner" | ||||
| #~ msgstr "Перемістити вікно у верхній лівий край" | ||||
|  | ||||
|   | ||||
							
								
								
									
										244
									
								
								po/zh_CN.po
									
									
									
									
									
								
							
							
						
						
									
										244
									
								
								po/zh_CN.po
									
									
									
									
									
								
							| @@ -25,7 +25,7 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bits\n" | ||||
| "Plural-Forms: nplurals=1; plural=0;\n" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 ../src/50-mutter-windows.xml.in.h:17 | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| msgid "Windows" | ||||
| msgstr "窗口" | ||||
|  | ||||
| @@ -1530,177 +1530,17 @@ msgstr "y 值为 %d,但应该为 %d " | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "在 %2$g 秒内处理了 %1$d 个坐标表达式(平均 %3$g 秒)\n" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "切换到工作区 1" | ||||
| #~ msgid "Switch to workspace 1" | ||||
| #~ msgstr "切换到工作区 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "切换到工作区 2" | ||||
| #~ msgid "Switch to workspace 2" | ||||
| #~ msgstr "切换到工作区 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "切换到工作区 3" | ||||
| #~ msgid "Switch to workspace 3" | ||||
| #~ msgstr "切换到工作区 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "切换到工作区 4" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| msgid "Activate the window menu" | ||||
| msgstr "激活窗口菜单" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:13 | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "切换全屏模式" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:14 | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "切换最大化状态" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| msgid "Maximize window" | ||||
| msgstr "最大化窗口" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| msgid "Restore window" | ||||
| msgstr "恢复窗口" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:15 | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "切换卷起状态" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| msgid "Minimize window" | ||||
| msgstr "最小化窗口" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "Close window" | ||||
| msgstr "关闭窗口" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| msgid "Move window" | ||||
| msgstr "移动窗口" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:11 | ||||
| msgid "Resize window" | ||||
| msgstr "改变窗口大小" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:10 | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "将窗口移到工作区 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:11 | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "将窗口移到工作区 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:12 | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "将窗口移到工作区 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:13 | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "将窗口移到工作区 4" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:7 | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "将窗口左移一个工作区" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:8 | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "将窗口右移一个工作区" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:9 | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "将窗口上移一个工作区" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:6 | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "将窗口下移一个工作区" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Raise window above other windows" | ||||
| msgstr "将窗口提升到其它窗口之上" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "将窗口降低到其它窗口之下" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "垂直最大化窗口" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "水平最大化窗口" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "隐藏所有正常窗口" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:2 | ||||
| msgid "Move to workspace above" | ||||
| msgstr "移动到上层工作区" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:3 | ||||
| msgid "Move to workspace below" | ||||
| msgstr "移动到下层工作区" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:4 | ||||
| msgid "Move to workspace left" | ||||
| msgstr "移动到左侧工作区" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:5 | ||||
| msgid "Move to workspace right" | ||||
| msgstr "移动到右侧工作区" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| msgid "Navigation" | ||||
| msgstr "导航" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| msgid "Switch applications" | ||||
| msgstr "切换应用程序" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| msgid "Switch system controls" | ||||
| msgstr "切换系统控制" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "直接切换系统控制" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| msgid "Switch windows directly" | ||||
| msgstr "直接切换窗口" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "在应用程序窗口间直接移动焦点" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "在应用程序的窗口之间切换窗口" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| msgid "Show the activities overview" | ||||
| msgstr "显示活动大纲" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:2 | ||||
| msgid "Show the run command prompt" | ||||
| msgstr "显示运行命令提示符" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:3 | ||||
| msgid "System" | ||||
| msgstr "系统" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| msgid "Raise window if covered, otherwise lower it" | ||||
| msgstr "如果窗口被其他窗口遮盖,则提升它,否则降低它" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "在位于所有或仅一个工作区的窗口间切换" | ||||
| #~ msgid "Switch to workspace 4" | ||||
| #~ msgstr "切换到工作区 4" | ||||
|  | ||||
| #~ msgid "Switch to workspace 5" | ||||
| #~ msgstr "切换到工作区 5" | ||||
| @@ -1796,12 +1636,54 @@ msgstr "在位于所有或仅一个工作区的窗口间切换" | ||||
| #~ msgid "Run a terminal" | ||||
| #~ msgstr "运行终端" | ||||
|  | ||||
| #~ msgid "Activate the window menu" | ||||
| #~ msgstr "激活窗口菜单" | ||||
|  | ||||
| #~ msgid "Toggle fullscreen mode" | ||||
| #~ msgstr "切换全屏模式" | ||||
|  | ||||
| #~ msgid "Toggle maximization state" | ||||
| #~ msgstr "切换最大化状态" | ||||
|  | ||||
| #~ msgid "Toggle whether a window will always be visible over other windows" | ||||
| #~ msgstr "在窗口是否永远可见于其它窗口之上间切换" | ||||
|  | ||||
| #~ msgid "Maximize window" | ||||
| #~ msgstr "最大化窗口" | ||||
|  | ||||
| #~ msgid "Restore window" | ||||
| #~ msgstr "恢复窗口" | ||||
|  | ||||
| #~ msgid "Toggle shaded state" | ||||
| #~ msgstr "切换卷起状态" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "最小化窗口" | ||||
|  | ||||
| #~ msgid "Close window" | ||||
| #~ msgstr "关闭窗口" | ||||
|  | ||||
| #~ msgid "Move window" | ||||
| #~ msgstr "移动窗口" | ||||
|  | ||||
| #~ msgid "Resize window" | ||||
| #~ msgstr "改变窗口大小" | ||||
|  | ||||
| #~ msgid "Toggle whether window is on all workspaces or just one" | ||||
| #~ msgstr "在窗口位于所有或仅一个工作区间切换" | ||||
|  | ||||
| #~ msgid "Move window to workspace 1" | ||||
| #~ msgstr "将窗口移到工作区 1" | ||||
|  | ||||
| #~ msgid "Move window to workspace 2" | ||||
| #~ msgstr "将窗口移到工作区 2" | ||||
|  | ||||
| #~ msgid "Move window to workspace 3" | ||||
| #~ msgstr "将窗口移到工作区 3" | ||||
|  | ||||
| #~ msgid "Move window to workspace 4" | ||||
| #~ msgstr "将窗口移到工作区 4" | ||||
|  | ||||
| #~ msgid "Move window to workspace 5" | ||||
| #~ msgstr "将窗口移到工作区 5" | ||||
|  | ||||
| @@ -1826,9 +1708,33 @@ msgstr "在位于所有或仅一个工作区的窗口间切换" | ||||
| #~ msgid "Move window to workspace 12" | ||||
| #~ msgstr "将窗口移到工作区 12" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the left" | ||||
| #~ msgstr "将窗口左移一个工作区" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the right" | ||||
| #~ msgstr "将窗口右移一个工作区" | ||||
|  | ||||
| #~ msgid "Move window one workspace up" | ||||
| #~ msgstr "将窗口上移一个工作区" | ||||
|  | ||||
| #~ msgid "Move window one workspace down" | ||||
| #~ msgstr "将窗口下移一个工作区" | ||||
|  | ||||
| #~ msgid "Raise window if it's covered by another window, otherwise lower it" | ||||
| #~ msgstr "如果窗口被其他窗口遮盖,则提升它,否则降低它" | ||||
|  | ||||
| #~ msgid "Raise window above other windows" | ||||
| #~ msgstr "将窗口提升到其它窗口之上" | ||||
|  | ||||
| #~ msgid "Lower window below other windows" | ||||
| #~ msgstr "将窗口降低到其它窗口之下" | ||||
|  | ||||
| #~ msgid "Maximize window vertically" | ||||
| #~ msgstr "垂直最大化窗口" | ||||
|  | ||||
| #~ msgid "Maximize window horizontally" | ||||
| #~ msgstr "水平最大化窗口" | ||||
|  | ||||
| #~ msgid "Move window to north-west (top left) corner" | ||||
| #~ msgstr "将窗口移到西北(左上)角" | ||||
|  | ||||
|   | ||||
							
								
								
									
										868
									
								
								po/zh_HK.po
									
									
									
									
									
								
							
							
						
						
									
										868
									
								
								po/zh_HK.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										870
									
								
								po/zh_TW.po
									
									
									
									
									
								
							
							
						
						
									
										870
									
								
								po/zh_TW.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -1,80 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" ?> | ||||
| <KeyListEntries schema="org.gnome.desktop.wm.keybindings" | ||||
|                 group="system" | ||||
|                 _name="Navigation" | ||||
|                 wm_name="Mutter" | ||||
|                 package="mutter"> | ||||
|  | ||||
| 	<KeyListEntry name="move-to-workspace-1" | ||||
| 	              _description="Move window to workspace 1" /> | ||||
|  | ||||
| 	<KeyListEntry name="move-to-workspace-2" | ||||
| 	              _description="Move window to workspace 2" /> | ||||
|  | ||||
| 	<KeyListEntry name="move-to-workspace-3" | ||||
| 	              _description="Move window to workspace 3" /> | ||||
|  | ||||
| 	<KeyListEntry name="move-to-workspace-4" | ||||
| 	              _description="Move window to workspace 4" /> | ||||
|  | ||||
| 	<KeyListEntry name="move-to-workspace-left" | ||||
| 	              _description="Move window one workspace to the left" /> | ||||
|  | ||||
| 	<KeyListEntry name="move-to-workspace-right" | ||||
| 	              _description="Move window one workspace to the right" /> | ||||
|  | ||||
| 	<KeyListEntry name="move-to-workspace-up" | ||||
| 	              _description="Move window one workspace up" /> | ||||
|  | ||||
| 	<KeyListEntry name="move-to-workspace-down" | ||||
| 	              _description="Move window one workspace down" /> | ||||
|  | ||||
| 	<KeyListEntry name="switch-applications" | ||||
| 	              _description="Switch applications"/> | ||||
|  | ||||
| 	<KeyListEntry name="switch-windows" | ||||
| 	              _description="Switch windows"/> | ||||
|  | ||||
| 	<KeyListEntry name="switch-group" | ||||
| 	              _description="Switch windows of an application"/> | ||||
|  | ||||
| 	<KeyListEntry name="switch-panels" | ||||
| 	              _description="Switch system controls"/> | ||||
|  | ||||
| 	<KeyListEntry name="cycle-windows" | ||||
| 	              _description="Switch windows directly"/> | ||||
|  | ||||
| 	<KeyListEntry name="cycle-group" | ||||
| 	              _description="Switch windows of an app directly"/> | ||||
|  | ||||
| 	<KeyListEntry name="cycle-panels" | ||||
| 	              _description="Switch system controls directly"/> | ||||
|  | ||||
| 	<KeyListEntry name="show-desktop" | ||||
| 	              _description="Hide all normal windows"/> | ||||
|  | ||||
| 	<KeyListEntry name="switch-to-workspace-1" | ||||
| 	              _description="Switch to workspace 1" /> | ||||
|  | ||||
| 	<KeyListEntry name="switch-to-workspace-2" | ||||
| 	              _description="Switch to workspace 2" /> | ||||
|  | ||||
| 	<KeyListEntry name="switch-to-workspace-3" | ||||
| 	              _description="Switch to workspace 3" /> | ||||
|  | ||||
| 	<KeyListEntry name="switch-to-workspace-4" | ||||
| 	              _description="Switch to workspace 4" /> | ||||
|  | ||||
| 	<KeyListEntry name="switch-to-workspace-left" | ||||
| 	              _description="Move to workspace left" /> | ||||
|  | ||||
| 	<KeyListEntry name="switch-to-workspace-right" | ||||
| 	              _description="Move to workspace right" /> | ||||
|  | ||||
| 	<KeyListEntry name="switch-to-workspace-up" | ||||
| 	              _description="Move to workspace above" /> | ||||
|  | ||||
| 	<KeyListEntry name="switch-to-workspace-down" | ||||
| 	              _description="Move to workspace below" /> | ||||
|  | ||||
| </KeyListEntries> | ||||
| @@ -1,13 +0,0 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" ?> | ||||
| <KeyListEntries schema="org.gnome.desktop.wm.keybindings" | ||||
|                 group="system" | ||||
|                 _name="System" | ||||
|                 wm_name="Mutter" | ||||
|                 package="mutter"> | ||||
|  | ||||
| 	<KeyListEntry name="panel-run-dialog" _description="Show the run command prompt"/> | ||||
|  | ||||
| 	<KeyListEntry name="panel-main-menu" _description="Show the activities overview"/> | ||||
|  | ||||
| </KeyListEntries> | ||||
|  | ||||
| @@ -1,49 +1,14 @@ | ||||
| <?xml version="1.0" encoding="UTF-8" ?> | ||||
| <KeyListEntries schema="org.gnome.desktop.wm.keybindings" | ||||
| <KeyListEntries schema="org.gnome.mutter.keybindings" | ||||
|                 group="system" | ||||
|                 _name="Windows" | ||||
|                 wm_name="Mutter" | ||||
|                 package="mutter"> | ||||
|  | ||||
| 	<KeyListEntry name="activate-window-menu" _description="Activate the window menu"/> | ||||
|  | ||||
| 	<KeyListEntry name="toggle-fullscreen" _description="Toggle fullscreen mode"/> | ||||
|  | ||||
| 	<KeyListEntry name="toggle-maximized" _description="Toggle maximization state"/> | ||||
|  | ||||
| 	<KeyListEntry name="maximize" _description="Maximize window"/> | ||||
|  | ||||
| 	<KeyListEntry name="unmaximize" _description="Restore window"/> | ||||
|  | ||||
| 	<KeyListEntry name="toggle-shaded" _description="Toggle shaded state"/> | ||||
|  | ||||
| 	<KeyListEntry name="close" _description="Close window"/> | ||||
|  | ||||
| 	<KeyListEntry name="minimize" _description="Hide window"/> | ||||
|  | ||||
| 	<KeyListEntry name="begin-move" _description="Move window"/> | ||||
|  | ||||
| 	<KeyListEntry name="begin-resize" _description="Resize window"/> | ||||
|  | ||||
| 	<KeyListEntry name="toggle-on-all-workspaces" | ||||
| 	              _description="Toggle window on all workspaces or one"/> | ||||
|  | ||||
| 	<KeyListEntry name="raise-or-lower" _description="Raise window if covered, otherwise lower it"/> | ||||
|  | ||||
| 	<KeyListEntry name="raise" _description="Raise window above other windows"/> | ||||
|  | ||||
| 	<KeyListEntry name="lower" _description="Lower window below other windows"/> | ||||
|  | ||||
| 	<KeyListEntry name="maximize-vertically" _description="Maximize window vertically"/> | ||||
|  | ||||
| 	<KeyListEntry name="maximize-horizontally" _description="Maximize window horizontally"/> | ||||
|  | ||||
| 	<KeyListEntry name="toggle-tiled-left" | ||||
|                       schema="org.gnome.mutter.keybindings" | ||||
|                       _description="View split on left"/> | ||||
|  | ||||
| 	<KeyListEntry name="toggle-tiled-right" | ||||
|                       schema="org.gnome.mutter.keybindings" | ||||
|                       _description="View split on right"/> | ||||
|  | ||||
| </KeyListEntries> | ||||
|   | ||||
| @@ -3,12 +3,9 @@ | ||||
|  | ||||
| lib_LTLIBRARIES = libmutter.la | ||||
|  | ||||
| SUBDIRS=compositor/plugins | ||||
| SUBDIRS=wm-tester tools compositor/plugins | ||||
|  | ||||
| INCLUDES=								\ | ||||
| 	-DCLUTTER_ENABLE_EXPERIMENTAL_API				\ | ||||
| 	-DCOGL_ENABLE_EXPERIMENTAL_API					\ | ||||
| 	-DCOGL_ENABLE_EXPERIMENTAL_2_0_API                              \ | ||||
| 	$(MUTTER_CFLAGS)						\ | ||||
| 	-I$(srcdir)							\ | ||||
| 	-I$(srcdir)/core						\ | ||||
| @@ -30,32 +27,23 @@ INCLUDES=								\ | ||||
| 	-DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" | ||||
|  | ||||
| mutter_built_sources = \ | ||||
| 	$(dbus_idle_built_sources)	\ | ||||
| 	$(dbus_xrandr_built_sources)	\ | ||||
| 	mutter-enum-types.h		\ | ||||
| 	mutter-enum-types.h \ | ||||
| 	mutter-enum-types.c | ||||
|  | ||||
| libmutter_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		\ | ||||
| @@ -77,9 +65,7 @@ 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		\ | ||||
| @@ -96,10 +82,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				\ | ||||
| @@ -114,15 +100,6 @@ 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-private.h			\ | ||||
| 	core/monitor-xrandr.c			\ | ||||
| 	core/mutter-Xatomtype.h			\ | ||||
| 	core/place.c				\ | ||||
| 	core/place.h				\ | ||||
| @@ -152,6 +129,7 @@ libmutter_la_SOURCES =				\ | ||||
| 	meta/common.h				\ | ||||
| 	core/core.h				\ | ||||
| 	ui/ui.h					\ | ||||
| 	inlinepixbufs.h				\ | ||||
| 	ui/frames.c				\ | ||||
| 	ui/frames.h				\ | ||||
| 	ui/menu.c				\ | ||||
| @@ -169,6 +147,8 @@ 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 | ||||
| @@ -177,7 +157,6 @@ libmutter_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		\ | ||||
| @@ -189,10 +168,6 @@ 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		\ | ||||
| @@ -208,6 +183,7 @@ 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 | ||||
| @@ -216,7 +192,10 @@ libmutterinclude_HEADERS =			\ | ||||
| 	$(libmutterinclude_base_headers)	\ | ||||
| 	$(libmutterinclude_extra_headers) | ||||
|  | ||||
| bin_PROGRAMS=mutter | ||||
| mutter_theme_viewer_SOURCES=  \ | ||||
| 	ui/theme-viewer.c | ||||
|  | ||||
| bin_PROGRAMS=mutter mutter-theme-viewer | ||||
|  | ||||
| mutter_SOURCES = core/mutter.c | ||||
| mutter_LDADD = $(MUTTER_LIBS) libmutter.la | ||||
| @@ -254,6 +233,8 @@ Meta-$(api_version).gir: libmutter.la | ||||
|  | ||||
| endif | ||||
|  | ||||
| mutter_theme_viewer_LDADD= $(MUTTER_LIBS) libmutter.la | ||||
|  | ||||
| testboxes_SOURCES = core/testboxes.c | ||||
| testgradient_SOURCES = ui/testgradient.c | ||||
| testasyncgetprop_SOURCES = core/testasyncgetprop.c | ||||
| @@ -278,8 +259,6 @@ wmproperties_DATA = $(wmproperties_files) | ||||
|  | ||||
| xmldir       = @GNOME_KEYBINDINGS_KEYSDIR@ | ||||
| xml_in_files = \ | ||||
|         50-mutter-navigation.xml.in	\ | ||||
|         50-mutter-system.xml.in		\ | ||||
|         50-mutter-windows.xml.in | ||||
| xml_DATA     = $(xml_in_files:.xml.in=.xml) | ||||
|  | ||||
| @@ -290,7 +269,14 @@ gsettings_SCHEMAS = org.gnome.mutter.gschema.xml | ||||
| 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-wm.desktop			\ | ||||
| 	org.gnome.mutter.gschema.xml		\ | ||||
| @@ -299,6 +285,9 @@ CLEANFILES =					\ | ||||
| 	$(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 | ||||
| @@ -310,15 +299,13 @@ EXTRA_DIST=$(desktopfiles_files) 	\ | ||||
| 	$(wmproperties_in_files)	\ | ||||
| 	$(xml_in_files)			\ | ||||
| 	org.gnome.mutter.gschema.xml.in \ | ||||
| 	idle-monitor.xml \ | ||||
| 	xrandr.xml \ | ||||
| 	mutter-schemas.convert \ | ||||
| 	libmutter.pc.in \ | ||||
| 	mutter-plugins.pc.in  \ | ||||
| 	mutter-enum-types.h.in \ | ||||
| 	mutter-enum-types.c.in | ||||
|  | ||||
| BUILT_SOURCES = $(mutter_built_sources) | ||||
| BUILT_SOURCES += $(mutter_built_sources) | ||||
| MUTTER_STAMP_FILES = stamp-mutter-enum-types.h | ||||
| CLEANFILES += $(MUTTER_STAMP_FILES) | ||||
|  | ||||
| @@ -340,22 +327,3 @@ 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 | ||||
|   | ||||
| @@ -1,120 +0,0 @@ | ||||
| /* -*- 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); | ||||
| } | ||||
|  | ||||
| @@ -1,36 +0,0 @@ | ||||
| /* -*- 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,15 +21,14 @@ | ||||
|  * 02111-1307, USA. | ||||
|  */ | ||||
|  | ||||
| #include <clutter/clutter.h> | ||||
| #include "cogl-utils.h" | ||||
|  | ||||
| /** | ||||
|  * meta_create_color_texture_4ub: | ||||
|  * @red: red component | ||||
|  * @green: green component | ||||
|  * @blue: blue component | ||||
|  * @alpha: alpha component | ||||
|  * @red: | ||||
|  * @green: | ||||
|  * @blue: | ||||
|  * @alpha: | ||||
|  * @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 | ||||
| @@ -40,7 +39,7 @@ | ||||
|  * | ||||
|  * Return value: (transfer full): a newly created Cogl texture | ||||
|  */ | ||||
| CoglTexture * | ||||
| CoglHandle | ||||
| meta_create_color_texture_4ub (guint8           red, | ||||
|                                guint8           green, | ||||
|                                guint8           blue, | ||||
| @@ -50,7 +49,7 @@ meta_create_color_texture_4ub (guint8           red, | ||||
|   CoglColor color; | ||||
|   guint8 pixel[4]; | ||||
|  | ||||
|   cogl_color_init_from_4ub (&color, red, green, blue, alpha); | ||||
|   cogl_color_set_from_4ub (&color, red, green, blue, alpha); | ||||
|   cogl_color_premultiply (&color); | ||||
|  | ||||
|   pixel[0] = cogl_color_get_red_byte (&color); | ||||
| @@ -69,42 +68,43 @@ meta_create_color_texture_4ub (guint8           red, | ||||
| /* Based on gnome-shell/src/st/st-private.c:_st_create_texture_material.c */ | ||||
|  | ||||
| /** | ||||
|  * meta_create_texture_pipeline: | ||||
|  * meta_create_texture_material: | ||||
|  * @src_texture: (allow-none): texture to use initially for the layer | ||||
|  * | ||||
|  * 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. | ||||
|  * Creates a material with a single layer. Using a common template | ||||
|  * allows sharing a shader for different uses in Mutter. To share the same | ||||
|  * shader with all other materials that are just texture plus opacity | ||||
|  * would require Cogl fixes. | ||||
|  * (See http://bugzilla.clutter-project.org/show_bug.cgi?id=2425) | ||||
|  * | ||||
|  * Return value: (transfer full): a newly created #CoglPipeline | ||||
|  * Return value: (transfer full): a newly created Cogl material | ||||
|  */ | ||||
| CoglPipeline * | ||||
| meta_create_texture_pipeline (CoglTexture *src_texture) | ||||
| CoglHandle | ||||
| meta_create_texture_material (CoglHandle src_texture) | ||||
| { | ||||
|   static CoglPipeline *texture_pipeline_template = NULL; | ||||
|   CoglPipeline *pipeline; | ||||
|   static CoglHandle texture_material_template = COGL_INVALID_HANDLE; | ||||
|   CoglHandle material; | ||||
|  | ||||
|   /* 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)) | ||||
|   /* 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)) | ||||
|     { | ||||
|       CoglContext *ctx = | ||||
|         clutter_backend_get_cogl_context (clutter_get_default_backend ()); | ||||
|       CoglHandle dummy_texture; | ||||
|  | ||||
|       texture_pipeline_template = cogl_pipeline_new (ctx); | ||||
|       cogl_pipeline_set_layer_null_texture (texture_pipeline_template, | ||||
|                                             0, /* layer */ | ||||
|                                             COGL_TEXTURE_TYPE_2D); | ||||
|       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); | ||||
|     } | ||||
|  | ||||
|   pipeline = cogl_pipeline_copy (texture_pipeline_template); | ||||
|   material = cogl_material_copy (texture_material_template); | ||||
|  | ||||
|   if (src_texture != NULL) | ||||
|     cogl_pipeline_set_layer_texture (pipeline, 0, src_texture); | ||||
|   if (src_texture != COGL_INVALID_HANDLE) | ||||
|     cogl_material_set_layer (material, 0, src_texture); | ||||
|  | ||||
|   return pipeline; | ||||
|   return material; | ||||
| } | ||||
|   | ||||
| @@ -25,11 +25,11 @@ | ||||
|  | ||||
| #include <cogl/cogl.h> | ||||
|  | ||||
| CoglTexture * meta_create_color_texture_4ub (guint8           red, | ||||
|                                              guint8           green, | ||||
|                                              guint8           blue, | ||||
|                                              guint8           alpha, | ||||
|                                              CoglTextureFlags flags); | ||||
| CoglPipeline * meta_create_texture_pipeline (CoglTexture *texture); | ||||
| CoglHandle meta_create_color_texture_4ub (guint8           red, | ||||
|                                           guint8           green, | ||||
|                                           guint8           blue, | ||||
|                                           guint8           alpha, | ||||
|                                           CoglTextureFlags flags); | ||||
| CoglHandle meta_create_texture_material  (CoglHandle src_texture); | ||||
|  | ||||
| #endif /* __META_COGL_UTILS_H__ */ | ||||
|   | ||||
| @@ -18,6 +18,7 @@ struct _MetaCompositor | ||||
|   MetaDisplay    *display; | ||||
|  | ||||
|   Atom            atom_x_root_pixmap; | ||||
|   Atom            atom_x_set_root; | ||||
|   Atom            atom_net_wm_window_opacity; | ||||
|   guint           repaint_func_id; | ||||
|  | ||||
| @@ -25,28 +26,22 @@ struct _MetaCompositor | ||||
|  | ||||
|   MetaPlugin     *modal_plugin; | ||||
|  | ||||
|   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; | ||||
|   gboolean        show_redraw : 1; | ||||
|   gboolean        debug       : 1; | ||||
|   gboolean        no_mipmaps  : 1; | ||||
| }; | ||||
|  | ||||
| struct _MetaCompScreen | ||||
| { | ||||
|   MetaScreen            *screen; | ||||
|  | ||||
|   ClutterActor          *stage, *window_group, *top_window_group, *overlay_group; | ||||
|   ClutterActor          *stage, *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; | ||||
| @@ -59,22 +54,18 @@ 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,9 +6,10 @@ | ||||
| #include <meta/screen.h> | ||||
| #include <meta/meta-background-actor.h> | ||||
|  | ||||
| void meta_background_actor_set_clip_region  (MetaBackgroundActor *self, | ||||
|                                              cairo_region_t      *clip_region); | ||||
| void meta_background_actor_set_visible_region  (MetaBackgroundActor *self, | ||||
|                                                 cairo_region_t      *visible_region); | ||||
|  | ||||
| cairo_region_t *meta_background_actor_get_clip_region (MetaBackgroundActor *self); | ||||
| void meta_background_actor_update              (MetaScreen *screen); | ||||
| void meta_background_actor_screen_size_changed (MetaScreen *screen); | ||||
|  | ||||
| #endif /* META_BACKGROUND_ACTOR_PRIVATE_H */ | ||||
|   | ||||
| @@ -1,5 +1,7 @@ | ||||
| /* -*- 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. | ||||
|  * | ||||
| @@ -21,17 +23,12 @@ | ||||
|  * 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> | ||||
| @@ -39,22 +36,222 @@ | ||||
| #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 | ||||
| { | ||||
|   cairo_region_t *clip_region; | ||||
|   MetaScreenBackground *background; | ||||
|   CoglPipeline *pipeline; | ||||
|  | ||||
|   cairo_region_t *visible_region; | ||||
|   float dim_factor; | ||||
| }; | ||||
|  | ||||
| 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_clip_region (self, NULL); | ||||
|   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); | ||||
|  | ||||
|   G_OBJECT_CLASS (meta_background_actor_parent_class)->dispose (object); | ||||
| } | ||||
| @@ -65,15 +262,11 @@ meta_background_actor_get_preferred_width (ClutterActor *actor, | ||||
|                                            gfloat       *min_width_p, | ||||
|                                            gfloat       *natural_width_p) | ||||
| { | ||||
|   ClutterContent *content; | ||||
|   gfloat width; | ||||
|   MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor); | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|   int width, height; | ||||
|  | ||||
|   content = clutter_actor_get_content (actor); | ||||
|  | ||||
|   if (content) | ||||
|     clutter_content_get_preferred_size (content, &width, NULL); | ||||
|   else | ||||
|     width = 0; | ||||
|   meta_screen_get_size (priv->background->screen, &width, &height); | ||||
|  | ||||
|   if (min_width_p) | ||||
|     *min_width_p = width; | ||||
| @@ -88,15 +281,11 @@ meta_background_actor_get_preferred_height (ClutterActor *actor, | ||||
|                                             gfloat       *natural_height_p) | ||||
|  | ||||
| { | ||||
|   ClutterContent *content; | ||||
|   gfloat height; | ||||
|   MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor); | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|   int width, height; | ||||
|  | ||||
|   content = clutter_actor_get_content (actor); | ||||
|  | ||||
|   if (content) | ||||
|     clutter_content_get_preferred_size (content, NULL, &height); | ||||
|   else | ||||
|     height = 0; | ||||
|   meta_screen_get_size (priv->background->screen, &width, &height); | ||||
|  | ||||
|   if (min_height_p) | ||||
|     *min_height_p = height; | ||||
| @@ -104,19 +293,64 @@ 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) | ||||
| { | ||||
|   ClutterContent *content; | ||||
|   gfloat width, height; | ||||
|   MetaBackgroundActor *self = META_BACKGROUND_ACTOR (actor); | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|   int width, height; | ||||
|  | ||||
|   content = clutter_actor_get_content (actor); | ||||
|  | ||||
|   if (!content) | ||||
|     return FALSE; | ||||
|  | ||||
|   clutter_content_get_preferred_size (content, &width, &height); | ||||
|   meta_screen_get_size (priv->background->screen, &width, &height); | ||||
|  | ||||
|   clutter_paint_volume_set_width (volume, width); | ||||
|   clutter_paint_volume_set_height (volume, height); | ||||
| @@ -124,60 +358,227 @@ 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) | ||||
| { | ||||
|   self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, | ||||
|                                             META_TYPE_BACKGROUND_ACTOR, | ||||
|                                             MetaBackgroundActorPrivate); | ||||
|   MetaBackgroundActorPrivate *priv; | ||||
|  | ||||
|   priv = self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, | ||||
|                                                    META_TYPE_BACKGROUND_ACTOR, | ||||
|                                                    MetaBackgroundActorPrivate); | ||||
|   priv->dim_factor = 1.0; | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_background_actor_new: | ||||
|  * @screen: the #MetaScreen | ||||
|  * | ||||
|  * 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() | ||||
|  * Creates a new actor to draw the background for the given screen. | ||||
|  * | ||||
|  * Return value: the newly created background actor | ||||
|  */ | ||||
| ClutterActor * | ||||
| meta_background_actor_new (void) | ||||
| meta_background_actor_new_for_screen (MetaScreen *screen) | ||||
| { | ||||
|   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_set_clip_region: | ||||
|  * 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: | ||||
|  * @self: a #MetaBackgroundActor | ||||
|  * @clip_region: (allow-none): the area of the actor (in allocate-relative | ||||
|  * @visible_region: (allow-none): the area of the actor (in allocate-relative | ||||
|  *   coordinates) that is visible. | ||||
|  * | ||||
|  * Sets the area of the background that is unobscured by overlapping windows. | ||||
|  * This is used to optimize and only paint the visible portions. | ||||
|  */ | ||||
| void | ||||
| meta_background_actor_set_clip_region (MetaBackgroundActor *self, | ||||
|                                        cairo_region_t      *clip_region) | ||||
| meta_background_actor_set_visible_region (MetaBackgroundActor *self, | ||||
|                                           cairo_region_t      *visible_region) | ||||
| { | ||||
|   MetaBackgroundActorPrivate *priv; | ||||
|  | ||||
| @@ -185,44 +586,85 @@ meta_background_actor_set_clip_region (MetaBackgroundActor *self, | ||||
|  | ||||
|   priv = self->priv; | ||||
|  | ||||
|   g_clear_pointer (&priv->clip_region, | ||||
|                    (GDestroyNotify) | ||||
|                    cairo_region_destroy); | ||||
|   if (priv->visible_region) | ||||
|     { | ||||
|       cairo_region_destroy (priv->visible_region); | ||||
|       priv->visible_region = NULL; | ||||
|     } | ||||
|  | ||||
|   if (clip_region) | ||||
|     priv->clip_region = cairo_region_copy (clip_region); | ||||
|   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); | ||||
|     } | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_background_actor_get_clip_region: | ||||
|  * @self: a #MetaBackgroundActor | ||||
|  * meta_background_actor_screen_size_changed: | ||||
|  * @screen: a #MetaScreen | ||||
|  * | ||||
|  * Return value (transfer full): a #cairo_region_t that represents the part of | ||||
|  * the background not obscured by other #MetaBackgroundActor or | ||||
|  * #MetaWindowActor objects. | ||||
|  * Called by the compositor when the size of the #MetaScreen changes | ||||
|  */ | ||||
| cairo_region_t * | ||||
| meta_background_actor_get_clip_region (MetaBackgroundActor *self) | ||||
| void | ||||
| meta_background_actor_screen_size_changed (MetaScreen *screen) | ||||
| { | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|   ClutterActorBox content_box; | ||||
|   cairo_rectangle_int_t content_area = { 0 }; | ||||
|   cairo_region_t *clip_region; | ||||
|   MetaScreenBackground *background = meta_screen_background_get (screen); | ||||
|   GSList *l; | ||||
|  | ||||
|   g_return_val_if_fail (META_IS_BACKGROUND_ACTOR (self), NULL); | ||||
|   update_wrap_mode (background); | ||||
|  | ||||
|   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; | ||||
|   for (l = background->actors; l; l = l->next) | ||||
|     clutter_actor_queue_relayout (l->data); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * 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); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -1,11 +0,0 @@ | ||||
| /* -*- 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 */ | ||||
| @@ -1,110 +0,0 @@ | ||||
| /* -*- 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); | ||||
| } | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -192,7 +192,10 @@ meta_module_class_init (MetaModuleClass *klass) | ||||
| static void | ||||
| meta_module_init (MetaModule *self) | ||||
| { | ||||
|   self->priv = META_MODULE_GET_PRIVATE (self); | ||||
|   MetaModulePrivate *priv; | ||||
|  | ||||
|   self->priv = priv = META_MODULE_GET_PRIVATE (self); | ||||
|  | ||||
| } | ||||
|  | ||||
| GType | ||||
|   | ||||
| @@ -85,20 +85,12 @@ 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; | ||||
| @@ -109,10 +101,6 @@ 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; | ||||
| } | ||||
|  | ||||
| @@ -293,36 +281,32 @@ meta_plugin_manager_switch_workspace (MetaPluginManager   *plugin_mgr, | ||||
|   return retval; | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_plugin_manager_filter_keybinding (MetaPluginManager *plugin_mgr, | ||||
|                                        MetaKeyBinding    *binding) | ||||
| { | ||||
|   MetaPlugin *plugin = plugin_mgr->plugin; | ||||
|   MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|   if (klass->keybinding_filter) | ||||
|     return klass->keybinding_filter (plugin, binding); | ||||
|  | ||||
|   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); | ||||
|  | ||||
|   if (klass->confirm_display_change) | ||||
|     return klass->confirm_display_change (plugin); | ||||
|   if (!plugin_mgr) | ||||
|     return FALSE; | ||||
|  | ||||
|   /* 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); | ||||
|   else | ||||
|     return meta_plugin_complete_display_change (plugin, TRUE); | ||||
|     return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE; | ||||
| } | ||||
|   | ||||
| @@ -67,14 +67,7 @@ gboolean meta_plugin_manager_switch_workspace (MetaPluginManager   *mgr, | ||||
|                                                gint                 to, | ||||
|                                                MetaMotionDirection  direction); | ||||
|  | ||||
| gboolean meta_plugin_manager_filter_keybinding (MetaPluginManager  *mgr, | ||||
|                                                 MetaKeyBinding     *binding); | ||||
|  | ||||
| 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,13 +21,6 @@ | ||||
|  * 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> | ||||
| @@ -41,7 +34,6 @@ | ||||
|  | ||||
| #include "compositor-private.h" | ||||
| #include "meta-window-actor-private.h" | ||||
| #include "monitor-private.h" | ||||
|  | ||||
| G_DEFINE_ABSTRACT_TYPE (MetaPlugin, meta_plugin, G_TYPE_OBJECT); | ||||
|  | ||||
| @@ -138,7 +130,9 @@ meta_plugin_class_init (MetaPluginClass *klass) | ||||
| static void | ||||
| meta_plugin_init (MetaPlugin *self) | ||||
| { | ||||
|   self->priv = META_PLUGIN_GET_PRIVATE (self); | ||||
|   MetaPluginPrivate *priv; | ||||
|  | ||||
|   self->priv = priv = META_PLUGIN_GET_PRIVATE (self); | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| @@ -183,18 +177,6 @@ _meta_plugin_effect_started (MetaPlugin *plugin) | ||||
|   priv->running++; | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| _meta_plugin_xevent_filter (MetaPlugin *plugin, | ||||
|                             XEvent     *xev) | ||||
| { | ||||
|   MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|   if (klass->xevent_filter && klass->xevent_filter (plugin, xev)) | ||||
|     return TRUE; | ||||
|   else | ||||
|     return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE; | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_plugin_switch_workspace_completed (MetaPlugin *plugin) | ||||
| { | ||||
| @@ -277,6 +259,10 @@ 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 | ||||
|  * | ||||
| @@ -297,13 +283,15 @@ 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, | ||||
|                                       options, timestamp); | ||||
|                                       grab_window, cursor, options, timestamp); | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -343,13 +331,3 @@ 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); | ||||
| CoglTexture*meta_shadow_get_texture (MetaShadow            *shadow); | ||||
| CoglHandle  meta_shadow_get_texture (MetaShadow            *shadow); | ||||
| void        meta_shadow_paint       (MetaShadow            *shadow, | ||||
|                                      int                    window_x, | ||||
|                                      int                    window_y, | ||||
|   | ||||
| @@ -1,5 +1,9 @@ | ||||
| /* -*- 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 | ||||
| @@ -17,13 +21,6 @@ | ||||
|  * 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> | ||||
| @@ -68,8 +65,8 @@ struct _MetaShadow | ||||
|  | ||||
|   MetaShadowFactory *factory; | ||||
|   MetaShadowCacheKey key; | ||||
|   CoglTexture *texture; | ||||
|   CoglPipeline *pipeline; | ||||
|   CoglHandle texture; | ||||
|   CoglHandle material; | ||||
|  | ||||
|   /* The outer order is the distance the shadow extends outside the window | ||||
|    * shape; the inner border is the unscaled portion inside the window | ||||
| @@ -123,12 +120,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, 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 } }, | ||||
|   { "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 } }, | ||||
|  | ||||
|   { "popup-menu",    { 1, -1, 0, 1, 128 }, { 1, -1, 0, 1, 128 } }, | ||||
|  | ||||
| @@ -178,8 +175,8 @@ meta_shadow_unref (MetaShadow *shadow) | ||||
|         } | ||||
|  | ||||
|       meta_window_shape_unref (shadow->key.shape); | ||||
|       cogl_object_unref (shadow->texture); | ||||
|       cogl_object_unref (shadow->pipeline); | ||||
|       cogl_handle_unref (shadow->texture); | ||||
|       cogl_handle_unref (shadow->material); | ||||
|  | ||||
|       g_slice_free (MetaShadow, shadow); | ||||
|     } | ||||
| @@ -221,10 +218,10 @@ meta_shadow_paint (MetaShadow     *shadow, | ||||
|   int dest_y[4]; | ||||
|   int n_x, n_y; | ||||
|  | ||||
|   cogl_pipeline_set_color4ub (shadow->pipeline, | ||||
|   cogl_material_set_color4ub (shadow->material, | ||||
|                               opacity, opacity, opacity, opacity); | ||||
|  | ||||
|   cogl_set_source (shadow->pipeline); | ||||
|   cogl_set_source (shadow->material); | ||||
|  | ||||
|   if (shadow->scale_width) | ||||
|     { | ||||
| @@ -804,7 +801,7 @@ make_shadow (MetaShadow     *shadow, | ||||
|   cairo_region_destroy (column_convolve_region); | ||||
|   g_free (buffer); | ||||
|  | ||||
|   shadow->pipeline = meta_create_texture_pipeline (shadow->texture); | ||||
|   shadow->material = meta_create_texture_material (shadow->texture); | ||||
| } | ||||
|  | ||||
| static MetaShadowParams * | ||||
|   | ||||
| @@ -1,4 +1,8 @@ | ||||
| /* | ||||
|  * shaped texture | ||||
|  * | ||||
|  * An actor to draw a masked texture. | ||||
|  * | ||||
|  * Authored By Neil Roberts  <neil@linux.intel.com> | ||||
|  * and Jasper St. Pierre <jstpierre@mecheye.net> | ||||
|  * | ||||
| @@ -21,16 +25,12 @@ | ||||
|  * 02111-1307, USA. | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * SECTION:meta-shaped-texture | ||||
|  * @title: MetaShapedTexture | ||||
|  * @short_description: An actor to draw a masked texture. | ||||
|  */ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #define CLUTTER_ENABLE_EXPERIMENTAL_API | ||||
| #define COGL_ENABLE_EXPERIMENTAL_API | ||||
|  | ||||
| #include <meta/meta-shaped-texture.h> | ||||
| #include "clutter-utils.h" | ||||
| #include "meta-texture-tower.h" | ||||
|  | ||||
| #include <clutter/clutter.h> | ||||
| @@ -67,11 +67,12 @@ struct _MetaShapedTexturePrivate | ||||
| { | ||||
|   MetaTextureTower *paint_tower; | ||||
|   Pixmap pixmap; | ||||
|   CoglTexturePixmapX11 *texture; | ||||
|   CoglTexture *mask_texture; | ||||
|   CoglHandle texture; | ||||
|   CoglHandle mask_texture; | ||||
|   CoglHandle material; | ||||
|   CoglHandle material_unshaped; | ||||
|  | ||||
|   cairo_region_t *clip_region; | ||||
|   cairo_region_t *opaque_region; | ||||
|  | ||||
|   guint tex_width, tex_height; | ||||
|  | ||||
| @@ -103,8 +104,8 @@ meta_shaped_texture_init (MetaShapedTexture *self) | ||||
|   priv = self->priv = META_SHAPED_TEXTURE_GET_PRIVATE (self); | ||||
|  | ||||
|   priv->paint_tower = meta_texture_tower_new (); | ||||
|   priv->texture = NULL; | ||||
|   priv->mask_texture = NULL; | ||||
|   priv->texture = COGL_INVALID_HANDLE; | ||||
|   priv->mask_texture = COGL_INVALID_HANDLE; | ||||
|   priv->create_mipmaps = TRUE; | ||||
| } | ||||
|  | ||||
| @@ -118,99 +119,41 @@ meta_shaped_texture_dispose (GObject *object) | ||||
|     meta_texture_tower_free (priv->paint_tower); | ||||
|   priv->paint_tower = NULL; | ||||
|  | ||||
|   g_clear_pointer (&priv->texture, cogl_object_unref); | ||||
|   g_clear_pointer (&priv->opaque_region, cairo_region_destroy); | ||||
|   if (priv->material != COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       cogl_handle_unref (priv->material); | ||||
|       priv->material = COGL_INVALID_HANDLE; | ||||
|     } | ||||
|   if (priv->material_unshaped != COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       cogl_handle_unref (priv->material_unshaped); | ||||
|       priv->material_unshaped = COGL_INVALID_HANDLE; | ||||
|     } | ||||
|   if (priv->texture != COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       cogl_handle_unref (priv->texture); | ||||
|       priv->texture = COGL_INVALID_HANDLE; | ||||
|     } | ||||
|  | ||||
|   meta_shaped_texture_set_mask_texture (self, NULL); | ||||
|   meta_shaped_texture_set_mask_texture (self, COGL_INVALID_HANDLE); | ||||
|   meta_shaped_texture_set_clip_region (self, NULL); | ||||
|  | ||||
|   G_OBJECT_CLASS (meta_shaped_texture_parent_class)->dispose (object); | ||||
| } | ||||
|  | ||||
| static CoglPipeline * | ||||
| get_unmasked_pipeline (CoglContext *ctx) | ||||
| { | ||||
|   return cogl_pipeline_new (ctx); | ||||
| } | ||||
|  | ||||
| static CoglPipeline * | ||||
| get_masked_pipeline (CoglContext *ctx) | ||||
| { | ||||
|   static CoglPipeline *template = NULL; | ||||
|   if (G_UNLIKELY (template == NULL)) | ||||
|     { | ||||
|       template = cogl_pipeline_new (ctx); | ||||
|       cogl_pipeline_set_layer_combine (template, 1, | ||||
|                                        "RGBA = MODULATE (PREVIOUS, TEXTURE[A])", | ||||
|                                        NULL); | ||||
|     } | ||||
|  | ||||
|   return cogl_pipeline_copy (template); | ||||
| } | ||||
|  | ||||
| static CoglPipeline * | ||||
| get_unblended_pipeline (CoglContext *ctx) | ||||
| { | ||||
|   static CoglPipeline *template = NULL; | ||||
|   if (G_UNLIKELY (template == NULL)) | ||||
|     { | ||||
|       CoglColor color; | ||||
|       template = cogl_pipeline_new (ctx); | ||||
|       cogl_color_init_from_4ub (&color, 255, 255, 255, 255); | ||||
|       cogl_pipeline_set_blend (template, | ||||
|                                "RGBA = ADD (SRC_COLOR, 0)", | ||||
|                                NULL); | ||||
|       cogl_pipeline_set_color (template, &color); | ||||
|     } | ||||
|  | ||||
|   return cogl_pipeline_copy (template); | ||||
| } | ||||
|  | ||||
| static void | ||||
| paint_clipped_rectangle (CoglFramebuffer       *fb, | ||||
|                          CoglPipeline          *pipeline, | ||||
|                          cairo_rectangle_int_t *rect, | ||||
|                          ClutterActorBox       *alloc) | ||||
| { | ||||
|   float coords[8]; | ||||
|   float x1, y1, x2, y2; | ||||
|  | ||||
|   x1 = rect->x; | ||||
|   y1 = rect->y; | ||||
|   x2 = rect->x + rect->width; | ||||
|   y2 = rect->y + rect->height; | ||||
|  | ||||
|   coords[0] = rect->x / (alloc->x2 - alloc->x1); | ||||
|   coords[1] = rect->y / (alloc->y2 - alloc->y1); | ||||
|   coords[2] = (rect->x + rect->width) / (alloc->x2 - alloc->x1); | ||||
|   coords[3] = (rect->y + rect->height) / (alloc->y2 - alloc->y1); | ||||
|  | ||||
|   coords[4] = coords[0]; | ||||
|   coords[5] = coords[1]; | ||||
|   coords[6] = coords[2]; | ||||
|   coords[7] = coords[3]; | ||||
|  | ||||
|   cogl_framebuffer_draw_multitextured_rectangle (fb, pipeline, | ||||
|                                                  x1, y1, x2, y2, | ||||
|                                                  &coords[0], 8); | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
| static void | ||||
| meta_shaped_texture_paint (ClutterActor *actor) | ||||
| { | ||||
|   MetaShapedTexture *stex = (MetaShapedTexture *) actor; | ||||
|   MetaShapedTexturePrivate *priv = stex->priv; | ||||
|   CoglHandle paint_tex; | ||||
|   guint tex_width, tex_height; | ||||
|   guchar opacity; | ||||
|   CoglContext *ctx; | ||||
|   CoglFramebuffer *fb; | ||||
|   CoglPipeline *pipeline = NULL; | ||||
|   CoglTexture *paint_tex; | ||||
|   ClutterActorBox alloc; | ||||
|   cairo_region_t *blended_region = NULL; | ||||
|   CoglPipelineFilter filter; | ||||
|  | ||||
|   static CoglHandle material_template = COGL_INVALID_HANDLE; | ||||
|   static CoglHandle material_unshaped_template = COGL_INVALID_HANDLE; | ||||
|  | ||||
|   CoglHandle material; | ||||
|  | ||||
|   if (priv->clip_region && cairo_region_is_empty (priv->clip_region)) | ||||
|     return; | ||||
| @@ -236,9 +179,9 @@ meta_shaped_texture_paint (ClutterActor *actor) | ||||
|   if (priv->create_mipmaps) | ||||
|     paint_tex = meta_texture_tower_get_paint_texture (priv->paint_tower); | ||||
|   else | ||||
|     paint_tex = COGL_TEXTURE (priv->texture); | ||||
|     paint_tex = priv->texture; | ||||
|  | ||||
|   if (paint_tex == NULL) | ||||
|   if (paint_tex == COGL_INVALID_HANDLE) | ||||
|     return; | ||||
|  | ||||
|   tex_width = priv->tex_width; | ||||
| @@ -247,144 +190,101 @@ meta_shaped_texture_paint (ClutterActor *actor) | ||||
|   if (tex_width == 0 || tex_height == 0) /* no contents yet */ | ||||
|     return; | ||||
|  | ||||
|   /* Use nearest-pixel interpolation if the texture is unscaled. This | ||||
|    * improves performance, especially with software rendering. | ||||
|    */ | ||||
|  | ||||
|   filter = COGL_PIPELINE_FILTER_LINEAR; | ||||
|  | ||||
|   if (!clutter_actor_is_in_clone_paint (actor)) | ||||
|   if (priv->mask_texture == COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       int x_origin, y_origin; | ||||
|       /* Use a single-layer texture if we don't have a mask. */ | ||||
|  | ||||
|       if (meta_actor_is_untransformed (actor, | ||||
|                                        &x_origin, | ||||
|                                        &y_origin)) | ||||
|         filter = COGL_PIPELINE_FILTER_NEAREST; | ||||
|     } | ||||
|  | ||||
|   ctx = clutter_backend_get_cogl_context (clutter_get_default_backend ()); | ||||
|   fb = cogl_get_draw_framebuffer (); | ||||
|  | ||||
|   opacity = clutter_actor_get_paint_opacity (actor); | ||||
|   clutter_actor_get_allocation_box (actor, &alloc); | ||||
|  | ||||
|   if (priv->opaque_region != NULL && opacity == 255) | ||||
|     { | ||||
|       CoglPipeline *opaque_pipeline; | ||||
|       cairo_region_t *region; | ||||
|       int n_rects; | ||||
|       int i; | ||||
|  | ||||
|       if (priv->clip_region != NULL) | ||||
|       if (priv->material_unshaped == COGL_INVALID_HANDLE)  | ||||
|         { | ||||
|           region = cairo_region_copy (priv->clip_region); | ||||
|           cairo_region_intersect (region, priv->opaque_region); | ||||
|           if (G_UNLIKELY (material_unshaped_template == COGL_INVALID_HANDLE)) | ||||
|             material_unshaped_template = cogl_material_new (); | ||||
|  | ||||
|           priv->material_unshaped = cogl_material_copy (material_unshaped_template); | ||||
|         } | ||||
|       else | ||||
|         { | ||||
|           region = cairo_region_reference (priv->opaque_region); | ||||
|         } | ||||
|  | ||||
|       if (cairo_region_is_empty (region)) | ||||
|         goto paint_blended; | ||||
|  | ||||
|       opaque_pipeline = get_unblended_pipeline (ctx); | ||||
|       cogl_pipeline_set_layer_texture (opaque_pipeline, 0, paint_tex); | ||||
|       cogl_pipeline_set_layer_filters (opaque_pipeline, 0, filter, filter); | ||||
|  | ||||
|       n_rects = cairo_region_num_rectangles (region); | ||||
|       for (i = 0; i < n_rects; i++) | ||||
|         { | ||||
|           cairo_rectangle_int_t rect; | ||||
|           cairo_region_get_rectangle (region, i, &rect); | ||||
|           paint_clipped_rectangle (fb, opaque_pipeline, &rect, &alloc); | ||||
|         } | ||||
|  | ||||
|       cogl_object_unref (opaque_pipeline); | ||||
|  | ||||
|       if (priv->clip_region != NULL) | ||||
|         { | ||||
|           blended_region = cairo_region_copy (priv->clip_region); | ||||
|         } | ||||
|       else | ||||
|         { | ||||
|           cairo_rectangle_int_t rect = { 0, 0, tex_width, tex_height }; | ||||
|           blended_region = cairo_region_create_rectangle (&rect); | ||||
|         } | ||||
|  | ||||
|       cairo_region_subtract (blended_region, priv->opaque_region); | ||||
|  | ||||
|     paint_blended: | ||||
|       cairo_region_destroy (region); | ||||
|     } | ||||
|  | ||||
|   if (blended_region == NULL && priv->clip_region != NULL) | ||||
|     blended_region = cairo_region_reference (priv->clip_region); | ||||
|  | ||||
|   if (blended_region != NULL && cairo_region_is_empty (blended_region)) | ||||
|     goto out; | ||||
|  | ||||
|   if (priv->mask_texture == NULL) | ||||
|     { | ||||
|       pipeline = get_unmasked_pipeline (ctx); | ||||
|         material = priv->material_unshaped; | ||||
|     } | ||||
|   else | ||||
|     { | ||||
|       pipeline = get_masked_pipeline (ctx); | ||||
|       cogl_pipeline_set_layer_texture (pipeline, 1, priv->mask_texture); | ||||
|       cogl_pipeline_set_layer_filters (pipeline, 1, filter, filter); | ||||
|       if (priv->material == COGL_INVALID_HANDLE) | ||||
| 	{ | ||||
| 	   if (G_UNLIKELY (material_template == COGL_INVALID_HANDLE)) | ||||
| 	    { | ||||
| 	      material_template =  cogl_material_new (); | ||||
| 	      cogl_material_set_layer_combine (material_template, 1, | ||||
| 					   "RGBA = MODULATE (PREVIOUS, TEXTURE[A])", | ||||
| 					   NULL); | ||||
| 	    } | ||||
| 	  priv->material = cogl_material_copy (material_template); | ||||
| 	} | ||||
|       material = priv->material; | ||||
|  | ||||
|       cogl_material_set_layer (material, 1, priv->mask_texture); | ||||
|     } | ||||
|  | ||||
|   cogl_pipeline_set_layer_texture (pipeline, 0, paint_tex); | ||||
|   cogl_pipeline_set_layer_filters (pipeline, 0, filter, filter); | ||||
|   cogl_material_set_layer (material, 0, paint_tex); | ||||
|  | ||||
|   { | ||||
|     CoglColor color; | ||||
|     cogl_color_init_from_4ub (&color, opacity, opacity, opacity, opacity); | ||||
|     cogl_pipeline_set_color (pipeline, &color); | ||||
|     guchar opacity = clutter_actor_get_paint_opacity (actor); | ||||
|     cogl_color_set_from_4ub (&color, opacity, opacity, opacity, opacity); | ||||
|     cogl_material_set_color (material, &color); | ||||
|   } | ||||
|  | ||||
|   if (blended_region != NULL) | ||||
|   cogl_set_source (material); | ||||
|  | ||||
|   clutter_actor_get_allocation_box (actor, &alloc); | ||||
|  | ||||
|   if (priv->clip_region) | ||||
|     { | ||||
|       int n_rects; | ||||
|       int i; | ||||
|       cairo_rectangle_int_t tex_rect = { 0, 0, tex_width, tex_height }; | ||||
|  | ||||
|       /* Limit to how many separate rectangles we'll draw; beyond this just | ||||
|        * fall back and draw the whole thing */ | ||||
| #     define MAX_RECTS 16 | ||||
|  | ||||
|       n_rects = cairo_region_num_rectangles (blended_region); | ||||
|       n_rects = cairo_region_num_rectangles (priv->clip_region); | ||||
|       if (n_rects <= MAX_RECTS) | ||||
| 	{ | ||||
|           int i; | ||||
|           cairo_rectangle_int_t tex_rect = { 0, 0, tex_width, tex_height }; | ||||
| 	  float coords[8]; | ||||
|           float x1, y1, x2, y2; | ||||
|  | ||||
| 	  for (i = 0; i < n_rects; i++) | ||||
| 	    { | ||||
| 	      cairo_rectangle_int_t rect; | ||||
|  | ||||
| 	      cairo_region_get_rectangle (blended_region, i, &rect); | ||||
| 	      cairo_region_get_rectangle (priv->clip_region, i, &rect); | ||||
|  | ||||
| 	      if (!gdk_rectangle_intersect (&tex_rect, &rect, &rect)) | ||||
| 		continue; | ||||
|  | ||||
|               paint_clipped_rectangle (fb, pipeline, &rect, &alloc); | ||||
| 	      x1 = rect.x; | ||||
| 	      y1 = rect.y; | ||||
| 	      x2 = rect.x + rect.width; | ||||
| 	      y2 = rect.y + rect.height; | ||||
|  | ||||
| 	      coords[0] = rect.x / (alloc.x2 - alloc.x1); | ||||
| 	      coords[1] = rect.y / (alloc.y2 - alloc.y1); | ||||
| 	      coords[2] = (rect.x + rect.width) / (alloc.x2 - alloc.x1); | ||||
| 	      coords[3] = (rect.y + rect.height) / (alloc.y2 - alloc.y1); | ||||
|  | ||||
|               coords[4] = coords[0]; | ||||
|               coords[5] = coords[1]; | ||||
|               coords[6] = coords[2]; | ||||
|               coords[7] = coords[3]; | ||||
|  | ||||
|               cogl_rectangle_with_multitexture_coords (x1, y1, x2, y2, | ||||
|                                                        &coords[0], 8); | ||||
|             } | ||||
|  | ||||
|           goto out; | ||||
| 	  return; | ||||
| 	} | ||||
|     } | ||||
|  | ||||
|   cogl_framebuffer_draw_rectangle (fb, pipeline, | ||||
|                                    0, 0, | ||||
|                                    alloc.x2 - alloc.x1, | ||||
|                                    alloc.y2 - alloc.y1); | ||||
|  | ||||
|  out: | ||||
|   if (pipeline != NULL) | ||||
|     cogl_object_unref (pipeline); | ||||
|   if (blended_region != NULL) | ||||
|     cairo_region_destroy (blended_region); | ||||
|   cogl_rectangle (0, 0, | ||||
| 		  alloc.x2 - alloc.x1, | ||||
| 		  alloc.y2 - alloc.y1); | ||||
| } | ||||
|  | ||||
| static void | ||||
| @@ -395,21 +295,18 @@ meta_shaped_texture_pick (ClutterActor       *actor, | ||||
|   MetaShapedTexturePrivate *priv = stex->priv; | ||||
|  | ||||
|   /* If there is no region then use the regular pick */ | ||||
|   if (priv->mask_texture == NULL) | ||||
|     CLUTTER_ACTOR_CLASS (meta_shaped_texture_parent_class)->pick (actor, color); | ||||
|   if (priv->mask_texture == COGL_INVALID_HANDLE) | ||||
|     CLUTTER_ACTOR_CLASS (meta_shaped_texture_parent_class) | ||||
|       ->pick (actor, color); | ||||
|   else if (clutter_actor_should_pick_paint (actor)) | ||||
|     { | ||||
|       CoglTexture *paint_tex; | ||||
|       CoglHandle paint_tex; | ||||
|       ClutterActorBox alloc; | ||||
|       guint tex_width, tex_height; | ||||
|       CoglPipeline *pipeline; | ||||
|       CoglContext *ctx; | ||||
|       CoglFramebuffer *fb; | ||||
|       CoglColor cogl_color; | ||||
|  | ||||
|       paint_tex = COGL_TEXTURE (priv->texture); | ||||
|       paint_tex = priv->texture; | ||||
|  | ||||
|       if (paint_tex == NULL) | ||||
|       if (paint_tex == COGL_INVALID_HANDLE) | ||||
|         return; | ||||
|  | ||||
|       tex_width = cogl_texture_get_width (paint_tex); | ||||
| @@ -418,22 +315,17 @@ meta_shaped_texture_pick (ClutterActor       *actor, | ||||
|       if (tex_width == 0 || tex_height == 0) /* no contents yet */ | ||||
|         return; | ||||
|  | ||||
|       ctx = clutter_backend_get_cogl_context (clutter_get_default_backend ()); | ||||
|       fb = cogl_get_draw_framebuffer (); | ||||
|  | ||||
|       cogl_color_init_from_4ub (&cogl_color, color->red, color->green, color->blue, color->alpha); | ||||
|  | ||||
|       pipeline = get_masked_pipeline (ctx); | ||||
|       cogl_pipeline_set_layer_texture (pipeline, 1, priv->mask_texture); | ||||
|       cogl_pipeline_set_color (pipeline, &cogl_color); | ||||
|       cogl_set_source_color4ub (color->red, color->green, color->blue, | ||||
|                                  color->alpha); | ||||
|  | ||||
|       clutter_actor_get_allocation_box (actor, &alloc); | ||||
|  | ||||
|       cogl_framebuffer_draw_rectangle (fb, pipeline, | ||||
|                                        0, 0, | ||||
|                                        alloc.x2 - alloc.x1, | ||||
|                                        alloc.y2 - alloc.y1); | ||||
|       cogl_object_unref (pipeline); | ||||
|       /* Paint the mask rectangle in the given color */ | ||||
|       cogl_set_source_texture (priv->mask_texture); | ||||
|       cogl_rectangle_with_texture_coords (0, 0, | ||||
|                                           alloc.x2 - alloc.x1, | ||||
|                                           alloc.y2 - alloc.y1, | ||||
|                                           0, 0, 1, 1); | ||||
|     } | ||||
| } | ||||
|  | ||||
| @@ -504,17 +396,17 @@ meta_shaped_texture_set_create_mipmaps (MetaShapedTexture *stex, | ||||
|  | ||||
|   if (create_mipmaps != priv->create_mipmaps) | ||||
|     { | ||||
|       CoglTexture *base_texture; | ||||
|       CoglHandle base_texture; | ||||
|       priv->create_mipmaps = create_mipmaps; | ||||
|       base_texture = create_mipmaps ? | ||||
|         COGL_TEXTURE (priv->texture) : NULL; | ||||
|         priv->texture : COGL_INVALID_HANDLE; | ||||
|       meta_texture_tower_set_base_texture (priv->paint_tower, base_texture); | ||||
|     } | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_shaped_texture_set_mask_texture (MetaShapedTexture *stex, | ||||
|                                       CoglTexture       *mask_texture) | ||||
|                                       CoglHandle         mask_texture) | ||||
| { | ||||
|   MetaShapedTexturePrivate *priv; | ||||
|  | ||||
| @@ -522,90 +414,46 @@ meta_shaped_texture_set_mask_texture (MetaShapedTexture *stex, | ||||
|  | ||||
|   priv = stex->priv; | ||||
|  | ||||
|   g_clear_pointer (&priv->mask_texture, cogl_object_unref); | ||||
|   if (priv->mask_texture != COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       cogl_handle_unref (priv->mask_texture); | ||||
|       priv->mask_texture = COGL_INVALID_HANDLE; | ||||
|     } | ||||
|  | ||||
|   if (mask_texture != NULL) | ||||
|   if (mask_texture != COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       priv->mask_texture = mask_texture; | ||||
|       cogl_object_ref (priv->mask_texture); | ||||
|       cogl_handle_ref (priv->mask_texture); | ||||
|     } | ||||
|  | ||||
|   clutter_actor_queue_redraw (CLUTTER_ACTOR (stex)); | ||||
| } | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * meta_shaped_texture_update_area: | ||||
|  * @stex: #MetaShapedTexture | ||||
|  * @x: the x coordinate of the damaged area | ||||
|  * @y: the y coordinate of the damaged area | ||||
|  * @width: the width of the damaged area | ||||
|  * @height: the height of the damaged area | ||||
|  * @unobscured_region: The unobscured region of the window or %NULL if | ||||
|  * there is no valid one (like when the actor is transformed or | ||||
|  * has a mapped clone) | ||||
|  * | ||||
|  * Repairs the damaged area indicated by @x, @y, @width and @height | ||||
|  * and queues a redraw for the intersection @visibible_region and | ||||
|  * the damage area. If @visibible_region is %NULL a redraw will always | ||||
|  * get queued. | ||||
|  * | ||||
|  * Return value: Whether a redraw have been queued or not | ||||
|  */ | ||||
| gboolean | ||||
| void | ||||
| meta_shaped_texture_update_area (MetaShapedTexture *stex, | ||||
| 				 int                x, | ||||
| 				 int                y, | ||||
| 				 int                width, | ||||
| 				 int                height, | ||||
| 				 cairo_region_t    *unobscured_region) | ||||
| 				 int                height) | ||||
| { | ||||
|   MetaShapedTexturePrivate *priv; | ||||
|   const cairo_rectangle_int_t clip = { x, y, width, height }; | ||||
|  | ||||
|   priv = stex->priv; | ||||
|  | ||||
|   if (priv->texture == NULL) | ||||
|     return FALSE; | ||||
|   if (priv->texture == COGL_INVALID_HANDLE) | ||||
|     return; | ||||
|  | ||||
|   cogl_texture_pixmap_x11_update_area (priv->texture, | ||||
|                                        x, y, width, height); | ||||
|   cogl_texture_pixmap_x11_update_area (priv->texture, x, y, width, height); | ||||
|  | ||||
|   meta_texture_tower_update_area (priv->paint_tower, x, y, width, height); | ||||
|  | ||||
|   if (unobscured_region) | ||||
|     { | ||||
|       cairo_region_t *intersection; | ||||
|  | ||||
|       if (cairo_region_is_empty (unobscured_region)) | ||||
|         return FALSE; | ||||
|  | ||||
|       intersection = cairo_region_copy (unobscured_region); | ||||
|       cairo_region_intersect_rectangle (intersection, &clip); | ||||
|  | ||||
|       if (!cairo_region_is_empty (intersection)) | ||||
|         { | ||||
|           cairo_rectangle_int_t damage_rect; | ||||
|           cairo_region_get_extents (intersection, &damage_rect); | ||||
|           clutter_actor_queue_redraw_with_clip (CLUTTER_ACTOR (stex), &damage_rect); | ||||
|           cairo_region_destroy (intersection); | ||||
|  | ||||
|           return TRUE; | ||||
|         } | ||||
|  | ||||
|       cairo_region_destroy (intersection); | ||||
|  | ||||
|       return FALSE; | ||||
|     } | ||||
|  | ||||
|   clutter_actor_queue_redraw_with_clip (CLUTTER_ACTOR (stex), &clip); | ||||
|  | ||||
|   return TRUE; | ||||
| } | ||||
|  | ||||
| static void | ||||
| set_cogl_texture (MetaShapedTexture    *stex, | ||||
|                   CoglTexturePixmapX11 *cogl_tex) | ||||
| set_cogl_texture (MetaShapedTexture *stex, | ||||
|                   CoglHandle         cogl_tex) | ||||
| { | ||||
|   MetaShapedTexturePrivate *priv; | ||||
|   guint width, height; | ||||
| @@ -614,15 +462,21 @@ set_cogl_texture (MetaShapedTexture    *stex, | ||||
|  | ||||
|   priv = stex->priv; | ||||
|  | ||||
|   if (priv->texture != NULL) | ||||
|     cogl_object_unref (priv->texture); | ||||
|   if (priv->texture != COGL_INVALID_HANDLE) | ||||
|     cogl_handle_unref (priv->texture); | ||||
|  | ||||
|   priv->texture = cogl_tex; | ||||
|  | ||||
|   if (cogl_tex != NULL) | ||||
|   if (priv->material != COGL_INVALID_HANDLE) | ||||
|     cogl_material_set_layer (priv->material, 0, cogl_tex); | ||||
|  | ||||
|   if (priv->material_unshaped != COGL_INVALID_HANDLE) | ||||
|     cogl_material_set_layer (priv->material_unshaped, 0, cogl_tex); | ||||
|  | ||||
|   if (cogl_tex != COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       width = cogl_texture_get_width (COGL_TEXTURE (cogl_tex)); | ||||
|       height = cogl_texture_get_height (COGL_TEXTURE (cogl_tex)); | ||||
|       width = cogl_texture_get_width (cogl_tex); | ||||
|       height = cogl_texture_get_height (cogl_tex); | ||||
|  | ||||
|       if (width != priv->tex_width || | ||||
|           height != priv->tex_height) | ||||
| @@ -635,7 +489,7 @@ set_cogl_texture (MetaShapedTexture    *stex, | ||||
|     } | ||||
|   else | ||||
|     { | ||||
|       /* size changed to 0 going to an inavlid texture */ | ||||
|       /* size changed to 0 going to an invalid handle */ | ||||
|       priv->tex_width = 0; | ||||
|       priv->tex_height = 0; | ||||
|       clutter_actor_queue_relayout (CLUTTER_ACTOR (stex)); | ||||
| @@ -671,11 +525,10 @@ meta_shaped_texture_set_pixmap (MetaShapedTexture *stex, | ||||
|       set_cogl_texture (stex, cogl_texture_pixmap_x11_new (ctx, pixmap, FALSE, NULL)); | ||||
|     } | ||||
|   else | ||||
|     set_cogl_texture (stex, NULL); | ||||
|     set_cogl_texture (stex, COGL_INVALID_HANDLE); | ||||
|  | ||||
|   if (priv->create_mipmaps) | ||||
|     meta_texture_tower_set_base_texture (priv->paint_tower, | ||||
|                                          COGL_TEXTURE (priv->texture)); | ||||
|     meta_texture_tower_set_base_texture (priv->paint_tower, priv->texture); | ||||
| } | ||||
|  | ||||
| /** | ||||
| @@ -684,18 +537,18 @@ meta_shaped_texture_set_pixmap (MetaShapedTexture *stex, | ||||
|  * | ||||
|  * Returns: (transfer none): the unshaped texture | ||||
|  */ | ||||
| CoglTexture * | ||||
| CoglHandle | ||||
| meta_shaped_texture_get_texture (MetaShapedTexture *stex) | ||||
| { | ||||
|   g_return_val_if_fail (META_IS_SHAPED_TEXTURE (stex), NULL); | ||||
|   return COGL_TEXTURE (stex->priv->texture); | ||||
|   g_return_val_if_fail (META_IS_SHAPED_TEXTURE (stex), COGL_INVALID_HANDLE); | ||||
|   return stex->priv->texture; | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_shaped_texture_set_clip_region: | ||||
|  * @stex: a #MetaShapedTexture | ||||
|  * @clip_region: the region of the texture that is visible and | ||||
|  *   should be painted. | ||||
|  * @clip_region: (transfer full): the region of the texture that | ||||
|  *   is visible and should be painted. | ||||
|  * | ||||
|  * Provides a hint to the texture about what areas of the texture | ||||
|  * are not completely obscured and thus need to be painted. This | ||||
| @@ -716,7 +569,10 @@ meta_shaped_texture_set_clip_region (MetaShapedTexture *stex, | ||||
|   priv = stex->priv; | ||||
|  | ||||
|   if (priv->clip_region) | ||||
|     cairo_region_destroy (priv->clip_region); | ||||
|     { | ||||
|       cairo_region_destroy (priv->clip_region); | ||||
|       priv->clip_region = NULL; | ||||
|     } | ||||
|  | ||||
|   if (clip_region) | ||||
|     priv->clip_region = cairo_region_copy (clip_region); | ||||
| @@ -724,36 +580,6 @@ meta_shaped_texture_set_clip_region (MetaShapedTexture *stex, | ||||
|     priv->clip_region = NULL; | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_shaped_texture_set_opaque_region: | ||||
|  * @stex: a #MetaShapedTexture | ||||
|  * @opaque_region: (transfer full): the region of the texture that | ||||
|  *   can have blending turned off. | ||||
|  * | ||||
|  * As most windows have a large portion that does not require blending, | ||||
|  * we can easily turn off blending if we know the areas that do not | ||||
|  * require blending. This sets the region where we will not blend for | ||||
|  * optimization purposes. | ||||
|  */ | ||||
| void | ||||
| meta_shaped_texture_set_opaque_region (MetaShapedTexture *stex, | ||||
|                                        cairo_region_t    *opaque_region) | ||||
| { | ||||
|   MetaShapedTexturePrivate *priv; | ||||
|  | ||||
|   g_return_if_fail (META_IS_SHAPED_TEXTURE (stex)); | ||||
|  | ||||
|   priv = stex->priv; | ||||
|  | ||||
|   if (priv->opaque_region) | ||||
|     cairo_region_destroy (priv->opaque_region); | ||||
|  | ||||
|   if (opaque_region) | ||||
|     priv->opaque_region = cairo_region_reference (opaque_region); | ||||
|   else | ||||
|     priv->opaque_region = NULL; | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_shaped_texture_get_image: | ||||
|  * @stex: A #MetaShapedTexture | ||||
| @@ -772,13 +598,13 @@ cairo_surface_t * | ||||
| meta_shaped_texture_get_image (MetaShapedTexture     *stex, | ||||
|                                cairo_rectangle_int_t *clip) | ||||
| { | ||||
|   CoglTexture *texture, *mask_texture; | ||||
|   CoglHandle texture, mask_texture; | ||||
|   cairo_rectangle_int_t texture_rect = { 0, 0, 0, 0 }; | ||||
|   cairo_surface_t *surface; | ||||
|  | ||||
|   g_return_val_if_fail (META_IS_SHAPED_TEXTURE (stex), NULL); | ||||
|  | ||||
|   texture = COGL_TEXTURE (stex->priv->texture); | ||||
|   texture = stex->priv->texture; | ||||
|  | ||||
|   if (texture == NULL) | ||||
|     return NULL; | ||||
| @@ -815,7 +641,7 @@ meta_shaped_texture_get_image (MetaShapedTexture     *stex, | ||||
|     cogl_object_unref (texture); | ||||
|  | ||||
|   mask_texture = stex->priv->mask_texture; | ||||
|   if (mask_texture != NULL) | ||||
|   if (mask_texture != COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       cairo_t *cr; | ||||
|       cairo_surface_t *mask_surface; | ||||
|   | ||||
| @@ -25,6 +25,9 @@ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #define CLUTTER_ENABLE_EXPERIMENTAL_API | ||||
| #define COGL_ENABLE_EXPERIMENTAL_API | ||||
|  | ||||
| #include <clutter/clutter.h> | ||||
| #include "meta-texture-rectangle.h" | ||||
|  | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user