Compare commits
	
		
			10 Commits
		
	
	
		
			wip/frame-
			...
			gnome-3-4
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 24f2743a10 | ||
|   | a52d4188e0 | ||
|   | 8638fb06f1 | ||
|   | 9aea81cb42 | ||
|   | 844ad6f4d4 | ||
|   | 01507d975d | ||
|   | 24bb09771a | ||
|   | 4ca84727fe | ||
|   | ff688cee83 | ||
|   | 5e453f41be | 
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.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 | ||||
|   | ||||
							
								
								
									
										222
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										222
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,225 +1,3 @@ | ||||
| 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] | ||||
|  | ||||
| Contributors: | ||||
|   Florian Müllner | ||||
|  | ||||
| Translations: | ||||
|   Mattias Põldaru [et], Kjartan Maraas [nb], Мирослав Николић [sr, sr@latin], | ||||
|   Marek Černocký [cs], Andika Triwidada [id], Daniel Mustieles [es], | ||||
|   Fran Diéguez [gl], Matej Urbančič [sl] | ||||
|  | ||||
| 3.6.1 | ||||
| ===== | ||||
| * Fix crash when opening large popup menus [Jasper; #681676] | ||||
| * window: Don't move the desktop window after monitor hotplug [Jasper; #681159] | ||||
| * Expose MetaPlugin to introspection [Evan; #671098] | ||||
| * Optionally delay focus changes in focus-follows-mouse mode [Florian; #678169] | ||||
| * Resize the guard window when the X screen is resized [Benjamin; #670396] | ||||
| * display: Only manage the default X screen [Jürg; #648156] | ||||
| * Misc cleanups: [Owen; #587255] | ||||
|  | ||||
| Contributors: | ||||
|   Benjamin Berg, Jürg Billeter, Evan Broder, Florian Müllner, Jasper St. Pierre, | ||||
|   Owen Taylor | ||||
|  | ||||
| Translations: | ||||
|   Alexandre Franke [fr], Theppitak Karoonboonyanan [th], Sayak Sarkar [bn_IN], | ||||
|   Sandeep Sheshrao Shedmake [mr], Ask H. Larsen [da], Shankar Prasad [kn], | ||||
|   Alexander Shopov [bg], Aurimas Černius [lt], Ihar Hrachyshka [be], | ||||
|   Kjartan Maraas [nb], Daniel Mustieles [es], Changwoo Ryu [ko], | ||||
|   Yuri Myasoedov [ru], Tom Tryfonidis [el], Rūdolfs Mazurs [lv], | ||||
|   Chris Leonard [en_GB], Piotr Drąg [pl], Fran Diéguez [gl], Gil Forcada [ca], | ||||
|   Matej Urbančič [sl], Andika Triwidada [id], Carles Ferrando [ca] | ||||
|  | ||||
| 3.6.0 | ||||
| ===== | ||||
|  | ||||
| Translations: | ||||
|   Alexander Shopov [bg], Daniel Korostil [uk], Rajesh Ranjan [hi], | ||||
|   Krishnababu Krothapalli [te], Ani Peter [ml], Rūdolfs Mazurs [lv], | ||||
|   Sweta Kothari [gu], Ihar Hrachyshka [be], Noriko Mizumoto [ja], | ||||
|   Timo Jyrinki [fi], Mattias Põldaru [et] | ||||
|  | ||||
| 3.5.92 | ||||
| ====== | ||||
| * screen: Allow NULL out arguments in meta_screen_get_size [Tomeu] | ||||
| * display: Add API to set wm_name / wm_keybindings [Florian; #671010] | ||||
| * Improve the not responding dialog [Jon, Florian; #684306] | ||||
| * Misc. bugfixes [Jasper] | ||||
|  | ||||
| Contributors: | ||||
|   William Jon McCann, Florian Müllner, Jasper St. Pierre, Tomeu Vizoso | ||||
|  | ||||
| Translations: | ||||
|   Gabor Kelemen [hu], Piotr Drąg [pl], Dr.T.Vasudevan [ta], Bruce Cowan [en_GB], | ||||
|   Alexandre Franke [fr], Theppitak Karoonboonyanan [th], Gil Forcada [ca], | ||||
|   Carles Ferrando [ca@valencia], Tobias Endrigkeit [de], Tom Tryfonidis [el], | ||||
|   Nguyễn Thái Ngọc Duy [vi], Changwoo Ryu [ko], Ask H. Larsen [da], | ||||
|   Rafael Ferreira [pt_BR], Marek Černocký [cs] | ||||
|  | ||||
| 3.5.91 | ||||
| ====== | ||||
| * Do not include markup in app not responding dialog [Alex] | ||||
| * Fix subtracting unredirected windows from visible region [Jasper; #677116] | ||||
| * Minor improvements and bugfixes [Jasper, Florian; #682648, #682993] | ||||
|  | ||||
| Contributors: | ||||
|   Alexander Larsson, Florian Müllner, Jasper St. Pierre | ||||
|  | ||||
| Translations: | ||||
|   Dirgita [id], Piotr Drąg [pl], A S Alam [pa], Yuri Myasoedov [ru], | ||||
|   Milo Casagrande [it], Nilamdyuti Goswami [as], Tom Tryfonidis [el], | ||||
|   Duarte Loreto [pt], Fran Diéguez [gl], Nguyễn Thái Ngọc Duy [vi], | ||||
|   Aurimas Černius [lt], Daniel Nylander [sv] | ||||
|  | ||||
| 3.5.90 | ||||
| ====== | ||||
| * Fix logic for handling translations of the windows group [Owen; #681221] | ||||
| * Handle painting inside a Clutter clone [Owen; #681953] | ||||
| * Update overlay-key on settings changes [Florian; #681906] | ||||
| * Add keybinding for overlay-key [Florian; #665547] | ||||
| * Minor fixes and improvements [Javier, Florian] | ||||
|  | ||||
| Contributors: | ||||
|   Javier Jardón, Florian Müllner, Owen Taylor | ||||
|  | ||||
| Translations: | ||||
|   Sweta Kothari [gu], Muhammet Kara [tr], Khaled Hosny [ar], | ||||
|   Sandeep Sheshrao Shedmake [mr] | ||||
|  | ||||
| 3.5.5 | ||||
| ===== | ||||
| * Fix flickering around windows when using window group [Tom; #681221] | ||||
|  | ||||
| Contributor(s): | ||||
|   Tom Beckmann | ||||
|  | ||||
| Translations: | ||||
|   Chao-Hsiung Liao [zh_HK, zh_TW], Matej Urbančič [sl], Fran Diéguez [gl], | ||||
|   Мирослав Николић [sr, sr@latin], Yaron Shahrabani [he], Kjartan Maraas [nb] | ||||
|  | ||||
| 3.5.4 | ||||
| ===== | ||||
| * Make it possible to reimplement move-to-workspace keybindings from plugins | ||||
|   [Giovanni; #674104] | ||||
| * Add a preference to ignore hide-titlebar-when-maximized hint [Rico; #678947] | ||||
| * window: Also use hide-titlebar-when-maximized when tiled [Florian; #679290] | ||||
| * Center modal dialogs on their parent instead [Florian; #674499] | ||||
| * Reduce amount of markup in translated messages [Matthias; #679660] | ||||
| * Fix focus problem after closing a window with focus-follows-mouse | ||||
|   [Jasper; #675982] | ||||
| * Handle changes of the attach-modal-dialogs preference [Florian; #679904] | ||||
| * Do not restore tiling on unmaximize [Florian; #677565] | ||||
| * Misc. fixes and cleanups [Jasper Adriaanse, Jasper, Debarshi, Pavel; | ||||
|   #679153, 673824] | ||||
|  | ||||
| Contributors: | ||||
|  Jasper Lievisse Adriaanse, Giovanni Campagna, Matthias Clasen, Florian Müllner, | ||||
|  Debarshi Ray, Jasper St. Pierre, Rico Tzschichholz, Pavel Vasin | ||||
|  | ||||
| Translations: | ||||
|  Alexander Shopov [bg], Kjartan Maraas [nb], Yaron Shahrabani [he], | ||||
|  Nilamdyuti Goswami [as], Ihar Hrachyshka [be], Daniel Mustieles [es] | ||||
|  | ||||
| 3.5.3 | ||||
| ===== | ||||
| * Simplify plugin system [Jasper; #676855] | ||||
| * meta-window-actor: Don't unredirect shaped windows [Jasper; #677657] | ||||
| * screen: Add new public meta_screen_get_current_monitor API [Tim; #642591] | ||||
| * frames: Increase the size of resize corners [Jasper; #677669] | ||||
| * window: Make some window methods public [Jasper; #678126] | ||||
| * Fix crash when running mutter stand-alone [Jasper; #678238] | ||||
| * meta-window-actor: Fix potential crash in shaping code [Jasper; #677977] | ||||
| * Misc. fixes [Jasper, Marc-Antoine, Rico] | ||||
|  | ||||
| Contributors: | ||||
|  Tim L, Marc-Antoine Perennou, Jasper St. Pierre, Rico Tzschichholz | ||||
|  | ||||
| Translations: | ||||
|  | ||||
|  Daniel Mustieles [es], Matej Urbančič [sl], Khaled Hosny [ar], | ||||
|  Bruno Brouard [fr], Fran Diéguez [gl] | ||||
|  | ||||
| 3.5.2 | ||||
| ===== | ||||
| * keybindings: Remove 'toggle-recording' binding [Florian; #674376] | ||||
| * Switch to gtk-doc syntax [Jasper; #673752] | ||||
| * shaped-texture: never slice shape mask texture [Robert; #674731] | ||||
| * Make Mutter stop relying on Cogl including a GL header [Neil; #672711] | ||||
| * Make support for "XFree86" Xinerama mandatory [Owen; #674727] | ||||
| * meta_window_move_frame(): fix crash when frame is NULL [Owen; #675254] | ||||
| * Fix memory leaks [Pavel; #672640] | ||||
| * Code cleanups [Jasper; #671104 #674876 #676052] | ||||
| * Look for themes in XDG user data dir [Jasper; #675316] | ||||
| * Remove frame pixel caching [Jasper; #675111] | ||||
| * stack: Ignore keep-on-top property on maximized windows [Florian; #673581] | ||||
| * Misc. fixes [Javier, Jasper, Owen, Rico] | ||||
|  | ||||
| Contributors: | ||||
|  Robert Bragg, Javier Járdon, Florian Müllner, Neil Roberts, Jasper St. Pierre,  | ||||
|  Owen Taylor, Rico Tzschichholz, Pavel Vasin | ||||
|  | ||||
| Translations: | ||||
|  Praveen Illa [te], Luca Ferretti [it], Daniel Mustieles [es] | ||||
|  | ||||
| 3.4.1 | ||||
| ===== | ||||
| * API change: the meta_display_add_keybinding() function added in 3.4 | ||||
|   | ||||
							
								
								
									
										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], [7]) | ||||
| m4_define([mutter_micro_version], [4]) | ||||
| m4_define([mutter_minor_version], [4]) | ||||
| m4_define([mutter_micro_version], [1]) | ||||
| 
 | ||||
| m4_define([mutter_version], | ||||
|           [mutter_major_version.mutter_minor_version.mutter_micro_version]) | ||||
| @@ -72,8 +72,8 @@ MUTTER_PC_MODULES=" | ||||
|    pango >= 1.2.0 | ||||
|    cairo >= 1.10.0 | ||||
|    gsettings-desktop-schemas >= 3.3.0 | ||||
|    xcomposite >= 0.2 xfixes xrender xdamage xi >= 1.6.0 | ||||
|    $CLUTTER_PACKAGE >= 1.13.2 | ||||
|    xcomposite >= 0.2 xfixes xrender xdamage | ||||
|    $CLUTTER_PACKAGE >= 1.9.10 | ||||
|    cogl-1.0 >= 1.9.6 | ||||
| " | ||||
| 
 | ||||
| @@ -113,6 +113,9 @@ AC_ARG_ENABLE(shape, | ||||
|                  [disable mutter's use of the shaped window extension]),, | ||||
|   enable_shape=auto) | ||||
| 
 | ||||
| ## try definining HAVE_BACKTRACE | ||||
| AC_CHECK_HEADERS(execinfo.h, [AC_CHECK_FUNCS(backtrace)]) | ||||
| 
 | ||||
| AM_GLIB_GNU_GETTEXT | ||||
| 
 | ||||
| ## here we get the flags we'll actually use | ||||
| @@ -209,31 +212,60 @@ AC_PATH_XTRA | ||||
| 
 | ||||
| ALL_X_LIBS="$X_LIBS $X_PRE_LIBS -lX11 $X_EXTRA_LIBS" | ||||
| 
 | ||||
| # Check for Xinerama extension - we only support the "XFree86" style, | ||||
| # and not the older Solaris-only version; recent Solaris supports the | ||||
| # XFree86 style. | ||||
| # Check for Xinerama extension (Solaris impl or Xfree impl) | ||||
| mutter_save_cppflags="$CPPFLAGS" | ||||
| CPPFLAGS="$CPPFLAGS $X_CFLAGS" | ||||
| 
 | ||||
| have_xinerama=yes | ||||
| AC_CHECK_LIB(Xinerama, XineramaQueryExtension, | ||||
|     [AC_CHECK_HEADER(X11/extensions/Xinerama.h, | ||||
| 		     [X_EXTRA_LIBS="-lXinerama $X_EXTRA_LIBS" | ||||
| 		     if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then | ||||
| 			 X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS" | ||||
| 		     fi], | ||||
| 		     have_xinerama=no, | ||||
| 		     [#include <X11/Xlib.h>])], | ||||
|     have_xinerama=no, -lXext $ALL_X_LIBS) | ||||
| AC_MSG_CHECKING(for Xinerama support) | ||||
| AC_MSG_RESULT($have_xinerama) | ||||
| AC_ARG_ENABLE(xinerama, | ||||
|   AC_HELP_STRING([--disable-xinerama], | ||||
|                  [disable mutter's use of the Xinerama extension]), | ||||
|   try_xinerama=$enable_xinerama,try_xinerama=yes) | ||||
| 
 | ||||
| use_solaris_xinerama=no | ||||
| use_xfree_xinerama=no | ||||
| if test "${try_xinerama}" != no; then | ||||
|     case "$host" in | ||||
|         *-*-solaris*) | ||||
|             # Check for solaris | ||||
|             use_solaris_xinerama=yes | ||||
|             AC_CHECK_LIB(Xext, XineramaGetInfo, | ||||
|                          use_solaris_xinerama=yes, use_solaris_xinerama=no, | ||||
|                          $ALL_X_LIBS) | ||||
|             if test "x$use_solaris_xinerama" = "xyes"; then | ||||
|                 AC_CHECK_HEADER(X11/extensions/xinerama.h, | ||||
|                                 if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then | ||||
|                                     X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS" | ||||
|                                 fi | ||||
|                                 AC_DEFINE(HAVE_SOLARIS_XINERAMA, , [Have Solaris-style Xinerama]) | ||||
|                                 AC_DEFINE(HAVE_XINERAMA, , [Have some version of Xinerama]), | ||||
|                                 use_solaris_xinerama=no, | ||||
|                                 [#include <X11/Xlib.h>]) | ||||
|             fi | ||||
|             AC_MSG_CHECKING(for Xinerama support on Solaris) | ||||
|             AC_MSG_RESULT($use_solaris_xinerama); | ||||
|             ;; | ||||
|         *) | ||||
|             # Check for XFree | ||||
|             use_xfree_xinerama=yes | ||||
|             AC_CHECK_LIB(Xinerama, XineramaQueryExtension, | ||||
|                 [AC_CHECK_HEADER(X11/extensions/Xinerama.h, | ||||
|                                  X_EXTRA_LIBS="-lXinerama $X_EXTRA_LIBS" | ||||
|                                  if test -z "`echo $ALL_X_LIBS | grep "\-lXext" 2> /dev/null`"; then | ||||
|                                      X_EXTRA_LIBS="-lXext $X_EXTRA_LIBS" | ||||
|                                  fi | ||||
|                                  AC_DEFINE(HAVE_XFREE_XINERAMA, , [Have XFree86-style Xinerama]) | ||||
|                                  AC_DEFINE(HAVE_XINERAMA,, [Have some version of Xinerama]), | ||||
|                                  use_xfree_xinerama=no, | ||||
|                                  [#include <X11/Xlib.h>])], | ||||
|                 use_xfree_xinerama=no, -lXext $ALL_X_LIBS) | ||||
|             AC_MSG_CHECKING(for Xinerama support on XFree86) | ||||
|             AC_MSG_RESULT($use_xfree_xinerama); | ||||
|             ;; | ||||
|     esac | ||||
| fi | ||||
| 
 | ||||
| CPPFLAGS="$mutter_save_cppflags" | ||||
| 
 | ||||
| if test x$have_xinerama = xno; then | ||||
|    AC_MSG_ERROR([Xinerama extension was not found]) | ||||
| fi | ||||
| 
 | ||||
| SHAPE_LIBS= | ||||
| found_shape=no | ||||
| AC_CHECK_LIB(Xext, XShapeQueryExtension, | ||||
| @@ -361,6 +393,12 @@ if test "x$enable_debug" = "xyes"; then | ||||
| 	CFLAGS="$CFLAGS -g -O" | ||||
| fi | ||||
| 
 | ||||
| # For fix-meta-rectangle.py | ||||
| AM_PATH_PYTHON([2.5]) | ||||
| 
 | ||||
| # Use gnome-doc-utils: | ||||
| GNOME_DOC_INIT([0.8.0]) | ||||
| 
 | ||||
| #### Warnings (last since -Werror can disturb other tests) | ||||
| 
 | ||||
| # Stay command-line compatible with the gnome-common configure option. Here | ||||
| @@ -458,6 +496,8 @@ mutter-$VERSION | ||||
| 	source code location:	  ${srcdir} | ||||
| 	compiler:		  ${CC} | ||||
| 
 | ||||
| 	XFree86 Xinerama:         ${use_xfree_xinerama} | ||||
| 	Solaris Xinerama:         ${use_solaris_xinerama} | ||||
| 	Startup notification:     ${have_startup_notification} | ||||
| 	libcanberra:              ${have_libcanberra} | ||||
| 	Introspection:            ${found_introspection} | ||||
| @@ -39,11 +39,4 @@ environment.</description> | ||||
|       <gnome:userid>otaylor</gnome:userid> | ||||
|     </foaf:Person> | ||||
|   </maintainer> | ||||
|   <maintainer> | ||||
|     <foaf:Person> | ||||
|       <foaf:name>Florian Müllner</foaf:name> | ||||
|       <foaf:mbox rdf:resource="mailto:fmuellner@gnome.org" /> | ||||
|       <gnome:userid>fmuellner</gnome:userid> | ||||
|     </foaf:Person> | ||||
|   </maintainer> | ||||
| </Project> | ||||
|   | ||||
| @@ -1,7 +1,5 @@ | ||||
| # 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/core/bell.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" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2743
									
								
								po/bn_IN.po
									
									
									
									
									
								
							
							
						
						
									
										2743
									
								
								po/bn_IN.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										640
									
								
								po/en_GB.po
									
									
									
									
									
								
							
							
						
						
									
										640
									
								
								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" | ||||
|   | ||||
							
								
								
									
										198
									
								
								po/et.po
									
									
									
									
									
								
							
							
						
						
									
										198
									
								
								po/et.po
									
									
									
									
									
								
							| @@ -14,8 +14,8 @@ msgstr "" | ||||
| "Project-Id-Version: mutter MASTER\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" | ||||
| "product=mutter&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2012-12-18 22:30+0000\n" | ||||
| "PO-Revision-Date: 2012-12-19 18:06+0300\n" | ||||
| "POT-Creation-Date: 2012-03-11 22:19+0000\n" | ||||
| "PO-Revision-Date: 2012-03-12 00:47+0200\n" | ||||
| "Last-Translator: Mattias Põldaru <mahfiaz@gmail.com>\n" | ||||
| "Language-Team: Estonian <>\n" | ||||
| "Language: et\n" | ||||
| @@ -24,141 +24,9 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n!=1);\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 "Minimize window" | ||||
| msgstr "Akna minimeerimine" | ||||
|  | ||||
| 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" | ||||
|  | ||||
| @@ -181,8 +49,8 @@ msgid "Unknown window information request: %d" | ||||
| msgstr "Tundmatu aknateabe päring: %d" | ||||
|  | ||||
| #, c-format | ||||
| msgid "“%s” is not responding." | ||||
| msgstr "„%s” ei vasta." | ||||
| msgid "<tt>%s</tt> is not responding." | ||||
| msgstr "<tt>%s</tt> ei vasta." | ||||
|  | ||||
| msgid "Application is not responding." | ||||
| msgstr "Rakendus ei vasta." | ||||
| @@ -260,8 +128,8 @@ msgstr "" | ||||
| msgid "Print version" | ||||
| msgstr "Versiooni printimine" | ||||
|  | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "Millist Mutteri pluginat kasutada" | ||||
| msgid "Comma-separated list of compositor plugins" | ||||
| msgstr "Komaga eraldatud nimekiri komposiitmontaaži pluginatest" | ||||
|  | ||||
| msgid "" | ||||
| "Workarounds for broken applications disabled. Some applications may not " | ||||
| @@ -485,6 +353,16 @@ msgstr "" | ||||
| "Kui märgitud, siis eraldi tiitliribade asemel on moodaalsed dialoogid " | ||||
| "emaakna tiitliribade küljes ning liiguvad koos emaaknaga." | ||||
|  | ||||
| msgid "Live Hidden Windows" | ||||
| msgstr "Varjatud akende aktiivsus" | ||||
|  | ||||
| msgid "" | ||||
| "Determines whether hidden windows (i.e., minimized windows and windows on " | ||||
| "other workspaces than the current one) should be kept alive." | ||||
| msgstr "" | ||||
| "Määrab, kas varjatud aknaid (nt minimeeritud ja teistel tööaladel aknad) " | ||||
| "hoitakse elus." | ||||
|  | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "Akna ümberpaigutamine selle lohistamisel ekraani serva" | ||||
|  | ||||
| @@ -528,17 +406,6 @@ msgstr "" | ||||
| "Kui märgitud, siis on hüpikaken ja esiletõstmise raam keelatud akende " | ||||
| "vahetamisel." | ||||
|  | ||||
| msgid "Delay focus changes until the pointer stops moving" | ||||
| msgstr "Fookusemuutused lükatakse edasi kuni kursor peatub" | ||||
|  | ||||
| msgid "" | ||||
| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then " | ||||
| "the focus will not be changed immediately when entering a window, but only " | ||||
| "after the pointer stops moving." | ||||
| msgstr "" | ||||
| "Kui tõene ning fookusrežiim on kas \"sloppy\" või \"mouse\", siis fookust ei " | ||||
| "vahetata kohe, kui kursor aknale liigub, vaid alles pärast kursori peatumist." | ||||
|  | ||||
| msgid "Draggable border width" | ||||
| msgstr "Lohistatava äärise laius." | ||||
|  | ||||
| @@ -559,6 +426,39 @@ msgstr "Tabulaatori hüpikakna katkestamine" | ||||
| msgid "Usage: %s\n" | ||||
| msgstr "Kasutamine: %s\n" | ||||
|  | ||||
| msgid "Close Window" | ||||
| msgstr "Sulge aken" | ||||
|  | ||||
| msgid "Window Menu" | ||||
| msgstr "Aknamenüü" | ||||
|  | ||||
| msgid "Minimize Window" | ||||
| msgstr "Akna minimeerimine" | ||||
|  | ||||
| msgid "Maximize Window" | ||||
| msgstr "Akna maksimeerimine" | ||||
|  | ||||
| msgid "Restore Window" | ||||
| msgstr "Akna taastamine" | ||||
|  | ||||
| msgid "Roll Up Window" | ||||
| msgstr "Akna kokkukerimine" | ||||
|  | ||||
| msgid "Unroll Window" | ||||
| msgstr "Akna lahtikerimine" | ||||
|  | ||||
| msgid "Keep Window On Top" | ||||
| msgstr "Akna kõige pealmiseks määramine" | ||||
|  | ||||
| msgid "Remove Window From Top" | ||||
| msgstr "Eemalda aken kõige pealmise kohalt" | ||||
|  | ||||
| msgid "Always On Visible Workspace" | ||||
| msgstr "Alati nähtaval tööalal" | ||||
|  | ||||
| msgid "Put Window On Only One Workspace" | ||||
| msgstr "Tõsta aken ainult ühele tööalale" | ||||
|  | ||||
| #. Translators: Translate this string the same way as you do in libwnck! | ||||
| msgid "Mi_nimize" | ||||
| msgstr "_Minimeeri" | ||||
|   | ||||
							
								
								
									
										291
									
								
								po/eu.po
									
									
									
									
									
								
							
							
						
						
									
										291
									
								
								po/eu.po
									
									
									
									
									
								
							| @@ -31,7 +31,7 @@ msgstr "Ikusi zatia ezkerrean" | ||||
| msgid "View split on right" | ||||
| msgstr "Ikusi zatia eskuinean" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 ../src/50-mutter-windows.xml.in.h:17 | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "Windows" | ||||
| msgstr "Leihoak" | ||||
|  | ||||
| @@ -1630,224 +1630,17 @@ msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "" | ||||
| "%d koordenada adierazpen analizatua %g segundotan (%g segundo batazbesteko)\n" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "Aldatu 1. laneko areara" | ||||
| #~ msgid "Switch to workspace 1" | ||||
| #~ msgstr "Aldatu 1. laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "Aldatu 2. laneko areara" | ||||
| #~ msgid "Switch to workspace 2" | ||||
| #~ msgstr "Aldatu 2. laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "Aldatu 3. laneko areara" | ||||
| #~ msgid "Switch to workspace 3" | ||||
| #~ msgstr "Aldatu 3. laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "Aldatu 4. laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Activate the window menu" | ||||
| msgstr "Aktibatu leiho-menua" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:13 | ||||
| #, fuzzy | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "Txandakatu pantaila osoaren modua" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:14 | ||||
| #, fuzzy | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "Txandakatu maximizatze-egoera" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| #, fuzzy | ||||
| msgid "Maximize window" | ||||
| msgstr "Maximizatu leihoa" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| #, fuzzy | ||||
| msgid "Restore window" | ||||
| msgstr "Leheneratu leihoa" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:15 | ||||
| #, fuzzy | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "Txandakatu bildutako egoera" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| #, fuzzy | ||||
| msgid "Minimize window" | ||||
| msgstr "" | ||||
| "#-#-#-#-#  eu.po (eu)  #-#-#-#-#\n" | ||||
| "Ikonotu leihoa\n" | ||||
| "#-#-#-#-#  eu.po (eu)  #-#-#-#-#\n" | ||||
| "Minimizatu leihoa" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Close window" | ||||
| msgstr "Itxi leihoa" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| #, fuzzy | ||||
| msgid "Move window" | ||||
| msgstr "Lekuz aldatu leihoa" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:11 | ||||
| #, fuzzy | ||||
| msgid "Resize window" | ||||
| msgstr "Aldatu leihoaren tamaina" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:10 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "Eraman leihoa 1. laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:11 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "Eraman leihoa 2. laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:12 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "Eraman leihoa 3. laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:13 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "Eraman leihoa 4. laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:7 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "Eraman leihoa laneko area bat ezkerrera" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:8 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "Eraman leihoa laneko area bat eskuinera" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:9 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "Eraman leihoa laneko area bat gora" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:6 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "Eraman leihoa laneko area bat behera" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| #, fuzzy | ||||
| msgid "Raise window above other windows" | ||||
| msgstr "Goratu leihoa beste leihoen gainera" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "Beheratu leihoa beste leihoen azpira" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| #, fuzzy | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "Maximizatu leihoa bertikalki" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| #, fuzzy | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "Maximizatu leihoa horizontalki" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "Ezkutatu leiho arrunt guztiak" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace above" | ||||
| msgstr "Eraman gaineko laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace below" | ||||
| msgstr "Eraman azpiko laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:4 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace left" | ||||
| msgstr "Eraman ezkerreko laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:5 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace right" | ||||
| msgstr "Eraman eskuineko laneko areara" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| #, fuzzy | ||||
| msgid "Navigation" | ||||
| msgstr "Nabigazioa" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| #, fuzzy | ||||
| msgid "Switch applications" | ||||
| msgstr "Aldatu aplikazioz" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| #, fuzzy | ||||
| msgid "Switch system controls" | ||||
| msgstr "Aldatu sistemaren kontrolak" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| #, fuzzy | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "Aldatu sistemaren kontrolak zuzenean" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| #, fuzzy | ||||
| msgid "Switch windows directly" | ||||
| msgstr "Aldatu leihoa zuzenean" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| #, fuzzy | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "Aldatu aplikazio baten leihoa zuzenean" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| #, fuzzy | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "Aldatu aplikazio baten leihoen artean" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Show the activities overview" | ||||
| msgstr "Erakutsi jardueren aurkezpen orokorra" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Show the run command prompt" | ||||
| msgstr "Erakutsi gonbitea komandoa exekutatzeko" | ||||
|  | ||||
| #: ../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 "Goratu leihoa beste leiho batek estaltzen badu, bestela beheratu" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| #, fuzzy | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "Txandakatu leihoa laneko area guztietan edo bakar batean egotea" | ||||
| #~ msgid "Switch to workspace 4" | ||||
| #~ msgstr "Aldatu 4. laneko areara" | ||||
|  | ||||
| #~ msgid "Switch to workspace 5" | ||||
| #~ msgstr "Aldatu 5. laneko areara" | ||||
| @@ -1945,13 +1738,55 @@ msgstr "Txandakatu leihoa laneko area guztietan edo bakar batean egotea" | ||||
| #~ msgid "Run a terminal" | ||||
| #~ msgstr "Exekutatu terminala" | ||||
|  | ||||
| #~ msgid "Activate the window menu" | ||||
| #~ msgstr "Aktibatu leiho-menua" | ||||
|  | ||||
| #~ msgid "Toggle fullscreen mode" | ||||
| #~ msgstr "Txandakatu pantaila osoaren modua" | ||||
|  | ||||
| #~ msgid "Toggle maximization state" | ||||
| #~ msgstr "Txandakatu maximizatze-egoera" | ||||
|  | ||||
| #~ msgid "Toggle whether a window will always be visible over other windows" | ||||
| #~ msgstr "" | ||||
| #~ "Txandakatu leiho bat beste leiho guztien gainean ikusgai egongo den edo ez" | ||||
|  | ||||
| #~ msgid "Maximize window" | ||||
| #~ msgstr "Maximizatu leihoa" | ||||
|  | ||||
| #~ msgid "Restore window" | ||||
| #~ msgstr "Leheneratu leihoa" | ||||
|  | ||||
| #~ msgid "Toggle shaded state" | ||||
| #~ msgstr "Txandakatu bildutako egoera" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "Ikonotu leihoa" | ||||
|  | ||||
| #~ msgid "Close window" | ||||
| #~ msgstr "Itxi leihoa" | ||||
|  | ||||
| #~ msgid "Move window" | ||||
| #~ msgstr "Lekuz aldatu leihoa" | ||||
|  | ||||
| #~ msgid "Resize window" | ||||
| #~ msgstr "Aldatu leihoaren tamaina" | ||||
|  | ||||
| #~ msgid "Toggle whether window is on all workspaces or just one" | ||||
| #~ msgstr "Txandakatu leihoa laneko area guztietan edo bakar batean egotea" | ||||
|  | ||||
| #~ msgid "Move window to workspace 1" | ||||
| #~ msgstr "Eraman leihoa 1. laneko areara" | ||||
|  | ||||
| #~ msgid "Move window to workspace 2" | ||||
| #~ msgstr "Eraman leihoa 2. laneko areara" | ||||
|  | ||||
| #~ msgid "Move window to workspace 3" | ||||
| #~ msgstr "Eraman leihoa 3. laneko areara" | ||||
|  | ||||
| #~ msgid "Move window to workspace 4" | ||||
| #~ msgstr "Eraman leihoa 4. laneko areara" | ||||
|  | ||||
| #~ msgid "Move window to workspace 5" | ||||
| #~ msgstr "Eraman leihoa 5. laneko areara" | ||||
|  | ||||
| @@ -1976,9 +1811,33 @@ msgstr "Txandakatu leihoa laneko area guztietan edo bakar batean egotea" | ||||
| #~ msgid "Move window to workspace 12" | ||||
| #~ msgstr "Eraman leihoa 12. laneko areara" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the left" | ||||
| #~ msgstr "Eraman leihoa laneko area bat ezkerrera" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the right" | ||||
| #~ msgstr "Eraman leihoa laneko area bat eskuinera" | ||||
|  | ||||
| #~ msgid "Move window one workspace up" | ||||
| #~ msgstr "Eraman leihoa laneko area bat gora" | ||||
|  | ||||
| #~ msgid "Move window one workspace down" | ||||
| #~ msgstr "Eraman leihoa laneko area bat behera" | ||||
|  | ||||
| #~ msgid "Raise window if it's covered by another window, otherwise lower it" | ||||
| #~ msgstr "Goratu leihoa beste leiho batek estaltzen badu, bestela beheratu" | ||||
|  | ||||
| #~ msgid "Raise window above other windows" | ||||
| #~ msgstr "Goratu leihoa beste leihoen gainera" | ||||
|  | ||||
| #~ msgid "Lower window below other windows" | ||||
| #~ msgstr "Beheratu leihoa beste leihoen azpira" | ||||
|  | ||||
| #~ msgid "Maximize window vertically" | ||||
| #~ msgstr "Maximizatu leihoa bertikalki" | ||||
|  | ||||
| #~ msgid "Maximize window horizontally" | ||||
| #~ msgstr "Maximizatu leihoa horizontalki" | ||||
|  | ||||
| #~ msgid "Move window to north-west (top left) corner" | ||||
| #~ msgstr "Eraman leihoa ipar-mendebaldeko (goi-ezkerreko) ertzera" | ||||
|  | ||||
|   | ||||
							
								
								
									
										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 "ضامن پنجره در تمام فضاهای کاری" | ||||
|  | ||||
|   | ||||
							
								
								
									
										339
									
								
								po/gu.po
									
									
									
									
									
								
							
							
						
						
									
										339
									
								
								po/gu.po
									
									
									
									
									
								
							| @@ -7,11 +7,10 @@ msgstr "" | ||||
| "Project-Id-Version: gu\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug." | ||||
| "cgi?product=mutter&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2012-08-06 23:35+0000\n" | ||||
| "PO-Revision-Date: 2012-09-22 23:31+0530\n" | ||||
| "POT-Creation-Date: 2012-03-15 21:29+0000\n" | ||||
| "PO-Revision-Date: 2012-03-26 14:08+0530\n" | ||||
| "Last-Translator: \n" | ||||
| "Language-Team: gu_IN <kde-i18n-doc@kde.org>\n" | ||||
| "Language: \n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| @@ -31,48 +30,49 @@ msgstr "" | ||||
| "\n" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| #| msgid "_Windows" | ||||
| msgid "Windows" | ||||
| msgstr "વિન્ડો" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "View split on left" | ||||
| msgstr "ડાબી બાજુએ અલગ કરેલ દૃશ્ય" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "View split on right" | ||||
| msgstr "જમણી બાજુએ અલગ કરેલ દૃશ્ય" | ||||
| msgstr "" | ||||
|  | ||||
| #. This probably means that a non-WM compositor like xcompmgr is running; | ||||
| #. * we have no way to get it to exit | ||||
| #: ../src/compositor/compositor.c:492 | ||||
| #, c-format | ||||
| #, fuzzy, c-format | ||||
| #| msgid "" | ||||
| #| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| msgid "" | ||||
| "Another compositing manager is already running on screen %i on display \"%s" | ||||
| "\"." | ||||
| msgstr "સ્ક્રીન %i કે જે દર્શાવ \"%s\" પર છે તે બીજુ બનતુ સંચાલક પહેલેથી ચાલી રહ્યુ છે." | ||||
| msgstr "સ્ક્રીન %d કે જે ડિસ્પ્લે \"%s\" પર છે તે વિન્ડો વ્યવસ્થાપકની પસંદગીને મેળવી શકાતી નથી\n" | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| #: ../src/core/bell.c:307 | ||||
| msgid "Bell event" | ||||
| msgstr "બેલ ઘટના" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/core/core.c:157 | ||||
| #, c-format | ||||
| msgid "Unknown window information request: %d" | ||||
| msgstr "અજ્ઞાત વિન્ડો જાણકારી અરજી: %d" | ||||
|  | ||||
| #: ../src/core/delete.c:114 | ||||
| #: ../src/core/delete.c:111 | ||||
| #, c-format | ||||
| #| msgid "<tt>%s</tt> is not responding." | ||||
| msgid "%s is not responding." | ||||
| msgstr "%s જવાબ આપતું નથી." | ||||
| msgid "<tt>%s</tt> is not responding." | ||||
| msgstr "<tt>%s</tt> જવાબ આપતું નથી." | ||||
|  | ||||
| #: ../src/core/delete.c:118 | ||||
| #: ../src/core/delete.c:114 | ||||
| #| msgid "<tt>%s</tt> is not responding." | ||||
| msgid "Application is not responding." | ||||
| msgstr "કાર્યક્રમ જવાબ આપતું નથી." | ||||
|  | ||||
| #: ../src/core/delete.c:123 | ||||
| #: ../src/core/delete.c:119 | ||||
| msgid "" | ||||
| "You may choose to wait a short while for it to continue or force the " | ||||
| "application to quit entirely." | ||||
| @@ -80,61 +80,62 @@ msgstr "" | ||||
| "તેને ચાલુ રાખવા માટે અથવા કાર્યક્રમને સંપૂર્ણપણે બંધ થઈ જવા માટે તમે થોડો સમય રાહ જોવાનું " | ||||
| "પસંદ કરી શકશો." | ||||
|  | ||||
| #: ../src/core/delete.c:130 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Wait" | ||||
| msgstr "રાહ જુઓ (_W)" | ||||
|  | ||||
| #: ../src/core/delete.c:130 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Force Quit" | ||||
| msgstr "જબરદસ્તી બહાર કાઢો (_F)" | ||||
|  | ||||
| #: ../src/core/display.c:380 | ||||
| #: ../src/core/display.c:387 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "કમ્પોઝીટીંગ માટે ગુમ થયેલ %s એક્સટેન્સન જરૂરી" | ||||
|  | ||||
| #: ../src/core/display.c:446 | ||||
| #: ../src/core/display.c:453 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "X વિન્ડો સિસ્ટમ ડિસ્પ્લે '%s' ને ખોલવામાં નિષ્ફળ\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:844 | ||||
| #: ../src/core/keybindings.c:852 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| "binding\n" | ||||
| msgstr "કોઈ બીજો કાર્યક્રમ પહેલેથીજ કી %s ને બદલનાર %x સાથે જોડાણ તરીકે વાપરી રહ્યુ છે\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| #: ../src/core/main.c:206 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "સત્ર વ્યવસ્થાપકનું જોડાણ નિષ્ક્રિય કરો" | ||||
|  | ||||
| #: ../src/core/main.c:202 | ||||
| #: ../src/core/main.c:212 | ||||
| #| msgid "Replace the running window manager with Mutter" | ||||
| msgid "Replace the running window manager" | ||||
| msgstr "ચાલતા વિન્ડો સંચાલકને બદલો" | ||||
|  | ||||
| #: ../src/core/main.c:208 | ||||
| #: ../src/core/main.c:218 | ||||
| msgid "Specify session management ID" | ||||
| msgstr "સત્ર વ્યવસ્થાપન ID સ્પષ્ટ કરો" | ||||
|  | ||||
| #: ../src/core/main.c:213 | ||||
| #: ../src/core/main.c:223 | ||||
| msgid "X Display to use" | ||||
| msgstr "વાપરવા માટેનું X ડિસ્પ્લે" | ||||
|  | ||||
| #: ../src/core/main.c:219 | ||||
| #: ../src/core/main.c:229 | ||||
| msgid "Initialize session from savefile" | ||||
| msgstr "સંગ્રહાયેલ ફાઈલમાંથી સત્રનો પ્રારંભ કરો" | ||||
|  | ||||
| #: ../src/core/main.c:225 | ||||
| #: ../src/core/main.c:235 | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "X કોલ સુમેળ રીતે કરો" | ||||
|  | ||||
| #: ../src/core/main.c:494 | ||||
| #: ../src/core/main.c:504 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "થીમની ડિરેક્ટરી જોવામાં નિષ્ફળ: %s\n" | ||||
|  | ||||
| #: ../src/core/main.c:510 | ||||
| #: ../src/core/main.c:520 | ||||
| #, c-format | ||||
| msgid "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| msgstr "થીમ શોધી શકાઈ નહિં! ખાતરી કરો કે %s અસ્તિત્વ ધરાવે છે અને તેમાં સામાન્ય થીમ છે.\n" | ||||
| @@ -159,11 +160,10 @@ msgid "Print version" | ||||
| msgstr "છાપન આવૃત્તિ" | ||||
|  | ||||
| #: ../src/core/mutter.c:60 | ||||
| #| msgid "Clutter Plugins" | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "વાપરવા માટે Mutter પ્લગઇન" | ||||
| msgid "Comma-separated list of compositor plugins" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/core/prefs.c:1065 | ||||
| #: ../src/core/prefs.c:1077 | ||||
| msgid "" | ||||
| "Workarounds for broken applications disabled. Some applications may not " | ||||
| "behave properly.\n" | ||||
| @@ -171,37 +171,37 @@ msgstr "" | ||||
| "બગડેલા કાર્યક્રમો માટે આસપાસના કાર્યો નિષ્ક્રિય કરેલા છે. કદાચ કેટલાક કાર્યક્રમો યોગ્ય " | ||||
| "રીતે નહિ વર્તતા હોય.\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1140 | ||||
| #, c-format | ||||
| #: ../src/core/prefs.c:1152 | ||||
| #, fuzzy, c-format | ||||
| #| msgid "Could not parse font description \"%s\" from GConf key %s\n" | ||||
| msgid "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
| msgstr "ફોન્ટ વર્ણન \"%s\" GSettings કી %s માંથી  નું પદચ્છેદન કરી શક્યા નહિં\n" | ||||
| msgstr "\"%s\" ફોન્ટના વર્ણનને જીકોન્ફ કી %s માંથી પદચ્છેદ કરી શકાતા નથી\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1206 | ||||
| #: ../src/core/prefs.c:1218 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for mouse button " | ||||
| "modifier\n" | ||||
| msgstr "માઉસ બટનની કિંમત બદલવા માટે રુપરેખાના ડેટાબેઝમાંથી મળેલ કિંમત \"%s\" એ યોગ્ય નથી\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1724 | ||||
| #: ../src/core/prefs.c:1739 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| "\"%s\"\n" | ||||
| msgstr "કી જોડાણ \"%s\" માટે રુપરેખાના ડેટાબેઝ \"%s\" માં મળેલ કિંમત યોગ્ય નથી\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1821 | ||||
| #: ../src/core/prefs.c:1836 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "કામ કરવાની જગ્યા %d" | ||||
|  | ||||
| #: ../src/core/screen.c:652 | ||||
| #: ../src/core/screen.c:730 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "સ્ક્રીન %d કે જે ડિસ્પ્લે '%s' પર છે એ અયોગ્ય છે\n" | ||||
|  | ||||
| #: ../src/core/screen.c:668 | ||||
| #: ../src/core/screen.c:746 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -210,18 +210,17 @@ msgstr "" | ||||
| "સ્ક્રીન %d કે જે ડિસ્પ્લે \"%s\" પર છે ત્યાં પહેલેથીજ વિન્ડો વ્યવસ્થાપક છે, --replace " | ||||
| "વિક્લ્પનો ઉપયોગ કરીને વિન્ડો વ્યવસ્થાપકને બદલવાનો પ્રયત્ન કરો.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:695 | ||||
| #: ../src/core/screen.c:773 | ||||
| #, c-format | ||||
| msgid "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| msgstr "" | ||||
| "સ્ક્રીન %d કે જે ડિસ્પ્લે \"%s\" પર છે તે વિન્ડો વ્યવસ્થાપકની પસંદગીને મેળવી શકાતી નથી\n" | ||||
| msgstr "સ્ક્રીન %d કે જે ડિસ્પ્લે \"%s\" પર છે તે વિન્ડો વ્યવસ્થાપકની પસંદગીને મેળવી શકાતી નથી\n" | ||||
|  | ||||
| #: ../src/core/screen.c:750 | ||||
| #: ../src/core/screen.c:828 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "સ્ક્રીન %d કે જે ડિસ્પ્લે \"%s\" પર છે ત્યાં પહેલેથીજ વિન્ડો વ્યવસ્થાપક છે\n" | ||||
|  | ||||
| #: ../src/core/screen.c:935 | ||||
| #: ../src/core/screen.c:1013 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "સ્ક્રીન %d કે જે ડિસ્પ્લે \"%s\" પર છે તેને દૂર કરી શકાતી નથી\n" | ||||
| @@ -252,10 +251,10 @@ msgid "Failed to parse saved session file: %s\n" | ||||
| msgstr "સંગ્રહિત સત્રની ફાઈલ ને પદચ્છેદ કરવામાં ભૂલ: %s\n" | ||||
|  | ||||
| #: ../src/core/session.c:1185 | ||||
| #, c-format | ||||
| #, fuzzy, c-format | ||||
| #| msgid "<metacity_session> attribute seen but we already have the session ID" | ||||
| msgid "<mutter_session> attribute seen but we already have the session ID" | ||||
| msgstr "<mutter_session> લક્ષણ દેખાય છે પરંતુ આપણી પાસે પહેલેથી જ સત્ર ID છે" | ||||
| msgstr "<metacity_session> લક્ષણ દેખાય છે પરંતુ આપણી પાસે પહેલેથી જ સત્ર ID છે" | ||||
|  | ||||
| #: ../src/core/session.c:1198 ../src/core/session.c:1273 | ||||
| #: ../src/core/session.c:1305 ../src/core/session.c:1377 | ||||
| @@ -275,6 +274,7 @@ msgid "Unknown element %s" | ||||
| msgstr "અજાણી વસ્તુ %s" | ||||
|  | ||||
| #: ../src/core/session.c:1809 | ||||
| #, fuzzy | ||||
| #| msgid "" | ||||
| #| "These windows do not support \"save current setup\" and will have to be " | ||||
| #| "restarted manually next time you log in." | ||||
| @@ -282,48 +282,48 @@ msgid "" | ||||
| "These windows do not support "save current setup" and will have to " | ||||
| "be restarted manually next time you log in." | ||||
| msgstr "" | ||||
| "આ બધી વિન્ડો "વર્તમાન સુયોજનનો સંગ્રહ કરો" ને આધાર આપતી નથી અને બીજી વખત તમે પ્રવેશ " | ||||
| "આ બધી વિન્ડો \"વર્તમાન સુયોજનનો સંગ્રહ કરો\" ને આધાર આપતી નથી અને બીજી વખત તમે પ્રવેશ " | ||||
| "કરો ત્યારે જાતે જ ફરી શરુ કરવું પડશે." | ||||
|  | ||||
| #: ../src/core/util.c:80 | ||||
| #: ../src/core/util.c:111 | ||||
| #, c-format | ||||
| msgid "Failed to open debug log: %s\n" | ||||
| msgstr "ભૂલ શોધવા માટેનું નોંધપત્ર ખોલવામાં નિષ્ફળ: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:90 | ||||
| #: ../src/core/util.c:121 | ||||
| #, c-format | ||||
| msgid "Failed to fdopen() log file %s: %s\n" | ||||
| msgstr "fdopen() નોંધપત્ર ફાઈલ %s ખોલવામાં નિષ્ફળ: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:96 | ||||
| #: ../src/core/util.c:127 | ||||
| #, c-format | ||||
| msgid "Opened log file %s\n" | ||||
| msgstr "પ્રવેશ ફાઈલ %s ખૂલેલી છે\n" | ||||
|  | ||||
| #: ../src/core/util.c:115 ../src/tools/mutter-message.c:149 | ||||
| #, c-format | ||||
| #: ../src/core/util.c:146 ../src/tools/mutter-message.c:149 | ||||
| #, fuzzy, c-format | ||||
| #| msgid "Metacity was compiled without support for verbose mode\n" | ||||
| msgid "Mutter was compiled without support for verbose mode\n" | ||||
| msgstr "વર્બોસ સ્થિતિ માટે આધાર વગર Mutter કમ્પાઇલ થયેલ હતુ\n" | ||||
| msgstr "મેટાસીટીને વર્ણનિય પદ્ધતિના આધાર વગર કમ્પાઈલ કરાયુ હતુ\n" | ||||
|  | ||||
| #: ../src/core/util.c:259 | ||||
| #: ../src/core/util.c:290 | ||||
| msgid "Window manager: " | ||||
| msgstr "વિન્ડો વ્યવસ્થાપક: " | ||||
|  | ||||
| #: ../src/core/util.c:407 | ||||
| #: ../src/core/util.c:438 | ||||
| msgid "Bug in window manager: " | ||||
| msgstr "વિન્ડો વ્યવસ્થાપકમાં ભૂલ: " | ||||
|  | ||||
| #: ../src/core/util.c:438 | ||||
| #: ../src/core/util.c:471 | ||||
| msgid "Window manager warning: " | ||||
| msgstr "વિન્ડો વ્યવસ્થાપકની ચેતવણી: " | ||||
|  | ||||
| #: ../src/core/util.c:466 | ||||
| #: ../src/core/util.c:499 | ||||
| msgid "Window manager error: " | ||||
| msgstr "વિન્ડો વ્યવસ્થાપકની ભૂલ: " | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7234 | ||||
| #: ../src/core/window.c:7269 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -339,35 +339,35 @@ msgstr "" | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7899 | ||||
| #: ../src/core/window.c:7932 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| "%d x %d and max size %d x %d; this doesn't make much sense.\n" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %" | ||||
| "d x %d and max size %d x %d; this doesn't make much sense.\n" | ||||
| msgstr "" | ||||
| "વિન્ડો %s એ MWM સંકેત ગોઠવ્યો કે જે તેનું માપ બદલી શકાતુ નથી એમ સૂચવે છે, પરંતુ ન્યૂનત્તમ માપ " | ||||
| "%d x %d અને મહત્તમ માપ %d x %d ગોઠવાયેલુ છે; તેનો કોઈ ખાસ અર્થ નીકળતો નથી.\n" | ||||
| "વિન્ડો %s એ MWM સંકેત ગોઠવ્યો કે જે તેનું માપ બદલી શકાતુ નથી એમ સૂચવે છે, પરંતુ ન્યૂનત્તમ માપ %" | ||||
| "d x %d અને મહત્તમ માપ %d x %d ગોઠવાયેલુ છે; તેનો કોઈ ખાસ અર્થ નીકળતો નથી.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:310 | ||||
| #: ../src/core/window-props.c:309 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "કાર્યક્રમ એ ખોટું _NET_WM_PID %lu સુયોજિત કર્યું છે\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:429 | ||||
| #: ../src/core/window-props.c:426 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s (%s પર)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1484 | ||||
| #: ../src/core/window-props.c:1481 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "અયોગ્ય WM_TRANSIENT_FOR વિન્ડો 0x%lx એ %s માટે સ્પષ્ટ થયેલ છે.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1495 | ||||
| #, c-format | ||||
| #: ../src/core/window-props.c:1492 | ||||
| #, fuzzy, c-format | ||||
| #| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "WM_TRANSIENT_FOR વિન્ડો 0x%lx એ %s માટે  લુપ બનાવશે.\n" | ||||
| msgstr "અયોગ્ય WM_TRANSIENT_FOR વિન્ડો 0x%lx એ %s માટે સ્પષ્ટ થયેલ છે.\n" | ||||
|  | ||||
| #: ../src/core/xprops.c:155 | ||||
| #, c-format | ||||
| @@ -399,9 +399,10 @@ msgid "Mutter" | ||||
| msgstr "Mutter" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:1 | ||||
| #, fuzzy | ||||
| #| msgid "Modifier to use for modified window click actions" | ||||
| msgid "Modifier to use for extended window management operations" | ||||
| msgstr "વિસ્તરેલ વિન્ડો સંચાલન ક્રિયાઓ માટે વપરાતુ સંશોધક" | ||||
| msgstr "બદલેલી વિન્ડોની ક્લિક ક્રિયાઓ માટે વાપરવાનું બદલનાર" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:2 | ||||
| msgid "" | ||||
| @@ -410,9 +411,6 @@ msgid "" | ||||
| "\"Windows key\" on PC hardware. It's expected that this binding either the " | ||||
| "default or set to the empty string." | ||||
| msgstr "" | ||||
| "આ કી \"overlay\" ને શરૂ કરશે, કે જે વિન્ડો ઝાંખી અને કાર્યક્રમ શરૂઆત સિસ્ટમનું સંયોજન છે. " | ||||
| "મૂળભૂત PC હાર્ડવેર પર \"Windows key\" ને લગતુ છે. તેને ઇચ્છા રાખેલ થે કે આ ક્યાંતો મૂળભૂત છે " | ||||
| "અથવા ખાલી શબ્દમાળામાં સુયોજિત છે." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:3 | ||||
| msgid "Attach modal dialogs" | ||||
| @@ -424,77 +422,75 @@ msgid "" | ||||
| "attached to the titlebar of the parent window and are moved together with " | ||||
| "the parent window." | ||||
| msgstr "" | ||||
| "જ્યારે true હોય, સ્વતંત્ર શીર્ષકપટ્ટીને લીધા કરતા, મોડલ સંવાદ મુખ્ય વિન્ડોની શીર્ષકપટ્ટી સાથે " | ||||
| "જોડાયેલ છે તેવુ દેખાય છે અને મુખ્ય વિન્ડો સાથે એકસાથે ખસેડેલ છે." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:5 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "જ્યારે સ્ક્રીન બાજુ પર વિન્ડોને પડતી મૂકી રહ્યા હોય ત્યારે ટાઇલીંગ સક્રિય કરો" | ||||
| msgid "Live Hidden Windows" | ||||
| msgstr "છુપાયેલ વિન્ડોને જીવંત કરો" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:6 | ||||
| msgid "" | ||||
| "Determines whether hidden windows (i.e., minimized windows and windows on " | ||||
| "other workspaces than the current one) should be kept alive." | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| msgid "" | ||||
| "If enabled, dropping windows on vertical screen edges maximizes them " | ||||
| "vertically and resizes them horizontally to cover half of the available " | ||||
| "area. Dropping windows on the top screen edge maximizes them completely." | ||||
| msgstr "" | ||||
| "જો સક્રિય હોય તો, ઊભી સ્ક્રીન બાજુ પર પડતી વિન્ડો તેઓને ઊભી રીતે મહત્તમ કરે છે અને ઉપલબ્ધ " | ||||
| "વિસ્તારમાં આડી રીતે આવરવા માટે આડી રીતે તેઓનું માપ બદલે છે. ટોચ સ્ક્રીન પર પડતી બાજુ પર પડતી " | ||||
| "વિન્ડોને તેઓને સંપૂર્ણપણે મહત્તમ કરે છે." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:9 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| msgstr "કામ કરવાની જગ્યા ગતિશીલ રીતે સંચાલિત થયેલ છે" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:10 | ||||
| msgid "" | ||||
| "Determines whether workspaces are managed dynamically or whether there's a " | ||||
| "static number of workspaces (determined by the num-workspaces key in org." | ||||
| "gnome.desktop.wm.preferences)." | ||||
| msgstr "" | ||||
| "શું કામકરવાની જગ્યા ગતિશીલ રીતે સંચાલિત થયેલ છે તે નક્કી કરે છે અથવા શું ત્યા કામ કરવાની " | ||||
| "જગ્યાની સ્થિર સંખ્યા છે (org." | ||||
| "gnome.desktop.wm.preferences માં કામ કરવાની જગ્યા દ્દારા નક્કી થયેલ છે)." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:9 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:11 | ||||
| msgid "Workspaces only on primary" | ||||
| msgstr "ફક્ત પ્રાથમિક પર કામ કરવાની જગ્યા" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:10 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| msgid "" | ||||
| "Determines whether workspace switching should happen for windows on all " | ||||
| "monitors or only for windows on the primary monitor." | ||||
| msgstr "" | ||||
| "શું કામ કરવાની જગ્યાને બધા મોનિટર પર વિન્ડો માટે અદલાબદલી થવી જોઇએ અથવા પ્રાથમિક મોનિટર પર " | ||||
| "ફક્ત વિન્ડો માટે." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:11 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:13 | ||||
| msgid "No tab popup" | ||||
| msgstr "ટૅબ પોપઅપ નથી" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:14 | ||||
| msgid "" | ||||
| "Determines whether the use of popup and highlight frame should be disabled " | ||||
| "for window cycling." | ||||
| msgstr "" | ||||
| "શું પોપઅપ અને પ્રકાશિત ફ્રેમનો વપરાશ વિન્ડો સાયકલીંગ માટે નિષ્ક્રિય થવુ જોઇએ તે નક્કી કરે છે." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:13 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:15 | ||||
| msgid "Draggable border width" | ||||
| msgstr "ખેંચી શકાય તેવી સીમા પહોળાઇ" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:14 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:16 | ||||
| msgid "" | ||||
| "The amount of total draggable borders. If the theme's visible borders are " | ||||
| "not enough, invisible borders will be added to meet this value." | ||||
| msgstr "" | ||||
| "કુલ ખેંચી શકાય તેવી સીમાઓની સંખ્યા. જો થીમની દૃશ્યમાન સીમાઓ પૂરતી નથી, અદૃશ્ય સીમાઓ આ કિંમતને " | ||||
| "મેળવવા માટે ઉમેરાશે." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:15 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:17 | ||||
| #| msgid "Remove Window From Top" | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "ટૅબ પોપઅપમાંથી વિન્ડોને પસંદ કરો" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:16 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "ટૅબ પોપઅપને રદ કરો" | ||||
|  | ||||
| @@ -702,49 +698,49 @@ msgstr "Mod5" | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:253 | ||||
| msgid "top" | ||||
| msgstr "ઉપર" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:255 | ||||
| msgid "bottom" | ||||
| msgstr "નીચે" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:257 | ||||
| msgid "left" | ||||
| msgstr "ડાબે" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:259 | ||||
| msgid "right" | ||||
| msgstr "જમણે" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:286 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "ચોકઠાની ભૂમિતિ માપ \"%s\" સ્પષ્ટ કરતી નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:305 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "ચોકઠાની ભૂમિતિ કિનારી \"%s\" માટે માપ \"%s\" સ્પષ્ટ કરતી નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:342 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "બટન માટે ધારેલુ પ્રમાણ %g એ વ્યવસ્થિત નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:354 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "ચોકઠાની ભૂમિતિ બટનોનું માપ સ્પષ્ટ કરતી નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1067 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "ઢાળમાં ઓછામાં ઓછા બે રંગ હોવા જોઈએ" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #, c-format | ||||
| #: ../src/ui/theme.c:1219 | ||||
| #, fuzzy, c-format | ||||
| #| msgid "" | ||||
| #| "GTK color specification must have a close bracket after the state, e.g. " | ||||
| #| "gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\"" | ||||
| @@ -752,28 +748,27 @@ msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| "parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\"" | ||||
| msgstr "" | ||||
| "GTK વૈવિધ્ય રંગના સ્પષ્ટીકરણનું રંગ નામ હોવુ જ જોઇએ અને સ્થિતિ પછી કૌંસ બંધ થવો જોઈએ દા.ત. " | ||||
| "gtk:custom(foo,bar); \"%s\" નું પદચ્છેદ કરી શકાય નહિં" | ||||
| "GTK રંગના સ્પષ્ટીકરણમાં સ્થિતિ પછી કૌંસ બંધ થવો જોઈએ દા.ત. gtk:fg[NORMAL] જ્યાં " | ||||
| "NORMAL સ્થિતિ છે; \"%s\" નો પદચ્છેદ કરી શકાય નહિં" | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1235 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| "_ are valid" | ||||
| msgstr "gtk:custom નાં color_name પરિમાણમાં અમાન્ય અક્ષર '%c', ફક્ત A-Za-z0-9-_ માન્ય છે" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #, c-format | ||||
| #: ../src/ui/theme.c:1249 | ||||
| #, fuzzy, c-format | ||||
| #| msgid "" | ||||
| #| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the " | ||||
| #| "format" | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| "fit the format" | ||||
| msgstr "" | ||||
| "Gtk:custom બંધારણ એ \"gtk:custom(color_name,fallback)\" છે, \"%s\" એ બંધારણમાં બંધબેસતા નથી" | ||||
| msgstr "છાયાનું માળખું \"shade/base_color/factor\" છે, \"%s\" માળખામાં બેસતુ નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1294 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| @@ -782,7 +777,7 @@ msgstr "" | ||||
| "GTK રંગના સ્પષ્ટીકરણમાં કૌંસમાં સ્થિતિ હોવી જોઈએ દા.ત. gtk:fg[NORMAL] જ્યાં NORMAL " | ||||
| "સ્થિતિ છે; \"%s\" નો પદચ્છેદ કરી શકાય નહિં" | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1308 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| @@ -791,145 +786,145 @@ msgstr "" | ||||
| "GTK રંગના સ્પષ્ટીકરણમાં સ્થિતિ પછી કૌંસ બંધ થવો જોઈએ દા.ત. gtk:fg[NORMAL] જ્યાં " | ||||
| "NORMAL સ્થિતિ છે; \"%s\" નો પદચ્છેદ કરી શકાય નહિં" | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1319 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "રંગના સ્પષ્ટીકરણમાં સ્થિતિ \"%s\" સમજી શકાઈ નહિં" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1332 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "રંગના સ્પષ્ટીકરણમાં રંગની વસ્તુ \"%s\" સમજી શકાયો નહિં" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1361 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| "format" | ||||
| msgstr "\"blend/bg_color/fg_color/alpha\" એ મિશ્રિત માળખું છે, \"%s\" માળખામાં બેસતું નથી " | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1372 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "મિશ્રિત રંગમાં આલ્ફાની કિંમત \"%s\" નું પદચ્છેદ કરી શકાતુ નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1382 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "મિશ્રિત રંગમાં આલ્ફાની કિંમત \"%s\" ૦.૦ અને ૧.૦ ની વચ્ચે નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1429 | ||||
| #, c-format | ||||
| msgid "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| msgstr "છાયાનું માળખું \"shade/base_color/factor\" છે, \"%s\" માળખામાં બેસતુ નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1440 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "છાયાંકિત રંગમાં છાયાનો અવયવ \"%s\" નું પદચ્છેદ કરી શકાતુ નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1450 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "છાયાનો અવયવ \"%s\" છાયાના રંગમાં ઋણ છે" | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1479 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "રંગ \"%s\" નુ પદચ્છેદ કરી શકાતુ નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1790 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "યામાક્ષ સમીકરણ અક્ષર '%s' ધરાવે છે જે સ્વીકાર્ય નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1817 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| "parsed" | ||||
| msgstr "યામાક્ષ સમીકરણ અપૂર્ણાંક સંખ્યા '%s' ધરાવે છે જેનું પદચ્છેદ કરી શકાતું નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1831 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "યામાક્ષ સમીકરણ પૂર્ણાંક સંખ્યા '%s' ધરાવે છે જેનું પદચ્છેદ કરી શકાતું નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1953 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| "\"%s\"" | ||||
| msgstr "યામાક્ષ સમીકરણમાં આ લખાણની શરુઆતમાં અજાણ્યા કારકો ધરાવે છે: \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:2010 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "યામાક્ષ સમીકરણ ખાલી છે અથવા સમજી શકાય એવું નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2121 ../src/ui/theme.c:2131 ../src/ui/theme.c:2165 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "યામાક્ષ સમીકરણ શૂન્ય વડે ભાગાકારમાં પરિણમશે" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2173 | ||||
| #, c-format | ||||
| msgid "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| msgstr "યામાક્ષ સમીકરણ અપૂર્ણાંક સંખ્યાની ઉપર શેષ કારકનો ઉપયોગ કરવાનો પ્રયત્ન કરે છે" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2229 | ||||
| #, c-format | ||||
| msgid "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| msgstr "યામાક્ષ સમીકરણ માટે \"%s\" કારક છે જેના માટે ઓપરન્ડ હોવા જોઈએ" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2238 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "યામાક્ષ સમીકરણમાં ઓપરન્ડ છે જ્યાં કારક હોવુ જોઈતું હતું" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2246 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "યામાક્ષ સમીકરણનો અંત ઓપરન્ડની જગ્યાએ કારકથી થાય છે" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2256 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| "operand in between" | ||||
| msgstr "યામાક્ષ સમીકરણમાં \"%c\" કારક પછી તરત જ \"%c\" કારક છે જેમની વચ્ચે કોઈ ઓપરન્ડ નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2407 ../src/ui/theme.c:2452 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "યામાક્ષ સમીકરણમાં અજાણ્યો ચલ કે અચલ \"%s\" છે" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2506 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "યામાક્ષ સમીકરણ પદચ્છેદકે તેનું બફર ઓવરફ્લો કરી નાંખ્યું." | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2535 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "યામાક્ષ સમીકરણ પાસે ખુલ્લા કૌંસની વગર જ બંધ કૌંસ છે" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "યામાક્ષ સમીકરણ પાસે બંધ કૌંસની વગર જ ખુલ્લો કૌંસ હતો" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2610 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "યામાક્ષ સમીકરણમાં કોઈ કારક કે ઓપરન્ડ હોય તેવુ લાગતુ નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2822 ../src/ui/theme.c:2842 ../src/ui/theme.c:2862 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "થીમે સમાવેલ સમીકરણને કારણે ભૂલમાં પરિણમ્યું: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4533 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| @@ -938,23 +933,23 @@ msgstr "" | ||||
| "આ માળખાની શૈલી માટે <button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/" | ||||
| "> સ્પષ્ટ કરેલી હોવી જરુરી છે" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5066 ../src/ui/theme.c:5091 | ||||
| #, c-format | ||||
| msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "<frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/> ખોવાય છે" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5139 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "થીમ \"%s\" લાવવામાં નિષ્ફળ: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5275 ../src/ui/theme.c:5282 ../src/ui/theme.c:5289 | ||||
| #: ../src/ui/theme.c:5296 ../src/ui/theme.c:5303 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "કોઈ <%s> ગોઠવણ થીમ \"%s\" માટે નથી" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5311 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| @@ -963,12 +958,12 @@ msgstr "" | ||||
| "થીમ \"%s\" માં વિન્ડોના પ્રકાર \"%s\" માટે કોઈ માળખાની શૈલી ગોઠવાયેલી નથી, <window " | ||||
| "type=\"%s\" style_set=\"whatever\"/> વસ્તુ ઊમેરો" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5709 ../src/ui/theme.c:5771 ../src/ui/theme.c:5834 | ||||
| #, c-format | ||||
| msgid "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| msgstr "વપરાશકર્તા દ્વારા વ્યાખ્યાયિત અચલો મોટા અક્ષરથી જ શરુ થવા જોઈએ; \"%s\" નહિં" | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5717 ../src/ui/theme.c:5779 ../src/ui/theme.c:5842 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "અચલ \"%s\" પહેલેથી જ વ્યાખ્યાયિત છે" | ||||
| @@ -1277,12 +1272,12 @@ msgstr "ખરાબ આવૃત્તિ સ્પષ્ટીકરણ '%s'" | ||||
| msgid "" | ||||
| "\"version\" attribute cannot be used in metacity-theme-1.xml or metacity-" | ||||
| "theme-2.xml" | ||||
| msgstr "\"version\" ગુણધર્મ metacity-theme-1.xml અથવા metacity-theme-2.xml માં વાપરી શકાતુ નથી" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:3530 | ||||
| #, c-format | ||||
| msgid "Theme requires version %s but latest supported theme version is %d.%d" | ||||
| msgstr "થીમને આવૃત્તિ %s ની જરૂર છે પરંતુ તાજેતરની આધારભૂત થીમ આવૃત્તિ %d છે.%d" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:3562 | ||||
| #, c-format | ||||
| @@ -1332,10 +1327,11 @@ msgstr "કોઈ લખાણ વસ્તુ <%s> ની અંદર સ્ | ||||
| #: ../src/ui/theme-parser.c:4050 ../src/ui/theme-parser.c:4062 | ||||
| #: ../src/ui/theme-parser.c:4074 | ||||
| #, c-format | ||||
| #| msgid "<name> specified twice for this theme" | ||||
| msgid "<%s> specified twice for this theme" | ||||
| msgstr "આ થીમ માટે <%s> બે વખત સ્પષ્ટ કરેલ છે" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:4334 | ||||
| #: ../src/ui/theme-parser.c:4348 | ||||
| #, c-format | ||||
| msgid "Failed to find a valid file for theme %s\n" | ||||
| msgstr "થીમ %s માટે માન્ય ફાઈલ શોધવામાં નિષ્ફળ\n" | ||||
| @@ -1537,30 +1533,6 @@ msgstr "y કિંમત %d હતી, %d ની ઈચ્છા હતી" | ||||
| msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "%d યામાક્ષ સમીકરણ %g સેકન્ડોમાં પદચ્છેદ થયુ (સરેરાશ %g સેકન્ડો)\n" | ||||
|  | ||||
| #: ../src/50-mutter-launchers.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Launchers" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Navigation" | ||||
| msgstr "" | ||||
|  | ||||
| #: ../src/50-mutter-screenshot.xml.in.h:1 | ||||
| #, fuzzy | ||||
| #| msgid "Take a screenshot" | ||||
| msgid "Screenshots" | ||||
| msgstr "સ્ક્રીનશોટ" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "System" | ||||
| msgstr "સિસ્ટમ" | ||||
|  | ||||
| #~ msgid "Live Hidden Windows" | ||||
| #~ msgstr "છુપાયેલ વિન્ડોને જીવંત કરો" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "There was an error running <tt>%s</tt>:\n" | ||||
| #~ "\n" | ||||
| @@ -1840,6 +1812,9 @@ msgstr "સિસ્ટમ" | ||||
| #~ msgid "Move window to center of screen" | ||||
| #~ msgstr "વિન્ડોને સ્ક્રીનના કેન્દ્રમાં ખસેડો" | ||||
|  | ||||
| #~ msgid "Clutter Plugins" | ||||
| #~ msgstr "ક્લટર પ્લગઇન" | ||||
|  | ||||
| #~ msgid "Close Window" | ||||
| #~ msgstr "વિન્ડો બંધ કરો" | ||||
|  | ||||
|   | ||||
							
								
								
									
										486
									
								
								po/ko.po
									
									
									
									
									
								
							
							
						
						
									
										486
									
								
								po/ko.po
									
									
									
									
									
								
							| @@ -18,14 +18,14 @@ msgstr "" | ||||
| "Project-Id-Version: mutter\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" | ||||
| "product=mutter&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2012-10-11 14:32+0000\n" | ||||
| "PO-Revision-Date: 2012-10-13 18:52+0900\n" | ||||
| "POT-Creation-Date: 2012-03-15 21:29+0000\n" | ||||
| "PO-Revision-Date: 2012-03-27 01:25+0900\n" | ||||
| "Last-Translator: Changwoo Ryu <cwryu@debian.org>\n" | ||||
| "Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n" | ||||
| "Language: Korean\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Language: Korean\n" | ||||
| "Plural-Forms: nplurals=1; plural=0;\n" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| @@ -51,7 +51,7 @@ msgstr "" | ||||
| "다른 창 구성 관리 프로그램이 이미 디스플레이 \"%2$s\" 화면 %1$i번에서 실행 중" | ||||
| "입니다." | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| #: ../src/core/bell.c:307 | ||||
| msgid "Bell event" | ||||
| msgstr "삑소리 이벤트" | ||||
|  | ||||
| @@ -60,40 +60,40 @@ msgstr "삑소리 이벤트" | ||||
| msgid "Unknown window information request: %d" | ||||
| msgstr "알 수 없는 창 정보 요청: %d" | ||||
|  | ||||
| #: ../src/core/delete.c:113 | ||||
| #: ../src/core/delete.c:111 | ||||
| #, c-format | ||||
| msgid "%s is not responding." | ||||
| msgstr "%s 창이 반응하지 않습니다." | ||||
| msgid "<tt>%s</tt> is not responding." | ||||
| msgstr "<tt>%s</tt> 창이 반응하지 않습니다." | ||||
|  | ||||
| #: ../src/core/delete.c:117 | ||||
| #: ../src/core/delete.c:114 | ||||
| msgid "Application is not responding." | ||||
| msgstr "프로그램이 반응하지 않습니다." | ||||
|  | ||||
| #: ../src/core/delete.c:122 | ||||
| #: ../src/core/delete.c:119 | ||||
| msgid "" | ||||
| "You may choose to wait a short while for it to continue or force the " | ||||
| "application to quit entirely." | ||||
| msgstr "좀 더 기다리거나 해당 프로그램을 강제로 끝낼 수 있습니다." | ||||
|  | ||||
| #: ../src/core/delete.c:129 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Wait" | ||||
| msgstr "기다리기(_W)" | ||||
|  | ||||
| #: ../src/core/delete.c:129 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Force Quit" | ||||
| msgstr "강제로 끝내기(_F)" | ||||
|  | ||||
| #: ../src/core/display.c:396 | ||||
| #: ../src/core/display.c:387 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "콤포짓에 필요한 %s 확장 기능이 없습니다" | ||||
|  | ||||
| #: ../src/core/display.c:492 | ||||
| #: ../src/core/display.c:453 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "X 윈도 시스템 디스플레이 '%s'을(를) 여는데 실패하였습니다\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:853 | ||||
| #: ../src/core/keybindings.c:852 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| @@ -102,36 +102,36 @@ msgstr "" | ||||
| "다른 프로그램에서 이미 단축키로 변경 키 %2$x와(과) 키 %1$s을(를) 사용하고 있" | ||||
| "습니다\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| #: ../src/core/main.c:206 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "세션 관리자와 연결 하지 않습니다" | ||||
|  | ||||
| #: ../src/core/main.c:202 | ||||
| #: ../src/core/main.c:212 | ||||
| msgid "Replace the running window manager" | ||||
| msgstr "실행 중인 창 관리자를 바꿉니다" | ||||
|  | ||||
| #: ../src/core/main.c:208 | ||||
| #: ../src/core/main.c:218 | ||||
| msgid "Specify session management ID" | ||||
| msgstr "세션 관리 ID를 지정합니다" | ||||
|  | ||||
| #: ../src/core/main.c:213 | ||||
| #: ../src/core/main.c:223 | ||||
| msgid "X Display to use" | ||||
| msgstr "사용할 X 디스플레이" | ||||
|  | ||||
| #: ../src/core/main.c:219 | ||||
| #: ../src/core/main.c:229 | ||||
| msgid "Initialize session from savefile" | ||||
| msgstr "저장 파일에서 세션을 초기화 합니다" | ||||
|  | ||||
| #: ../src/core/main.c:225 | ||||
| #: ../src/core/main.c:235 | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "동기 X 호출을 합니다" | ||||
|  | ||||
| #: ../src/core/main.c:494 | ||||
| #: ../src/core/main.c:504 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "테마 디렉터리를 읽는 데 실패했습니다: %s\n" | ||||
|  | ||||
| #: ../src/core/main.c:510 | ||||
| #: ../src/core/main.c:520 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -159,10 +159,10 @@ msgid "Print version" | ||||
| msgstr "버전을 출력합니다" | ||||
|  | ||||
| #: ../src/core/mutter.c:60 | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "사용할 머터 플러그인" | ||||
| msgid "Comma-separated list of compositor plugins" | ||||
| msgstr "컴포짓 플러그인의 목록, 쉼표로 구분" | ||||
|  | ||||
| #: ../src/core/prefs.c:1079 | ||||
| #: ../src/core/prefs.c:1077 | ||||
| msgid "" | ||||
| "Workarounds for broken applications disabled. Some applications may not " | ||||
| "behave properly.\n" | ||||
| @@ -170,12 +170,12 @@ msgstr "" | ||||
| "응용 프로그램에 대한 임시 방편을 막았습니다. 몇몇 응용프로그램들이 제대로 동" | ||||
| "작하지 않을것입니다.\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1154 | ||||
| #: ../src/core/prefs.c:1152 | ||||
| #, c-format | ||||
| msgid "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
| msgstr "GSettings 키 %2$s에서 글꼴 지정 \"%1$s\"을(를) 분석할 수 없습니다\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1220 | ||||
| #: ../src/core/prefs.c:1218 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for mouse button " | ||||
| @@ -184,7 +184,7 @@ msgstr "" | ||||
| "설정 데이터베이스에서 찾은 \"%s\"이(가) 마우스 단추 변경 키의 올바른 값이 아" | ||||
| "닙니다\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1747 | ||||
| #: ../src/core/prefs.c:1739 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| @@ -193,17 +193,17 @@ msgstr "" | ||||
| "설정 데이터베이스에서 찾은 \"%s\"이(가) 단축키 \"%s\"에 대한 올바른 값이 아닙" | ||||
| "니다\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1844 | ||||
| #: ../src/core/prefs.c:1836 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "작업 공간 %d" | ||||
|  | ||||
| #: ../src/core/screen.c:652 | ||||
| #: ../src/core/screen.c:730 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "디스플레이 '%2$s'의 화면 %1$d은(는) 잘못되었습니다\n" | ||||
|  | ||||
| #: ../src/core/screen.c:668 | ||||
| #: ../src/core/screen.c:746 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -212,19 +212,19 @@ msgstr "" | ||||
| "디스플레이 \"%2$s\"의 화면 %1$d에 이미 창 관리자가 실행되고 있습니다. 현재 " | ||||
| "창 관리자를 무시하는 --replace 옵션을 써보십시오.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:695 | ||||
| #: ../src/core/screen.c:773 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| msgstr "디스플레이 \"%2$s\"의 화면 %1$d에 창 관리 선택을 가질 수 없습니다\n" | ||||
|  | ||||
| #: ../src/core/screen.c:750 | ||||
| #: ../src/core/screen.c:828 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "" | ||||
| "디스플레이 \"%2$s\"의 화면 %1$d은(는) 이미 창 관리자가 실행되고 있습니다\n" | ||||
|  | ||||
| #: ../src/core/screen.c:935 | ||||
| #: ../src/core/screen.c:1013 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "디스플레이 \"%2$s\"의 화면 %1$d을(를) 떼어 놓을수 없습니다\n" | ||||
| @@ -284,44 +284,44 @@ msgstr "" | ||||
| "이 창은 "현재 설정 저장"을 지원하지 않기 때문에 다음 번에 로그인 " | ||||
| "할 때 수동으로 다시 시작해야 합니다." | ||||
|  | ||||
| #: ../src/core/util.c:80 | ||||
| #: ../src/core/util.c:111 | ||||
| #, c-format | ||||
| msgid "Failed to open debug log: %s\n" | ||||
| msgstr "디버그 로그 열기 실패: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:90 | ||||
| #: ../src/core/util.c:121 | ||||
| #, c-format | ||||
| msgid "Failed to fdopen() log file %s: %s\n" | ||||
| msgstr "로그 파일 %s을(를) fdopen()하기 실패: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:96 | ||||
| #: ../src/core/util.c:127 | ||||
| #, c-format | ||||
| msgid "Opened log file %s\n" | ||||
| msgstr "로그 파일 %s을(를) 엽니다\n" | ||||
|  | ||||
| #: ../src/core/util.c:115 ../src/tools/mutter-message.c:149 | ||||
| #: ../src/core/util.c:146 ../src/tools/mutter-message.c:149 | ||||
| #, c-format | ||||
| msgid "Mutter was compiled without support for verbose mode\n" | ||||
| msgstr "머터가 자세한 모드 지원 없이 컴파일 되었습니다\n" | ||||
|  | ||||
| #: ../src/core/util.c:259 | ||||
| #: ../src/core/util.c:290 | ||||
| msgid "Window manager: " | ||||
| msgstr "창 관리자: " | ||||
|  | ||||
| #: ../src/core/util.c:407 | ||||
| #: ../src/core/util.c:438 | ||||
| msgid "Bug in window manager: " | ||||
| msgstr "창 관리자의 벌레: " | ||||
|  | ||||
| #: ../src/core/util.c:438 | ||||
| #: ../src/core/util.c:471 | ||||
| msgid "Window manager warning: " | ||||
| msgstr "창 관리자 주의: " | ||||
|  | ||||
| #: ../src/core/util.c:466 | ||||
| #: ../src/core/util.c:499 | ||||
| msgid "Window manager error: " | ||||
| msgstr "장 관리자 오류: " | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7237 | ||||
| #: ../src/core/window.c:7269 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -337,32 +337,32 @@ msgstr "" | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7902 | ||||
| #: ../src/core/window.c:7932 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| "%d x %d and max size %d x %d; this doesn't make much sense.\n" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %" | ||||
| "d x %d and max size %d x %d; this doesn't make much sense.\n" | ||||
| msgstr "" | ||||
| "%s 창에서 크기 변경이 불가능하다는 MWM 힌트를 설정했지만, 최소 크기 %d x %d " | ||||
| "및 최대 크기 %d x %d(으)로 설정했습니다. 앞뒤가 맞지 않습니다.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:274 | ||||
| #: ../src/core/window-props.c:309 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "응용 프로그램이 가짜 _NET_WM_PID %lu을(를) 설정하였습니다\n" | ||||
|  | ||||
| # <창제목> (on <기계>) | ||||
| #: ../src/core/window-props.c:393 | ||||
| #: ../src/core/window-props.c:426 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s (%s에서)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1448 | ||||
| #: ../src/core/window-props.c:1481 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "%2$s에 대해 WM_TRANSIENT_FOR 0x%1$lx 창이 잘못되었습니다.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1459 | ||||
| #: ../src/core/window-props.c:1492 | ||||
| #, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "%2$s에 대해 WM_TRANSIENT_FOR 0x%1$lx 창은 무한 반복입니다.\n" | ||||
| @@ -429,10 +429,22 @@ msgstr "" | ||||
| "표시줄에 붙어서 상위 창과 함께 움직입니다." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:5 | ||||
| msgid "Live Hidden Windows" | ||||
| msgstr "실행 중인 숨긴 창" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:6 | ||||
| msgid "" | ||||
| "Determines whether hidden windows (i.e., minimized windows and windows on " | ||||
| "other workspaces than the current one) should be kept alive." | ||||
| msgstr "" | ||||
| "숨긴 창을 (예를 들어 최소화한 창과 현재가 아닌 다른 작업 공간의 창) 실행 상태" | ||||
| "로 두어야 할지 지정합니다." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "창을 화면 가장자리에 끌어 놓을 때 가장자리에 맞춰 격자로 만들기" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:6 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| msgid "" | ||||
| "If enabled, dropping windows on vertical screen edges maximizes them " | ||||
| "vertically and resizes them horizontally to cover half of the available " | ||||
| @@ -442,25 +454,22 @@ msgstr "" | ||||
| "로 방향으로 화면을 절반을 차지하도록 크기를 바꿉니다. 화면 위 가장자리에 창" | ||||
| "을 놓으면 전체 화면으로 만듭니다." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:9 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| msgstr "작업 공간을 동적으로 관리" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:10 | ||||
| msgid "" | ||||
| "Determines whether workspaces are managed dynamically or whether there's a " | ||||
| "static number of workspaces (determined by the num-workspaces key in org." | ||||
| "gnome.desktop.wm.preferences)." | ||||
| msgstr "" | ||||
| "작업 공간을 동적으로 관리할지 아니면 작업 공간이 고정된 개수인지 지정합니다. " | ||||
| "(고정된 개수는 org.gnome.desktop.wm.preferences의 num-workspaces 키로 지정합" | ||||
| "니다.)" | ||||
| msgstr "작업 공간을 동적으로 관리할지 아니면 작업 공간이 고정된 개수인지 지정합니다. (고정된 개수는 org.gnome.desktop.wm.preferences의 num-workspaces 키로 지정합니다.)" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:9 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:11 | ||||
| msgid "Workspaces only on primary" | ||||
| msgstr "주 모니터에서만 작업 공간" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:10 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| msgid "" | ||||
| "Determines whether workspace switching should happen for windows on all " | ||||
| "monitors or only for windows on the primary monitor." | ||||
| @@ -468,28 +477,17 @@ msgstr "" | ||||
| "작업 공간을 전환할 때 모든 모니터의 창에 대해 할지 주 모니터의 창에서만 할지 " | ||||
| "결정합니다." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:11 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:13 | ||||
| msgid "No tab popup" | ||||
| msgstr "탭 팝업 없음" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:14 | ||||
| msgid "" | ||||
| "Determines whether the use of popup and highlight frame should be disabled " | ||||
| "for window cycling." | ||||
| msgstr "" | ||||
| "팝업 및 강조 프레임을 창 전환 목록에 사용하지 않게 만들지 여부를 결정합니다." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:13 | ||||
| msgid "Delay focus changes until the pointer stops moving" | ||||
| msgstr "포인터가 움직임을 멈출 때까지 포커스 전환 미루기" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:14 | ||||
| msgid "" | ||||
| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then " | ||||
| "the focus will not be changed immediately when entering a window, but only " | ||||
| "after the pointer stops moving." | ||||
| msgstr "참이고 포커스 모드가 \"sloppy\"나 \"mouse\"인 경우, 창 안에 포인터를 옮겼을 때 즉시 포커스를 전환하지 않고, 포인터가 움직임을 멈추었을 때 전환합니다." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:15 | ||||
| msgid "Draggable border width" | ||||
| msgstr "마우스로 끌 수 있는 가장자리의 너비" | ||||
| @@ -714,50 +712,50 @@ msgstr "Mod5" | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:253 | ||||
| msgid "top" | ||||
| msgstr "맨 위" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:255 | ||||
| msgid "bottom" | ||||
| msgstr "맨 아래" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:257 | ||||
| msgid "left" | ||||
| msgstr "왼쪽" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:259 | ||||
| msgid "right" | ||||
| msgstr "오른쪽" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:286 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "프레임 위치가 \"%s\"차원으로 지정되지 않았습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:305 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "" | ||||
| "프레임 위치가 가장자리 \"%2$s\" 가장자리의 \"%1$s\"차원으로 지정되지 않았습니" | ||||
| "다." | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:342 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "단추의 가로세로 비 %g이(가) 적당하지 않습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:354 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "프레임 위치가 단추의 크기로 지정되지 않았습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1067 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "서서히 변하는 색으로 지정하려면 최소 2색이 필요합니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #: ../src/ui/theme.c:1219 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| @@ -766,7 +764,7 @@ msgstr "" | ||||
| "GTK 사용자 지정 색상 지정은 색 이름과 대체할 색을 괄호 안에 써야 합니다. 예" | ||||
| "를 들어: gtk:custom(foo,bar). \"%s\"을(를) 분석할 수 없습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1235 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| @@ -775,7 +773,7 @@ msgstr "" | ||||
| "gtk:custom의 color_name 파라미터 안에 잘못된 문자 '%c'. A-Za-z0-9-_ 문자만 허" | ||||
| "용합니다." | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #: ../src/ui/theme.c:1249 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| @@ -784,7 +782,7 @@ msgstr "" | ||||
| "gtk:custom 형식은 \"gtk:custom(색이름,대체색)\"입니다, \"%s\"(은)는 형식에 맞" | ||||
| "지 않습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1294 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| @@ -793,7 +791,7 @@ msgstr "" | ||||
| "GTK 색상 지정은 중괄호안에 있어야 합니다. 예를 들어: gtk:fg[NORMAL], 여기서 " | ||||
| "NORMAL이 값입니다. \"%s\"을(를) 분석할 수 없습니다." | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1308 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| @@ -802,17 +800,17 @@ msgstr "" | ||||
| "GTK 색상 지정은 값 뒤에 중괄호로 닫혀 있어야 합니다. 예를 들어: gtk:fg" | ||||
| "[NORMAL], 여기서 NORMAL은 값입니다. \"%s\"을(를) 분석할 수 없습니다." | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1319 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "색상 지정의 \"%s\" 값을 이해할 수 없습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1332 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "색상 지정의 색상 구성요소 \"%s\"을(를) 이해할 수 없습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1361 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| @@ -821,17 +819,17 @@ msgstr "" | ||||
| "섞기 형식은 \"blend/bg_color/fg_color/alpha\"입니다, \"%s\"은(는) 형식에 맞" | ||||
| "지 않습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1372 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "색상 섞기에서 알파 값 \"%s\"을(를) 분석할 수 없습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1382 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "색상 섞기에서 알파 값 \"%s\"은(는) 0.0 과 1.0사이의 값이 아닙니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1429 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| @@ -839,39 +837,39 @@ msgstr "" | ||||
| "그림자 형식은 \"shade/base_color/format\"입니다, \"%s\"(은)는 형식에 맞지 않" | ||||
| "습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1440 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "그림자색에서 그림자 인자 \"%s\"(을)를 해석할 수 없습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1450 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "그림자색에서 그림자 인자 \"%s\"(은)는 음수입니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1479 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "색상 \"%s\"을(를) 해석할 수 없습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1790 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "좌표식에 허용되지 않는 문자 '%s'(이)가 포함되어 있습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1817 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| "parsed" | ||||
| msgstr "좌표식에 분석할 수 없는 부동소수점 숫자 '%s'이(가) 포함되어 있습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1831 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "좌표식에 분석할 수 없는 정수 '%s'이(가) 포함되어 있습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1953 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| @@ -879,39 +877,39 @@ msgid "" | ||||
| msgstr "" | ||||
| "좌표식에 이 글자 시작부분에 알 수 없는 연산자가 포함되어 있습니다: \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:2010 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "좌표식이 비어있거나 이해할 수 없습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2121 ../src/ui/theme.c:2131 ../src/ui/theme.c:2165 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "좌표식의 결과 값이 0로 나누었습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2173 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| msgstr "좌표식에서 부동소수점 수에 나머지 연산을 하려 합니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2229 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| msgstr "좌표식에서 피연산자가 들어갈 곳에 연산자 \"%s\"이(가) 있습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2238 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "좌표식에서 연산자가 들어갈 곳에 피연산자가 있습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2246 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "좌표식에서 피연산자 대신에 연산자로 끝나있습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2256 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| @@ -920,37 +918,37 @@ msgstr "" | ||||
| "좌표식에서 피연산자가 없는 연산자 \"%2$c\"다음에 연산자 \"%1$c\"이(가) 있습니" | ||||
| "다" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2407 ../src/ui/theme.c:2452 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "좌표식에 알 수 없는 변수나 상수 \"%s\"이(가) 있습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2506 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "좌표 계산 파서의 버퍼가 크기를 넘어갔습니다." | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2535 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "좌표식에 닫는 괄호는 있지만 여는 괄호가 없습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "좌표식에 여는 괄호는 있지만 닫는 괄호가 없습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2610 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "좌표식에 어떠한 연산자나 피연산자가 없습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2822 ../src/ui/theme.c:2842 ../src/ui/theme.c:2862 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "테마가 오류 값을 내는 표현식이 들어 있습니다: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4533 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| @@ -959,7 +957,7 @@ msgstr "" | ||||
| "이 프레임 스타일에는 <button function=\"%s\" style=\"%s\" draw_ops=\"whatever" | ||||
| "\"/>가 지정되어야 합니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5066 ../src/ui/theme.c:5091 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| @@ -967,18 +965,18 @@ msgstr "" | ||||
| "<frame state=\"%s\" resize=\"%s\" focus=\"%s\" state=\"whatever\"/> 가 없습니" | ||||
| "다" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5139 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "테마 \"%s\"을(를) 읽을 수 없습니다: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5275 ../src/ui/theme.c:5282 ../src/ui/theme.c:5289 | ||||
| #: ../src/ui/theme.c:5296 ../src/ui/theme.c:5303 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "테마 \"%2$s\"의 <%1$s>(이)가 설정되지 않았습니다" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5311 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| @@ -987,14 +985,14 @@ msgstr "" | ||||
| "테마 \"%2$s\"의 창 형식 \"%1$s\"에 대한 프레임 스타일이 없습니다,<window " | ||||
| "type=\"%3$s\" style_set=\"whatever\"/> 엘리먼트를 추가하십시오" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5709 ../src/ui/theme.c:5771 ../src/ui/theme.c:5834 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| msgstr "" | ||||
| "사용자 정의 상수는 대문자로 시작되어야 합니다. \"%s\"은(는) 그렇지 않습니다." | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5717 ../src/ui/theme.c:5779 ../src/ui/theme.c:5842 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "상수 \"%s\"은(는) 이미 지정되어 있습니다" | ||||
| @@ -1217,7 +1215,7 @@ msgstr "단추에 알 수 없는 기능 \"%s\"" | ||||
| #: ../src/ui/theme-parser.c:2982 | ||||
| #, c-format | ||||
| msgid "Button function \"%s\" does not exist in this version (%d, need %d)" | ||||
| msgstr "이 버전에는 \"%s\" 단추 함수가 없습니다(버전은 %d, 버전 %d 필요)" | ||||
| msgstr "이 버전에는 \"%s\" 단추 함수가 없습니다 (버전은 %d, 버전 %d 필요)" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:2994 | ||||
| #, c-format | ||||
| @@ -1280,7 +1278,7 @@ msgid "" | ||||
| "Can't have a two draw_ops for a <piece> element (theme specified a draw_ops " | ||||
| "attribute and also a <draw_ops> element, or specified two elements)" | ||||
| msgstr "" | ||||
| "<piece> 엘리먼트에 두개의 draw_ops를 가질수 없습니다(테마에 draw_ops 속성과 " | ||||
| "<piece> 엘리먼트에 두개의 draw_ops를 가질수 없습니다 (테마에 draw_ops 속성과 " | ||||
| "<draw_ops> 엘리먼트를 지정했거나 두 엘리먼트를 지정했습니다" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:3332 | ||||
| @@ -1288,16 +1286,16 @@ msgid "" | ||||
| "Can't have a two draw_ops for a <button> element (theme specified a draw_ops " | ||||
| "attribute and also a <draw_ops> element, or specified two elements)" | ||||
| msgstr "" | ||||
| "<button> 엘리먼트에 두개의 draw_ops를 가질수 없습니다(테마에 draw_ops 속성과 " | ||||
| "<draw_ops> 엘리먼트를 지정했거나 두 엘리먼트를 지정했습니다" | ||||
| "<button> 엘리먼트에 두개의 draw_ops를 가질수 없습니다 (테마에 draw_ops 속성" | ||||
| "과 <draw_ops> 엘리먼트를 지정했거나 두 엘리먼트를 지정했습니다" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:3370 | ||||
| msgid "" | ||||
| "Can't have a two draw_ops for a <menu_icon> element (theme specified a " | ||||
| "draw_ops attribute and also a <draw_ops> element, or specified two elements)" | ||||
| msgstr "" | ||||
| "<menu_icon> 엘리먼트에 두개의 draw_ops를 가질수 없습니다(테마에 draw_ops 속성" | ||||
| "과 <draw_ops> 엘리먼트를 지정했거나 두 엘리먼트를 지정했습니다" | ||||
| "<menu_icon> 엘리먼트에 두개의 draw_ops를 가질수 없습니다 (테마에 draw_ops 속" | ||||
| "성과 <draw_ops> 엘리먼트를 지정했거나 두 엘리먼트를 지정했습니다" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:3434 | ||||
| #, c-format | ||||
| @@ -1374,7 +1372,7 @@ msgstr "<%s> 엘리먼트 안에 텍스트가 허용되지 않습니다" | ||||
| msgid "<%s> specified twice for this theme" | ||||
| msgstr "이 테마에서 <%s> 태그가 두 번 지정되었습니다" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:4334 | ||||
| #: ../src/ui/theme-parser.c:4348 | ||||
| #, c-format | ||||
| msgid "Failed to find a valid file for theme %s\n" | ||||
| msgstr "%s 테마의 올바른 파일을 찾는 데 실패했습니다\n" | ||||
| @@ -1536,9 +1534,9 @@ msgid "" | ||||
| "seconds wall clock time including X server resources (%g milliseconds per " | ||||
| "frame)\n" | ||||
| msgstr "" | ||||
| "%d개 프레임을 그리는 데 클라이언트 입장에서 %g초가 걸렸습니다(한 프레임에 %g " | ||||
| "ms). 그리고 X 서버 리소스까지 포함해 실제 시간으로 %g 초가 걸렸습니다(한 프레" | ||||
| "임에 %g ms).\n" | ||||
| "%d개 프레임을 그리는 데 클라이언트 입장에서 %g초가 걸렸습니다 (한 프레임에 %" | ||||
| "g ms). 그리고 X 서버 리소스까지 포함해 실제 시간으로 %g 초가 걸렸습니다 (한 " | ||||
| "프레임에 %g ms).\n" | ||||
|  | ||||
| #: ../src/ui/theme-viewer.c:1266 | ||||
| msgid "position expression test returned TRUE but set error" | ||||
| @@ -1575,219 +1573,37 @@ msgstr "세로값이 %d입니다. 와야 하는 값은 %d입니다" | ||||
| #: ../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" | ||||
| msgstr "%d개의 좌표 표현식을 %g초에 파싱했습니다 (평균 %g초)\n" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Navigation" | ||||
| msgstr "네비게이션" | ||||
| #~ msgid "Close Window" | ||||
| #~ msgstr "창 닫기" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "창을 1번째 작업 공간으로 옮기기" | ||||
| #~ msgid "Window Menu" | ||||
| #~ msgstr "창 메뉴" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "창을 2번째 작업 공간으로 옮기기" | ||||
| #~ msgid "Minimize Window" | ||||
| #~ msgstr "창 최소화" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:4 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "창을 3번째 작업 공간으로 옮기기" | ||||
| #~ msgid "Maximize Window" | ||||
| #~ msgstr "창 최대화" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:5 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "창을 4번째 작업 공간으로 옮기기" | ||||
| #~ msgid "Restore Window" | ||||
| #~ msgstr "창 복귀" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:6 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "창을 왼쪽의 작업 공간으로 옮기기" | ||||
| #~ msgid "Roll Up Window" | ||||
| #~ msgstr "창 말아올리기" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:7 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "창을 오른쪽의 작업 공간으로 옮기기" | ||||
| #~ msgid "Unroll Window" | ||||
| #~ msgstr "창 펼치기" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:8 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "창을 위의 작업 공간으로 옮기기" | ||||
| #~ msgid "Keep Window On Top" | ||||
| #~ msgstr "창을 맨 위에 두기" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:9 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "창을 아래의 작업 공간으로 옮기기" | ||||
| #~ msgid "Remove Window From Top" | ||||
| #~ msgstr "창을 맨 위에서 빼기" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:10 | ||||
| #, fuzzy | ||||
| msgid "Switch applications" | ||||
| msgstr "프로그램 전환" | ||||
| #~ msgid "Always On Visible Workspace" | ||||
| #~ msgstr "항상 현재 작업 공간에 놓기" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:11 | ||||
| #, fuzzy | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "한 개 프로그램의 창 사이에서 전환" | ||||
|  | ||||
| #: ../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 "모든 일반 창 숨기기" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "1번째 작업 공간으로 이동" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "2번째 작업 공간으로 이동" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "3번째 작업 공간으로 이동" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "4번째 작업 공간으로 이동" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace left" | ||||
| msgstr "왼쪽 작업 공간으로 옮기기" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace right" | ||||
| msgstr "오른쪽 작업 공간으로 옮기기" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace above" | ||||
| msgstr "위쪽 작업 공간으로 옮기기" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace below" | ||||
| msgstr "아래쪽 작업 공간으로 옮기기" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "System" | ||||
| msgstr "시스템" | ||||
|  | ||||
| #: ../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:2 | ||||
| #, fuzzy | ||||
| msgid "Activate the window menu" | ||||
| msgstr "창 메뉴 활성" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "전체 화면 모드 토글" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| #, fuzzy | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "창 최대화 토글" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| #, fuzzy | ||||
| msgid "Maximize window" | ||||
| msgstr "창 최대화" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| #, fuzzy | ||||
| msgid "Restore window" | ||||
| msgstr "창 복귀" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| #, fuzzy | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "창 숨기기 토글" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| #, fuzzy | ||||
| msgid "Close window" | ||||
| msgstr "창 닫기" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| #, fuzzy | ||||
| msgid "Minimize window" | ||||
| msgstr "창 최소화" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| #, fuzzy | ||||
| msgid "Move window" | ||||
| msgstr "창을 옮기기" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:11 | ||||
| #, fuzzy | ||||
| msgid "Resize window" | ||||
| 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 "창을 다른창 아래로 내리기" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| #, fuzzy | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "창 세로로 최대화" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:17 | ||||
| #, fuzzy | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "창 가로로 최대화" | ||||
| #~ msgid "Put Window On Only One Workspace" | ||||
| #~ msgstr "창을 한 개 작업 공간에만 두기" | ||||
|   | ||||
							
								
								
									
										287
									
								
								po/nl.po
									
									
									
									
									
								
							
							
						
						
									
										287
									
								
								po/nl.po
									
									
									
									
									
								
							| @@ -21,7 +21,7 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n != 1);\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 "Vensters" | ||||
|  | ||||
| @@ -1589,220 +1589,17 @@ msgstr "" | ||||
| "%d coördinatenexpressies verwerkt in %g seconden (gemiddelde van %g " | ||||
| "seconden)\n" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:18 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 1" | ||||
| msgstr "Schakelen naar werkblad 1" | ||||
| #~ msgid "Switch to workspace 1" | ||||
| #~ msgstr "Schakelen naar werkblad 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:19 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 2" | ||||
| msgstr "Schakelen naar werkblad 2" | ||||
| #~ msgid "Switch to workspace 2" | ||||
| #~ msgstr "Schakelen naar werkblad 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:20 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 3" | ||||
| msgstr "Schakelen naar werkblad 3" | ||||
| #~ msgid "Switch to workspace 3" | ||||
| #~ msgstr "Schakelen naar werkblad 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:21 | ||||
| #, fuzzy | ||||
| msgid "Switch to workspace 4" | ||||
| msgstr "Schakelen naar werkblad 4" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Activate the window menu" | ||||
| msgstr "Venstermenu activeren" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:13 | ||||
| #, fuzzy | ||||
| msgid "Toggle fullscreen mode" | ||||
| msgstr "Volledig scherm-modus omschakelen" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:14 | ||||
| #, fuzzy | ||||
| msgid "Toggle maximization state" | ||||
| msgstr "Maximalisatie in- of uitschakelen" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| #, fuzzy | ||||
| msgid "Maximize window" | ||||
| msgstr "Venster maximaliseren" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| #, fuzzy | ||||
| msgid "Restore window" | ||||
| msgstr "Venster herstellen" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:15 | ||||
| #, fuzzy | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "Oprollen in- of uitschakelen" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| #, fuzzy | ||||
| msgid "Minimize window" | ||||
| msgstr "Venster minimaliseren" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Close window" | ||||
| msgstr "Venster sluiten" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| #, fuzzy | ||||
| msgid "Move window" | ||||
| msgstr "Venster verplaatsen" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:11 | ||||
| #, fuzzy | ||||
| msgid "Resize window" | ||||
| msgstr "Vensterafmetingen veranderen" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:10 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 1" | ||||
| msgstr "Venster verplaatsen naar werkblad 1" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:11 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 2" | ||||
| msgstr "Venster verplaatsen naar werkblad 2" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:12 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 3" | ||||
| msgstr "Venster verplaatsen naar werkblad 3" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:13 | ||||
| #, fuzzy | ||||
| msgid "Move window to workspace 4" | ||||
| msgstr "Venster verplaatsen naar werkblad 4" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:7 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the left" | ||||
| msgstr "Venster één werkblad naar links verplaatsen" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:8 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace to the right" | ||||
| msgstr "Venster één werkblad naar rechts verplaatsen" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:9 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace up" | ||||
| msgstr "Venster één werkblad naar boven verplaatsen" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:6 | ||||
| #, fuzzy | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "Venster één werkblad naar beneden verplaatsen" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| #, fuzzy | ||||
| msgid "Raise window above other windows" | ||||
| msgstr "Venster voor andere vensters brengen" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "Venster achter andere vensters brengen" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| #, fuzzy | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "Een venster verticaal maximaliseren" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| #, fuzzy | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "Een venster horizontaal maximaliseren" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Hide all normal windows" | ||||
| msgstr "Alle normale vensters verbergen" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace above" | ||||
| msgstr "Verplaatsen naar werkblad hierboven" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace below" | ||||
| msgstr "Verplaatsen naar werkblad hieronder" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:4 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace left" | ||||
| msgstr "Verplaatsen naar werkblad links" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:5 | ||||
| #, fuzzy | ||||
| msgid "Move to workspace right" | ||||
| msgstr "Verplaatsen naar werkblad rechts" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:14 | ||||
| #, fuzzy | ||||
| msgid "Navigation" | ||||
| msgstr "Navigatie" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:15 | ||||
| #, fuzzy | ||||
| msgid "Switch applications" | ||||
| msgstr "Tussen toepassingen schakelen" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:16 | ||||
| #, fuzzy | ||||
| msgid "Switch system controls" | ||||
| msgstr "Systeemschermen wisselen" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:17 | ||||
| #, fuzzy | ||||
| msgid "Switch system controls directly" | ||||
| msgstr "Direct tussen systeemschermen schakelen" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:22 | ||||
| #, fuzzy | ||||
| msgid "Switch windows directly" | ||||
| msgstr "Direct tussen vensters schakelen" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:23 | ||||
| #, fuzzy | ||||
| msgid "Switch windows of an app directly" | ||||
| msgstr "Direct wisselen van venster binnen een toepassing" | ||||
|  | ||||
| #: ../src/50-mutter-navigation.xml.in.h:24 | ||||
| #, fuzzy | ||||
| msgid "Switch windows of an application" | ||||
| msgstr "Wisselen van venster binnen een toepassing" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:1 | ||||
| #, fuzzy | ||||
| msgid "Show the activities overview" | ||||
| msgstr "Het activiteitenoverzicht tonen" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:2 | ||||
| #, fuzzy | ||||
| msgid "Show the run command prompt" | ||||
| msgstr "Het opdrachtregelvenster tonen" | ||||
|  | ||||
| #: ../src/50-mutter-system.xml.in.h:3 | ||||
| #, fuzzy | ||||
| msgid "System" | ||||
| msgstr "Systeem" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:10 | ||||
| #, fuzzy | ||||
| msgid "Raise window if covered, otherwise lower it" | ||||
| msgstr "Deels bedekte vensters naar voren halen of anders naar achter halen" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| #, fuzzy | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "‘Venster is op alle werkbladen zichtbaar’ in- of uitschakelen" | ||||
| #~ msgid "Switch to workspace 4" | ||||
| #~ msgstr "Schakelen naar werkblad 4" | ||||
|  | ||||
| #~ msgid "Switch to workspace 5" | ||||
| #~ msgstr "Schakelen naar werkblad 5" | ||||
| @@ -1902,12 +1699,54 @@ msgstr "‘Venster is op alle werkbladen zichtbaar’ in- of uitschakelen" | ||||
| #~ msgid "Run a terminal" | ||||
| #~ msgstr "Een terminal opstarten" | ||||
|  | ||||
| #~ msgid "Activate the window menu" | ||||
| #~ msgstr "Venstermenu activeren" | ||||
|  | ||||
| #~ msgid "Toggle fullscreen mode" | ||||
| #~ msgstr "Volledig scherm-modus omschakelen" | ||||
|  | ||||
| #~ msgid "Toggle maximization state" | ||||
| #~ msgstr "Maximalisatie in- of uitschakelen" | ||||
|  | ||||
| #~ msgid "Toggle whether a window will always be visible over other windows" | ||||
| #~ msgstr "‘Altijd bovenop’-instelling omschakelen" | ||||
|  | ||||
| #~ msgid "Maximize window" | ||||
| #~ msgstr "Venster maximaliseren" | ||||
|  | ||||
| #~ msgid "Restore window" | ||||
| #~ msgstr "Venster herstellen" | ||||
|  | ||||
| #~ msgid "Toggle shaded state" | ||||
| #~ msgstr "Oprollen in- of uitschakelen" | ||||
|  | ||||
| #~ msgid "Minimize window" | ||||
| #~ msgstr "Venster minimaliseren" | ||||
|  | ||||
| #~ msgid "Close window" | ||||
| #~ msgstr "Venster sluiten" | ||||
|  | ||||
| #~ msgid "Move window" | ||||
| #~ msgstr "Venster verplaatsen" | ||||
|  | ||||
| #~ msgid "Resize window" | ||||
| #~ msgstr "Vensterafmetingen veranderen" | ||||
|  | ||||
| #~ msgid "Toggle whether window is on all workspaces or just one" | ||||
| #~ msgstr "‘Venster is op alle werkbladen zichtbaar’ omschakelen" | ||||
|  | ||||
| #~ msgid "Move window to workspace 1" | ||||
| #~ msgstr "Venster verplaatsen naar werkblad 1" | ||||
|  | ||||
| #~ msgid "Move window to workspace 2" | ||||
| #~ msgstr "Venster verplaatsen naar werkblad 2" | ||||
|  | ||||
| #~ msgid "Move window to workspace 3" | ||||
| #~ msgstr "Venster verplaatsen naar werkblad 3" | ||||
|  | ||||
| #~ msgid "Move window to workspace 4" | ||||
| #~ msgstr "Venster verplaatsen naar werkblad 4" | ||||
|  | ||||
| #~ msgid "Move window to workspace 5" | ||||
| #~ msgstr "Venster verplaatsen naar werkblad 5" | ||||
|  | ||||
| @@ -1932,11 +1771,35 @@ msgstr "‘Venster is op alle werkbladen zichtbaar’ in- of uitschakelen" | ||||
| #~ msgid "Move window to workspace 12" | ||||
| #~ msgstr "Venster verplaatsen naar werkblad 12" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the left" | ||||
| #~ msgstr "Venster één werkblad naar links verplaatsen" | ||||
|  | ||||
| #~ msgid "Move window one workspace to the right" | ||||
| #~ msgstr "Venster één werkblad naar rechts verplaatsen" | ||||
|  | ||||
| #~ msgid "Move window one workspace up" | ||||
| #~ msgstr "Venster één werkblad naar boven verplaatsen" | ||||
|  | ||||
| #~ msgid "Move window one workspace down" | ||||
| #~ msgstr "Venster één werkblad naar beneden verplaatsen" | ||||
|  | ||||
| #~ msgid "Raise window if it's covered by another window, otherwise lower it" | ||||
| #~ msgstr "" | ||||
| #~ "Venster naar boven halen indien overlapt door een ander venster, anders " | ||||
| #~ "naar beneden halen" | ||||
|  | ||||
| #~ msgid "Raise window above other windows" | ||||
| #~ msgstr "Venster voor andere vensters brengen" | ||||
|  | ||||
| #~ msgid "Lower window below other windows" | ||||
| #~ msgstr "Venster achter andere vensters brengen" | ||||
|  | ||||
| #~ msgid "Maximize window vertically" | ||||
| #~ msgstr "Een venster verticaal maximaliseren" | ||||
|  | ||||
| #~ msgid "Maximize window horizontally" | ||||
| #~ msgstr "Een venster horizontaal maximaliseren" | ||||
|  | ||||
| #~ msgid "Move window to north-west (top left) corner" | ||||
| #~ msgstr "Venster verplaatsen naar de noordwest-hoek (linksboven)" | ||||
|  | ||||
|   | ||||
							
								
								
									
										413
									
								
								po/pt_BR.po
									
									
									
									
									
								
							
							
						
						
									
										413
									
								
								po/pt_BR.po
									
									
									
									
									
								
							| @@ -17,11 +17,10 @@ | ||||
| msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: metacity\n" | ||||
| "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" | ||||
| "product=mutter&keywords=I18N+L10N&component=general\n" | ||||
| "POT-Creation-Date: 2012-12-13 12:15+0000\n" | ||||
| "PO-Revision-Date: 2012-11-21 05:02-0300\n" | ||||
| "Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2012-03-21 14:53-0300\n" | ||||
| "PO-Revision-Date: 2012-03-21 09:33-0300\n" | ||||
| "Last-Translator: Enrico Nicoletto <liverig@gmail.com>\n" | ||||
| "Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n" | ||||
| "Language: pt_BR\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| @@ -29,19 +28,21 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=2; plural=(n > 1);\n" | ||||
| "X-Generator: Virtaal 0.6.1\n" | ||||
| "X-Poedit-Language: Portuguese\n" | ||||
| "X-Poedit-Country: BRAZIL\n" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| msgid "Windows" | ||||
| msgstr "Janelas" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "View split on left" | ||||
| msgstr "Visualizar divisão à esquerda" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "View split on right" | ||||
| msgstr "Visualizar divisão à direita" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "Windows" | ||||
| msgstr "Janelas" | ||||
|  | ||||
| #. This probably means that a non-WM compositor like xcompmgr is running; | ||||
| #. * we have no way to get it to exit | ||||
| #: ../src/compositor/compositor.c:492 | ||||
| @@ -52,7 +53,7 @@ msgid "" | ||||
| msgstr "" | ||||
| "Outro compositor de janelas está em execução na tela %i na área \"%s\"." | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| #: ../src/core/bell.c:307 | ||||
| msgid "Bell event" | ||||
| msgstr "Evento de som" | ||||
|  | ||||
| @@ -61,16 +62,16 @@ msgstr "Evento de som" | ||||
| msgid "Unknown window information request: %d" | ||||
| msgstr "Informação solicitada de janela desconhecida: %d" | ||||
|  | ||||
| #: ../src/core/delete.c:113 | ||||
| #: ../src/core/delete.c:111 | ||||
| #, c-format | ||||
| msgid "%s is not responding." | ||||
| msgstr "%s não está respondendo." | ||||
| msgid "<tt>%s</tt> is not responding." | ||||
| msgstr "<tt>%s</tt> não está respondendo." | ||||
|  | ||||
| #: ../src/core/delete.c:117 | ||||
| #: ../src/core/delete.c:114 | ||||
| msgid "Application is not responding." | ||||
| msgstr "O aplicativo não está respondendo." | ||||
|  | ||||
| #: ../src/core/delete.c:122 | ||||
| #: ../src/core/delete.c:119 | ||||
| msgid "" | ||||
| "You may choose to wait a short while for it to continue or force the " | ||||
| "application to quit entirely." | ||||
| @@ -78,25 +79,25 @@ msgstr "" | ||||
| "Você pode escolher aguardar um pouco e continuar ou forçar o aplicativo a " | ||||
| "sair completamente." | ||||
|  | ||||
| #: ../src/core/delete.c:129 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Wait" | ||||
| msgstr "_Esperar" | ||||
|  | ||||
| #: ../src/core/delete.c:129 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Force Quit" | ||||
| msgstr "_Forçar sair" | ||||
|  | ||||
| #: ../src/core/display.c:399 | ||||
| #: ../src/core/display.c:387 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "Faltando extensão %s necessária para composição" | ||||
|  | ||||
| #: ../src/core/display.c:496 | ||||
| #: ../src/core/display.c:453 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "Falha ao abrir a exibição \"%s\" do X Window System\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:853 | ||||
| #: ../src/core/keybindings.c:852 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| @@ -105,36 +106,36 @@ msgstr "" | ||||
| "Algum outro programa já está usando a chave %s com modificadores %x como uma " | ||||
| "tecla de atalho\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| #: ../src/core/main.c:206 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "Desabilitar a conexão com o gerenciador de sessões" | ||||
|  | ||||
| #: ../src/core/main.c:202 | ||||
| #: ../src/core/main.c:212 | ||||
| msgid "Replace the running window manager" | ||||
| msgstr "Substituir o gerenciador de janelas em execução" | ||||
|  | ||||
| #: ../src/core/main.c:208 | ||||
| #: ../src/core/main.c:218 | ||||
| msgid "Specify session management ID" | ||||
| msgstr "Especificar o ID do gerenciador de sessões" | ||||
|  | ||||
| #: ../src/core/main.c:213 | ||||
| #: ../src/core/main.c:223 | ||||
| msgid "X Display to use" | ||||
| msgstr "Exibição do X a ser utilizada" | ||||
|  | ||||
| #: ../src/core/main.c:219 | ||||
| #: ../src/core/main.c:229 | ||||
| msgid "Initialize session from savefile" | ||||
| msgstr "Inicializar a sessão a partir do arquivo salvo" | ||||
|  | ||||
| #: ../src/core/main.c:225 | ||||
| #: ../src/core/main.c:235 | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "Fazer X chamadas síncronas" | ||||
|  | ||||
| #: ../src/core/main.c:494 | ||||
| #: ../src/core/main.c:504 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "Falha ao varrer a pasta de temas: %s\n" | ||||
|  | ||||
| #: ../src/core/main.c:510 | ||||
| #: ../src/core/main.c:520 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -163,10 +164,10 @@ msgid "Print version" | ||||
| msgstr "Versão impressa" | ||||
|  | ||||
| #: ../src/core/mutter.c:60 | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "Plug-in do Mutter para usar" | ||||
| msgid "Comma-separated list of compositor plugins" | ||||
| msgstr "Lista de plugins de composição separados por vírgula" | ||||
|  | ||||
| #: ../src/core/prefs.c:1079 | ||||
| #: ../src/core/prefs.c:1077 | ||||
| msgid "" | ||||
| "Workarounds for broken applications disabled. Some applications may not " | ||||
| "behave properly.\n" | ||||
| @@ -174,14 +175,14 @@ msgstr "" | ||||
| "As alternativas para aplicativos quebrados estão desabilitadas. É possível " | ||||
| "que alguns aplicativos não funcionem de maneira adequada.\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1154 | ||||
| #: ../src/core/prefs.c:1152 | ||||
| #, c-format | ||||
| msgid "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
| msgstr "" | ||||
| "Não foi possível analisar a descrição da fonte \"%s\" a partir da chave " | ||||
| "GSettings %s\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1220 | ||||
| #: ../src/core/prefs.c:1218 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for mouse button " | ||||
| @@ -190,7 +191,7 @@ msgstr "" | ||||
| "\"%s\" localizado no banco de dados de configurações não é um valor válido " | ||||
| "para o modificador de botão do mouse\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1747 | ||||
| #: ../src/core/prefs.c:1739 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| @@ -199,17 +200,17 @@ msgstr "" | ||||
| "\"%s\" localizado no banco de dados de configurações não é um valor válido " | ||||
| "para a tecla de atalho \"%s\"\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1844 | ||||
| #: ../src/core/prefs.c:1836 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "Espaço de trabalho %d" | ||||
|  | ||||
| #: ../src/core/screen.c:652 | ||||
| #: ../src/core/screen.c:730 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "A tela %d na exibição \"%s\" é inválida\n" | ||||
|  | ||||
| #: ../src/core/screen.c:668 | ||||
| #: ../src/core/screen.c:746 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -218,7 +219,7 @@ msgstr "" | ||||
| "A tela %d na exibição \"%s\" já possui um gerenciador de janelas; tente usar " | ||||
| "a opção --replace para substituir o gerenciador de janelas atual.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:695 | ||||
| #: ../src/core/screen.c:773 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| @@ -226,12 +227,12 @@ msgstr "" | ||||
| "Não foi possível obter a seleção do gerenciador de janelas na exibição \"%2$s" | ||||
| "\" da tela %1$d\n" | ||||
|  | ||||
| #: ../src/core/screen.c:750 | ||||
| #: ../src/core/screen.c:828 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "A tela %d na exibição \"%s\" já possui um gerenciador de janelas\n" | ||||
|  | ||||
| #: ../src/core/screen.c:935 | ||||
| #: ../src/core/screen.c:1013 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "Não foi possível liberar a tela %d na exibição \"%s\"\n" | ||||
| @@ -292,44 +293,44 @@ msgstr "" | ||||
| "atual" e precisarão ser reiniciadas manualmente quando você reiniciar a " | ||||
| "sessão." | ||||
|  | ||||
| #: ../src/core/util.c:80 | ||||
| #: ../src/core/util.c:111 | ||||
| #, c-format | ||||
| msgid "Failed to open debug log: %s\n" | ||||
| msgstr "Falha ao abrir o log de depuração: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:90 | ||||
| #: ../src/core/util.c:121 | ||||
| #, c-format | ||||
| msgid "Failed to fdopen() log file %s: %s\n" | ||||
| msgstr "Falha ao executar fdopen() no arquivo de log %s: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:96 | ||||
| #: ../src/core/util.c:127 | ||||
| #, c-format | ||||
| msgid "Opened log file %s\n" | ||||
| msgstr "Arquivo de log %s aberto\n" | ||||
|  | ||||
| #: ../src/core/util.c:115 ../src/tools/mutter-message.c:149 | ||||
| #: ../src/core/util.c:146 ../src/tools/mutter-message.c:149 | ||||
| #, c-format | ||||
| msgid "Mutter was compiled without support for verbose mode\n" | ||||
| msgstr "O Mutter foi compilado sem suporte para modo detalhado\n" | ||||
|  | ||||
| #: ../src/core/util.c:259 | ||||
| #: ../src/core/util.c:290 | ||||
| msgid "Window manager: " | ||||
| msgstr "Gerenciador de janelas: " | ||||
|  | ||||
| #: ../src/core/util.c:407 | ||||
| #: ../src/core/util.c:438 | ||||
| msgid "Bug in window manager: " | ||||
| msgstr "Bug no gerenciador de janelas: " | ||||
|  | ||||
| #: ../src/core/util.c:438 | ||||
| #: ../src/core/util.c:471 | ||||
| msgid "Window manager warning: " | ||||
| msgstr "Aviso do gerenciador de janelas: " | ||||
|  | ||||
| #: ../src/core/util.c:466 | ||||
| #: ../src/core/util.c:499 | ||||
| msgid "Window manager error: " | ||||
| msgstr "Erro do gerenciador de janelas: " | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7237 | ||||
| #: ../src/core/window.c:7266 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -345,7 +346,7 @@ msgstr "" | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7902 | ||||
| #: ../src/core/window.c:7931 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| @@ -355,22 +356,22 @@ msgstr "" | ||||
| "define o tamanho mínimo %d x %d e máximo %d x %d; isso não faz muito " | ||||
| "sentido.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:274 | ||||
| #: ../src/core/window-props.c:309 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "O aplicativo definiu um _NET_WM_PID %lu inválido\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:393 | ||||
| #: ../src/core/window-props.c:426 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s (em %s)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1448 | ||||
| #: ../src/core/window-props.c:1481 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "Janela WM_TRANSIENT_FOR inválida 0x%lx especificada para %s.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1459 | ||||
| #: ../src/core/window-props.c:1492 | ||||
| #, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "Janela WM_TRANSIENT_FOR 0x%lx especificada para %s iriar criar loop.\n" | ||||
| @@ -409,11 +410,94 @@ msgid "Mutter" | ||||
| msgstr "Mutter" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:1 | ||||
| msgid "Attach modal dialogs" | ||||
| msgstr "Anexar diálogos modais" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:2 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "Cancelar aba instantânea" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:3 | ||||
| msgid "" | ||||
| "Determines whether hidden windows (i.e., minimized windows and windows on " | ||||
| "other workspaces than the current one) should be kept alive." | ||||
| msgstr "" | ||||
| "Determina se as janelas ocultas (janelas minimizadas e nas outras áreas de " | ||||
| "trabalho que não é a atual) devem ser mantidas ativas." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:4 | ||||
| msgid "" | ||||
| "Determines whether the use of popup and highlight frame should be disabled " | ||||
| "for window cycling." | ||||
| msgstr "" | ||||
| "Determina se a utilização de quadros instantâneos e destacados devem ser " | ||||
| "desabilitados na alternância de janelas." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:5 | ||||
| msgid "" | ||||
| "Determines whether workspace switching should happen for windows on all " | ||||
| "monitors or only for windows on the primary monitor." | ||||
| msgstr "" | ||||
| "Determina se a troca de área de trabalho deve ocorrer para janelas em todos " | ||||
| "os monitores ou apenas para janelas no monitor principal." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:6 | ||||
| msgid "" | ||||
| "Determines whether workspaces are managed dynamically or whether there's a " | ||||
| "static number of workspaces (determined by the num-workspaces key in org." | ||||
| "gnome.desktop.wm.preferences)." | ||||
| msgstr "" | ||||
| "Determina se as áreas de trabalho são gerenciadas de forma dinâmica ou se há " | ||||
| "um número estático de áreas de trabalho (determinado pela chave num-" | ||||
| "workspaces em org.gnome.desktop.wm.preferences)." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| msgid "Draggable border width" | ||||
| msgstr "Largura da borda arrastável" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "" | ||||
| "Habilitar contorno ladrilhado ao arrastar janelas sobre as bordas da tela" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:9 | ||||
| msgid "" | ||||
| "If enabled, dropping windows on vertical screen edges maximizes them " | ||||
| "vertically and resizes them horizontally to cover half of the available " | ||||
| "area. Dropping windows on the top screen edge maximizes them completely." | ||||
| msgstr "" | ||||
| "Caso esteja habilitado, ao arrastar janelas sobre bordas verticais da tela " | ||||
| "as maximizará verticalmente e as redimensionarão horizontalmente para cobrir " | ||||
| "metade da área disponível. Arrastar janelas no topo da borda da tela as " | ||||
| "maximiza completamente." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:10 | ||||
| msgid "Live Hidden Windows" | ||||
| msgstr "Janelas ocultas ativas" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:11 | ||||
| msgid "Modifier to use for extended window management operations" | ||||
| msgstr "" | ||||
| "Modificador a ser usado para operações de gerenciamento de janelas extendido." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:2 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| msgid "No tab popup" | ||||
| msgstr "Nenhuma aba instantânea" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:13 | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "Selecione a janela a partir da aba instantânea" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:14 | ||||
| msgid "" | ||||
| "The amount of total draggable borders. If the theme's visible borders are " | ||||
| "not enough, invisible borders will be added to meet this value." | ||||
| msgstr "" | ||||
| "A quantidade do total de bordas arrastáveis. Se as bordas dos temas visíveis " | ||||
| "não são suficientes, as bordas invisíveis serão adicionadas para encontrar " | ||||
| "este valor." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:15 | ||||
| msgid "" | ||||
| "This key will initiate the \"overlay\", which is a combination window " | ||||
| "overview and application launching system. The default is intended to be the " | ||||
| @@ -425,11 +509,7 @@ msgstr "" | ||||
| "\"tecla Windows\" no hardware do computador. É esperada para esta associação " | ||||
| "tanto o padrão quanto a definição de uma string vazia. " | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:3 | ||||
| msgid "Attach modal dialogs" | ||||
| msgstr "Anexar diálogos modais" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:4 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:16 | ||||
| msgid "" | ||||
| "When true, instead of having independent titlebars, modal dialogs appear " | ||||
| "attached to the titlebar of the parent window and are moved together with " | ||||
| @@ -439,95 +519,14 @@ msgstr "" | ||||
| "diálogos modais surgem anexados à barra de título da janela pai e são " | ||||
| "movidos juntamente com a janela pai." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:5 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "" | ||||
| "Habilitar contorno ladrilhado ao arrastar janelas sobre as bordas da tela" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:6 | ||||
| msgid "" | ||||
| "If enabled, dropping windows on vertical screen edges maximizes them " | ||||
| "vertically and resizes them horizontally to cover half of the available " | ||||
| "area. Dropping windows on the top screen edge maximizes them completely." | ||||
| msgstr "" | ||||
| "Caso esteja habilitado, ao arrastar janelas sobre bordas verticais da tela " | ||||
| "as maximizará verticalmente e as redimensionarão horizontalmente para cobrir " | ||||
| "metade da área disponível. Arrastar janelas no topo da borda da tela as " | ||||
| "maximiza completamente." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:17 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| msgstr "Áreas de trabalho são gerenciadas dinamicamente" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| msgid "" | ||||
| "Determines whether workspaces are managed dynamically or whether there's a " | ||||
| "static number of workspaces (determined by the num-workspaces key in org." | ||||
| "gnome.desktop.wm.preferences)." | ||||
| msgstr "" | ||||
| "Determina se as áreas de trabalho são gerenciadas de forma dinâmica ou se há " | ||||
| "um número estático de áreas de trabalho (determinado pela chave num-" | ||||
| "workspaces em org.gnome.desktop.wm.preferences)." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:9 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "Workspaces only on primary" | ||||
| msgstr "Áreas de trabalho apenas para a principal" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:10 | ||||
| msgid "" | ||||
| "Determines whether workspace switching should happen for windows on all " | ||||
| "monitors or only for windows on the primary monitor." | ||||
| msgstr "" | ||||
| "Determina se a troca de área de trabalho deve ocorrer para janelas em todos " | ||||
| "os monitores ou apenas para janelas no monitor principal." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:11 | ||||
| msgid "No tab popup" | ||||
| msgstr "Nenhuma aba instantânea" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| msgid "" | ||||
| "Determines whether the use of popup and highlight frame should be disabled " | ||||
| "for window cycling." | ||||
| msgstr "" | ||||
| "Determina se a utilização de quadros instantâneos e destacados devem ser " | ||||
| "desabilitados na alternância de janelas." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:13 | ||||
| msgid "Delay focus changes until the pointer stops moving" | ||||
| msgstr "Atrasar alterações de foco até que o ponteiro pare de mover" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:14 | ||||
| msgid "" | ||||
| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then " | ||||
| "the focus will not be changed immediately when entering a window, but only " | ||||
| "after the pointer stops moving." | ||||
| msgstr "" | ||||
| "Se verdadeiro, e o modo de foco for \"sloppy\" ou \"mouse\", o foco não será " | ||||
| "alterado imediatamente quando o ponteiro do mouse entrar na janela, e sim " | ||||
| "quando parar de mover." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:15 | ||||
| msgid "Draggable border width" | ||||
| msgstr "Largura da borda arrastável" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:16 | ||||
| msgid "" | ||||
| "The amount of total draggable borders. If the theme's visible borders are " | ||||
| "not enough, invisible borders will be added to meet this value." | ||||
| msgstr "" | ||||
| "A quantidade do total de bordas arrastáveis. Se as bordas dos temas visíveis " | ||||
| "não são suficientes, as bordas invisíveis serão adicionadas para encontrar " | ||||
| "este valor." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:17 | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "Selecione a janela a partir da aba instantânea" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "Cancelar aba instantânea" | ||||
|  | ||||
| #: ../src/tools/mutter-message.c:123 | ||||
| #, c-format | ||||
| msgid "Usage: %s\n" | ||||
| @@ -732,48 +731,48 @@ msgstr "Mod5" | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:253 | ||||
| msgid "top" | ||||
| msgstr "superior" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:255 | ||||
| msgid "bottom" | ||||
| msgstr "inferior" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:257 | ||||
| msgid "left" | ||||
| msgstr "esquerda" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:259 | ||||
| msgid "right" | ||||
| msgstr "direita" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:286 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "a geometria do quadro não especifica a dimensão \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:305 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "a geometria do quadro não especifica a dimensão \"%s\" da borda \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:342 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "A taxa de proporção %g do botão não é razoável" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:354 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "A geometria do quadro não especifica o tamanho dos botões" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1067 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "Os gradientes devem ter pelo menos duas cores" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #: ../src/ui/theme.c:1219 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| @@ -783,7 +782,7 @@ msgstr "" | ||||
| "fallback em parênteses, por exemplo, gtk:custom[foo,bar]; não foi possível " | ||||
| "analisar \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1235 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| @@ -792,7 +791,7 @@ msgstr "" | ||||
| "Caractere inválido \"%c\" no parâmetro color_name do gtk:custom, somente A-" | ||||
| "Za-z0-9-_ são válidos" | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #: ../src/ui/theme.c:1249 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| @@ -801,7 +800,7 @@ msgstr "" | ||||
| "Formato gtk:custom é \"gtk:custom(color_name,fallback)\", \"%s\" não é " | ||||
| "adequado ao formato" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1294 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| @@ -811,7 +810,7 @@ msgstr "" | ||||
| "exemplo, gtk:fg[NORMAL], onde NORMAL é o estado; não foi possível analisar " | ||||
| "\"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1308 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| @@ -821,18 +820,18 @@ msgstr "" | ||||
| "GTK, por exemplo, gtk:fg[NORMAL], onde NORMAL é o estado; não foi possível " | ||||
| "analisar \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1319 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "O estado \"%s\" não foi compreendido na especificação de cor" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1332 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "" | ||||
| "O componente de cor \"%s\" não foi compreendido na especificação de cor" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1361 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| @@ -841,17 +840,17 @@ msgstr "" | ||||
| "O formato de mistura é \"blend/bg_color/fg_color/alpha\"; \"%s\" não é " | ||||
| "adequado ao formato" | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1372 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "Não foi possível analisar o valor de alfa \"%s\" na cor misturada" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1382 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "O valor de alfa \"%s\" na cor misturada não está entre 0,0 e 1,0" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1429 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| @@ -859,27 +858,27 @@ msgstr "" | ||||
| "O formato de sombra é \"shade/base_color/factor\", \"%s\" não é adequado ao " | ||||
| "formato" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1440 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "Não foi possível analisar o fator de sombra \"%s\" na cor sombreada" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1450 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "O fator de sombra \"%s\" na cor sombreada é negativo" | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1479 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "Não foi possível analisar a cor \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1790 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "A expressão coordenada contém o caractere \"%s\" que não é permitido" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1817 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| @@ -888,13 +887,13 @@ msgstr "" | ||||
| "A expressão coordenada contém o número de ponto flutuante \"%s\" que não " | ||||
| "pôde ser analisado" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1831 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "" | ||||
| "A expressão coordenada contém o inteiro \"%s\" que não pôde ser analisado" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1953 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| @@ -903,17 +902,17 @@ msgstr "" | ||||
| "A expressão coordenada continha um operador desconhecido no início deste " | ||||
| "texto: \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:2010 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "A expressão coordenada estava vazia ou não foi compreendida" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2121 ../src/ui/theme.c:2131 ../src/ui/theme.c:2165 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "A expressão coordenada resulta na divisão por zero" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2173 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| @@ -921,25 +920,25 @@ msgstr "" | ||||
| "A expressão coordenada tenta usar o operador mod em um número de ponto " | ||||
| "flutuante" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2229 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| msgstr "" | ||||
| "A expressão coordenada tem o operador \"%s\" onde era esperado um operando" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2238 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "A expressão coordenada tinha um operando onde era esperado um operador" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2246 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "" | ||||
| "A expressão coordenada terminou com um operador, em vez de com um operando" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2256 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| @@ -948,43 +947,43 @@ msgstr "" | ||||
| "A expressão coordenada tem o operador \"%c\" após o operador \"%c\" sem " | ||||
| "nenhum operando entre eles" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2407 ../src/ui/theme.c:2452 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "" | ||||
| "A expressão coordenada tinha uma variável ou uma constante desconhecida \"%s" | ||||
| "\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2506 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "O analisador de expressão coordenada estourou o buffer." | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2535 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "" | ||||
| "A expressão coordenada tinha um parêntese de fechamento sem um parêntese de " | ||||
| "abertura" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "" | ||||
| "A expressão coordenada tinha um parêntese de abertura sem um parêntese de " | ||||
| "fechamento" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2610 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "Aparentemente não há operadores nem operandos na expressão coordenada" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2822 ../src/ui/theme.c:2842 ../src/ui/theme.c:2862 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "O tema continha uma expressão que resultou em um erro: %s \n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4533 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| @@ -993,25 +992,25 @@ msgstr "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> deve ser " | ||||
| "especificado para este estilo de quadro" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5066 ../src/ui/theme.c:5091 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "" | ||||
| "<frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/> ausente" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5139 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "Falha ao carregar o tema \"%s\": %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5275 ../src/ui/theme.c:5282 ../src/ui/theme.c:5289 | ||||
| #: ../src/ui/theme.c:5296 ../src/ui/theme.c:5303 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "Nenhum <%s> definido para o tema \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5311 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| @@ -1020,7 +1019,7 @@ msgstr "" | ||||
| "Nenhum estilo de quadro definido para o tipo de janela \"%s\" no tema \"%s" | ||||
| "\", adicione um elemento <window type=\"%s\" style_set=\"whatever\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5709 ../src/ui/theme.c:5771 ../src/ui/theme.c:5834 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| @@ -1028,7 +1027,7 @@ msgstr "" | ||||
| "As constantes definidas pelo usuário devem iniciar com letra maiúscula; \"%s" | ||||
| "\" não inicia" | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5717 ../src/ui/theme.c:5779 ../src/ui/theme.c:5842 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "A constante \"%s\" já foi definida" | ||||
| @@ -1416,7 +1415,7 @@ msgstr "Nenhum texto é permitido no elemento <%s>" | ||||
| msgid "<%s> specified twice for this theme" | ||||
| msgstr "<%s> especificado duas vezes para este tema" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:4334 | ||||
| #: ../src/ui/theme-parser.c:4348 | ||||
| #, c-format | ||||
| msgid "Failed to find a valid file for theme %s\n" | ||||
| msgstr "Falha ao localizar um arquivo válido para o tema %s\n" | ||||
| @@ -1621,19 +1620,6 @@ msgstr "" | ||||
| "%d expressões de coordenadas analisadas em %g segundos (%g segundos em " | ||||
| "média)\n" | ||||
|  | ||||
| #~ msgid "Comma-separated list of compositor plugins" | ||||
| #~ msgstr "Lista de plugins de composição separados por vírgula" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "Determines whether hidden windows (i.e., minimized windows and windows on " | ||||
| #~ "other workspaces than the current one) should be kept alive." | ||||
| #~ msgstr "" | ||||
| #~ "Determina se as janelas ocultas (janelas minimizadas e nas outras áreas " | ||||
| #~ "de trabalho que não é a atual) devem ser mantidas ativas." | ||||
|  | ||||
| #~ msgid "Live Hidden Windows" | ||||
| #~ msgstr "Janelas ocultas ativas" | ||||
|  | ||||
| #~ msgid "Switch to workspace 1" | ||||
| #~ msgstr "Trocar para o espaço de trabalho 1" | ||||
|  | ||||
| @@ -1989,6 +1975,9 @@ msgstr "" | ||||
| #~ msgid "Error setting clutter plugin list: %s\n" | ||||
| #~ msgstr "Erro ao definir a lista de plugins do clutter: %s\n" | ||||
|  | ||||
| #~ msgid "Clutter Plugins" | ||||
| #~ msgstr "Plugins do Clutter" | ||||
|  | ||||
| #~ msgid "Plugins to load for the Clutter-based compositing manager." | ||||
| #~ msgstr "" | ||||
| #~ "Plugins para carregar os gerenciadores de composição baseados em Clutter." | ||||
| @@ -2187,6 +2176,18 @@ msgstr "" | ||||
| #~ msgid "Enable Visual Bell" | ||||
| #~ msgstr "Habilitar campainha visual" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then " | ||||
| #~ "the focused window will be automatically raised after a delay specified " | ||||
| #~ "by the auto_raise_delay key. This is not related to clicking on a window " | ||||
| #~ "to raise it, nor to entering a window during drag-and-drop." | ||||
| #~ msgstr "" | ||||
| #~ "Se verdadeiro, e o modo de foco for \"sloppy\" ou \"mouse\", a janela " | ||||
| #~ "focada será automaticamente elevada após um atraso especificado pela " | ||||
| #~ "chave auto_raise_delay. Isso não tem relação alguma com clicar em uma " | ||||
| #~ "janela para elevá-la, ou alcançar uma janela durante uma ação de arrastar-" | ||||
| #~ "e-soltar." | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "If true, ignore the titlebar_font option, and use the standard " | ||||
| #~ "application font for window titles." | ||||
|   | ||||
							
								
								
									
										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" | ||||
|  | ||||
|   | ||||
							
								
								
									
										2780
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
							
						
						
									
										2780
									
								
								po/sr@latin.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										257
									
								
								po/tr.po
									
									
									
									
									
								
							
							
						
						
									
										257
									
								
								po/tr.po
									
									
									
									
									
								
							| @@ -6,22 +6,22 @@ | ||||
| # Baris Cicek <baris@teamforce.name.tr>, 2004, 2005, 2008, 2009. | ||||
| # İlker DAĞLI <ilker@ilkerdagli.info>, 2011. | ||||
| # Muhammed EKEN <gnome@m-eken.com>, 2011. | ||||
| # Muhammet Kara <muhammetk@acikkaynak.name.tr>, 2011, 2012. | ||||
| # Muhammet Kara <muhammet.k@gmail.com>, 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: 2012-08-06 23:35+0000\n" | ||||
| "PO-Revision-Date: 2012-08-09 16:48+0000\n" | ||||
| "Last-Translator: Muhammet Kara <muhammetk@acikkaynak.name.tr>\n" | ||||
| "POT-Creation-Date: 2012-03-15 21:29+0000\n" | ||||
| "PO-Revision-Date: 2012-03-23 21:56+0000\n" | ||||
| "Last-Translator: Muhammet Kara <muhammet.k@gmail.com>\n" | ||||
| "Language-Team: Turkish <gnome-turk@gnome.org>\n" | ||||
| "Language: tr\n" | ||||
| "MIME-Version: 1.0\n" | ||||
| "Content-Type: text/plain; charset=UTF-8\n" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "X-Generator: Lokalize 1.4\n" | ||||
| "X-Generator: Lokalize 1.2\n" | ||||
| "Plural-Forms: nplurals=1; plural=0;\n" | ||||
| "Language: tr\n" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| msgid "Windows" | ||||
| @@ -46,7 +46,7 @@ msgstr "" | ||||
| "\"%2$s\" monitöründeki %1$i ekranında zaten başka bir birleştirme yöneticisi " | ||||
| "çalışıyor." | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| #: ../src/core/bell.c:307 | ||||
| msgid "Bell event" | ||||
| msgstr "Etkinlik zili" | ||||
|  | ||||
| @@ -55,17 +55,16 @@ msgstr "Etkinlik zili" | ||||
| msgid "Unknown window information request: %d" | ||||
| msgstr "Bilinmeyen pencere bilgi isteği: %d" | ||||
|  | ||||
| #: ../src/core/delete.c:114 | ||||
| #: ../src/core/delete.c:111 | ||||
| #, c-format | ||||
| #| msgid "<tt>%s</tt> is not responding." | ||||
| msgid "%s is not responding." | ||||
| msgstr "%s yanıt vermiyor." | ||||
| msgid "<tt>%s</tt> is not responding." | ||||
| msgstr "<tt>%s</tt> cevap vermiyor." | ||||
|  | ||||
| #: ../src/core/delete.c:118 | ||||
| #: ../src/core/delete.c:114 | ||||
| msgid "Application is not responding." | ||||
| msgstr "Uygulama cevap vermiyor" | ||||
|  | ||||
| #: ../src/core/delete.c:123 | ||||
| #: ../src/core/delete.c:119 | ||||
| msgid "" | ||||
| "You may choose to wait a short while for it to continue or force the " | ||||
| "application to quit entirely." | ||||
| @@ -73,25 +72,25 @@ msgstr "" | ||||
| "Uygulamanın devam etmesi için bir müddet bekleyi seçebilirsiniz ya d a " | ||||
| "uygulamanın tamamen çıkması için onu zorlayabilirsiniz." | ||||
|  | ||||
| #: ../src/core/delete.c:130 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Wait" | ||||
| msgstr "_Bekle" | ||||
|  | ||||
| #: ../src/core/delete.c:130 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Force Quit" | ||||
| msgstr "_Sonlandır" | ||||
|  | ||||
| #: ../src/core/display.c:380 | ||||
| #: ../src/core/display.c:387 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "Kompozisyon için gerekli olan %s eklentisi eksik" | ||||
|  | ||||
| #: ../src/core/display.c:446 | ||||
| #: ../src/core/display.c:453 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "X Pencere Sistemi '%s' ekranı açılamadı\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:844 | ||||
| #: ../src/core/keybindings.c:852 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| @@ -100,36 +99,36 @@ msgstr "" | ||||
| "%s tuşu %x değiştiricileriyle birlikte başka bir uygulama tarafından tuş " | ||||
| "bağıolarak kullanılıyor\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| #: ../src/core/main.c:206 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "Ortam yöneticisine olan bağlantıyı kapat" | ||||
|  | ||||
| #: ../src/core/main.c:202 | ||||
| #: ../src/core/main.c:212 | ||||
| msgid "Replace the running window manager" | ||||
| msgstr "Çalışan pencere yöneticisinin yerini al" | ||||
|  | ||||
| #: ../src/core/main.c:208 | ||||
| #: ../src/core/main.c:218 | ||||
| msgid "Specify session management ID" | ||||
| msgstr "Ortam yönetim ID'sini belirtin" | ||||
|  | ||||
| #: ../src/core/main.c:213 | ||||
| #: ../src/core/main.c:223 | ||||
| msgid "X Display to use" | ||||
| msgstr "Kullanılacak X Ekranı" | ||||
|  | ||||
| #: ../src/core/main.c:219 | ||||
| #: ../src/core/main.c:229 | ||||
| msgid "Initialize session from savefile" | ||||
| msgstr "Ortamı kayıtlı dosyadan başlat" | ||||
|  | ||||
| #: ../src/core/main.c:225 | ||||
| #: ../src/core/main.c:235 | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "X çağrılarını eşazamanlı yap" | ||||
|  | ||||
| #: ../src/core/main.c:494 | ||||
| #: ../src/core/main.c:504 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "Tema dizini taranırken hata oluştu: %s\n" | ||||
|  | ||||
| #: ../src/core/main.c:510 | ||||
| #: ../src/core/main.c:520 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -156,10 +155,10 @@ msgid "Print version" | ||||
| msgstr "Sürümü yazdır" | ||||
|  | ||||
| #: ../src/core/mutter.c:60 | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "Kullanılacak Mutter eklentisi" | ||||
| msgid "Comma-separated list of compositor plugins" | ||||
| msgstr "Kompozisyon eklentilerinin listesi (virgül ile ayrılmış)" | ||||
|  | ||||
| #: ../src/core/prefs.c:1065 | ||||
| #: ../src/core/prefs.c:1077 | ||||
| msgid "" | ||||
| "Workarounds for broken applications disabled. Some applications may not " | ||||
| "behave properly.\n" | ||||
| @@ -167,13 +166,13 @@ msgstr "" | ||||
| "Hatalı uygulamalara yönelik çözümler devre dışı. Bazı uygulamalar düzgün " | ||||
| "işlemeyebilir.\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1140 | ||||
| #: ../src/core/prefs.c:1152 | ||||
| #, c-format | ||||
| msgid "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
| msgstr "" | ||||
| "\"%s\" yazıtipi tanımlaması, %s GSettings anahtarından ayrıştırılamadı\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1206 | ||||
| #: ../src/core/prefs.c:1218 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for mouse button " | ||||
| @@ -182,7 +181,7 @@ msgstr "" | ||||
| "Yapılandırma veritabanında bulunan \"%s\", fare düğme düzenleyicisi olarak " | ||||
| "geçerli bir değer değil\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1724 | ||||
| #: ../src/core/prefs.c:1739 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| @@ -191,17 +190,17 @@ msgstr "" | ||||
| "Yapılandırma veritabanında bulunan \"%s\", \"%s\" tuş bağı olarak geçerli " | ||||
| "bir değer değil\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1821 | ||||
| #: ../src/core/prefs.c:1836 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "Çalışma Alanı %d" | ||||
|  | ||||
| #: ../src/core/screen.c:652 | ||||
| #: ../src/core/screen.c:730 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "'%2$s' X oturumundaki ekran %1$d geçersiz\n" | ||||
|  | ||||
| #: ../src/core/screen.c:668 | ||||
| #: ../src/core/screen.c:746 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -211,7 +210,7 @@ msgstr "" | ||||
| "geçerli pencere yöneticisinin yerine bir başkasını koymak için --replace " | ||||
| "seçeneğini kullanmayı deneyin.\n" | ||||
|  | ||||
| #: ../src/core/screen.c:695 | ||||
| #: ../src/core/screen.c:773 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| @@ -219,13 +218,13 @@ msgstr "" | ||||
| "\"%2$s\" X oturumundaki ekran %1$d hangi pencere yöneticisine " | ||||
| "sahipöğrenilemedi\n" | ||||
|  | ||||
| #: ../src/core/screen.c:750 | ||||
| #: ../src/core/screen.c:828 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "" | ||||
| "\"%2$s\" X oturumundaki ekran %1$d bir pencere yöneticisine zaten sahip\n" | ||||
|  | ||||
| #: ../src/core/screen.c:935 | ||||
| #: ../src/core/screen.c:1013 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "\"%2$s\" X oturumundaki ekran %1$d serberst bırakılamadı\"\n" | ||||
| @@ -287,44 +286,44 @@ msgstr "" | ||||
| "Bu pencereler, "geçerli ayarları kaydet" özelliğini desteklemiyor " | ||||
| "ve bir dahaki girişinizde elle yeniden başlatmanız gerekecek." | ||||
|  | ||||
| #: ../src/core/util.c:80 | ||||
| #: ../src/core/util.c:111 | ||||
| #, c-format | ||||
| msgid "Failed to open debug log: %s\n" | ||||
| msgstr "Hata ayıklama günlüğü açılamadı: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:90 | ||||
| #: ../src/core/util.c:121 | ||||
| #, c-format | ||||
| msgid "Failed to fdopen() log file %s: %s\n" | ||||
| msgstr "fdopen() günlük dosyası %s açılamadı: %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:96 | ||||
| #: ../src/core/util.c:127 | ||||
| #, c-format | ||||
| msgid "Opened log file %s\n" | ||||
| msgstr "%s günlük dosyası açıldı\n" | ||||
|  | ||||
| #: ../src/core/util.c:115 ../src/tools/mutter-message.c:149 | ||||
| #: ../src/core/util.c:146 ../src/tools/mutter-message.c:149 | ||||
| #, c-format | ||||
| msgid "Mutter was compiled without support for verbose mode\n" | ||||
| msgstr "Mutter, ayrıntılı kip desteği olmadan derlenmiş\n" | ||||
|  | ||||
| #: ../src/core/util.c:259 | ||||
| #: ../src/core/util.c:290 | ||||
| msgid "Window manager: " | ||||
| msgstr "Pencere yöneticisi: " | ||||
|  | ||||
| #: ../src/core/util.c:407 | ||||
| #: ../src/core/util.c:438 | ||||
| msgid "Bug in window manager: " | ||||
| msgstr "Pencere yöneticisinde hata: " | ||||
|  | ||||
| #: ../src/core/util.c:438 | ||||
| #: ../src/core/util.c:471 | ||||
| msgid "Window manager warning: " | ||||
| msgstr "Pencere yöneticisi uyarısı: " | ||||
|  | ||||
| #: ../src/core/util.c:466 | ||||
| #: ../src/core/util.c:499 | ||||
| msgid "Window manager error: " | ||||
| msgstr "Pencere yöneticisi hatası: " | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7234 | ||||
| #: ../src/core/window.c:7269 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -340,32 +339,32 @@ msgstr "" | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7899 | ||||
| #: ../src/core/window.c:7932 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| "%d x %d and max size %d x %d; this doesn't make much sense.\n" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %" | ||||
| "d x %d and max size %d x %d; this doesn't make much sense.\n" | ||||
| msgstr "" | ||||
| "%s penceresi bir yandan yeniden boyutlandırılamaz olduğunu gösteren bir MWM " | ||||
| "ipucu verirken anlamsız bir biçimde en küçük (%d x %d) ve en büyük (%d x %d) " | ||||
| "boyut sınırlarını da atıyor.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:310 | ||||
| #: ../src/core/window-props.c:309 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "Uygulama geçersiz _NET_WM_PID %lu atadı\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:429 | ||||
| #: ../src/core/window-props.c:426 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s (%s üzerinde)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1484 | ||||
| #: ../src/core/window-props.c:1481 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "Geçersiz WM_TRANSIENT_FOR pencere 0x%lx belirtilen %s.\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1495 | ||||
| #: ../src/core/window-props.c:1492 | ||||
| #, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "WM_TRANSIENT_FOR penceresi 0x%lx  (%s için) döngü oluşturacak.\n" | ||||
| @@ -433,11 +432,23 @@ msgstr "" | ||||
| "birlikte hareket eder." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:5 | ||||
| msgid "Live Hidden Windows" | ||||
| msgstr "Çalışır Durumdaki Gizli Pencereler" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:6 | ||||
| msgid "" | ||||
| "Determines whether hidden windows (i.e., minimized windows and windows on " | ||||
| "other workspaces than the current one) should be kept alive." | ||||
| msgstr "" | ||||
| "Gizli pencerelerin (ö.r. küçültülmüş pencereler ve diğer çalışma alanındaki " | ||||
| "pencereler) çalışır bırakılıp bırakılmayacağını belirler." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "" | ||||
| "Pencereler ekran kenarlarında bırakıldığında kenar döşemeyi etkinleştir." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:6 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| msgid "" | ||||
| "If enabled, dropping windows on vertical screen edges maximizes them " | ||||
| "vertically and resizes them horizontally to cover half of the available " | ||||
| @@ -448,25 +459,26 @@ msgstr "" | ||||
| "şekilde yeniden boyutlandırılır. Ekranın tepedeki kenarına bırakılan " | ||||
| "pencereler ekranı tamamen kaplar." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:9 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| msgstr "Çalışma alanları dinamik olarak yönetilir" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:10 | ||||
| msgid "" | ||||
| "Determines whether workspaces are managed dynamically or whether there's a " | ||||
| "static number of workspaces (determined by the num-workspaces key in org." | ||||
| "gnome.desktop.wm.preferences)." | ||||
| msgstr "" | ||||
| "Çalışma alanlarının dinamik olarak mı yönetileceğini yoksa sabit sayıda " | ||||
| "çalışma alanı mı olacağını belirler (org.gnome.desktop.wm.preferences " | ||||
| "içindeki num-workspaces değişkeni tarafından belirlenir)." | ||||
| "çalışma alanı mı olacağını " | ||||
| "belirler (org.gnome.desktop.wm.preferences içindeki num-workspaces değişkeni " | ||||
| "tarafından belirlenir)." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:9 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:11 | ||||
| msgid "Workspaces only on primary" | ||||
| msgstr "Sadece birincil monitördeki çalışma alanları" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:10 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| msgid "" | ||||
| "Determines whether workspace switching should happen for windows on all " | ||||
| "monitors or only for windows on the primary monitor." | ||||
| @@ -474,11 +486,11 @@ msgstr "" | ||||
| "Çalışma alanı değiştirilmesinin, tüm monitörlerdeki pencerelerde mi yoksa " | ||||
| "sadece birincil monitördekilerde mi gerçekleşeceğini belirler." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:11 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:13 | ||||
| msgid "No tab popup" | ||||
| msgstr "Sekme açılır penceresi yok" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:14 | ||||
| msgid "" | ||||
| "Determines whether the use of popup and highlight frame should be disabled " | ||||
| "for window cycling." | ||||
| @@ -486,11 +498,11 @@ msgstr "" | ||||
| "Pencere geçişinde çerçeve vurgulanması ve açılır pencere kullanımının " | ||||
| "kapatılıp kapatılmayacağını belirler." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:13 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:15 | ||||
| msgid "Draggable border width" | ||||
| msgstr "Sürüklenebilir kenarlık genişliği" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:14 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:16 | ||||
| msgid "" | ||||
| "The amount of total draggable borders. If the theme's visible borders are " | ||||
| "not enough, invisible borders will be added to meet this value." | ||||
| @@ -499,11 +511,11 @@ msgstr "" | ||||
| "kenarlıkları yetersiz gelirse, bu değere ulaşmak için görünmez kenarlıklar " | ||||
| "eklenir." | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:15 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:17 | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "Pencereyi, sekme açılır penceresinden seç" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:16 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "Sekmeyi yeni pencerede açmayı iptal et" | ||||
|  | ||||
| @@ -711,49 +723,49 @@ msgstr "Mod5" | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:253 | ||||
| msgid "top" | ||||
| msgstr "üst" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:255 | ||||
| msgid "bottom" | ||||
| msgstr "alt" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:257 | ||||
| msgid "left" | ||||
| msgstr "sol" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:259 | ||||
| msgid "right" | ||||
| msgstr "sağ" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:286 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "çerçeve geometrisi \"%s\" boyutunu tanımlamıyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:305 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "" | ||||
| "çerçeve geometrisi \"%s\" boyutunu \"%s\" pencere kenarı için tanımlamıyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:342 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "%g kabul edilebilir bir düğme en-boy oranı değil" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:354 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "Çerçeve geometrisi düğmelerin boyutunu tanımlamıyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1067 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "Renk geçişlerinde en az iki renk olmalı" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #: ../src/ui/theme.c:1219 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| @@ -762,7 +774,7 @@ msgstr "" | ||||
| "GTK özel renk belirtiminde parantez içinde renk adı ve fallback kelimesi yer " | ||||
| "almalıdır; örneğin, gtk:custom[foo,bar]; \"%s\" ayrıştırılamadı" | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1235 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| @@ -771,7 +783,7 @@ msgstr "" | ||||
| "gtk:custom color_name parametresinin adında geçersiz karakter '%c'; sadece A-" | ||||
| "Za-z0-9-_ karakterleri geçerlidir" | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #: ../src/ui/theme.c:1249 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| @@ -780,7 +792,7 @@ msgstr "" | ||||
| "Gtk:custom biçimi \"gtk:custom(color_name,fallback)\" şeklindedir; \"%s\" " | ||||
| "biçime uymuyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1294 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| @@ -790,7 +802,7 @@ msgstr "" | ||||
| "örneğin, gtk:fg[NORMAL] belirtiminde NORMAL, durumu gösterir; \"%s\" " | ||||
| "ayrıştırılamadı" | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1308 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| @@ -800,17 +812,17 @@ msgstr "" | ||||
| "örneğin, gtk:fg[NORMAL] belirtiminde NORMAL, durumu gösterir; \"%s\" " | ||||
| "ayrıştırılamadı" | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1319 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "Renk belirtimindeki \"%s\" durumu anlaşılamadı" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1332 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "Renk belirtimindeki \"%s\" renk bileşeni anlaşılamadı" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1361 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| @@ -819,17 +831,17 @@ msgstr "" | ||||
| "Renk karışımının doğru biçimi \"blend/bg_color/fg_color/alpha\"dır; \"%s\" " | ||||
| "bu biçime uymuyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1372 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "Renk karışımındaki \"%s\" alfa değeri ayrıştırılamadı" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1382 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "Renk karışımının alfa değeri \"%s\", 0.0 ile 1.0 arasında değil" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1429 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| @@ -837,27 +849,27 @@ msgstr "" | ||||
| "Gölgelendirmenin doğru biçimi \"shade/bas_color/factor\"dır; \"%s\" bu " | ||||
| "biçime uymuyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1440 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "Gölgeli rengin gölge katsayısı olan \"%s\" ayrıştırılamadı" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1450 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "Gölgeli rengin gölge katsayısı olan \"%s\", negatif" | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1479 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "\"%s\" rengi ayrıştırılamadı" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1790 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "Kordinat ifadesi izin verilmeyen '%s' karakterini içeriyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1817 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| @@ -865,12 +877,12 @@ msgid "" | ||||
| msgstr "" | ||||
| "Kordinat ifadesi '%s' gerçel sayısını içeriyor ve bu sayı ayrıştırılamıyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1831 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "Kordinat ifadesi ayrıştırılamayan '%s' tamsayısını içeriyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1953 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| @@ -878,17 +890,17 @@ msgid "" | ||||
| msgstr "" | ||||
| "Kordinat ifadesi bu metnin başında bilinmeyen bir işleç içeriyor: \"%s\"" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:2010 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "Kordinat ifadesi boş ya da anlaşılamadı" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2121 ../src/ui/theme.c:2131 ../src/ui/theme.c:2165 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "Kordinat ifadesi sıfıra bölümle sonuçlanıyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2173 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| @@ -896,23 +908,23 @@ msgstr "" | ||||
| "Kordinat ifadesi bir gerçel sayı üzerinde mod (kalan bulma) işlecini " | ||||
| "kullanmaya çalıştı" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2229 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| msgstr "Kordinat ifadesi işleneni beklenen \"%s\", işlecini içeriyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2238 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "Kordinat ifadesi işleci beklenen bir işlenen içeriyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2246 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "Kordinat ifadesi bir işlenen yerine işleçle bitiyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2256 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| @@ -921,38 +933,38 @@ msgstr "" | ||||
| "Kordinat ifadesi birbirlerinin izleyen ve aralarında işlenen olmayan \"%2$c" | ||||
| "\" ve \"%1$c\" işleçlerini içeriyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2407 ../src/ui/theme.c:2452 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "" | ||||
| "Kordinat ifadesi bilinmeyen bir değişken ya da sabit olan \"%s\" içeriyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2506 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "Kordinat belirtim ayrıştırıcısı tamponundan taştı." | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2535 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "Kordinat ifadesi sol parantezi olmayan bir sağ parantez içeriyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "Kordinat ifadesi sağ parantezi olmayan bir sol parantez içeriyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2610 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "Kordinat ifadesi göründüğü kadarıyla ne işleç ne de işlenen içeriyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2822 ../src/ui/theme.c:2842 ../src/ui/theme.c:2862 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "Tema bir hata ile sonuçlanan ifadeye sahip: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4533 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| @@ -961,25 +973,25 @@ msgstr "" | ||||
| "Bu çerçeve biçeminde <button function=\"%s\" state=\"%s\" draw_ops=\"her " | ||||
| "neyse\"/> belirtilmek zorunda" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5066 ../src/ui/theme.c:5091 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "" | ||||
| "Eksik <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"her neyse\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5139 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "\"%s\" teması yüklenemedi: %s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5275 ../src/ui/theme.c:5282 ../src/ui/theme.c:5289 | ||||
| #: ../src/ui/theme.c:5296 ../src/ui/theme.c:5303 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "\"%2$s\" temasında hiç <%1$s> atanmamış" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5311 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| @@ -988,14 +1000,14 @@ msgstr "" | ||||
| "\"%2$s\" temasında \"%1$s\" pencere türüne çerçeve biçemi atanmamış, bir " | ||||
| "<window type=\"%3$s\" style_set=\"her neyse\"/> öğesi ekleyin" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5709 ../src/ui/theme.c:5771 ../src/ui/theme.c:5834 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| msgstr "" | ||||
| "Kullanıcı tanımlı sabitler büyük harfle başlamalıdır; \"%s\" buna uymuyor" | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5717 ../src/ui/theme.c:5779 ../src/ui/theme.c:5842 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "\"%s\" sabit değeri zaten tanımlanmış" | ||||
| @@ -1378,7 +1390,7 @@ msgstr "<%s> öğesinin içinde metin bulunmamalıdır" | ||||
| msgid "<%s> specified twice for this theme" | ||||
| msgstr "Bu tema için <%s> iki kez belirtilmiş" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:4334 | ||||
| #: ../src/ui/theme-parser.c:4348 | ||||
| #, c-format | ||||
| msgid "Failed to find a valid file for theme %s\n" | ||||
| msgstr "Tema %s için geçerli bir dosya bulunamadı\n" | ||||
| @@ -1582,19 +1594,6 @@ msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n" | ||||
| msgstr "" | ||||
| "%d kordinat ifadesi %g saniye içinde ayrıştırıldı (%g saniye ortalama ile)\n" | ||||
|  | ||||
| #~ msgid "Comma-separated list of compositor plugins" | ||||
| #~ msgstr "Kompozisyon eklentilerinin listesi (virgül ile ayrılmış)" | ||||
|  | ||||
| #~ msgid "Live Hidden Windows" | ||||
| #~ msgstr "Çalışır Durumdaki Gizli Pencereler" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "Determines whether hidden windows (i.e., minimized windows and windows on " | ||||
| #~ "other workspaces than the current one) should be kept alive." | ||||
| #~ msgstr "" | ||||
| #~ "Gizli pencerelerin (ö.r. küçültülmüş pencereler ve diğer çalışma " | ||||
| #~ "alanındaki pencereler) çalışır bırakılıp bırakılmayacağını belirler." | ||||
|  | ||||
| #~ msgid "Close Window" | ||||
| #~ msgstr "Pencereyi Kapat" | ||||
|  | ||||
|   | ||||
							
								
								
									
										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 "将窗口移到西北(左上)角" | ||||
|  | ||||
|   | ||||
							
								
								
									
										492
									
								
								po/zh_HK.po
									
									
									
									
									
								
							
							
						
						
									
										492
									
								
								po/zh_HK.po
									
									
									
									
									
								
							| @@ -9,8 +9,8 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: metacity 3.3.4\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2012-07-17 15:17+0800\n" | ||||
| "PO-Revision-Date: 2012-07-17 15:17+0800\n" | ||||
| "POT-Creation-Date: 2012-03-19 23:54+0800\n" | ||||
| "PO-Revision-Date: 2012-03-19 23:55+0800\n" | ||||
| "Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n" | ||||
| "Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n" | ||||
| "Language: \n" | ||||
| @@ -19,18 +19,18 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=1; plural=0;\n" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 ../src/50-mutter-windows.xml.in.h:17 | ||||
| msgid "Windows" | ||||
| msgstr "視窗" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| msgid "View split on left" | ||||
| msgstr "檢視分割於左側" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "View split on right" | ||||
| msgstr "檢視分割於右側" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "Windows" | ||||
| msgstr "視窗" | ||||
|  | ||||
| # FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel | ||||
| #. This probably means that a non-WM compositor like xcompmgr is running; | ||||
| #. * we have no way to get it to exit | ||||
| @@ -41,7 +41,7 @@ msgid "" | ||||
| "\"." | ||||
| msgstr "在畫面「%2$s」中的第 %1$i 個螢幕中已啟動另一個組合視窗管理員。" | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| #: ../src/core/bell.c:307 | ||||
| msgid "Bell event" | ||||
| msgstr "響鈴事件" | ||||
|  | ||||
| @@ -50,76 +50,76 @@ msgstr "響鈴事件" | ||||
| msgid "Unknown window information request: %d" | ||||
| msgstr "未知的視窗資訊要求:%d" | ||||
|  | ||||
| #: ../src/core/delete.c:114 | ||||
| #: ../src/core/delete.c:111 | ||||
| #, c-format | ||||
| msgid "%s is not responding." | ||||
| msgstr "%s 沒有回應。" | ||||
| msgid "<tt>%s</tt> is not responding." | ||||
| msgstr "<tt>%s</tt> 沒有回應。" | ||||
|  | ||||
| #: ../src/core/delete.c:118 | ||||
| #: ../src/core/delete.c:114 | ||||
| msgid "Application is not responding." | ||||
| msgstr "應用程式沒有回應。" | ||||
|  | ||||
| #: ../src/core/delete.c:123 | ||||
| #: ../src/core/delete.c:119 | ||||
| msgid "" | ||||
| "You may choose to wait a short while for it to continue or force the " | ||||
| "application to quit entirely." | ||||
| msgstr "你可以選擇稍等一下,或者強制程式立即結束。" | ||||
|  | ||||
| #: ../src/core/delete.c:130 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Wait" | ||||
| msgstr "等待(_W)" | ||||
|  | ||||
| #: ../src/core/delete.c:130 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Force Quit" | ||||
| msgstr "強制結束(_F)" | ||||
|  | ||||
| #: ../src/core/display.c:380 | ||||
| #: ../src/core/display.c:387 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "遺失複合視窗管理所需的 %s 延伸功能" | ||||
|  | ||||
| #: ../src/core/display.c:446 | ||||
| #: ../src/core/display.c:453 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "無法開啟 X Window 畫面‘%s’\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:844 | ||||
| #: ../src/core/keybindings.c:852 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| "binding\n" | ||||
| msgstr "其它程式已經使用了按鍵 %s 加上特殊按鍵 %x 作為按鍵組合\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| #: ../src/core/main.c:206 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "停用到作業階段管理程式的連線" | ||||
|  | ||||
| #: ../src/core/main.c:202 | ||||
| #: ../src/core/main.c:212 | ||||
| msgid "Replace the running window manager" | ||||
| msgstr "取代執行中的視窗管理員" | ||||
|  | ||||
| #: ../src/core/main.c:208 | ||||
| #: ../src/core/main.c:218 | ||||
| msgid "Specify session management ID" | ||||
| msgstr "指定作業階段管理 ID" | ||||
|  | ||||
| #: ../src/core/main.c:213 | ||||
| #: ../src/core/main.c:223 | ||||
| msgid "X Display to use" | ||||
| msgstr "使用的 X 畫面" | ||||
|  | ||||
| #: ../src/core/main.c:219 | ||||
| #: ../src/core/main.c:229 | ||||
| msgid "Initialize session from savefile" | ||||
| msgstr "以 savefile 初始化作業階段" | ||||
|  | ||||
| #: ../src/core/main.c:225 | ||||
| #: ../src/core/main.c:235 | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "使用同步方式調用 X 函數" | ||||
|  | ||||
| #: ../src/core/main.c:494 | ||||
| #: ../src/core/main.c:504 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "找不到佈景主題目錄:%s\n" | ||||
|  | ||||
| #: ../src/core/main.c:510 | ||||
| #: ../src/core/main.c:520 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -144,28 +144,28 @@ msgid "Print version" | ||||
| msgstr "顯示版本" | ||||
|  | ||||
| #: ../src/core/mutter.c:60 | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "要使用的 Mutter 外掛程式" | ||||
| msgid "Comma-separated list of compositor plugins" | ||||
| msgstr "以逗號分隔的複合視窗外掛程式清單" | ||||
|  | ||||
| #: ../src/core/prefs.c:1065 | ||||
| #: ../src/core/prefs.c:1077 | ||||
| msgid "" | ||||
| "Workarounds for broken applications disabled. Some applications may not " | ||||
| "behave properly.\n" | ||||
| msgstr "關閉了對不合規格的程式的支援。某些程式可能無法正常運作。\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1140 | ||||
| #: ../src/core/prefs.c:1152 | ||||
| #, c-format | ||||
| msgid "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
| msgstr "無法從 GSettings 設定鍵 %2$s 分析字型描述文字「%1$s」\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1206 | ||||
| #: ../src/core/prefs.c:1218 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for mouse button " | ||||
| "modifier\n" | ||||
| msgstr "組態資料庫中的“%s”設定值不是有效的滑鼠按鈕修改功能鍵\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1724 | ||||
| #: ../src/core/prefs.c:1739 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| @@ -173,17 +173,17 @@ msgid "" | ||||
| msgstr "組態資料庫中的“%s”不是按鍵組合“%s”的有效設定值\n" | ||||
|  | ||||
| # (Abel) take care of the same string in libwnck | ||||
| #: ../src/core/prefs.c:1821 | ||||
| #: ../src/core/prefs.c:1836 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "工作區 %d" | ||||
|  | ||||
| #: ../src/core/screen.c:652 | ||||
| #: ../src/core/screen.c:730 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "畫面‘%2$s’中的第 %1$d 個螢幕無效\n" | ||||
|  | ||||
| #: ../src/core/screen.c:668 | ||||
| #: ../src/core/screen.c:746 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -191,18 +191,18 @@ msgid "" | ||||
| msgstr "畫面‘%2$s’中的第 %1$d 個螢幕已經有了視窗管理員;請嘗試使用 --replace 選項來替換目前的視窗管理員。\n" | ||||
|  | ||||
| # FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel | ||||
| #: ../src/core/screen.c:695 | ||||
| #: ../src/core/screen.c:773 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| msgstr "無法在畫面“%2$s”中的第 %1$d 個螢幕進行視窗管理員選擇程序\n" | ||||
|  | ||||
| #: ../src/core/screen.c:750 | ||||
| #: ../src/core/screen.c:828 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "畫面“%2$s”中的第 %1$d 個螢幕已經有了視窗總管\n" | ||||
|  | ||||
| #: ../src/core/screen.c:935 | ||||
| #: ../src/core/screen.c:1013 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "無法釋放畫面“%2$s”中的第 %1$d 個螢幕\n" | ||||
| @@ -260,44 +260,44 @@ msgid "" | ||||
| "be restarted manually next time you log in." | ||||
| msgstr "這些視窗不支援 "儲存目前的設定" ,必須在下次登入後自行啟動。" | ||||
|  | ||||
| #: ../src/core/util.c:80 | ||||
| #: ../src/core/util.c:111 | ||||
| #, c-format | ||||
| msgid "Failed to open debug log: %s\n" | ||||
| msgstr "無法開啟偵錯記錄檔:%s\n" | ||||
|  | ||||
| #: ../src/core/util.c:90 | ||||
| #: ../src/core/util.c:121 | ||||
| #, c-format | ||||
| msgid "Failed to fdopen() log file %s: %s\n" | ||||
| msgstr "無法 fdopen() 記錄檔 %s:%s\n" | ||||
|  | ||||
| #: ../src/core/util.c:96 | ||||
| #: ../src/core/util.c:127 | ||||
| #, c-format | ||||
| msgid "Opened log file %s\n" | ||||
| msgstr "已開啟記錄檔 %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:115 ../src/tools/mutter-message.c:149 | ||||
| #: ../src/core/util.c:146 ../src/tools/mutter-message.c:149 | ||||
| #, c-format | ||||
| msgid "Mutter was compiled without support for verbose mode\n" | ||||
| msgstr "編譯 Mutter 時並沒有加入詳細偵錯模式的支援\n" | ||||
|  | ||||
| #: ../src/core/util.c:259 | ||||
| #: ../src/core/util.c:290 | ||||
| msgid "Window manager: " | ||||
| msgstr "視窗管理員:" | ||||
|  | ||||
| #: ../src/core/util.c:407 | ||||
| #: ../src/core/util.c:438 | ||||
| msgid "Bug in window manager: " | ||||
| msgstr "視窗總管出現錯誤:" | ||||
|  | ||||
| #: ../src/core/util.c:438 | ||||
| #: ../src/core/util.c:471 | ||||
| msgid "Window manager warning: " | ||||
| msgstr "視窗總管警告:" | ||||
|  | ||||
| #: ../src/core/util.c:466 | ||||
| #: ../src/core/util.c:499 | ||||
| msgid "Window manager error: " | ||||
| msgstr "視窗總管錯誤:" | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7234 | ||||
| #: ../src/core/window.c:7266 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -311,29 +311,29 @@ msgstr "視窗 %s 將 SM_CLIENT_ID 設定為該視窗本身,而不是 ICCCM  | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7899 | ||||
| #: ../src/core/window.c:7931 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| "%d x %d and max size %d x %d; this doesn't make much sense.\n" | ||||
| msgstr "視窗 %s 設定了 MWM 提示,表示它不可以調整大小,但又將大小下限定為 %d×%d 及將大小上限定為 %d×%d;這種做法不符合常理。\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:310 | ||||
| #: ../src/core/window-props.c:309 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "程式設定了多餘的 _NET_WM_PID %lu\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:429 | ||||
| #: ../src/core/window-props.c:426 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s(在 %s)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1484 | ||||
| #: ../src/core/window-props.c:1481 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "%2$s 指定了無效的 WM_TRANSIENT_FOR 視窗 0x%1$lx。\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1495 | ||||
| #: ../src/core/window-props.c:1492 | ||||
| #, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "%2$s 的 WM_TRANSIENT_FOR 視窗 0x%1$lx 會造成迴圈。\n" | ||||
| @@ -369,73 +369,68 @@ msgid "Mutter" | ||||
| msgstr "Mutter" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:1 | ||||
| msgid "Modifier to use for extended window management operations" | ||||
| msgstr "用於延伸視窗管理操作程序的特殊按鍵" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:2 | ||||
| msgid "" | ||||
| "This key will initiate the \"overlay\", which is a combination window " | ||||
| "overview and application launching system. The default is intended to be the " | ||||
| "\"Windows key\" on PC hardware. It's expected that this binding either the " | ||||
| "default or set to the empty string." | ||||
| msgstr "這個設定鍵會初始化「overlay」,這是一個複合視窗概覽與應用程式執行系統。預設是要成為 PC 硬件上的「Windows key」。預期這個按鍵組含不是預設值就是設定為空字串。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:3 | ||||
| msgid "Attach modal dialogs" | ||||
| msgstr "附加模態對話盒" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:2 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "取消分頁彈出項" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:3 | ||||
| msgid "" | ||||
| "Determines whether hidden windows (i.e., minimized windows and windows on " | ||||
| "other workspaces than the current one) should be kept alive." | ||||
| msgstr "決定隱藏的視窗(如最小化的視窗和位於目前以外工作區的視窗)是否保持活動。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:4 | ||||
| msgid "" | ||||
| "When true, instead of having independent titlebars, modal dialogs appear " | ||||
| "attached to the titlebar of the parent window and are moved together with " | ||||
| "the parent window." | ||||
| msgstr "當設為「true」,將不會有獨立的標題列,模態對話盒會附加在上層視窗的標題列並與上層視窗一起移動。" | ||||
| "Determines whether the use of popup and highlight frame should be disabled " | ||||
| "for window cycling." | ||||
| msgstr "決定當視窗輪換時是否使用彈出式和強調框架。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:5 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "在螢幕邊緣放下視窗時啟用邊緣拼貼" | ||||
| msgid "" | ||||
| "Determines whether workspace switching should happen for windows on all " | ||||
| "monitors or only for windows on the primary monitor." | ||||
| msgstr "決定工作區切換是否使用於所有螢幕的視窗或只用於主要螢幕的視窗。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:6 | ||||
| msgid "" | ||||
| "If enabled, dropping windows on vertical screen edges maximizes them " | ||||
| "vertically and resizes them horizontally to cover half of the available " | ||||
| "area. Dropping windows on the top screen edge maximizes them completely." | ||||
| msgstr "如果啟用,將視窗拖放到螢幕垂直邊緣時會讓它們垂直最大化並調整水平方向大小覆蓋可用區域的一半。拖放視窗到螢幕頂端邊緣則會讓它們完全最大化。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| msgstr "工作區以動態方式管理" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| msgid "" | ||||
| "Determines whether workspaces are managed dynamically or whether there's a " | ||||
| "static number of workspaces (determined by the num-workspaces key in org." | ||||
| "gnome.desktop.wm.preferences)." | ||||
| msgstr "決定工作區以動態方式管理或是有固定數量的工作區 (以 org.gnome.desktop.wm.preferences 中的 num-workspaces 鍵值來決定)。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| msgid "Draggable border width" | ||||
| msgstr "可拖曳邊框闊度" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "在螢幕邊緣放下視窗時啟用邊緣拼貼" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:9 | ||||
| msgid "Workspaces only on primary" | ||||
| msgstr "只有主要螢幕的工作區" | ||||
| msgid "" | ||||
| "If enabled, dropping windows on vertical screen edges maximizes them " | ||||
| "vertically and resizes them horizontally to cover half of the available " | ||||
| "area. Dropping windows on the top screen edge maximizes them completely." | ||||
| msgstr "如果啟用,將視窗拖放到螢幕垂直邊緣時會讓它們垂直最大化並調整水平方向大小覆蓋可用區域的一半。拖放視窗到螢幕頂端邊緣則會讓它們完全最大化。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:10 | ||||
| msgid "" | ||||
| "Determines whether workspace switching should happen for windows on all " | ||||
| "monitors or only for windows on the primary monitor." | ||||
| msgstr "決定工作區切換是否使用於所有螢幕的視窗或只用於主要螢幕的視窗。" | ||||
| msgid "Live Hidden Windows" | ||||
| msgstr "活動中的隱藏 Windows" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:11 | ||||
| msgid "Modifier to use for extended window management operations" | ||||
| msgstr "用於延伸視窗管理操作程序的特殊按鍵" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| msgid "No tab popup" | ||||
| msgstr "沒有分頁彈出項" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| msgid "" | ||||
| "Determines whether the use of popup and highlight frame should be disabled " | ||||
| "for window cycling." | ||||
| msgstr "決定當視窗輪換時是否使用彈出式和強調框架。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:13 | ||||
| msgid "Draggable border width" | ||||
| msgstr "可拖曳邊框闊度" | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "從分頁彈出項選擇視窗" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:14 | ||||
| msgid "" | ||||
| @@ -444,12 +439,27 @@ msgid "" | ||||
| msgstr "所有可拖曳邊框的總數。如果布景的可視邊框不夠,會加入隱形邊框來符合這個數值。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:15 | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "從分頁彈出項選擇視窗" | ||||
| msgid "" | ||||
| "This key will initiate the \"overlay\", which is a combination window " | ||||
| "overview and application launching system. The default is intended to be the " | ||||
| "\"Windows key\" on PC hardware. It's expected that this binding either the " | ||||
| "default or set to the empty string." | ||||
| msgstr "這個設定鍵會初始化「overlay」,這是一個複合視窗概覽與應用程式執行系統。預設是要成為 PC 硬件上的「Windows key」。預期這個按鍵組含不是預設值就是設定為空字串。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:16 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "取消分頁彈出項" | ||||
| msgid "" | ||||
| "When true, instead of having independent titlebars, modal dialogs appear " | ||||
| "attached to the titlebar of the parent window and are moved together with " | ||||
| "the parent window." | ||||
| msgstr "當設為「true」,將不會有獨立的標題列,模態對話盒會附加在上層視窗的標題列並與上層視窗一起移動。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:17 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| msgstr "工作區以動態方式管理" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "Workspaces only on primary" | ||||
| msgstr "只有主要螢幕的工作區" | ||||
|  | ||||
| #: ../src/tools/mutter-message.c:123 | ||||
| #, c-format | ||||
| @@ -671,261 +681,261 @@ msgstr "Mod5" | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:253 | ||||
| msgid "top" | ||||
| msgstr "頂" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:255 | ||||
| msgid "bottom" | ||||
| msgstr "底" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:257 | ||||
| msgid "left" | ||||
| msgstr "左" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:259 | ||||
| msgid "right" | ||||
| msgstr "右" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:286 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "邊框的位置大小中沒有指定“%s”部分的大小" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:305 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "邊框的位置大小中沒有指定“%2$s”邊框中的“%1$s”部分" | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:342 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "按鈕的長寬比 %g 不合理" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:354 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "邊框的位置大小規格內未有指定按鈕的大小" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1067 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "漸變色至少應該有兩種顏色" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #: ../src/ui/theme.c:1219 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| "parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\"" | ||||
| msgstr "GTK 自選顏色規格規定必須有顏色名稱並加上封閉括號,例如 gtk:custom(foo,bar);無法分析「%s」" | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1235 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| "_ are valid" | ||||
| msgstr "gtk:custom 的 color_name 參數 '%c' 中有無效字符,只能使用 A-Za-z0-9-_ " | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #: ../src/ui/theme.c:1249 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| "fit the format" | ||||
| msgstr "Gtk:custom 的格式是「gtk:custom(color_name,fallback)」,但「%s」不符合格式" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1294 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| "where NORMAL is the state; could not parse \"%s\"" | ||||
| msgstr "GTK 色彩規格規定必須在狀態外加上方括號,例如 gtk:fg[NORMAL],這裏 NORMAL 表示狀態;無法分析“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1308 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| "fg[NORMAL] where NORMAL is the state; could not parse \"%s\"" | ||||
| msgstr "GTK 色彩規格規定必須在狀態後加上閉方括號,例如 gtk:fg[NORMAL],這裏 NORMAL 表示狀態;無法分析“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1319 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "無法將“%s”理解為色彩規格中的狀態" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1332 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "無法將“%s”理解為色彩規格中的色彩部分" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1361 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| "format" | ||||
| msgstr "指定混色的格式是“blend/背景顏色/前景顏色/透明度”,“%s”不符合規格" | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1372 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "無法理解“%s”作為混色的透明度數值" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1382 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "混色的透明度數值“%s”不是在 0.0 至 1.0 之間" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1429 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| msgstr "陰影的格式是“shade/基本顏色/比重”,但“%s”不符合格式" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1440 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "在陰影顏色中無法將“%s”理解為陰影比重" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1450 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "在陰影顏色中陰影比重“%s”是負數" | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1479 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "無法分析顏色“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1790 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "座標表達式中出現不可接受的字符‘%s’" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1817 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| "parsed" | ||||
| msgstr "座標表達式中出現無法分析的浮點小數‘%s’" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1831 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "座標表達式中出現無法分析的整數‘%s’" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1953 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| "\"%s\"" | ||||
| msgstr "在座標表達式中,以下文字的開始部分含有不明的運算符:“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:2010 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "座標表達式是空白的或是無法分析" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2121 ../src/ui/theme.c:2131 ../src/ui/theme.c:2165 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "座標表達式中出現被 0 整除的錯誤" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2173 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| msgstr "座標表達式中出現將浮點數使用於餘數運算符 (mod) 的錯誤" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2229 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| msgstr "在座標表達式中,應該有運算子的地方出現了運算符“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2238 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "在座標表達式中,應該有運算符的地方出現了運算子" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2246 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "結束座標表達式的是一個運算符而非運算子" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2256 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| "operand in between" | ||||
| msgstr "在座標表達式中,運算符“%c”緊隨運算符“%c”出現,但中間沒有任何運算子" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2407 ../src/ui/theme.c:2452 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "座標表達式中出現不明的變數或常數“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2506 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "座標表達式分析器令緩衝溢位。" | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2535 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "座標表達式中的閉括號沒有相應的開括號" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "座標表達式中的開括號沒有相應的閉括號" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2610 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "座標表達式中似乎沒有任何運算符或運算子" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2822 ../src/ui/theme.c:2842 ../src/ui/theme.c:2862 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "佈景主題中含有引致錯誤的表達式:%s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4533 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| "specified for this frame style" | ||||
| msgstr "此邊框款式必須指定 <button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5066 ../src/ui/theme.c:5091 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "缺少了 <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5139 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "無法載入佈景主題“%s”:%s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5275 ../src/ui/theme.c:5282 ../src/ui/theme.c:5289 | ||||
| #: ../src/ui/theme.c:5296 ../src/ui/theme.c:5303 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "佈景主題“%s”未指定 <%s>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5311 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| "type=\"%s\" style_set=\"whatever\"/> element" | ||||
| msgstr "在佈景主題“%2$s”中,視窗類型“%1$s”沒有指定任何邊框款式。請加上 <window type=\"%3$s\" style_set=\"whatever\"/> 元素" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5709 ../src/ui/theme.c:5771 ../src/ui/theme.c:5834 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| msgstr "自行定義的常數必須以大寫字母開始;但“%s”不是" | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5717 ../src/ui/theme.c:5779 ../src/ui/theme.c:5842 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "已定義了“%s”常數" | ||||
| @@ -1287,7 +1297,7 @@ msgstr "<%s> 元素內不可出現任何文字" | ||||
| msgid "<%s> specified twice for this theme" | ||||
| msgstr "<%s> 指定了這個佈景主題兩次" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:4334 | ||||
| #: ../src/ui/theme-parser.c:4348 | ||||
| #, c-format | ||||
| msgid "Failed to find a valid file for theme %s\n" | ||||
| msgstr "無法佈景主題的有效檔案 %s\n" | ||||
| @@ -1490,190 +1500,6 @@ msgstr "y 的數值是 %d,%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: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:6 | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "將視窗移至下方的工作區" | ||||
|  | ||||
| #: ../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: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: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: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 "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:1 | ||||
| msgid "Activate the window menu" | ||||
| msgstr "使用視窗選單" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "Close window" | ||||
| msgstr "關閉視窗" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "遮蔽某個視窗" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| msgid "Maximize window" | ||||
| msgstr "視窗最大化" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "將視窗橫向最大化" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "將視窗縱向最大化" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| msgid "Minimize window" | ||||
| msgstr "視窗最小化" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| msgid "Move window" | ||||
| msgstr "移動視窗" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Raise window above other windows" | ||||
| 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:11 | ||||
| msgid "Resize window" | ||||
| msgstr "調整視窗大小" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| msgid "Restore window" | ||||
| 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:15 | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "切換視窗捲起/放下狀態" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "切換視窗顯示在所有工作區或是只顯示於其中之一" | ||||
|  | ||||
| #~ msgid "Comma-separated list of compositor plugins" | ||||
| #~ msgstr "以逗號分隔的複合視窗外掛程式清單" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "Determines whether hidden windows (i.e., minimized windows and windows on " | ||||
| #~ "other workspaces than the current one) should be kept alive." | ||||
| #~ msgstr "" | ||||
| #~ "決定隱藏的視窗(如最小化的視窗和位於目前以外工作區的視窗)是否保持活動。" | ||||
|  | ||||
| #~ msgid "Live Hidden Windows" | ||||
| #~ msgstr "活動中的隱藏 Windows" | ||||
|  | ||||
| #~ msgid "Close Window" | ||||
| #~ msgstr "關閉視窗" | ||||
|  | ||||
|   | ||||
							
								
								
									
										529
									
								
								po/zh_TW.po
									
									
									
									
									
								
							
							
						
						
									
										529
									
								
								po/zh_TW.po
									
									
									
									
									
								
							| @@ -9,8 +9,8 @@ msgid "" | ||||
| msgstr "" | ||||
| "Project-Id-Version: metacity 3.3.4\n" | ||||
| "Report-Msgid-Bugs-To: \n" | ||||
| "POT-Creation-Date: 2012-07-17 15:17+0800\n" | ||||
| "PO-Revision-Date: 2012-07-16 11:21+0800\n" | ||||
| "POT-Creation-Date: 2012-03-19 23:54+0800\n" | ||||
| "PO-Revision-Date: 2012-03-19 12:19+0800\n" | ||||
| "Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n" | ||||
| "Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n" | ||||
| "Language: \n" | ||||
| @@ -19,18 +19,18 @@ msgstr "" | ||||
| "Content-Transfer-Encoding: 8bit\n" | ||||
| "Plural-Forms: nplurals=1; plural=0;\n" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 ../src/50-mutter-windows.xml.in.h:17 | ||||
| msgid "Windows" | ||||
| msgstr "視窗" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| #: ../src/50-mutter-windows.xml.in.h:1 | ||||
| msgid "View split on left" | ||||
| msgstr "檢視分割於左側" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "View split on right" | ||||
| msgstr "檢視分割於右側" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "Windows" | ||||
| msgstr "視窗" | ||||
|  | ||||
| # FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel | ||||
| #. This probably means that a non-WM compositor like xcompmgr is running; | ||||
| #. * we have no way to get it to exit | ||||
| @@ -41,7 +41,7 @@ msgid "" | ||||
| "\"." | ||||
| msgstr "在畫面「%2$s」中的第 %1$i 個螢幕中已啟動另一個組合視窗管理員。" | ||||
|  | ||||
| #: ../src/core/bell.c:320 | ||||
| #: ../src/core/bell.c:307 | ||||
| msgid "Bell event" | ||||
| msgstr "響鈴事件" | ||||
|  | ||||
| @@ -50,76 +50,76 @@ msgstr "響鈴事件" | ||||
| msgid "Unknown window information request: %d" | ||||
| msgstr "未知的視窗資訊要求:%d" | ||||
|  | ||||
| #: ../src/core/delete.c:114 | ||||
| #: ../src/core/delete.c:111 | ||||
| #, c-format | ||||
| msgid "%s is not responding." | ||||
| msgstr "%s 沒有回應。" | ||||
| msgid "<tt>%s</tt> is not responding." | ||||
| msgstr "<tt>%s</tt> 沒有回應。" | ||||
|  | ||||
| #: ../src/core/delete.c:118 | ||||
| #: ../src/core/delete.c:114 | ||||
| msgid "Application is not responding." | ||||
| msgstr "應用程式沒有回應。" | ||||
|  | ||||
| #: ../src/core/delete.c:123 | ||||
| #: ../src/core/delete.c:119 | ||||
| msgid "" | ||||
| "You may choose to wait a short while for it to continue or force the " | ||||
| "application to quit entirely." | ||||
| msgstr "您可以選擇稍等一下,或者強制程式立即結束。" | ||||
|  | ||||
| #: ../src/core/delete.c:130 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Wait" | ||||
| msgstr "等待(_W)" | ||||
|  | ||||
| #: ../src/core/delete.c:130 | ||||
| #: ../src/core/delete.c:126 | ||||
| msgid "_Force Quit" | ||||
| msgstr "強制結束(_F)" | ||||
|  | ||||
| #: ../src/core/display.c:380 | ||||
| #: ../src/core/display.c:387 | ||||
| #, c-format | ||||
| msgid "Missing %s extension required for compositing" | ||||
| msgstr "遺失複合視窗管理所需的 %s 延伸功能" | ||||
|  | ||||
| #: ../src/core/display.c:446 | ||||
| #: ../src/core/display.c:453 | ||||
| #, c-format | ||||
| msgid "Failed to open X Window System display '%s'\n" | ||||
| msgstr "無法開啟 X Window 畫面‘%s’\n" | ||||
|  | ||||
| #: ../src/core/keybindings.c:844 | ||||
| #: ../src/core/keybindings.c:852 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Some other program is already using the key %s with modifiers %x as a " | ||||
| "binding\n" | ||||
| msgstr "其它程式已經使用了按鍵 %s 加上特殊按鍵 %x 作為按鍵組合\n" | ||||
|  | ||||
| #: ../src/core/main.c:196 | ||||
| #: ../src/core/main.c:206 | ||||
| msgid "Disable connection to session manager" | ||||
| msgstr "停用到作業階段管理程式的連線" | ||||
|  | ||||
| #: ../src/core/main.c:202 | ||||
| #: ../src/core/main.c:212 | ||||
| msgid "Replace the running window manager" | ||||
| msgstr "取代執行中的視窗管理員" | ||||
|  | ||||
| #: ../src/core/main.c:208 | ||||
| #: ../src/core/main.c:218 | ||||
| msgid "Specify session management ID" | ||||
| msgstr "指定作業階段管理 ID" | ||||
|  | ||||
| #: ../src/core/main.c:213 | ||||
| #: ../src/core/main.c:223 | ||||
| msgid "X Display to use" | ||||
| msgstr "使用的 X 畫面" | ||||
|  | ||||
| #: ../src/core/main.c:219 | ||||
| #: ../src/core/main.c:229 | ||||
| msgid "Initialize session from savefile" | ||||
| msgstr "以 savefile 初始化作業階段" | ||||
|  | ||||
| #: ../src/core/main.c:225 | ||||
| #: ../src/core/main.c:235 | ||||
| msgid "Make X calls synchronous" | ||||
| msgstr "使用同步方式調用 X 函式" | ||||
|  | ||||
| #: ../src/core/main.c:494 | ||||
| #: ../src/core/main.c:504 | ||||
| #, c-format | ||||
| msgid "Failed to scan themes directory: %s\n" | ||||
| msgstr "找不到佈景主題目錄:%s\n" | ||||
|  | ||||
| #: ../src/core/main.c:510 | ||||
| #: ../src/core/main.c:520 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not find a theme! Be sure %s exists and contains the usual themes.\n" | ||||
| @@ -144,28 +144,28 @@ msgid "Print version" | ||||
| msgstr "顯示版本" | ||||
|  | ||||
| #: ../src/core/mutter.c:60 | ||||
| msgid "Mutter plugin to use" | ||||
| msgstr "要使用的 Mutter 外掛程式" | ||||
| msgid "Comma-separated list of compositor plugins" | ||||
| msgstr "以逗號分隔的複合視窗外掛程式清單" | ||||
|  | ||||
| #: ../src/core/prefs.c:1065 | ||||
| #: ../src/core/prefs.c:1077 | ||||
| msgid "" | ||||
| "Workarounds for broken applications disabled. Some applications may not " | ||||
| "behave properly.\n" | ||||
| msgstr "關閉了對不合規格的程式的支援。某些程式可能無法正常運作。\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1140 | ||||
| #: ../src/core/prefs.c:1152 | ||||
| #, c-format | ||||
| msgid "Could not parse font description \"%s\" from GSettings key %s\n" | ||||
| msgstr "無法從 GSettings 設定鍵 %2$s 分析字型描述文字「%1$s」\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1206 | ||||
| #: ../src/core/prefs.c:1218 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for mouse button " | ||||
| "modifier\n" | ||||
| msgstr "組態資料庫中的“%s”設定值不是有效的滑鼠按鈕修改功能鍵\n" | ||||
|  | ||||
| #: ../src/core/prefs.c:1724 | ||||
| #: ../src/core/prefs.c:1739 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "\"%s\" found in configuration database is not a valid value for keybinding " | ||||
| @@ -173,17 +173,17 @@ msgid "" | ||||
| msgstr "組態資料庫中的“%s”不是按鍵組合“%s”的有效設定值\n" | ||||
|  | ||||
| # (Abel) take care of the same string in libwnck | ||||
| #: ../src/core/prefs.c:1821 | ||||
| #: ../src/core/prefs.c:1836 | ||||
| #, c-format | ||||
| msgid "Workspace %d" | ||||
| msgstr "工作區 %d" | ||||
|  | ||||
| #: ../src/core/screen.c:652 | ||||
| #: ../src/core/screen.c:730 | ||||
| #, c-format | ||||
| msgid "Screen %d on display '%s' is invalid\n" | ||||
| msgstr "畫面‘%2$s’中的第 %1$d 個螢幕無效\n" | ||||
|  | ||||
| #: ../src/core/screen.c:668 | ||||
| #: ../src/core/screen.c:746 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Screen %d on display \"%s\" already has a window manager; try using the --" | ||||
| @@ -193,18 +193,18 @@ msgstr "" | ||||
| "換目前的視窗管理員。\n" | ||||
|  | ||||
| # FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel | ||||
| #: ../src/core/screen.c:695 | ||||
| #: ../src/core/screen.c:773 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Could not acquire window manager selection on screen %d display \"%s\"\n" | ||||
| msgstr "無法在畫面“%2$s”中的第 %1$d 個螢幕進行視窗管理員選擇程序\n" | ||||
|  | ||||
| #: ../src/core/screen.c:750 | ||||
| #: ../src/core/screen.c:828 | ||||
| #, c-format | ||||
| msgid "Screen %d on display \"%s\" already has a window manager\n" | ||||
| msgstr "畫面“%2$s”中的第 %1$d 個螢幕已經有了視窗總管\n" | ||||
|  | ||||
| #: ../src/core/screen.c:935 | ||||
| #: ../src/core/screen.c:1013 | ||||
| #, c-format | ||||
| msgid "Could not release screen %d on display \"%s\"\n" | ||||
| msgstr "無法釋放畫面“%2$s”中的第 %1$d 個螢幕\n" | ||||
| @@ -262,44 +262,44 @@ msgid "" | ||||
| "be restarted manually next time you log in." | ||||
| msgstr "這些視窗不支援 "儲存目前的設定" ,必須在下次登入後自行啟動。" | ||||
|  | ||||
| #: ../src/core/util.c:80 | ||||
| #: ../src/core/util.c:111 | ||||
| #, c-format | ||||
| msgid "Failed to open debug log: %s\n" | ||||
| msgstr "無法開啟偵錯記錄檔:%s\n" | ||||
|  | ||||
| #: ../src/core/util.c:90 | ||||
| #: ../src/core/util.c:121 | ||||
| #, c-format | ||||
| msgid "Failed to fdopen() log file %s: %s\n" | ||||
| msgstr "無法 fdopen() 記錄檔 %s:%s\n" | ||||
|  | ||||
| #: ../src/core/util.c:96 | ||||
| #: ../src/core/util.c:127 | ||||
| #, c-format | ||||
| msgid "Opened log file %s\n" | ||||
| msgstr "已開啟記錄檔 %s\n" | ||||
|  | ||||
| #: ../src/core/util.c:115 ../src/tools/mutter-message.c:149 | ||||
| #: ../src/core/util.c:146 ../src/tools/mutter-message.c:149 | ||||
| #, c-format | ||||
| msgid "Mutter was compiled without support for verbose mode\n" | ||||
| msgstr "編譯 Mutter 時並沒有加入詳細偵錯模式的支援\n" | ||||
|  | ||||
| #: ../src/core/util.c:259 | ||||
| #: ../src/core/util.c:290 | ||||
| msgid "Window manager: " | ||||
| msgstr "視窗管理員:" | ||||
|  | ||||
| #: ../src/core/util.c:407 | ||||
| #: ../src/core/util.c:438 | ||||
| msgid "Bug in window manager: " | ||||
| msgstr "視窗總管出現錯誤:" | ||||
|  | ||||
| #: ../src/core/util.c:438 | ||||
| #: ../src/core/util.c:471 | ||||
| msgid "Window manager warning: " | ||||
| msgstr "視窗總管警告:" | ||||
|  | ||||
| #: ../src/core/util.c:466 | ||||
| #: ../src/core/util.c:499 | ||||
| msgid "Window manager error: " | ||||
| msgstr "視窗總管錯誤:" | ||||
|  | ||||
| #. first time through | ||||
| #: ../src/core/window.c:7234 | ||||
| #: ../src/core/window.c:7266 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER " | ||||
| @@ -315,7 +315,7 @@ msgstr "" | ||||
| #. * MWM but not WM_NORMAL_HINTS are basically broken. We complain | ||||
| #. * about these apps but make them work. | ||||
| #. | ||||
| #: ../src/core/window.c:7899 | ||||
| #: ../src/core/window.c:7931 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Window %s sets an MWM hint indicating it isn't resizable, but sets min size " | ||||
| @@ -324,22 +324,22 @@ msgstr "" | ||||
| "視窗 %s 設定了 MWM 提示,表示它不可以調整大小,但又將大小下限定為 %d×%d 及將" | ||||
| "大小上限定為 %d×%d;這種做法不符合常理。\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:310 | ||||
| #: ../src/core/window-props.c:309 | ||||
| #, c-format | ||||
| msgid "Application set a bogus _NET_WM_PID %lu\n" | ||||
| msgstr "程式設定了多餘的 _NET_WM_PID %lu\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:429 | ||||
| #: ../src/core/window-props.c:426 | ||||
| #, c-format | ||||
| msgid "%s (on %s)" | ||||
| msgstr "%s(在 %s)" | ||||
|  | ||||
| #: ../src/core/window-props.c:1484 | ||||
| #: ../src/core/window-props.c:1481 | ||||
| #, c-format | ||||
| msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n" | ||||
| msgstr "%2$s 指定了無效的 WM_TRANSIENT_FOR 視窗 0x%1$lx。\n" | ||||
|  | ||||
| #: ../src/core/window-props.c:1495 | ||||
| #: ../src/core/window-props.c:1492 | ||||
| #, c-format | ||||
| msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n" | ||||
| msgstr "%2$s 的 WM_TRANSIENT_FOR 視窗 0x%1$lx 會造成迴圈。\n" | ||||
| @@ -375,10 +375,82 @@ msgid "Mutter" | ||||
| msgstr "Mutter" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:1 | ||||
| msgid "Attach modal dialogs" | ||||
| msgstr "附加模態對話盒" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:2 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "取消分頁彈出項" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:3 | ||||
| msgid "" | ||||
| "Determines whether hidden windows (i.e., minimized windows and windows on " | ||||
| "other workspaces than the current one) should be kept alive." | ||||
| msgstr "" | ||||
| "決定隱藏的視窗(如最小化的視窗和位於目前以外工作區的視窗)是否保持活動。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:4 | ||||
| msgid "" | ||||
| "Determines whether the use of popup and highlight frame should be disabled " | ||||
| "for window cycling." | ||||
| msgstr "決定當視窗輪換時是否使用彈出式和強調框架。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:5 | ||||
| msgid "" | ||||
| "Determines whether workspace switching should happen for windows on all " | ||||
| "monitors or only for windows on the primary monitor." | ||||
| msgstr "決定工作區切換是否使用於所有螢幕的視窗或只用於主要螢幕的視窗。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:6 | ||||
| msgid "" | ||||
| "Determines whether workspaces are managed dynamically or whether there's a " | ||||
| "static number of workspaces (determined by the num-workspaces key in org." | ||||
| "gnome.desktop.wm.preferences)." | ||||
| msgstr "" | ||||
| "決定工作區以動態方式管理或是有固定數量的工作區 (以 org.gnome.desktop.wm." | ||||
| "preferences 中的 num-workspaces 鍵值來決定)。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| msgid "Draggable border width" | ||||
| msgstr "可拖曳邊框寬度" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "在螢幕邊緣放下視窗時啟用邊緣拼貼" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:9 | ||||
| msgid "" | ||||
| "If enabled, dropping windows on vertical screen edges maximizes them " | ||||
| "vertically and resizes them horizontally to cover half of the available " | ||||
| "area. Dropping windows on the top screen edge maximizes them completely." | ||||
| msgstr "" | ||||
| "如果啟用,將視窗拖放到螢幕垂直邊緣時會讓它們垂直最大化並調整水平方向大小覆蓋" | ||||
| "可用區域的一半。拖放視窗到螢幕頂端邊緣則會讓它們完全最大化。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:10 | ||||
| msgid "Live Hidden Windows" | ||||
| msgstr "活動中的隱藏 Windows" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:11 | ||||
| msgid "Modifier to use for extended window management operations" | ||||
| msgstr "用於延伸視窗管理操作程序的特殊按鍵" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:2 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| msgid "No tab popup" | ||||
| msgstr "沒有分頁彈出項" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:13 | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "從分頁彈出項選擇視窗" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:14 | ||||
| msgid "" | ||||
| "The amount of total draggable borders. If the theme's visible borders are " | ||||
| "not enough, invisible borders will be added to meet this value." | ||||
| msgstr "" | ||||
| "所有可拖曳邊框的總數。如果布景的可視邊框不夠,會加入隱形邊框來符合這個數值。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:15 | ||||
| msgid "" | ||||
| "This key will initiate the \"overlay\", which is a combination window " | ||||
| "overview and application launching system. The default is intended to be the " | ||||
| @@ -389,11 +461,7 @@ msgstr "" | ||||
| "要成為 PC 硬體上的「Windows key」。預期這個按鍵組含不是預設值就是設定為空字" | ||||
| "串。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:3 | ||||
| msgid "Attach modal dialogs" | ||||
| msgstr "附加模態對話盒" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:4 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:16 | ||||
| msgid "" | ||||
| "When true, instead of having independent titlebars, modal dialogs appear " | ||||
| "attached to the titlebar of the parent window and are moved together with " | ||||
| @@ -402,71 +470,14 @@ msgstr "" | ||||
| "當設為「true」,將不會有獨立的標題列,模態對話盒會附加在上層視窗的標題列並與" | ||||
| "上層視窗一起移動。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:5 | ||||
| msgid "Enable edge tiling when dropping windows on screen edges" | ||||
| msgstr "在螢幕邊緣放下視窗時啟用邊緣拼貼" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:6 | ||||
| msgid "" | ||||
| "If enabled, dropping windows on vertical screen edges maximizes them " | ||||
| "vertically and resizes them horizontally to cover half of the available " | ||||
| "area. Dropping windows on the top screen edge maximizes them completely." | ||||
| msgstr "" | ||||
| "如果啟用,將視窗拖放到螢幕垂直邊緣時會讓它們垂直最大化並調整水平方向大小覆蓋" | ||||
| "可用區域的一半。拖放視窗到螢幕頂端邊緣則會讓它們完全最大化。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:7 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:17 | ||||
| msgid "Workspaces are managed dynamically" | ||||
| msgstr "工作區以動態方式管理" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:8 | ||||
| msgid "" | ||||
| "Determines whether workspaces are managed dynamically or whether there's a " | ||||
| "static number of workspaces (determined by the num-workspaces key in org." | ||||
| "gnome.desktop.wm.preferences)." | ||||
| msgstr "" | ||||
| "決定工作區以動態方式管理或是有固定數量的工作區 (以 org.gnome.desktop.wm." | ||||
| "preferences 中的 num-workspaces 鍵值來決定)。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:9 | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:18 | ||||
| msgid "Workspaces only on primary" | ||||
| msgstr "只有主要螢幕的工作區" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:10 | ||||
| msgid "" | ||||
| "Determines whether workspace switching should happen for windows on all " | ||||
| "monitors or only for windows on the primary monitor." | ||||
| msgstr "決定工作區切換是否使用於所有螢幕的視窗或只用於主要螢幕的視窗。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:11 | ||||
| msgid "No tab popup" | ||||
| msgstr "沒有分頁彈出項" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:12 | ||||
| msgid "" | ||||
| "Determines whether the use of popup and highlight frame should be disabled " | ||||
| "for window cycling." | ||||
| msgstr "決定當視窗輪換時是否使用彈出式和強調框架。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:13 | ||||
| msgid "Draggable border width" | ||||
| msgstr "可拖曳邊框寬度" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:14 | ||||
| msgid "" | ||||
| "The amount of total draggable borders. If the theme's visible borders are " | ||||
| "not enough, invisible borders will be added to meet this value." | ||||
| msgstr "" | ||||
| "所有可拖曳邊框的總數。如果布景的可視邊框不夠,會加入隱形邊框來符合這個數值。" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:15 | ||||
| msgid "Select window from tab popup" | ||||
| msgstr "從分頁彈出項選擇視窗" | ||||
|  | ||||
| #: ../src/org.gnome.mutter.gschema.xml.in.h:16 | ||||
| msgid "Cancel tab popup" | ||||
| msgstr "取消分頁彈出項" | ||||
|  | ||||
| #: ../src/tools/mutter-message.c:123 | ||||
| #, c-format | ||||
| msgid "Usage: %s\n" | ||||
| @@ -687,48 +698,48 @@ msgstr "Mod5" | ||||
| msgid "%d x %d" | ||||
| msgstr "%d x %d" | ||||
|  | ||||
| #: ../src/ui/theme.c:234 | ||||
| #: ../src/ui/theme.c:253 | ||||
| msgid "top" | ||||
| msgstr "頂" | ||||
|  | ||||
| #: ../src/ui/theme.c:236 | ||||
| #: ../src/ui/theme.c:255 | ||||
| msgid "bottom" | ||||
| msgstr "底" | ||||
|  | ||||
| #: ../src/ui/theme.c:238 | ||||
| #: ../src/ui/theme.c:257 | ||||
| msgid "left" | ||||
| msgstr "左" | ||||
|  | ||||
| #: ../src/ui/theme.c:240 | ||||
| #: ../src/ui/theme.c:259 | ||||
| msgid "right" | ||||
| msgstr "右" | ||||
|  | ||||
| #: ../src/ui/theme.c:268 | ||||
| #: ../src/ui/theme.c:286 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify \"%s\" dimension" | ||||
| msgstr "邊框的位置大小中沒有指定“%s”部分的大小" | ||||
|  | ||||
| #: ../src/ui/theme.c:287 | ||||
| #: ../src/ui/theme.c:305 | ||||
| #, c-format | ||||
| msgid "frame geometry does not specify dimension \"%s\" for border \"%s\"" | ||||
| msgstr "邊框的位置大小中沒有指定“%2$s”邊框中的“%1$s”部分" | ||||
|  | ||||
| #: ../src/ui/theme.c:324 | ||||
| #: ../src/ui/theme.c:342 | ||||
| #, c-format | ||||
| msgid "Button aspect ratio %g is not reasonable" | ||||
| msgstr "按鈕的長寬比 %g 不合理" | ||||
|  | ||||
| #: ../src/ui/theme.c:336 | ||||
| #: ../src/ui/theme.c:354 | ||||
| #, c-format | ||||
| msgid "Frame geometry does not specify size of buttons" | ||||
| msgstr "邊框的位置大小規格內未有指定按鈕的大小" | ||||
|  | ||||
| #: ../src/ui/theme.c:1049 | ||||
| #: ../src/ui/theme.c:1067 | ||||
| #, c-format | ||||
| msgid "Gradients should have at least two colors" | ||||
| msgstr "漸層至少應該有兩種顏色" | ||||
|  | ||||
| #: ../src/ui/theme.c:1201 | ||||
| #: ../src/ui/theme.c:1219 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK custom color specification must have color name and fallback in " | ||||
| @@ -737,14 +748,14 @@ msgstr "" | ||||
| "GTK 自訂顏色規格規定必須有顏色名稱並加上封閉括號,例如 gtk:custom(foo,bar);" | ||||
| "無法分析「%s」" | ||||
|  | ||||
| #: ../src/ui/theme.c:1217 | ||||
| #: ../src/ui/theme.c:1235 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-" | ||||
| "_ are valid" | ||||
| msgstr "gtk:custom 的 color_name 參數 '%c' 中有無效字元,只能使用 A-Za-z0-9-_ " | ||||
|  | ||||
| #: ../src/ui/theme.c:1231 | ||||
| #: ../src/ui/theme.c:1249 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not " | ||||
| @@ -752,7 +763,7 @@ msgid "" | ||||
| msgstr "" | ||||
| "Gtk:custom 的格式是「gtk:custom(color_name,fallback)」,但「%s」不符合格式" | ||||
|  | ||||
| #: ../src/ui/theme.c:1276 | ||||
| #: ../src/ui/theme.c:1294 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have the state in brackets, e.g. gtk:fg[NORMAL] " | ||||
| @@ -761,7 +772,7 @@ msgstr "" | ||||
| "GTK 色彩規格規定必須在狀態外加上方括號,例如 gtk:fg[NORMAL],這裡 NORMAL 表示" | ||||
| "狀態;無法分析“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:1290 | ||||
| #: ../src/ui/theme.c:1308 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "GTK color specification must have a close bracket after the state, e.g. gtk:" | ||||
| @@ -770,148 +781,148 @@ msgstr "" | ||||
| "GTK 色彩規格規定必須在狀態後加上閉方括號,例如 gtk:fg[NORMAL],這裡 NORMAL 表" | ||||
| "示狀態;無法分析“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:1301 | ||||
| #: ../src/ui/theme.c:1319 | ||||
| #, c-format | ||||
| msgid "Did not understand state \"%s\" in color specification" | ||||
| msgstr "無法將“%s”理解為色彩規格中的狀態" | ||||
|  | ||||
| #: ../src/ui/theme.c:1314 | ||||
| #: ../src/ui/theme.c:1332 | ||||
| #, c-format | ||||
| msgid "Did not understand color component \"%s\" in color specification" | ||||
| msgstr "無法將“%s”理解為色彩規格中的色彩部分" | ||||
|  | ||||
| #: ../src/ui/theme.c:1343 | ||||
| #: ../src/ui/theme.c:1361 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit the " | ||||
| "format" | ||||
| msgstr "指定混色的格式是“blend/背景顏色/前景顏色/透明度”,“%s”不符合規格" | ||||
|  | ||||
| #: ../src/ui/theme.c:1354 | ||||
| #: ../src/ui/theme.c:1372 | ||||
| #, c-format | ||||
| msgid "Could not parse alpha value \"%s\" in blended color" | ||||
| msgstr "無法理解“%s”作為混色的透明度數值" | ||||
|  | ||||
| #: ../src/ui/theme.c:1364 | ||||
| #: ../src/ui/theme.c:1382 | ||||
| #, c-format | ||||
| msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0" | ||||
| msgstr "混色的透明度數值“%s”不是在 0.0 至 1.0 之間" | ||||
|  | ||||
| #: ../src/ui/theme.c:1411 | ||||
| #: ../src/ui/theme.c:1429 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format" | ||||
| msgstr "陰影的格式是“shade/基本顏色/比重”,但“%s”不符合格式" | ||||
|  | ||||
| #: ../src/ui/theme.c:1422 | ||||
| #: ../src/ui/theme.c:1440 | ||||
| #, c-format | ||||
| msgid "Could not parse shade factor \"%s\" in shaded color" | ||||
| msgstr "在陰影顏色中無法將“%s”理解為陰影比重" | ||||
|  | ||||
| #: ../src/ui/theme.c:1432 | ||||
| #: ../src/ui/theme.c:1450 | ||||
| #, c-format | ||||
| msgid "Shade factor \"%s\" in shaded color is negative" | ||||
| msgstr "在陰影顏色中陰影比重“%s”是負數" | ||||
|  | ||||
| #: ../src/ui/theme.c:1461 | ||||
| #: ../src/ui/theme.c:1479 | ||||
| #, c-format | ||||
| msgid "Could not parse color \"%s\"" | ||||
| msgstr "無法分析顏色“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:1778 | ||||
| #: ../src/ui/theme.c:1790 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains character '%s' which is not allowed" | ||||
| msgstr "座標表達式中出現不可接受的字元‘%s’" | ||||
|  | ||||
| #: ../src/ui/theme.c:1805 | ||||
| #: ../src/ui/theme.c:1817 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contains floating point number '%s' which could not be " | ||||
| "parsed" | ||||
| msgstr "座標表達式中出現無法分析的浮點小數‘%s’" | ||||
|  | ||||
| #: ../src/ui/theme.c:1819 | ||||
| #: ../src/ui/theme.c:1831 | ||||
| #, c-format | ||||
| msgid "Coordinate expression contains integer '%s' which could not be parsed" | ||||
| msgstr "座標表達式中出現無法分析的整數‘%s’" | ||||
|  | ||||
| #: ../src/ui/theme.c:1940 | ||||
| #: ../src/ui/theme.c:1953 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression contained unknown operator at the start of this text: " | ||||
| "\"%s\"" | ||||
| msgstr "在座標表達式中,以下文字的開始部分含有不明的運算符:“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:1997 | ||||
| #: ../src/ui/theme.c:2010 | ||||
| #, c-format | ||||
| msgid "Coordinate expression was empty or not understood" | ||||
| msgstr "座標表達式是空白的或是無法分析" | ||||
|  | ||||
| #: ../src/ui/theme.c:2110 ../src/ui/theme.c:2120 ../src/ui/theme.c:2154 | ||||
| #: ../src/ui/theme.c:2121 ../src/ui/theme.c:2131 ../src/ui/theme.c:2165 | ||||
| #, c-format | ||||
| msgid "Coordinate expression results in division by zero" | ||||
| msgstr "座標表達式中出現被 0 整除的錯誤" | ||||
|  | ||||
| #: ../src/ui/theme.c:2162 | ||||
| #: ../src/ui/theme.c:2173 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression tries to use mod operator on a floating-point number" | ||||
| msgstr "座標表達式中出現將浮點數使用於餘數運算符 (mod) 的錯誤" | ||||
|  | ||||
| #: ../src/ui/theme.c:2218 | ||||
| #: ../src/ui/theme.c:2229 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has an operator \"%s\" where an operand was expected" | ||||
| msgstr "在座標表達式中,應該有運算子的地方出現了運算符“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:2227 | ||||
| #: ../src/ui/theme.c:2238 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an operand where an operator was expected" | ||||
| msgstr "在座標表達式中,應該有運算符的地方出現了運算子" | ||||
|  | ||||
| #: ../src/ui/theme.c:2235 | ||||
| #: ../src/ui/theme.c:2246 | ||||
| #, c-format | ||||
| msgid "Coordinate expression ended with an operator instead of an operand" | ||||
| msgstr "結束座標表達式的是一個運算符而非運算子" | ||||
|  | ||||
| #: ../src/ui/theme.c:2245 | ||||
| #: ../src/ui/theme.c:2256 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Coordinate expression has operator \"%c\" following operator \"%c\" with no " | ||||
| "operand in between" | ||||
| msgstr "在座標表達式中,運算符“%c”緊隨運算符“%c”出現,但中間沒有任何運算子" | ||||
|  | ||||
| #: ../src/ui/theme.c:2396 ../src/ui/theme.c:2441 | ||||
| #: ../src/ui/theme.c:2407 ../src/ui/theme.c:2452 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had unknown variable or constant \"%s\"" | ||||
| msgstr "座標表達式中出現不明的變數或常數“%s”" | ||||
|  | ||||
| #: ../src/ui/theme.c:2495 | ||||
| #: ../src/ui/theme.c:2506 | ||||
| #, c-format | ||||
| msgid "Coordinate expression parser overflowed its buffer." | ||||
| msgstr "座標表達式分析器令緩衝溢位。" | ||||
|  | ||||
| #: ../src/ui/theme.c:2524 | ||||
| #: ../src/ui/theme.c:2535 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had a close parenthesis with no open parenthesis" | ||||
| msgstr "座標表達式中的閉括號沒有相應的開括號" | ||||
|  | ||||
| #: ../src/ui/theme.c:2588 | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #, c-format | ||||
| msgid "Coordinate expression had an open parenthesis with no close parenthesis" | ||||
| msgstr "座標表達式中的開括號沒有相應的閉括號" | ||||
|  | ||||
| #: ../src/ui/theme.c:2599 | ||||
| #: ../src/ui/theme.c:2610 | ||||
| #, c-format | ||||
| msgid "Coordinate expression doesn't seem to have any operators or operands" | ||||
| msgstr "座標表達式中似乎沒有任何運算符或運算子" | ||||
|  | ||||
| #: ../src/ui/theme.c:2812 ../src/ui/theme.c:2832 ../src/ui/theme.c:2852 | ||||
| #: ../src/ui/theme.c:2822 ../src/ui/theme.c:2842 ../src/ui/theme.c:2862 | ||||
| #, c-format | ||||
| msgid "Theme contained an expression that resulted in an error: %s\n" | ||||
| msgstr "佈景主題中含有引致錯誤的表達式:%s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:4498 | ||||
| #: ../src/ui/theme.c:4533 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be " | ||||
| @@ -920,25 +931,25 @@ msgstr "" | ||||
| "此邊框款式必須指定 <button function=\"%s\" state=\"%s\" draw_ops=\"whatever" | ||||
| "\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5009 ../src/ui/theme.c:5034 | ||||
| #: ../src/ui/theme.c:5066 ../src/ui/theme.c:5091 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
| msgstr "" | ||||
| "缺少了 <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5082 | ||||
| #: ../src/ui/theme.c:5139 | ||||
| #, c-format | ||||
| msgid "Failed to load theme \"%s\": %s\n" | ||||
| msgstr "無法載入佈景主題“%s”:%s\n" | ||||
|  | ||||
| #: ../src/ui/theme.c:5218 ../src/ui/theme.c:5225 ../src/ui/theme.c:5232 | ||||
| #: ../src/ui/theme.c:5239 ../src/ui/theme.c:5246 | ||||
| #: ../src/ui/theme.c:5275 ../src/ui/theme.c:5282 ../src/ui/theme.c:5289 | ||||
| #: ../src/ui/theme.c:5296 ../src/ui/theme.c:5303 | ||||
| #, c-format | ||||
| msgid "No <%s> set for theme \"%s\"" | ||||
| msgstr "佈景主題“%s”未指定 <%s>" | ||||
|  | ||||
| #: ../src/ui/theme.c:5254 | ||||
| #: ../src/ui/theme.c:5311 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "No frame style set for window type \"%s\" in theme \"%s\", add a <window " | ||||
| @@ -947,13 +958,13 @@ msgstr "" | ||||
| "在佈景主題“%2$s”中,視窗類型“%1$s”沒有指定任何邊框款式。請加上 <window type=" | ||||
| "\"%3$s\" style_set=\"whatever\"/> 元素" | ||||
|  | ||||
| #: ../src/ui/theme.c:5650 ../src/ui/theme.c:5712 ../src/ui/theme.c:5775 | ||||
| #: ../src/ui/theme.c:5709 ../src/ui/theme.c:5771 ../src/ui/theme.c:5834 | ||||
| #, c-format | ||||
| msgid "" | ||||
| "User-defined constants must begin with a capital letter; \"%s\" does not" | ||||
| msgstr "自行定義的常數必須以大寫字母開始;但“%s”不是" | ||||
|  | ||||
| #: ../src/ui/theme.c:5658 ../src/ui/theme.c:5720 ../src/ui/theme.c:5783 | ||||
| #: ../src/ui/theme.c:5717 ../src/ui/theme.c:5779 ../src/ui/theme.c:5842 | ||||
| #, c-format | ||||
| msgid "Constant \"%s\" has already been defined" | ||||
| msgstr "已定義了“%s”常數" | ||||
| @@ -1323,7 +1334,7 @@ msgstr "<%s> 元素內不可出現任何文字" | ||||
| msgid "<%s> specified twice for this theme" | ||||
| msgstr "<%s> 指定了這個佈景主題兩次" | ||||
|  | ||||
| #: ../src/ui/theme-parser.c:4334 | ||||
| #: ../src/ui/theme-parser.c:4348 | ||||
| #, c-format | ||||
| msgid "Failed to find a valid file for theme %s\n" | ||||
| msgstr "無法佈景主題的有效檔案 %s\n" | ||||
| @@ -1526,190 +1537,6 @@ msgstr "y 的數值是 %d,%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: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:6 | ||||
| msgid "Move window one workspace down" | ||||
| msgstr "將視窗移至下方的工作區" | ||||
|  | ||||
| #: ../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: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: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: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 "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:1 | ||||
| msgid "Activate the window menu" | ||||
| msgstr "使用視窗選單" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:2 | ||||
| msgid "Close window" | ||||
| msgstr "關閉視窗" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:3 | ||||
| msgid "Lower window below other windows" | ||||
| msgstr "遮蔽某個視窗" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:4 | ||||
| msgid "Maximize window" | ||||
| msgstr "視窗最大化" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:5 | ||||
| msgid "Maximize window horizontally" | ||||
| msgstr "將視窗橫向最大化" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:6 | ||||
| msgid "Maximize window vertically" | ||||
| msgstr "將視窗縱向最大化" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:7 | ||||
| msgid "Minimize window" | ||||
| msgstr "視窗最小化" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:8 | ||||
| msgid "Move window" | ||||
| msgstr "移動視窗" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:9 | ||||
| msgid "Raise window above other windows" | ||||
| 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:11 | ||||
| msgid "Resize window" | ||||
| msgstr "調整視窗大小" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:12 | ||||
| msgid "Restore window" | ||||
| 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:15 | ||||
| msgid "Toggle shaded state" | ||||
| msgstr "切換視窗捲起/放下狀態" | ||||
|  | ||||
| #: ../src/50-mutter-windows.xml.in.h:16 | ||||
| msgid "Toggle window on all workspaces or one" | ||||
| msgstr "切換視窗顯示在所有工作區或是只顯示於其中之一" | ||||
|  | ||||
| #~ msgid "Comma-separated list of compositor plugins" | ||||
| #~ msgstr "以逗號分隔的複合視窗外掛程式清單" | ||||
|  | ||||
| #~ msgid "" | ||||
| #~ "Determines whether hidden windows (i.e., minimized windows and windows on " | ||||
| #~ "other workspaces than the current one) should be kept alive." | ||||
| #~ msgstr "" | ||||
| #~ "決定隱藏的視窗(如最小化的視窗和位於目前以外工作區的視窗)是否保持活動。" | ||||
|  | ||||
| #~ msgid "Live Hidden Windows" | ||||
| #~ msgstr "活動中的隱藏 Windows" | ||||
|  | ||||
| #~ msgid "Close Window" | ||||
| #~ msgstr "關閉視窗" | ||||
|  | ||||
|   | ||||
| @@ -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> | ||||
|   | ||||
| @@ -6,8 +6,6 @@ lib_LTLIBRARIES = libmutter.la | ||||
| SUBDIRS=wm-tester tools compositor/plugins | ||||
|  | ||||
| INCLUDES=								\ | ||||
| 	-DCLUTTER_ENABLE_EXPERIMENTAL_API				\ | ||||
| 	-DCOGL_ENABLE_EXPERIMENTAL_API					\ | ||||
| 	$(MUTTER_CFLAGS)						\ | ||||
| 	-I$(srcdir)							\ | ||||
| 	-I$(srcdir)/core						\ | ||||
| @@ -223,8 +221,8 @@ typelib_DATA = Meta-$(api_version).typelib | ||||
| INTROSPECTION_GIRS = Meta-$(api_version).gir | ||||
|  | ||||
| Meta-$(api_version).gir: libmutter.la | ||||
| @META_GIR@_INCLUDES = GObject-2.0 GDesktopEnums-3.0 Gdk-3.0 Gtk-3.0 Clutter-1.0 xlib-2.0 xfixes-4.0 Cogl-1.0 | ||||
| @META_GIR@_EXPORT_PACKAGES = libmutter | ||||
| @META_GIR@_INCLUDES = GObject-2.0 GDesktopEnums-3.0 Gdk-3.0 Gtk-3.0 Clutter-1.0 xlib-2.0 xfixes-4.0 | ||||
| @META_GIR@_PACKAGES = clutter-1.0 gtk+-3.0 | ||||
| @META_GIR@_CFLAGS = $(INCLUDES) | ||||
| @META_GIR@_LIBS = libmutter.la | ||||
| @META_GIR@_FILES =				\ | ||||
| @@ -261,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) | ||||
|  | ||||
|   | ||||
| @@ -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,13 +26,9 @@ 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 | ||||
| @@ -45,9 +42,6 @@ struct _MetaCompScreen | ||||
|   GHashTable            *windows_by_xid; | ||||
|   Window                 output; | ||||
|  | ||||
|   CoglOnscreen          *onscreen; | ||||
|   CoglFrameClosure      *frame_closure; | ||||
|  | ||||
|   /* Used for unredirecting fullscreen windows */ | ||||
|   guint                   disable_unredirect_count; | ||||
|   MetaWindowActor             *unredirected_window; | ||||
| @@ -60,8 +54,6 @@ struct _MetaCompScreen | ||||
|   MetaPluginManager *plugin_mgr; | ||||
| }; | ||||
|  | ||||
| #define META_SYNC_DELAY 2 | ||||
|  | ||||
| void meta_switch_workspace_completed (MetaScreen    *screen); | ||||
|  | ||||
| gboolean meta_begin_modal_for_plugin (MetaScreen       *screen, | ||||
| @@ -74,9 +66,6 @@ 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 */ | ||||
|   | ||||
| @@ -157,26 +157,23 @@ get_output_window (MetaScreen *screen) | ||||
|   Window       output, xroot; | ||||
|   XWindowAttributes attr; | ||||
|   long         event_mask; | ||||
|   unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 }; | ||||
|   XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits }; | ||||
|  | ||||
|   xroot = meta_screen_get_xroot (screen); | ||||
|  | ||||
|   event_mask = FocusChangeMask | | ||||
|                ExposureMask | | ||||
|                EnterWindowMask | LeaveWindowMask | | ||||
| 	       PointerMotionMask | | ||||
|                PropertyChangeMask | | ||||
|                ButtonPressMask | ButtonReleaseMask | | ||||
|                KeyPressMask | KeyReleaseMask; | ||||
|  | ||||
|   output = XCompositeGetOverlayWindow (xdisplay, xroot); | ||||
|  | ||||
|   XISetMask (mask.mask, XI_KeyPress); | ||||
|   XISetMask (mask.mask, XI_KeyRelease); | ||||
|   XISetMask (mask.mask, XI_ButtonPress); | ||||
|   XISetMask (mask.mask, XI_ButtonRelease); | ||||
|   XISetMask (mask.mask, XI_Enter); | ||||
|   XISetMask (mask.mask, XI_Leave); | ||||
|   XISetMask (mask.mask, XI_FocusIn); | ||||
|   XISetMask (mask.mask, XI_FocusOut); | ||||
|   XISetMask (mask.mask, XI_Motion); | ||||
|   XISelectEvents (xdisplay, output, &mask, 1); | ||||
|  | ||||
|   event_mask = ExposureMask | PropertyChangeMask; | ||||
|   if (XGetWindowAttributes (xdisplay, output, &attr)) | ||||
|     event_mask |= attr.your_event_mask; | ||||
|       { | ||||
|         event_mask |= attr.your_event_mask; | ||||
|       } | ||||
|  | ||||
|   XSelectInput (xdisplay, output, event_mask); | ||||
|  | ||||
| @@ -361,23 +358,14 @@ meta_begin_modal_for_plugin (MetaScreen       *screen, | ||||
|  | ||||
|   if ((options & META_MODAL_POINTER_ALREADY_GRABBED) == 0) | ||||
|     { | ||||
|       unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 }; | ||||
|       XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits }; | ||||
|  | ||||
|       XISetMask (mask.mask, XI_ButtonPress); | ||||
|       XISetMask (mask.mask, XI_ButtonRelease); | ||||
|       XISetMask (mask.mask, XI_Enter); | ||||
|       XISetMask (mask.mask, XI_Leave); | ||||
|       XISetMask (mask.mask, XI_Motion); | ||||
|  | ||||
|       result = XIGrabDevice (xdpy, | ||||
|                              META_VIRTUAL_CORE_POINTER_ID, | ||||
|                              grab_window, | ||||
|                              timestamp, | ||||
|                              cursor, | ||||
|                              XIGrabModeAsync, XIGrabModeAsync, | ||||
|       result = XGrabPointer (xdpy, grab_window, | ||||
|                              False, /* owner_events */ | ||||
|                              &mask); | ||||
|                              (ButtonPressMask | ButtonReleaseMask | | ||||
|                               EnterWindowMask | LeaveWindowMask | PointerMotionMask), | ||||
|                              GrabModeAsync, GrabModeAsync, | ||||
|                              None, /* confine to */ | ||||
|                              cursor, | ||||
|                              timestamp); | ||||
|       if (result != Success) | ||||
|         goto fail; | ||||
|  | ||||
| @@ -386,20 +374,10 @@ meta_begin_modal_for_plugin (MetaScreen       *screen, | ||||
|  | ||||
|   if ((options & META_MODAL_KEYBOARD_ALREADY_GRABBED) == 0) | ||||
|     { | ||||
|       unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 }; | ||||
|       XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits }; | ||||
|  | ||||
|       XISetMask (mask.mask, XI_KeyPress); | ||||
|       XISetMask (mask.mask, XI_KeyRelease); | ||||
|  | ||||
|       result = XIGrabDevice (xdpy, | ||||
|                              META_VIRTUAL_CORE_KEYBOARD_ID, | ||||
|                              grab_window, | ||||
|                              timestamp, | ||||
|                              None, | ||||
|                              XIGrabModeAsync, XIGrabModeAsync, | ||||
|                              False, /* owner_events */ | ||||
|                              &mask); | ||||
|       result = XGrabKeyboard (xdpy, grab_window, | ||||
|                               False, /* owner_events */ | ||||
|                               GrabModeAsync, GrabModeAsync, | ||||
|                               timestamp); | ||||
|  | ||||
|       if (result != Success) | ||||
|         goto fail; | ||||
| @@ -419,9 +397,9 @@ meta_begin_modal_for_plugin (MetaScreen       *screen, | ||||
|  | ||||
|  fail: | ||||
|   if (pointer_grabbed) | ||||
|     XIUngrabDevice (xdpy, META_VIRTUAL_CORE_POINTER_ID, timestamp); | ||||
|     XUngrabPointer (xdpy, timestamp); | ||||
|   if (keyboard_grabbed) | ||||
|     XIUngrabDevice (xdpy, META_VIRTUAL_CORE_KEYBOARD_ID, timestamp); | ||||
|     XUngrabKeyboard (xdpy, timestamp); | ||||
|  | ||||
|   return FALSE; | ||||
| } | ||||
| @@ -437,8 +415,8 @@ meta_end_modal_for_plugin (MetaScreen     *screen, | ||||
|  | ||||
|   g_return_if_fail (compositor->modal_plugin == plugin); | ||||
|  | ||||
|   XIUngrabDevice (xdpy, META_VIRTUAL_CORE_POINTER_ID, timestamp); | ||||
|   XIUngrabDevice (xdpy, META_VIRTUAL_CORE_KEYBOARD_ID, timestamp); | ||||
|   XUngrabPointer (xdpy, timestamp); | ||||
|   XUngrabKeyboard (xdpy, timestamp); | ||||
|  | ||||
|   display->grab_op = META_GRAB_OP_NONE; | ||||
|   display->grab_window = NULL; | ||||
| @@ -467,16 +445,6 @@ meta_check_end_modal (MetaScreen *screen) | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| after_stage_paint (ClutterActor   *stage, | ||||
|                    MetaCompScreen *info) | ||||
| { | ||||
|   GList *l; | ||||
|  | ||||
|   for (l = info->windows; l; l = l->next) | ||||
|     meta_window_actor_post_paint (l->data); | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_compositor_manage_screen (MetaCompositor *compositor, | ||||
|                                MetaScreen     *screen) | ||||
| @@ -488,6 +456,8 @@ meta_compositor_manage_screen (MetaCompositor *compositor, | ||||
|   Window          xroot         = meta_screen_get_xroot (screen); | ||||
|   Window          xwin; | ||||
|   gint            width, height; | ||||
|   XWindowAttributes attr; | ||||
|   long            event_mask; | ||||
|   guint           n_retries; | ||||
|   guint           max_retries; | ||||
|  | ||||
| @@ -546,11 +516,6 @@ meta_compositor_manage_screen (MetaCompositor *compositor, | ||||
|   meta_screen_set_cm_selection (screen); | ||||
|  | ||||
|   info->stage = clutter_stage_new (); | ||||
|   g_signal_connect_after (info->stage, "paint", | ||||
|                           G_CALLBACK (after_stage_paint), info); | ||||
|  | ||||
|   /* Wait 6-ms after vblank before starting to draw next frame */ | ||||
|   clutter_stage_set_sync_delay (CLUTTER_STAGE (info->stage), META_SYNC_DELAY); | ||||
|  | ||||
|   meta_screen_get_size (screen, &width, &height); | ||||
|   clutter_actor_realize (info->stage); | ||||
| @@ -559,29 +524,21 @@ meta_compositor_manage_screen (MetaCompositor *compositor, | ||||
|  | ||||
|   XResizeWindow (xdisplay, xwin, width, height); | ||||
|  | ||||
|   { | ||||
|     long event_mask; | ||||
|     unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 }; | ||||
|     XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits }; | ||||
|     XWindowAttributes attr; | ||||
|   event_mask = FocusChangeMask | | ||||
|                ExposureMask | | ||||
|                EnterWindowMask | LeaveWindowMask | | ||||
|                PointerMotionMask | | ||||
|                PropertyChangeMask | | ||||
|                ButtonPressMask | ButtonReleaseMask | | ||||
|                KeyPressMask | KeyReleaseMask | | ||||
|                StructureNotifyMask; | ||||
|  | ||||
|     XISetMask (mask.mask, XI_KeyPress); | ||||
|     XISetMask (mask.mask, XI_KeyRelease); | ||||
|     XISetMask (mask.mask, XI_ButtonPress); | ||||
|     XISetMask (mask.mask, XI_ButtonRelease); | ||||
|     XISetMask (mask.mask, XI_Enter); | ||||
|     XISetMask (mask.mask, XI_Leave); | ||||
|     XISetMask (mask.mask, XI_FocusIn); | ||||
|     XISetMask (mask.mask, XI_FocusOut); | ||||
|     XISetMask (mask.mask, XI_Motion); | ||||
|     XISelectEvents (xdisplay, xwin, &mask, 1); | ||||
|   if (XGetWindowAttributes (xdisplay, xwin, &attr)) | ||||
|       { | ||||
|         event_mask |= attr.your_event_mask; | ||||
|       } | ||||
|  | ||||
|     event_mask = ExposureMask | PropertyChangeMask | StructureNotifyMask; | ||||
|     if (XGetWindowAttributes (xdisplay, xwin, &attr)) | ||||
|       event_mask |= attr.your_event_mask; | ||||
|  | ||||
|     XSelectInput (xdisplay, xwin, event_mask); | ||||
|   } | ||||
|   XSelectInput (xdisplay, xwin, event_mask); | ||||
|  | ||||
|   info->window_group = meta_window_group_new (screen); | ||||
|   info->background_actor = meta_background_actor_new_for_screen (screen); | ||||
| @@ -600,7 +557,9 @@ meta_compositor_manage_screen (MetaCompositor *compositor, | ||||
|  | ||||
|   clutter_actor_hide (info->hidden_group); | ||||
|  | ||||
|   info->plugin_mgr = meta_plugin_manager_new (screen); | ||||
|   info->plugin_mgr = | ||||
|     meta_plugin_manager_get (screen); | ||||
|   meta_plugin_manager_initialize (info->plugin_mgr); | ||||
|  | ||||
|   /* | ||||
|    * Delay the creation of the overlay window as long as we can, to avoid | ||||
| @@ -731,38 +690,25 @@ meta_compositor_remove_window (MetaCompositor *compositor, | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_compositor_set_updates_frozen (MetaCompositor *compositor, | ||||
|                                     MetaWindow     *window, | ||||
|                                     gboolean        updates_frozen) | ||||
| meta_compositor_set_updates (MetaCompositor *compositor, | ||||
|                              MetaWindow     *window, | ||||
|                              gboolean        updates) | ||||
| { | ||||
|   MetaWindowActor *window_actor; | ||||
|  | ||||
|   DEBUG_TRACE ("meta_compositor_set_updates_frozen\n"); | ||||
|   window_actor = META_WINDOW_ACTOR (meta_window_get_compositor_private (window)); | ||||
|   if (!window_actor) | ||||
|     return; | ||||
|  | ||||
|   meta_window_actor_set_updates_frozen (window_actor, updates_frozen); | ||||
| } | ||||
|  | ||||
| static gboolean | ||||
| is_grabbed_event (MetaDisplay *display, | ||||
|                   XEvent      *event) | ||||
| is_grabbed_event (XEvent *event) | ||||
| { | ||||
|   if (event->type == GenericEvent && | ||||
|       event->xcookie.extension == display->xinput_opcode) | ||||
|   switch (event->xany.type) | ||||
|     { | ||||
|       XIEvent *xev = (XIEvent *) event->xcookie.data; | ||||
|  | ||||
|       switch (xev->evtype) | ||||
|         { | ||||
|         case XI_Motion: | ||||
|         case XI_ButtonPress: | ||||
|         case XI_ButtonRelease: | ||||
|         case XI_KeyPress: | ||||
|         case XI_KeyRelease: | ||||
|           return TRUE; | ||||
|         } | ||||
|     case ButtonPress: | ||||
|     case ButtonRelease: | ||||
|     case EnterNotify: | ||||
|     case LeaveNotify: | ||||
|     case MotionNotify: | ||||
|     case KeyPress: | ||||
|     case KeyRelease: | ||||
|       return TRUE; | ||||
|     } | ||||
|  | ||||
|   return FALSE; | ||||
| @@ -786,7 +732,7 @@ meta_compositor_process_event (MetaCompositor *compositor, | ||||
|                                XEvent         *event, | ||||
|                                MetaWindow     *window) | ||||
| { | ||||
|   if (compositor->modal_plugin && is_grabbed_event (compositor->display, event)) | ||||
|   if (compositor->modal_plugin && is_grabbed_event (event)) | ||||
|     { | ||||
|       MetaPluginClass *klass = META_PLUGIN_GET_CLASS (compositor->modal_plugin); | ||||
|  | ||||
| @@ -871,19 +817,6 @@ meta_compositor_process_event (MetaCompositor *compositor, | ||||
|   return FALSE; | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_compositor_filter_keybinding (MetaCompositor *compositor, | ||||
|                                    MetaScreen     *screen, | ||||
|                                    MetaKeyBinding *binding) | ||||
| { | ||||
|   MetaCompScreen *info = meta_screen_get_compositor_data (screen); | ||||
|  | ||||
|   if (info->plugin_mgr) | ||||
|     return meta_plugin_manager_filter_keybinding (info->plugin_mgr, binding); | ||||
|  | ||||
|   return FALSE; | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_compositor_show_window (MetaCompositor *compositor, | ||||
| 			     MetaWindow	    *window, | ||||
| @@ -938,6 +871,29 @@ meta_compositor_unmaximize_window (MetaCompositor    *compositor, | ||||
|   meta_window_actor_unmaximize (window_actor, old_rect, new_rect); | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_compositor_update_workspace_geometry (MetaCompositor *compositor, | ||||
|                                            MetaWorkspace  *workspace) | ||||
| { | ||||
| #if 0 | ||||
|   /* FIXME -- should do away with this function in favour of MetaWorkspace | ||||
|    * signal. | ||||
|    */ | ||||
|   MetaScreen     *screen = meta_workspace_get_screen (workspace); | ||||
|   MetaCompScreen *info; | ||||
|   MetaPluginManager *mgr; | ||||
|  | ||||
|   DEBUG_TRACE ("meta_compositor_update_workspace_geometry\n"); | ||||
|   info = meta_screen_get_compositor_data (screen); | ||||
|   mgr  = info->plugin_mgr; | ||||
|  | ||||
|   if (!mgr || !workspace) | ||||
|     return; | ||||
|  | ||||
|   meta_plugin_manager_update_workspace (mgr, workspace); | ||||
| #endif | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_compositor_switch_workspace (MetaCompositor     *compositor, | ||||
|                                   MetaScreen         *screen, | ||||
| @@ -1205,39 +1161,6 @@ meta_compositor_sync_screen_size (MetaCompositor  *compositor, | ||||
| 		width, height); | ||||
| } | ||||
|  | ||||
| static void | ||||
| frame_callback (CoglOnscreen  *onscreen, | ||||
|                 CoglFrameEvent event, | ||||
|                 CoglFrameInfo *frame_info, | ||||
|                 void          *user_data) | ||||
| { | ||||
|   MetaCompScreen *info = user_data; | ||||
|   GList *l; | ||||
|  | ||||
|   if (event == COGL_FRAME_EVENT_COMPLETE) | ||||
|     { | ||||
|       gint64 presentation_time_cogl = cogl_frame_info_get_presentation_time (frame_info); | ||||
|       gint64 presentation_time; | ||||
|  | ||||
|       if (presentation_time_cogl != 0) | ||||
|         { | ||||
|           CoglContext *context = cogl_framebuffer_get_context (COGL_FRAMEBUFFER (onscreen)); | ||||
|           gint64 current_time_cogl = cogl_get_clock_time (context); | ||||
|           gint64 now = g_get_monotonic_time (); | ||||
|  | ||||
|           presentation_time = | ||||
|             now + (presentation_time_cogl - current_time_cogl) / 1000; | ||||
|         } | ||||
|       else | ||||
|         { | ||||
|           presentation_time = 0; | ||||
|         } | ||||
|  | ||||
|       for (l = info->windows; l; l = l->next) | ||||
|         meta_window_actor_frame_complete (l->data, frame_info, presentation_time); | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| pre_paint_windows (MetaCompScreen *info) | ||||
| { | ||||
| @@ -1245,15 +1168,6 @@ pre_paint_windows (MetaCompScreen *info) | ||||
|   MetaWindowActor *top_window; | ||||
|   MetaWindowActor *expected_unredirected_window = NULL; | ||||
|  | ||||
|   if (info->onscreen == NULL) | ||||
|     { | ||||
|       info->onscreen = COGL_ONSCREEN (cogl_get_draw_framebuffer ()); | ||||
|       info->frame_closure = cogl_onscreen_add_frame_callback (info->onscreen, | ||||
|                                                               frame_callback, | ||||
|                                                               info, | ||||
|                                                               NULL); | ||||
|     } | ||||
|  | ||||
|   if (info->windows == NULL) | ||||
|     return; | ||||
|  | ||||
| @@ -1335,6 +1249,7 @@ meta_compositor_new (MetaDisplay *display) | ||||
| { | ||||
|   char *atom_names[] = { | ||||
|     "_XROOTPMAP_ID", | ||||
|     "_XSETROOT_ID", | ||||
|     "_NET_WM_WINDOW_OPACITY", | ||||
|   }; | ||||
|   Atom                   atoms[G_N_ELEMENTS(atom_names)]; | ||||
| @@ -1361,7 +1276,8 @@ meta_compositor_new (MetaDisplay *display) | ||||
|                     compositor); | ||||
|  | ||||
|   compositor->atom_x_root_pixmap = atoms[0]; | ||||
|   compositor->atom_net_wm_window_opacity = atoms[1]; | ||||
|   compositor->atom_x_set_root = atoms[1]; | ||||
|   compositor->atom_net_wm_window_opacity = atoms[2]; | ||||
|  | ||||
|   compositor->repaint_func_id = clutter_threads_add_repaint_func (meta_repaint_func, | ||||
|                                                                   compositor, | ||||
| @@ -1456,51 +1372,3 @@ meta_compositor_flash_screen (MetaCompositor *compositor, | ||||
|                          "signal-after::completed", flash_in_completed, flash, | ||||
|                          NULL); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_compositor_monotonic_time_to_server_time: | ||||
|  * @display: a #MetaDisplay | ||||
|  * @monotonic_time: time in the units of g_get_monotonic_time() | ||||
|  * | ||||
|  * _NET_WM_FRAME_DRAWN and _NET_WM_FRAME_TIMINGS messages represent time | ||||
|  * as a "high resolution server time" - this is the server time interpolated | ||||
|  * to microsecond resolution. The advantage of this time representation | ||||
|  * is that if  X server is running on the same computer as a client, and | ||||
|  * the Xserver uses 'clock_gettime(CLOCK_MONOTONIC, ...)' for the server | ||||
|  * time, the client can detect this, and all such clients will share a | ||||
|  * a time representation with high accuracy. If there is not a common | ||||
|  * time source, then the time synchronization will be less accurate. | ||||
|  */ | ||||
| gint64 | ||||
| meta_compositor_monotonic_time_to_server_time (MetaDisplay *display, | ||||
|                                                gint64       monotonic_time) | ||||
| { | ||||
|   MetaCompositor *compositor = display->compositor; | ||||
|  | ||||
|   if (compositor->server_time_query_time == 0 || | ||||
|       (!compositor->server_time_is_monotonic_time && | ||||
|        monotonic_time > compositor->server_time_query_time + 10000000)) /* 10 seconds */ | ||||
|     { | ||||
|       guint32 server_time = meta_display_get_current_time_roundtrip (display); | ||||
|       gint64 server_time_usec = (gint64)server_time * 1000; | ||||
|       gint64 current_monotonic_time = g_get_monotonic_time (); | ||||
|       compositor->server_time_query_time = current_monotonic_time; | ||||
|  | ||||
|       /* If the server time is within a second of the monotonic time, | ||||
|        * we assume that they are identical. This seems like a big margin, | ||||
|        * but we want to be as robust as possible even if the system | ||||
|        * is under load and our processing of the server response is | ||||
|        * delayed. | ||||
|        */ | ||||
|       if (server_time_usec > current_monotonic_time - 1000000 && | ||||
|           server_time_usec < current_monotonic_time + 1000000) | ||||
|         compositor->server_time_is_monotonic_time = TRUE; | ||||
|  | ||||
|       compositor->server_time_offset = server_time_usec - current_monotonic_time; | ||||
|     } | ||||
|  | ||||
|   if (compositor->server_time_is_monotonic_time) | ||||
|     return monotonic_time; | ||||
|   else | ||||
|     return monotonic_time + compositor->server_time_offset; | ||||
| } | ||||
|   | ||||
| @@ -25,8 +25,10 @@ | ||||
|  | ||||
| #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> | ||||
| @@ -53,7 +55,7 @@ struct _MetaScreenBackground | ||||
|  | ||||
|   float texture_width; | ||||
|   float texture_height; | ||||
|   CoglTexture *texture; | ||||
|   CoglHandle texture; | ||||
|   CoglMaterialWrapMode wrap_mode; | ||||
|   guint have_pixmap : 1; | ||||
| }; | ||||
| @@ -61,8 +63,7 @@ struct _MetaScreenBackground | ||||
| struct _MetaBackgroundActorPrivate | ||||
| { | ||||
|   MetaScreenBackground *background; | ||||
|   CoglPipeline *pipeline; | ||||
|  | ||||
|   CoglHandle material; | ||||
|   cairo_region_t *visible_region; | ||||
|   float dim_factor; | ||||
| }; | ||||
| @@ -139,7 +140,7 @@ update_wrap_mode_of_actor (MetaBackgroundActor *self) | ||||
| { | ||||
|   MetaBackgroundActorPrivate *priv = self->priv; | ||||
|  | ||||
|   cogl_pipeline_set_layer_wrap_mode (priv->pipeline, 0, priv->background->wrap_mode); | ||||
|   cogl_material_set_layer_wrap_mode (priv->material, 0, priv->background->wrap_mode); | ||||
| } | ||||
|  | ||||
| static void | ||||
| @@ -173,7 +174,7 @@ set_texture_on_actor (MetaBackgroundActor *self) | ||||
|    * 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); | ||||
|   cogl_material_set_layer (priv->material, 0, priv->background->texture); | ||||
|   meta_error_trap_pop (display); | ||||
|  | ||||
|   clutter_actor_queue_redraw (CLUTTER_ACTOR (self)); | ||||
| @@ -209,7 +210,7 @@ set_texture (MetaScreenBackground *background, | ||||
|   update_wrap_mode (background); | ||||
| } | ||||
|  | ||||
| /* Sets our pipeline to paint with a 1x1 texture of the stage's background | ||||
| /* Sets our material to paint with a 1x1 texture of the stage's background | ||||
|  * color; doing this when we have no pixmap allows the application to turn | ||||
|  * off painting the stage. There might be a performance benefit to | ||||
|  * painting in this case with a solid color, but the normal solid color | ||||
| @@ -249,7 +250,11 @@ meta_background_actor_dispose (GObject *object) | ||||
|       priv->background = NULL; | ||||
|     } | ||||
|  | ||||
|   g_clear_pointer(&priv->pipeline, cogl_object_unref); | ||||
|   if (priv->material != COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       cogl_handle_unref (priv->material); | ||||
|       priv->material = COGL_INVALID_HANDLE; | ||||
|     } | ||||
|  | ||||
|   G_OBJECT_CLASS (meta_background_actor_parent_class)->dispose (object); | ||||
| } | ||||
| @@ -304,13 +309,13 @@ meta_background_actor_paint (ClutterActor *actor) | ||||
|  | ||||
|   color_component = (int)(0.5 + opacity * priv->dim_factor); | ||||
|  | ||||
|   cogl_pipeline_set_color4ub (priv->pipeline, | ||||
|   cogl_material_set_color4ub (priv->material, | ||||
|                               color_component, | ||||
|                               color_component, | ||||
|                               color_component, | ||||
|                               opacity); | ||||
|  | ||||
|   cogl_set_source (priv->pipeline); | ||||
|   cogl_set_source (priv->material); | ||||
|  | ||||
|   if (priv->visible_region) | ||||
|     { | ||||
| @@ -478,8 +483,7 @@ meta_background_actor_new_for_screen (MetaScreen *screen) | ||||
|   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); | ||||
|   priv->material = meta_create_texture_material (NULL); | ||||
|  | ||||
|   set_texture_on_actor (self); | ||||
|   update_wrap_mode_of_actor (self); | ||||
| @@ -621,83 +625,3 @@ meta_background_actor_screen_size_changed (MetaScreen *screen) | ||||
|   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); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_background_actor_set_uniform_float: | ||||
|  * @actor: a #MetaBackgroundActor | ||||
|  * @uniform_name: | ||||
|  * @n_components: number of components (for vector uniforms) | ||||
|  * @count: number of uniforms (for array uniforms) | ||||
|  * @uniform: (array length=uniform_length): the float values to set | ||||
|  * @uniform_length: the length of @uniform. Must be exactly @n_components x @count, | ||||
|  *                  and is provided mainly for language bindings. | ||||
|  * | ||||
|  * Sets a new GLSL uniform to the provided value. This is mostly | ||||
|  * useful in congiunction with meta_background_actor_add_glsl_snippet(). | ||||
|  */ | ||||
|  | ||||
| void | ||||
| meta_background_actor_set_uniform_float (MetaBackgroundActor *actor, | ||||
|                                          const char          *uniform_name, | ||||
|                                          int                  n_components, | ||||
|                                          int                  count, | ||||
|                                          const float         *uniform, | ||||
|                                          int                  uniform_length) | ||||
| { | ||||
|   MetaBackgroundActorPrivate *priv; | ||||
|  | ||||
|   g_return_if_fail (META_IS_BACKGROUND_ACTOR (actor)); | ||||
|   g_return_if_fail (uniform_length == n_components * count); | ||||
|  | ||||
|   priv = actor->priv; | ||||
|  | ||||
|   cogl_pipeline_set_uniform_float (priv->pipeline, | ||||
|                                    cogl_pipeline_get_uniform_location (priv->pipeline, | ||||
|                                                                        uniform_name), | ||||
|                                    n_components, count, uniform); | ||||
| } | ||||
|  | ||||
|   | ||||
| @@ -35,32 +35,34 @@ | ||||
|  | ||||
| #include <clutter/x11/clutter-x11.h> | ||||
|  | ||||
| static GType plugin_type = G_TYPE_NONE; | ||||
| static GSList *plugin_types; | ||||
|  | ||||
| /* | ||||
|  * We have one "default plugin manager" that acts for the first screen, | ||||
|  * but also can be used before we open any screens, and additional | ||||
|  * plugin managers for each screen. (This is ugly. Probably we should | ||||
|  * have one plugin manager and only make the plugins per-screen.) | ||||
|  */ | ||||
| static MetaPluginManager *default_plugin_manager; | ||||
|  | ||||
| struct MetaPluginManager | ||||
| { | ||||
|   MetaScreen *screen; | ||||
|   MetaPlugin *plugin; | ||||
|   MetaScreen   *screen; | ||||
|  | ||||
|   GList /* MetaPlugin */ *plugins;  /* TODO -- maybe use hash table */ | ||||
| }; | ||||
|  | ||||
| void | ||||
| meta_plugin_manager_set_plugin_type (GType gtype) | ||||
| { | ||||
|   if (plugin_type != G_TYPE_NONE) | ||||
|     meta_fatal ("Mutter plugin already set: %s", g_type_name (plugin_type)); | ||||
|  | ||||
|   plugin_type = gtype; | ||||
| } | ||||
|  | ||||
| /* | ||||
|  * Loads the given plugin. | ||||
|  */ | ||||
| void | ||||
| meta_plugin_manager_load (const gchar       *plugin_name) | ||||
| meta_plugin_manager_load (MetaPluginManager *plugin_mgr, | ||||
|                           const gchar       *plugin_name) | ||||
| { | ||||
|   const gchar *dpath = MUTTER_PLUGIN_DIR "/"; | ||||
|   gchar       *path; | ||||
|   MetaModule  *module; | ||||
|   GType        plugin_type; | ||||
|  | ||||
|   if (g_path_is_absolute (plugin_name)) | ||||
|     path = g_strdup (plugin_name); | ||||
| @@ -79,57 +81,162 @@ meta_plugin_manager_load (const gchar       *plugin_name) | ||||
|       exit (1); | ||||
|     } | ||||
|  | ||||
|   meta_plugin_manager_set_plugin_type (meta_module_get_plugin_type (module)); | ||||
|   plugin_type = meta_module_get_plugin_type (module); | ||||
|   meta_plugin_manager_register (plugin_mgr, plugin_type); | ||||
|  | ||||
|   g_type_module_unuse (G_TYPE_MODULE (module)); | ||||
|   g_free (path); | ||||
| } | ||||
|  | ||||
| MetaPluginManager * | ||||
| /* | ||||
|  * Registers the given plugin type | ||||
|  */ | ||||
| void | ||||
| meta_plugin_manager_register (MetaPluginManager *plugin_mgr, | ||||
|                               GType              plugin_type) | ||||
| { | ||||
|   MetaPlugin  *plugin; | ||||
|  | ||||
|   plugin_types = g_slist_prepend (plugin_types, GSIZE_TO_POINTER (plugin_type)); | ||||
|  | ||||
|   plugin = g_object_new (plugin_type, NULL); | ||||
|   plugin_mgr->plugins = g_list_prepend (plugin_mgr->plugins, plugin); | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_plugin_manager_initialize (MetaPluginManager *plugin_mgr) | ||||
| { | ||||
|   GList *iter; | ||||
|  | ||||
|   if (!plugin_mgr->plugins) | ||||
|     { | ||||
|       /* | ||||
|        * If no plugins are specified, load the default plugin. | ||||
|        */ | ||||
|       meta_plugin_manager_load (plugin_mgr, "default"); | ||||
|     } | ||||
|  | ||||
|   for (iter = plugin_mgr->plugins; iter; iter = iter->next) | ||||
|     { | ||||
|       MetaPlugin *plugin = (MetaPlugin*) iter->data; | ||||
|       MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|       g_object_set (plugin, | ||||
|                     "screen", plugin_mgr->screen, | ||||
|                     NULL); | ||||
|  | ||||
|       if (klass->start) | ||||
|         klass->start (plugin); | ||||
|     } | ||||
| } | ||||
|  | ||||
| static MetaPluginManager * | ||||
| meta_plugin_manager_new (MetaScreen *screen) | ||||
| { | ||||
|   MetaPluginManager *plugin_mgr; | ||||
|   MetaPluginClass *klass; | ||||
|   MetaPlugin *plugin; | ||||
|  | ||||
|   plugin_mgr = g_new0 (MetaPluginManager, 1); | ||||
|   plugin_mgr->screen = screen; | ||||
|   plugin_mgr->plugin = plugin = g_object_new (plugin_type, "screen", screen, NULL); | ||||
|  | ||||
|   klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|   if (klass->start) | ||||
|     klass->start (plugin); | ||||
|   if (screen) | ||||
|     g_object_set_data (G_OBJECT (screen), "meta-plugin-manager", plugin_mgr); | ||||
|  | ||||
|   return plugin_mgr; | ||||
| } | ||||
|  | ||||
| MetaPluginManager * | ||||
| meta_plugin_manager_get_default (void) | ||||
| { | ||||
|   if (!default_plugin_manager) | ||||
|     { | ||||
|       default_plugin_manager = meta_plugin_manager_new (NULL); | ||||
|     } | ||||
|  | ||||
|   return default_plugin_manager; | ||||
| } | ||||
|  | ||||
| MetaPluginManager * | ||||
| meta_plugin_manager_get (MetaScreen *screen) | ||||
| { | ||||
|   MetaPluginManager *plugin_mgr; | ||||
|  | ||||
|   plugin_mgr = g_object_get_data (G_OBJECT (screen), "meta-plugin-manager"); | ||||
|   if (plugin_mgr) | ||||
|     return plugin_mgr; | ||||
|  | ||||
|   if (!default_plugin_manager) | ||||
|     meta_plugin_manager_get_default (); | ||||
|  | ||||
|   if (!default_plugin_manager->screen) | ||||
|     { | ||||
|       /* The default plugin manager is so far unused, we can recycle it */ | ||||
|       default_plugin_manager->screen = screen; | ||||
|       g_object_set_data (G_OBJECT (screen), "meta-plugin-manager", default_plugin_manager); | ||||
|  | ||||
|       return default_plugin_manager; | ||||
|     } | ||||
|   else | ||||
|     { | ||||
|       GSList *iter; | ||||
|       GType plugin_type; | ||||
|       MetaPlugin *plugin; | ||||
|  | ||||
|       plugin_mgr = meta_plugin_manager_new (screen); | ||||
|  | ||||
|       for (iter = plugin_types; iter; iter = iter->next) | ||||
|         { | ||||
|           plugin_type = (GType)GPOINTER_TO_SIZE (iter->data); | ||||
|           plugin = g_object_new (plugin_type, "screen", screen,  NULL); | ||||
|           plugin_mgr->plugins = g_list_prepend (plugin_mgr->plugins, plugin); | ||||
|         } | ||||
|  | ||||
|       return plugin_mgr; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_plugin_manager_kill_window_effects (MetaPluginManager *plugin_mgr, | ||||
|                                          MetaWindowActor   *actor) | ||||
| { | ||||
|   MetaPlugin        *plugin = plugin_mgr->plugin; | ||||
|   MetaPluginClass   *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|   GList *l = plugin_mgr->plugins; | ||||
|  | ||||
|   if (klass->kill_window_effects) | ||||
|     klass->kill_window_effects (plugin, actor); | ||||
|   while (l) | ||||
|     { | ||||
|       MetaPlugin        *plugin = l->data; | ||||
|       MetaPluginClass   *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|       if (!meta_plugin_disabled (plugin) | ||||
| 	  && klass->kill_window_effects) | ||||
|         klass->kill_window_effects (plugin, actor); | ||||
|  | ||||
|       l = l->next; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_plugin_manager_kill_switch_workspace (MetaPluginManager *plugin_mgr) | ||||
| { | ||||
|   MetaPlugin        *plugin = plugin_mgr->plugin; | ||||
|   MetaPluginClass   *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|   GList *l = plugin_mgr->plugins; | ||||
|  | ||||
|   if (klass->kill_switch_workspace) | ||||
|     klass->kill_switch_workspace (plugin); | ||||
|   while (l) | ||||
|     { | ||||
|       MetaPlugin        *plugin = l->data; | ||||
|       MetaPluginClass   *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|       if (!meta_plugin_disabled (plugin) | ||||
|           && (meta_plugin_features (plugin) & META_PLUGIN_SWITCH_WORKSPACE) | ||||
| 	  && klass->kill_switch_workspace) | ||||
|         klass->kill_switch_workspace (plugin); | ||||
|  | ||||
|       l = l->next; | ||||
|     } | ||||
| } | ||||
|  | ||||
| /* | ||||
|  * Public method that the compositor hooks into for events that require | ||||
|  * no additional parameters. | ||||
|  * | ||||
|  * Returns TRUE if the plugin handled the event type (i.e., | ||||
|  * Returns TRUE if at least one of the plugins 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. | ||||
| @@ -139,48 +246,60 @@ meta_plugin_manager_event_simple (MetaPluginManager *plugin_mgr, | ||||
|                                   MetaWindowActor   *actor, | ||||
|                                   unsigned long      event) | ||||
| { | ||||
|   MetaPlugin *plugin = plugin_mgr->plugin; | ||||
|   MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|   MetaDisplay *display  = meta_screen_get_display (plugin_mgr->screen); | ||||
|   GList *l = plugin_mgr->plugins; | ||||
|   gboolean retval = FALSE; | ||||
|   MetaDisplay *display  = meta_screen_get_display (plugin_mgr->screen); | ||||
|  | ||||
|   if (display->display_opening) | ||||
|     return FALSE; | ||||
|  | ||||
|   switch (event) | ||||
|   while (l) | ||||
|     { | ||||
|     case META_PLUGIN_MINIMIZE: | ||||
|       if (klass->minimize) | ||||
|         { | ||||
|           retval = TRUE; | ||||
|           meta_plugin_manager_kill_window_effects (plugin_mgr, | ||||
|                                                    actor); | ||||
|       MetaPlugin        *plugin = l->data; | ||||
|       MetaPluginClass   *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|           _meta_plugin_effect_started (plugin); | ||||
|           klass->minimize (plugin, actor); | ||||
|         } | ||||
|       break; | ||||
|     case META_PLUGIN_MAP: | ||||
|       if (klass->map) | ||||
|       if (!meta_plugin_disabled (plugin) && | ||||
|           (meta_plugin_features (plugin) & event)) | ||||
|         { | ||||
|           retval = TRUE; | ||||
|           meta_plugin_manager_kill_window_effects (plugin_mgr, | ||||
|                                                    actor); | ||||
|  | ||||
|           _meta_plugin_effect_started (plugin); | ||||
|           klass->map (plugin, actor); | ||||
|           switch (event) | ||||
|             { | ||||
|             case META_PLUGIN_MINIMIZE: | ||||
|               if (klass->minimize) | ||||
|                 { | ||||
|                   meta_plugin_manager_kill_window_effects ( | ||||
| 		      plugin_mgr, | ||||
| 		      actor); | ||||
|  | ||||
|                   _meta_plugin_effect_started (plugin); | ||||
|                   klass->minimize (plugin, actor); | ||||
|                 } | ||||
|               break; | ||||
|             case META_PLUGIN_MAP: | ||||
|               if (klass->map) | ||||
|                 { | ||||
|                   meta_plugin_manager_kill_window_effects ( | ||||
| 		      plugin_mgr, | ||||
| 		      actor); | ||||
|  | ||||
|                   _meta_plugin_effect_started (plugin); | ||||
|                   klass->map (plugin, actor); | ||||
|                 } | ||||
|               break; | ||||
|             case META_PLUGIN_DESTROY: | ||||
|               if (klass->destroy) | ||||
|                 { | ||||
|                   _meta_plugin_effect_started (plugin); | ||||
|                   klass->destroy (plugin, actor); | ||||
|                 } | ||||
|               break; | ||||
|             default: | ||||
|               g_warning ("Incorrect handler called for event %lu", event); | ||||
|             } | ||||
|         } | ||||
|       break; | ||||
|     case META_PLUGIN_DESTROY: | ||||
|       if (klass->destroy) | ||||
|         { | ||||
|           retval = TRUE; | ||||
|           _meta_plugin_effect_started (plugin); | ||||
|           klass->destroy (plugin, actor); | ||||
|         } | ||||
|       break; | ||||
|     default: | ||||
|       g_warning ("Incorrect handler called for event %lu", event); | ||||
|  | ||||
|       l = l->next; | ||||
|     } | ||||
|  | ||||
|   return retval; | ||||
| @@ -190,7 +309,7 @@ meta_plugin_manager_event_simple (MetaPluginManager *plugin_mgr, | ||||
|  * The public method that the compositor hooks into for maximize and unmaximize | ||||
|  * events. | ||||
|  * | ||||
|  * Returns TRUE if the plugin handled the event type (i.e., | ||||
|  * Returns TRUE if at least one of the plugins 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. | ||||
| @@ -204,44 +323,57 @@ meta_plugin_manager_event_maximize (MetaPluginManager *plugin_mgr, | ||||
|                                     gint               target_width, | ||||
|                                     gint               target_height) | ||||
| { | ||||
|   MetaPlugin *plugin = plugin_mgr->plugin; | ||||
|   MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|   MetaDisplay *display = meta_screen_get_display (plugin_mgr->screen); | ||||
|   GList *l = plugin_mgr->plugins; | ||||
|   gboolean retval = FALSE; | ||||
|   MetaDisplay *display  = meta_screen_get_display (plugin_mgr->screen); | ||||
|  | ||||
|   if (display->display_opening) | ||||
|     return FALSE; | ||||
|  | ||||
|   switch (event) | ||||
|   while (l) | ||||
|     { | ||||
|     case META_PLUGIN_MAXIMIZE: | ||||
|       if (klass->maximize) | ||||
|       MetaPlugin        *plugin = l->data; | ||||
|       MetaPluginClass   *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|       if (!meta_plugin_disabled (plugin) && | ||||
|           (meta_plugin_features (plugin) & event)) | ||||
|         { | ||||
|           retval = TRUE; | ||||
|           meta_plugin_manager_kill_window_effects (plugin_mgr, | ||||
|                                                    actor); | ||||
|  | ||||
|           _meta_plugin_effect_started (plugin); | ||||
|           klass->maximize (plugin, actor, | ||||
|                            target_x, target_y, | ||||
|                            target_width, target_height); | ||||
|         } | ||||
|       break; | ||||
|     case META_PLUGIN_UNMAXIMIZE: | ||||
|       if (klass->unmaximize) | ||||
|         { | ||||
|           retval = TRUE; | ||||
|           meta_plugin_manager_kill_window_effects (plugin_mgr, | ||||
|                                                    actor); | ||||
|           switch (event) | ||||
|             { | ||||
|             case META_PLUGIN_MAXIMIZE: | ||||
|               if (klass->maximize) | ||||
|                 { | ||||
|                   meta_plugin_manager_kill_window_effects ( | ||||
| 		      plugin_mgr, | ||||
| 		      actor); | ||||
|  | ||||
|           _meta_plugin_effect_started (plugin); | ||||
|           klass->unmaximize (plugin, actor, | ||||
|                              target_x, target_y, | ||||
|                              target_width, target_height); | ||||
|                   _meta_plugin_effect_started (plugin); | ||||
|                   klass->maximize (plugin, actor, | ||||
|                                    target_x, target_y, | ||||
|                                    target_width, target_height); | ||||
|                 } | ||||
|               break; | ||||
|             case META_PLUGIN_UNMAXIMIZE: | ||||
|               if (klass->unmaximize) | ||||
|                 { | ||||
|                   meta_plugin_manager_kill_window_effects ( | ||||
| 		      plugin_mgr, | ||||
| 		      actor); | ||||
|  | ||||
|                   _meta_plugin_effect_started (plugin); | ||||
|                   klass->unmaximize (plugin, actor, | ||||
|                                      target_x, target_y, | ||||
|                                      target_width, target_height); | ||||
|                 } | ||||
|               break; | ||||
|             default: | ||||
|               g_warning ("Incorrect handler called for event %lu", event); | ||||
|             } | ||||
|         } | ||||
|       break; | ||||
|     default: | ||||
|       g_warning ("Incorrect handler called for event %lu", event); | ||||
|  | ||||
|       l = l->next; | ||||
|     } | ||||
|  | ||||
|   return retval; | ||||
| @@ -250,7 +382,7 @@ meta_plugin_manager_event_maximize (MetaPluginManager *plugin_mgr, | ||||
| /* | ||||
|  * The public method that the compositor hooks into for desktop switching. | ||||
|  * | ||||
|  * Returns TRUE if the plugin handled the event type (i.e., | ||||
|  * Returns TRUE if at least one of the plugins 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. | ||||
| @@ -261,43 +393,41 @@ meta_plugin_manager_switch_workspace (MetaPluginManager   *plugin_mgr, | ||||
|                                       gint                 to, | ||||
|                                       MetaMotionDirection  direction) | ||||
| { | ||||
|   MetaPlugin *plugin = plugin_mgr->plugin; | ||||
|   MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|   MetaDisplay *display = meta_screen_get_display (plugin_mgr->screen); | ||||
|   GList *l = plugin_mgr->plugins; | ||||
|   gboolean retval = FALSE; | ||||
|   MetaDisplay *display  = meta_screen_get_display (plugin_mgr->screen); | ||||
|  | ||||
|   if (display->display_opening) | ||||
|     return FALSE; | ||||
|  | ||||
|   if (klass->switch_workspace) | ||||
|   while (l) | ||||
|     { | ||||
|       retval = TRUE; | ||||
|       meta_plugin_manager_kill_switch_workspace (plugin_mgr); | ||||
|       MetaPlugin        *plugin = l->data; | ||||
|       MetaPluginClass   *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|       _meta_plugin_effect_started (plugin); | ||||
|       klass->switch_workspace (plugin, from, to, direction); | ||||
|       if (!meta_plugin_disabled (plugin) && | ||||
|           (meta_plugin_features (plugin) & META_PLUGIN_SWITCH_WORKSPACE)) | ||||
|         { | ||||
|           if (klass->switch_workspace) | ||||
|             { | ||||
|               retval = TRUE; | ||||
|               meta_plugin_manager_kill_switch_workspace (plugin_mgr); | ||||
|  | ||||
|               _meta_plugin_effect_started (plugin); | ||||
|               klass->switch_workspace (plugin, from, to, direction); | ||||
|             } | ||||
|         } | ||||
|  | ||||
|       l = l->next; | ||||
|     } | ||||
|  | ||||
|   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., | ||||
|  * Returns TRUE if at least one of the plugins 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. | ||||
| @@ -306,17 +436,49 @@ gboolean | ||||
| meta_plugin_manager_xevent_filter (MetaPluginManager *plugin_mgr, | ||||
|                                    XEvent            *xev) | ||||
| { | ||||
|   MetaPlugin *plugin = plugin_mgr->plugin; | ||||
|   MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|   GList *l; | ||||
|   gboolean have_plugin_xevent_func; | ||||
|  | ||||
|   if (!plugin_mgr) | ||||
|     return FALSE; | ||||
|  | ||||
|   l = plugin_mgr->plugins; | ||||
|  | ||||
|   /* 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. | ||||
|    * | ||||
|    * What happens if there are two plugins with xevent_filter functions | ||||
|    * is undefined; in general, multiple competing plugins are something | ||||
|    * we don't support well or care much about. | ||||
|    * | ||||
|    * FIXME: Really, we should just always handle sending the event to | ||||
|    *  clutter if a plugin doesn't report the event as handled by | ||||
|    *  returning TRUE, but it doesn't seem worth breaking compatibility | ||||
|    *  of the plugin interface right now to achieve this; the way it is | ||||
|    *  now works fine in practice. | ||||
|    */ | ||||
|   if (klass->xevent_filter) | ||||
|     return klass->xevent_filter (plugin, xev); | ||||
|   else | ||||
|   have_plugin_xevent_func = FALSE; | ||||
|  | ||||
|   while (l) | ||||
|     { | ||||
|       MetaPlugin      *plugin = l->data; | ||||
|       MetaPluginClass *klass = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|       if (klass->xevent_filter) | ||||
|         { | ||||
|           have_plugin_xevent_func = TRUE; | ||||
|           if (klass->xevent_filter (plugin, xev) == TRUE) | ||||
|             return TRUE; | ||||
|         } | ||||
|  | ||||
|       l = l->next; | ||||
|     } | ||||
|  | ||||
|   if (!have_plugin_xevent_func) | ||||
|     return clutter_x11_handle_event (xev) != CLUTTER_X11_FILTER_CONTINUE; | ||||
|  | ||||
|   return FALSE; | ||||
| } | ||||
|   | ||||
| @@ -46,9 +46,14 @@ | ||||
|  */ | ||||
| typedef struct MetaPluginManager MetaPluginManager; | ||||
|  | ||||
| MetaPluginManager * meta_plugin_manager_new (MetaScreen *screen); | ||||
| MetaPluginManager * meta_plugin_manager_get         (MetaScreen *screen); | ||||
| MetaPluginManager * meta_plugin_manager_get_default (void); | ||||
|  | ||||
| void     meta_plugin_manager_load         (const gchar       *plugin_name); | ||||
| void     meta_plugin_manager_load         (MetaPluginManager *mgr, | ||||
|                                            const gchar       *plugin_name); | ||||
| void     meta_plugin_manager_register     (MetaPluginManager *mgr, | ||||
|                                            GType              plugin_type); | ||||
| void     meta_plugin_manager_initialize   (MetaPluginManager *mgr); | ||||
|  | ||||
| gboolean meta_plugin_manager_event_simple (MetaPluginManager *mgr, | ||||
|                                            MetaWindowActor   *actor, | ||||
| @@ -61,15 +66,16 @@ gboolean meta_plugin_manager_event_maximize    (MetaPluginManager *mgr, | ||||
|                                                 gint               target_y, | ||||
|                                                 gint               target_width, | ||||
|                                                 gint               target_height); | ||||
| void     meta_plugin_manager_update_workspaces (MetaPluginManager *mgr); | ||||
|  | ||||
| void meta_plugin_manager_update_workspace (MetaPluginManager *mgr, | ||||
|                                            MetaWorkspace     *w); | ||||
|  | ||||
| gboolean meta_plugin_manager_switch_workspace (MetaPluginManager   *mgr, | ||||
|                                                gint                 from, | ||||
|                                                gint                 to, | ||||
|                                                MetaMotionDirection  direction); | ||||
|  | ||||
| gboolean meta_plugin_manager_filter_keybinding (MetaPluginManager  *mgr, | ||||
|                                                 MetaKeyBinding     *binding); | ||||
|  | ||||
| gboolean meta_plugin_manager_xevent_filter (MetaPluginManager *mgr, | ||||
|                                             XEvent            *xev); | ||||
|  | ||||
|   | ||||
| @@ -44,17 +44,74 @@ enum | ||||
| { | ||||
|   PROP_0, | ||||
|   PROP_SCREEN, | ||||
|   PROP_FEATURES, | ||||
|   PROP_DISABLED, | ||||
|   PROP_DEBUG_MODE, | ||||
| }; | ||||
|  | ||||
| struct _MetaPluginPrivate | ||||
| { | ||||
|   MetaScreen   *screen; | ||||
|   gulong        features; | ||||
|  | ||||
|   gint          running; | ||||
|  | ||||
|   gboolean      disabled : 1; | ||||
|   gboolean      debug    : 1; | ||||
| }; | ||||
|  | ||||
| static void | ||||
| meta_plugin_set_features (MetaPlugin *plugin) | ||||
| { | ||||
|   MetaPluginPrivate  *priv     = plugin->priv; | ||||
|   MetaPluginClass    *klass    = META_PLUGIN_GET_CLASS (plugin); | ||||
|  | ||||
|   priv->features = 0; | ||||
|  | ||||
|   /* | ||||
|    * Feature flags: identify events that the plugin can handle; a plugin can | ||||
|    * handle one or more events. | ||||
|    */ | ||||
|   if (klass->minimize) | ||||
|     priv->features |= META_PLUGIN_MINIMIZE; | ||||
|  | ||||
|   if (klass->maximize) | ||||
|     priv->features |= META_PLUGIN_MAXIMIZE; | ||||
|  | ||||
|   if (klass->unmaximize) | ||||
|     priv->features |= META_PLUGIN_UNMAXIMIZE; | ||||
|  | ||||
|   if (klass->map) | ||||
|     priv->features |= META_PLUGIN_MAP; | ||||
|  | ||||
|   if (klass->destroy) | ||||
|     priv->features |= META_PLUGIN_DESTROY; | ||||
|  | ||||
|   if (klass->switch_workspace) | ||||
|     priv->features |= META_PLUGIN_SWITCH_WORKSPACE; | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_plugin_constructed (GObject *object) | ||||
| { | ||||
|   meta_plugin_set_features (META_PLUGIN (object)); | ||||
|  | ||||
|   if (G_OBJECT_CLASS (meta_plugin_parent_class)->constructed) | ||||
|       G_OBJECT_CLASS (meta_plugin_parent_class)->constructed (object); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_plugin_dispose (GObject *object) | ||||
| { | ||||
|   G_OBJECT_CLASS (meta_plugin_parent_class)->dispose (object); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_plugin_finalize (GObject *object) | ||||
| { | ||||
|   G_OBJECT_CLASS (meta_plugin_parent_class)->finalize (object); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_plugin_set_property (GObject      *object, | ||||
|                           guint         prop_id, | ||||
| @@ -68,6 +125,9 @@ meta_plugin_set_property (GObject      *object, | ||||
|     case PROP_SCREEN: | ||||
|       priv->screen = g_value_get_object (value); | ||||
|       break; | ||||
|     case PROP_DISABLED: | ||||
|       priv->disabled = g_value_get_boolean (value); | ||||
|       break; | ||||
|     case PROP_DEBUG_MODE: | ||||
|       priv->debug = g_value_get_boolean (value); | ||||
|       break; | ||||
| @@ -90,9 +150,15 @@ meta_plugin_get_property (GObject    *object, | ||||
|     case PROP_SCREEN: | ||||
|       g_value_set_object (value, priv->screen); | ||||
|       break; | ||||
|     case PROP_DISABLED: | ||||
|       g_value_set_boolean (value, priv->disabled); | ||||
|       break; | ||||
|     case PROP_DEBUG_MODE: | ||||
|       g_value_set_boolean (value, priv->debug); | ||||
|       break; | ||||
|     case PROP_FEATURES: | ||||
|       g_value_set_ulong (value, priv->features); | ||||
|       break; | ||||
|     default: | ||||
|       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); | ||||
|       break; | ||||
| @@ -105,6 +171,9 @@ meta_plugin_class_init (MetaPluginClass *klass) | ||||
| { | ||||
|   GObjectClass      *gobject_class = G_OBJECT_CLASS (klass); | ||||
|  | ||||
|   gobject_class->constructed     = meta_plugin_constructed; | ||||
|   gobject_class->finalize        = meta_plugin_finalize; | ||||
|   gobject_class->dispose         = meta_plugin_dispose; | ||||
|   gobject_class->set_property    = meta_plugin_set_property; | ||||
|   gobject_class->get_property    = meta_plugin_get_property; | ||||
|  | ||||
| @@ -116,6 +185,22 @@ meta_plugin_class_init (MetaPluginClass *klass) | ||||
|                                                         META_TYPE_SCREEN, | ||||
|                                                         G_PARAM_READWRITE)); | ||||
|  | ||||
|   g_object_class_install_property (gobject_class, | ||||
| 				   PROP_FEATURES, | ||||
| 				   g_param_spec_ulong ("features", | ||||
|                                                        "Features", | ||||
|                                                        "Plugin Features", | ||||
|                                                        0 , G_MAXULONG, 0, | ||||
|                                                        G_PARAM_READABLE)); | ||||
|  | ||||
|   g_object_class_install_property (gobject_class, | ||||
| 				   PROP_DISABLED, | ||||
| 				   g_param_spec_boolean ("disabled", | ||||
|                                                       "Plugin disabled", | ||||
|                                                       "Plugin disabled", | ||||
|                                                       FALSE, | ||||
|                                                       G_PARAM_READWRITE)); | ||||
|  | ||||
|   g_object_class_install_property (gobject_class, | ||||
| 				   PROP_DEBUG_MODE, | ||||
| 				   g_param_spec_boolean ("debug-mode", | ||||
| @@ -135,6 +220,22 @@ meta_plugin_init (MetaPlugin *self) | ||||
|   self->priv = priv = META_PLUGIN_GET_PRIVATE (self); | ||||
| } | ||||
|  | ||||
| gulong | ||||
| meta_plugin_features (MetaPlugin *plugin) | ||||
| { | ||||
|   MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; | ||||
|  | ||||
|   return priv->features; | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_plugin_disabled (MetaPlugin *plugin) | ||||
| { | ||||
|   MetaPluginPrivate *priv = META_PLUGIN (plugin)->priv; | ||||
|  | ||||
|   return priv->disabled; | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_plugin_running  (MetaPlugin *plugin) | ||||
| { | ||||
| @@ -295,7 +396,7 @@ meta_plugin_begin_modal (MetaPlugin       *plugin, | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_plugin_end_modal: | ||||
|  * meta_plugin_end_modal | ||||
|  * @plugin: a #MetaPlugin | ||||
|  * @timestamp: the time used for releasing grabs | ||||
|  * | ||||
| @@ -331,3 +432,19 @@ meta_plugin_get_screen (MetaPlugin *plugin) | ||||
|  | ||||
|   return priv->screen; | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_plugin_type_register: | ||||
|  * @plugin_type: a #MetaPlugin type | ||||
|  * | ||||
|  * Register @plugin_type as a compositor plugin type to be used. | ||||
|  * You must call this before calling meta_init(). | ||||
|  */ | ||||
| void | ||||
| meta_plugin_type_register (GType plugin_type) | ||||
| { | ||||
|   MetaPluginManager *plugin_manager; | ||||
|  | ||||
|   plugin_manager = meta_plugin_manager_get_default (); | ||||
|   meta_plugin_manager_register (plugin_manager, plugin_type); | ||||
| } | ||||
|   | ||||
| @@ -130,7 +130,7 @@ MetaShadowClassInfo default_shadow_classes[] = { | ||||
|   { "popup-menu",    { 1, -1, 0, 1, 128 }, { 1, -1, 0, 1, 128 } }, | ||||
|  | ||||
|   { "dropdown-menu", { 1, 10, 0, 1, 128 }, { 1, 10, 0, 1, 128 } }, | ||||
|   { "attached",      { 1, -1, 0, 1, 128 }, { 1, -1, 0, 1, 128 } } | ||||
|   { "attached",      { 2, 50, 0, 1, 255 }, { 1, 50, 0, 1, 128 } } | ||||
| }; | ||||
|  | ||||
| G_DEFINE_TYPE (MetaShadowFactory, meta_shadow_factory, G_TYPE_OBJECT); | ||||
|   | ||||
| @@ -1,13 +1,11 @@ | ||||
| /* | ||||
|  * shaped texture | ||||
|  * | ||||
|  * An actor to draw a masked texture. | ||||
|  * An actor to draw a texture clipped to a list of rectangles | ||||
|  * | ||||
|  * Authored By Neil Roberts  <neil@linux.intel.com> | ||||
|  * and Jasper St. Pierre <jstpierre@mecheye.net> | ||||
|  * | ||||
|  * Copyright (C) 2008 Intel Corporation | ||||
|  * Copyright (C) 2012 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 | ||||
| @@ -27,13 +25,18 @@ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #define CLUTTER_ENABLE_EXPERIMENTAL_API | ||||
| #define COGL_ENABLE_EXPERIMENTAL_API | ||||
|  | ||||
| #include <meta/meta-shaped-texture.h> | ||||
| #include "meta-texture-tower.h" | ||||
| #include "meta-texture-rectangle.h" | ||||
|  | ||||
| #include <clutter/clutter.h> | ||||
| #include <cogl/cogl.h> | ||||
| #include <cogl/cogl-texture-pixmap-x11.h> | ||||
| #include <gdk/gdk.h> /* for gdk_rectangle_intersect() */ | ||||
| #include <string.h> | ||||
|  | ||||
| static void meta_shaped_texture_dispose  (GObject    *object); | ||||
|  | ||||
| @@ -51,6 +54,8 @@ static void meta_shaped_texture_get_preferred_height (ClutterActor *self, | ||||
|                                                       gfloat       *min_height_p, | ||||
|                                                       gfloat       *natural_height_p); | ||||
|  | ||||
| static void meta_shaped_texture_dirty_mask (MetaShapedTexture *stex); | ||||
|  | ||||
| static gboolean meta_shaped_texture_get_paint_volume (ClutterActor *self, ClutterPaintVolume *volume); | ||||
|  | ||||
| G_DEFINE_TYPE (MetaShapedTexture, meta_shaped_texture, | ||||
| @@ -70,8 +75,13 @@ struct _MetaShapedTexturePrivate | ||||
|   CoglHandle material_unshaped; | ||||
|  | ||||
|   cairo_region_t *clip_region; | ||||
|   cairo_region_t *shape_region; | ||||
|  | ||||
|   cairo_region_t *overlay_region; | ||||
|   cairo_path_t *overlay_path; | ||||
|  | ||||
|   guint tex_width, tex_height; | ||||
|   guint mask_width, mask_height; | ||||
|  | ||||
|   guint create_mipmaps : 1; | ||||
| }; | ||||
| @@ -100,6 +110,9 @@ meta_shaped_texture_init (MetaShapedTexture *self) | ||||
|  | ||||
|   priv = self->priv = META_SHAPED_TEXTURE_GET_PRIVATE (self); | ||||
|  | ||||
|   priv->shape_region = NULL; | ||||
|   priv->overlay_path = NULL; | ||||
|   priv->overlay_region = NULL; | ||||
|   priv->paint_tower = meta_texture_tower_new (); | ||||
|   priv->texture = COGL_INVALID_HANDLE; | ||||
|   priv->mask_texture = COGL_INVALID_HANDLE; | ||||
| @@ -116,6 +129,8 @@ meta_shaped_texture_dispose (GObject *object) | ||||
|     meta_texture_tower_free (priv->paint_tower); | ||||
|   priv->paint_tower = NULL; | ||||
|  | ||||
|   meta_shaped_texture_dirty_mask (self); | ||||
|  | ||||
|   if (priv->material != COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       cogl_handle_unref (priv->material); | ||||
| @@ -132,12 +147,186 @@ meta_shaped_texture_dispose (GObject *object) | ||||
|       priv->texture = COGL_INVALID_HANDLE; | ||||
|     } | ||||
|  | ||||
|   meta_shaped_texture_set_mask_texture (self, COGL_INVALID_HANDLE); | ||||
|   meta_shaped_texture_set_shape_region (self, NULL); | ||||
|   meta_shaped_texture_set_clip_region (self, NULL); | ||||
|   meta_shaped_texture_set_overlay_path (self, NULL, NULL); | ||||
|  | ||||
|   G_OBJECT_CLASS (meta_shaped_texture_parent_class)->dispose (object); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_shaped_texture_dirty_mask (MetaShapedTexture *stex) | ||||
| { | ||||
|   MetaShapedTexturePrivate *priv = stex->priv; | ||||
|  | ||||
|   if (priv->mask_texture != COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       cogl_handle_unref (priv->mask_texture); | ||||
|       priv->mask_texture = COGL_INVALID_HANDLE; | ||||
|     } | ||||
|  | ||||
|   if (priv->material != COGL_INVALID_HANDLE) | ||||
|     cogl_material_set_layer (priv->material, 1, COGL_INVALID_HANDLE); | ||||
| } | ||||
|  | ||||
| static void | ||||
| install_overlay_path (MetaShapedTexture *stex, | ||||
|                       guchar            *mask_data, | ||||
|                       int                tex_width, | ||||
|                       int                tex_height, | ||||
|                       int                stride) | ||||
| { | ||||
|   MetaShapedTexturePrivate *priv = stex->priv; | ||||
|   int i, n_rects; | ||||
|   cairo_t *cr; | ||||
|   cairo_rectangle_int_t rect; | ||||
|   cairo_surface_t *surface; | ||||
|  | ||||
|   if (priv->overlay_region == NULL) | ||||
|     return; | ||||
|  | ||||
|   surface = cairo_image_surface_create_for_data (mask_data, | ||||
|                                                  CAIRO_FORMAT_A8, | ||||
|                                                  tex_width, | ||||
|                                                  tex_height, | ||||
|                                                  stride); | ||||
|  | ||||
|   cr = cairo_create (surface); | ||||
|   cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR); | ||||
|  | ||||
|   n_rects = cairo_region_num_rectangles (priv->overlay_region); | ||||
|   for (i = 0; i < n_rects; i++) | ||||
|     { | ||||
|       cairo_region_get_rectangle (priv->overlay_region, i, &rect); | ||||
|       cairo_rectangle (cr, rect.x, rect.y, rect.width, rect.height); | ||||
|     } | ||||
|  | ||||
|   cairo_fill_preserve (cr); | ||||
|   if (priv->overlay_path == NULL) | ||||
|     { | ||||
|       /* If we have an overlay region but not an overlay path, then we | ||||
|        * just need to clear the rectangles in the overlay region. */ | ||||
|       goto out; | ||||
|     } | ||||
|  | ||||
|   cairo_clip (cr); | ||||
|  | ||||
|   cairo_set_operator (cr, CAIRO_OPERATOR_OVER); | ||||
|   cairo_set_source_rgba (cr, 1, 1, 1, 1); | ||||
|  | ||||
|   cairo_append_path (cr, priv->overlay_path); | ||||
|   cairo_fill (cr); | ||||
|  | ||||
|  out: | ||||
|   cairo_destroy (cr); | ||||
|   cairo_surface_destroy (surface); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_shaped_texture_ensure_mask (MetaShapedTexture *stex) | ||||
| { | ||||
|   MetaShapedTexturePrivate *priv = stex->priv; | ||||
|   CoglHandle paint_tex; | ||||
|   guint tex_width, tex_height; | ||||
|  | ||||
|   paint_tex = priv->texture; | ||||
|  | ||||
|   if (paint_tex == COGL_INVALID_HANDLE) | ||||
|     return; | ||||
|  | ||||
|   tex_width = cogl_texture_get_width (paint_tex); | ||||
|   tex_height = cogl_texture_get_height (paint_tex); | ||||
|  | ||||
|   /* If the mask texture we have was created for a different size then | ||||
|      recreate it */ | ||||
|   if (priv->mask_texture != COGL_INVALID_HANDLE | ||||
|       && (priv->mask_width != tex_width || priv->mask_height != tex_height)) | ||||
|     meta_shaped_texture_dirty_mask (stex); | ||||
|  | ||||
|   /* If we don't have a mask texture yet then create one */ | ||||
|   if (priv->mask_texture == COGL_INVALID_HANDLE) | ||||
|     { | ||||
|       guchar *mask_data; | ||||
|       int i; | ||||
|       int n_rects; | ||||
|       int stride; | ||||
|       GLenum paint_gl_target; | ||||
|  | ||||
|       /* If we have no shape region and no (or an empty) overlay region, we | ||||
|        * don't need to create a full mask texture, so quit early. */ | ||||
|       if (priv->shape_region == NULL && | ||||
|           (priv->overlay_region == NULL || | ||||
|            cairo_region_num_rectangles (priv->overlay_region) == 0)) | ||||
|         { | ||||
|           return; | ||||
|         } | ||||
|  | ||||
|       stride = cairo_format_stride_for_width (CAIRO_FORMAT_A8, tex_width); | ||||
|  | ||||
|       /* Create data for an empty image */ | ||||
|       mask_data = g_malloc0 (stride * tex_height); | ||||
|  | ||||
|       n_rects = cairo_region_num_rectangles (priv->shape_region); | ||||
|  | ||||
|       /* Fill in each rectangle. */ | ||||
|       for (i = 0; i < n_rects; i ++) | ||||
|         { | ||||
|           cairo_rectangle_int_t rect; | ||||
|           cairo_region_get_rectangle (priv->shape_region, i, &rect); | ||||
|  | ||||
|           gint x1 = rect.x, x2 = x1 + rect.width; | ||||
|           gint y1 = rect.y, y2 = y1 + rect.height; | ||||
|           guchar *p; | ||||
|  | ||||
|           /* Clip the rectangle to the size of the texture */ | ||||
|           x1 = CLAMP (x1, 0, (gint) tex_width - 1); | ||||
|           x2 = CLAMP (x2, x1, (gint) tex_width); | ||||
|           y1 = CLAMP (y1, 0, (gint) tex_height - 1); | ||||
|           y2 = CLAMP (y2, y1, (gint) tex_height); | ||||
|  | ||||
|           /* Fill the rectangle */ | ||||
|           for (p = mask_data + y1 * stride + x1; | ||||
|                y1 < y2; | ||||
|                y1++, p += stride) | ||||
|             memset (p, 255, x2 - x1); | ||||
|         } | ||||
|  | ||||
|       install_overlay_path (stex, mask_data, tex_width, tex_height, stride); | ||||
|  | ||||
|       cogl_texture_get_gl_texture (paint_tex, NULL, &paint_gl_target); | ||||
|  | ||||
| #ifdef GL_TEXTURE_RECTANGLE_ARB | ||||
|       if (paint_gl_target == GL_TEXTURE_RECTANGLE_ARB) | ||||
|         { | ||||
|           priv->mask_texture | ||||
|             = meta_texture_rectangle_new (tex_width, tex_height, | ||||
|                                           0, /* flags */ | ||||
|                                           /* data format */ | ||||
|                                           COGL_PIXEL_FORMAT_A_8, | ||||
|                                           /* internal GL format */ | ||||
|                                           GL_ALPHA, | ||||
|                                           /* internal cogl format */ | ||||
|                                           COGL_PIXEL_FORMAT_A_8, | ||||
|                                           /* rowstride */ | ||||
|                                           stride, | ||||
|                                           mask_data); | ||||
|         } | ||||
|       else | ||||
| #endif /* GL_TEXTURE_RECTANGLE_ARB */ | ||||
|         priv->mask_texture = cogl_texture_new_from_data (tex_width, tex_height, | ||||
|                                                          COGL_TEXTURE_NONE, | ||||
|                                                          COGL_PIXEL_FORMAT_A_8, | ||||
|                                                          COGL_PIXEL_FORMAT_ANY, | ||||
|                                                          stride, | ||||
|                                                          mask_data); | ||||
|  | ||||
|       g_free (mask_data); | ||||
|  | ||||
|       priv->mask_width = tex_width; | ||||
|       priv->mask_height = tex_height; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_shaped_texture_paint (ClutterActor *actor) | ||||
| { | ||||
| @@ -187,9 +376,9 @@ meta_shaped_texture_paint (ClutterActor *actor) | ||||
|   if (tex_width == 0 || tex_height == 0) /* no contents yet */ | ||||
|     return; | ||||
|  | ||||
|   if (priv->mask_texture == COGL_INVALID_HANDLE) | ||||
|   if (priv->shape_region == NULL) | ||||
|     { | ||||
|       /* Use a single-layer texture if we don't have a mask. */ | ||||
|       /* No region means an unclipped shape. Use a single-layer texture. */ | ||||
|  | ||||
|       if (priv->material_unshaped == COGL_INVALID_HANDLE)  | ||||
|         { | ||||
| @@ -202,6 +391,8 @@ meta_shaped_texture_paint (ClutterActor *actor) | ||||
|     } | ||||
|   else | ||||
|     { | ||||
|       meta_shaped_texture_ensure_mask (stex); | ||||
|  | ||||
|       if (priv->material == COGL_INVALID_HANDLE) | ||||
| 	{ | ||||
| 	   if (G_UNLIKELY (material_template == COGL_INVALID_HANDLE)) | ||||
| @@ -292,7 +483,7 @@ meta_shaped_texture_pick (ClutterActor       *actor, | ||||
|   MetaShapedTexturePrivate *priv = stex->priv; | ||||
|  | ||||
|   /* If there is no region then use the regular pick */ | ||||
|   if (priv->mask_texture == COGL_INVALID_HANDLE) | ||||
|   if (priv->shape_region == NULL) | ||||
|     CLUTTER_ACTOR_CLASS (meta_shaped_texture_parent_class) | ||||
|       ->pick (actor, color); | ||||
|   else if (clutter_actor_should_pick_paint (actor)) | ||||
| @@ -312,6 +503,8 @@ meta_shaped_texture_pick (ClutterActor       *actor, | ||||
|       if (tex_width == 0 || tex_height == 0) /* no contents yet */ | ||||
|         return; | ||||
|  | ||||
|       meta_shaped_texture_ensure_mask (stex); | ||||
|  | ||||
|       cogl_set_source_color4ub (color->red, color->green, color->blue, | ||||
|                                  color->alpha); | ||||
|  | ||||
| @@ -402,8 +595,8 @@ meta_shaped_texture_set_create_mipmaps (MetaShapedTexture *stex, | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_shaped_texture_set_mask_texture (MetaShapedTexture *stex, | ||||
|                                       CoglHandle         mask_texture) | ||||
| meta_shaped_texture_set_shape_region (MetaShapedTexture *stex, | ||||
|                                       cairo_region_t    *region) | ||||
| { | ||||
|   MetaShapedTexturePrivate *priv; | ||||
|  | ||||
| @@ -411,18 +604,19 @@ meta_shaped_texture_set_mask_texture (MetaShapedTexture *stex, | ||||
|  | ||||
|   priv = stex->priv; | ||||
|  | ||||
|   if (priv->mask_texture != COGL_INVALID_HANDLE) | ||||
|   if (priv->shape_region != NULL) | ||||
|     { | ||||
|       cogl_handle_unref (priv->mask_texture); | ||||
|       priv->mask_texture = COGL_INVALID_HANDLE; | ||||
|       cairo_region_destroy (priv->shape_region); | ||||
|       priv->shape_region = NULL; | ||||
|     } | ||||
|  | ||||
|   if (mask_texture != COGL_INVALID_HANDLE) | ||||
|   if (region != NULL) | ||||
|     { | ||||
|       priv->mask_texture = mask_texture; | ||||
|       cogl_handle_ref (priv->mask_texture); | ||||
|       cairo_region_reference (region); | ||||
|       priv->shape_region = region; | ||||
|     } | ||||
|  | ||||
|   meta_shaped_texture_dirty_mask (stex); | ||||
|   clutter_actor_queue_redraw (CLUTTER_ACTOR (stex)); | ||||
| } | ||||
|  | ||||
| @@ -541,6 +735,48 @@ meta_shaped_texture_get_texture (MetaShapedTexture *stex) | ||||
|   return stex->priv->texture; | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_shaped_texture_set_overlay_path: | ||||
|  * @stex: a #MetaShapedTexture | ||||
|  * @overlay_region: A region containing the parts of the mask to overlay. | ||||
|  *   All rectangles in this region are wiped clear to full transparency, | ||||
|  *   and the overlay path is clipped to this region. | ||||
|  * @overlay_path: (transfer full): This path will be painted onto the mask | ||||
|  *   texture with a fully opaque source. Due to the lack of refcounting | ||||
|  *   in #cairo_path_t, ownership of the path is assumed. | ||||
|  */ | ||||
| void | ||||
| meta_shaped_texture_set_overlay_path (MetaShapedTexture *stex, | ||||
|                                       cairo_region_t    *overlay_region, | ||||
|                                       cairo_path_t      *overlay_path) | ||||
| { | ||||
|   MetaShapedTexturePrivate *priv; | ||||
|  | ||||
|   g_return_if_fail (META_IS_SHAPED_TEXTURE (stex)); | ||||
|  | ||||
|   priv = stex->priv; | ||||
|  | ||||
|   if (priv->overlay_region != NULL) | ||||
|     { | ||||
|       cairo_region_destroy (priv->overlay_region); | ||||
|       priv->overlay_region = NULL; | ||||
|     } | ||||
|  | ||||
|   if (priv->overlay_path != NULL) | ||||
|     { | ||||
|       cairo_path_destroy (priv->overlay_path); | ||||
|       priv->overlay_path = NULL; | ||||
|     } | ||||
|  | ||||
|   cairo_region_reference (overlay_region); | ||||
|   priv->overlay_region = overlay_region; | ||||
|  | ||||
|   /* cairo_path_t does not have refcounting. */ | ||||
|   priv->overlay_path = overlay_path; | ||||
|  | ||||
|   meta_shaped_texture_dirty_mask (stex); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_shaped_texture_set_clip_region: | ||||
|  * @stex: a #MetaShapedTexture | ||||
|   | ||||
| @@ -5,7 +5,7 @@ | ||||
|  * | ||||
|  * Authored By Neil Roberts  <neil@linux.intel.com> | ||||
|  * | ||||
|  * Copyright (C) 2011, 2012 Intel Corporation | ||||
|  * Copyright (C) 2011 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 | ||||
| @@ -25,74 +25,94 @@ | ||||
|  | ||||
| #include <config.h> | ||||
|  | ||||
| #include <clutter/clutter.h> | ||||
| #include "meta-texture-rectangle.h" | ||||
|  | ||||
| CoglTexture * | ||||
| #ifdef GL_TEXTURE_RECTANGLE_ARB | ||||
|  | ||||
| static void (* pf_glGetIntegerv) (GLenum pname, GLint *params); | ||||
| static void (* pf_glTexImage2D) (GLenum target, GLint level, | ||||
|                                  GLint internalFormat, | ||||
|                                  GLsizei width, GLsizei height, | ||||
|                                  GLint border, GLenum format, GLenum type, | ||||
|                                  const GLvoid *pixels); | ||||
| static void (* pf_glGenTextures) (GLsizei n, GLuint *textures); | ||||
| static void (* pf_glDeleteTextures) (GLsizei n, const GLuint *texture); | ||||
| static void (* pf_glBindTexture) (GLenum target, GLuint texture); | ||||
|  | ||||
| static void | ||||
| rectangle_texture_destroy_cb (void *user_data) | ||||
| { | ||||
|   GLuint tex = GPOINTER_TO_UINT (user_data); | ||||
|  | ||||
|   pf_glDeleteTextures (1, &tex); | ||||
| } | ||||
|  | ||||
| #endif /* GL_TEXTURE_RECTANGLE_ARB */ | ||||
|  | ||||
| CoglHandle | ||||
| meta_texture_rectangle_new (unsigned int width, | ||||
|                             unsigned int height, | ||||
|                             CoglTextureFlags flags, | ||||
|                             CoglPixelFormat format, | ||||
|                             CoglPixelFormat internal_format, | ||||
|                             GLenum internal_gl_format, | ||||
|                             GLenum internal_format, | ||||
|                             unsigned int rowstride, | ||||
|                             const guint8 *data, | ||||
|                             GError **error) | ||||
|                             const guint8 *data) | ||||
| { | ||||
|   ClutterBackend *backend = | ||||
|     clutter_get_default_backend (); | ||||
|   CoglContext *context = | ||||
|     clutter_backend_get_cogl_context (backend); | ||||
|   CoglTextureRectangle *tex_rect; | ||||
|   CoglHandle cogl_tex = COGL_INVALID_HANDLE; | ||||
|  | ||||
|   tex_rect = cogl_texture_rectangle_new_with_size (context, | ||||
|                                                    width, height, | ||||
|                                                    internal_format, | ||||
|                                                    error); | ||||
|   if (tex_rect == NULL) | ||||
|     return NULL; | ||||
| #ifdef GL_TEXTURE_RECTANGLE_ARB | ||||
|  | ||||
|   static CoglUserDataKey user_data_key; | ||||
|   GLint old_binding; | ||||
|   GLuint tex; | ||||
|  | ||||
|   if (pf_glGenTextures == NULL) | ||||
|     { | ||||
|       pf_glGetIntegerv = (void *) cogl_get_proc_address ("glGetIntegerv"); | ||||
|       pf_glTexImage2D = (void *) cogl_get_proc_address ("glTexImage2D"); | ||||
|       pf_glGenTextures = (void *) cogl_get_proc_address ("glGenTextures"); | ||||
|       pf_glDeleteTextures = (void *) cogl_get_proc_address ("glDeleteTextures"); | ||||
|       pf_glBindTexture = (void *) cogl_get_proc_address ("glBindTexture"); | ||||
|     } | ||||
|  | ||||
|   pf_glGenTextures (1, &tex); | ||||
|   pf_glGetIntegerv (GL_TEXTURE_BINDING_RECTANGLE_ARB, &old_binding); | ||||
|   pf_glBindTexture (GL_TEXTURE_RECTANGLE_ARB, tex); | ||||
|   pf_glTexImage2D (GL_TEXTURE_RECTANGLE_ARB, 0, | ||||
|                    internal_gl_format, width, height, | ||||
|                    0, internal_gl_format, | ||||
|                    GL_UNSIGNED_BYTE, NULL); | ||||
|   pf_glBindTexture (GL_TEXTURE_RECTANGLE_ARB, old_binding); | ||||
|  | ||||
|   cogl_tex = cogl_texture_new_from_foreign (tex, | ||||
|                                             GL_TEXTURE_RECTANGLE_ARB, | ||||
|                                             width, height, | ||||
|                                             0, 0, /* no waste */ | ||||
|                                             internal_format); | ||||
|  | ||||
|   /* Cogl won't destroy the GL texture when a foreign texture is used | ||||
|      so we need to destroy it manually. We can set a destroy | ||||
|      notification callback to do this transparently */ | ||||
|   cogl_object_set_user_data (cogl_tex, | ||||
|                              &user_data_key, | ||||
|                              GUINT_TO_POINTER (tex), | ||||
|                              rectangle_texture_destroy_cb); | ||||
|  | ||||
|   /* Use cogl_texture_set_region instead of uploading the data | ||||
|      directly with GL calls so that we can let Cogl deal with setting | ||||
|      the pixel store parameters and handling format conversion */ | ||||
|   if (data) | ||||
|     cogl_texture_set_region (COGL_TEXTURE (tex_rect), | ||||
|                              0, 0, /* src_x/y */ | ||||
|                              0, 0, /* dst_x/y */ | ||||
|                              width, height, /* dst_width/height */ | ||||
|                              width, height, /* width/height */ | ||||
|     cogl_texture_set_region (cogl_tex, | ||||
|                              0, 0, /* src x/y */ | ||||
|                              0, 0, /* dst x/y */ | ||||
|                              width, height, /* dst width/height */ | ||||
|                              width, height, /* src width/height */ | ||||
|                              format, | ||||
|                              rowstride, | ||||
|                              data); | ||||
|  | ||||
|   return COGL_TEXTURE (tex_rect); | ||||
| } | ||||
|  | ||||
| static void | ||||
| texture_rectangle_check_cb (CoglTexture *sub_texture, | ||||
|                             const float *sub_texture_coords, | ||||
|                             const float *meta_coords, | ||||
|                             void *user_data) | ||||
| { | ||||
|   gboolean *result = user_data; | ||||
|  | ||||
|   if (cogl_is_texture_rectangle (sub_texture)) | ||||
|     *result = TRUE; | ||||
| } | ||||
|  | ||||
| /* Determines if the given texture is using a rectangle texture as its | ||||
|  * primitive texture type. Eventually this function could be replaced | ||||
|  * with cogl_texture_get_type if Cogl makes that public. | ||||
|  * | ||||
|  * http://git.gnome.org/browse/cogl/commit/?h=8012eee31 | ||||
|  */ | ||||
| gboolean | ||||
| meta_texture_rectangle_check (CoglTexture *texture) | ||||
| { | ||||
|   gboolean result = FALSE; | ||||
|  | ||||
|   cogl_meta_texture_foreach_in_region (COGL_META_TEXTURE (texture), | ||||
|                                        0.0f, 0.0f, /* tx_1 / ty_1 */ | ||||
|                                        1.0f, 1.0f, /* tx_2 / ty_2 */ | ||||
|                                        COGL_PIPELINE_WRAP_MODE_REPEAT, | ||||
|                                        COGL_PIPELINE_WRAP_MODE_REPEAT, | ||||
|                                        texture_rectangle_check_cb, | ||||
|                                        &result); | ||||
|  | ||||
|   return result; | ||||
| #endif /* GL_TEXTURE_RECTANGLE_ARB */ | ||||
|  | ||||
|   return cogl_tex; | ||||
| } | ||||
|   | ||||
| @@ -30,17 +30,15 @@ | ||||
|  | ||||
| G_BEGIN_DECLS | ||||
|  | ||||
| CoglTexture * | ||||
| CoglHandle | ||||
| meta_texture_rectangle_new (unsigned int width, | ||||
|                             unsigned int height, | ||||
|                             CoglTextureFlags flags, | ||||
|                             CoglPixelFormat format, | ||||
|                             CoglPixelFormat internal_format, | ||||
|                             GLenum internal_gl_format, | ||||
|                             GLenum internal_format, | ||||
|                             unsigned int rowstride, | ||||
|                             const guint8 *data, | ||||
|                             GError **error); | ||||
|  | ||||
| gboolean | ||||
| meta_texture_rectangle_check (CoglTexture *texture); | ||||
|                             const guint8 *data); | ||||
|  | ||||
| G_END_DECLS | ||||
|  | ||||
|   | ||||
| @@ -98,6 +98,18 @@ meta_texture_tower_free (MetaTextureTower *tower) | ||||
|   g_slice_free (MetaTextureTower, tower); | ||||
| } | ||||
|  | ||||
| #ifdef GL_TEXTURE_RECTANGLE_ARB | ||||
| static gboolean | ||||
| texture_is_rectangle (CoglHandle texture) | ||||
| { | ||||
|   GLuint gl_tex; | ||||
|   GLenum gl_target; | ||||
|  | ||||
|   cogl_texture_get_gl_texture (texture, &gl_tex, &gl_target); | ||||
|   return gl_target == GL_TEXTURE_RECTANGLE_ARB; | ||||
| } | ||||
| #endif /* GL_TEXTURE_RECTANGLE_ARB */ | ||||
|  | ||||
| /** | ||||
|  * meta_texture_tower_set_base_texture: | ||||
|  * @tower: a #MetaTextureTower | ||||
| @@ -342,11 +354,13 @@ get_paint_level (int width, int height) | ||||
|     return (int)(0.5 + lambda); | ||||
| } | ||||
|  | ||||
| #ifdef GL_TEXTURE_RECTANGLE_ARB | ||||
| static gboolean | ||||
| is_power_of_two (int x) | ||||
| { | ||||
|   return (x & (x - 1)) == 0; | ||||
| } | ||||
| #endif /* GL_TEXTURE_RECTANGLE_ARB */ | ||||
|  | ||||
| static void | ||||
| texture_tower_create_texture (MetaTextureTower *tower, | ||||
| @@ -354,23 +368,25 @@ texture_tower_create_texture (MetaTextureTower *tower, | ||||
|                               int               width, | ||||
|                               int               height) | ||||
| { | ||||
| #ifdef GL_TEXTURE_RECTANGLE_ARB | ||||
|   if ((!is_power_of_two (width) || !is_power_of_two (height)) && | ||||
|       meta_texture_rectangle_check (tower->textures[level - 1])) | ||||
|       texture_is_rectangle (tower->textures[level - 1])) | ||||
|     { | ||||
|       tower->textures[level] = | ||||
|         meta_texture_rectangle_new (width, height, | ||||
|                                     0, /* flags */ | ||||
|                                     /* data format */ | ||||
|                                     TEXTURE_FORMAT, | ||||
|                                     /* internal GL format */ | ||||
|                                     GL_RGBA, | ||||
|                                     /* internal cogl format */ | ||||
|                                     TEXTURE_FORMAT, | ||||
|                                     /* rowstride */ | ||||
|                                     width * 4, | ||||
|                                     /* data */ | ||||
|                                     NULL, | ||||
|                                     /* error */ | ||||
|                                     NULL); | ||||
|     } | ||||
|   else | ||||
| #endif /* GL_TEXTURE_RECTANGLE_ARB */ | ||||
|     { | ||||
|       tower->textures[level] = cogl_texture_new_with_size (width, height, | ||||
|                                                            COGL_TEXTURE_NO_AUTO_MIPMAP, | ||||
| @@ -546,7 +562,7 @@ texture_tower_revalidate_client (MetaTextureTower *tower, | ||||
|                            4 * dest_width, | ||||
|                            dest_data); | ||||
|  | ||||
|   if (dest_texture_height < source_texture_height) | ||||
|   if (dest_height < source_texture_height) | ||||
|     { | ||||
|       g_free (source_tmp1); | ||||
|       g_free (source_tmp2); | ||||
|   | ||||
| @@ -28,10 +28,6 @@ void meta_window_actor_process_damage (MetaWindowActor    *self, | ||||
|                                        XDamageNotifyEvent *event); | ||||
|  | ||||
| void meta_window_actor_pre_paint      (MetaWindowActor    *self); | ||||
| void meta_window_actor_post_paint     (MetaWindowActor    *self); | ||||
| void meta_window_actor_frame_complete (MetaWindowActor    *self, | ||||
|                                        CoglFrameInfo      *frame_info, | ||||
|                                        gint64              presentation_time); | ||||
|  | ||||
| void meta_window_actor_invalidate_shadow (MetaWindowActor *self); | ||||
|  | ||||
| @@ -49,8 +45,6 @@ void     meta_window_actor_update_shape        (MetaWindowActor *self); | ||||
| void     meta_window_actor_update_opacity      (MetaWindowActor *self); | ||||
| void     meta_window_actor_mapped              (MetaWindowActor *self); | ||||
| void     meta_window_actor_unmapped            (MetaWindowActor *self); | ||||
| void     meta_window_actor_set_updates_frozen  (MetaWindowActor *self, | ||||
|                                                 gboolean         updates_frozen); | ||||
|  | ||||
| cairo_region_t *meta_window_actor_get_obscured_region (MetaWindowActor *self); | ||||
|  | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -26,28 +26,9 @@ struct _MetaWindowGroup | ||||
|  | ||||
| G_DEFINE_TYPE (MetaWindowGroup, meta_window_group, CLUTTER_TYPE_GROUP); | ||||
|  | ||||
| /* This file uses pixel-aligned region computation to determine what | ||||
|  * can be clipped out. This only really works if everything is aligned | ||||
|  * to the pixel grid - not scaled or rotated and at integer offsets. | ||||
|  * | ||||
|  * (This could be relaxed - if we turned off filtering for unscaled | ||||
|  * windows then windows would be, by definition aligned to the pixel | ||||
|  * grid. And for rectangular windows without a shape, the outline that | ||||
|  * we draw for an unrotated window is always a rectangle because we | ||||
|  * don't use antialasing for the window boundary - with or without | ||||
|  * filtering, with or without a scale. But figuring out exactly | ||||
|  * what pixels will be drawn by the graphics system in these cases | ||||
|  * gets tricky, so we just go for the easiest part - no scale, | ||||
|  * and at integer offsets.) | ||||
|  * | ||||
|  * The way we check for pixel-aligned is by looking at the | ||||
|  * transformation into screen space of the allocation box of an actor | ||||
|  * and and checking if the corners are "close enough" to integral | ||||
|  * pixel values. | ||||
|  */ | ||||
|  | ||||
| /* The definition of "close enough" to integral pixel values is | ||||
|  * equality when we convert to 24.8 fixed-point. | ||||
| /* We want to find out if the window is "close enough" to | ||||
|  * 1:1 transform. We do that by converting the transformed coordinates | ||||
|  * to 24.8 fixed-point before checking if they look right. | ||||
|  */ | ||||
| static inline int | ||||
| round_to_fixed (float x) | ||||
| @@ -55,24 +36,41 @@ 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. | ||||
| /* We can only (easily) apply our logic for figuring out what a window | ||||
|  * obscures if is not transformed. This function does that check and | ||||
|  * as a side effect gets the position of the upper-left corner of the | ||||
|  * actors. | ||||
|  * | ||||
|  * (We actually could handle scaled and non-integrally positioned actors | ||||
|  * too as long as they weren't shaped - no filtering is done at the | ||||
|  * edges so a rectangle stays a rectangle. But the gain from that is | ||||
|  * small, especally since most of our windows are shaped. The simple | ||||
|  * case we handle here is the case that matters when the user is just | ||||
|  * using the desktop normally.) | ||||
|  * | ||||
|  * If we assume that the window group is untransformed (it better not | ||||
|  * be!) then we could also make this determination by checking directly | ||||
|  * if the actor itself is rotated, scaled, or at a non-integral position. | ||||
|  * However, the criterion for "close enough" in that case get trickier, | ||||
|  * since, for example, the allowed rotation depends on the size of | ||||
|  * actor. The approach we take here is to just require everything | ||||
|  * to be within 1/256th of a pixel. | ||||
|  */ | ||||
| static gboolean | ||||
| vertices_are_untransformed (ClutterVertex *verts, | ||||
|                             float          widthf, | ||||
|                             float          heightf, | ||||
|                             int           *x_origin, | ||||
|                             int           *y_origin) | ||||
| actor_is_untransformed (ClutterActor *actor, | ||||
|                         int          *x_origin, | ||||
|                         int          *y_origin) | ||||
| { | ||||
|   gfloat widthf, heightf; | ||||
|   int width, height; | ||||
|   ClutterVertex verts[4]; | ||||
|   int v0x, v0y, v1x, v1y, v2x, v2y, v3x, v3y; | ||||
|   int x, y; | ||||
|  | ||||
|   clutter_actor_get_size (actor, &widthf, &heightf); | ||||
|   width = round_to_fixed (widthf); height = round_to_fixed (heightf); | ||||
|  | ||||
|   clutter_actor_get_abs_allocation_vertices (actor, verts); | ||||
|   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); | ||||
| @@ -103,118 +101,23 @@ vertices_are_untransformed (ClutterVertex *verts, | ||||
|   return TRUE; | ||||
| } | ||||
|  | ||||
| /* Check if an actor is "untransformed" - which actually means transformed by | ||||
|  * at most a integer-translation. The integer translation, if any, is returned. | ||||
|  */ | ||||
| static gboolean | ||||
| actor_is_untransformed (ClutterActor *actor, | ||||
|                         int          *x_origin, | ||||
|                         int          *y_origin) | ||||
| { | ||||
|   gfloat widthf, heightf; | ||||
|   ClutterVertex verts[4]; | ||||
|  | ||||
|   clutter_actor_get_size (actor, &widthf, &heightf); | ||||
|   clutter_actor_get_abs_allocation_vertices (actor, verts); | ||||
|  | ||||
|   return vertices_are_untransformed (verts, widthf, heightf, x_origin, y_origin); | ||||
| } | ||||
|  | ||||
| /* Help macros to scale from OpenGL <-1,1> coordinates system to | ||||
|  * window coordinates ranging [0,window-size]. Borrowed from clutter-utils.c | ||||
|  */ | ||||
| #define MTX_GL_SCALE_X(x,w,v1,v2) ((((((x) / (w)) + 1.0f) / 2.0f) * (v1)) + (v2)) | ||||
| #define MTX_GL_SCALE_Y(y,w,v1,v2) ((v1) - (((((y) / (w)) + 1.0f) / 2.0f) * (v1)) + (v2)) | ||||
|  | ||||
| /* Check if we're painting the MetaWindowGroup "untransformed". This can | ||||
|  * differ from the result of actor_is_untransformed(window_group) if we're | ||||
|  * inside a clone paint. The integer translation, if any, is returned. | ||||
|  */ | ||||
| static gboolean | ||||
| painting_untransformed (MetaWindowGroup *window_group, | ||||
|                         int             *x_origin, | ||||
|                         int             *y_origin) | ||||
| { | ||||
|   CoglMatrix modelview, projection, modelview_projection; | ||||
|   ClutterVertex vertices[4]; | ||||
|   int width, height; | ||||
|   float viewport[4]; | ||||
|   int i; | ||||
|  | ||||
|   cogl_get_modelview_matrix (&modelview); | ||||
|   cogl_get_projection_matrix (&projection); | ||||
|  | ||||
|   cogl_matrix_multiply (&modelview_projection, | ||||
|                         &projection, | ||||
|                         &modelview); | ||||
|  | ||||
|   meta_screen_get_size (window_group->screen, &width, &height); | ||||
|  | ||||
|   vertices[0].x = 0; | ||||
|   vertices[0].y = 0; | ||||
|   vertices[0].z = 0; | ||||
|   vertices[1].x = width; | ||||
|   vertices[1].y = 0; | ||||
|   vertices[1].z = 0; | ||||
|   vertices[2].x = 0; | ||||
|   vertices[2].y = height; | ||||
|   vertices[2].z = 0; | ||||
|   vertices[3].x = width; | ||||
|   vertices[3].y = height; | ||||
|   vertices[3].z = 0; | ||||
|  | ||||
|   cogl_get_viewport (viewport); | ||||
|  | ||||
|   for (i = 0; i < 4; i++) | ||||
|     { | ||||
|       float w = 1; | ||||
|       cogl_matrix_transform_point (&modelview_projection, &vertices[i].x, &vertices[i].y, &vertices[i].z, &w); | ||||
|       vertices[i].x = MTX_GL_SCALE_X (vertices[i].x, w, | ||||
|                                       viewport[2], viewport[0]); | ||||
|       vertices[i].y = MTX_GL_SCALE_Y (vertices[i].y, w, | ||||
|                                       viewport[3], viewport[1]); | ||||
|     } | ||||
|  | ||||
|   return vertices_are_untransformed (vertices, width, height, x_origin, y_origin); | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_window_group_paint (ClutterActor *actor) | ||||
| { | ||||
|   cairo_region_t *visible_region; | ||||
|   cairo_region_t *unredirected_window_region = NULL; | ||||
|   ClutterActor *stage; | ||||
|   cairo_rectangle_int_t visible_rect; | ||||
|   cairo_rectangle_int_t visible_rect, unredirected_rect; | ||||
|   GList *children, *l; | ||||
|   int paint_x_origin, paint_y_origin; | ||||
|   int actor_x_origin, actor_y_origin; | ||||
|   int paint_x_offset, paint_y_offset; | ||||
|  | ||||
|   MetaWindowGroup *window_group = META_WINDOW_GROUP (actor); | ||||
|   MetaCompScreen *info = meta_screen_get_compositor_data (window_group->screen); | ||||
|  | ||||
|   /* Normally we expect an actor to be drawn at it's position on the screen. | ||||
|    * However, if we're inside the paint of a ClutterClone, that won't be the | ||||
|    * case and we need to compensate. We look at the position of the window | ||||
|    * group under the current model-view matrix and the position of the actor. | ||||
|    * If they are both simply integer translations, then we can compensate | ||||
|    * easily, otherwise we give up. | ||||
|    * | ||||
|    * Possible cleanup: work entirely in paint space - we can compute the | ||||
|    * combination of the model-view matrix with the local matrix for each child | ||||
|    * actor and get a total transformation for that actor for how we are | ||||
|    * painting currently, and never worry about how actors are positioned | ||||
|    * on the stage. | ||||
|    */ | ||||
|   if (!painting_untransformed (window_group, &paint_x_origin, &paint_y_origin) || | ||||
|       !actor_is_untransformed (actor, &actor_x_origin, &actor_y_origin)) | ||||
|   if (info->unredirected_window != NULL) | ||||
|     { | ||||
|       CLUTTER_ACTOR_CLASS (meta_window_group_parent_class)->paint (actor); | ||||
|       return; | ||||
|       meta_window_actor_get_shape_bounds (META_WINDOW_ACTOR (info->unredirected_window), &unredirected_rect); | ||||
|       unredirected_window_region = cairo_region_create_rectangle (&unredirected_rect); | ||||
|     } | ||||
|  | ||||
|   paint_x_offset = paint_x_origin - actor_x_origin; | ||||
|   paint_y_offset = paint_y_origin - actor_y_origin; | ||||
|  | ||||
|   /* We walk the list from top to bottom (opposite of painting order), | ||||
|    * and subtract the opaque area of each window out of the visible | ||||
|    * region that we pass to the windows below. | ||||
| @@ -234,23 +137,14 @@ meta_window_group_paint (ClutterActor *actor) | ||||
|  | ||||
|   visible_region = cairo_region_create_rectangle (&visible_rect); | ||||
|  | ||||
|   if (info->unredirected_window != NULL) | ||||
|     { | ||||
|       cairo_rectangle_int_t unredirected_rect; | ||||
|       MetaWindow *window = meta_window_actor_get_meta_window (info->unredirected_window); | ||||
|  | ||||
|       meta_window_get_outer_rect (window, (MetaRectangle *)&unredirected_rect); | ||||
|       cairo_region_subtract_rectangle (visible_region, &unredirected_rect); | ||||
|     } | ||||
|   if (unredirected_window_region) | ||||
|     cairo_region_subtract (visible_region, unredirected_window_region); | ||||
|  | ||||
|   for (l = children; l; l = l->next) | ||||
|     { | ||||
|       if (!CLUTTER_ACTOR_IS_VISIBLE (l->data)) | ||||
|         continue; | ||||
|  | ||||
|       if (l->data == info->unredirected_window) | ||||
|         continue; | ||||
|  | ||||
|       /* If an actor has effects applied, then that can change the area | ||||
|        * it paints and the opacity, so we no longer can figure out what | ||||
|        * portion of the actor is obscured and what portion of the screen | ||||
| @@ -278,9 +172,6 @@ meta_window_group_paint (ClutterActor *actor) | ||||
|           if (!actor_is_untransformed (CLUTTER_ACTOR (window_actor), &x, &y)) | ||||
|             continue; | ||||
|  | ||||
|           x += paint_x_offset; | ||||
|           y += paint_y_offset; | ||||
|  | ||||
|           /* Temporarily move to the coordinate system of the actor */ | ||||
|           cairo_region_translate (visible_region, - x, - y); | ||||
|  | ||||
| @@ -299,22 +190,15 @@ meta_window_group_paint (ClutterActor *actor) | ||||
|       else if (META_IS_BACKGROUND_ACTOR (l->data)) | ||||
|         { | ||||
|           MetaBackgroundActor *background_actor = l->data; | ||||
|           int x, y; | ||||
|  | ||||
|           if (!actor_is_untransformed (CLUTTER_ACTOR (background_actor), &x, &y)) | ||||
|             continue; | ||||
|  | ||||
|           x += paint_x_offset; | ||||
|           y += paint_y_offset; | ||||
|  | ||||
|           cairo_region_translate (visible_region, - x, - y); | ||||
|           meta_background_actor_set_visible_region (background_actor, visible_region); | ||||
|           cairo_region_translate (visible_region, x, y); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   cairo_region_destroy (visible_region); | ||||
|  | ||||
|   if (unredirected_window_region) | ||||
|     cairo_region_destroy (unredirected_window_region); | ||||
|  | ||||
|   CLUTTER_ACTOR_CLASS (meta_window_group_parent_class)->paint (actor); | ||||
|  | ||||
|   /* Now that we are done painting, unset the visible regions (they will | ||||
| @@ -325,6 +209,7 @@ meta_window_group_paint (ClutterActor *actor) | ||||
|       if (META_IS_WINDOW_ACTOR (l->data)) | ||||
|         { | ||||
|           MetaWindowActor *window_actor = l->data; | ||||
|           window_actor = l->data; | ||||
|           meta_window_actor_reset_visible_regions (window_actor); | ||||
|         } | ||||
|       else if (META_IS_BACKGROUND_ACTOR (l->data)) | ||||
|   | ||||
| @@ -112,6 +112,8 @@ struct _MetaDefaultPluginPrivate | ||||
|   ClutterActor          *desktop2; | ||||
|  | ||||
|   MetaPluginInfo         info; | ||||
|  | ||||
|   gboolean               debug_mode : 1; | ||||
| }; | ||||
|  | ||||
| /* | ||||
| @@ -180,6 +182,34 @@ meta_default_plugin_get_property (GObject    *object, | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| start (MetaPlugin *plugin) | ||||
| { | ||||
|   MetaDefaultPluginPrivate *priv   = META_DEFAULT_PLUGIN (plugin)->priv; | ||||
|  | ||||
|   guint destroy_timeout  = DESTROY_TIMEOUT; | ||||
|   guint minimize_timeout = MINIMIZE_TIMEOUT; | ||||
|   guint maximize_timeout = MAXIMIZE_TIMEOUT; | ||||
|   guint map_timeout      = MAP_TIMEOUT; | ||||
|   guint switch_timeout   = SWITCH_TIMEOUT; | ||||
|  | ||||
|   if (meta_plugin_debug_mode (plugin)) | ||||
|     { | ||||
|       g_debug ("Plugin %s: Entering debug mode.", priv->info.name); | ||||
|  | ||||
|       priv->debug_mode = TRUE; | ||||
|  | ||||
|       /* | ||||
|        * Double the effect duration to make them easier to observe. | ||||
|        */ | ||||
|       destroy_timeout  *= 2; | ||||
|       minimize_timeout *= 2; | ||||
|       maximize_timeout *= 2; | ||||
|       map_timeout      *= 2; | ||||
|       switch_timeout   *= 2; | ||||
|     } | ||||
| } | ||||
|  | ||||
| static void | ||||
| meta_default_plugin_class_init (MetaDefaultPluginClass *klass) | ||||
| { | ||||
| @@ -191,6 +221,7 @@ meta_default_plugin_class_init (MetaDefaultPluginClass *klass) | ||||
|   gobject_class->set_property    = meta_default_plugin_set_property; | ||||
|   gobject_class->get_property    = meta_default_plugin_get_property; | ||||
|  | ||||
|   plugin_class->start            = start; | ||||
|   plugin_class->map              = map; | ||||
|   plugin_class->minimize         = minimize; | ||||
|   plugin_class->maximize         = maximize; | ||||
|   | ||||
| @@ -43,17 +43,34 @@ | ||||
| /* Optimium performance seems to be with MAX_CHUNK_RECTANGLES=4; 8 is about 10% slower. | ||||
|  * But using 8 may be more robust to systems with slow malloc(). */ | ||||
| #define MAX_CHUNK_RECTANGLES 8 | ||||
| #define MAX_LEVELS 16 | ||||
|  | ||||
| void | ||||
| typedef struct | ||||
| { | ||||
|   /* To merge regions in binary tree order, we need to keep track of | ||||
|    * the regions that we've already merged together at different | ||||
|    * levels of the tree. We fill in an array in the pattern: | ||||
|    * | ||||
|    * |a  | | ||||
|    * |b  |a  | | ||||
|    * |c  |   |ab | | ||||
|    * |d  |c  |ab | | ||||
|    * |e  |   |   |abcd| | ||||
|    */ | ||||
|   cairo_region_t *levels[MAX_LEVELS]; | ||||
|   int n_levels; | ||||
| } MetaRegionBuilder; | ||||
|  | ||||
| static void | ||||
| meta_region_builder_init (MetaRegionBuilder *builder) | ||||
| { | ||||
|   int i; | ||||
|   for (i = 0; i < META_REGION_BUILDER_MAX_LEVELS; i++) | ||||
|   for (i = 0; i < MAX_LEVELS; i++) | ||||
|     builder->levels[i] = NULL; | ||||
|   builder->n_levels = 1; | ||||
| } | ||||
|  | ||||
| void | ||||
| static void | ||||
| meta_region_builder_add_rectangle (MetaRegionBuilder *builder, | ||||
|                                    int                x, | ||||
|                                    int                y, | ||||
| @@ -78,7 +95,7 @@ meta_region_builder_add_rectangle (MetaRegionBuilder *builder, | ||||
|         { | ||||
|           if (builder->levels[i] == NULL) | ||||
|             { | ||||
|               if (i < META_REGION_BUILDER_MAX_LEVELS) | ||||
|               if (i < MAX_LEVELS) | ||||
|                 { | ||||
|                   builder->levels[i] = builder->levels[i - 1]; | ||||
|                   builder->levels[i - 1] = NULL; | ||||
| @@ -98,7 +115,7 @@ meta_region_builder_add_rectangle (MetaRegionBuilder *builder, | ||||
|     } | ||||
| } | ||||
|  | ||||
| cairo_region_t * | ||||
| static cairo_region_t * | ||||
| meta_region_builder_finish (MetaRegionBuilder *builder) | ||||
| { | ||||
|   cairo_region_t *result = NULL; | ||||
|   | ||||
| @@ -63,32 +63,6 @@ struct _MetaRegionIterator { | ||||
|   cairo_rectangle_int_t next_rectangle; | ||||
| }; | ||||
|  | ||||
| typedef struct _MetaRegionBuilder MetaRegionBuilder; | ||||
|  | ||||
| #define META_REGION_BUILDER_MAX_LEVELS 16 | ||||
| struct _MetaRegionBuilder { | ||||
|   /* To merge regions in binary tree order, we need to keep track of | ||||
|    * the regions that we've already merged together at different | ||||
|    * levels of the tree. We fill in an array in the pattern: | ||||
|    * | ||||
|    * |a  | | ||||
|    * |b  |a  | | ||||
|    * |c  |   |ab | | ||||
|    * |d  |c  |ab | | ||||
|    * |e  |   |   |abcd| | ||||
|    */ | ||||
|   cairo_region_t *levels[META_REGION_BUILDER_MAX_LEVELS]; | ||||
|   int n_levels; | ||||
| }; | ||||
|  | ||||
| void     meta_region_builder_init       (MetaRegionBuilder *builder); | ||||
| void     meta_region_builder_add_rectangle (MetaRegionBuilder *builder, | ||||
|                                             int                x, | ||||
|                                             int                y, | ||||
|                                             int                width, | ||||
|                                             int                height); | ||||
| cairo_region_t * meta_region_builder_finish (MetaRegionBuilder *builder); | ||||
|  | ||||
| void     meta_region_iterator_init      (MetaRegionIterator *iter, | ||||
|                                          cairo_region_t     *region); | ||||
| gboolean meta_region_iterator_at_end    (MetaRegionIterator *iter); | ||||
|   | ||||
| @@ -23,8 +23,7 @@ | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * SECTION:Bell | ||||
|  * @short_description: Ring the bell or flash the screen | ||||
|  * \file bell.c Ring the bell or flash the screen | ||||
|  * | ||||
|  * Sometimes, X programs "ring the bell", whatever that means. Mutter lets | ||||
|  * the user configure the bell to be audible or visible (aka visual), and | ||||
| @@ -58,10 +57,6 @@ | ||||
| #endif | ||||
|  | ||||
| /** | ||||
|  * bell_flash_screen: | ||||
|  * @display:  The display which owns the screen (rather redundant) | ||||
|  * @screen:   The screen to flash | ||||
|  * | ||||
|  * Flashes one entire screen.  This is done by making a window the size of the | ||||
|  * whole screen (or reusing the old one, if it's still around), mapping it, | ||||
|  * painting it white and then black, and then unmapping it. We set saveunder so | ||||
| @@ -70,12 +65,14 @@ | ||||
|  * Unlike frame flashes, we don't do fullscreen flashes with a timeout; rather, | ||||
|  * we do them in one go, because we don't have to rely on the theme code | ||||
|  * redrawing the frame for us in order to do the flash. | ||||
|  */ | ||||
| /* | ||||
|  * Bug: The way I read it, this appears not to do the flash | ||||
|  * | ||||
|  * \param display  The display which owns the screen (rather redundant) | ||||
|  * \param screen   The screen to flash | ||||
|  * | ||||
|  * \bug The way I read it, this appears not to do the flash | ||||
|  * the first time we flash a particular display. Am I wrong? | ||||
|  * | ||||
|  * Bug: This appears to destroy our current XSync status. | ||||
|  * \bug This appears to destroy our current XSync status. | ||||
|  */ | ||||
| static void | ||||
| bell_flash_screen (MetaDisplay *display,  | ||||
| @@ -140,15 +137,14 @@ bell_flash_screen (MetaDisplay *display, | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * bell_flash_fullscreen: | ||||
|  * @display: The display the event came in on | ||||
|  * @xkb_ev: The bell event | ||||
|  * | ||||
|  * Flashes one screen, or all screens, in response to a bell event. | ||||
|  * If the event is on a particular window, flash the screen that | ||||
|  * window is on. Otherwise, flash every screen on this display. | ||||
|  * | ||||
|  * If the configure script found we had no XKB, this does not exist. | ||||
|  * | ||||
|  * \param display  The display the event came in on | ||||
|  * \param xkb_ev   The bell event | ||||
|  */ | ||||
| #ifdef HAVE_XKB | ||||
| static void | ||||
| @@ -186,21 +182,17 @@ bell_flash_fullscreen (MetaDisplay *display, | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * bell_unflash_frame: | ||||
|  * @data: The frame to unflash, cast to a gpointer so it can go into | ||||
|  *        a callback function. | ||||
|  * | ||||
|  * Makes a frame be not flashed; this is the timeout half of | ||||
|  * bell_flash_window_frame(). This is done simply by clearing the | ||||
|  * flash flag and queuing a redraw of the frame. | ||||
|  * | ||||
|  * If the configure script found we had no XKB, this does not exist. | ||||
|  * | ||||
|  * Returns: Always FALSE, so we don't get called again. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * Bug: This is the parallel to bell_flash_window_frame(), so it should | ||||
|  * \param data  The frame to unflash, cast to a gpointer so it can go into | ||||
|  *              a callback function. | ||||
|  * \return Always FALSE, so we don't get called again. | ||||
|  * | ||||
|  * \bug This is the parallel to bell_flash_window_frame(), so it should | ||||
|  * really be called meta_bell_unflash_window_frame(). | ||||
|  */ | ||||
| static gboolean  | ||||
| @@ -213,9 +205,6 @@ bell_unflash_frame (gpointer data) | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * bell_flash_window_frame: | ||||
|  * @window: The window to flash | ||||
|  * | ||||
|  * Makes a frame flash and then return to normal shortly afterwards. | ||||
|  * This is done by setting a flag so that the theme | ||||
|  * code will temporarily draw the frame as focussed if it's unfocussed and | ||||
| @@ -223,6 +212,8 @@ bell_unflash_frame (gpointer data) | ||||
|  * that the flag can be unset and the frame re-redrawn. | ||||
|  * | ||||
|  * If the configure script found we had no XKB, this does not exist. | ||||
|  * | ||||
|  * \param window  The window to flash | ||||
|  */ | ||||
| static void | ||||
| bell_flash_window_frame (MetaWindow *window) | ||||
| @@ -240,12 +231,11 @@ bell_flash_window_frame (MetaWindow *window) | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * bell_flash_frame: | ||||
|  * @display:  The display the bell event came in on | ||||
|  * @xkb_ev:   The bell event we just received | ||||
|  * | ||||
|  * Flashes the frame of the focussed window. If there is no focussed window, | ||||
|  * flashes the screen. | ||||
|  * | ||||
|  * \param display  The display the bell event came in on | ||||
|  * \param xkb_ev   The bell event we just received | ||||
|  */ | ||||
| static void | ||||
| bell_flash_frame (MetaDisplay *display,  | ||||
| @@ -271,18 +261,15 @@ bell_flash_frame (MetaDisplay *display, | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * bell_visual_notify: | ||||
|  * @display: The display the bell event came in on | ||||
|  * @xkb_ev: The bell event we just received | ||||
|  * | ||||
|  * Gives the user some kind of visual bell substitute, in response to a | ||||
|  * bell event. What this is depends on the "visual bell type" pref. | ||||
|  * | ||||
|  * If the configure script found we had no XKB, this does not exist. | ||||
|  */ | ||||
|  | ||||
| /* | ||||
|  * Bug: This should be merged with meta_bell_notify(). | ||||
|  * | ||||
|  * \param display  The display the bell event came in on | ||||
|  * \param xkb_ev   The bell event we just received | ||||
|  * | ||||
|  * \bug This should be merged with meta_bell_notify(). | ||||
|  */ | ||||
| static void | ||||
| bell_visual_notify (MetaDisplay *display,  | ||||
| @@ -420,13 +407,12 @@ meta_bell_shutdown (MetaDisplay *display) | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_bell_notify_frame_destroy: | ||||
|  * @frame: The frame which is being destroyed | ||||
|  * | ||||
|  * Deals with a frame being destroyed. This is important because if we're | ||||
|  * using a visual bell, we might be flashing the edges of the frame, and | ||||
|  * so we'd have a timeout function waiting ready to un-flash them. If the | ||||
|  * frame's going away, we can tell the timeout not to bother. | ||||
|  * | ||||
|  * \param frame  The frame which is being destroyed | ||||
|  */ | ||||
| void | ||||
| meta_bell_notify_frame_destroy (MetaFrame *frame) | ||||
|   | ||||
| @@ -1,5 +1,17 @@ | ||||
| /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */ | ||||
|  | ||||
| /** | ||||
|  * \file bell.h Ring the bell or flash the screen | ||||
|  * | ||||
|  * Sometimes, X programs "ring the bell", whatever that means. Mutter lets | ||||
|  * the user configure the bell to be audible or visible (aka visual), and | ||||
|  * if it's visual it can be configured to be frame-flash or fullscreen-flash. | ||||
|  * We never get told about audible bells; X handles them just fine by itself. | ||||
|  * | ||||
|  * The visual bell was the result of a discussion in Bugzilla here: | ||||
|  * <http://bugzilla.gnome.org/show_bug.cgi?id=99886>. | ||||
|  */ | ||||
|  | ||||
| /*  | ||||
|  * Copyright (C) 2002 Sun Microsystems Inc. | ||||
|  *  | ||||
|   | ||||
| @@ -625,6 +625,7 @@ meta_rectangle_get_minimal_spanning_set_for_region ( | ||||
|   *temp_rect = *basic_rect; | ||||
|   ret = g_list_prepend (NULL, temp_rect); | ||||
|  | ||||
|   strut_iter = all_struts; | ||||
|   for (strut_iter = all_struts; strut_iter; strut_iter = strut_iter->next) | ||||
|     { | ||||
|       GList *rect_iter;  | ||||
|   | ||||
| @@ -119,7 +119,6 @@ typedef struct | ||||
|   MetaRectangle        orig; | ||||
|   MetaRectangle        current; | ||||
|   MetaFrameBorders    *borders; | ||||
|   gboolean             must_free_borders; | ||||
|   ActionType           action_type; | ||||
|   gboolean             is_user_action; | ||||
|  | ||||
| @@ -338,7 +337,7 @@ meta_window_constrain (MetaWindow          *window, | ||||
|    * not gobject-style--gobject would be more pain than it's worth) or | ||||
|    * smart pointers would be so much nicer here.  *shrug* | ||||
|    */ | ||||
|   if (info.must_free_borders) | ||||
|   if (!orig_borders) | ||||
|     g_free (info.borders); | ||||
| } | ||||
|  | ||||
| @@ -359,15 +358,9 @@ setup_constraint_info (ConstraintInfo      *info, | ||||
|  | ||||
|   /* Create a fake frame geometry if none really exists */ | ||||
|   if (orig_borders && !window->fullscreen) | ||||
|     { | ||||
|       info->borders = orig_borders; | ||||
|       info->must_free_borders = FALSE; | ||||
|     } | ||||
|     info->borders = orig_borders; | ||||
|   else | ||||
|     { | ||||
|       info->borders = g_new0 (MetaFrameBorders, 1); | ||||
|       info->must_free_borders = TRUE; | ||||
|     } | ||||
|     info->borders = g_new0 (MetaFrameBorders, 1); | ||||
|  | ||||
|   if (flags & META_IS_MOVE_ACTION && flags & META_IS_RESIZE_ACTION) | ||||
|     info->action_type = ACTION_MOVE_AND_RESIZE; | ||||
| @@ -769,12 +762,21 @@ constrain_modal_dialog (MetaWindow         *window, | ||||
|     return TRUE; | ||||
|  | ||||
|   x = parent->rect.x + (parent->rect.width / 2  - info->current.width / 2); | ||||
|   y = parent->rect.y + (parent->rect.height / 2 - info->current.height / 2); | ||||
|   y = 0; | ||||
|   if (parent->frame) | ||||
|     { | ||||
|       MetaFrameBorders borders; | ||||
|  | ||||
|       x += parent->frame->rect.x; | ||||
|       y += parent->frame->rect.y; | ||||
|  | ||||
|       meta_frame_calc_borders (parent->frame, &borders); | ||||
|       y += borders.total.top; | ||||
|  | ||||
|       y += info->borders->visible.top; | ||||
|     } | ||||
|   else | ||||
|     y = parent->rect.y + info->borders->visible.top; | ||||
|  | ||||
|   constraint_already_satisfied = (x == info->current.x) && (y == info->current.y); | ||||
|  | ||||
|   | ||||
| @@ -108,12 +108,13 @@ delete_ping_timeout_func (MetaDisplay *display, | ||||
|  | ||||
|   /* Translators: %s is a window title */ | ||||
|   if (window_title) | ||||
|     tmp = g_strdup_printf (_("“%s” is not responding."), window_title); | ||||
|     tmp = g_markup_printf_escaped (_("<tt>%s</tt> is not responding."), | ||||
|                                    window_title); | ||||
|   else | ||||
|     tmp = g_strdup (_("Application is not responding.")); | ||||
|  | ||||
|   window_content = g_strdup_printf ( | ||||
|       "<big><b>%s</b></big>\n\n%s", | ||||
|       "<big><b>%s</b></big>\n\n<i>%s</i>", | ||||
|       tmp, | ||||
|       _("You may choose to wait a short while for it to " | ||||
|         "continue or force the application to quit entirely.")); | ||||
| @@ -122,8 +123,7 @@ delete_ping_timeout_func (MetaDisplay *display, | ||||
|     meta_show_dialog ("--question", | ||||
|                       window_content, NULL, | ||||
|                       window->screen->screen_name, | ||||
|                       _("_Wait"), _("_Force Quit"), | ||||
|                       "face-sad-symbolic", window->xwindow, | ||||
|                       _("_Wait"), _("_Force Quit"), window->xwindow, | ||||
|                       NULL, NULL); | ||||
|  | ||||
|   g_free (window_content); | ||||
| @@ -133,18 +133,6 @@ delete_ping_timeout_func (MetaDisplay *display, | ||||
|   g_child_watch_add (dialog_pid, dialog_exited, window); | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_window_check_alive (MetaWindow *window, | ||||
|                          guint32     timestamp) | ||||
| { | ||||
|   meta_display_ping_window (window->display, | ||||
|                             window, | ||||
|                             timestamp, | ||||
|                             delete_ping_reply_func, | ||||
|                             delete_ping_timeout_func, | ||||
|                             window); | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_window_delete (MetaWindow  *window, | ||||
|                     guint32      timestamp) | ||||
| @@ -168,8 +156,13 @@ meta_window_delete (MetaWindow  *window, | ||||
|     } | ||||
|   meta_error_trap_pop (window->display); | ||||
|  | ||||
|   meta_window_check_alive (window, timestamp); | ||||
|  | ||||
|   meta_display_ping_window (window->display, | ||||
|                             window, | ||||
|                             timestamp, | ||||
|                             delete_ping_reply_func, | ||||
|                             delete_ping_timeout_func, | ||||
|                             window); | ||||
|    | ||||
|   if (window->has_focus) | ||||
|     { | ||||
|       /* FIXME Clean this up someday  | ||||
|   | ||||
| @@ -172,9 +172,6 @@ struct _MetaDisplay | ||||
|   /* Pings which we're waiting for a reply from */ | ||||
|   GSList     *pending_pings; | ||||
|  | ||||
|   /* Pending focus change */ | ||||
|   guint       focus_timeout_id; | ||||
|  | ||||
|   /* Pending autoraise */ | ||||
|   guint       autoraise_timeout_id; | ||||
|   MetaWindow* autoraise_window; | ||||
| @@ -211,7 +208,6 @@ struct _MetaDisplay | ||||
|   GList*      grab_old_window_stacking; | ||||
|   MetaEdgeResistanceData *grab_edge_resistance_data; | ||||
|   unsigned int grab_last_user_action_was_snap; | ||||
|   guint32     grab_timestamp; | ||||
|  | ||||
|   /* we use property updates as sentinels for certain window focus events | ||||
|    * to avoid some race conditions on EnterNotify events | ||||
| @@ -223,7 +219,8 @@ struct _MetaDisplay | ||||
|   guint32     last_bell_time; | ||||
| #endif | ||||
| #ifdef HAVE_XSYNC | ||||
|   gint64      grab_sync_counter_wait_serial; | ||||
|   /* alarm monitoring client's _NET_WM_SYNC_REQUEST_COUNTER */ | ||||
|   XSyncAlarm  grab_sync_request_alarm; | ||||
| #endif | ||||
|   int	      grab_resize_timeout_id; | ||||
|  | ||||
| @@ -283,10 +280,7 @@ struct _MetaDisplay | ||||
|   int damage_error_base; | ||||
|   int xfixes_event_base; | ||||
|   int xfixes_error_base; | ||||
|   int xinput_error_base; | ||||
|   int xinput_event_base; | ||||
|   int xinput_opcode; | ||||
|  | ||||
|    | ||||
| #ifdef HAVE_STARTUP_NOTIFICATION | ||||
|   SnDisplay *sn_display; | ||||
| #endif | ||||
| @@ -369,16 +363,6 @@ void        meta_display_register_x_window   (MetaDisplay *display, | ||||
| void        meta_display_unregister_x_window (MetaDisplay *display, | ||||
|                                               Window       xwindow); | ||||
|  | ||||
| #ifdef HAVE_XSYNC | ||||
| MetaWindow* meta_display_lookup_sync_alarm     (MetaDisplay *display, | ||||
|                                                 XSyncAlarm   alarm); | ||||
| void        meta_display_register_sync_alarm   (MetaDisplay *display, | ||||
|                                                 XSyncAlarm  *alarmp, | ||||
|                                                 MetaWindow  *window); | ||||
| void        meta_display_unregister_sync_alarm (MetaDisplay *display, | ||||
|                                                 XSyncAlarm   alarm); | ||||
| #endif /* HAVE_XSYNC */ | ||||
|  | ||||
| void        meta_display_notify_window_created (MetaDisplay  *display, | ||||
|                                                 MetaWindow   *window); | ||||
|  | ||||
| @@ -394,6 +378,7 @@ Cursor         meta_display_create_x_cursor (MetaDisplay *display, | ||||
| void     meta_display_set_grab_op_cursor (MetaDisplay *display, | ||||
|                                           MetaScreen  *screen, | ||||
|                                           MetaGrabOp   op, | ||||
|                                           gboolean     change_pointer, | ||||
|                                           Window       grab_xwindow, | ||||
|                                           guint32      timestamp); | ||||
|  | ||||
| @@ -441,7 +426,6 @@ int meta_resize_gravity_from_grab_op (MetaGrabOp op); | ||||
|  | ||||
| gboolean meta_grab_op_is_moving   (MetaGrabOp op); | ||||
| gboolean meta_grab_op_is_resizing (MetaGrabOp op); | ||||
| gboolean meta_grab_op_is_mouse    (MetaGrabOp op); | ||||
|  | ||||
| void meta_display_devirtualize_modifiers (MetaDisplay        *display, | ||||
|                                           MetaVirtualModifier modifiers, | ||||
|   | ||||
							
								
								
									
										2885
									
								
								src/core/display.c
									
									
									
									
									
								
							
							
						
						
									
										2885
									
								
								src/core/display.c
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -66,9 +66,9 @@ gboolean meta_window_grab_all_keys          (MetaWindow  *window, | ||||
|                                              guint32      timestamp); | ||||
| void     meta_window_ungrab_all_keys        (MetaWindow  *window, | ||||
|                                              guint32      timestamp); | ||||
| gboolean meta_display_process_key_event     (MetaDisplay   *display, | ||||
|                                              MetaWindow    *window, | ||||
|                                              XIDeviceEvent *event); | ||||
| gboolean meta_display_process_key_event     (MetaDisplay *display, | ||||
|                                              MetaWindow  *window, | ||||
|                                              XEvent      *event); | ||||
| void     meta_set_keybindings_disabled      (gboolean     setting); | ||||
| void     meta_display_process_mapping_event (MetaDisplay *display, | ||||
|                                              XEvent      *event); | ||||
|   | ||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| @@ -23,19 +23,18 @@ | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * SECTION:main | ||||
|  * @short_description: Program startup. | ||||
|  * | ||||
|  * \file  | ||||
|  * Program startup. | ||||
|  * Functions which parse the command-line arguments, create the display, | ||||
|  * kick everything off and then close down Mutter when it's time to go. | ||||
|  * | ||||
|  * | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * \mainpage | ||||
|  * Mutter - a boring window manager for the adult in you | ||||
|  * | ||||
|  * Many window managers are like Marshmallow Froot Loops; Mutter | ||||
|  * is like Frosted Flakes: it's still plain old corn, but dusted | ||||
|  * with some sugar. | ||||
|  * is like Cheerios. | ||||
|  * | ||||
|  * The best way to get a handle on how the whole system fits together | ||||
|  * is discussed in doc/code-overview.txt; if you're looking for functions | ||||
| @@ -60,7 +59,7 @@ | ||||
|  | ||||
| #include <stdlib.h> | ||||
| #include <sys/types.h> | ||||
| #include <sys/wait.h> | ||||
| #include <wait.h> | ||||
| #include <stdio.h> | ||||
| #include <string.h> | ||||
| #include <signal.h> | ||||
| @@ -78,12 +77,12 @@ | ||||
| #include <girepository.h> | ||||
| #endif | ||||
|  | ||||
| /* | ||||
| /** | ||||
|  * The exit code we'll return to our parent process when we eventually die. | ||||
|  */ | ||||
| static MetaExitCode meta_exit_code = META_EXIT_SUCCESS; | ||||
|  | ||||
| /* | ||||
| /** | ||||
|  * Handle on the main loop, so that we have an easy way of shutting Mutter | ||||
|  * down. | ||||
|  */ | ||||
| @@ -93,15 +92,14 @@ static void prefs_changed_callback (MetaPreference pref, | ||||
|                                     gpointer       data); | ||||
|  | ||||
| /** | ||||
|  * log_handler: | ||||
|  * @log_domain: the domain the error occurred in (we ignore this) | ||||
|  * @log_level: the log level so that we can filter out less | ||||
|  *             important messages | ||||
|  * @message: the message to log | ||||
|  * @user_data: arbitrary data (we ignore this) | ||||
|  * | ||||
|  * Prints log messages. If Mutter was compiled with backtrace support, | ||||
|  * also prints a backtrace (see meta_print_backtrace()). | ||||
|  * | ||||
|  * \param log_domain  the domain the error occurred in (we ignore this) | ||||
|  * \param log_level   the log level so that we can filter out less | ||||
|  *                    important messages | ||||
|  * \param message     the message to log | ||||
|  * \param user_data   arbitrary data (we ignore this) | ||||
|  */ | ||||
| static void | ||||
| log_handler (const gchar   *log_domain, | ||||
| @@ -110,15 +108,14 @@ log_handler (const gchar   *log_domain, | ||||
|              gpointer       user_data) | ||||
| { | ||||
|   meta_warning ("Log level %d: %s\n", log_level, message); | ||||
|   meta_print_backtrace (); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_print_compilation_info: | ||||
|  * | ||||
|  * Prints a list of which configure script options were used to | ||||
|  * build this copy of Mutter. This is actually always called | ||||
|  * on startup, but it's all no-op unless we're in verbose mode | ||||
|  * (see meta_set_verbose()). | ||||
|  * (see meta_set_verbose). | ||||
|  */ | ||||
| static void | ||||
| meta_print_compilation_info (void) | ||||
| @@ -128,6 +125,21 @@ meta_print_compilation_info (void) | ||||
| #else | ||||
|   meta_verbose ("Compiled without shape extension\n"); | ||||
| #endif | ||||
| #ifdef HAVE_XINERAMA | ||||
|   meta_topic (META_DEBUG_XINERAMA, "Compiled with Xinerama extension\n"); | ||||
| #else | ||||
|   meta_topic (META_DEBUG_XINERAMA, "Compiled without Xinerama extension\n"); | ||||
| #endif | ||||
| #ifdef HAVE_XFREE_XINERAMA | ||||
|   meta_topic (META_DEBUG_XINERAMA, " (using XFree86 Xinerama)\n"); | ||||
| #else | ||||
|   meta_topic (META_DEBUG_XINERAMA, " (not using XFree86 Xinerama)\n"); | ||||
| #endif | ||||
| #ifdef HAVE_SOLARIS_XINERAMA | ||||
|   meta_topic (META_DEBUG_XINERAMA, " (using Solaris Xinerama)\n"); | ||||
| #else | ||||
|   meta_topic (META_DEBUG_XINERAMA, " (not using Solaris Xinerama)\n"); | ||||
| #endif | ||||
| #ifdef HAVE_XSYNC | ||||
|   meta_verbose ("Compiled with sync extension\n"); | ||||
| #else | ||||
| @@ -146,14 +158,12 @@ meta_print_compilation_info (void) | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_print_self_identity: | ||||
|  * | ||||
|  * Prints the version number, the current timestamp (not the | ||||
|  * build date), the locale, the character encoding, and a list | ||||
|  * of configure script options that were used to build this | ||||
|  * copy of Mutter. This is actually always called | ||||
|  * on startup, but it's all no-op unless we're in verbose mode | ||||
|  * (see meta_set_verbose()). | ||||
|  * (see meta_set_verbose). | ||||
|  */ | ||||
| static void | ||||
| meta_print_self_identity (void) | ||||
| @@ -178,7 +188,7 @@ meta_print_self_identity (void) | ||||
|   meta_print_compilation_info (); | ||||
| } | ||||
|  | ||||
| /* | ||||
| /** | ||||
|  * The set of possible options that can be set on Mutter's | ||||
|  * command line. | ||||
|  */ | ||||
| @@ -197,7 +207,7 @@ static GOptionEntry meta_options[] = { | ||||
|     NULL | ||||
|   }, | ||||
|   { | ||||
|     "replace", 'r', 0, G_OPTION_ARG_NONE, | ||||
|     "replace", 0, 0, G_OPTION_ARG_NONE, | ||||
|     &opt_replace_wm, | ||||
|     N_("Replace the running window manager"), | ||||
|     NULL | ||||
| @@ -303,7 +313,7 @@ meta_clutter_init (void) | ||||
| { | ||||
|   clutter_x11_set_display (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ())); | ||||
|   clutter_x11_disable_event_retrieval (); | ||||
|  | ||||
|    | ||||
|   if (CLUTTER_INIT_SUCCESS == clutter_init (NULL, NULL)) | ||||
|     { | ||||
|       GSource *source = g_source_new (&event_funcs, sizeof (GSource)); | ||||
| @@ -317,12 +327,10 @@ meta_clutter_init (void) | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_select_display: | ||||
|  * | ||||
|  * Selects which display Mutter should use. It first tries to use | ||||
|  * @display_name as the display. If @display_name is %NULL then | ||||
|  * display_name as the display. If display_name is NULL then | ||||
|  * try to use the environment variable MUTTER_DISPLAY. If that | ||||
|  * also is %NULL, use the default - :0.0 | ||||
|  * also is NULL, use the default - :0.0 | ||||
|  */ | ||||
| static void | ||||
| meta_select_display (gchar *display_name) | ||||
| @@ -373,7 +381,7 @@ on_sigterm (void) | ||||
|  * meta_init: (skip) | ||||
|  * | ||||
|  * Initialize mutter. Call this after meta_get_option_context() and | ||||
|  * meta_plugin_manager_set_plugin_type(), and before meta_run(). | ||||
|  * meta_plugin_type_register(), and before meta_run(). | ||||
|  */ | ||||
| void | ||||
| meta_init (void) | ||||
| @@ -381,6 +389,8 @@ meta_init (void) | ||||
|   struct sigaction act; | ||||
|   sigset_t empty_mask; | ||||
|   GIOChannel *channel; | ||||
|  | ||||
|   g_type_init (); | ||||
|    | ||||
|   sigemptyset (&empty_mask); | ||||
|   act.sa_handler = SIG_IGN; | ||||
| @@ -550,14 +560,13 @@ meta_run (void) | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_quit: | ||||
|  * @code: The success or failure code to return to the calling process. | ||||
|  * | ||||
|  * Stops Mutter. This tells the event loop to stop processing; it is | ||||
|  * rather dangerous to use this because this will leave the user with | ||||
|  * no window manager. We generally do this only if, for example, the | ||||
|  * session manager asks us to; we assume the session manager knows | ||||
|  * what it's talking about. | ||||
|  * | ||||
|  * \param code The success or failure code to return to the calling process. | ||||
|  */ | ||||
| void | ||||
| meta_quit (MetaExitCode code) | ||||
| @@ -570,14 +579,13 @@ meta_quit (MetaExitCode code) | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * prefs_changed_callback: | ||||
|  * @pref  Which preference has changed | ||||
|  * @data  Arbitrary data (which we ignore) | ||||
|  * | ||||
|  * Called on pref changes. (One of several functions of its kind and purpose.) | ||||
|  * | ||||
|  * FIXME: Why are these particular prefs handled in main.c and not others? | ||||
|  *        Should they be? | ||||
|  * \bug Why are these particular prefs handled in main.c and not others? | ||||
|  * Should they be? | ||||
|  * | ||||
|  * \param pref  Which preference has changed | ||||
|  * \param data  Arbitrary data (which we ignore) | ||||
|  */ | ||||
| static void | ||||
| prefs_changed_callback (MetaPreference pref, | ||||
|   | ||||
| @@ -45,7 +45,7 @@ print_version (const gchar    *option_name, | ||||
|   exit (0); | ||||
| } | ||||
|  | ||||
| static gchar *plugin = "default"; | ||||
| static gchar *mutter_plugins; | ||||
|  | ||||
| GOptionEntry mutter_options[] = { | ||||
|   { | ||||
| @@ -55,10 +55,10 @@ GOptionEntry mutter_options[] = { | ||||
|     NULL | ||||
|   }, | ||||
|   { | ||||
|     "mutter-plugin", 0, 0, G_OPTION_ARG_STRING, | ||||
|     &plugin, | ||||
|     N_("Mutter plugin to use"), | ||||
|     "PLUGIN", | ||||
|     "mutter-plugins", 0, 0, G_OPTION_ARG_STRING, | ||||
|     &mutter_plugins, | ||||
|     N_("Comma-separated list of compositor plugins"), | ||||
|     "PLUGINS" | ||||
|   }, | ||||
|   { NULL } | ||||
| }; | ||||
| @@ -77,8 +77,20 @@ main (int argc, char **argv) | ||||
|       exit (1); | ||||
|     } | ||||
|  | ||||
|   if (plugin) | ||||
|     meta_plugin_manager_load (plugin); | ||||
|   if (mutter_plugins) | ||||
|     { | ||||
|       MetaPluginManager *mgr; | ||||
|       char **plugins = g_strsplit (mutter_plugins, ",", -1);  | ||||
|       char **plugin; | ||||
|  | ||||
|       mgr = meta_plugin_manager_get_default (); | ||||
|       for (plugin = plugins; *plugin; plugin++) | ||||
|         { | ||||
|           g_strstrip (*plugin); | ||||
|           meta_plugin_manager_load (mgr, *plugin); | ||||
|         } | ||||
|       g_strfreev (plugins); | ||||
|     } | ||||
|  | ||||
|   meta_init (); | ||||
|   return meta_run (); | ||||
|   | ||||
| @@ -105,7 +105,7 @@ find_next_cascade (MetaWindow *window, | ||||
|   int window_width, window_height; | ||||
|   int cascade_stage; | ||||
|   MetaRectangle work_area; | ||||
|   int current; | ||||
|   const MetaMonitorInfo* current; | ||||
|    | ||||
|   sorted = g_list_copy (windows); | ||||
|   sorted = g_list_sort (sorted, northwestcmp); | ||||
| @@ -137,7 +137,7 @@ find_next_cascade (MetaWindow *window, | ||||
|    */ | ||||
|  | ||||
|   current = meta_screen_get_current_monitor (window->screen); | ||||
|   meta_window_get_work_area_for_monitor (window, current, &work_area); | ||||
|   meta_window_get_work_area_for_monitor (window, current->number, &work_area); | ||||
|  | ||||
|   cascade_x = MAX (0, work_area.x); | ||||
|   cascade_y = MAX (0, work_area.y); | ||||
| @@ -815,7 +815,7 @@ meta_window_place (MetaWindow        *window, | ||||
|       int w, h; | ||||
|  | ||||
|       /* Warning, this function is a round trip! */ | ||||
|       xi = meta_screen_get_current_monitor_info (window->screen); | ||||
|       xi = meta_screen_get_current_monitor (window->screen); | ||||
|  | ||||
|       w = xi->rect.width; | ||||
|       h = xi->rect.height; | ||||
| @@ -847,9 +847,10 @@ meta_window_place (MetaWindow        *window, | ||||
|       { | ||||
|         MetaWindow *w = tmp->data; | ||||
|  | ||||
|         if (w != window && | ||||
|             meta_window_showing_on_its_workspace (w) && | ||||
|             meta_window_located_on_workspace (w, window->workspace)) | ||||
|         if (meta_window_showing_on_its_workspace (w) && | ||||
|             w != window &&  | ||||
|             (window->workspace == w->workspace || | ||||
|              window->on_all_workspaces || w->on_all_workspaces)) | ||||
|           windows = g_list_prepend (windows, w); | ||||
|  | ||||
|         tmp = tmp->next; | ||||
| @@ -859,7 +860,7 @@ meta_window_place (MetaWindow        *window, | ||||
|   } | ||||
|  | ||||
|   /* Warning, this is a round trip! */ | ||||
|   xi = meta_screen_get_current_monitor_info (window->screen); | ||||
|   xi = meta_screen_get_current_monitor (window->screen); | ||||
|    | ||||
|   /* "Origin" placement algorithm */ | ||||
|   x = xi->rect.x; | ||||
|   | ||||
							
								
								
									
										263
									
								
								src/core/prefs.c
									
									
									
									
									
								
							
							
						
						
									
										263
									
								
								src/core/prefs.c
									
									
									
									
									
								
							| @@ -53,6 +53,7 @@ | ||||
| #define KEY_GNOME_CURSOR_SIZE "cursor-size" | ||||
|  | ||||
| #define KEY_OVERLAY_KEY "overlay-key" | ||||
| #define KEY_LIVE_HIDDEN_WINDOWS "live-hidden-windows" | ||||
| #define KEY_WORKSPACES_ONLY_ON_PRIMARY "workspaces-only-on-primary" | ||||
| #define KEY_NO_TAB_POPUP "no-tab-popup" | ||||
|  | ||||
| @@ -72,7 +73,6 @@ static GHashTable *settings_schemas; | ||||
| static gboolean use_system_font = FALSE; | ||||
| static PangoFontDescription *titlebar_font = NULL; | ||||
| static MetaVirtualModifier mouse_button_mods = Mod1Mask; | ||||
| static MetaKeyCombo overlay_key_combo = { 0, 0, 0 }; | ||||
| static GDesktopFocusMode focus_mode = G_DESKTOP_FOCUS_MODE_CLICK; | ||||
| static GDesktopFocusNewWindows focus_new_windows = G_DESKTOP_FOCUS_NEW_WINDOWS_SMART; | ||||
| static gboolean raise_on_click = TRUE; | ||||
| @@ -87,7 +87,6 @@ static gboolean application_based = FALSE; | ||||
| static gboolean disable_workarounds = FALSE; | ||||
| static gboolean auto_raise = FALSE; | ||||
| static gboolean auto_raise_delay = 500; | ||||
| static gboolean focus_change_on_pointer_rest = FALSE; | ||||
| static gboolean bell_is_visible = FALSE; | ||||
| static gboolean bell_is_audible = TRUE; | ||||
| static gboolean gnome_accessibility = FALSE; | ||||
| @@ -98,8 +97,6 @@ static int   draggable_border_width = 10; | ||||
| static gboolean resize_with_right_button = FALSE; | ||||
| static gboolean edge_tiling = FALSE; | ||||
| static gboolean force_fullscreen = TRUE; | ||||
| static gboolean ignore_request_hide_titlebar = FALSE; | ||||
| static gboolean auto_maximize = TRUE; | ||||
|  | ||||
| static GDesktopVisualBellType visual_bell_type = G_DESKTOP_VISUAL_BELL_FULLSCREEN_FLASH; | ||||
| static MetaButtonLayout button_layout; | ||||
| @@ -107,6 +104,7 @@ static MetaButtonLayout button_layout; | ||||
| /* NULL-terminated array */ | ||||
| static char **workspace_names = NULL; | ||||
|  | ||||
| static gboolean live_hidden_windows = FALSE; | ||||
| static gboolean workspaces_only_on_primary = FALSE; | ||||
|  | ||||
| static gboolean no_tab_popup = FALSE; | ||||
| @@ -135,7 +133,6 @@ static gboolean titlebar_handler (GVariant*, gpointer*, gpointer); | ||||
| static gboolean theme_name_handler (GVariant*, gpointer*, gpointer); | ||||
| static gboolean mouse_button_mods_handler (GVariant*, gpointer*, gpointer); | ||||
| static gboolean button_layout_handler (GVariant*, gpointer*, gpointer); | ||||
| static gboolean overlay_key_handler (GVariant*, gpointer*, gpointer); | ||||
|  | ||||
| static void     do_override               (char *key, char *schema); | ||||
|  | ||||
| @@ -168,30 +165,36 @@ typedef struct | ||||
|   gboolean *target; | ||||
| } MetaBoolPreference; | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * MetaStringPreference: | ||||
|  * @handler: (allow-none): A handler. Many of the string preferences | ||||
|  * aren't stored as strings and need parsing; others of them have | ||||
|  * default values which can't be solved in the general case.  If you | ||||
|  * include a function pointer here, it will be called instead of writing | ||||
|  * the string value out to the target variable. | ||||
|  * The function will be passed to g_settings_get_mapped() and should | ||||
|  * return %TRUE if the mapping was successful and %FALSE otherwise. | ||||
|  * In the former case the function is expected to handle the result | ||||
|  * of the conversion itself and call queue_changed() appropriately; | ||||
|  * in particular the @result (out) parameter as returned by | ||||
|  * g_settings_get_mapped() will be ignored in all cases. | ||||
|  * This may be %NULL.  If it is, see "target", below. | ||||
|  * @target: (allow-none): Where to write the incoming string. | ||||
|  * This must be %NULL if the handler is non-%NULL. | ||||
|  * If the incoming string is %NULL, no change will be made. | ||||
|  */ | ||||
| typedef struct | ||||
| { | ||||
|   MetaBasePreference base; | ||||
|  | ||||
|   /** | ||||
|    * A handler.  Many of the string preferences aren't stored as | ||||
|    * strings and need parsing; others of them have default values | ||||
|    * which can't be solved in the general case.  If you include a | ||||
|    * function pointer here, it will be called instead of writing | ||||
|    * the string value out to the target variable. | ||||
|    * | ||||
|    * The function will be passed to g_settings_get_mapped() and should | ||||
|    * return %TRUE if the mapping was successful and %FALSE otherwise. | ||||
|    * In the former case the function is expected to handle the result | ||||
|    * of the conversion itself and call queue_changed() appropriately; | ||||
|    * in particular the @result (out) parameter as returned by | ||||
|    * g_settings_get_mapped() will be ignored in all cases. | ||||
|    * | ||||
|    * This may be NULL.  If it is, see "target", below. | ||||
|    */ | ||||
|   GSettingsGetMapping handler; | ||||
|  | ||||
|   /** | ||||
|    * Where to write the incoming string. | ||||
|    * | ||||
|    * This must be NULL if the handler is non-NULL. | ||||
|    * If the incoming string is NULL, no change will be made. | ||||
|    */ | ||||
|   gchar **target; | ||||
|  | ||||
| } MetaStringPreference; | ||||
|  | ||||
| typedef struct | ||||
| @@ -306,13 +309,6 @@ static MetaBoolPreference preferences_bool[] = | ||||
|       }, | ||||
|       &auto_raise, | ||||
|     }, | ||||
|     { | ||||
|       { "focus-change-on-pointer-rest", | ||||
|         SCHEMA_MUTTER, | ||||
|         META_PREF_FOCUS_CHANGE_ON_POINTER_REST, | ||||
|       }, | ||||
|       &focus_change_on_pointer_rest | ||||
|     }, | ||||
|     { | ||||
|       { "visual-bell", | ||||
|         SCHEMA_GENERAL, | ||||
| @@ -355,6 +351,13 @@ static MetaBoolPreference preferences_bool[] = | ||||
|       }, | ||||
|       &edge_tiling, | ||||
|     }, | ||||
|     { | ||||
|       { KEY_LIVE_HIDDEN_WINDOWS, | ||||
|         SCHEMA_MUTTER, | ||||
|         META_PREF_LIVE_HIDDEN_WINDOWS, | ||||
|       }, | ||||
|       &live_hidden_windows, | ||||
|     }, | ||||
|     { | ||||
|       { "workspaces-only-on-primary", | ||||
|         SCHEMA_MUTTER, | ||||
| @@ -369,13 +372,6 @@ static MetaBoolPreference preferences_bool[] = | ||||
|       }, | ||||
|       &no_tab_popup, | ||||
|     }, | ||||
|     { | ||||
|       { "auto-maximize", | ||||
|         SCHEMA_MUTTER, | ||||
|         META_PREF_AUTO_MAXIMIZE, | ||||
|       }, | ||||
|       &auto_maximize, | ||||
|     }, | ||||
|     { { NULL, 0, 0 }, NULL }, | ||||
|   }; | ||||
|  | ||||
| @@ -421,14 +417,6 @@ static MetaStringPreference preferences_string[] = | ||||
|       NULL, | ||||
|       &cursor_theme, | ||||
|     }, | ||||
|     { | ||||
|       { "overlay-key", | ||||
|         SCHEMA_MUTTER, | ||||
|         META_PREF_KEYBINDINGS, | ||||
|       }, | ||||
|       overlay_key_handler, | ||||
|       NULL, | ||||
|     }, | ||||
|     { { NULL, 0, 0 }, NULL }, | ||||
|   }; | ||||
|  | ||||
| @@ -704,13 +692,13 @@ handle_preference_update_int (GSettings *settings, | ||||
|  */ | ||||
| void | ||||
| meta_prefs_add_listener (MetaPrefsChangedFunc func, | ||||
|                          gpointer             user_data) | ||||
|                          gpointer             data) | ||||
| { | ||||
|   MetaPrefsListener *l; | ||||
|  | ||||
|   l = g_new (MetaPrefsListener, 1); | ||||
|   l->func = func; | ||||
|   l->data = user_data; | ||||
|   l->data = data; | ||||
|  | ||||
|   listeners = g_list_prepend (listeners, l); | ||||
| } | ||||
| @@ -721,7 +709,7 @@ meta_prefs_add_listener (MetaPrefsChangedFunc func, | ||||
|  */ | ||||
| void | ||||
| meta_prefs_remove_listener (MetaPrefsChangedFunc func, | ||||
|                             gpointer             user_data) | ||||
|                             gpointer             data) | ||||
| { | ||||
|   GList *tmp; | ||||
|  | ||||
| @@ -731,7 +719,7 @@ meta_prefs_remove_listener (MetaPrefsChangedFunc func, | ||||
|       MetaPrefsListener *l = tmp->data; | ||||
|  | ||||
|       if (l->func == func && | ||||
|           l->data == user_data) | ||||
|           l->data == data) | ||||
|         { | ||||
|           g_free (l); | ||||
|           listeners = g_list_delete_link (listeners, tmp); | ||||
| @@ -943,9 +931,9 @@ do_override (char *key, | ||||
|  | ||||
|  | ||||
| /** | ||||
|  * meta_prefs_override_preference_schema: | ||||
|  * meta_prefs_override_preference_schema | ||||
|  * @key: the preference name | ||||
|  * @schema: new schema for preference @key | ||||
|  * @schema: new schema for preference %key | ||||
|  * | ||||
|  * Specify a schema whose keys are used to override the standard Metacity | ||||
|  * keys. This might be used if a plugin expected a different value for | ||||
| @@ -1015,7 +1003,7 @@ settings_changed (GSettings *settings, | ||||
|   /* String array, handled separately */ | ||||
|   if (strcmp (key, KEY_WORKSPACE_NAMES) == 0) | ||||
|     { | ||||
|       if (update_workspace_names ()) | ||||
|       if (update_workspace_names ()); | ||||
|         queue_changed (META_PREF_WORKSPACE_NAMES); | ||||
|       return; | ||||
|     } | ||||
| @@ -1046,6 +1034,10 @@ settings_changed (GSettings *settings, | ||||
|       else | ||||
|         handle_preference_update_string (settings, key); | ||||
|     } | ||||
|   else if (g_str_equal (key, KEY_OVERLAY_KEY)) | ||||
|     { | ||||
|       queue_changed (META_PREF_KEYBINDINGS); | ||||
|     } | ||||
|   else | ||||
|     { | ||||
|       /* Someone added a preference of an unhandled type */ | ||||
| @@ -1070,8 +1062,6 @@ bindings_changed (GSettings *settings, | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * maybe_give_disable_workaround_warning: | ||||
|  * | ||||
|  * Special case: give a warning the first time disable_workarounds | ||||
|  * is turned on. | ||||
|  */ | ||||
| @@ -1395,11 +1385,8 @@ button_layout_handler (GVariant *value, | ||||
|       g_strfreev (buttons); | ||||
|     } | ||||
|  | ||||
|   for (; i < MAX_BUTTONS_PER_CORNER; i++) | ||||
|     { | ||||
|       new_layout.left_buttons[i] = META_BUTTON_FUNCTION_LAST; | ||||
|       new_layout.left_buttons_has_spacer[i] = FALSE; | ||||
|     } | ||||
|   new_layout.left_buttons[i] = META_BUTTON_FUNCTION_LAST; | ||||
|   new_layout.left_buttons_has_spacer[i] = FALSE; | ||||
|  | ||||
|   i = 0; | ||||
|   if (sides != NULL && sides[0] != NULL && sides[1] != NULL) | ||||
| @@ -1457,11 +1444,8 @@ button_layout_handler (GVariant *value, | ||||
|       g_strfreev (buttons); | ||||
|     } | ||||
|  | ||||
|   for (; i < MAX_BUTTONS_PER_CORNER; i++) | ||||
|     { | ||||
|       new_layout.right_buttons[i] = META_BUTTON_FUNCTION_LAST; | ||||
|       new_layout.right_buttons_has_spacer[i] = FALSE; | ||||
|     } | ||||
|   new_layout.right_buttons[i] = META_BUTTON_FUNCTION_LAST; | ||||
|   new_layout.right_buttons_has_spacer[i] = FALSE; | ||||
|  | ||||
|   g_strfreev (sides); | ||||
|    | ||||
| @@ -1480,11 +1464,8 @@ button_layout_handler (GVariant *value, | ||||
|         else | ||||
|           rtl_layout.right_buttons_has_spacer[j - 1] = new_layout.left_buttons_has_spacer[i - j - 1]; | ||||
|       } | ||||
|     for (; j < MAX_BUTTONS_PER_CORNER; j++) | ||||
|       { | ||||
|         rtl_layout.right_buttons[j] = META_BUTTON_FUNCTION_LAST; | ||||
|         rtl_layout.right_buttons_has_spacer[j] = FALSE; | ||||
|       } | ||||
|     rtl_layout.right_buttons[j] = META_BUTTON_FUNCTION_LAST; | ||||
|     rtl_layout.right_buttons_has_spacer[j] = FALSE; | ||||
|        | ||||
|     for (i = 0; new_layout.right_buttons[i] != META_BUTTON_FUNCTION_LAST; i++); | ||||
|     for (j = 0; j < i; j++) | ||||
| @@ -1495,11 +1476,8 @@ button_layout_handler (GVariant *value, | ||||
|         else | ||||
|           rtl_layout.left_buttons_has_spacer[j - 1] = new_layout.right_buttons_has_spacer[i - j - 1]; | ||||
|       } | ||||
|     for (; j < MAX_BUTTONS_PER_CORNER; j++) | ||||
|       { | ||||
|         rtl_layout.left_buttons[j] = META_BUTTON_FUNCTION_LAST; | ||||
|         rtl_layout.left_buttons_has_spacer[j] = FALSE; | ||||
|       } | ||||
|     rtl_layout.left_buttons[j] = META_BUTTON_FUNCTION_LAST; | ||||
|     rtl_layout.left_buttons_has_spacer[j] = FALSE; | ||||
|  | ||||
|     new_layout = rtl_layout; | ||||
|   } | ||||
| @@ -1513,39 +1491,6 @@ button_layout_handler (GVariant *value, | ||||
|   return TRUE; | ||||
| } | ||||
|  | ||||
| static gboolean | ||||
| overlay_key_handler (GVariant *value, | ||||
|                      gpointer *result, | ||||
|                      gpointer  data) | ||||
| { | ||||
|   MetaKeyCombo combo; | ||||
|   const gchar *string_value; | ||||
|  | ||||
|   *result = NULL; /* ignored */ | ||||
|   string_value = g_variant_get_string (value, NULL); | ||||
|  | ||||
|   if (string_value && meta_ui_parse_accelerator (string_value, &combo.keysym, | ||||
|                                                  &combo.keycode, | ||||
|                                                  &combo.modifiers)) | ||||
|     ; | ||||
|   else | ||||
|     { | ||||
|       meta_topic (META_DEBUG_KEYBINDINGS, | ||||
|                   "Failed to parse value for overlay-key\n"); | ||||
|       return FALSE; | ||||
|     } | ||||
|  | ||||
|   if (overlay_key_combo.keysym != combo.keysym || | ||||
|       overlay_key_combo.keycode != combo.keycode || | ||||
|       overlay_key_combo.modifiers != combo.modifiers) | ||||
|     { | ||||
|       overlay_key_combo = combo; | ||||
|       queue_changed (META_PREF_KEYBINDINGS); | ||||
|     } | ||||
|  | ||||
|   return TRUE; | ||||
| } | ||||
|  | ||||
| const PangoFontDescription* | ||||
| meta_prefs_get_titlebar_font (void) | ||||
| { | ||||
| @@ -1636,9 +1581,6 @@ meta_preference_to_string (MetaPreference pref) | ||||
|     case META_PREF_AUTO_RAISE_DELAY: | ||||
|       return "AUTO_RAISE_DELAY"; | ||||
|  | ||||
|     case META_PREF_FOCUS_CHANGE_ON_POINTER_REST: | ||||
|       return "FOCUS_CHANGE_ON_POINTER_REST"; | ||||
|  | ||||
|     case META_PREF_BUTTON_LAYOUT: | ||||
|       return "BUTTON_LAYOUT"; | ||||
|  | ||||
| @@ -1675,6 +1617,9 @@ meta_preference_to_string (MetaPreference pref) | ||||
|     case META_PREF_FORCE_FULLSCREEN: | ||||
|       return "FORCE_FULLSCREEN"; | ||||
|  | ||||
|     case META_PREF_LIVE_HIDDEN_WINDOWS: | ||||
|       return "LIVE_HIDDEN_WINDOWS"; | ||||
|  | ||||
|     case META_PREF_WORKSPACES_ONLY_ON_PRIMARY: | ||||
|       return "WORKSPACES_ONLY_ON_PRIMARY"; | ||||
|  | ||||
| @@ -1686,9 +1631,6 @@ meta_preference_to_string (MetaPreference pref) | ||||
|  | ||||
|     case META_PREF_DYNAMIC_WORKSPACES: | ||||
|       return "DYNAMIC_WORKSPACES"; | ||||
|  | ||||
|     case META_PREF_AUTO_MAXIMIZE: | ||||
|       return "AUTO_MAXIMIZE"; | ||||
|     } | ||||
|  | ||||
|   return "(unknown)"; | ||||
| @@ -1710,6 +1652,8 @@ meta_prefs_set_num_workspaces (int n_workspaces) | ||||
|  | ||||
| static GHashTable *key_bindings; | ||||
|  | ||||
| static MetaKeyCombo overlay_key_combo = { 0, 0, 0 }; | ||||
|  | ||||
| static void | ||||
| meta_key_pref_free (MetaKeyPref *pref) | ||||
| { | ||||
| @@ -1721,22 +1665,37 @@ meta_key_pref_free (MetaKeyPref *pref) | ||||
|   g_free (pref); | ||||
| } | ||||
|  | ||||
| /* These bindings are for modifiers alone, so they need special handling */ | ||||
| static void | ||||
| init_special_bindings (void) | ||||
| { | ||||
|   char *val; | ||||
|    | ||||
|   /* Default values for bindings which are global, but take special handling */ | ||||
|   meta_ui_parse_accelerator ("Super_L", &overlay_key_combo.keysym,  | ||||
|                              &overlay_key_combo.keycode,  | ||||
|                              &overlay_key_combo.modifiers); | ||||
|  | ||||
|   val = g_settings_get_string (SETTINGS (SCHEMA_MUTTER), KEY_OVERLAY_KEY); | ||||
|      | ||||
|   if (val && meta_ui_parse_accelerator (val, &overlay_key_combo.keysym,  | ||||
|                                         &overlay_key_combo.keycode,  | ||||
|                                         &overlay_key_combo.modifiers)) | ||||
|     ; | ||||
|   else | ||||
|     { | ||||
|       meta_topic (META_DEBUG_KEYBINDINGS, | ||||
|                   "Failed to parse value for overlay_key\n"); | ||||
|     } | ||||
|   g_free (val); | ||||
| } | ||||
|  | ||||
| static void | ||||
| init_bindings (void) | ||||
| { | ||||
|   MetaKeyPref *pref; | ||||
|  | ||||
|   key_bindings = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, | ||||
|                                         (GDestroyNotify)meta_key_pref_free); | ||||
|  | ||||
|   pref = g_new0 (MetaKeyPref, 1); | ||||
|   pref->name = g_strdup ("overlay-key"); | ||||
|   pref->action = META_KEYBINDING_ACTION_OVERLAY_KEY; | ||||
|   pref->bindings = g_slist_prepend (pref->bindings, &overlay_key_combo); | ||||
|   pref->builtin = 1; | ||||
|  | ||||
|   g_hash_table_insert (key_bindings, g_strdup ("overlay-key"), pref); | ||||
|   init_special_bindings ();   | ||||
| } | ||||
|  | ||||
| static void | ||||
| @@ -1935,10 +1894,6 @@ meta_prefs_change_workspace_name (int         num, | ||||
|                         g_variant_builder_end (&builder)); | ||||
| } | ||||
|  | ||||
| /** | ||||
|  * meta_prefs_get_button_layout: | ||||
|  * @button_layout: (out): | ||||
|  */ | ||||
| void | ||||
| meta_prefs_get_button_layout (MetaButtonLayout *button_layout_p) | ||||
| { | ||||
| @@ -2049,8 +2004,7 @@ meta_prefs_remove_keybinding (const char *name) | ||||
|  | ||||
| /** | ||||
|  * meta_prefs_get_keybindings: | ||||
|  * | ||||
|  * Returns: (element-type MetaKeyPref) (transfer container): | ||||
|  * Return: (element-type MetaKeyPref) (transfer container): | ||||
|  */ | ||||
| GList * | ||||
| meta_prefs_get_keybindings () | ||||
| @@ -2094,12 +2048,6 @@ meta_prefs_get_auto_raise_delay (void) | ||||
|   return auto_raise_delay; | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_prefs_get_focus_change_on_pointer_rest () | ||||
| { | ||||
|   return focus_change_on_pointer_rest; | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_prefs_get_gnome_accessibility () | ||||
| { | ||||
| @@ -2118,12 +2066,6 @@ meta_prefs_get_edge_tiling () | ||||
|   return edge_tiling; | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_prefs_get_auto_maximize (void) | ||||
| { | ||||
|   return auto_maximize; | ||||
| } | ||||
|  | ||||
| MetaKeyBindingAction | ||||
| meta_prefs_get_keybinding_action (const char *name) | ||||
| { | ||||
| @@ -2170,13 +2112,13 @@ meta_prefs_get_window_binding (const char          *name, | ||||
|   g_assert_not_reached (); | ||||
| } | ||||
|  | ||||
| gint | ||||
| guint | ||||
| meta_prefs_get_mouse_button_resize (void) | ||||
| { | ||||
|   return resize_with_right_button ? 3: 2; | ||||
| } | ||||
|  | ||||
| gint | ||||
| guint | ||||
| meta_prefs_get_mouse_button_menu (void) | ||||
| { | ||||
|   return resize_with_right_button ? 2: 3; | ||||
| @@ -2188,6 +2130,27 @@ meta_prefs_get_force_fullscreen (void) | ||||
|   return force_fullscreen; | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_prefs_get_live_hidden_windows (void) | ||||
| { | ||||
| #if 0 | ||||
|   return live_hidden_windows; | ||||
| #else | ||||
|   return TRUE; | ||||
| #endif | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_prefs_set_live_hidden_windows (gboolean whether) | ||||
| { | ||||
|   MetaBasePreference *pref; | ||||
|  | ||||
|   find_pref (preferences_bool, sizeof(MetaBoolPreference), | ||||
|              KEY_LIVE_HIDDEN_WINDOWS, &pref); | ||||
|   g_settings_set_boolean (SETTINGS (pref->schema), KEY_LIVE_HIDDEN_WINDOWS, | ||||
|                           whether); | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_prefs_get_workspaces_only_on_primary (void) | ||||
| { | ||||
| @@ -2222,15 +2185,3 @@ meta_prefs_set_force_fullscreen (gboolean whether) | ||||
| { | ||||
|   force_fullscreen = whether; | ||||
| } | ||||
|  | ||||
| gboolean | ||||
| meta_prefs_get_ignore_request_hide_titlebar (void) | ||||
| { | ||||
|   return ignore_request_hide_titlebar; | ||||
| } | ||||
|  | ||||
| void | ||||
| meta_prefs_set_ignore_request_hide_titlebar (gboolean whether) | ||||
| { | ||||
|   ignore_request_hide_titlebar = whether; | ||||
| } | ||||
|   | ||||
| @@ -156,6 +156,8 @@ void          meta_screen_manage_all_windows  (MetaScreen                 *scree | ||||
| void          meta_screen_foreach_window      (MetaScreen                 *screen, | ||||
|                                                MetaScreenWindowFunc        func, | ||||
|                                                gpointer                    data); | ||||
| void          meta_screen_queue_frame_redraws (MetaScreen                 *screen); | ||||
| void          meta_screen_queue_window_resizes (MetaScreen                 *screen); | ||||
|  | ||||
| void          meta_screen_set_cursor          (MetaScreen                 *screen, | ||||
|                                                MetaCursor                  cursor); | ||||
| @@ -184,7 +186,7 @@ void          meta_screen_tile_preview_hide            (MetaScreen    *screen); | ||||
| MetaWindow*   meta_screen_get_mouse_window     (MetaScreen                 *screen, | ||||
|                                                 MetaWindow                 *not_this_one); | ||||
|  | ||||
| const MetaMonitorInfo* meta_screen_get_current_monitor_info   (MetaScreen    *screen); | ||||
| const MetaMonitorInfo* meta_screen_get_current_monitor    (MetaScreen    *screen); | ||||
| const MetaMonitorInfo* meta_screen_get_monitor_for_rect   (MetaScreen    *screen, | ||||
|                                                            MetaRectangle *rect); | ||||
| const MetaMonitorInfo* meta_screen_get_monitor_for_window (MetaScreen    *screen, | ||||
|   | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user