Compare commits
24 Commits
wip/remove
...
wip/csd-fl
Author | SHA1 | Date | |
---|---|---|---|
7e28a69c51 | |||
911cca9c99 | |||
abb021e51e | |||
03ee7e05d5 | |||
02426c50cb | |||
477acddf64 | |||
1d04ea62ba | |||
10c1903c72 | |||
69dfd07a7f | |||
bc9b923d5c | |||
fef32fb0d4 | |||
0e9491a415 | |||
c7725ddf2a | |||
5c7ea17abd | |||
c6a6d057a8 | |||
ed4fb0695e | |||
addac8825d | |||
8e74880b55 | |||
6891ce95dc | |||
b7e62d3ca5 | |||
27a0b8f87a | |||
21e94ed109 | |||
0fe5c4f957 | |||
75f5d59d53 |
21
NEWS
21
NEWS
@ -1,3 +1,24 @@
|
||||
3.11.3
|
||||
======
|
||||
* xrandr: Use "hotplug_mode_update" property [Marc-André; #711216]
|
||||
* Fix position of attached dialogs for CSD windows [Giovanni, Owen; #707194]
|
||||
* Fix focus issues with external OSKs [Jasper; #715030]
|
||||
* Add a MetaCullable interface [Jasper; #714706]
|
||||
* Fix window group paint volume [Owen; #719669]
|
||||
* Fix frame extents problems [Owen; #714707]
|
||||
* Add shortcut to move windows between monitors [Florian; #671054]
|
||||
* Fix problems with focus tracking [Owen; #720558]
|
||||
* Misc. bug fixes and cleanups [Rui, Jasper, Owen; #712833, #678989, #720106,
|
||||
#720417, #720630]
|
||||
|
||||
Contributors:
|
||||
Robert Bragg, Giovanni Campagna, Marc-André Lureau, Rui Matos, Alberto Milone,
|
||||
Florian Müllner, Sindhu S, Jasper St. Pierre, Rico Tzschichholz,
|
||||
Owen W. Taylor
|
||||
|
||||
Translations:
|
||||
甘露(Gan Lu) [zh_CN], Khaled Hosny [ar]
|
||||
|
||||
3.11.2
|
||||
======
|
||||
* Fix resize operations using mouse-button-modifier [Lionel; #710251]
|
||||
|
@ -3,7 +3,7 @@ AC_CONFIG_MACRO_DIR([m4])
|
||||
|
||||
m4_define([mutter_major_version], [3])
|
||||
m4_define([mutter_minor_version], [11])
|
||||
m4_define([mutter_micro_version], [2])
|
||||
m4_define([mutter_micro_version], [3])
|
||||
|
||||
m4_define([mutter_version],
|
||||
[mutter_major_version.mutter_minor_version.mutter_micro_version])
|
||||
|
42
po/ar.po
42
po/ar.po
@ -10,8 +10,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: metacity.HEAD\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-10-07 17:09+0200\n"
|
||||
"PO-Revision-Date: 2013-10-07 17:09+0200\n"
|
||||
"POT-Creation-Date: 2013-12-11 06:55+0200\n"
|
||||
"PO-Revision-Date: 2013-12-11 06:57+0200\n"
|
||||
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
|
||||
"Language-Team: Arabic <doc@arabeyes.org>\n"
|
||||
"Language: ar\n"
|
||||
@ -212,7 +212,7 @@ msgstr "المنظور مقسوم على اليسار"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: ../src/compositor/compositor.c:596
|
||||
#: ../src/compositor/compositor.c:571
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
@ -255,12 +255,12 @@ msgstr "ا_نتظر"
|
||||
msgid "_Force Quit"
|
||||
msgstr "أ_جبر الإنهاء"
|
||||
|
||||
#: ../src/core/display.c:422
|
||||
#: ../src/core/display.c:415
|
||||
#, c-format
|
||||
msgid "Missing %s extension required for compositing"
|
||||
msgstr "الامتداد %s مفقود، لكنه مطلوب للتركيب"
|
||||
|
||||
#: ../src/core/display.c:514
|
||||
#: ../src/core/display.c:507
|
||||
#, c-format
|
||||
msgid "Failed to open X Window System display '%s'\n"
|
||||
msgstr "فشل فتح عرض نظام نوافذ إكس '%s'\n"
|
||||
@ -314,16 +314,16 @@ msgstr "تعذّر إيجاد سِمة! تأكد من وجود %s و احتوا
|
||||
|
||||
#: ../src/core/monitor.c:696
|
||||
msgid "Built-in display"
|
||||
msgstr ""
|
||||
msgstr "شاشة مدمجة"
|
||||
|
||||
#. TRANSLATORS: this is a monitor name (in case we don't know
|
||||
#. the vendor), it's Unknown followed by a size in inches,
|
||||
#. like 'Unknown 15"'
|
||||
#.
|
||||
#: ../src/core/monitor.c:724
|
||||
#, fuzzy, c-format
|
||||
#, c-format
|
||||
msgid "Unknown %s"
|
||||
msgstr "عنصر مجهول %s"
|
||||
msgstr "غير معروفة %s"
|
||||
|
||||
#: ../src/core/mutter.c:40
|
||||
#, c-format
|
||||
@ -382,12 +382,12 @@ msgstr ""
|
||||
msgid "Workspace %d"
|
||||
msgstr "مساحة العمل %d"
|
||||
|
||||
#: ../src/core/screen.c:537
|
||||
#: ../src/core/screen.c:540
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "الشاشة %d على العرض '%s' غير صحيحة\n"
|
||||
|
||||
#: ../src/core/screen.c:553
|
||||
#: ../src/core/screen.c:556
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@ -396,18 +396,18 @@ msgstr ""
|
||||
"الشاشة %d على العرض \"%s\" لها مدير نوافذ بالفعل، حاول استعمال خيار التبديل "
|
||||
"--replace لتحُلّ محلّ مدير النوافذ الحالي.\n"
|
||||
|
||||
#: ../src/core/screen.c:580
|
||||
#: ../src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
msgstr "لا يمكن الحصول على اختيار مدير النوافذ على الشاشة %d العرض \"%s\"\n"
|
||||
|
||||
#: ../src/core/screen.c:658
|
||||
#: ../src/core/screen.c:661
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "الشاشة %d على العرض \"%s\" لها مدير نوافذ بالفعل\n"
|
||||
|
||||
#: ../src/core/screen.c:850
|
||||
#: ../src/core/screen.c:853
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "لا يمكن ترك الشاشة %d على العرض \"%s\"\n"
|
||||
@ -503,7 +503,7 @@ msgid "Window manager error: "
|
||||
msgstr "خطأ مدير النوافذ: "
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:7515
|
||||
#: ../src/core/window.c:7615
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@ -519,7 +519,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:8345
|
||||
#: ../src/core/window.c:8537
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@ -528,22 +528,22 @@ msgstr ""
|
||||
"ضبطت النافذة %s تلميحة MWM يدل على انه لا يمكن تحجيمها، لكنها تضبط الحجم "
|
||||
"الأدنى %d x %d و الحجم الأقصى %d x %d، هذا ليس له أي معنى.\n"
|
||||
|
||||
#: ../src/core/window-props.c:347
|
||||
#: ../src/core/window-props.c:350
|
||||
#, c-format
|
||||
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
||||
msgstr "ضبط التطبيق رمز NET_WM_PID غير مفهوم %lu\n"
|
||||
|
||||
#: ../src/core/window-props.c:463
|
||||
#: ../src/core/window-props.c:466
|
||||
#, c-format
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (على %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1546
|
||||
#: ../src/core/window-props.c:1549
|
||||
#, 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:1557
|
||||
#: ../src/core/window-props.c:1560
|
||||
#, fuzzy, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "نافذة WM_TRANSIENT_FOR 0x%lx غير صحيحة ل %s.\n"
|
||||
@ -929,8 +929,8 @@ msgid ""
|
||||
"GTK custom color specification must have color name and fallback in "
|
||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||
msgstr ""
|
||||
"يحب أن يكون لتخصيص حالة ألوان جتك قوس غلق قائم بعد الحالة/ مثال gtk:"
|
||||
"fg[NORMAL]، NORMAL هنا هو الحالة، لا يمكن تحليل \"%s\""
|
||||
"يحب أن يكون لتخصيص حالة ألوان جتك قوس غلق قائم بعد الحالة/ مثال "
|
||||
"gtk:fg[NORMAL]، NORMAL هنا هو الحالة، لا يمكن تحليل \"%s\""
|
||||
|
||||
#: ../src/ui/theme.c:1219
|
||||
#, c-format
|
||||
|
224
po/es.po
224
po/es.po
@ -7,23 +7,23 @@
|
||||
# Pablo Gonzalo del Campo <pablodc@bigfoot.com>,2002,2003.
|
||||
# Francisco Javier F. Serrador <serrador@cvs.gnome.org>, 2004, 2005, 2006.
|
||||
# Jorge González <jorgegonz@svn.gnome.org>, 2007, 2008, 2009, 2010, 2011.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011, 2012, 2013.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011, 2012, 2013, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter.master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
|
||||
"product=mutter&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2013-08-20 15:46+0000\n"
|
||||
"PO-Revision-Date: 2013-08-27 18:27+0200\n"
|
||||
"POT-Creation-Date: 2014-01-07 17:48+0000\n"
|
||||
"PO-Revision-Date: 2014-01-08 10:37+0100\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
|
||||
"Language-Team: Español <gnome-es-list@gnome.org>\n"
|
||||
"Language: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Gtranslator 2.91.6\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n!=1);\n"
|
||||
"X-Generator: Gtranslator 2.91.5\n"
|
||||
|
||||
#: ../src/50-mutter-navigation.xml.in.h:1
|
||||
msgid "Navigation"
|
||||
@ -215,7 +215,7 @@ msgstr "Ver división a la derecha"
|
||||
|
||||
#. This probably means that a non-WM compositor like xcompmgr is running;
|
||||
#. * we have no way to get it to exit
|
||||
#: ../src/compositor/compositor.c:596
|
||||
#: ../src/compositor/compositor.c:571
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
@ -224,7 +224,7 @@ msgstr ""
|
||||
"Ya existe un gestor de composición ejecutándose en la monitor %i, pantalla "
|
||||
"«%s»."
|
||||
|
||||
#: ../src/compositor/meta-background.c:1076
|
||||
#: ../src/compositor/meta-background.c:1075
|
||||
msgid "background texture could not be created from file"
|
||||
msgstr "no se pudo crear la textura de fondo a partir de archivo"
|
||||
|
||||
@ -262,17 +262,17 @@ msgstr "_Esperar"
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Forzar la salida"
|
||||
|
||||
#: ../src/core/display.c:421
|
||||
#: ../src/core/display.c:415
|
||||
#, c-format
|
||||
msgid "Missing %s extension required for compositing"
|
||||
msgstr "Falta la extensión %s requerida para la composición"
|
||||
|
||||
#: ../src/core/display.c:513
|
||||
#: ../src/core/display.c:507
|
||||
#, c-format
|
||||
msgid "Failed to open X Window System display '%s'\n"
|
||||
msgstr "Ocurrió un error al abrir la pantalla de X Window System «%s»\n"
|
||||
|
||||
#: ../src/core/keybindings.c:1136
|
||||
#: ../src/core/keybindings.c:1137
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Some other program is already using the key %s with modifiers %x as a "
|
||||
@ -281,7 +281,7 @@ msgstr ""
|
||||
"Algún otro programa ya está usando la clave %s con el modificador %x como "
|
||||
"una vinculación\n"
|
||||
|
||||
#: ../src/core/keybindings.c:1333
|
||||
#: ../src/core/keybindings.c:1334
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid accelerator\n"
|
||||
msgstr "«%s» no es un acelerador válido\n"
|
||||
@ -327,15 +327,23 @@ msgstr ""
|
||||
msgid "Built-in display"
|
||||
msgstr "Pantalla integrada"
|
||||
|
||||
#. TRANSLATORS: this is a monitor name (in case we don't know
|
||||
#. the vendor), it's Unknown followed by a size in inches,
|
||||
#. like 'Unknown 15"'
|
||||
#: ../src/core/monitor.c:727
|
||||
#| msgid "Unknown %s"
|
||||
msgid "Unknown"
|
||||
msgstr "Desconocida"
|
||||
|
||||
#: ../src/core/monitor.c:729
|
||||
#| msgid "Unknown %s"
|
||||
msgid "Unknown Display"
|
||||
msgstr "Pantalla desconocida"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: ../src/core/monitor.c:730
|
||||
#: ../src/core/monitor.c:737
|
||||
#, c-format
|
||||
#| msgid "Unknown element %s"
|
||||
msgid "Unknown %s"
|
||||
msgstr "Pantalla de %s desconocida"
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#: ../src/core/mutter.c:40
|
||||
#, c-format
|
||||
@ -398,12 +406,12 @@ msgstr ""
|
||||
msgid "Workspace %d"
|
||||
msgstr "Área de trabajo %d"
|
||||
|
||||
#: ../src/core/screen.c:535
|
||||
#: ../src/core/screen.c:540
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "La ventana %d en la pantalla «%s» no es válida\n"
|
||||
|
||||
#: ../src/core/screen.c:551
|
||||
#: ../src/core/screen.c:556
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@ -412,7 +420,7 @@ msgstr ""
|
||||
"La ventana %d en la pantalla «%s» ya tiene un gestor de ventanas, intente "
|
||||
"usar la opción «--replace» para reemplazar el gestor de ventanas activo.\n"
|
||||
|
||||
#: ../src/core/screen.c:578
|
||||
#: ../src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@ -420,12 +428,12 @@ msgstr ""
|
||||
"No se ha podido obtener la selección del gestor de ventanas en la ventana %d "
|
||||
"en la pantalla «%s»\n"
|
||||
|
||||
#: ../src/core/screen.c:656
|
||||
#: ../src/core/screen.c:661
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "La ventana %d en la pantalla «%s» ya tiene un gestor de ventanas\n"
|
||||
|
||||
#: ../src/core/screen.c:848
|
||||
#: ../src/core/screen.c:853
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "No se ha podido liberar el monitor %d en la pantalla «%s»\n"
|
||||
@ -523,7 +531,7 @@ msgid "Window manager error: "
|
||||
msgstr "Error del gestor de ventanas: "
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:7533
|
||||
#: ../src/core/window.c:7597
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@ -539,7 +547,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:8257
|
||||
#: ../src/core/window.c:8519
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@ -549,23 +557,23 @@ msgstr ""
|
||||
"redimensionable, pero configuró el tamaño mínimo a %d x %d y el tamaño "
|
||||
"máximo a %d x %d ; esto no tiene mucho sentido.\n"
|
||||
|
||||
#: ../src/core/window-props.c:347
|
||||
#: ../src/core/window-props.c:350
|
||||
#, c-format
|
||||
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
||||
msgstr "La aplicación establecio un _NET_WM_PID %lu erróneo\n"
|
||||
|
||||
#: ../src/core/window-props.c:463
|
||||
#: ../src/core/window-props.c:466
|
||||
#, c-format
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (on %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1546
|
||||
#: ../src/core/window-props.c:1549
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr ""
|
||||
"WM_TRANSIENT_FOR no válido para la ventana 0x%lx especificada para %s.\n"
|
||||
|
||||
#: ../src/core/window-props.c:1557
|
||||
#: ../src/core/window-props.c:1560
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR ventana 0x%lx para %s crearía un bucle.\n"
|
||||
@ -1256,59 +1264,59 @@ msgstr "El atributo «%s» no está definido en el elemento <%s>"
|
||||
msgid "Line %d character %d: %s"
|
||||
msgstr "Línea %d carácter %d: %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:479
|
||||
#: ../src/ui/theme-parser.c:483
|
||||
#, c-format
|
||||
msgid "Attribute \"%s\" repeated twice on the same <%s> element"
|
||||
msgstr "El atributo «%s» se ha repetido dos veces en el mismo elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:503 ../src/ui/theme-parser.c:552
|
||||
#: ../src/ui/theme-parser.c:507 ../src/ui/theme-parser.c:556
|
||||
#, c-format
|
||||
msgid "Attribute \"%s\" is invalid on <%s> element in this context"
|
||||
msgstr "El atributo «%s» es no válido en el elemento <%s> en este contexto"
|
||||
|
||||
#: ../src/ui/theme-parser.c:594
|
||||
#: ../src/ui/theme-parser.c:598
|
||||
#, c-format
|
||||
msgid "Could not parse \"%s\" as an integer"
|
||||
msgstr "No se ha podido interpretar «%s» como un entero"
|
||||
|
||||
#: ../src/ui/theme-parser.c:603 ../src/ui/theme-parser.c:658
|
||||
#: ../src/ui/theme-parser.c:607 ../src/ui/theme-parser.c:662
|
||||
#, c-format
|
||||
msgid "Did not understand trailing characters \"%s\" in string \"%s\""
|
||||
msgstr "No se comprenden los caracteres sobrantes «%s» en la cadena «%s»"
|
||||
|
||||
#: ../src/ui/theme-parser.c:613
|
||||
#: ../src/ui/theme-parser.c:617
|
||||
#, c-format
|
||||
msgid "Integer %ld must be positive"
|
||||
msgstr "El entero %ld debe ser positivo"
|
||||
|
||||
#: ../src/ui/theme-parser.c:621
|
||||
#: ../src/ui/theme-parser.c:625
|
||||
#, c-format
|
||||
msgid "Integer %ld is too large, current max is %d"
|
||||
msgstr "El entero %ld es demasiado grande, el máximo actual es %d"
|
||||
|
||||
#: ../src/ui/theme-parser.c:649 ../src/ui/theme-parser.c:765
|
||||
#: ../src/ui/theme-parser.c:653 ../src/ui/theme-parser.c:769
|
||||
#, c-format
|
||||
msgid "Could not parse \"%s\" as a floating point number"
|
||||
msgstr "No se ha podido interpretar «%s» como un número de coma flotante"
|
||||
|
||||
#: ../src/ui/theme-parser.c:680 ../src/ui/theme-parser.c:708
|
||||
#: ../src/ui/theme-parser.c:684 ../src/ui/theme-parser.c:712
|
||||
#, c-format
|
||||
msgid "Boolean values must be \"true\" or \"false\" not \"%s\""
|
||||
msgstr "Los valores booleanos deben ser «true» o «false» no «%s»"
|
||||
|
||||
#: ../src/ui/theme-parser.c:735
|
||||
#: ../src/ui/theme-parser.c:739
|
||||
#, c-format
|
||||
msgid "Angle must be between 0.0 and 360.0, was %g\n"
|
||||
msgstr "El ángulo debe estar entre 0.0 y 360.0, fue %g\n"
|
||||
|
||||
#: ../src/ui/theme-parser.c:798
|
||||
#: ../src/ui/theme-parser.c:802
|
||||
#, c-format
|
||||
msgid "Alpha must be between 0.0 (invisible) and 1.0 (fully opaque), was %g\n"
|
||||
msgstr ""
|
||||
"El valor de alfa debe estar entre 0.0 (invisible) y 1.0 (completamente "
|
||||
"opaco), fue %g\n"
|
||||
|
||||
#: ../src/ui/theme-parser.c:863
|
||||
#: ../src/ui/theme-parser.c:867
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid title scale \"%s\" (must be one of xx-small,x-small,small,medium,"
|
||||
@ -1317,59 +1325,59 @@ msgstr ""
|
||||
"Escala de título no válida «%s» (debe ser una de xx-small,x-small,small,"
|
||||
"medium,large,x-large,xx-large)\n"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1019 ../src/ui/theme-parser.c:1082
|
||||
#: ../src/ui/theme-parser.c:1116 ../src/ui/theme-parser.c:1219
|
||||
#: ../src/ui/theme-parser.c:1023 ../src/ui/theme-parser.c:1086
|
||||
#: ../src/ui/theme-parser.c:1120 ../src/ui/theme-parser.c:1223
|
||||
#, c-format
|
||||
msgid "<%s> name \"%s\" used a second time"
|
||||
msgstr "<%s> nombre «%s» usado una segunda vez"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1031 ../src/ui/theme-parser.c:1128
|
||||
#: ../src/ui/theme-parser.c:1231
|
||||
#: ../src/ui/theme-parser.c:1035 ../src/ui/theme-parser.c:1132
|
||||
#: ../src/ui/theme-parser.c:1235
|
||||
#, c-format
|
||||
msgid "<%s> parent \"%s\" has not been defined"
|
||||
msgstr "El <%s> padre «%s» no ha sido definido"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1141
|
||||
#: ../src/ui/theme-parser.c:1145
|
||||
#, c-format
|
||||
msgid "<%s> geometry \"%s\" has not been defined"
|
||||
msgstr "La <%s> geometría «%s» no ha sido definida"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1154
|
||||
#: ../src/ui/theme-parser.c:1158
|
||||
#, c-format
|
||||
msgid "<%s> must specify either a geometry or a parent that has a geometry"
|
||||
msgstr ""
|
||||
"<%s> debe especificar o una geometría o un padre para tenga una geometría"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1196
|
||||
#: ../src/ui/theme-parser.c:1200
|
||||
msgid "You must specify a background for an alpha value to be meaningful"
|
||||
msgstr "Debe especificar un fondo para un valor alfa para que tenga sentido"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1264
|
||||
#: ../src/ui/theme-parser.c:1268
|
||||
#, c-format
|
||||
msgid "Unknown type \"%s\" on <%s> element"
|
||||
msgstr "Tipo «%s» desconocido en el elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1275
|
||||
#: ../src/ui/theme-parser.c:1279
|
||||
#, c-format
|
||||
msgid "Unknown style_set \"%s\" on <%s> element"
|
||||
msgstr "style_set «%s» desconocido en el elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1283
|
||||
#: ../src/ui/theme-parser.c:1287
|
||||
#, c-format
|
||||
msgid "Window type \"%s\" has already been assigned a style set"
|
||||
msgstr "El tipo de ventana «%s» ya ha sido asignado a un conjunto de estilo"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1313 ../src/ui/theme-parser.c:1377
|
||||
#: ../src/ui/theme-parser.c:1603 ../src/ui/theme-parser.c:2838
|
||||
#: ../src/ui/theme-parser.c:2884 ../src/ui/theme-parser.c:3034
|
||||
#: ../src/ui/theme-parser.c:3273 ../src/ui/theme-parser.c:3311
|
||||
#: ../src/ui/theme-parser.c:3349 ../src/ui/theme-parser.c:3387
|
||||
#: ../src/ui/theme-parser.c:1317 ../src/ui/theme-parser.c:1381
|
||||
#: ../src/ui/theme-parser.c:1607 ../src/ui/theme-parser.c:2842
|
||||
#: ../src/ui/theme-parser.c:2888 ../src/ui/theme-parser.c:3038
|
||||
#: ../src/ui/theme-parser.c:3274 ../src/ui/theme-parser.c:3312
|
||||
#: ../src/ui/theme-parser.c:3350 ../src/ui/theme-parser.c:3388
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed below <%s>"
|
||||
msgstr "El elemento <%s> no está permitido debajo de <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1427 ../src/ui/theme-parser.c:1441
|
||||
#: ../src/ui/theme-parser.c:1486
|
||||
#: ../src/ui/theme-parser.c:1431 ../src/ui/theme-parser.c:1445
|
||||
#: ../src/ui/theme-parser.c:1490
|
||||
msgid ""
|
||||
"Cannot specify both \"button_width\"/\"button_height\" and \"aspect_ratio\" "
|
||||
"for buttons"
|
||||
@ -1377,123 +1385,123 @@ msgstr ""
|
||||
"No se puede especificar ambos «button_width»/«button_height» y «aspect "
|
||||
"ratio» para los botones"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1450
|
||||
#: ../src/ui/theme-parser.c:1454
|
||||
#, c-format
|
||||
msgid "Distance \"%s\" is unknown"
|
||||
msgstr "La distancia «%s» es desconocida"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1495
|
||||
#: ../src/ui/theme-parser.c:1499
|
||||
#, c-format
|
||||
msgid "Aspect ratio \"%s\" is unknown"
|
||||
msgstr "La proporción «%s» es desconocido"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1557
|
||||
#: ../src/ui/theme-parser.c:1561
|
||||
#, c-format
|
||||
msgid "Border \"%s\" is unknown"
|
||||
msgstr "El borde «%s» es desconocido"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1868
|
||||
#: ../src/ui/theme-parser.c:1872
|
||||
#, c-format
|
||||
msgid "No \"start_angle\" or \"from\" attribute on element <%s>"
|
||||
msgstr "No hay atributo «start_angle» o «from» en el elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1875
|
||||
#: ../src/ui/theme-parser.c:1879
|
||||
#, c-format
|
||||
msgid "No \"extent_angle\" or \"to\" attribute on element <%s>"
|
||||
msgstr "No hay atributo «extent_angle» o «to» en el elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2115
|
||||
#: ../src/ui/theme-parser.c:2119
|
||||
#, c-format
|
||||
msgid "Did not understand value \"%s\" for type of gradient"
|
||||
msgstr "No se entendió el valor «%s» para el tipo de degradado"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2193 ../src/ui/theme-parser.c:2568
|
||||
#: ../src/ui/theme-parser.c:2197 ../src/ui/theme-parser.c:2572
|
||||
#, c-format
|
||||
msgid "Did not understand fill type \"%s\" for <%s> element"
|
||||
msgstr "No se entendió en tipo de relleno «%s» para el elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2360 ../src/ui/theme-parser.c:2443
|
||||
#: ../src/ui/theme-parser.c:2506
|
||||
#: ../src/ui/theme-parser.c:2364 ../src/ui/theme-parser.c:2447
|
||||
#: ../src/ui/theme-parser.c:2510
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" for <%s> element"
|
||||
msgstr "No se entendió estado «%s» para el elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2370 ../src/ui/theme-parser.c:2453
|
||||
#: ../src/ui/theme-parser.c:2374 ../src/ui/theme-parser.c:2457
|
||||
#, c-format
|
||||
msgid "Did not understand shadow \"%s\" for <%s> element"
|
||||
msgstr "No se entendió enrollar «%s» para el elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2380
|
||||
#: ../src/ui/theme-parser.c:2384
|
||||
#, c-format
|
||||
msgid "Did not understand arrow \"%s\" for <%s> element"
|
||||
msgstr "No se entendió la flecha «%s» para el elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2694 ../src/ui/theme-parser.c:2790
|
||||
#: ../src/ui/theme-parser.c:2698 ../src/ui/theme-parser.c:2794
|
||||
#, c-format
|
||||
msgid "No <draw_ops> called \"%s\" has been defined"
|
||||
msgstr "No se ha definido una <draw_ops> llamada «%s»"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2706 ../src/ui/theme-parser.c:2802
|
||||
#: ../src/ui/theme-parser.c:2710 ../src/ui/theme-parser.c:2806
|
||||
#, c-format
|
||||
msgid "Including draw_ops \"%s\" here would create a circular reference"
|
||||
msgstr "Incluir el draw_ops «%s» aquí podría crear una referencia circular"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2917
|
||||
#: ../src/ui/theme-parser.c:2921
|
||||
#, c-format
|
||||
msgid "Unknown position \"%s\" for frame piece"
|
||||
msgstr "Posición desconocida «%s» para la pieza del marco"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2925
|
||||
#: ../src/ui/theme-parser.c:2929
|
||||
#, c-format
|
||||
msgid "Frame style already has a piece at position %s"
|
||||
msgstr "El estilo del marco ya tiene una pieza en la posición %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2942 ../src/ui/theme-parser.c:3019
|
||||
#: ../src/ui/theme-parser.c:2946 ../src/ui/theme-parser.c:3023
|
||||
#, c-format
|
||||
msgid "No <draw_ops> with the name \"%s\" has been defined"
|
||||
msgstr "No se ha definido ninguna <draw_ops> con el nombre «%s»"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2972
|
||||
#: ../src/ui/theme-parser.c:2976
|
||||
#, c-format
|
||||
msgid "Unknown function \"%s\" for button"
|
||||
msgstr "Función desconocida «%s» para el botón"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2982
|
||||
#: ../src/ui/theme-parser.c:2986
|
||||
#, c-format
|
||||
msgid "Button function \"%s\" does not exist in this version (%d, need %d)"
|
||||
msgstr "La función del botón «%s» no existe en esta versión (%d, necesita %d)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2994
|
||||
#: ../src/ui/theme-parser.c:2998
|
||||
#, c-format
|
||||
msgid "Unknown state \"%s\" for button"
|
||||
msgstr "Estado desconocido «%s» para el botón"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3002
|
||||
#: ../src/ui/theme-parser.c:3006
|
||||
#, c-format
|
||||
msgid "Frame style already has a button for function %s state %s"
|
||||
msgstr "El estilo del marcos ya tiene un botón para la función %s estado %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3073
|
||||
#: ../src/ui/theme-parser.c:3077
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid value for focus attribute"
|
||||
msgstr "«%s» no es valor válido para el atributo foco"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3082
|
||||
#: ../src/ui/theme-parser.c:3086
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid value for state attribute"
|
||||
msgstr "«%s» no es un valor válido para el atributo estado"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3092
|
||||
#: ../src/ui/theme-parser.c:3096
|
||||
#, c-format
|
||||
msgid "A style called \"%s\" has not been defined"
|
||||
msgstr "No se ha definido ningún estilo llamado «%s»"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3113 ../src/ui/theme-parser.c:3136
|
||||
#: ../src/ui/theme-parser.c:3117 ../src/ui/theme-parser.c:3140
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid value for resize attribute"
|
||||
msgstr "«%s» no es un estado válido para el atributo resize"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3147
|
||||
#: ../src/ui/theme-parser.c:3151
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Should not have \"resize\" attribute on <%s> element for maximized/shaded "
|
||||
@ -1502,7 +1510,7 @@ msgstr ""
|
||||
"No debería tener un atributo «resize» en el elemento <%s> para los estados "
|
||||
"maximizado/enrollado"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3161
|
||||
#: ../src/ui/theme-parser.c:3165
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Should not have \"resize\" attribute on <%s> element for maximized states"
|
||||
@ -1510,20 +1518,20 @@ msgstr ""
|
||||
"No debería tener un atributo «resize» en el elemento <%s> para los estados "
|
||||
"maximizados."
|
||||
|
||||
#: ../src/ui/theme-parser.c:3175 ../src/ui/theme-parser.c:3222
|
||||
#: ../src/ui/theme-parser.c:3179 ../src/ui/theme-parser.c:3223
|
||||
#, c-format
|
||||
msgid "Style has already been specified for state %s resize %s focus %s"
|
||||
msgstr ""
|
||||
"El estilo ya ha sido especificado para estado %s redimensionado %s foco %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3186 ../src/ui/theme-parser.c:3197
|
||||
#: ../src/ui/theme-parser.c:3208 ../src/ui/theme-parser.c:3233
|
||||
#: ../src/ui/theme-parser.c:3244 ../src/ui/theme-parser.c:3255
|
||||
#: ../src/ui/theme-parser.c:3190 ../src/ui/theme-parser.c:3201
|
||||
#: ../src/ui/theme-parser.c:3212 ../src/ui/theme-parser.c:3234
|
||||
#: ../src/ui/theme-parser.c:3245 ../src/ui/theme-parser.c:3256
|
||||
#, c-format
|
||||
msgid "Style has already been specified for state %s focus %s"
|
||||
msgstr "El estilo ya ha sido especificado para estado %s foco %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3294
|
||||
#: ../src/ui/theme-parser.c:3295
|
||||
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)"
|
||||
@ -1532,7 +1540,7 @@ msgstr ""
|
||||
"especificado un atributo draw_ops y también un elemento <draw_ops> o ha "
|
||||
"especificado los dos elementos)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3332
|
||||
#: ../src/ui/theme-parser.c:3333
|
||||
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)"
|
||||
@ -1541,7 +1549,7 @@ msgstr ""
|
||||
"especificado un atributo draw_ops y también un elemento <draw_ops> o ha "
|
||||
"especificado los dos elementos)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3370
|
||||
#: ../src/ui/theme-parser.c:3371
|
||||
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)"
|
||||
@ -1550,12 +1558,12 @@ msgstr ""
|
||||
"especificado un atributo draw_ops y también un elemento <draw_ops> o ha "
|
||||
"especificado los dos elementos)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3434
|
||||
#: ../src/ui/theme-parser.c:3435
|
||||
#, c-format
|
||||
msgid "Bad version specification '%s'"
|
||||
msgstr "Especificación de versión «%s» errónea"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3507
|
||||
#: ../src/ui/theme-parser.c:3508
|
||||
msgid ""
|
||||
"\"version\" attribute cannot be used in metacity-theme-1.xml or metacity-"
|
||||
"theme-2.xml"
|
||||
@ -1563,19 +1571,19 @@ msgstr ""
|
||||
"No se puede usar el atributo «version» con metacity-theme-1.xml o metacity-"
|
||||
"theme-2.xml"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3530
|
||||
#: ../src/ui/theme-parser.c:3531
|
||||
#, c-format
|
||||
msgid "Theme requires version %s but latest supported theme version is %d.%d"
|
||||
msgstr ""
|
||||
"El tema requiere la versión %s pero la última versión soportada del tema es "
|
||||
"la %d.%d"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3562
|
||||
#: ../src/ui/theme-parser.c:3563
|
||||
#, c-format
|
||||
msgid "Outermost element in theme must be <metacity_theme> not <%s>"
|
||||
msgstr "El elemento mas externo en un tema debe ser <metacity_theme> no <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3582
|
||||
#: ../src/ui/theme-parser.c:3583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Element <%s> is not allowed inside a name/author/date/description element"
|
||||
@ -1583,12 +1591,12 @@ msgstr ""
|
||||
"El elemento <%s> no esta permitido dentro de un elemento name/author/date/"
|
||||
"description"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3587
|
||||
#: ../src/ui/theme-parser.c:3588
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed inside a <constant> element"
|
||||
msgstr "El elemento <%s> no esta permitido dentro de un elemento <constant>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3599
|
||||
#: ../src/ui/theme-parser.c:3600
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Element <%s> is not allowed inside a distance/border/aspect_ratio element"
|
||||
@ -1596,40 +1604,40 @@ msgstr ""
|
||||
"El elemento <%s> no esta permitido dentro de un elemento distance/border/"
|
||||
"aspect_ratio"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3621
|
||||
#: ../src/ui/theme-parser.c:3622
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed inside a draw operation element"
|
||||
msgstr ""
|
||||
"El elemento <%s> no esta permitido dentro de un elemento de operación de "
|
||||
"dibujo"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3631 ../src/ui/theme-parser.c:3661
|
||||
#: ../src/ui/theme-parser.c:3666 ../src/ui/theme-parser.c:3671
|
||||
#: ../src/ui/theme-parser.c:3632 ../src/ui/theme-parser.c:3662
|
||||
#: ../src/ui/theme-parser.c:3667 ../src/ui/theme-parser.c:3672
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed inside a <%s> element"
|
||||
msgstr "El elemento <%s> no esta permitido dentro del elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3899
|
||||
#: ../src/ui/theme-parser.c:3900
|
||||
msgid "No draw_ops provided for frame piece"
|
||||
msgstr "No se dio draw_ops para la pieza del cuadro"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3914
|
||||
#: ../src/ui/theme-parser.c:3915
|
||||
msgid "No draw_ops provided for button"
|
||||
msgstr "No se dio draw_ops para botón"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3968
|
||||
#: ../src/ui/theme-parser.c:3969
|
||||
#, c-format
|
||||
msgid "No text is allowed inside element <%s>"
|
||||
msgstr "No se permite texto dentro del elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:4026 ../src/ui/theme-parser.c:4038
|
||||
#: ../src/ui/theme-parser.c:4050 ../src/ui/theme-parser.c:4062
|
||||
#: ../src/ui/theme-parser.c:4074
|
||||
#: ../src/ui/theme-parser.c:4027 ../src/ui/theme-parser.c:4039
|
||||
#: ../src/ui/theme-parser.c:4051 ../src/ui/theme-parser.c:4063
|
||||
#: ../src/ui/theme-parser.c:4075
|
||||
#, c-format
|
||||
msgid "<%s> specified twice for this theme"
|
||||
msgstr "<%s> especificado dos veces para este tema"
|
||||
|
||||
#: ../src/ui/theme-parser.c:4336
|
||||
#: ../src/ui/theme-parser.c:4337
|
||||
#, c-format
|
||||
msgid "Failed to find a valid file for theme %s\n"
|
||||
msgstr "Falló al encontrar un archivo válido para el tema%s\n"
|
||||
|
220
po/it.po
220
po/it.po
@ -1,19 +1,18 @@
|
||||
# Italian translation for Mutter.
|
||||
# Based on Italian translation for Metacity
|
||||
# This file is distributed under the same license as metacity package
|
||||
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2012 the mutter's copyright holder.
|
||||
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
|
||||
# Pier Luigi Fiorini <plfiorini@libero.it>, 2002.
|
||||
# Lapo Calamandrei <lapo.calamandrei@virgilio.it>, 2003.
|
||||
# Luca Ferretti <lferrett@gnome.org>, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
|
||||
# Milo Casagrande <milo@ubuntu.com>, 2012, 2013.
|
||||
# Milo Casagrande <milo@ubuntu.com>, 2012, 2013, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: mutter\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2013-08-24 19:11+0200\n"
|
||||
"PO-Revision-Date: 2013-08-24 19:11+0200\n"
|
||||
"POT-Creation-Date: 2014-01-10 08:54+0100\n"
|
||||
"PO-Revision-Date: 2014-01-10 08:54+0100\n"
|
||||
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
|
||||
"Language-Team: Italian <tp@lists.linux.it>\n"
|
||||
"Language: it\n"
|
||||
@ -217,7 +216,7 @@ msgstr "Massimizza a destra"
|
||||
|
||||
#. 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:596
|
||||
#: ../src/compositor/compositor.c:571
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
@ -226,7 +225,7 @@ msgstr ""
|
||||
"Un altro compositing manager è già in esecuzione sullo schermo %i sul "
|
||||
"display «%s»."
|
||||
|
||||
#: ../src/compositor/meta-background.c:1076
|
||||
#: ../src/compositor/meta-background.c:1075
|
||||
msgid "background texture could not be created from file"
|
||||
msgstr "La texture dello sfondo non può essere creata dal file"
|
||||
|
||||
@ -266,17 +265,17 @@ msgstr "_Attendi"
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Forza uscita"
|
||||
|
||||
#: ../src/core/display.c:422
|
||||
#: ../src/core/display.c:415
|
||||
#, c-format
|
||||
msgid "Missing %s extension required for compositing"
|
||||
msgstr "Estensione %s richiesta per il compositing mancante"
|
||||
|
||||
#: ../src/core/display.c:514
|
||||
#: ../src/core/display.c:507
|
||||
#, c-format
|
||||
msgid "Failed to open X Window System display '%s'\n"
|
||||
msgstr "Apertura del display «%s» di X Window System non riuscita\n"
|
||||
|
||||
#: ../src/core/keybindings.c:1136
|
||||
#: ../src/core/keybindings.c:1137
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Some other program is already using the key %s with modifiers %x as a "
|
||||
@ -285,7 +284,7 @@ msgstr ""
|
||||
"Qualche altro programma sta già usando il tasto %s con i modificatori %x "
|
||||
"come una associazione di tasti\n"
|
||||
|
||||
#: ../src/core/keybindings.c:1333
|
||||
#: ../src/core/keybindings.c:1334
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid accelerator\n"
|
||||
msgstr "«%s» non è una scorciatoia valida\n"
|
||||
@ -327,18 +326,25 @@ msgstr ""
|
||||
"Non è stato trovato alcun tema. Assicurarsi che %s esista e contenga i temi "
|
||||
"standard.\n"
|
||||
|
||||
#: ../src/core/monitor.c:702
|
||||
#: ../src/core/monitor.c:701
|
||||
msgid "Built-in display"
|
||||
msgstr "Display integrato"
|
||||
|
||||
#. TRANSLATORS: this is a monitor name (in case we don't know
|
||||
#. the vendor), it's Unknown followed by a size in inches,
|
||||
#. like 'Unknown 15"'
|
||||
#: ../src/core/monitor.c:726
|
||||
msgid "Unknown"
|
||||
msgstr "Sconosciuto"
|
||||
|
||||
#: ../src/core/monitor.c:728
|
||||
msgid "Unknown Display"
|
||||
msgstr "Display sconosciuto"
|
||||
|
||||
#. TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
#. * size in inches, like 'Dell 15"'
|
||||
#.
|
||||
#: ../src/core/monitor.c:730
|
||||
#: ../src/core/monitor.c:736
|
||||
#, c-format
|
||||
msgid "Unknown %s"
|
||||
msgstr "Sconosciuto %s"
|
||||
msgid "%s %s"
|
||||
msgstr "%s %s"
|
||||
|
||||
#: ../src/core/mutter.c:40
|
||||
#, c-format
|
||||
@ -401,12 +407,12 @@ msgstr ""
|
||||
msgid "Workspace %d"
|
||||
msgstr "Spazio di lavoro %d"
|
||||
|
||||
#: ../src/core/screen.c:537
|
||||
#: ../src/core/screen.c:540
|
||||
#, c-format
|
||||
msgid "Screen %d on display '%s' is invalid\n"
|
||||
msgstr "Lo schermo %d nel display «%s» non è valido\n"
|
||||
|
||||
#: ../src/core/screen.c:553
|
||||
#: ../src/core/screen.c:556
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@ -415,7 +421,7 @@ msgstr ""
|
||||
"Lo schermo %d sul display «%s» ha già un window manager; provare a "
|
||||
"utilizzare l'opzione --replace per sostituirlo.\n"
|
||||
|
||||
#: ../src/core/screen.c:580
|
||||
#: ../src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@ -423,12 +429,12 @@ msgstr ""
|
||||
"Impossibile acquisire la selezione del window manager per lo schermo %d nel "
|
||||
"display «%s»\n"
|
||||
|
||||
#: ../src/core/screen.c:658
|
||||
#: ../src/core/screen.c:661
|
||||
#, c-format
|
||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||
msgstr "Lo schermo %d sul display «%s» ha già un window manager\n"
|
||||
|
||||
#: ../src/core/screen.c:850
|
||||
#: ../src/core/screen.c:853
|
||||
#, c-format
|
||||
msgid "Could not release screen %d on display \"%s\"\n"
|
||||
msgstr "Impossibile rilasciare lo schermo %d sul display «%s»\n"
|
||||
@ -527,7 +533,7 @@ msgid "Window manager error: "
|
||||
msgstr "Errore del window manager: "
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:7533
|
||||
#: ../src/core/window.c:7590
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@ -543,7 +549,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:8257
|
||||
#: ../src/core/window.c:8512
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@ -553,26 +559,26 @@ msgstr ""
|
||||
"ridimensionabile, ma ha impostato la dimensione minima %d x %d e la "
|
||||
"dimensione massima %d x %d; ciò non ha senso.\n"
|
||||
|
||||
#: ../src/core/window-props.c:347
|
||||
#: ../src/core/window-props.c:350
|
||||
#, c-format
|
||||
msgid "Application set a bogus _NET_WM_PID %lu\n"
|
||||
msgstr "L'applicazione ha impostato un _NET_WM_PID errato %lu\n"
|
||||
|
||||
#: ../src/core/window-props.c:463
|
||||
#: ../src/core/window-props.c:466
|
||||
#, c-format
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (su %s)"
|
||||
|
||||
# Sì, direi che è oscuro -Luca
|
||||
#
|
||||
#: ../src/core/window-props.c:1546
|
||||
#: ../src/core/window-props.c:1549
|
||||
#, c-format
|
||||
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
|
||||
msgstr "Specificato un WM_TRANSIENT_FOR finestra 0x%lx non valido per %s.\n"
|
||||
|
||||
# Sì, direi che è oscuro -Luca
|
||||
#
|
||||
#: ../src/core/window-props.c:1557
|
||||
#: ../src/core/window-props.c:1560
|
||||
#, c-format
|
||||
msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
|
||||
msgstr "WM_TRANSIENT_FOR finestra 0x%lx per %s potrebbe creare un loop.\n"
|
||||
@ -1284,60 +1290,60 @@ msgstr "Nessun attributo «%s» nell'elemento <%s>"
|
||||
msgid "Line %d character %d: %s"
|
||||
msgstr "Riga %d carattere %d: %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:479
|
||||
#: ../src/ui/theme-parser.c:483
|
||||
#, c-format
|
||||
msgid "Attribute \"%s\" repeated twice on the same <%s> element"
|
||||
msgstr "L'attributo «%s» è ripetuto due volte nello stesso elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:503 ../src/ui/theme-parser.c:552
|
||||
#: ../src/ui/theme-parser.c:507 ../src/ui/theme-parser.c:556
|
||||
#, c-format
|
||||
msgid "Attribute \"%s\" is invalid on <%s> element in this context"
|
||||
msgstr "L'attributo «%s» non è valido nell'elemento <%s> in questo contesto"
|
||||
|
||||
#: ../src/ui/theme-parser.c:594
|
||||
#: ../src/ui/theme-parser.c:598
|
||||
#, c-format
|
||||
msgid "Could not parse \"%s\" as an integer"
|
||||
msgstr "Impossibile analizzare «%s» come un intero"
|
||||
|
||||
#: ../src/ui/theme-parser.c:603 ../src/ui/theme-parser.c:658
|
||||
#: ../src/ui/theme-parser.c:607 ../src/ui/theme-parser.c:662
|
||||
#, c-format
|
||||
msgid "Did not understand trailing characters \"%s\" in string \"%s\""
|
||||
msgstr ""
|
||||
"Non sono stati compresi i caratteri di chiusura «%s» nella stringa «%s»"
|
||||
|
||||
#: ../src/ui/theme-parser.c:613
|
||||
#: ../src/ui/theme-parser.c:617
|
||||
#, c-format
|
||||
msgid "Integer %ld must be positive"
|
||||
msgstr "L'intero %ld deve essere positivo"
|
||||
|
||||
#: ../src/ui/theme-parser.c:621
|
||||
#: ../src/ui/theme-parser.c:625
|
||||
#, c-format
|
||||
msgid "Integer %ld is too large, current max is %d"
|
||||
msgstr "L'intero %ld è troppo grande, il massimo corrente è %d"
|
||||
|
||||
#: ../src/ui/theme-parser.c:649 ../src/ui/theme-parser.c:765
|
||||
#: ../src/ui/theme-parser.c:653 ../src/ui/theme-parser.c:769
|
||||
#, c-format
|
||||
msgid "Could not parse \"%s\" as a floating point number"
|
||||
msgstr "Impossibile analizzare «%s» come numero in virgola mobile"
|
||||
|
||||
#: ../src/ui/theme-parser.c:680 ../src/ui/theme-parser.c:708
|
||||
#: ../src/ui/theme-parser.c:684 ../src/ui/theme-parser.c:712
|
||||
#, c-format
|
||||
msgid "Boolean values must be \"true\" or \"false\" not \"%s\""
|
||||
msgstr "I valori booleani devono essere «true» o «false», non «%s»"
|
||||
|
||||
# cambiato il finale, ma se è errore, vuol dire che %g è sbagliato..
|
||||
#: ../src/ui/theme-parser.c:735
|
||||
#: ../src/ui/theme-parser.c:739
|
||||
#, c-format
|
||||
msgid "Angle must be between 0.0 and 360.0, was %g\n"
|
||||
msgstr "L'angolo deve essere tra 0.0 e 360.0, non %g\n"
|
||||
|
||||
# come sopra
|
||||
#: ../src/ui/theme-parser.c:798
|
||||
#: ../src/ui/theme-parser.c:802
|
||||
#, c-format
|
||||
msgid "Alpha must be between 0.0 (invisible) and 1.0 (fully opaque), was %g\n"
|
||||
msgstr "Alpha deve essere tra 0.0 (trasparente) e 1.0 (opaco), non %g\n"
|
||||
|
||||
#: ../src/ui/theme-parser.c:863
|
||||
#: ../src/ui/theme-parser.c:867
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid title scale \"%s\" (must be one of xx-small,x-small,small,medium,"
|
||||
@ -1347,64 +1353,64 @@ msgstr ""
|
||||
"medium,large, x-large, o xx-large)\n"
|
||||
|
||||
# element_name, name
|
||||
#: ../src/ui/theme-parser.c:1019 ../src/ui/theme-parser.c:1082
|
||||
#: ../src/ui/theme-parser.c:1116 ../src/ui/theme-parser.c:1219
|
||||
#: ../src/ui/theme-parser.c:1023 ../src/ui/theme-parser.c:1086
|
||||
#: ../src/ui/theme-parser.c:1120 ../src/ui/theme-parser.c:1223
|
||||
#, c-format
|
||||
msgid "<%s> name \"%s\" used a second time"
|
||||
msgstr "Nome «%2$s» di <%1$s> usato una seconda volta"
|
||||
|
||||
# element_name, parent
|
||||
#: ../src/ui/theme-parser.c:1031 ../src/ui/theme-parser.c:1128
|
||||
#: ../src/ui/theme-parser.c:1231
|
||||
#: ../src/ui/theme-parser.c:1035 ../src/ui/theme-parser.c:1132
|
||||
#: ../src/ui/theme-parser.c:1235
|
||||
#, c-format
|
||||
msgid "<%s> parent \"%s\" has not been defined"
|
||||
msgstr "Il genitore «%2$s» di <%1$s> non è stato definito"
|
||||
|
||||
# element_name, geometry
|
||||
#: ../src/ui/theme-parser.c:1141
|
||||
#: ../src/ui/theme-parser.c:1145
|
||||
#, c-format
|
||||
msgid "<%s> geometry \"%s\" has not been defined"
|
||||
msgstr "La geometria «%2$s» di <%1$s> non è stata definita"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1154
|
||||
#: ../src/ui/theme-parser.c:1158
|
||||
#, c-format
|
||||
msgid "<%s> must specify either a geometry or a parent that has a geometry"
|
||||
msgstr "<%s> deve specificare una geometria o un genitore che ha una geometria"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1196
|
||||
#: ../src/ui/theme-parser.c:1200
|
||||
msgid "You must specify a background for an alpha value to be meaningful"
|
||||
msgstr ""
|
||||
"È necessario specificare uno sfondo per un valore alpha affinché sia "
|
||||
"significativo"
|
||||
|
||||
# in base al successivo, type dovrebbe essere parola chiave....
|
||||
#: ../src/ui/theme-parser.c:1264
|
||||
#: ../src/ui/theme-parser.c:1268
|
||||
#, c-format
|
||||
msgid "Unknown type \"%s\" on <%s> element"
|
||||
msgstr "type «%s» sconosciuto nell'elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1275
|
||||
#: ../src/ui/theme-parser.c:1279
|
||||
#, c-format
|
||||
msgid "Unknown style_set \"%s\" on <%s> element"
|
||||
msgstr "style_set «%s» sconosciuto nell'elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1283
|
||||
#: ../src/ui/theme-parser.c:1287
|
||||
#, c-format
|
||||
msgid "Window type \"%s\" has already been assigned a style set"
|
||||
msgstr ""
|
||||
"Al tipo di finestra «%s» è stata già assegnata una impostazione di stile"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1313 ../src/ui/theme-parser.c:1377
|
||||
#: ../src/ui/theme-parser.c:1603 ../src/ui/theme-parser.c:2838
|
||||
#: ../src/ui/theme-parser.c:2884 ../src/ui/theme-parser.c:3034
|
||||
#: ../src/ui/theme-parser.c:3273 ../src/ui/theme-parser.c:3311
|
||||
#: ../src/ui/theme-parser.c:3349 ../src/ui/theme-parser.c:3387
|
||||
#: ../src/ui/theme-parser.c:1317 ../src/ui/theme-parser.c:1381
|
||||
#: ../src/ui/theme-parser.c:1607 ../src/ui/theme-parser.c:2842
|
||||
#: ../src/ui/theme-parser.c:2888 ../src/ui/theme-parser.c:3038
|
||||
#: ../src/ui/theme-parser.c:3274 ../src/ui/theme-parser.c:3312
|
||||
#: ../src/ui/theme-parser.c:3350 ../src/ui/theme-parser.c:3388
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed below <%s>"
|
||||
msgstr "L'elemento <%s> non è consentito all'interno di <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1427 ../src/ui/theme-parser.c:1441
|
||||
#: ../src/ui/theme-parser.c:1486
|
||||
#: ../src/ui/theme-parser.c:1431 ../src/ui/theme-parser.c:1445
|
||||
#: ../src/ui/theme-parser.c:1490
|
||||
msgid ""
|
||||
"Cannot specify both \"button_width\"/\"button_height\" and \"aspect_ratio\" "
|
||||
"for buttons"
|
||||
@ -1412,128 +1418,128 @@ msgstr ""
|
||||
"Non è possibile specificare sia \"button_width\"/\"button_height\" che "
|
||||
"\"aspect_ratio\" per i pulsanti"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1450
|
||||
#: ../src/ui/theme-parser.c:1454
|
||||
#, c-format
|
||||
msgid "Distance \"%s\" is unknown"
|
||||
msgstr "La distanza «%s» è sconosciuta"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1495
|
||||
#: ../src/ui/theme-parser.c:1499
|
||||
#, c-format
|
||||
msgid "Aspect ratio \"%s\" is unknown"
|
||||
msgstr "Le proporzioni «%s» sono sconosciute"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1557
|
||||
#: ../src/ui/theme-parser.c:1561
|
||||
#, c-format
|
||||
msgid "Border \"%s\" is unknown"
|
||||
msgstr "Il bordo «%s» è sconosciuto"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1868
|
||||
#: ../src/ui/theme-parser.c:1872
|
||||
#, c-format
|
||||
msgid "No \"start_angle\" or \"from\" attribute on element <%s>"
|
||||
msgstr "Nessun attributo «start_angle» o «from» nell'elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1875
|
||||
#: ../src/ui/theme-parser.c:1879
|
||||
#, c-format
|
||||
msgid "No \"extent_angle\" or \"to\" attribute on element <%s>"
|
||||
msgstr "Nessun attributo «extent_angle» o «to» nell'elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2115
|
||||
#: ../src/ui/theme-parser.c:2119
|
||||
#, c-format
|
||||
msgid "Did not understand value \"%s\" for type of gradient"
|
||||
msgstr "Valore «%s» incomprensibile per il tipo di gradiente"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2193 ../src/ui/theme-parser.c:2568
|
||||
#: ../src/ui/theme-parser.c:2197 ../src/ui/theme-parser.c:2572
|
||||
#, c-format
|
||||
msgid "Did not understand fill type \"%s\" for <%s> element"
|
||||
msgstr "Tipo di riempimento «%s» incomprensibile per l'elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2360 ../src/ui/theme-parser.c:2443
|
||||
#: ../src/ui/theme-parser.c:2506
|
||||
#: ../src/ui/theme-parser.c:2364 ../src/ui/theme-parser.c:2447
|
||||
#: ../src/ui/theme-parser.c:2510
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" for <%s> element"
|
||||
msgstr "Stato «%s» incomprensibile per l'elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2370 ../src/ui/theme-parser.c:2453
|
||||
#: ../src/ui/theme-parser.c:2374 ../src/ui/theme-parser.c:2457
|
||||
#, c-format
|
||||
msgid "Did not understand shadow \"%s\" for <%s> element"
|
||||
msgstr "Ombra «%s» incomprensibile per l'elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2380
|
||||
#: ../src/ui/theme-parser.c:2384
|
||||
#, c-format
|
||||
msgid "Did not understand arrow \"%s\" for <%s> element"
|
||||
msgstr "Freccia «%s» incomprensibile per l'elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2694 ../src/ui/theme-parser.c:2790
|
||||
#: ../src/ui/theme-parser.c:2698 ../src/ui/theme-parser.c:2794
|
||||
#, c-format
|
||||
msgid "No <draw_ops> called \"%s\" has been defined"
|
||||
msgstr "Non è stato definito alcun <draw_ops> di nome «%s»"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2706 ../src/ui/theme-parser.c:2802
|
||||
#: ../src/ui/theme-parser.c:2710 ../src/ui/theme-parser.c:2806
|
||||
#, c-format
|
||||
msgid "Including draw_ops \"%s\" here would create a circular reference"
|
||||
msgstr ""
|
||||
"Includendo draw_ops «%s» qui si potrebbe creare un riferimento circolare"
|
||||
|
||||
# piece dovrebbe essere parola chiave
|
||||
#: ../src/ui/theme-parser.c:2917
|
||||
#: ../src/ui/theme-parser.c:2921
|
||||
#, c-format
|
||||
msgid "Unknown position \"%s\" for frame piece"
|
||||
msgstr "Posizione «%s» sconosciuta per il piece di cornice"
|
||||
|
||||
# piece dovrebbe essere parola chiave
|
||||
#: ../src/ui/theme-parser.c:2925
|
||||
#: ../src/ui/theme-parser.c:2929
|
||||
#, c-format
|
||||
msgid "Frame style already has a piece at position %s"
|
||||
msgstr "Lo stile della cornice ha già una piece alla posizione %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2942 ../src/ui/theme-parser.c:3019
|
||||
#: ../src/ui/theme-parser.c:2946 ../src/ui/theme-parser.c:3023
|
||||
#, c-format
|
||||
msgid "No <draw_ops> with the name \"%s\" has been defined"
|
||||
msgstr "Non è stato definito alcun <draw_ops> con il nome «%s»"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2972
|
||||
#: ../src/ui/theme-parser.c:2976
|
||||
#, c-format
|
||||
msgid "Unknown function \"%s\" for button"
|
||||
msgstr "Funzione «%s» sconosciuta per il pulsante"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2982
|
||||
#: ../src/ui/theme-parser.c:2986
|
||||
#, c-format
|
||||
msgid "Button function \"%s\" does not exist in this version (%d, need %d)"
|
||||
msgstr ""
|
||||
"La funzione di pulsante «%s» non esiste in questa versione (%d, necessaria "
|
||||
"%d)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2994
|
||||
#: ../src/ui/theme-parser.c:2998
|
||||
#, c-format
|
||||
msgid "Unknown state \"%s\" for button"
|
||||
msgstr "Stato «%s» sconosciuto per il pulsate"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3002
|
||||
#: ../src/ui/theme-parser.c:3006
|
||||
#, c-format
|
||||
msgid "Frame style already has a button for function %s state %s"
|
||||
msgstr "Lo stile della cornice ha già un pulsante per la funzione %s stato %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3073
|
||||
#: ../src/ui/theme-parser.c:3077
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid value for focus attribute"
|
||||
msgstr "«%s» non è un valore valido per l'attributo focus"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3082
|
||||
#: ../src/ui/theme-parser.c:3086
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid value for state attribute"
|
||||
msgstr "«%s» non è un valore valido per l'attributo state"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3092
|
||||
#: ../src/ui/theme-parser.c:3096
|
||||
#, c-format
|
||||
msgid "A style called \"%s\" has not been defined"
|
||||
msgstr "Uno stile chiamato «%s» non è stato definito"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3113 ../src/ui/theme-parser.c:3136
|
||||
#: ../src/ui/theme-parser.c:3117 ../src/ui/theme-parser.c:3140
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid value for resize attribute"
|
||||
msgstr "«%s» non è un valore valido per l'attributo resize"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3147
|
||||
#: ../src/ui/theme-parser.c:3151
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Should not have \"resize\" attribute on <%s> element for maximized/shaded "
|
||||
@ -1542,7 +1548,7 @@ msgstr ""
|
||||
"Non si dovrebbe avere l'attributo «resize» nell'elemento <%s> per gli stati "
|
||||
"maximized/shaded"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3161
|
||||
#: ../src/ui/theme-parser.c:3165
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Should not have \"resize\" attribute on <%s> element for maximized states"
|
||||
@ -1550,19 +1556,19 @@ msgstr ""
|
||||
"Non si dovrebbe avere l'attributo «resize» nell'elemento <%s> per gli stati "
|
||||
"maximized"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3175 ../src/ui/theme-parser.c:3222
|
||||
#: ../src/ui/theme-parser.c:3179 ../src/ui/theme-parser.c:3223
|
||||
#, c-format
|
||||
msgid "Style has already been specified for state %s resize %s focus %s"
|
||||
msgstr "Lo stile è stato già specificato per lo stato %s resize %s focus %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3186 ../src/ui/theme-parser.c:3197
|
||||
#: ../src/ui/theme-parser.c:3208 ../src/ui/theme-parser.c:3233
|
||||
#: ../src/ui/theme-parser.c:3244 ../src/ui/theme-parser.c:3255
|
||||
#: ../src/ui/theme-parser.c:3190 ../src/ui/theme-parser.c:3201
|
||||
#: ../src/ui/theme-parser.c:3212 ../src/ui/theme-parser.c:3234
|
||||
#: ../src/ui/theme-parser.c:3245 ../src/ui/theme-parser.c:3256
|
||||
#, c-format
|
||||
msgid "Style has already been specified for state %s focus %s"
|
||||
msgstr "Lo stile è stato già specificato per lo stato %s focus %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3294
|
||||
#: ../src/ui/theme-parser.c:3295
|
||||
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)"
|
||||
@ -1571,7 +1577,7 @@ msgstr ""
|
||||
"specificato un attributo draw_ops e anche un elemento <draw_ops>, o ha "
|
||||
"specificato due elementi)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3332
|
||||
#: ../src/ui/theme-parser.c:3333
|
||||
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)"
|
||||
@ -1580,7 +1586,7 @@ msgstr ""
|
||||
"specificato un attributo draw_ops e anche un elemento <draw_ops>, o ha "
|
||||
"specificato due elementi)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3370
|
||||
#: ../src/ui/theme-parser.c:3371
|
||||
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)"
|
||||
@ -1589,12 +1595,12 @@ msgstr ""
|
||||
"specificato un attributo draw_ops e anche un elemento <draw_ops>, o ha "
|
||||
"specificato due elementi)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3434
|
||||
#: ../src/ui/theme-parser.c:3435
|
||||
#, c-format
|
||||
msgid "Bad version specification '%s'"
|
||||
msgstr "Specificazione di versione «%s» errata"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3507
|
||||
#: ../src/ui/theme-parser.c:3508
|
||||
msgid ""
|
||||
"\"version\" attribute cannot be used in metacity-theme-1.xml or metacity-"
|
||||
"theme-2.xml"
|
||||
@ -1602,19 +1608,19 @@ msgstr ""
|
||||
"L'attributo «version» non può essere usato in metacity-theme-1.xml o "
|
||||
"metacity-theme-2.xml"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3530
|
||||
#: ../src/ui/theme-parser.c:3531
|
||||
#, c-format
|
||||
msgid "Theme requires version %s but latest supported theme version is %d.%d"
|
||||
msgstr ""
|
||||
"Il tema richiede la versione %s, ma la versione di tema supportata più "
|
||||
"recente è la %d.%d"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3562
|
||||
#: ../src/ui/theme-parser.c:3563
|
||||
#, c-format
|
||||
msgid "Outermost element in theme must be <metacity_theme> not <%s>"
|
||||
msgstr "L'elemento più esterno nel tema deve essere <metacity_theme> not <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3582
|
||||
#: ../src/ui/theme-parser.c:3583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Element <%s> is not allowed inside a name/author/date/description element"
|
||||
@ -1622,12 +1628,12 @@ msgstr ""
|
||||
"L'elemento <%s> non è consentito all'interno di un elemento name/author/date/"
|
||||
"description"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3587
|
||||
#: ../src/ui/theme-parser.c:3588
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed inside a <constant> element"
|
||||
msgstr "L'elemento <%s> non è consentito all'interno di un elemento <constant>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3599
|
||||
#: ../src/ui/theme-parser.c:3600
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Element <%s> is not allowed inside a distance/border/aspect_ratio element"
|
||||
@ -1635,41 +1641,41 @@ msgstr ""
|
||||
"L'elemento <%s> non è consentito all'interno di un elemento distance/border/"
|
||||
"aspect_ratio"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3621
|
||||
#: ../src/ui/theme-parser.c:3622
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed inside a draw operation element"
|
||||
msgstr ""
|
||||
"L'elemento <%s> non è consentito all'interno di un elemento relativo "
|
||||
"un'operazione di disegno"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3631 ../src/ui/theme-parser.c:3661
|
||||
#: ../src/ui/theme-parser.c:3666 ../src/ui/theme-parser.c:3671
|
||||
#: ../src/ui/theme-parser.c:3632 ../src/ui/theme-parser.c:3662
|
||||
#: ../src/ui/theme-parser.c:3667 ../src/ui/theme-parser.c:3672
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed inside a <%s> element"
|
||||
msgstr "L'elemento <%s> non è consentito all'interno di un elemento <%s>"
|
||||
|
||||
# piece dovrebbe essere parola chiave
|
||||
#: ../src/ui/theme-parser.c:3899
|
||||
#: ../src/ui/theme-parser.c:3900
|
||||
msgid "No draw_ops provided for frame piece"
|
||||
msgstr "Nessun draw_ops fornito per il piece di cornice"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3914
|
||||
#: ../src/ui/theme-parser.c:3915
|
||||
msgid "No draw_ops provided for button"
|
||||
msgstr "Nessun draw_ops fornito per il pulsante"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3968
|
||||
#: ../src/ui/theme-parser.c:3969
|
||||
#, c-format
|
||||
msgid "No text is allowed inside element <%s>"
|
||||
msgstr "Il testo non è consentito all'interno dell'elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:4026 ../src/ui/theme-parser.c:4038
|
||||
#: ../src/ui/theme-parser.c:4050 ../src/ui/theme-parser.c:4062
|
||||
#: ../src/ui/theme-parser.c:4074
|
||||
#: ../src/ui/theme-parser.c:4027 ../src/ui/theme-parser.c:4039
|
||||
#: ../src/ui/theme-parser.c:4051 ../src/ui/theme-parser.c:4063
|
||||
#: ../src/ui/theme-parser.c:4075
|
||||
#, c-format
|
||||
msgid "<%s> specified twice for this theme"
|
||||
msgstr "<%s> specificato due volte per questo tema"
|
||||
|
||||
#: ../src/ui/theme-parser.c:4336
|
||||
#: ../src/ui/theme-parser.c:4337
|
||||
#, c-format
|
||||
msgid "Failed to find a valid file for theme %s\n"
|
||||
msgstr "Ricerca di un file valido per il tema «%s» non riuscita\n"
|
||||
|
208
po/pt_BR.po
208
po/pt_BR.po
@ -1,5 +1,5 @@
|
||||
# Brazilian Portuguese translation of mutter.
|
||||
# Copyright (C) 2002-2012 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2002-2014 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the mutter package.
|
||||
# Sun G11n <gnome_int_l10n@ireland.sun.com>, 2002.
|
||||
# Evandro Fernandes Giovanini <evandrofg@ig.com.br>, 2002, 2003, 2006.
|
||||
@ -14,15 +14,15 @@
|
||||
# Antonio Fernandes C. Neto <fernandes@pelivre.org>, 2010.
|
||||
# Rodrigo Padula de Oliveira <contato@rodrigopadula.com>, 2011.
|
||||
# Enrico Nicoletto <liverig@gmail.com>, 2012.
|
||||
# Rafael Ferreira <rafael.f.f1@gmail.co>, 2013.
|
||||
# Rafael Ferreira <rafael.f.f1@gmail.co>, 2013, 2014.
|
||||
#
|
||||
msgid ""
|
||||
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: 2013-08-20 12:22+0000\n"
|
||||
"PO-Revision-Date: 2013-08-18 21:39-0300\n"
|
||||
"POT-Creation-Date: 2013-12-19 15:30+0000\n"
|
||||
"PO-Revision-Date: 2014-01-05 03:08-0300\n"
|
||||
"Last-Translator: Rafael Ferreira <rafael.f.f1@gmail.com>\n"
|
||||
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
|
||||
"Language: pt_BR\n"
|
||||
@ -30,7 +30,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"X-Generator: Poedit 1.5.7\n"
|
||||
"X-Generator: Poedit 1.6.3\n"
|
||||
|
||||
#: ../src/50-mutter-navigation.xml.in.h:1
|
||||
msgid "Navigation"
|
||||
@ -222,7 +222,7 @@ msgstr "Visualizar divisão à direita"
|
||||
|
||||
#. 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:596
|
||||
#: ../src/compositor/compositor.c:571
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Another compositing manager is already running on screen %i on display \"%s"
|
||||
@ -230,7 +230,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Outro compositor de janelas está em execução na tela %i na área \"%s\"."
|
||||
|
||||
#: ../src/compositor/meta-background.c:1076
|
||||
#: ../src/compositor/meta-background.c:1075
|
||||
msgid "background texture could not be created from file"
|
||||
msgstr "textura de plano de fundo não pôde ser criado de arquivo"
|
||||
|
||||
@ -268,17 +268,17 @@ msgstr "_Esperar"
|
||||
msgid "_Force Quit"
|
||||
msgstr "_Forçar sair"
|
||||
|
||||
#: ../src/core/display.c:421
|
||||
#: ../src/core/display.c:415
|
||||
#, c-format
|
||||
msgid "Missing %s extension required for compositing"
|
||||
msgstr "Faltando extensão %s necessária para composição"
|
||||
|
||||
#: ../src/core/display.c:513
|
||||
#: ../src/core/display.c:507
|
||||
#, 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:1136
|
||||
#: ../src/core/keybindings.c:1137
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Some other program is already using the key %s with modifiers %x as a "
|
||||
@ -287,7 +287,7 @@ msgstr ""
|
||||
"Algum outro programa já está usando a chave %s com modificadores %x como uma "
|
||||
"tecla de atalho\n"
|
||||
|
||||
#: ../src/core/keybindings.c:1333
|
||||
#: ../src/core/keybindings.c:1334
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid accelerator\n"
|
||||
msgstr "\"%s\" não é um acelerador válido\n"
|
||||
@ -329,7 +329,7 @@ msgstr ""
|
||||
"Não foi possível localizar um tema! Verifique se %s existe e contém os temas "
|
||||
"comuns.\n"
|
||||
|
||||
#: ../src/core/monitor.c:702
|
||||
#: ../src/core/monitor.c:696
|
||||
msgid "Built-in display"
|
||||
msgstr "Tela embutida"
|
||||
|
||||
@ -337,7 +337,7 @@ msgstr "Tela embutida"
|
||||
#. the vendor), it's Unknown followed by a size in inches,
|
||||
#. like 'Unknown 15"'
|
||||
#.
|
||||
#: ../src/core/monitor.c:730
|
||||
#: ../src/core/monitor.c:724
|
||||
#, c-format
|
||||
msgid "Unknown %s"
|
||||
msgstr "%s desconhecido"
|
||||
@ -404,12 +404,12 @@ msgstr ""
|
||||
msgid "Workspace %d"
|
||||
msgstr "Espaço de trabalho %d"
|
||||
|
||||
#: ../src/core/screen.c:535
|
||||
#: ../src/core/screen.c:540
|
||||
#, 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:551
|
||||
#: ../src/core/screen.c:556
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||
@ -418,7 +418,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:578
|
||||
#: ../src/core/screen.c:583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||
@ -426,12 +426,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:656
|
||||
#: ../src/core/screen.c:661
|
||||
#, 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:848
|
||||
#: ../src/core/screen.c:853
|
||||
#, 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"
|
||||
@ -528,7 +528,7 @@ msgid "Window manager error: "
|
||||
msgstr "Erro do gerenciador de janelas: "
|
||||
|
||||
#. first time through
|
||||
#: ../src/core/window.c:7533
|
||||
#: ../src/core/window.c:7620
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||
@ -544,7 +544,7 @@ msgstr ""
|
||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||
#. * about these apps but make them work.
|
||||
#.
|
||||
#: ../src/core/window.c:8257
|
||||
#: ../src/core/window.c:8542
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||
@ -554,22 +554,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:347
|
||||
#: ../src/core/window-props.c:350
|
||||
#, 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:463
|
||||
#: ../src/core/window-props.c:466
|
||||
#, c-format
|
||||
msgid "%s (on %s)"
|
||||
msgstr "%s (em %s)"
|
||||
|
||||
#: ../src/core/window-props.c:1546
|
||||
#: ../src/core/window-props.c:1549
|
||||
#, 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:1557
|
||||
#: ../src/core/window-props.c:1560
|
||||
#, 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"
|
||||
@ -977,7 +977,7 @@ msgstr "A geometria do quadro não especifica o tamanho dos botões"
|
||||
#: ../src/ui/theme.c:1051
|
||||
#, c-format
|
||||
msgid "Gradients should have at least two colors"
|
||||
msgstr "Os gradientes devem ter pelo menos duas cores"
|
||||
msgstr "Os degradês devem ter pelo menos duas cores"
|
||||
|
||||
#: ../src/ui/theme.c:1203
|
||||
#, c-format
|
||||
@ -1252,59 +1252,59 @@ msgstr "Nenhum atributo \"%s\" no elemento <%s>"
|
||||
msgid "Line %d character %d: %s"
|
||||
msgstr "Caractere %d da linha %d: %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:479
|
||||
#: ../src/ui/theme-parser.c:483
|
||||
#, c-format
|
||||
msgid "Attribute \"%s\" repeated twice on the same <%s> element"
|
||||
msgstr "O atributo \"%s\" foi repetido duas vezes no mesmo elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:503 ../src/ui/theme-parser.c:552
|
||||
#: ../src/ui/theme-parser.c:507 ../src/ui/theme-parser.c:556
|
||||
#, c-format
|
||||
msgid "Attribute \"%s\" is invalid on <%s> element in this context"
|
||||
msgstr "O atributo \"%s\" é inválido no elemento <%s> neste contexto"
|
||||
|
||||
#: ../src/ui/theme-parser.c:594
|
||||
#: ../src/ui/theme-parser.c:598
|
||||
#, c-format
|
||||
msgid "Could not parse \"%s\" as an integer"
|
||||
msgstr "Não foi possível analisar \"%s\" como um inteiro"
|
||||
|
||||
#: ../src/ui/theme-parser.c:603 ../src/ui/theme-parser.c:658
|
||||
#: ../src/ui/theme-parser.c:607 ../src/ui/theme-parser.c:662
|
||||
#, c-format
|
||||
msgid "Did not understand trailing characters \"%s\" in string \"%s\""
|
||||
msgstr ""
|
||||
"Os caracteres à direita \"%s\" na string \"%s\" não foram compreendidos"
|
||||
|
||||
#: ../src/ui/theme-parser.c:613
|
||||
#: ../src/ui/theme-parser.c:617
|
||||
#, c-format
|
||||
msgid "Integer %ld must be positive"
|
||||
msgstr "O inteiro %ld deve ser positivo"
|
||||
|
||||
#: ../src/ui/theme-parser.c:621
|
||||
#: ../src/ui/theme-parser.c:625
|
||||
#, c-format
|
||||
msgid "Integer %ld is too large, current max is %d"
|
||||
msgstr "O inteiro %ld é muito grande; o valor máximo atual é %d"
|
||||
|
||||
#: ../src/ui/theme-parser.c:649 ../src/ui/theme-parser.c:765
|
||||
#: ../src/ui/theme-parser.c:653 ../src/ui/theme-parser.c:769
|
||||
#, c-format
|
||||
msgid "Could not parse \"%s\" as a floating point number"
|
||||
msgstr "Não foi possível analisar \"%s\" como um número de ponto flutuante"
|
||||
|
||||
#: ../src/ui/theme-parser.c:680 ../src/ui/theme-parser.c:708
|
||||
#: ../src/ui/theme-parser.c:684 ../src/ui/theme-parser.c:712
|
||||
#, c-format
|
||||
msgid "Boolean values must be \"true\" or \"false\" not \"%s\""
|
||||
msgstr "Os valores booleanos devem ser \"true\" ou \"false\" e não \"%s\""
|
||||
|
||||
#: ../src/ui/theme-parser.c:735
|
||||
#: ../src/ui/theme-parser.c:739
|
||||
#, c-format
|
||||
msgid "Angle must be between 0.0 and 360.0, was %g\n"
|
||||
msgstr "O ângulo deve estar entre 0,0 e 360,0 e era %g\n"
|
||||
|
||||
#: ../src/ui/theme-parser.c:798
|
||||
#: ../src/ui/theme-parser.c:802
|
||||
#, c-format
|
||||
msgid "Alpha must be between 0.0 (invisible) and 1.0 (fully opaque), was %g\n"
|
||||
msgstr ""
|
||||
"Alfa deve estar entre 0,0 (invisível) e 1,0 (totalmente opaco) e era %g\n"
|
||||
|
||||
#: ../src/ui/theme-parser.c:863
|
||||
#: ../src/ui/theme-parser.c:867
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Invalid title scale \"%s\" (must be one of xx-small,x-small,small,medium,"
|
||||
@ -1313,59 +1313,59 @@ msgstr ""
|
||||
"Escala de título \"%s\" inválida (deve ser super pequena, extra pequena, "
|
||||
"pequena, média, grande, extra grande ou super grande)\n"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1019 ../src/ui/theme-parser.c:1082
|
||||
#: ../src/ui/theme-parser.c:1116 ../src/ui/theme-parser.c:1219
|
||||
#: ../src/ui/theme-parser.c:1023 ../src/ui/theme-parser.c:1086
|
||||
#: ../src/ui/theme-parser.c:1120 ../src/ui/theme-parser.c:1223
|
||||
#, c-format
|
||||
msgid "<%s> name \"%s\" used a second time"
|
||||
msgstr "<%s> nome \"%s\" usado uma segunda vez"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1031 ../src/ui/theme-parser.c:1128
|
||||
#: ../src/ui/theme-parser.c:1231
|
||||
#: ../src/ui/theme-parser.c:1035 ../src/ui/theme-parser.c:1132
|
||||
#: ../src/ui/theme-parser.c:1235
|
||||
#, c-format
|
||||
msgid "<%s> parent \"%s\" has not been defined"
|
||||
msgstr "<%s> pai \"%s\" não foi definido"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1141
|
||||
#: ../src/ui/theme-parser.c:1145
|
||||
#, c-format
|
||||
msgid "<%s> geometry \"%s\" has not been defined"
|
||||
msgstr "<%s> geometria \"%s\" não foi definida"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1154
|
||||
#: ../src/ui/theme-parser.c:1158
|
||||
#, c-format
|
||||
msgid "<%s> must specify either a geometry or a parent that has a geometry"
|
||||
msgstr "<%s> deve especificar uma geometria ou um pai que tenha uma geometria"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1196
|
||||
#: ../src/ui/theme-parser.c:1200
|
||||
msgid "You must specify a background for an alpha value to be meaningful"
|
||||
msgstr ""
|
||||
"Você pode especificar um plano de fundo para que um valor alfa faça sentido"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1264
|
||||
#: ../src/ui/theme-parser.c:1268
|
||||
#, c-format
|
||||
msgid "Unknown type \"%s\" on <%s> element"
|
||||
msgstr "Tipo \"%s\" desconhecido no elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1275
|
||||
#: ../src/ui/theme-parser.c:1279
|
||||
#, c-format
|
||||
msgid "Unknown style_set \"%s\" on <%s> element"
|
||||
msgstr "conjunto_de_estilo \"%s\" desconhecido no elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1283
|
||||
#: ../src/ui/theme-parser.c:1287
|
||||
#, c-format
|
||||
msgid "Window type \"%s\" has already been assigned a style set"
|
||||
msgstr "O tipo de janela \"%s\" já foi atribuído a um estilo definido"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1313 ../src/ui/theme-parser.c:1377
|
||||
#: ../src/ui/theme-parser.c:1603 ../src/ui/theme-parser.c:2838
|
||||
#: ../src/ui/theme-parser.c:2884 ../src/ui/theme-parser.c:3034
|
||||
#: ../src/ui/theme-parser.c:3273 ../src/ui/theme-parser.c:3311
|
||||
#: ../src/ui/theme-parser.c:3349 ../src/ui/theme-parser.c:3387
|
||||
#: ../src/ui/theme-parser.c:1317 ../src/ui/theme-parser.c:1381
|
||||
#: ../src/ui/theme-parser.c:1607 ../src/ui/theme-parser.c:2842
|
||||
#: ../src/ui/theme-parser.c:2888 ../src/ui/theme-parser.c:3038
|
||||
#: ../src/ui/theme-parser.c:3274 ../src/ui/theme-parser.c:3312
|
||||
#: ../src/ui/theme-parser.c:3350 ../src/ui/theme-parser.c:3388
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed below <%s>"
|
||||
msgstr "O elemento <%s> não é permitido abaixo de <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1427 ../src/ui/theme-parser.c:1441
|
||||
#: ../src/ui/theme-parser.c:1486
|
||||
#: ../src/ui/theme-parser.c:1431 ../src/ui/theme-parser.c:1445
|
||||
#: ../src/ui/theme-parser.c:1490
|
||||
msgid ""
|
||||
"Cannot specify both \"button_width\"/\"button_height\" and \"aspect_ratio\" "
|
||||
"for buttons"
|
||||
@ -1373,124 +1373,124 @@ msgstr ""
|
||||
"Não foi possível especificar \"button_width\"/\"button_height\" e "
|
||||
"\"aspect_ratio\" para os botões"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1450
|
||||
#: ../src/ui/theme-parser.c:1454
|
||||
#, c-format
|
||||
msgid "Distance \"%s\" is unknown"
|
||||
msgstr "A distância \"%s\" é desconhecida"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1495
|
||||
#: ../src/ui/theme-parser.c:1499
|
||||
#, c-format
|
||||
msgid "Aspect ratio \"%s\" is unknown"
|
||||
msgstr "A taxa de proporção \"%s\" é desconhecida"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1557
|
||||
#: ../src/ui/theme-parser.c:1561
|
||||
#, c-format
|
||||
msgid "Border \"%s\" is unknown"
|
||||
msgstr "A borda \"%s\" é desconhecida"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1868
|
||||
#: ../src/ui/theme-parser.c:1872
|
||||
#, c-format
|
||||
msgid "No \"start_angle\" or \"from\" attribute on element <%s>"
|
||||
msgstr "Nenhum atributo \"start_angle\" ou \"from\" no elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:1875
|
||||
#: ../src/ui/theme-parser.c:1879
|
||||
#, c-format
|
||||
msgid "No \"extent_angle\" or \"to\" attribute on element <%s>"
|
||||
msgstr "Nenhum atributo \"extent_angle\" ou \"to\" no elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2115
|
||||
#: ../src/ui/theme-parser.c:2119
|
||||
#, c-format
|
||||
msgid "Did not understand value \"%s\" for type of gradient"
|
||||
msgstr "O valor \"%s\" não foi compreendido para o tipo de gradiente"
|
||||
msgstr "O valor \"%s\" não foi compreendido para o tipo de degradê"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2193 ../src/ui/theme-parser.c:2568
|
||||
#: ../src/ui/theme-parser.c:2197 ../src/ui/theme-parser.c:2572
|
||||
#, c-format
|
||||
msgid "Did not understand fill type \"%s\" for <%s> element"
|
||||
msgstr ""
|
||||
"O tipo de preenchimento \"%s\" não foi compreendido para o elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2360 ../src/ui/theme-parser.c:2443
|
||||
#: ../src/ui/theme-parser.c:2506
|
||||
#: ../src/ui/theme-parser.c:2364 ../src/ui/theme-parser.c:2447
|
||||
#: ../src/ui/theme-parser.c:2510
|
||||
#, c-format
|
||||
msgid "Did not understand state \"%s\" for <%s> element"
|
||||
msgstr "O estado \"%s\" não foi compreendido para o elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2370 ../src/ui/theme-parser.c:2453
|
||||
#: ../src/ui/theme-parser.c:2374 ../src/ui/theme-parser.c:2457
|
||||
#, c-format
|
||||
msgid "Did not understand shadow \"%s\" for <%s> element"
|
||||
msgstr "A sombra \"%s\" não foi compreendida para o elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2380
|
||||
#: ../src/ui/theme-parser.c:2384
|
||||
#, c-format
|
||||
msgid "Did not understand arrow \"%s\" for <%s> element"
|
||||
msgstr "A seta \"%s\" não foi compreendida para o elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2694 ../src/ui/theme-parser.c:2790
|
||||
#: ../src/ui/theme-parser.c:2698 ../src/ui/theme-parser.c:2794
|
||||
#, c-format
|
||||
msgid "No <draw_ops> called \"%s\" has been defined"
|
||||
msgstr "Nenhum <draw_ops> chamado \"%s\" foi definido"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2706 ../src/ui/theme-parser.c:2802
|
||||
#: ../src/ui/theme-parser.c:2710 ../src/ui/theme-parser.c:2806
|
||||
#, c-format
|
||||
msgid "Including draw_ops \"%s\" here would create a circular reference"
|
||||
msgstr "A inclusão do draw_ops \"%s\" aqui criaria uma referência circular"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2917
|
||||
#: ../src/ui/theme-parser.c:2921
|
||||
#, c-format
|
||||
msgid "Unknown position \"%s\" for frame piece"
|
||||
msgstr "Posição \"%s\" desconhecida para a parte do quadro"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2925
|
||||
#: ../src/ui/theme-parser.c:2929
|
||||
#, c-format
|
||||
msgid "Frame style already has a piece at position %s"
|
||||
msgstr "O estilo de quadro já tem uma parte na posição %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2942 ../src/ui/theme-parser.c:3019
|
||||
#: ../src/ui/theme-parser.c:2946 ../src/ui/theme-parser.c:3023
|
||||
#, c-format
|
||||
msgid "No <draw_ops> with the name \"%s\" has been defined"
|
||||
msgstr "Nenhum <draw_ops> com o nome \"%s\" foi definido"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2972
|
||||
#: ../src/ui/theme-parser.c:2976
|
||||
#, c-format
|
||||
msgid "Unknown function \"%s\" for button"
|
||||
msgstr "Função \"%s\" desconhecida para o botão"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2982
|
||||
#: ../src/ui/theme-parser.c:2986
|
||||
#, c-format
|
||||
msgid "Button function \"%s\" does not exist in this version (%d, need %d)"
|
||||
msgstr "A função \"%s\" de botão não existe nesta versão (%d, necessário %d)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:2994
|
||||
#: ../src/ui/theme-parser.c:2998
|
||||
#, c-format
|
||||
msgid "Unknown state \"%s\" for button"
|
||||
msgstr "Estado \"%s\" desconhecido para o botão"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3002
|
||||
#: ../src/ui/theme-parser.c:3006
|
||||
#, c-format
|
||||
msgid "Frame style already has a button for function %s state %s"
|
||||
msgstr "O estilo de quadro já possui um botão para o estado %s da função %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3073
|
||||
#: ../src/ui/theme-parser.c:3077
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid value for focus attribute"
|
||||
msgstr "\"%s\" não é um valor válido para o atributo de foco"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3082
|
||||
#: ../src/ui/theme-parser.c:3086
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid value for state attribute"
|
||||
msgstr "\"%s\" não é um valor válido para o atributo de estado"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3092
|
||||
#: ../src/ui/theme-parser.c:3096
|
||||
#, c-format
|
||||
msgid "A style called \"%s\" has not been defined"
|
||||
msgstr "Um estilo chamado \"%s\" não foi definido"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3113 ../src/ui/theme-parser.c:3136
|
||||
#: ../src/ui/theme-parser.c:3117 ../src/ui/theme-parser.c:3140
|
||||
#, c-format
|
||||
msgid "\"%s\" is not a valid value for resize attribute"
|
||||
msgstr "\"%s\" não é um valor válido para o atributo de redimensionamento"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3147
|
||||
#: ../src/ui/theme-parser.c:3151
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Should not have \"resize\" attribute on <%s> element for maximized/shaded "
|
||||
@ -1499,7 +1499,7 @@ msgstr ""
|
||||
"Não deve haver o atributo \"resize\" no elemento <%s> para os estados "
|
||||
"maximizado/sombreado"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3161
|
||||
#: ../src/ui/theme-parser.c:3165
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Should not have \"resize\" attribute on <%s> element for maximized states"
|
||||
@ -1507,21 +1507,21 @@ msgstr ""
|
||||
"Não deve haver o atributo \"resize\" no elemento <%s> para os estados "
|
||||
"maximizados"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3175 ../src/ui/theme-parser.c:3222
|
||||
#: ../src/ui/theme-parser.c:3179 ../src/ui/theme-parser.c:3223
|
||||
#, c-format
|
||||
msgid "Style has already been specified for state %s resize %s focus %s"
|
||||
msgstr ""
|
||||
"O estilo já foi especificado para o foco %s de redimensionamento %s do "
|
||||
"estado %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3186 ../src/ui/theme-parser.c:3197
|
||||
#: ../src/ui/theme-parser.c:3208 ../src/ui/theme-parser.c:3233
|
||||
#: ../src/ui/theme-parser.c:3244 ../src/ui/theme-parser.c:3255
|
||||
#: ../src/ui/theme-parser.c:3190 ../src/ui/theme-parser.c:3201
|
||||
#: ../src/ui/theme-parser.c:3212 ../src/ui/theme-parser.c:3234
|
||||
#: ../src/ui/theme-parser.c:3245 ../src/ui/theme-parser.c:3256
|
||||
#, c-format
|
||||
msgid "Style has already been specified for state %s focus %s"
|
||||
msgstr "O estilo já foi especificado para o foco %s do estado %s"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3294
|
||||
#: ../src/ui/theme-parser.c:3295
|
||||
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)"
|
||||
@ -1530,7 +1530,7 @@ msgstr ""
|
||||
"especificou um atributo draw_ops e um elemento <draw_ops> ou especificou "
|
||||
"dois elementos)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3332
|
||||
#: ../src/ui/theme-parser.c:3333
|
||||
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)"
|
||||
@ -1539,7 +1539,7 @@ msgstr ""
|
||||
"especificou um atributo draw_ops e um elemento <draw_ops> ou especificou "
|
||||
"dois elementos)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3370
|
||||
#: ../src/ui/theme-parser.c:3371
|
||||
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)"
|
||||
@ -1548,12 +1548,12 @@ msgstr ""
|
||||
"especificou um atributo draw_ops e um elemento <draw_ops> ou especificou "
|
||||
"dois elementos)"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3434
|
||||
#: ../src/ui/theme-parser.c:3435
|
||||
#, c-format
|
||||
msgid "Bad version specification '%s'"
|
||||
msgstr "Especificação da versão inválida \"%s\""
|
||||
|
||||
#: ../src/ui/theme-parser.c:3507
|
||||
#: ../src/ui/theme-parser.c:3508
|
||||
msgid ""
|
||||
"\"version\" attribute cannot be used in metacity-theme-1.xml or metacity-"
|
||||
"theme-2.xml"
|
||||
@ -1561,29 +1561,29 @@ msgstr ""
|
||||
"O atributo \"versão\" não pode ser usado em metacity-theme-1.xml ou metacity-"
|
||||
"theme-2.xml"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3530
|
||||
#: ../src/ui/theme-parser.c:3531
|
||||
#, c-format
|
||||
msgid "Theme requires version %s but latest supported theme version is %d.%d"
|
||||
msgstr "Tema requer versão %s, mas a última versão que o tema suporta é %d.%d"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3562
|
||||
#: ../src/ui/theme-parser.c:3563
|
||||
#, c-format
|
||||
msgid "Outermost element in theme must be <metacity_theme> not <%s>"
|
||||
msgstr "O elemento mais externo no tema deve ser <metacity_theme> e não <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3582
|
||||
#: ../src/ui/theme-parser.c:3583
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Element <%s> is not allowed inside a name/author/date/description element"
|
||||
msgstr ""
|
||||
"O elemento <%s> não é permitido em um elemento nome/autor/data/descrição"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3587
|
||||
#: ../src/ui/theme-parser.c:3588
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed inside a <constant> element"
|
||||
msgstr "O elemento <%s> não é permitido em um elemento <constant>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3599
|
||||
#: ../src/ui/theme-parser.c:3600
|
||||
#, c-format
|
||||
msgid ""
|
||||
"Element <%s> is not allowed inside a distance/border/aspect_ratio element"
|
||||
@ -1591,38 +1591,38 @@ msgstr ""
|
||||
"O elemento <%s> não é permitido em um elemento distância/borda/"
|
||||
"taxa_de_proporção"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3621
|
||||
#: ../src/ui/theme-parser.c:3622
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed inside a draw operation element"
|
||||
msgstr "O elemento <%s> não é permitido em um elemento de operação de desenho"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3631 ../src/ui/theme-parser.c:3661
|
||||
#: ../src/ui/theme-parser.c:3666 ../src/ui/theme-parser.c:3671
|
||||
#: ../src/ui/theme-parser.c:3632 ../src/ui/theme-parser.c:3662
|
||||
#: ../src/ui/theme-parser.c:3667 ../src/ui/theme-parser.c:3672
|
||||
#, c-format
|
||||
msgid "Element <%s> is not allowed inside a <%s> element"
|
||||
msgstr "O elemento <%s> não é permitido em um elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3899
|
||||
#: ../src/ui/theme-parser.c:3900
|
||||
msgid "No draw_ops provided for frame piece"
|
||||
msgstr "Nenhum draw_ops foi fornecido para a parte do quadro"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3914
|
||||
#: ../src/ui/theme-parser.c:3915
|
||||
msgid "No draw_ops provided for button"
|
||||
msgstr "Nenhum draw_ops foi fornecido para o botão"
|
||||
|
||||
#: ../src/ui/theme-parser.c:3968
|
||||
#: ../src/ui/theme-parser.c:3969
|
||||
#, c-format
|
||||
msgid "No text is allowed inside element <%s>"
|
||||
msgstr "Nenhum texto é permitido no elemento <%s>"
|
||||
|
||||
#: ../src/ui/theme-parser.c:4026 ../src/ui/theme-parser.c:4038
|
||||
#: ../src/ui/theme-parser.c:4050 ../src/ui/theme-parser.c:4062
|
||||
#: ../src/ui/theme-parser.c:4074
|
||||
#: ../src/ui/theme-parser.c:4027 ../src/ui/theme-parser.c:4039
|
||||
#: ../src/ui/theme-parser.c:4051 ../src/ui/theme-parser.c:4063
|
||||
#: ../src/ui/theme-parser.c:4075
|
||||
#, c-format
|
||||
msgid "<%s> specified twice for this theme"
|
||||
msgstr "<%s> especificado duas vezes para este tema"
|
||||
|
||||
#: ../src/ui/theme-parser.c:4336
|
||||
#: ../src/ui/theme-parser.c:4337
|
||||
#, 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"
|
||||
|
@ -695,7 +695,11 @@ meta_window_actor_get_paint_volume (ClutterActor *actor,
|
||||
}
|
||||
|
||||
if (priv->unobscured_region)
|
||||
cairo_region_intersect_rectangle (priv->unobscured_region, &bounds);
|
||||
{
|
||||
cairo_rectangle_int_t unobscured_bounds;
|
||||
cairo_region_get_extents (priv->unobscured_region, &unobscured_bounds);
|
||||
gdk_rectangle_intersect (&bounds, &unobscured_bounds, &bounds);
|
||||
}
|
||||
|
||||
origin.x = bounds.x;
|
||||
origin.y = bounds.y;
|
||||
|
@ -138,6 +138,14 @@ struct _MetaDisplay
|
||||
*/
|
||||
guint allow_terminal_deactivation : 1;
|
||||
|
||||
/* If true, server->focus_serial refers to us changing the focus; in
|
||||
* this case, we can ignore focus events that have exactly focus_serial,
|
||||
* since we take care to make another request immediately afterwards.
|
||||
* But if focus is being changed by another client, we have to accept
|
||||
* multiple events with the same serial.
|
||||
*/
|
||||
guint focused_by_us : 1;
|
||||
|
||||
guint static_gravity_works : 1;
|
||||
|
||||
/*< private-ish >*/
|
||||
|
@ -918,8 +918,6 @@ meta_display_open (void)
|
||||
|
||||
enable_compositor (the_display);
|
||||
|
||||
meta_display_grab (the_display);
|
||||
|
||||
/* Now manage all existing windows */
|
||||
tmp = the_display->screens;
|
||||
while (tmp != NULL)
|
||||
@ -971,8 +969,6 @@ meta_display_open (void)
|
||||
|
||||
meta_idle_monitor_init_dbus ();
|
||||
|
||||
meta_display_ungrab (the_display);
|
||||
|
||||
/* Done opening new display */
|
||||
the_display->display_opening = FALSE;
|
||||
|
||||
@ -1217,7 +1213,18 @@ meta_display_screen_for_x_screen (MetaDisplay *display,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* Grab/ungrab routines taken from fvwm */
|
||||
/* Grab/ungrab routines taken from fvwm.
|
||||
* Calling this function will cause X to ignore all other clients until
|
||||
* you ungrab. This may not be quite as bad as it sounds, yet there is
|
||||
* agreement that avoiding server grabs except when they are clearly needed
|
||||
* is a good thing.
|
||||
*
|
||||
* If you do use such grabs, please clearly explain the necessity for their
|
||||
* usage in a comment. Try to keep their scope extremely limited. In
|
||||
* particular, try to avoid emitting any signals or notifications while
|
||||
* a grab is active (if the signal receiver tries to block on an X request
|
||||
* from another client at this point, you will have a deadlock).
|
||||
*/
|
||||
void
|
||||
meta_display_grab (MetaDisplay *display)
|
||||
{
|
||||
@ -1865,9 +1872,11 @@ static void
|
||||
update_focus_window (MetaDisplay *display,
|
||||
MetaWindow *window,
|
||||
Window xwindow,
|
||||
gulong serial)
|
||||
gulong serial,
|
||||
gboolean focused_by_us)
|
||||
{
|
||||
display->focus_serial = serial;
|
||||
display->focused_by_us = focused_by_us;
|
||||
|
||||
if (display->focus_xwindow == xwindow)
|
||||
return;
|
||||
@ -1978,7 +1987,8 @@ request_xserver_input_focus_change (MetaDisplay *display,
|
||||
update_focus_window (display,
|
||||
meta_window,
|
||||
xwindow,
|
||||
serial);
|
||||
serial,
|
||||
TRUE);
|
||||
|
||||
meta_error_trap_pop (display);
|
||||
|
||||
@ -2092,12 +2102,20 @@ handle_window_focus_event (MetaDisplay *display,
|
||||
else
|
||||
g_return_if_reached ();
|
||||
|
||||
if (display->server_focus_serial > display->focus_serial)
|
||||
/* If display->focused_by_us, then the focus_serial will be used only
|
||||
* for a focus change we made and have already accounted for.
|
||||
* (See request_xserver_input_focus_change().) Otherwise, we can get
|
||||
* multiple focus events with the same serial.
|
||||
*/
|
||||
if (display->server_focus_serial > display->focus_serial ||
|
||||
(!display->focused_by_us &&
|
||||
display->server_focus_serial == display->focus_serial))
|
||||
{
|
||||
update_focus_window (display,
|
||||
focus_window,
|
||||
focus_window ? focus_window->xwindow : None,
|
||||
display->server_focus_serial);
|
||||
display->server_focus_serial,
|
||||
FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2167,7 +2185,8 @@ event_callback (XEvent *event,
|
||||
display->current_time = event_get_time (display, event);
|
||||
display->monitor_cache_invalidated = TRUE;
|
||||
|
||||
if (event->xany.serial > display->focus_serial &&
|
||||
if (display->focused_by_us &&
|
||||
event->xany.serial > display->focus_serial &&
|
||||
display->focus_window &&
|
||||
!window_has_xwindow (display->focus_window, display->server_focus_window))
|
||||
{
|
||||
@ -2176,7 +2195,8 @@ event_callback (XEvent *event,
|
||||
update_focus_window (display,
|
||||
meta_display_lookup_x_window (display, display->server_focus_window),
|
||||
display->server_focus_window,
|
||||
display->server_focus_serial);
|
||||
display->server_focus_serial,
|
||||
FALSE);
|
||||
}
|
||||
|
||||
screen = meta_display_screen_for_root (display, event->xany.window);
|
||||
@ -2762,14 +2782,14 @@ event_callback (XEvent *event,
|
||||
&& meta_display_screen_for_root (display, event->xmap.event))
|
||||
{
|
||||
window = meta_window_new (display, event->xmap.window,
|
||||
FALSE);
|
||||
FALSE, META_COMP_EFFECT_CREATE);
|
||||
}
|
||||
break;
|
||||
case MapRequest:
|
||||
if (window == NULL)
|
||||
{
|
||||
window = meta_window_new (display, event->xmaprequest.window,
|
||||
FALSE);
|
||||
FALSE, META_COMP_EFFECT_CREATE);
|
||||
}
|
||||
/* if frame was receiver it's some malicious send event or something */
|
||||
else if (!frame_was_receiver && window)
|
||||
|
@ -51,9 +51,6 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
if (window->frame)
|
||||
return;
|
||||
|
||||
/* See comment below for why this is required. */
|
||||
meta_display_grab (window->display);
|
||||
|
||||
frame = g_new (MetaFrame, 1);
|
||||
|
||||
frame->window = window;
|
||||
@ -117,14 +114,6 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
|
||||
meta_display_register_x_window (window->display, &frame->xwindow, window);
|
||||
|
||||
/* Reparent the client window; it may be destroyed,
|
||||
* thus the error trap. We'll get a destroy notify later
|
||||
* and free everything. Comment in FVWM source code says
|
||||
* we need a server grab or the child can get its MapNotify
|
||||
* before we've finished reparenting and getting the decoration
|
||||
* window onscreen, so ensure_frame must be called with
|
||||
* a grab.
|
||||
*/
|
||||
meta_error_trap_push (window->display);
|
||||
if (window->mapped)
|
||||
{
|
||||
@ -166,8 +155,6 @@ meta_window_ensure_frame (MetaWindow *window)
|
||||
|
||||
/* Move keybindings to frame instead of window */
|
||||
meta_window_grab_keys (window);
|
||||
|
||||
meta_display_ungrab (window->display);
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include "ui.h"
|
||||
#include "frame.h"
|
||||
#include "place.h"
|
||||
#include "screen-private.h"
|
||||
#include <meta/prefs.h>
|
||||
#include <meta/util.h>
|
||||
|
||||
@ -3973,6 +3974,26 @@ handle_move_to_workspace (MetaDisplay *display,
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
handle_move_to_monitor (MetaDisplay *display,
|
||||
MetaScreen *screen,
|
||||
MetaWindow *window,
|
||||
XIDeviceEvent *event,
|
||||
MetaKeyBinding *binding,
|
||||
gpointer dummy)
|
||||
{
|
||||
gint which = binding->handler->data;
|
||||
const MetaMonitorInfo *current, *new;
|
||||
|
||||
current = meta_screen_get_monitor_for_window (screen, window);
|
||||
new = meta_screen_get_monitor_neighbor (screen, current->number, which);
|
||||
|
||||
if (new == NULL)
|
||||
return;
|
||||
|
||||
meta_window_move_to_monitor (window, new->number);
|
||||
}
|
||||
|
||||
static void
|
||||
handle_raise_or_lower (MetaDisplay *display,
|
||||
MetaScreen *screen,
|
||||
@ -4629,6 +4650,34 @@ init_builtin_key_bindings (MetaDisplay *display)
|
||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_DOWN,
|
||||
handle_move_to_workspace, META_MOTION_DOWN);
|
||||
|
||||
add_builtin_keybinding (display,
|
||||
"move-to-monitor-left",
|
||||
common_keybindings,
|
||||
META_KEY_BINDING_PER_WINDOW,
|
||||
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_LEFT,
|
||||
handle_move_to_monitor, META_SCREEN_LEFT);
|
||||
|
||||
add_builtin_keybinding (display,
|
||||
"move-to-monitor-right",
|
||||
common_keybindings,
|
||||
META_KEY_BINDING_PER_WINDOW,
|
||||
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_RIGHT,
|
||||
handle_move_to_monitor, META_SCREEN_RIGHT);
|
||||
|
||||
add_builtin_keybinding (display,
|
||||
"move-to-monitor-down",
|
||||
common_keybindings,
|
||||
META_KEY_BINDING_PER_WINDOW,
|
||||
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_DOWN,
|
||||
handle_move_to_monitor, META_SCREEN_DOWN);
|
||||
|
||||
add_builtin_keybinding (display,
|
||||
"move-to-monitor-up",
|
||||
common_keybindings,
|
||||
META_KEY_BINDING_PER_WINDOW,
|
||||
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_UP,
|
||||
handle_move_to_monitor, META_SCREEN_UP);
|
||||
|
||||
add_builtin_keybinding (display,
|
||||
"raise-or-lower",
|
||||
common_keybindings,
|
||||
|
@ -691,46 +691,60 @@ static char *
|
||||
make_display_name (MetaMonitorManager *manager,
|
||||
MetaOutput *output)
|
||||
{
|
||||
char *inches = NULL;
|
||||
char *vendor_name = NULL;
|
||||
char *ret;
|
||||
|
||||
if (g_str_has_prefix (output->name, "LVDS") ||
|
||||
g_str_has_prefix (output->name, "eDP"))
|
||||
return g_strdup (_("Built-in display"));
|
||||
{
|
||||
ret = g_strdup (_("Built-in display"));
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (output->width_mm != -1 && output->height_mm != -1)
|
||||
if (output->width_mm > 0 && output->height_mm > 0)
|
||||
{
|
||||
double d = sqrt (output->width_mm * output->width_mm +
|
||||
output->height_mm * output->height_mm);
|
||||
char *inches = diagonal_to_str (d / 25.4);
|
||||
char *vendor_name;
|
||||
char *ret;
|
||||
inches = diagonal_to_str (d / 25.4);
|
||||
}
|
||||
|
||||
if (g_strcmp0 (output->vendor, "unknown") != 0)
|
||||
{
|
||||
if (!manager->pnp_ids)
|
||||
manager->pnp_ids = gnome_pnp_ids_new ();
|
||||
if (g_strcmp0 (output->vendor, "unknown") != 0)
|
||||
{
|
||||
if (!manager->pnp_ids)
|
||||
manager->pnp_ids = gnome_pnp_ids_new ();
|
||||
|
||||
vendor_name = gnome_pnp_ids_get_pnp_id (manager->pnp_ids,
|
||||
output->vendor);
|
||||
vendor_name = gnome_pnp_ids_get_pnp_id (manager->pnp_ids,
|
||||
output->vendor);
|
||||
|
||||
ret = g_strdup_printf ("%s %s", vendor_name, inches);
|
||||
|
||||
g_free (vendor_name);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* TRANSLATORS: this is a monitor name (in case we don't know
|
||||
the vendor), it's Unknown followed by a size in inches,
|
||||
like 'Unknown 15"'
|
||||
*/
|
||||
ret = g_strdup_printf (_("Unknown %s"), inches);
|
||||
}
|
||||
|
||||
g_free (inches);
|
||||
return ret;
|
||||
if (!vendor_name)
|
||||
vendor_name = g_strdup (output->vendor);
|
||||
}
|
||||
else
|
||||
{
|
||||
return g_strdup (output->vendor);
|
||||
if (inches != NULL)
|
||||
vendor_name = g_strdup (_("Unknown"));
|
||||
else
|
||||
vendor_name = g_strdup (_("Unknown Display"));
|
||||
}
|
||||
|
||||
if (inches != NULL)
|
||||
{
|
||||
/* TRANSLATORS: this is a monitor vendor name, followed by a
|
||||
* size in inches, like 'Dell 15"'
|
||||
*/
|
||||
ret = g_strdup_printf (_("%s %s"), vendor_name, inches);
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = g_strdup (vendor_name);
|
||||
}
|
||||
|
||||
out:
|
||||
g_free (inches);
|
||||
g_free (vendor_name);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
@ -880,83 +880,31 @@ meta_screen_free (MetaScreen *screen,
|
||||
meta_display_ungrab (display);
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
Window xwindow;
|
||||
XWindowAttributes attrs;
|
||||
} WindowInfo;
|
||||
|
||||
static GList *
|
||||
list_windows (MetaScreen *screen)
|
||||
{
|
||||
Window ignored1, ignored2;
|
||||
Window *children;
|
||||
guint n_children, i;
|
||||
GList *result;
|
||||
|
||||
XQueryTree (screen->display->xdisplay,
|
||||
screen->xroot,
|
||||
&ignored1, &ignored2, &children, &n_children);
|
||||
|
||||
result = NULL;
|
||||
for (i = 0; i < n_children; ++i)
|
||||
{
|
||||
WindowInfo *info = g_new0 (WindowInfo, 1);
|
||||
|
||||
meta_error_trap_push_with_return (screen->display);
|
||||
|
||||
XGetWindowAttributes (screen->display->xdisplay,
|
||||
children[i], &info->attrs);
|
||||
|
||||
if (meta_error_trap_pop_with_return (screen->display))
|
||||
{
|
||||
meta_verbose ("Failed to get attributes for window 0x%lx\n",
|
||||
children[i]);
|
||||
g_free (info);
|
||||
}
|
||||
else
|
||||
{
|
||||
info->xwindow = children[i];
|
||||
}
|
||||
|
||||
result = g_list_prepend (result, info);
|
||||
}
|
||||
|
||||
if (children)
|
||||
XFree (children);
|
||||
|
||||
return g_list_reverse (result);
|
||||
}
|
||||
|
||||
void
|
||||
meta_screen_manage_all_windows (MetaScreen *screen)
|
||||
{
|
||||
GList *windows;
|
||||
GList *list;
|
||||
|
||||
meta_display_grab (screen->display);
|
||||
Window *_children;
|
||||
Window *children;
|
||||
int n_children, i;
|
||||
|
||||
if (screen->guard_window == None)
|
||||
screen->guard_window = create_guard_window (screen->display->xdisplay,
|
||||
screen);
|
||||
|
||||
windows = list_windows (screen);
|
||||
|
||||
meta_stack_freeze (screen->stack);
|
||||
for (list = windows; list != NULL; list = list->next)
|
||||
meta_stack_tracker_get_stack (screen->stack_tracker, &_children, &n_children);
|
||||
|
||||
/* Copy the stack as it will be modified as part of the loop */
|
||||
children = g_memdup (_children, sizeof (Window) * n_children);
|
||||
|
||||
for (i = 0; i < n_children; ++i)
|
||||
{
|
||||
WindowInfo *info = list->data;
|
||||
|
||||
meta_window_new_with_attrs (screen->display, info->xwindow, TRUE,
|
||||
META_COMP_EFFECT_NONE,
|
||||
&info->attrs);
|
||||
meta_window_new (screen->display, children[i], TRUE,
|
||||
META_COMP_EFFECT_NONE);
|
||||
}
|
||||
|
||||
g_free (children);
|
||||
meta_stack_thaw (screen->stack);
|
||||
|
||||
g_list_foreach (windows, (GFunc)g_free, NULL);
|
||||
g_list_free (windows);
|
||||
|
||||
meta_display_ungrab (screen->display);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -490,12 +490,8 @@ struct _MetaWindowClass
|
||||
|
||||
MetaWindow* meta_window_new (MetaDisplay *display,
|
||||
Window xwindow,
|
||||
gboolean must_be_viewable);
|
||||
MetaWindow* meta_window_new_with_attrs (MetaDisplay *display,
|
||||
Window xwindow,
|
||||
gboolean must_be_viewable,
|
||||
MetaCompEffect effect,
|
||||
XWindowAttributes *attrs);
|
||||
gboolean must_be_viewable,
|
||||
MetaCompEffect effect);
|
||||
void meta_window_unmanage (MetaWindow *window,
|
||||
guint32 timestamp);
|
||||
void meta_window_calc_showing (MetaWindow *window);
|
||||
|
@ -659,53 +659,6 @@ maybe_leave_show_desktop_mode (MetaWindow *window)
|
||||
}
|
||||
}
|
||||
|
||||
MetaWindow*
|
||||
meta_window_new (MetaDisplay *display,
|
||||
Window xwindow,
|
||||
gboolean must_be_viewable)
|
||||
{
|
||||
XWindowAttributes attrs;
|
||||
MetaWindow *window;
|
||||
|
||||
meta_display_grab (display);
|
||||
meta_error_trap_push (display); /* Push a trap over all of window
|
||||
* creation, to reduce XSync() calls
|
||||
*/
|
||||
|
||||
meta_error_trap_push_with_return (display);
|
||||
|
||||
if (XGetWindowAttributes (display->xdisplay,xwindow, &attrs))
|
||||
{
|
||||
if(meta_error_trap_pop_with_return (display) != Success)
|
||||
{
|
||||
meta_verbose ("Failed to get attributes for window 0x%lx\n",
|
||||
xwindow);
|
||||
meta_error_trap_pop (display);
|
||||
meta_display_ungrab (display);
|
||||
return NULL;
|
||||
}
|
||||
window = meta_window_new_with_attrs (display, xwindow,
|
||||
must_be_viewable,
|
||||
META_COMP_EFFECT_CREATE,
|
||||
&attrs);
|
||||
}
|
||||
else
|
||||
{
|
||||
meta_error_trap_pop_with_return (display);
|
||||
meta_verbose ("Failed to get attributes for window 0x%lx\n",
|
||||
xwindow);
|
||||
meta_error_trap_pop (display);
|
||||
meta_display_ungrab (display);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
meta_error_trap_pop (display);
|
||||
meta_display_ungrab (display);
|
||||
|
||||
return window;
|
||||
}
|
||||
|
||||
/* The MUTTER_WM_CLASS_FILTER environment variable is designed for
|
||||
* performance and regression testing environments where we want to do
|
||||
* tests with only a limited set of windows and ignore all other windows
|
||||
@ -816,12 +769,12 @@ meta_window_should_attach_to_parent (MetaWindow *window)
|
||||
}
|
||||
|
||||
MetaWindow*
|
||||
meta_window_new_with_attrs (MetaDisplay *display,
|
||||
Window xwindow,
|
||||
gboolean must_be_viewable,
|
||||
MetaCompEffect effect,
|
||||
XWindowAttributes *attrs)
|
||||
meta_window_new (MetaDisplay *display,
|
||||
Window xwindow,
|
||||
gboolean must_be_viewable,
|
||||
MetaCompEffect effect)
|
||||
{
|
||||
XWindowAttributes attrs;
|
||||
MetaWindow *window;
|
||||
GSList *tmp;
|
||||
MetaWorkspace *space;
|
||||
@ -830,8 +783,6 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
MetaMoveResizeFlags flags;
|
||||
MetaScreen *screen;
|
||||
|
||||
g_assert (attrs != NULL);
|
||||
|
||||
meta_verbose ("Attempting to manage 0x%lx\n", xwindow);
|
||||
|
||||
if (meta_display_xwindow_is_a_no_focus_window (display, xwindow))
|
||||
@ -841,12 +792,28 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
meta_error_trap_push (display); /* Push a trap over all of window
|
||||
* creation, to reduce XSync() calls
|
||||
*/
|
||||
/*
|
||||
* This function executes without any server grabs held. This means that
|
||||
* the window could have already gone away, or could go away at any point,
|
||||
* so we must be careful with X error handling.
|
||||
*/
|
||||
|
||||
if (!XGetWindowAttributes (display->xdisplay, xwindow, &attrs))
|
||||
{
|
||||
meta_verbose ("Failed to get attributes for window 0x%lx\n",
|
||||
xwindow);
|
||||
goto error;
|
||||
}
|
||||
|
||||
screen = NULL;
|
||||
for (tmp = display->screens; tmp != NULL; tmp = tmp->next)
|
||||
{
|
||||
MetaScreen *scr = tmp->data;
|
||||
|
||||
if (scr->xroot == attrs->root)
|
||||
if (scr->xroot == attrs.root)
|
||||
{
|
||||
screen = tmp->data;
|
||||
break;
|
||||
@ -856,14 +823,14 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
g_assert (screen);
|
||||
|
||||
/* A black list of override redirect windows that we don't need to manage: */
|
||||
if (attrs->override_redirect &&
|
||||
if (attrs.override_redirect &&
|
||||
(xwindow == screen->no_focus_window ||
|
||||
xwindow == screen->flash_window ||
|
||||
xwindow == screen->wm_sn_selection_window ||
|
||||
attrs->class == InputOnly ||
|
||||
attrs.class == InputOnly ||
|
||||
/* any windows created via meta_create_offscreen_window: */
|
||||
(attrs->x == -100 && attrs->y == -100
|
||||
&& attrs->width == 1 && attrs->height == 1) ||
|
||||
(attrs.x == -100 && attrs.y == -100
|
||||
&& attrs.width == 1 && attrs.height == 1) ||
|
||||
xwindow == screen->wm_cm_selection_window ||
|
||||
xwindow == screen->guard_window ||
|
||||
(display->compositor &&
|
||||
@ -873,34 +840,28 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
)
|
||||
) {
|
||||
meta_verbose ("Not managing our own windows\n");
|
||||
return NULL;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (maybe_filter_window (display, xwindow, must_be_viewable, attrs))
|
||||
if (maybe_filter_window (display, xwindow, must_be_viewable, &attrs))
|
||||
{
|
||||
meta_verbose ("Not managing filtered window\n");
|
||||
return NULL;
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* Grab server */
|
||||
meta_display_grab (display);
|
||||
meta_error_trap_push (display); /* Push a trap over all of window
|
||||
* creation, to reduce XSync() calls
|
||||
*/
|
||||
|
||||
meta_verbose ("must_be_viewable = %d attrs->map_state = %d (%s)\n",
|
||||
meta_verbose ("must_be_viewable = %d attrs.map_state = %d (%s)\n",
|
||||
must_be_viewable,
|
||||
attrs->map_state,
|
||||
(attrs->map_state == IsUnmapped) ?
|
||||
attrs.map_state,
|
||||
(attrs.map_state == IsUnmapped) ?
|
||||
"IsUnmapped" :
|
||||
(attrs->map_state == IsViewable) ?
|
||||
(attrs.map_state == IsViewable) ?
|
||||
"IsViewable" :
|
||||
(attrs->map_state == IsUnviewable) ?
|
||||
(attrs.map_state == IsUnviewable) ?
|
||||
"IsUnviewable" :
|
||||
"(unknown)");
|
||||
|
||||
existing_wm_state = WithdrawnState;
|
||||
if (must_be_viewable && attrs->map_state != IsViewable)
|
||||
if (must_be_viewable && attrs.map_state != IsViewable)
|
||||
{
|
||||
/* Only manage if WM_STATE is IconicState or NormalState */
|
||||
gulong state;
|
||||
@ -913,9 +874,7 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
(state == IconicState || state == NormalState)))
|
||||
{
|
||||
meta_verbose ("Deciding not to manage unmapped or unviewable window 0x%lx\n", xwindow);
|
||||
meta_error_trap_pop (display);
|
||||
meta_display_ungrab (display);
|
||||
return NULL;
|
||||
goto error;
|
||||
}
|
||||
|
||||
existing_wm_state = state;
|
||||
@ -923,29 +882,26 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
wm_state_to_string (existing_wm_state));
|
||||
}
|
||||
|
||||
meta_error_trap_push_with_return (display);
|
||||
|
||||
/*
|
||||
* XAddToSaveSet can only be called on windows created by a different client.
|
||||
* with Mutter we want to be able to create manageable windows from within
|
||||
* the process (such as a dummy desktop window), so we do not want this
|
||||
* call failing to prevent the window from being managed -- wrap it in its
|
||||
* own error trap (we use the _with_return() version here to ensure that
|
||||
* XSync() is done on the pop, otherwise the error will not get caught).
|
||||
* the process (such as a dummy desktop window). As we do not want this
|
||||
* call failing to prevent the window from being managed, we call this
|
||||
* before creating the return-checked error trap.
|
||||
*/
|
||||
meta_error_trap_push_with_return (display);
|
||||
XAddToSaveSet (display->xdisplay, xwindow);
|
||||
meta_error_trap_pop_with_return (display);
|
||||
|
||||
meta_error_trap_push_with_return (display);
|
||||
|
||||
event_mask = PropertyChangeMask | ColormapChangeMask;
|
||||
if (attrs->override_redirect)
|
||||
if (attrs.override_redirect)
|
||||
event_mask |= StructureNotifyMask;
|
||||
|
||||
/* If the window is from this client (a menu, say) we need to augment
|
||||
* the event mask, not replace it. For windows from other clients,
|
||||
* attrs->your_event_mask will be empty at this point.
|
||||
* attrs.your_event_mask will be empty at this point.
|
||||
*/
|
||||
XSelectInput (display->xdisplay, xwindow, attrs->your_event_mask | event_mask);
|
||||
XSelectInput (display->xdisplay, xwindow, attrs.your_event_mask | event_mask);
|
||||
|
||||
{
|
||||
unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 };
|
||||
@ -967,11 +923,11 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
#endif
|
||||
|
||||
/* Get rid of any borders */
|
||||
if (attrs->border_width != 0)
|
||||
if (attrs.border_width != 0)
|
||||
XSetWindowBorderWidth (display->xdisplay, xwindow, 0);
|
||||
|
||||
/* Get rid of weird gravities */
|
||||
if (attrs->win_gravity != NorthWestGravity)
|
||||
if (attrs.win_gravity != NorthWestGravity)
|
||||
{
|
||||
XSetWindowAttributes set_attrs;
|
||||
|
||||
@ -987,9 +943,7 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
{
|
||||
meta_verbose ("Window 0x%lx disappeared just as we tried to manage it\n",
|
||||
xwindow);
|
||||
meta_error_trap_pop (display);
|
||||
meta_display_ungrab (display);
|
||||
return NULL;
|
||||
goto error;
|
||||
}
|
||||
|
||||
|
||||
@ -1018,22 +972,22 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
|
||||
window->desc = g_strdup_printf ("0x%lx", window->xwindow);
|
||||
|
||||
window->override_redirect = attrs->override_redirect;
|
||||
window->override_redirect = attrs.override_redirect;
|
||||
|
||||
/* avoid tons of stack updates */
|
||||
meta_stack_freeze (window->screen->stack);
|
||||
|
||||
window->rect.x = attrs->x;
|
||||
window->rect.y = attrs->y;
|
||||
window->rect.width = attrs->width;
|
||||
window->rect.height = attrs->height;
|
||||
window->rect.x = attrs.x;
|
||||
window->rect.y = attrs.y;
|
||||
window->rect.width = attrs.width;
|
||||
window->rect.height = attrs.height;
|
||||
|
||||
/* And border width, size_hints are the "request" */
|
||||
window->border_width = attrs->border_width;
|
||||
window->size_hints.x = attrs->x;
|
||||
window->size_hints.y = attrs->y;
|
||||
window->size_hints.width = attrs->width;
|
||||
window->size_hints.height = attrs->height;
|
||||
window->border_width = attrs.border_width;
|
||||
window->size_hints.x = attrs.x;
|
||||
window->size_hints.y = attrs.y;
|
||||
window->size_hints.width = attrs.width;
|
||||
window->size_hints.height = attrs.height;
|
||||
/* initialize the remaining size_hints as if size_hints.flags were zero */
|
||||
meta_set_normal_hints (window, NULL);
|
||||
|
||||
@ -1041,9 +995,9 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
window->saved_rect = window->rect;
|
||||
window->user_rect = window->rect;
|
||||
|
||||
window->depth = attrs->depth;
|
||||
window->xvisual = attrs->visual;
|
||||
window->colormap = attrs->colormap;
|
||||
window->depth = attrs.depth;
|
||||
window->xvisual = attrs.visual;
|
||||
window->colormap = attrs.colormap;
|
||||
|
||||
window->title = NULL;
|
||||
window->icon_name = NULL;
|
||||
@ -1078,7 +1032,7 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
window->minimized = FALSE;
|
||||
window->tab_unminimized = FALSE;
|
||||
window->iconic = FALSE;
|
||||
window->mapped = attrs->map_state != IsUnmapped;
|
||||
window->mapped = attrs.map_state != IsUnmapped;
|
||||
window->hidden = FALSE;
|
||||
window->visible_to_compositor = FALSE;
|
||||
window->pending_compositor_effect = effect;
|
||||
@ -1486,7 +1440,6 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
unminimize_window_and_all_transient_parents (window);
|
||||
|
||||
meta_error_trap_pop (display); /* pop the XSync()-reducing trap */
|
||||
meta_display_ungrab (display);
|
||||
|
||||
window->constructing = FALSE;
|
||||
|
||||
@ -1499,6 +1452,10 @@ meta_window_new_with_attrs (MetaDisplay *display,
|
||||
g_signal_emit_by_name (window->display, "window-marked-urgent", window);
|
||||
|
||||
return window;
|
||||
|
||||
error:
|
||||
meta_error_trap_pop (display);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* This function should only be called from the end of meta_window_new_with_attrs () */
|
||||
@ -2297,7 +2254,6 @@ idle_calc_showing (gpointer data)
|
||||
GSList *should_hide;
|
||||
GSList *unplaced;
|
||||
GSList *displays;
|
||||
MetaWindow *first_window;
|
||||
guint queue_index = GPOINTER_TO_INT (data);
|
||||
|
||||
g_return_val_if_fail (queue_pending[queue_index] != NULL, FALSE);
|
||||
@ -2350,10 +2306,6 @@ idle_calc_showing (gpointer data)
|
||||
should_show = g_slist_sort (should_show, stackcmp);
|
||||
should_show = g_slist_reverse (should_show);
|
||||
|
||||
first_window = copy->data;
|
||||
|
||||
meta_display_grab (first_window->display);
|
||||
|
||||
tmp = unplaced;
|
||||
while (tmp != NULL)
|
||||
{
|
||||
@ -2426,8 +2378,6 @@ idle_calc_showing (gpointer data)
|
||||
}
|
||||
}
|
||||
|
||||
meta_display_ungrab (first_window->display);
|
||||
|
||||
g_slist_free (copy);
|
||||
|
||||
g_slist_free (unplaced);
|
||||
@ -4983,6 +4933,11 @@ meta_window_move_resize_internal (MetaWindow *window,
|
||||
&old_rect,
|
||||
&new_rect);
|
||||
|
||||
/* meta_window_constrain() might have maximized the window after placement,
|
||||
* changing the borders.
|
||||
*/
|
||||
meta_frame_calc_borders (window->frame, &borders);
|
||||
|
||||
w = new_rect.width;
|
||||
h = new_rect.height;
|
||||
root_x_nw = new_rect.x;
|
||||
@ -5772,6 +5727,32 @@ meta_window_get_input_rect (const MetaWindow *window,
|
||||
*rect = window->rect;
|
||||
}
|
||||
|
||||
static void
|
||||
get_custom_frame_extents (MetaWindow *window,
|
||||
GtkBorder *extents)
|
||||
{
|
||||
if (!window->has_custom_frame_extents)
|
||||
return;
|
||||
|
||||
*extents = window->custom_frame_extents;
|
||||
|
||||
if (META_WINDOW_MAXIMIZED_HORIZONTALLY (window))
|
||||
{
|
||||
extents->left = 0;
|
||||
extents->right = 0;
|
||||
}
|
||||
else if (META_WINDOW_TILED_LEFT (window))
|
||||
extents->left = 0;
|
||||
else if (META_WINDOW_TILED_RIGHT (window))
|
||||
extents->right = 0;
|
||||
|
||||
if (META_WINDOW_MAXIMIZED_VERTICALLY (window))
|
||||
{
|
||||
extents->top = 0;
|
||||
extents->bottom = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* meta_window_client_rect_to_frame_rect:
|
||||
* @window: a #MetaWindow
|
||||
@ -5810,16 +5791,15 @@ meta_window_client_rect_to_frame_rect (MetaWindow *window,
|
||||
}
|
||||
else
|
||||
{
|
||||
if (window->has_custom_frame_extents)
|
||||
{
|
||||
const GtkBorder *extents = &window->custom_frame_extents;
|
||||
frame_rect->x += extents->left;
|
||||
frame_rect->y += extents->top;
|
||||
if (frame_rect->width != G_MAXINT)
|
||||
frame_rect->width -= extents->left + extents->right;
|
||||
if (frame_rect->height != G_MAXINT)
|
||||
frame_rect->height -= extents->top + extents->bottom;
|
||||
}
|
||||
GtkBorder extents = { 0 };
|
||||
get_custom_frame_extents (window, &extents);
|
||||
|
||||
frame_rect->x += extents.left;
|
||||
frame_rect->y += extents.top;
|
||||
if (frame_rect->width != G_MAXINT)
|
||||
frame_rect->width -= extents.left + extents.right;
|
||||
if (frame_rect->height != G_MAXINT)
|
||||
frame_rect->height -= extents.top + extents.bottom;
|
||||
}
|
||||
}
|
||||
|
||||
@ -5854,14 +5834,13 @@ meta_window_frame_rect_to_client_rect (MetaWindow *window,
|
||||
}
|
||||
else
|
||||
{
|
||||
if (window->has_custom_frame_extents)
|
||||
{
|
||||
const GtkBorder *extents = &window->custom_frame_extents;
|
||||
client_rect->x -= extents->left;
|
||||
client_rect->y -= extents->top;
|
||||
client_rect->width += extents->left + extents->right;
|
||||
client_rect->height += extents->top + extents->bottom;
|
||||
}
|
||||
GtkBorder extents = { 0 };
|
||||
get_custom_frame_extents (window, &extents);
|
||||
|
||||
client_rect->x -= extents.left;
|
||||
client_rect->y -= extents.top;
|
||||
client_rect->width += extents.left + extents.right;
|
||||
client_rect->height += extents.top + extents.bottom;
|
||||
}
|
||||
}
|
||||
|
||||
@ -5992,7 +5971,8 @@ meta_window_focus (MetaWindow *window,
|
||||
window->desc, window->input, window->take_focus);
|
||||
|
||||
if (window->display->grab_window &&
|
||||
window->display->grab_window->all_keys_grabbed)
|
||||
window->display->grab_window->all_keys_grabbed &&
|
||||
!window->display->grab_window->unmanaging)
|
||||
{
|
||||
meta_topic (META_DEBUG_FOCUS,
|
||||
"Current focus window %s has global keygrab, not focusing window %s after all\n",
|
||||
@ -6063,6 +6043,25 @@ meta_window_focus (MetaWindow *window,
|
||||
"Sending WM_TAKE_FOCUS to %s since take_focus = true\n",
|
||||
window->desc);
|
||||
|
||||
if (!window->input)
|
||||
{
|
||||
/* The "Globally Active Input" window case, where the window
|
||||
* doesn't want us to call XSetInputFocus on it, but does
|
||||
* want us to send a WM_TAKE_FOCUS.
|
||||
*
|
||||
* Normally, we want to just leave the focus undisturbed until
|
||||
* the window respnds to WM_TAKE_FOCUS, but if we're unmanaging
|
||||
* the current focus window we *need* to move the focus away, so
|
||||
* we focus the no_focus_window now (and set
|
||||
* display->focus_window to that) before sending WM_TAKE_FOCUS.
|
||||
*/
|
||||
if (window->display->focus_window != NULL &&
|
||||
window->display->focus_window->unmanaging)
|
||||
meta_display_focus_the_no_focus_window (window->display,
|
||||
window->screen,
|
||||
timestamp);
|
||||
}
|
||||
|
||||
meta_display_request_take_focus (window->display,
|
||||
window,
|
||||
timestamp);
|
||||
|
@ -243,6 +243,10 @@ void meta_prefs_set_ignore_request_hide_titlebar (gboolean whether);
|
||||
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_RIGHT: FILLME
|
||||
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_UP: FILLME
|
||||
* @META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_DOWN: FILLME
|
||||
* @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_LEFT: FILLME
|
||||
* @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_RIGHT: FILLME
|
||||
* @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_UP: FILLME
|
||||
* @META_KEYBINDING_ACTION_MOVE_TO_MONITOR_DOWN: FILLME
|
||||
* @META_KEYBINDING_ACTION_RAISE_OR_LOWER: FILLME
|
||||
* @META_KEYBINDING_ACTION_RAISE: FILLME
|
||||
* @META_KEYBINDING_ACTION_LOWER: FILLME
|
||||
@ -336,6 +340,10 @@ typedef enum _MetaKeyBindingAction
|
||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_RIGHT,
|
||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_UP,
|
||||
META_KEYBINDING_ACTION_MOVE_TO_WORKSPACE_DOWN,
|
||||
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_LEFT,
|
||||
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_RIGHT,
|
||||
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_UP,
|
||||
META_KEYBINDING_ACTION_MOVE_TO_MONITOR_DOWN,
|
||||
META_KEYBINDING_ACTION_RAISE_OR_LOWER,
|
||||
META_KEYBINDING_ACTION_RAISE,
|
||||
META_KEYBINDING_ACTION_LOWER,
|
||||
|
Reference in New Issue
Block a user