Synced with Metacity 2.23.89 (r3800)

Merge commit '51de9ef8605f7a195ef360afb3a504488125611f' into clutter
This commit is contained in:
Tomas Frydrych 2008-08-18 11:11:32 +01:00
commit e1965914a3
43 changed files with 7133 additions and 4141 deletions

183
ChangeLog
View File

@ -1,3 +1,186 @@
2008-08-04 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.23.89 release.
2008-07-26 Thomas Thurman <tthurman@gnome.org>
* metacity.doap (added): DOAP file (first pass, anyway).
2008-07-14 Thomas Thurman <tthurman@gnome.org>
* configure.in: Post-release bump to 2.23.89.
2008-07-14 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.23.55 release.
2008-07-13 Thomas Thurman <tthurman@gnome.org>
* src/core/display.c (event_callback): meta_display_screen_for_root()
can return NULL, so check for that. Fixes #422242. Also tidying.
2008-07-13 Elijah Newren <newren gmail com>
* src/core/workspace.c (meta_workspace_free): Don't attempt to
double-free struts, edges and regions if work areas have already
been invalidated at the time of freeing a workspace.
Possible fix to #361804.
2008-07-12 Thomas Thurman <tthurman@gnome.org>
* src/core/constraints.c (do_screen_and_xinerama_relative_constraints):
Don't allocate memory for log messages unless we're logging.
2008-07-12 Thomas Thurman <tthurman@gnome.org>
* src/core/group.c (meta_window_get_group): This function can now
officially return NULL.
* src/core/window.c (meta_window_same_application): Two windows can't
belong to the same application unless they both belong to some
application. (Both belonging to no application is not the same.)
2008-06-30 Thomas Thurman <tthurman@gnome.org>
* src/core/bell.c (meta_bell_set_audible): Fix typo that
slipped through.
2008-06-30 Thomas Thurman <tthurman@gnome.org>
* src/core/bell.[ch]: Move comments for non-statics from the .c to .h.
* Doxyfile: adapt better for C, and make quiet.
2008-06-29 Thomas Thurman <tthurman@gnome.org>
* src/ui/theme-viewer.c (main): display the theme name
in the title bar. Closes #430198.
2008-06-29 Thomas Thurman <tthurman@gnome.org>
Allow toggling of non-compositor effects (since there's a
non-Metacity key to do so: /desktop/gnome/interface/enable_animations).
Closes #92867.
* src/include/prefs.h: add META_PREFS_GNOME_ANIMATIONS key and
meta_prefs_get_gnome_animations() function
* src/include/prefs.c: added meta_prefs_get_gnome_animations()
function, and made supporting changes to structs.
* src/core/effects.c (run_handler): checked whether enable_animations
is set before running an effect.
* src/core/effects.c (meta_effect_run_minimize): remove debug message.
2008-06-29 Thomas Thurman <tthurman@gnome.org>
* src/core/bell.c: remove meta_ prefix on all static functions.
2008-06-29 Thomas Thurman <tthurman@gnome.org>
* src/core/stack.c (stack_sync_to_server): lose meta prefix
since it's static.
* src/core/stack.c (meta_stack_remove, stack_do_window_deletions):
replace our own cast with glib macro designed to do the same thing
2008-06-28 Thomas Thurman <tthurman@gnome.org>
* src/core/display.c, src/compositor/compositor-xrender.c: add checks
for HAVE_SHAPE where appropriate.
* src/core/xprops.c: fix type error which was causing warnings.
2008-06-28 Thomas Thurman <tthurman@gnome.org>
Some refactoring, simplifying, and commenting of the non-composited
effects code. effects.c could still do with some polish, which will
come along later.
* src/core/effects.h (meta_push_effect_handler): removed since it's
never used and does nothing very useful.
* src/core/effects.h (meta_pop_effect_handler): removed since its
only effect is to crash the program.
* src/core/effects.h (META_MINIMIZE_ANIMATION_LENGTH,
META_SHADE_ANIMATION_LENGTH): move to effects.c because they're used
nowhere else.
* src/core/effects.c: there were three versions of the box-zoom effect.
Remove the one which was never used, and make only the ones which
are used with certain configure settings be compiled.
* src/core/effects.h (meta_effect_end): move to effects.c, make static,
and rename to effect_free.
* src/core/effects.h (meta_effects_draw_box_animation): move to
effects.c, make static, and rename to draw_box_animation.
* src/core/effects.h (MetaEffectType): remove the values which weren't
used.
* src/core/window.c (meta_window_shade): remove commented-out code to
call effect for shading.
* src/core/effects.h (MetaEffectFinish): remove useless MetaEffect
parameter.
* src/core/window.c (finish_minimize): remove MetaEffect parameter.
2008-06-27 Thomas Thurman <tthurman@gnome.org>
* src/core/stack.h: Commented everything.
2008-06-26 Thomas Thurman <tthurman@gnome.org>
Keep the compiler from giving some warnings.
* src/compositor/compositor-xrender.c (xrender_begin_move,
xrender_update_move, xrender_end_move, xrender_free_window): four
functions which were never called and contain no code #iffed out.
* src/tools/metacity-mag.c (grab_area_at_mouse): fixed typecast error.
2008-06-26 Thomas Thurman <tthurman@gnome.org>
Refactor so the long scary stack functions are less long and scary:
* stack.c (stack_ensure_sorted): the five parts of this long function
broken out into the new functions stack_do_window_deletions,
stack_do_window_additions, stack_do_relayer, stack_do_constrain
(which was already separate: see next) and stack_do_resort.
* stack.c (constrain_stacking): renamed to stack_do_constrain.
* stack.c (stack_ignore_sorted): lose meta prefix since it's static.
2008-06-16 Thomas Thurman <tthurman@gnome.org>
* configure.in: Post-release bump to 2.23.55.
2008-06-16 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.23.34 release.
2008-06-16 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.23.34 release.
2008-06-13 Thomas Thurman <tthurman@gnome.org>
* src/core/window-props.c: Some commenting.
* src/core/prefs.c: Added unified handling of integer preferences.
Re-ordered fields in existing preferences so that changing to
a union-based system will be easier in the future.
2008-06-10 Thomas Thurman <tthurman@gnome.org>
* test/tokentest/tokentest.c (draw_string_to_spec): doubles are
%f or %g, not %d
* test/tokentest/tokentest.ini: re-created fair copy accordingly
2008-06-10 Thomas Thurman <tthurman@gnome.org>
* test/tokentest: A preliminary attempt at a test for the
theme expression tokeniser.
2008-06-05 Thomas Thurman <tthurman@gnome.org>
* src/compositor/compositor-xrender.c (paint_root, destroy_win,
create_root_buffer, paint_windows, repair_screen, window_has_shadow,
xrender_set_active_window, paint_dock_shadows, unmap_win, restack_win,
make_shadow, resize_win, process_property_notify, free_win,
process_configure_notify, process_circulate_notify, add_damage):
defensive programming; check meta_screen_get_compositor_data()
throughout in case it returns NULL. In particular, when this
happened in a certain situation in xrender_set_active_window
this caused a segfault; refs #530702 (and LP#178953 has more data)
but this doesn't close them.
2008-06-02 Thomas Thurman <tthurman@gnome.org>
* NEWS: 2.23.34 release.

View File

@ -195,7 +195,7 @@ ALIASES =
# For instance, some of the names that are used will be different. The list
# of all members will be omitted, etc.
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_FOR_C = YES
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
# sources only. Doxygen will then generate output that is more tailored for Java.
@ -427,7 +427,7 @@ FILE_VERSION_FILTER =
# The QUIET tag can be used to turn on/off the messages that are generated
# by doxygen. Possible values are YES and NO. If left blank NO is used.
QUIET = NO
QUIET = YES
# The WARNINGS tag can be used to turn on/off the warning messages that are
# generated by doxygen. Possible values are YES and NO. If left blank

58
NEWS
View File

@ -1,3 +1,61 @@
2.23.89
=======
Thanks to Thomas Thurman for improvements in this version.
- Added DOAP file. (Thomas)
Translations
Khaled Hosny (ar), Luca Ferretti (it), Takeshi AIHANA (ja), Wouter
Bolsterlee (nl), Vladimir Melo (pt_BR), Daniel Nylander (sv)
2.23.55
=======
Thanks to Elijah Newren and Thomas Thurman for improvements in this version.
Contrary to rumour, this release does not add tabbing to everything.
- Display theme name in title bar of theme viewer (Thomas) (#430198)
- Allow toggling of non-compositor effects (Thomas) (#92867)
- Add some extra null checks (Thomas) (#422242)
- Check for double-freeing at the time of workspace freeing (Elijah) (#361804)
- Don't generate log messages unless we're logging (Thomas)
- Two windows which don't belong to any application can't be considered to
belong to the same application (Thomas)
- Various tidyings (Thomas)
Translations
Yavor Doganov (bg), Gabor Kelemen (hu), Kjartan Maraas (nb), Matej
Urbančič (sl), Daniel Nylander (sv), Theppitak Karoonboonyanan (th)
2.23.34
=======
Thanks to Thomas Thurman for improvements in this version.
- Commenting and tidying (Thomas)
- Fix possible compositor crash (Thomas) (#530702)
Translations
Khaled Hosny (ar), Yavor Doganov (bg), Jorge González (es), Kjartan Maraas (nb),
Yannig Marchegay (Kokoyaya) (oc), Theppitak Karoonboonyanan (th), Clytie
Siddall (vi)
2.23.34
=======
Thanks to Thomas Thurman for improvements in this version.
- Commenting and tidying (Thomas)
- Fix possible compositor crash (Thomas) (#530702)
Translations
Khaled Hosny (ar), Yavor Doganov (bg), Jorge González (es), Kjartan Maraas (nb),
Yannig Marchegay (Kokoyaya) (oc), Theppitak Karoonboonyanan (th), Clytie
Siddall (vi)
2.23.34
=======

View File

@ -4,7 +4,7 @@ m4_define([metacity_major_version], [2])
m4_define([metacity_minor_version], [23])
# Fibonacci sequence for micro version numbering:
# 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987
m4_define([metacity_micro_version], [34])
m4_define([metacity_micro_version], [89])
m4_define([metacity_version],
[metacity_major_version.metacity_minor_version.metacity_micro_version])

71
metacity.doap Normal file
View File

@ -0,0 +1,71 @@
<Project
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns="http://usefulinc.com/ns/doap#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:admin="http://webns.net/mvcb/">
<name>The Metacity Window Manager</name>
<shortname>Metacity</shortname>
<!-- It's a blog. Metacity has no homepage. -->
<homepage rdf:resource="http://blogs.gnome.org/metacity/" />
<!-- The date when the source control was initialised. -->
<created>2001-05-30</created>
<shortdesc xml:lang="en">
A simple GTK+ window manager that tries not to get in your way.
</shortdesc>
<description xml:lang="en">
A window manager for GNOME, with a focus on simplicity and usability
rather than novelties or gimmicks. It uses GTK+ 2 for drawing window frames,
so that it inherits colours, fonts, and so on from the GTK+ theme. Its author
has characterised it as a &quot;boring window manager for the adult in you.
Many window managers are like Marshmallow Froot Loops; Metacity is like Cheerios.&quot;
</description>
<!-- I haven't found anything appropriate; I made this up. -->
<category>window-manager</category>
<wiki rdf:resource="http://live.gnome.org/Metacity" />
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=metacity" />
<screenshots rdf:resource="http://commons.wikimedia.org/wiki/Image:Metacity-screenshot.png" />
<mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/metacity-devel-list" />
<programming-language>C</programming-language>
<license rdf:resource="http://usefulinc.com/doap/licenses/gpl" />
<download-page rdf:resource="http://download.gnome.org/sources/metacity/" />
<repository>
<SVNRepository>
<location rdf:resource="http://svn.gnome.org/svn/metacity/trunk" />
<browse rdf:resource="http://svn.gnome.org/viewvc/metacity/" />
</SVNRepository>
</repository>
<maintainer>
<foaf:Person>
<foaf:name>Havoc Pennington</foaf:name>
</foaf:Person>
</maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Elijah Newren</foaf:name>
</foaf:Person>
</maintainer>
<maintainer>
<foaf:Person>
<foaf:name>Thomas Thurman</foaf:name>
</foaf:Person>
</maintainer>
<!-- Releases would go here, but there have been dozens.
Maybe another time.
-->
</Project>

View File

@ -1,3 +1,80 @@
2008-08-02 Takeshi AIHANA <takeshi.aihana@gmail.com>
* ja.po: Updated Japanese translation.
2008-07-29 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-07-29 Wouter Bolsterlee <wbolster@svn.gnome.org>
* nl.po: Dutch translation updated by Wouter Bolsterlee.
2008-07-25 Daniel Nylander <po@danielnylander.se>
* sv.po: Updated Swedish translation.
2008-07-24 Leonardo Ferreira Fontenelle <leonardof@gnome.org>
* pt_BR.po: Terminology fixes by Vladimir Melo.
2008-07-17 Daniel Nylander <po@danielnylander.se>
* sv.po: Updated Swedish translation.
2008-07-14 Luca Ferretti <elle.uca@libero.it>
* it.po: Updated Italian translation.
2008-07-10 Matej Urbančič <mateju@svn.gnome.org>
* sl.po: Updated Slovenian Translation.
2008-07-10 Theppitak Karoonboonyanan <thep@linux.thai.net>
* th.po: Updated Thai translation.
2008-07-09 Kjartan Maraas <kmaraas@gnome.org>
* nb.po: Updated Norwegian bokmål translation.
2008-07-01 Kjartan Maraas <kmaraas@gnome.org>
* nb.po: Updated Norwegian bokmål translation.
2008-06-24 Daniel Nylander <po@danielnylander.se>
* sv.po: Updated Swedish translation.
2008-06-21 Gabor Kelemen <kelemeng@gnome.hu>
* hu.po: Translation updated.
2008-06-16 Alexander Shopov <ash@contact.bg>
* bg.po: Updated Bulgarian translation by
Yavor Doganov <yavor@gnu.org>
2008-06-15 Jorge Gonzalez <jorgegonz@svn.gnome.org>
* es.po: Updated Spanish translation
2008-06-12 Theppitak Karoonboonyanan <thep@linux.thai.net>
* th.po: Updated Thai translation.
2008-06-11 Djihed Afifi <djihed@gmail.com>
* ar.po: Updated Arabic Translation by Khaled Hosny.
2008-06-11 Yannig Marchegay <yannig@marchegay.org>
* oc.po: Updated Occitan translation.
2008-06-08 Kjartan Maraas <kmaraas@gnome.org>
* nb.po: Updated Norwegian bokmål translation.
2008-06-01 Clytie Siddall <clytie@riverland.net.au>
* vi.po: Updated Vietnamese translation.

376
po/ar.po

File diff suppressed because it is too large Load Diff

1909
po/bg.po

File diff suppressed because it is too large Load Diff

427
po/es.po
View File

@ -11,8 +11,8 @@ msgid ""
msgstr ""
"Project-Id-Version: metacity.HEAD\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-03-21 02:57+0000\n"
"PO-Revision-Date: 2008-03-30 11:04+0200\n"
"POT-Creation-Date: 2008-06-13 23:11+0000\n"
"PO-Revision-Date: 2008-06-15 13:24+0200\n"
"Last-Translator: Jorge González <jorgegonz@svn.gnome.org>\n"
"Language-Team: Español <gnome-es-list@gnome.org>\n"
"MIME-Version: 1.0\n"
@ -52,19 +52,19 @@ msgstr "No se comprenden los caracteres sobrantes «%s» en la cadena «%s»"
msgid "Failed to parse message \"%s\" from dialog process\n"
msgstr "Ocurrió un error al interpretar el mensaje «%s» desde el proceso de diálogo\n"
#: ../src/core/delete.c:270
#: ../src/core/delete.c:253
#, c-format
msgid "Error reading from dialog display process: %s\n"
msgstr "Ocurrió un error leyendo desde el proceso de diálogo de pantalla: %s\n"
#: ../src/core/delete.c:353
#: ../src/core/delete.c:336
#, c-format
msgid "Error launching metacity-dialog to ask about killing an application: %s\n"
msgstr ""
"Ocurrió un error al lanzar metacity-dialog para preguntar acerca de matar "
"una aplicación: %s\n"
#: ../src/core/delete.c:462
#: ../src/core/delete.c:445
#, c-format
msgid "Failed to get hostname: %s\n"
msgstr "Ocurrió un error al obtener el nombre del host: %s\n"
@ -74,12 +74,12 @@ msgstr "Ocurrió un error al obtener el nombre del host: %s\n"
msgid "Missing %s extension required for compositing"
msgstr "Falta la extensión %s requerida para la composición"
#: ../src/core/display.c:438
#: ../src/core/display.c:334
#, 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/errors.c:271
#: ../src/core/errors.c:272
#, c-format
msgid ""
"Lost connection to the display '%s';\n"
@ -90,7 +90,7 @@ msgstr ""
"parece que el servidor X fue apagado o que usted ha matado o destruido el "
"gestor de ventanas.\n"
#: ../src/core/errors.c:278
#: ../src/core/errors.c:279
#, c-format
msgid "Fatal IO error %d (%s) on display '%s'.\n"
msgstr "Error fatal de E/S %d (%s) en la pantalla «%s».\n"
@ -104,19 +104,19 @@ msgstr ""
"Algún otro programa ya está usando la clave %s con el modificador %x como "
"una vinculación\n"
#: ../src/core/keybindings.c:2722
#: ../src/core/keybindings.c:2729
#, c-format
msgid "Error launching metacity-dialog to print an error about a command: %s\n"
msgstr ""
"Ocurrió un error al lanzar metacity-dialog para imprimir un error acerca de "
"un comando: %s\n"
#: ../src/core/keybindings.c:2827
#: ../src/core/keybindings.c:2834
#, c-format
msgid "No command %d has been defined.\n"
msgstr "No ha sido definido ningún comando %d.\n"
#: ../src/core/keybindings.c:3855
#: ../src/core/keybindings.c:3862
#, c-format
msgid "No terminal command has been defined.\n"
msgstr "No ha sido definido ningún comando de terminal.\n"
@ -176,7 +176,7 @@ msgstr ""
"No se ha podido encontrar un tema. Asegúrese de que %s existe y contiene los "
"temas usuales.\n"
#: ../src/core/main.c:516
#: ../src/core/main.c:500
#, c-format
msgid "Failed to restart: %s\n"
msgstr "No se pudo reiniciar: %s\n"
@ -189,25 +189,25 @@ msgstr "No se pudo reiniciar: %s\n"
#. * (We know the old value, so we can look up a suitable string in
#. * the symtab.)
#.
#: ../src/core/prefs.c:450 ../src/core/prefs.c:564
#: ../src/core/prefs.c:496 ../src/core/prefs.c:648
#, c-format
msgid "GConf key '%s' is set to an invalid value\n"
msgstr "La clave GConf «%s» está configurada con un valor inválido\n"
#: ../src/core/prefs.c:537 ../src/core/prefs.c:607 ../src/core/prefs.c:655
#: ../src/core/prefs.c:961 ../src/core/prefs.c:979 ../src/core/prefs.c:995
#: ../src/core/prefs.c:1014 ../src/core/prefs.c:1030 ../src/core/prefs.c:1047
#: ../src/core/prefs.c:1064 ../src/core/prefs.c:1080 ../src/core/prefs.c:1096
#: ../src/core/prefs.c:577 ../src/core/prefs.c:817
#, c-format
msgid "%d stored in GConf key %s is out of range %d to %d\n"
msgstr "%d almacenado en la clave de GConf %s está fuera de rango %d hasta %d\n"
#: ../src/core/prefs.c:621 ../src/core/prefs.c:695 ../src/core/prefs.c:743
#: ../src/core/prefs.c:807 ../src/core/prefs.c:1101 ../src/core/prefs.c:1117
#: ../src/core/prefs.c:1136 ../src/core/prefs.c:1152 ../src/core/prefs.c:1169
#: ../src/core/prefs.c:1185
#, c-format
msgid "GConf key \"%s\" is set to an invalid type\n"
msgstr "La clave GConf «%s» está configurada con un tipo inválido\n"
#: ../src/core/prefs.c:856
#, c-format
msgid "Type of %s was not integer"
msgstr "El tipo de %s no es entero"
#: ../src/core/prefs.c:1165
#: ../src/core/prefs.c:1255
msgid ""
"Workarounds for broken applications disabled. Some applications may not "
"behave properly.\n"
@ -215,23 +215,14 @@ msgstr ""
"Los arreglos para aplicaciones rotas se han deshabilitado. Algunas "
"aplicaciones podrían no comportarse correctamente.\n"
#: ../src/core/prefs.c:1220
#, c-format
msgid ""
"%d stored in GConf key %s is not a reasonable cursor_size; must be in the "
"range 1..128\n"
msgstr ""
"%d almacenado en la clave GConf %s no es un tamaño razonable para "
"«cursor_size»; debe estar entre 1..128\n"
#: ../src/core/prefs.c:1246
#: ../src/core/prefs.c:1325
#, c-format
msgid "Could not parse font description \"%s\" from GConf key %s\n"
msgstr ""
"No se ha podido interpretar la descripción de la tipografía «%s» de la clave "
"GConf %s\n"
#: ../src/core/prefs.c:1306
#: ../src/core/prefs.c:1385
#, c-format
msgid ""
"\"%s\" found in configuration database is not a valid value for mouse button "
@ -240,31 +231,17 @@ msgstr ""
"«%s» encontrado en la base de datos de configuración no es un valor válido "
"para el modificador del botón del ratón\n"
#: ../src/core/prefs.c:1585
#, c-format
msgid ""
"%d stored in GConf key %s is not a reasonable number of workspaces, current "
"maximum is %d\n"
msgstr ""
"%d almacenado en la clave GConf %s no es un número razonable de espacios de "
"trabajo. El máximo disponible es de %d\n"
#: ../src/core/prefs.c:1629
#, c-format
msgid "%d stored in GConf key %s is out of range 0 to %d\n"
msgstr "%d almacenado en la clave GConf %s está fuera de rango 0 hasta %d\n"
#: ../src/core/prefs.c:1760
#: ../src/core/prefs.c:1799
#, c-format
msgid "Error setting number of workspaces to %d: %s\n"
msgstr "Ocurrió un error configurando la número de espacios de trabajo para %d: %s\n"
#: ../src/core/prefs.c:2125 ../src/core/prefs.c:2637
#: ../src/core/prefs.c:2164 ../src/core/prefs.c:2676
#, c-format
msgid "Workspace %d"
msgstr "Área de trabajo %d"
#: ../src/core/prefs.c:2155 ../src/core/prefs.c:2328
#: ../src/core/prefs.c:2194 ../src/core/prefs.c:2367
#, c-format
msgid ""
"\"%s\" found in configuration database is not a valid value for keybinding "
@ -273,19 +250,19 @@ msgstr ""
"«%s» encontrado en la base de datos de configuración no es un valor válido "
"para la combinación de teclas «%s»\n"
#: ../src/core/prefs.c:2718
#: ../src/core/prefs.c:2757
#, c-format
msgid "Error setting name for workspace %d to \"%s\": %s\n"
msgstr ""
"Ocurrió un error al establecer el nombre del área de trabajo %d como «%s»: %"
"s \n"
#: ../src/core/screen.c:410
#: ../src/core/screen.c:350
#, 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:426
#: ../src/core/screen.c:366
#, c-format
msgid ""
"Screen %d on display \"%s\" already has a window manager; try using the --"
@ -294,29 +271,29 @@ 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:453
#: ../src/core/screen.c:393
#, c-format
msgid "Could not acquire window manager selection on screen %d display \"%s\"\n"
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:511
#: ../src/core/screen.c:451
#, 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:721
#: ../src/core/screen.c:661
#, 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"
#: ../src/core/session.c:826 ../src/core/session.c:833
#: ../src/core/session.c:837 ../src/core/session.c:844
#, c-format
msgid "Could not create directory '%s': %s\n"
msgstr "No se ha podido crear el directorio «%s»: %s\n"
#: ../src/core/session.c:843
#: ../src/core/session.c:854
#, c-format
msgid "Could not open session file '%s' for writing: %s\n"
msgstr "No se ha podido abrir para escritura el archivo de sesión «%s»: %s\n"
@ -331,54 +308,55 @@ msgstr "Ocurrió un error al escribir en el archivo de sesión «%s»: %s\n"
msgid "Error closing session file '%s': %s\n"
msgstr "Ocurrió un error al cerrar el archivo de sesión «%s»: %s\n"
#: ../src/core/session.c:1075
#. oh, just give up
#: ../src/core/session.c:1093
#, c-format
msgid "Failed to read saved session file %s: %s\n"
msgstr "Ocurrió un error al leer el archivo de sesión guardado %s: %s\n"
#: ../src/core/session.c:1110
#: ../src/core/session.c:1132
#, c-format
msgid "Failed to parse saved session file: %s\n"
msgstr "Ocurrió un error al interpretar el archivo de sesión guardado: %s\n"
#: ../src/core/session.c:1159
#: ../src/core/session.c:1181
#, c-format
msgid "<metacity_session> attribute seen but we already have the session ID"
msgstr ""
"El atributo <metacity_session> ha sido visto pero ya tenemos el ID de la "
"sesión"
#: ../src/core/session.c:1172
#: ../src/core/session.c:1194
#, c-format
msgid "Unknown attribute %s on <metacity_session> element"
msgstr "Atributo desconocido %s en el elemento <metacity_session>"
#: ../src/core/session.c:1189
#: ../src/core/session.c:1211
#, c-format
msgid "nested <window> tag"
msgstr "etiqueta <window> anidada"
#: ../src/core/session.c:1247 ../src/core/session.c:1279
#: ../src/core/session.c:1269 ../src/core/session.c:1301
#, c-format
msgid "Unknown attribute %s on <window> element"
msgstr "Atributo desconocido %s en el elemento <window>"
#: ../src/core/session.c:1351
#: ../src/core/session.c:1373
#, c-format
msgid "Unknown attribute %s on <maximized> element"
msgstr "Atributo desconocido %s en el elemento <maximized>"
#: ../src/core/session.c:1411
#: ../src/core/session.c:1433
#, c-format
msgid "Unknown attribute %s on <geometry> element"
msgstr "Atributo desconocido %s en el elemento <geometry>"
#: ../src/core/session.c:1431
#: ../src/core/session.c:1453
#, c-format
msgid "Unknown element %s"
msgstr "Elemento desconocido %s"
#: ../src/core/session.c:1868
#: ../src/core/session.c:1879
#, c-format
msgid ""
"Error launching metacity-dialog to warn about apps that don't support "
@ -424,23 +402,23 @@ msgstr "Advertencia del gestor de ventanas: "
msgid "Window manager error: "
msgstr "Error del gestor de ventanas: "
#: ../src/core/window-props.c:195
#: ../src/core/window-props.c:206
#, 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:327
#: ../src/core/window-props.c:338
#, c-format
msgid "%s (on %s)"
msgstr "%s (on %s)"
#: ../src/core/window-props.c:1409
#: ../src/core/window-props.c:1420
#, c-format
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
msgstr "WM_TRANSIENT_FOR inválido para la ventana 0x%lx especificada para %s.\n"
#. first time through
#: ../src/core/window.c:5658
#: ../src/core/window.c:5674
#, c-format
msgid ""
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
@ -456,7 +434,7 @@ msgstr ""
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
#. * about these apps but make them work.
#.
#: ../src/core/window.c:6223
#: ../src/core/window.c:6239
#, c-format
msgid ""
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
@ -630,8 +608,8 @@ msgid ""
"the auto_raise_delay key. This is not related to clicking on a window to "
"raise it, nor to entering a window during drag-and-drop."
msgstr ""
"Si está establecido a «true» y el modo del foco es «sloppy» o «mouse» "
"entonces la ventana con el foco será elevada automáticamente tras un retardo "
"Si está establecido a «true» y el modo del foco es «sloppy» o «mouse» entonces "
"la ventana con el foco será elevada automáticamente tras un retardo "
"especificado en la clave auto_raise_delay. Esto no está relacionado con "
"pulsar en una ventana para elevarla, no con entrar en una ventana durante "
"una operación de arrastrar y soltar."
@ -652,8 +630,8 @@ msgid ""
"working, and may also be a useful tradeoff for terminal servers. However, "
"the wireframe feature is disabled when accessibility is on."
msgstr ""
"Si es «true», metacity dará al usuario menos información y menos sensación "
"de «manipulación directa», usando marcos de alambre, evitando animaciones, u "
"Si es «true», metacity dará al usuario menos información y menos sensación de "
"«manipulación directa», usando marcos de alambre, evitando animaciones, u "
"otros medios. Esto es una reducción significante en usabilidad para muchos "
"usuarios, pero puede permitir funcionar a las aplicaciones heredadas y "
"servidores de terminal cuando de otra forma sería impracticable. Sin "
@ -1065,11 +1043,11 @@ msgid ""
"then there will be no keybinding for this action."
msgstr ""
"La combinación de teclas que ejecuta el comando numerado correspondiente en /"
"apps/metacity/keybinding_commands. El formato se ve como «&lt;Control&gt;a» "
"o «&lt;Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y permite "
"tanto mayúsculas como minúsculas además de abreviaturas como por ejemplo "
"«&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena "
"especial «disabled» entonces no habrá combinación de teclas para esa acción."
"apps/metacity/keybinding_commands. El formato se ve como «&lt;Control&gt;a» o "
"«&lt;Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y permite "
"tanto mayúsculas como minúsculas además de abreviaturas como por ejemplo «&lt;"
"Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena especial "
"«disabled» entonces no habrá combinación de teclas para esa acción."
#: ../src/metacity.schemas.in.h:106
msgid ""
@ -1113,9 +1091,9 @@ msgid ""
"keybinding for this action."
msgstr ""
"La combinación de teclas que cambia al área de trabajo hacia la izquierda de "
"la actual. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;"
"Alt&gt;F1». El intérprete es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"la actual. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El intérprete es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -1129,9 +1107,9 @@ msgid ""
"keybinding for this action."
msgstr ""
"La combinación de teclas que cambia al área de trabajo hacia la derecha de "
"la actual. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;"
"Alt&gt;F1». El intérprete es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"la actual. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El intérprete es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -1354,12 +1332,12 @@ msgid ""
"If you set the option to the special string \"disabled\", then there will be "
"no keybinding for this action."
msgstr ""
"La combinación de teclas usada para activar el «modo mover» y poder mover "
"una ventana utilizando el teclado. El formato se ve como «&lt;Control&gt;a» "
"o «&lt;Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y permite "
"tanto mayúsculas como minúsculas además de abreviaturas como por ejemplo "
"«&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena "
"especial «disabled» entonces no habrá combinación de teclas para esta acción."
"La combinación de teclas usada para activar el «modo mover» y poder mover una "
"ventana utilizando el teclado. El formato se ve como «&lt;Control&gt;a» o «&lt;"
"Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y permite tanto "
"mayúsculas como minúsculas además de abreviaturas como por ejemplo «&lt;"
"Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena especial "
"«disabled» entonces no habrá combinación de teclas para esta acción."
#: ../src/metacity.schemas.in.h:125
msgid ""
@ -1374,9 +1352,9 @@ msgstr ""
"redimensionar una ventana utilizando el teclado. El formato se ve como «&lt;"
"Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;F1». El analizador es bastante "
"liberal y permite tanto mayúsculas como minúsculas además de abreviaturas "
"como por ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción "
"con la cadena especial «disabled» entonces no habrá combinación de teclas "
"para esta acción."
"como por ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con "
"la cadena especial «disabled» entonces no habrá combinación de teclas para "
"esta acción."
#: ../src/metacity.schemas.in.h:126
msgid ""
@ -1388,11 +1366,11 @@ msgid ""
"will be no keybinding for this action."
msgstr ""
"La combinación de teclas usada para ocultar todas las ventanas y darle el "
"foco al fondo del escritorio. El formato se ve como «&lt;Control&gt;a» o "
"«&lt;Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y permite "
"tanto mayúsculas como minúsculas además de abreviaturas como por ejemplo "
"«&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena "
"especial «disabled» entonces no habrá combinación de teclas para esta acción."
"foco al fondo del escritorio. El formato se ve como «&lt;Control&gt;a» o «&lt;"
"Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y permite tanto "
"mayúsculas como minúsculas además de abreviaturas como por ejemplo «&lt;"
"Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena especial "
"«disabled» entonces no habrá combinación de teclas para esta acción."
#: ../src/metacity.schemas.in.h:127
msgid ""
@ -1466,8 +1444,8 @@ msgid ""
"for this action."
msgstr ""
"La combinación de teclas usada para mover una ventana un área de trabajo "
"hacia la derecha. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;"
"&lt;Alt&gt;F1». El intérprete es bastante liberal y permite tanto mayúsculas "
"hacia la derecha. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;"
"Alt&gt;F1». El intérprete es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -1496,9 +1474,9 @@ msgid ""
"\"disabled\", then there will be no keybinding for this action."
msgstr ""
"La combinación de teclas usada para mover una ventana hacia el espacio de "
"trabajo 1. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;"
"Alt&gt;F1». El intérprete es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"trabajo 1. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El intérprete es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -1556,9 +1534,9 @@ msgid ""
"\"disabled\", then there will be no keybinding for this action."
msgstr ""
"La combinación de teclas usada para mover una ventana hacia el espacio de "
"trabajo 2. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;"
"Alt&gt;F1». El intérprete es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y »&lt;"
"trabajo 2. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El intérprete es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y »&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -1571,9 +1549,9 @@ msgid ""
"\"disabled\", then there will be no keybinding for this action."
msgstr ""
"La combinación de teclas usada para mover una ventana hacia el espacio de "
"trabajo 3. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;"
"Alt&gt;F1». El intérprete es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"trabajo 3. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El intérprete es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -1586,9 +1564,9 @@ msgid ""
"\"disabled\", then there will be no keybinding for this action."
msgstr ""
"La combinación de teclas usada para mover una ventana hacia el espacio de "
"trabajo 4. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;"
"Alt&gt;F1». El intérprete es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"trabajo 4. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El intérprete es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -1661,9 +1639,9 @@ msgid ""
"\"disabled\", then there will be no keybinding for this action."
msgstr ""
"La combinación de teclas usada para mover una ventana hacia el espacio de "
"trabajo 9. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;"
"Alt&gt;F1». El intérprete es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y »&lt;"
"trabajo 9. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El intérprete es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y »&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -1680,9 +1658,9 @@ msgstr ""
"escritorio usando una ventana emergente. El formato se ve como »&lt;"
"Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;F1». El analizador es bastante "
"liberal y permite tanto mayúsculas como minúsculas además de abreviaturas "
"como por ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción "
"con la cadena especial «disabled» entonces no habrá combinación de teclas "
"para esta acción."
"como por ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con "
"la cadena especial «disabled» entonces no habrá combinación de teclas para "
"esta acción."
#: ../src/metacity.schemas.in.h:146
msgid ""
@ -1697,9 +1675,8 @@ msgstr ""
"escritorio, sin una ventana emergente. El formato se ve como «&lt;Control&gt;"
"a» o «&lt;Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y "
"permite tanto mayúsculas como minúsculas además de abreviaturas como por "
"ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la "
"cadena especial «disabled» entonces no habrá combinación de teclas para esa "
"acción."
"ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena "
"especial «disabled» entonces no habrá combinación de teclas para esa acción."
#: ../src/metacity.schemas.in.h:147
msgid ""
@ -1713,10 +1690,10 @@ msgid ""
msgstr ""
"La combinación de teclas usada para retroceder el foco entre las ventanas de "
"una aplicación sin una ventana emergente. Manteniendo pulsada la tecla "
"«Mayús.» junto con esta combinación hace que la dirección vaya hacia "
"adelante de nuevo. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;"
"&lt;Alt&gt;F1». El analizador es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"«Mayús.» junto con esta combinación hace que la dirección vaya hacia adelante "
"de nuevo. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El analizador es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -1732,12 +1709,12 @@ msgid ""
msgstr ""
"La combinación de teclas usada para retroceder el foco entre las ventanas de "
"una aplicación, usando una ventana emergente. Manteniendo pulsada la tecla "
"«Mayús.» junto con esta combinación hace que la dirección vaya hacia "
"adelante de nuevo. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;"
"&lt;Alt&gt;F1». El intérprete es bastante liberal y permite tanto "
"mayúsculas como minúsculas además de abreviaturas como por ejemplo «&lt;"
"Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena especial "
"«disabled» entonces no habrá combinación de teclas para esta acción."
"«Mayús.» junto con esta combinación hace que la dirección vaya hacia adelante "
"de nuevo. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El intérprete es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
#: ../src/metacity.schemas.in.h:149
msgid ""
@ -1752,8 +1729,8 @@ msgstr ""
"La combinación de teclas usada para mover el foco entre ventanas sin una "
"ventana emergente. Manteniendo pulsada la tecla «Mayús.» junto con esta "
"combinación hace que la dirección vaya hacia adelante de nuevo. El formato "
"se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;F1». El analizador "
"es bastante liberal y permite tanto mayúsculas como minúsculas además de "
"se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;F1». El analizador es "
"bastante liberal y permite tanto mayúsculas como minúsculas además de "
"abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura "
"esta opción con la cadena especial «disabled» entonces no habrá combinación "
"de teclas para esta acción."
@ -1787,12 +1764,11 @@ msgid ""
"no keybinding for this action."
msgstr ""
"La combinación de teclas usada para mover el foco entre los paneles y el "
"escritorio usando una ventana emergente El formato se ve como «&lt;"
"Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;F1». El analizador es bastante "
"liberal y permite tanto mayúsculas como minúsculas además de abreviaturas "
"como por ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción "
"con la cadena especial «disabled» entonces no habrá combinación de teclas "
"para esta acción."
"escritorio usando una ventana emergente El formato se ve como «&lt;Control&gt;"
"a» o «&lt;Mayús&gt;&lt;Alt&gt;F1». El analizador es bastante liberal y "
"permite tanto mayúsculas como minúsculas además de abreviaturas como por "
"ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena "
"especial «disabled» entonces no habrá combinación de teclas para esta acción."
#: ../src/metacity.schemas.in.h:152
msgid ""
@ -1807,9 +1783,8 @@ msgstr ""
"escritorio, sin una ventana emergente. El formato se ve como «&lt;Control&gt;"
"a» o «&lt;Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y "
"permite tanto mayúsculas como minúsculas además de abreviaturas como por "
"ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la "
"cadena especial «disabled» entonces no habrá combinación de teclas para esa "
"acción."
"ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena "
"especial «disabled» entonces no habrá combinación de teclas para esa acción."
#: ../src/metacity.schemas.in.h:153
msgid ""
@ -1881,9 +1856,9 @@ msgstr ""
"ventana emergente. (Tradicionalmente &lt;Alt&gt;Tab). El formato se ve como "
"«&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante "
"liberal y permite tanto mayúsculas como minúsculas además de abreviaturas "
"como por ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción "
"con la cadena especial «disabled» entonces no habrá combinación de teclas "
"para esta acción."
"como por ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con "
"la cadena especial «disabled» entonces no habrá combinación de teclas para "
"esta acción."
#: ../src/metacity.schemas.in.h:157
msgid ""
@ -1956,11 +1931,11 @@ msgid ""
"keybinding for this action."
msgstr ""
"La combinación de teclas usada para activar una ventana en todos los "
"espacios de trabajo o sólo en uno. El formato se ve como «&lt;Control&gt;a» "
"o «&lt;Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y permite "
"tanto mayúsculas como minúsculas además de abreviaturas como por ejemplo "
"«&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena "
"especial «disabled» entonces no habrá combinación de teclas para esta acción."
"espacios de trabajo o sólo en uno. El formato se ve como «&lt;Control&gt;a» o "
"«&lt;Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y permite "
"tanto mayúsculas como minúsculas además de abreviaturas como por ejemplo «&lt;"
"Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena especial "
"«disabled» entonces no habrá combinación de teclas para esta acción."
#: ../src/metacity.schemas.in.h:162
msgid ""
@ -2090,10 +2065,10 @@ msgid ""
msgstr ""
"El modo de foco de la ventana indica cómo son activadas las ventanas. Tiene "
"tres valores posibles; «click» significa que la ventana debe seleccionarse "
"para obtener el foco, «sloppy» significa que ventanas obtienen el foco "
"cuando el ratón entra en la ventana y «mouse» significa que la ventanas "
"obtienen el foco cuando el ratón entra en la ventana y lo pierden cuando el "
"ratón sale de la ventana."
"para obtener el foco, «sloppy» significa que ventanas obtienen el foco cuando "
"el ratón entra en la ventana y «mouse» significa que la ventanas obtienen el "
"foco cuando el ratón entra en la ventana y lo pierden cuando el ratón sale "
"de la ventana."
#: ../src/metacity.schemas.in.h:173
msgid "The window screenshot command"
@ -2145,9 +2120,9 @@ msgid ""
"for this action."
msgstr ""
"Esta combinación de teclas coloca una ventana al norte (arriba) de la "
"pantalla. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;"
"Alt&gt;F1». El analizador es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"pantalla. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El analizador es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -2161,9 +2136,9 @@ msgid ""
"for this action."
msgstr ""
"Esta combinación de teclas coloca una ventana al este (derecha) de la "
"pantalla. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;"
"Alt&gt;F1». El analizador es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"pantalla. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El analizador es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -2193,11 +2168,11 @@ msgid ""
"keybinding for this action."
msgstr ""
"Esta combinación de teclas mueve una ventana a la esquina noroeste (arriba a "
"la izquierda) de la pantalla. El formato se ve como «&lt;Control&gt;a» o "
"«&lt;Mayús&gt;&lt;Alt&gt;F1». El analizador es bastante liberal y permite "
"tanto mayúsculas como minúsculas además de abreviaturas como por ejemplo "
"«&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena "
"especial «disabled» entonces no habrá combinación de teclas para esta acción."
"la izquierda) de la pantalla. El formato se ve como «&lt;Control&gt;a» o «&lt;"
"Mayús&gt;&lt;Alt&gt;F1». El analizador es bastante liberal y permite tanto "
"mayúsculas como minúsculas además de abreviaturas como por ejemplo «&lt;"
"Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena especial "
"«disabled» entonces no habrá combinación de teclas para esta acción."
#: ../src/metacity.schemas.in.h:180
msgid ""
@ -2241,11 +2216,11 @@ msgid ""
"keybinding for this action."
msgstr ""
"Esta combinación de teclas mueve una ventana a la esquina suroeste (abajo a "
"la izquierda) de la pantalla. El formato se ve como «&lt;Control&gt;a» o "
"«&lt;Mayús&gt;&lt;Alt&gt;F1». El analizador es bastante liberal y permite "
"tanto mayúsculas como minúsculas además de abreviaturas como por ejemplo "
"«&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena "
"especial «disabled» entonces no habrá combinación de teclas para esta acción."
"la izquierda) de la pantalla. El formato se ve como «&lt;Control&gt;a» o «&lt;"
"Mayús&gt;&lt;Alt&gt;F1». El analizador es bastante liberal y permite tanto "
"mayúsculas como minúsculas además de abreviaturas como por ejemplo «&lt;"
"Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena especial "
"«disabled» entonces no habrá combinación de teclas para esta acción."
#: ../src/metacity.schemas.in.h:183
msgid ""
@ -2257,9 +2232,9 @@ msgid ""
"for this action."
msgstr ""
"Esta combinación de teclas mueve una ventana al lado oeste (izquierdo) de la "
"pantalla. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;"
"Alt&gt;F1». El analizador es bastante liberal y permite tanto mayúsculas "
"como minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"pantalla. El formato se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;"
"F1». El analizador es bastante liberal y permite tanto mayúsculas como "
"minúsculas además de abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;"
"Ctrl&gt;». Si configura esta opción con la cadena especial «disabled» "
"entonces no habrá combinación de teclas para esta acción."
@ -2272,8 +2247,8 @@ msgid ""
"\"disabled\", then there will be no keybinding for this action."
msgstr ""
"Esta combinación de teclas eleva una ventana por encima de otras. El formato "
"se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;F1». El analizador "
"es bastante liberal y permite tanto mayúsculas como minúsculas además de "
"se ve como «&lt;Control&gt;a» o «&lt;Mayús&gt;&lt;Alt&gt;F1». El analizador es "
"bastante liberal y permite tanto mayúsculas como minúsculas además de "
"abreviaturas como por ejemplo «&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura "
"esta opción con la cadena especial «disabled» entonces no habrá combinación "
"de teclas para esta acción."
@ -2288,11 +2263,11 @@ msgid ""
"for this action."
msgstr ""
"Esta combinación de teclas redimensiona una ventana para que rellene todo el "
"espacio horizontal disponible. El formato se ve como «&lt;Control&gt;a» o "
"«&lt;Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y permite "
"tanto mayúsculas como minúsculas además de abreviaturas como por ejemplo "
"«&lt;Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena "
"especial «disabled» entonces no habrá combinación de teclas para esta acción."
"espacio horizontal disponible. El formato se ve como «&lt;Control&gt;a» o «&lt;"
"Mayús&gt;&lt;Alt&gt;F1». El intérprete es bastante liberal y permite tanto "
"mayúsculas como minúsculas además de abreviaturas como por ejemplo «&lt;"
"Ctl&gt;» y «&lt;Ctrl&gt;». Si configura esta opción con la cadena especial "
"«disabled» entonces no habrá combinación de teclas para esta acción."
#: ../src/metacity.schemas.in.h:186
msgid ""
@ -2343,9 +2318,9 @@ msgid ""
msgstr ""
"Esta opción determina los efectos de la pulsación con el botón central en la "
"barra de títulos. Las opciones válidas actualmente son «toggle_shade», que "
"enrolla/desenrolla la ventana, «toggle_maximized» que maximiza/desmaximiza "
"la ventana, «toggle_maximize_horizontally» y «toggle_maximize_vertically» "
"que maximiza/desmaximiza la ventana sólo en esa dirección, «minimize» que "
"enrolla/desenrolla la ventana, «toggle_maximized» que maximiza/desmaximiza la "
"ventana, «toggle_maximize_horizontally» y «toggle_maximize_vertically» que "
"maximiza/desmaximiza la ventana sólo en esa dirección, «minimize» que "
"minimiza la ventana, «shade» que enrolla la ventana hacia arriba, «menu» que "
"muestra la ventana de menú, «lower» que pone la ventana detrás de todas las "
"demás y «none» que no hará nada."
@ -2363,9 +2338,9 @@ msgid ""
msgstr ""
"Esta opción determina los efectos de la pulsación con el botón derecho en la "
"barra de títulos. Las opciones válidas actualmente son «toggle_shade», que "
"enrolla/desenrolla la ventana, «toggle_maximized» que maximiza/desmaximiza "
"la ventana, «toggle_maximize_horizontally» y «toggle_maximize_vertically» "
"que maximiza/desmaximiza la ventana sólo en esa dirección, «minimize» que "
"enrolla/desenrolla la ventana, «toggle_maximized» que maximiza/desmaximiza la "
"ventana, «toggle_maximize_horizontally» y «toggle_maximize_vertically» que "
"maximiza/desmaximiza la ventana sólo en esa dirección, «minimize» que "
"minimiza la ventana, «shade» que enrolla la ventana hacia arriba, «menu» que "
"muestra la ventana de menú, «lower» que pone la ventana detrás de todas las "
"demás y «none» que no hará nada."
@ -2777,8 +2752,8 @@ msgid ""
"Invalid title scale \"%s\" (must be one of xx-small,x-small,small,medium,"
"large,x-large,xx-large)\n"
msgstr ""
"Escala de título inválida «%s» (debe ser una de xx-small,x-small,small,"
"medium,large,x-large,xx-large)\n"
"Escala de título inválida «%s» (debe ser una de xx-small,x-small,small,medium,"
"large,x-large,xx-large)\n"
#: ../src/ui/theme-parser.c:795 ../src/ui/theme-parser.c:803
#: ../src/ui/theme-parser.c:885 ../src/ui/theme-parser.c:982
@ -3565,38 +3540,38 @@ msgstr "No se ha podido interpretar el valor alfa «%s» en el color mezclado"
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
msgstr "El valor alfa «%s» en el color mezclado no está entre 0.0 y 1.0"
#: ../src/ui/theme.c:1285
#: ../src/ui/theme.c:1284
#, c-format
msgid "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
msgstr ""
"El formato de sombreado es «shade/base_color/factor», «%s» no coincide con "
"el formato"
"El formato de sombreado es «shade/base_color/factor», «%s» no coincide con el "
"formato"
#: ../src/ui/theme.c:1296
#: ../src/ui/theme.c:1295
#, c-format
msgid "Could not parse shade factor \"%s\" in shaded color"
msgstr ""
"No se ha podido interpretar el factor de sombreado «%s» en el color del "
"sombreado"
#: ../src/ui/theme.c:1306
#: ../src/ui/theme.c:1305
#, c-format
msgid "Shade factor \"%s\" in shaded color is negative"
msgstr "El factor de sombreado «%s» en el color sombreado es negativo"
#: ../src/ui/theme.c:1336
#: ../src/ui/theme.c:1334
#, c-format
msgid "Could not parse color \"%s\""
msgstr "No se ha podido interpretar el color «%s»"
#: ../src/ui/theme.c:1594
#: ../src/ui/theme.c:1584
#, c-format
msgid "Coordinate expression contains character '%s' which is not allowed"
msgstr ""
"La expresión de coordenadas contenía un carácter «%s» en cual no está "
"permitido"
#: ../src/ui/theme.c:1621
#: ../src/ui/theme.c:1611
#, c-format
msgid ""
"Coordinate expression contains floating point number '%s' which could not be "
@ -3605,12 +3580,12 @@ msgstr ""
"La expresión de coordenadas contenía un número de coma flotante «%s» en cual "
"no pudo ser analizado"
#: ../src/ui/theme.c:1635
#: ../src/ui/theme.c:1625
#, c-format
msgid "Coordinate expression contains integer '%s' which could not be parsed"
msgstr "La expresión de coordenadas contenía un entero «%s» que no pudo ser analizado"
#: ../src/ui/theme.c:1757
#: ../src/ui/theme.c:1747
#, c-format
msgid ""
"Coordinate expression contained unknown operator at the start of this text: "
@ -3619,41 +3594,41 @@ msgstr ""
"La expresión de coordenadas contenía un operador inválido al inicio de su "
"texto: «%s»"
#: ../src/ui/theme.c:1814
#: ../src/ui/theme.c:1804
#, c-format
msgid "Coordinate expression was empty or not understood"
msgstr "La expresión de coordenadas estaba vacía o no fue entendida"
#: ../src/ui/theme.c:1925 ../src/ui/theme.c:1935 ../src/ui/theme.c:1969
#: ../src/ui/theme.c:1915 ../src/ui/theme.c:1925 ../src/ui/theme.c:1959
#, c-format
msgid "Coordinate expression results in division by zero"
msgstr "La expresión de coordenadas resultó en un error de división por cero"
#: ../src/ui/theme.c:1977
#: ../src/ui/theme.c:1967
#, c-format
msgid "Coordinate expression tries to use mod operator on a floating-point number"
msgstr ""
"La expresión de coordenadas intentó usar un operador mod con un número de "
"coma flotante"
#: ../src/ui/theme.c:2033
#: ../src/ui/theme.c:2023
#, c-format
msgid "Coordinate expression has an operator \"%s\" where an operand was expected"
msgstr ""
"La expresión de coordenadas tiene un operador «%s» donde se esperaba un "
"operando"
#: ../src/ui/theme.c:2042
#: ../src/ui/theme.c:2032
#, c-format
msgid "Coordinate expression had an operand where an operator was expected"
msgstr "La expresión de coordenadas tiene un operando donde se esperaba un operador"
#: ../src/ui/theme.c:2050
#: ../src/ui/theme.c:2040
#, c-format
msgid "Coordinate expression ended with an operator instead of an operand"
msgstr "La expresión de coordenadas termina con una operador en vez de un operando"
#: ../src/ui/theme.c:2060
#: ../src/ui/theme.c:2050
#, c-format
msgid ""
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
@ -3662,41 +3637,41 @@ msgstr ""
"La expresión de coordenadas tiene el operador «%c» seguido del operador «%c» "
"sin un operando entre ellos"
#: ../src/ui/theme.c:2207 ../src/ui/theme.c:2248
#: ../src/ui/theme.c:2197 ../src/ui/theme.c:2238
#, c-format
msgid "Coordinate expression had unknown variable or constant \"%s\""
msgstr "La expresión de coordenadas tenía una variable o constante desconocida «%s»"
#: ../src/ui/theme.c:2302
#: ../src/ui/theme.c:2292
#, c-format
msgid "Coordinate expression parser overflowed its buffer."
msgstr "El parser de la expresión de coordenadas desbordó su búfer."
#: ../src/ui/theme.c:2331
#: ../src/ui/theme.c:2321
#, c-format
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
msgstr ""
"La expresión de coordenadas tenía un paréntesis cerrado sin un paréntesis "
"abierto"
#: ../src/ui/theme.c:2395
#: ../src/ui/theme.c:2385
#, c-format
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
msgstr ""
"La expresión de coordenadas tenía un paréntesis abierto sin un paréntesis "
"cerrado"
#: ../src/ui/theme.c:2406
#: ../src/ui/theme.c:2396
#, c-format
msgid "Coordinate expression doesn't seem to have any operators or operands"
msgstr "La expresión de coordenadas no parece tener ni operadores ni operandos"
#: ../src/ui/theme.c:2608 ../src/ui/theme.c:2628 ../src/ui/theme.c:2648
#: ../src/ui/theme.c:2598 ../src/ui/theme.c:2618 ../src/ui/theme.c:2638
#, c-format
msgid "Theme contained an expression that resulted in an error: %s\n"
msgstr "El tema contenía una expresión que ha resultado en un error: %s\n"
#: ../src/ui/theme.c:4167
#: ../src/ui/theme.c:4157
#, c-format
msgid ""
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
@ -3705,39 +3680,39 @@ msgstr ""
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> debe ser "
"especificado para este estilo de marco"
#: ../src/ui/theme.c:4643 ../src/ui/theme.c:4668
#: ../src/ui/theme.c:4633 ../src/ui/theme.c:4658
#, c-format
msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
msgstr "Falta <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
#: ../src/ui/theme.c:4712
#: ../src/ui/theme.c:4702
#, c-format
msgid "Failed to load theme \"%s\": %s\n"
msgstr "Ocurrió un error al cargar el tema «%s»: %s\n"
#: ../src/ui/theme.c:4838 ../src/ui/theme.c:4845 ../src/ui/theme.c:4852
#: ../src/ui/theme.c:4859 ../src/ui/theme.c:4866
#: ../src/ui/theme.c:4828 ../src/ui/theme.c:4835 ../src/ui/theme.c:4842
#: ../src/ui/theme.c:4849 ../src/ui/theme.c:4856
#, c-format
msgid "No <%s> set for theme \"%s\""
msgstr "No se configuró <%s> para el tema «%s»"
#: ../src/ui/theme.c:4874
#: ../src/ui/theme.c:4864
#, c-format
msgid ""
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
"type=\"%s\" style_set=\"whatever\"/> element"
msgstr ""
"No hay un estilo de marco para el tipo de ventana «%s» en el tema «%s», "
"añada un elemento <window type=\"%s\" style_set=\"whatever\"/>"
"No hay un estilo de marco para el tipo de ventana «%s» en el tema «%s», añada "
"un elemento <window type=\"%s\" style_set=\"whatever\"/>"
#: ../src/ui/theme.c:5241 ../src/ui/theme.c:5303 ../src/ui/theme.c:5366
#: ../src/ui/theme.c:5231 ../src/ui/theme.c:5293 ../src/ui/theme.c:5356
#, c-format
msgid "User-defined constants must begin with a capital letter; \"%s\" does not"
msgstr ""
"Las constantes definidas por el usuario deben comenzar con una letra "
"mayúscula; «%s» no lo hace"
#: ../src/ui/theme.c:5249 ../src/ui/theme.c:5311 ../src/ui/theme.c:5374
#: ../src/ui/theme.c:5239 ../src/ui/theme.c:5301 ../src/ui/theme.c:5364
#, c-format
msgid "Constant \"%s\" has already been defined"
msgstr "La constante «%s» ya ha sido definida"

992
po/hu.po

File diff suppressed because it is too large Load Diff

486
po/it.po

File diff suppressed because it is too large Load Diff

445
po/ja.po

File diff suppressed because it is too large Load Diff

203
po/nb.po
View File

@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: metacity 2.23.x\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-05-14 15:14+0200\n"
"PO-Revision-Date: 2008-05-14 15:15+0200\n"
"POT-Creation-Date: 2008-07-09 13:38+0200\n"
"PO-Revision-Date: 2008-07-09 13:44+0200\n"
"Last-Translator: Kjartan Maraas <kmaraas@gnome.org>\n"
"Language-Team: Norwegian bokmål <i18n-no@lister.ping.uio.no>\n"
"MIME-Version: 1.0\n"
@ -73,7 +73,7 @@ msgstr "Mangler utvidelsen %s som kreves for komposittfunksjon"
msgid "Failed to open X Window System display '%s'\n"
msgstr "Feil under åpning av X Window System skjerm «%s»\n"
#: ../src/core/errors.c:271
#: ../src/core/errors.c:272
#, c-format
msgid ""
"Lost connection to the display '%s';\n"
@ -84,7 +84,7 @@ msgstr ""
"sannsynligvis ble X-tjeneren stengt ned eller kanskje du drepte/ødela\n"
"vinduhåndtereren.\n"
#: ../src/core/errors.c:278
#: ../src/core/errors.c:279
#, c-format
msgid "Fatal IO error %d (%s) on display '%s'.\n"
msgstr "Fatal IU-feil %d (%s) på skjerm «%s».\n"
@ -98,19 +98,19 @@ msgstr ""
"Et annet program bruker allerede nøkkelen %s med modifikatorer %x som "
"binding\n"
#: ../src/core/keybindings.c:2722
#: ../src/core/keybindings.c:2729
#, c-format
msgid "Error launching metacity-dialog to print an error about a command: %s\n"
msgstr ""
"Feil under oppstart av metacity-dialog for å skrive ut en feil om en "
"kommando: %s\n"
#: ../src/core/keybindings.c:2827
#: ../src/core/keybindings.c:2834
#, c-format
msgid "No command %d has been defined.\n"
msgstr "Ingen kommando %d er definert\n"
#: ../src/core/keybindings.c:3855
#: ../src/core/keybindings.c:3862
#, c-format
msgid "No terminal command has been defined.\n"
msgstr "Ingen terminalkommando er definert\n"
@ -183,25 +183,25 @@ msgstr "Feil under omstart: %s\n"
#. * (We know the old value, so we can look up a suitable string in
#. * the symtab.)
#.
#: ../src/core/prefs.c:450 ../src/core/prefs.c:564
#: ../src/core/prefs.c:502 ../src/core/prefs.c:654
#, c-format
msgid "GConf key '%s' is set to an invalid value\n"
msgstr "GConf-nøkkel «%s» er satt til en ugyldig verdi\n"
#: ../src/core/prefs.c:537 ../src/core/prefs.c:611 ../src/core/prefs.c:659
#: ../src/core/prefs.c:965 ../src/core/prefs.c:983 ../src/core/prefs.c:999
#: ../src/core/prefs.c:1018 ../src/core/prefs.c:1034 ../src/core/prefs.c:1051
#: ../src/core/prefs.c:1068 ../src/core/prefs.c:1084 ../src/core/prefs.c:1100
#: ../src/core/prefs.c:583 ../src/core/prefs.c:823
#, c-format
msgid "%d stored in GConf key %s is out of range %d to %d\n"
msgstr "%d lagret i GConf-nøkkel %s er utenfor område %d til %d\n"
#: ../src/core/prefs.c:627 ../src/core/prefs.c:701 ../src/core/prefs.c:749
#: ../src/core/prefs.c:813 ../src/core/prefs.c:1108 ../src/core/prefs.c:1124
#: ../src/core/prefs.c:1143 ../src/core/prefs.c:1159 ../src/core/prefs.c:1176
#: ../src/core/prefs.c:1192
#, c-format
msgid "GConf key \"%s\" is set to an invalid type\n"
msgstr "GConf-nøkkel «%s» er satt til en ugyldig type\n"
#: ../src/core/prefs.c:860
#, c-format
msgid "Type of %s was not integer"
msgstr "Typen for «%s» var ikke heltall"
#: ../src/core/prefs.c:1169
#: ../src/core/prefs.c:1262
msgid ""
"Workarounds for broken applications disabled. Some applications may not "
"behave properly.\n"
@ -209,21 +209,12 @@ msgstr ""
"Funksjonalitet for å gå rundt ødelagte programmer er deaktivert. Noen "
"programmer vil kanskje ikke oppføre seg korrekt.\n"
#: ../src/core/prefs.c:1224
#, c-format
msgid ""
"%d stored in GConf key %s is not a reasonable cursor_size; must be in the "
"range 1..128\n"
msgstr ""
"%d lagret i GConf-nøkkel %s er ikke en fornuftig verdi for cursor_size. Må "
"være i området 1..128\n"
#: ../src/core/prefs.c:1250
#: ../src/core/prefs.c:1332
#, c-format
msgid "Could not parse font description \"%s\" from GConf key %s\n"
msgstr "Kunne ikke tolke skriftbeskrivelsen «%s» fra GConf-nøkkel %s\n"
#: ../src/core/prefs.c:1310
#: ../src/core/prefs.c:1392
#, c-format
msgid ""
"\"%s\" found in configuration database is not a valid value for mouse button "
@ -232,31 +223,17 @@ msgstr ""
"«%s» funnet i konfigurasjonsdatabasen er ikke en gyldig verdi for endring av "
"musknapp\n"
#: ../src/core/prefs.c:1589
#, c-format
msgid ""
"%d stored in GConf key %s is not a reasonable number of workspaces, current "
"maximum is %d\n"
msgstr ""
"%d lagret i GConf-nøkkel %s er ikke et lesbart antall arbeidsområder, aktivt "
"maksimum er %d\n"
#: ../src/core/prefs.c:1633
#, c-format
msgid "%d stored in GConf key %s is out of range 0 to %d\n"
msgstr "%d lagret i GConf-nøkkel %s er utenfor området 0 til %d\n"
#: ../src/core/prefs.c:1764
#: ../src/core/prefs.c:1809
#, c-format
msgid "Error setting number of workspaces to %d: %s\n"
msgstr "Feil under spesifisering av antall arbeidsområder til %d: %s\n"
#: ../src/core/prefs.c:2129 ../src/core/prefs.c:2641
#: ../src/core/prefs.c:2174 ../src/core/prefs.c:2686
#, c-format
msgid "Workspace %d"
msgstr "Arbeidsområde %d"
#: ../src/core/prefs.c:2159 ../src/core/prefs.c:2332
#: ../src/core/prefs.c:2204 ../src/core/prefs.c:2377
#, c-format
msgid ""
"\"%s\" found in configuration database is not a valid value for keybinding "
@ -265,7 +242,7 @@ msgstr ""
"«%s» funnet i konfigurasjonsdatabasen er ikke en gyldig verdi for "
"tastaturbinding «%s»\n"
#: ../src/core/prefs.c:2722
#: ../src/core/prefs.c:2767
#, c-format
msgid "Error setting name for workspace %d to \"%s\": %s\n"
msgstr "Feil under setting av navn på arbeidsområde %d til «%s»: %s\n"
@ -411,23 +388,23 @@ msgstr "Advarsel fra vindushåndterer: "
msgid "Window manager error: "
msgstr "Feil i vindushåndterer: "
#: ../src/core/window-props.c:195
#: ../src/core/window-props.c:206
#, c-format
msgid "Application set a bogus _NET_WM_PID %lu\n"
msgstr "Programmet satte en feil _NET_WM_PID %lu\n"
#: ../src/core/window-props.c:327
#: ../src/core/window-props.c:338
#, c-format
msgid "%s (on %s)"
msgstr "%s (på %s)"
#: ../src/core/window-props.c:1409
#: ../src/core/window-props.c:1420
#, c-format
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
msgstr "Ugyldig WM_TRANSIENT_FOR vindu 0x%lx oppgitt for %s.\n"
#. first time through
#: ../src/core/window.c:5670
#: ../src/core/window.c:5648
#, c-format
msgid ""
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
@ -443,7 +420,7 @@ msgstr ""
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
#. * about these apps but make them work.
#.
#: ../src/core/window.c:6235
#: ../src/core/window.c:6213
#, c-format
msgid ""
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
@ -524,7 +501,6 @@ msgid "Arrangement of buttons on the titlebar"
msgstr "Plassering av knappene på tittellinjen"
#: ../src/metacity.schemas.in.h:8
#, fuzzy
msgid ""
"Arrangement of buttons on the titlebar. The value should be a string, such "
"as \"menu:minimize,maximize,spacer,close\"; the colon separates the left "
@ -535,10 +511,12 @@ msgid ""
"some space between two adjacent buttons."
msgstr ""
"Plassering av knapper på tittellinjen. Verdien skal være en streng av type "
"«menu:minimize,maximize,close»; kolon skiller venstre hjørne av vinduet fra "
"høyre hjørne, og knappenavnene skilles av komma. Duplisering av knapper er "
"ikke lovlig. Ukjente knapper ignoreres uten tilbakemelding slik at knapper "
"kan legges til i fremtidige versjoner uten å ødelegge for eldre versjoner."
"«menu:minimize,maximize,spacer,close»; kolon skiller venstre hjørne av "
"vinduet fra høyre hjørne, og knappenavnene skilles av komma. Duplisering av "
"knapper er ikke lovlig. Ukjente knapper ignoreres uten tilbakemelding slik "
"at knapper kan legges til i fremtidige versjoner uten å ødelegge for eldre "
"versjoner. En tagg for mellomrom kan brukes for å sette inn mellomrom mellom "
"to knapper."
#: ../src/metacity.schemas.in.h:9
msgid "Automatically raises the focused window"
@ -2243,7 +2221,6 @@ msgstr ""
"tastebinding for denne handlingen."
#: ../src/metacity.schemas.in.h:187
#, fuzzy
msgid ""
"This option determines the effects of double-clicking on the title bar. "
"Current valid options are 'toggle_shade', which will shade/unshade the "
@ -2253,14 +2230,9 @@ msgid ""
"minimize the window, 'shade' which will roll the window up, 'menu' which "
"will display the window menu, 'lower' which will put the window behind all "
"the others, and 'none' which will not do anything."
msgstr ""
"Dette alternativet bestemmer effekten av dobbeltklikk på tittellinjen. "
"Gyldige alternativer er «toggle_shade», hvilket vil rulle ned/opp vinduet, "
"«toggle_maximizes» som vil maksimere/gjenopprette vinduet, «toggle_minimize», "
"som vil minimere vinduet, og «none» som ikke gjør noen ting."
msgstr "Dette alternativet bestemmer effekten av dobbeltklikk på tittellinjen. Gyldige alternativer er «toggle_shade», hvilket vil rulle ned/opp vinduet, «toggle_maximizes» som vil maksimere/gjenopprette vinduet, «toggle_maximize_horisontally» som vil maksimere vinduet i horisontal retning, «toggle_maximize_vertically» som vil maksimere/gjenopprette vinduet i vertikal retning, «toggle_minimize», som vil minimere vinduet, «shade» som vil rulle vinduet opp, «menu» som vil vise vindusmenyen, «lower» som vil plassere vinduet bak alle andre og «none» som ikke gjør noen ting."
#: ../src/metacity.schemas.in.h:188
#, fuzzy
msgid ""
"This option determines the effects of middle-clicking on the title bar. "
"Current valid options are 'toggle_shade', which will shade/unshade the "
@ -2270,14 +2242,9 @@ msgid ""
"minimize the window, 'shade' which will roll the window up, 'menu' which "
"will display the window menu, 'lower' which will put the window behind all "
"the others, and 'none' which will not do anything."
msgstr ""
"Dette alternativet bestemmer effekten av klikk med den midterste knappen på "
"tittellinjen. Gyldige alternativer er «toggle_shade», som vil rulle vinduet "
"opp/ned, «toggle_maximize» som vil maksimere/gjenopprette vinduet, "
"«toggle_minimize», som vil minimere vinduet, og «none» som ikke gjør noen ting."
msgstr "Dette alternativet bestemmer effekten av klikk med midterste musknapp på tittellinjen. Gyldige alternativer er «toggle_shade», hvilket vil rulle ned/opp vinduet, «toggle_maximizes» som vil maksimere/gjenopprette vinduet, «toggle_maximize_horisontally» som vil maksimere vinduet i horisontal retning, «toggle_maximize_vertically» som vil maksimere/gjenopprette vinduet i vertikal retning, «toggle_minimize», som vil minimere vinduet, «shade» som vil rulle vinduet opp, «menu» som vil vise vindusmenyen, «lower» som vil plassere vinduet bak alle andre og «none» som ikke gjør noen ting."
#: ../src/metacity.schemas.in.h:189
#, fuzzy
msgid ""
"This option determines the effects of right-clicking on the title bar. "
"Current valid options are 'toggle_shade', which will shade/unshade the "
@ -2287,11 +2254,7 @@ msgid ""
"minimize the window, 'shade' which will roll the window up, 'menu' which "
"will display the window menu, 'lower' which will put the window behind all "
"the others, and 'none' which will not do anything."
msgstr ""
"Dette alternativet bestemmer effekten av høyreklikk på tittellinjen. Gyldige "
"alternativer er «toggle_shade», som vil rulle vinduet opp/ned, "
"«toggle_maximize» som vil maksimere/gjenopprette vinduet, «toggle_minimize», "
"som vil minimere vinduet, og «none» som ikke gjør noen ting."
msgstr "Dette alternativet bestemmer effekten av høyreklikk på tittellinjen. Gyldige alternativer er «toggle_shade», hvilket vil rulle ned/opp vinduet, «toggle_maximizes» som vil maksimere/gjenopprette vinduet, «toggle_maximize_horisontally» som vil maksimere vinduet i horisontal retning, «toggle_maximize_vertically» som vil maksimere/gjenopprette vinduet i vertikal retning, «minimize», som vil minimere vinduet, «shade» som vil rulle vinduet opp, «menu» som vil vise vindusmenyen, «lower» som vil plassere vinduet bak alle andre og «none» som ikke gjør noen ting."
#: ../src/metacity.schemas.in.h:190
msgid ""
@ -3193,157 +3156,157 @@ msgstr "Fant ikke en gyldig fil for tema %s\n"
msgid "Theme file %s did not contain a root <metacity_theme> element"
msgstr "Temafil %s inneholdt ikke et rotelement <metacity_theme>"
#: ../src/ui/theme-viewer.c:74
#: ../src/ui/theme-viewer.c:75
msgid "/_Windows"
msgstr "/_Vinduer"
#: ../src/ui/theme-viewer.c:75
#: ../src/ui/theme-viewer.c:76
msgid "/Windows/tearoff"
msgstr "/Vinduer/avriving"
#: ../src/ui/theme-viewer.c:76
#: ../src/ui/theme-viewer.c:77
msgid "/Windows/_Dialog"
msgstr "/Vinduer/_Dialog"
#: ../src/ui/theme-viewer.c:77
#: ../src/ui/theme-viewer.c:78
msgid "/Windows/_Modal dialog"
msgstr "/Vinduer/_Modal dialog"
#: ../src/ui/theme-viewer.c:78
#: ../src/ui/theme-viewer.c:79
msgid "/Windows/_Utility"
msgstr "/Vinduer/_Verktøy"
#: ../src/ui/theme-viewer.c:79
#: ../src/ui/theme-viewer.c:80
msgid "/Windows/_Splashscreen"
msgstr "/Vinduer/Opp_startskjerm"
#: ../src/ui/theme-viewer.c:80
#: ../src/ui/theme-viewer.c:81
msgid "/Windows/_Top dock"
msgstr "/Vinduer/_Toppdokk"
#: ../src/ui/theme-viewer.c:81
#: ../src/ui/theme-viewer.c:82
msgid "/Windows/_Bottom dock"
msgstr "/Vinduer/_Bunndokk"
#: ../src/ui/theme-viewer.c:82
#: ../src/ui/theme-viewer.c:83
msgid "/Windows/_Left dock"
msgstr "/Vinduer/_Venstre dokk"
#: ../src/ui/theme-viewer.c:83
#: ../src/ui/theme-viewer.c:84
msgid "/Windows/_Right dock"
msgstr "/Vinduer/Høy_re dokk"
#: ../src/ui/theme-viewer.c:84
#: ../src/ui/theme-viewer.c:85
msgid "/Windows/_All docks"
msgstr "/Vinduer/_Alle dokker"
#: ../src/ui/theme-viewer.c:85
#: ../src/ui/theme-viewer.c:86
msgid "/Windows/Des_ktop"
msgstr "/Vinduer/S_krivebord"
#: ../src/ui/theme-viewer.c:134
#: ../src/ui/theme-viewer.c:135
msgid "Open another one of these windows"
msgstr "Åpne et til av disse vinduene"
#: ../src/ui/theme-viewer.c:141
#: ../src/ui/theme-viewer.c:142
msgid "This is a demo button with an 'open' icon"
msgstr "Dette er en demoknapp med et «åpne»-ikon"
#: ../src/ui/theme-viewer.c:148
#: ../src/ui/theme-viewer.c:149
msgid "This is a demo button with a 'quit' icon"
msgstr "Dette er en demoknapp med et «avslutt»-ikon"
#: ../src/ui/theme-viewer.c:241
#: ../src/ui/theme-viewer.c:242
msgid "This is a sample message in a sample dialog"
msgstr "Dette er en eksempelbeskjed i en eksempeldialog"
#: ../src/ui/theme-viewer.c:324
#: ../src/ui/theme-viewer.c:325
#, c-format
msgid "Fake menu item %d\n"
msgstr "Falsk menyoppføring %d\n"
#: ../src/ui/theme-viewer.c:358
#: ../src/ui/theme-viewer.c:359
msgid "Border-only window"
msgstr "Vindu uten innhold"
#: ../src/ui/theme-viewer.c:360
#: ../src/ui/theme-viewer.c:361
msgid "Bar"
msgstr "Linje"
#: ../src/ui/theme-viewer.c:377
#: ../src/ui/theme-viewer.c:378
msgid "Normal Application Window"
msgstr "Normalt programvindu"
#: ../src/ui/theme-viewer.c:381
#: ../src/ui/theme-viewer.c:382
msgid "Dialog Box"
msgstr "Dialogboks"
#: ../src/ui/theme-viewer.c:385
#: ../src/ui/theme-viewer.c:386
msgid "Modal Dialog Box"
msgstr "Modal dialogboks"
#: ../src/ui/theme-viewer.c:389
#: ../src/ui/theme-viewer.c:390
msgid "Utility Palette"
msgstr "Verktøypalett"
#: ../src/ui/theme-viewer.c:393
#: ../src/ui/theme-viewer.c:394
msgid "Torn-off Menu"
msgstr "Avrevet meny"
#: ../src/ui/theme-viewer.c:397
#: ../src/ui/theme-viewer.c:398
msgid "Border"
msgstr "Kant"
#: ../src/ui/theme-viewer.c:725
#: ../src/ui/theme-viewer.c:726
#, c-format
msgid "Button layout test %d"
msgstr "Test av knappeplassering %d"
#: ../src/ui/theme-viewer.c:754
#: ../src/ui/theme-viewer.c:755
#, c-format
msgid "%g milliseconds to draw one window frame"
msgstr "%g millisekunder for å tegne en vindusramme"
#: ../src/ui/theme-viewer.c:797
#: ../src/ui/theme-viewer.c:798
#, c-format
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
msgstr "Bruk: metacity-theme-viewer [TEMANAVN]\n"
#: ../src/ui/theme-viewer.c:804
#: ../src/ui/theme-viewer.c:805
#, c-format
msgid "Error loading theme: %s\n"
msgstr "Feil under lasting av tema: %s\n"
#: ../src/ui/theme-viewer.c:810
#: ../src/ui/theme-viewer.c:811
#, c-format
msgid "Loaded theme \"%s\" in %g seconds\n"
msgstr "Lastet tema «%s» på %g sekunder\n"
#: ../src/ui/theme-viewer.c:833
#: ../src/ui/theme-viewer.c:852
msgid "Normal Title Font"
msgstr "Normal tittelskrift"
#: ../src/ui/theme-viewer.c:839
#: ../src/ui/theme-viewer.c:858
msgid "Small Title Font"
msgstr "Liten tittelskrift"
#: ../src/ui/theme-viewer.c:845
#: ../src/ui/theme-viewer.c:864
msgid "Large Title Font"
msgstr "Stor tittelskrift"
#: ../src/ui/theme-viewer.c:850
#: ../src/ui/theme-viewer.c:869
msgid "Button Layouts"
msgstr "Knappeplasseringer"
#: ../src/ui/theme-viewer.c:855
#: ../src/ui/theme-viewer.c:874
msgid "Benchmark"
msgstr "Ytelsestest"
#: ../src/ui/theme-viewer.c:902
#: ../src/ui/theme-viewer.c:921
msgid "Window Title Goes Here"
msgstr "Vindutittel skal her"
#: ../src/ui/theme-viewer.c:1006
#: ../src/ui/theme-viewer.c:1025
#, c-format
msgid ""
"Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g "
@ -3354,39 +3317,39 @@ msgstr ""
"%g sekunder på klokken inklusive ressurser på X-tjener (%g millisekunder per "
"ramme)\n"
#: ../src/ui/theme-viewer.c:1225
#: ../src/ui/theme-viewer.c:1244
msgid "position expression test returned TRUE but set error"
msgstr "test av posisjonsuttrykk returnerte TRUE, men satte en feilkode"
#: ../src/ui/theme-viewer.c:1227
#: ../src/ui/theme-viewer.c:1246
msgid "position expression test returned FALSE but didn't set error"
msgstr "test av posisjonsuttrykk returnerte FALSE, men satte ikke en feilkode"
#: ../src/ui/theme-viewer.c:1231
#: ../src/ui/theme-viewer.c:1250
msgid "Error was expected but none given"
msgstr "Feil var ventet men ingen ble gitt"
#: ../src/ui/theme-viewer.c:1233
#: ../src/ui/theme-viewer.c:1252
#, c-format
msgid "Error %d was expected but %d given"
msgstr "Feil %d var ventet men %d ble gitt"
#: ../src/ui/theme-viewer.c:1239
#: ../src/ui/theme-viewer.c:1258
#, c-format
msgid "Error not expected but one was returned: %s"
msgstr "Feil ikke ventet men en ble returnert: %s"
#: ../src/ui/theme-viewer.c:1243
#: ../src/ui/theme-viewer.c:1262
#, c-format
msgid "x value was %d, %d was expected"
msgstr "x-verdi var %d, %d var ventet"
#: ../src/ui/theme-viewer.c:1246
#: ../src/ui/theme-viewer.c:1265
#, c-format
msgid "y value was %d, %d was expected"
msgstr "y-verdi var %d, %d var ventet"
#: ../src/ui/theme-viewer.c:1311
#: ../src/ui/theme-viewer.c:1330
#, c-format
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
msgstr "%d koordinatuttrykk lest på %g sekunder (%g sekunder i snitt)\n"

339
po/nl.po
View File

@ -11,9 +11,9 @@ msgid ""
msgstr ""
"Project-Id-Version: metacity\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-03-21 02:57+0000\n"
"PO-Revision-Date: 2008-05-13 17:49+0200\n"
"Last-Translator: Tino Meinen <a.t.meinen@chello.nl>\n"
"POT-Creation-Date: 2008-07-29 01:26+0200\n"
"PO-Revision-Date: 2008-07-29 01:26+0200\n"
"Last-Translator: Wouter Bolsterlee <wbolster@gnome.org>\n"
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -51,12 +51,12 @@ msgstr "Niet begrepen: de laatste tekens %s in %s"
msgid "Failed to parse message \"%s\" from dialog process\n"
msgstr "Verwerken bericht %s van dialoogvenster-proces mislukt\n"
#: ../src/core/delete.c:270
#: ../src/core/delete.c:253
#, c-format
msgid "Error reading from dialog display process: %s\n"
msgstr "Fout bij lezen van dialoogvenster-proces: %s\n"
#: ../src/core/delete.c:353
#: ../src/core/delete.c:336
#, c-format
msgid ""
"Error launching metacity-dialog to ask about killing an application: %s\n"
@ -64,7 +64,7 @@ msgstr ""
"Fout bij het opstarten van het metacity-dialoogvenster waarbij gevraagd "
"wordt naar het vernietigen van een toepassing: %s\n"
#: ../src/core/delete.c:462
#: ../src/core/delete.c:445
#, c-format
msgid "Failed to get hostname: %s\n"
msgstr "Ophalen hostnaam mislukt: %s\n"
@ -74,12 +74,12 @@ msgstr "Ophalen hostnaam mislukt: %s\n"
msgid "Missing %s extension required for compositing"
msgstr "Benodige extensie %s voor compositing ontbreekt"
#: ../src/core/display.c:438
#: ../src/core/display.c:334
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Openen van X Window System display %s mislukt\n"
#: ../src/core/errors.c:271
#: ../src/core/errors.c:272
#, c-format
msgid ""
"Lost connection to the display '%s';\n"
@ -90,7 +90,7 @@ msgstr ""
"waarschijnlijk is de X-server uitgezet of heeft u de window-manager "
"vernietigd.\n"
#: ../src/core/errors.c:278
#: ../src/core/errors.c:279
#, c-format
msgid "Fatal IO error %d (%s) on display '%s'.\n"
msgstr "Fatale IO-fout %d (%s) op display %s.\n"
@ -105,19 +105,19 @@ msgstr ""
"Een ander programma gebruikt reeds de %s-toets met controletoets %x als "
"toetsbinding\n"
#: ../src/core/keybindings.c:2722
#: ../src/core/keybindings.c:2729
#, c-format
msgid "Error launching metacity-dialog to print an error about a command: %s\n"
msgstr ""
"Fout bij het starten van een metacity-dialoogvenster om een foutmelding te "
"tonen over een opdracht: %s\n"
#: ../src/core/keybindings.c:2827
#: ../src/core/keybindings.c:2834
#, c-format
msgid "No command %d has been defined.\n"
msgstr "Er is geen opdracht %d gedefinieerd.\n"
#: ../src/core/keybindings.c:3855
#: ../src/core/keybindings.c:3862
#, c-format
msgid "No terminal command has been defined.\n"
msgstr "Er is geen opdracht voor de terminal gedefinieerd.\n"
@ -180,7 +180,7 @@ msgstr ""
"Kon geen thema vinden! Zorg ervoor dat %s bestaat en de gebruikelijke "
"thema's bevat.\n"
#: ../src/core/main.c:516
#: ../src/core/main.c:500
#, c-format
msgid "Failed to restart: %s\n"
msgstr "Herstarten mislukt: %s\n"
@ -193,25 +193,25 @@ msgstr "Herstarten mislukt: %s\n"
#. * (We know the old value, so we can look up a suitable string in
#. * the symtab.)
#.
#: ../src/core/prefs.c:450 ../src/core/prefs.c:564
#: ../src/core/prefs.c:502 ../src/core/prefs.c:654
#, c-format
msgid "GConf key '%s' is set to an invalid value\n"
msgstr "GConf-sleutel '%s' is ingesteld op een ongeldige waarde\n"
#: ../src/core/prefs.c:537 ../src/core/prefs.c:607 ../src/core/prefs.c:655
#: ../src/core/prefs.c:961 ../src/core/prefs.c:979 ../src/core/prefs.c:995
#: ../src/core/prefs.c:1014 ../src/core/prefs.c:1030 ../src/core/prefs.c:1047
#: ../src/core/prefs.c:1064 ../src/core/prefs.c:1080 ../src/core/prefs.c:1096
#: ../src/core/prefs.c:583 ../src/core/prefs.c:823
#, c-format
msgid "%d stored in GConf key %s is out of range %d to %d\n"
msgstr "%d opgeslagen in GConf-sleutel %s valt buiten het bereik %d tot %d\n"
#: ../src/core/prefs.c:627 ../src/core/prefs.c:701 ../src/core/prefs.c:749
#: ../src/core/prefs.c:813 ../src/core/prefs.c:1108 ../src/core/prefs.c:1124
#: ../src/core/prefs.c:1143 ../src/core/prefs.c:1159 ../src/core/prefs.c:1176
#: ../src/core/prefs.c:1192
#, c-format
msgid "GConf key \"%s\" is set to an invalid type\n"
msgstr "GConf-sleutel %s is op een ongeldig type ingesteld\n"
#: ../src/core/prefs.c:856
#, c-format
msgid "Type of %s was not integer"
msgstr "Type van %s was geen geheel getal"
#: ../src/core/prefs.c:1165
#: ../src/core/prefs.c:1262
msgid ""
"Workarounds for broken applications disabled. Some applications may not "
"behave properly.\n"
@ -219,23 +219,12 @@ msgstr ""
"Werkoplossing voor gebroken toepassingen uitgezet. Bepaalde toepassingen "
"zullen niet naar behoren functioneren.\n"
# volgens mij is cursor_size hier niet bedoeld als sneltoets voor cursorsize,
# is het een onjuist gebruik van een variabele.
#: ../src/core/prefs.c:1220
#, c-format
msgid ""
"%d stored in GConf key %s is not a reasonable cursor_size; must be in the "
"range 1..128\n"
msgstr ""
"%d opgeslagen in GConf-sleutel %s is geen redelijke grootte voor een cursor; "
"het moet liggen in het bereik 1 - 128\n"
#: ../src/core/prefs.c:1246
#: ../src/core/prefs.c:1332
#, c-format
msgid "Could not parse font description \"%s\" from GConf key %s\n"
msgstr "Kon lettertypebeschrijving %s niet verwerken van Gconf-sleutel %s\n"
#: ../src/core/prefs.c:1306
#: ../src/core/prefs.c:1392
#, c-format
msgid ""
"\"%s\" found in configuration database is not a valid value for mouse button "
@ -244,31 +233,17 @@ msgstr ""
"%s, gevonden in de configuratiedatabase, is geen geldige waarde voor de "
"muisknop-optietoets\n"
#: ../src/core/prefs.c:1585
#, c-format
msgid ""
"%d stored in GConf key %s is not a reasonable number of workspaces, current "
"maximum is %d\n"
msgstr ""
"%d opgeslagen in GConf-sleutel %s is geen redelijk aantal werkbladen, "
"huidige maximum is %d\n"
#: ../src/core/prefs.c:1629
#, c-format
msgid "%d stored in GConf key %s is out of range 0 to %d\n"
msgstr "%d opgeslagen in GConf-sleutel %s valt buiten het bereik 0 %d\n"
#: ../src/core/prefs.c:1760
#: ../src/core/prefs.c:1809
#, c-format
msgid "Error setting number of workspaces to %d: %s\n"
msgstr "Fout bij het instellen van het aantal werkbladen op %d: %s\n"
#: ../src/core/prefs.c:2125 ../src/core/prefs.c:2637
#: ../src/core/prefs.c:2174 ../src/core/prefs.c:2686
#, c-format
msgid "Workspace %d"
msgstr "Werkblad %d"
#: ../src/core/prefs.c:2155 ../src/core/prefs.c:2328
#: ../src/core/prefs.c:2204 ../src/core/prefs.c:2377
#, c-format
msgid ""
"\"%s\" found in configuration database is not a valid value for keybinding "
@ -277,17 +252,17 @@ msgstr ""
"%s in de configuratiedatabase is geen geldige waarde voor toetsbinding %"
"s\n"
#: ../src/core/prefs.c:2718
#: ../src/core/prefs.c:2767
#, c-format
msgid "Error setting name for workspace %d to \"%s\": %s\n"
msgstr "Fout bij het instellen van de naam voor werkblad %d op %s: %s\n"
#: ../src/core/screen.c:410
#: ../src/core/screen.c:350
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Scherm %d op display '%s' is ongeldig\n"
#: ../src/core/screen.c:426
#: ../src/core/screen.c:366
#, c-format
msgid ""
"Screen %d on display \"%s\" already has a window manager; try using the --"
@ -296,28 +271,28 @@ msgstr ""
"Scherm %d op display %s heeft al een windowmanager; probeer de optie: --"
"replace te gebruiken om de huidige windowmanager te vervangen.\n"
#: ../src/core/screen.c:453
#: ../src/core/screen.c:393
#, c-format
msgid ""
"Could not acquire window manager selection on screen %d display \"%s\"\n"
msgstr "Kon windowmanager-selectie niet verkrijgen op scherm %d display %s\n"
#: ../src/core/screen.c:511
#: ../src/core/screen.c:451
#, c-format
msgid "Screen %d on display \"%s\" already has a window manager\n"
msgstr "Scherm %d op display %s heeft al een windowmanager\n"
#: ../src/core/screen.c:721
#: ../src/core/screen.c:661
#, c-format
msgid "Could not release screen %d on display \"%s\"\n"
msgstr "Kon scherm %d op display %s niet vrijmaken\n"
#: ../src/core/session.c:826 ../src/core/session.c:833
#: ../src/core/session.c:837 ../src/core/session.c:844
#, c-format
msgid "Could not create directory '%s': %s\n"
msgstr "Kon map '%s' niet aanmaken: %s\n"
#: ../src/core/session.c:843
#: ../src/core/session.c:854
#, c-format
msgid "Could not open session file '%s' for writing: %s\n"
msgstr "Kon sessiebestand '%s' niet openen voor schrijven: %s\n"
@ -332,53 +307,54 @@ msgstr "Fout bij schrijven sessiebestand '%s': %s\n"
msgid "Error closing session file '%s': %s\n"
msgstr "Fout bij sluiten sessiebestand '%s': %s\n"
#: ../src/core/session.c:1075
#. oh, just give up
#: ../src/core/session.c:1093
#, c-format
msgid "Failed to read saved session file %s: %s\n"
msgstr "Lezen van opgeslagen sessiebestand %s mislukt: %s\n"
#: ../src/core/session.c:1110
#: ../src/core/session.c:1132
#, c-format
msgid "Failed to parse saved session file: %s\n"
msgstr "Verwerken van opgeslagen sessiebestand mislukt: %s\n"
#: ../src/core/session.c:1159
#: ../src/core/session.c:1181
#, c-format
msgid "<metacity_session> attribute seen but we already have the session ID"
msgstr ""
"<metacity_session>-attribuut opgemerkt maar we hebben reeds de sessie-ID"
#: ../src/core/session.c:1172
#: ../src/core/session.c:1194
#, c-format
msgid "Unknown attribute %s on <metacity_session> element"
msgstr "Onbekend attribuut %s op <metacity_session> element"
#: ../src/core/session.c:1189
#: ../src/core/session.c:1211
#, c-format
msgid "nested <window> tag"
msgstr "ingebedde <window> markering"
#: ../src/core/session.c:1247 ../src/core/session.c:1279
#: ../src/core/session.c:1269 ../src/core/session.c:1301
#, c-format
msgid "Unknown attribute %s on <window> element"
msgstr "Onbekend attribuut %s op <window> element"
#: ../src/core/session.c:1351
#: ../src/core/session.c:1373
#, c-format
msgid "Unknown attribute %s on <maximized> element"
msgstr "Onbekend attribuut %s op <maximized> element"
#: ../src/core/session.c:1411
#: ../src/core/session.c:1433
#, c-format
msgid "Unknown attribute %s on <geometry> element"
msgstr "Onbekend attribuut %s op <geometry> element"
#: ../src/core/session.c:1431
#: ../src/core/session.c:1453
#, c-format
msgid "Unknown element %s"
msgstr "Onbekend element %s"
#: ../src/core/session.c:1868
#: ../src/core/session.c:1879
#, c-format
msgid ""
"Error launching metacity-dialog to warn about apps that don't support "
@ -423,23 +399,23 @@ msgstr "Windowmanager waarschuwing:"
msgid "Window manager error: "
msgstr "Windowmanager fout:"
#: ../src/core/window-props.c:195
#: ../src/core/window-props.c:206
#, c-format
msgid "Application set a bogus _NET_WM_PID %lu\n"
msgstr "Toepassing heeft een overbodige _NET_WM_PID %lu ingesteld\n"
#: ../src/core/window-props.c:327
#: ../src/core/window-props.c:338
#, c-format
msgid "%s (on %s)"
msgstr "%s (op %s)"
#: ../src/core/window-props.c:1409
#: ../src/core/window-props.c:1420
#, c-format
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
msgstr "Ongeldig WM_TRANSIENT_FOR venster 0x%lx opgegeven voor %s.\n"
#. first time through
#: ../src/core/window.c:5658
#: ../src/core/window.c:5648
#, c-format
msgid ""
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
@ -455,7 +431,7 @@ msgstr ""
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
#. * about these apps but make them work.
#.
#: ../src/core/window.c:6223
#: ../src/core/window.c:6213
#, c-format
msgid ""
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
@ -545,7 +521,14 @@ msgid ""
"silently ignored so that buttons can be added in future metacity versions "
"without breaking older versions. A special spacer tag can be used to insert "
"some space between two adjacent buttons."
msgstr "Schikking van de knoppen op de titelbalk. De waarde moet een tekenreeks zijn zoals: menu:minimize,maximize,spacer,close; de punt-komma scheidt de linkerhoek van het venster met de rechterhoek, de knop-namen zijn gescheiden door komma's. Dubbele knoppen zijn niet toegestaan. Onbekende knop-namen worden genegeerd zodat in toekomstige versies van metacity, knoppen kunnen worden toegevoegd zonder oudere versies te breken. De waarde spacer kan gebruikt worden om ruimte tussen twee naastgelegen knoppen te creëren."
msgstr ""
"Schikking van de knoppen op de titelbalk. De waarde moet een tekenreeks zijn "
"zoals: menu:minimize,maximize,spacer,close; de punt-komma scheidt de "
"linkerhoek van het venster met de rechterhoek, de knop-namen zijn gescheiden "
"door komma's. Dubbele knoppen zijn niet toegestaan. Onbekende knop-namen "
"worden genegeerd zodat in toekomstige versies van metacity, knoppen kunnen "
"worden toegevoegd zonder oudere versies te breken. De waarde spacer kan "
"gebruikt worden om ruimte tussen twee naastgelegen knoppen te creëren."
#: ../src/metacity.schemas.in.h:9
msgid "Automatically raises the focused window"
@ -2259,7 +2242,16 @@ msgid ""
"minimize the window, 'shade' which will roll the window up, 'menu' which "
"will display the window menu, 'lower' which will put the window behind all "
"the others, and 'none' which will not do anything."
msgstr "Deze optie bepaalt het effect van dubbelklikken op de titelbalk. Geldige waardes zijn toggle_shade, welke het venster zal oprollen/afrollen, toggle_maximize welke het venster zal maximaliseren/herstellen, toggle_maximize_horizontally en toggle_maximize_vertically welke het venster alleen horizontaal of verticaal zal maximaliseren/herstellen, minimize welke het venster zal minimaliseren, shade welke het venster zal oprollen, menu welke het menu-venster zal tonen, lower welke het venster achter alle andere vensters zal zetten, en 'none' welke niets zal doen."
msgstr ""
"Deze optie bepaalt het effect van dubbelklikken op de titelbalk. Geldige "
"waardes zijn toggle_shade, welke het venster zal oprollen/afrollen, "
"toggle_maximize welke het venster zal maximaliseren/herstellen, "
"toggle_maximize_horizontally en toggle_maximize_vertically welke het "
"venster alleen horizontaal of verticaal zal maximaliseren/herstellen, "
"minimize welke het venster zal minimaliseren, shade welke het venster "
"zal oprollen, menu welke het menu-venster zal tonen, lower welke het "
"venster achter alle andere vensters zal zetten, en 'none' welke niets zal "
"doen."
#: ../src/metacity.schemas.in.h:188
msgid ""
@ -2271,7 +2263,16 @@ msgid ""
"minimize the window, 'shade' which will roll the window up, 'menu' which "
"will display the window menu, 'lower' which will put the window behind all "
"the others, and 'none' which will not do anything."
msgstr "Deze optie bepaalt het effect van klikken op de titelbalk met de middelste muisknop. Geldige waardes zijn 'toggle_shade', welke het venster zal oprollen/afrollen, 'toggle_maximize' welke het venster zal maximaliseren/herstellen, toggle_maximize_horizontally en toggle_maximize_vertically welke het venster alleen horizontaal of verticaal zal maximaliseren/herstellen, minimize welke het venster zal minimaliseren, shade welke het venster zal oprollen, menu welke het menu-venster zal tonen, lower welke het venster achter alle andere vensters zal zetten, en 'none' welke niets zal doen."
msgstr ""
"Deze optie bepaalt het effect van klikken op de titelbalk met de middelste "
"muisknop. Geldige waardes zijn 'toggle_shade', welke het venster zal "
"oprollen/afrollen, 'toggle_maximize' welke het venster zal maximaliseren/"
"herstellen, toggle_maximize_horizontally en toggle_maximize_vertically "
"welke het venster alleen horizontaal of verticaal zal maximaliseren/"
"herstellen, minimize welke het venster zal minimaliseren, shade welke "
"het venster zal oprollen, menu welke het menu-venster zal tonen, lower "
"welke het venster achter alle andere vensters zal zetten, en 'none' welke "
"niets zal doen."
#: ../src/metacity.schemas.in.h:189
msgid ""
@ -2283,7 +2284,16 @@ msgid ""
"minimize the window, 'shade' which will roll the window up, 'menu' which "
"will display the window menu, 'lower' which will put the window behind all "
"the others, and 'none' which will not do anything."
msgstr "Deze optie bepaalt het effect van klikken op de titelbalk met de rechter muisknop. Geldige waardes zijn 'toggle_shade', welke het venster zal oprollen/afrollen, 'toggle_maximize' welke het venster zal maximaliseren/herstellen, toggle_maximize_horizontally en toggle_maximize_vertically welke het venster alleen horizontaal of verticaal zal maximaliseren/herstellen, minimize welke het venster zal minimaliseren, shade welke het venster zal oprollen, menu welke het menu-venster zal tonen, lower welke het venster achter alle andere vensters zal zetten, en 'none' welke niets zal doen."
msgstr ""
"Deze optie bepaalt het effect van klikken op de titelbalk met de rechter "
"muisknop. Geldige waardes zijn 'toggle_shade', welke het venster zal "
"oprollen/afrollen, 'toggle_maximize' welke het venster zal maximaliseren/"
"herstellen, toggle_maximize_horizontally en toggle_maximize_vertically "
"welke het venster alleen horizontaal of verticaal zal maximaliseren/"
"herstellen, minimize welke het venster zal minimaliseren, shade welke "
"het venster zal oprollen, menu welke het menu-venster zal tonen, lower "
"welke het venster achter alle andere vensters zal zetten, en 'none' welke "
"niets zal doen."
#: ../src/metacity.schemas.in.h:190
msgid ""
@ -3194,157 +3204,157 @@ msgstr "Geen geldig bestand gevonden voor thema %s\n"
msgid "Theme file %s did not contain a root <metacity_theme> element"
msgstr "Themabestand %s bevatte geen root <metacity_theme> element"
#: ../src/ui/theme-viewer.c:74
#: ../src/ui/theme-viewer.c:75
msgid "/_Windows"
msgstr "/_Vensters"
#: ../src/ui/theme-viewer.c:75
#: ../src/ui/theme-viewer.c:76
msgid "/Windows/tearoff"
msgstr "/Vensters/tearoff"
#: ../src/ui/theme-viewer.c:76
#: ../src/ui/theme-viewer.c:77
msgid "/Windows/_Dialog"
msgstr "/Vensters/_Dialoogvenster"
#: ../src/ui/theme-viewer.c:77
#: ../src/ui/theme-viewer.c:78
msgid "/Windows/_Modal dialog"
msgstr "/Vensters/_Modaal dialoogvenster"
#: ../src/ui/theme-viewer.c:78
#: ../src/ui/theme-viewer.c:79
msgid "/Windows/_Utility"
msgstr "/Vensters/_Gereedschap"
#: ../src/ui/theme-viewer.c:79
#: ../src/ui/theme-viewer.c:80
msgid "/Windows/_Splashscreen"
msgstr "/Vensters/_Introvenster"
#: ../src/ui/theme-viewer.c:80
#: ../src/ui/theme-viewer.c:81
msgid "/Windows/_Top dock"
msgstr "/Vensters/_Bovenpaneel"
#: ../src/ui/theme-viewer.c:81
#: ../src/ui/theme-viewer.c:82
msgid "/Windows/_Bottom dock"
msgstr "/Vensters/_Onderpaneel"
#: ../src/ui/theme-viewer.c:82
#: ../src/ui/theme-viewer.c:83
msgid "/Windows/_Left dock"
msgstr "/Vensters/_Linker paneel"
#: ../src/ui/theme-viewer.c:83
#: ../src/ui/theme-viewer.c:84
msgid "/Windows/_Right dock"
msgstr "/Vensters/_Rechter paneel"
#: ../src/ui/theme-viewer.c:84
#: ../src/ui/theme-viewer.c:85
msgid "/Windows/_All docks"
msgstr "/Vensters/Alle panelen"
#: ../src/ui/theme-viewer.c:85
#: ../src/ui/theme-viewer.c:86
msgid "/Windows/Des_ktop"
msgstr "/Vensters/_Bureaublad"
#: ../src/ui/theme-viewer.c:134
#: ../src/ui/theme-viewer.c:135
msgid "Open another one of these windows"
msgstr "Nog zo'n venster openen"
#: ../src/ui/theme-viewer.c:141
#: ../src/ui/theme-viewer.c:142
msgid "This is a demo button with an 'open' icon"
msgstr "Dit is een demoknop met een 'openen'-pictogram"
#: ../src/ui/theme-viewer.c:148
#: ../src/ui/theme-viewer.c:149
msgid "This is a demo button with a 'quit' icon"
msgstr "Dit is een demoknop met een 'afsluiten'-pictogram"
#: ../src/ui/theme-viewer.c:241
#: ../src/ui/theme-viewer.c:242
msgid "This is a sample message in a sample dialog"
msgstr "Dit is een voorbeeldbericht in een voorbeelddialoogvenster"
#: ../src/ui/theme-viewer.c:324
#: ../src/ui/theme-viewer.c:325
#, c-format
msgid "Fake menu item %d\n"
msgstr "Nepmenu-item %d\n"
#: ../src/ui/theme-viewer.c:358
#: ../src/ui/theme-viewer.c:359
msgid "Border-only window"
msgstr "Venster met alleen randen"
#: ../src/ui/theme-viewer.c:360
#: ../src/ui/theme-viewer.c:361
msgid "Bar"
msgstr "Balk"
#: ../src/ui/theme-viewer.c:377
#: ../src/ui/theme-viewer.c:378
msgid "Normal Application Window"
msgstr "Normaal programmavenster"
#: ../src/ui/theme-viewer.c:381
#: ../src/ui/theme-viewer.c:382
msgid "Dialog Box"
msgstr "Dialoogvenster"
#: ../src/ui/theme-viewer.c:385
#: ../src/ui/theme-viewer.c:386
msgid "Modal Dialog Box"
msgstr "Blokkerend dialoogvenster"
#: ../src/ui/theme-viewer.c:389
#: ../src/ui/theme-viewer.c:390
msgid "Utility Palette"
msgstr "Gereedschapskist"
#: ../src/ui/theme-viewer.c:393
#: ../src/ui/theme-viewer.c:394
msgid "Torn-off Menu"
msgstr "Losgescheurd menu"
#: ../src/ui/theme-viewer.c:397
#: ../src/ui/theme-viewer.c:398
msgid "Border"
msgstr "Rand"
#: ../src/ui/theme-viewer.c:725
#: ../src/ui/theme-viewer.c:726
#, c-format
msgid "Button layout test %d"
msgstr "Knoppenopmaaktest %d"
#: ../src/ui/theme-viewer.c:754
#: ../src/ui/theme-viewer.c:755
#, c-format
msgid "%g milliseconds to draw one window frame"
msgstr "%g milliseconden om een vensterraamwerk te tekenen"
#: ../src/ui/theme-viewer.c:797
#: ../src/ui/theme-viewer.c:798
#, c-format
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
msgstr "Gebruik: metacity-theme-viewer [THEMANAAM]\n"
#: ../src/ui/theme-viewer.c:804
#: ../src/ui/theme-viewer.c:805
#, c-format
msgid "Error loading theme: %s\n"
msgstr "Fout bij laden van thema: %s\n"
#: ../src/ui/theme-viewer.c:810
#: ../src/ui/theme-viewer.c:811
#, c-format
msgid "Loaded theme \"%s\" in %g seconds\n"
msgstr "Thema %s in %g seconden geladen\n"
#: ../src/ui/theme-viewer.c:833
#: ../src/ui/theme-viewer.c:852
msgid "Normal Title Font"
msgstr "Lettertype voor normale titel"
#: ../src/ui/theme-viewer.c:839
#: ../src/ui/theme-viewer.c:858
msgid "Small Title Font"
msgstr "Lettertype voor kleine titel"
#: ../src/ui/theme-viewer.c:845
#: ../src/ui/theme-viewer.c:864
msgid "Large Title Font"
msgstr "Lettertype voor grote titel"
#: ../src/ui/theme-viewer.c:850
#: ../src/ui/theme-viewer.c:869
msgid "Button Layouts"
msgstr "Knoppenopmaak"
#: ../src/ui/theme-viewer.c:855
#: ../src/ui/theme-viewer.c:874
msgid "Benchmark"
msgstr "Benchmark"
#: ../src/ui/theme-viewer.c:902
#: ../src/ui/theme-viewer.c:921
msgid "Window Title Goes Here"
msgstr "Hier komt de titel"
#: ../src/ui/theme-viewer.c:1006
#: ../src/ui/theme-viewer.c:1025
#, c-format
msgid ""
"Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g "
@ -3355,39 +3365,39 @@ msgstr ""
"en %g seconden op wandklok inclusief X serverbronnen (%g milliseconden per "
"frame)\n"
#: ../src/ui/theme-viewer.c:1225
#: ../src/ui/theme-viewer.c:1244
msgid "position expression test returned TRUE but set error"
msgstr "positie-expressietest gaf WAAR terug, maar gaf wel een fout"
#: ../src/ui/theme-viewer.c:1227
#: ../src/ui/theme-viewer.c:1246
msgid "position expression test returned FALSE but didn't set error"
msgstr "positie-expressietest gaf ONWAAR terug, maar gaf geen fout"
#: ../src/ui/theme-viewer.c:1231
#: ../src/ui/theme-viewer.c:1250
msgid "Error was expected but none given"
msgstr "Fout verwacht maar niet ontvangen"
#: ../src/ui/theme-viewer.c:1233
#: ../src/ui/theme-viewer.c:1252
#, c-format
msgid "Error %d was expected but %d given"
msgstr "Fout %d verwacht maar %d gekregen"
#: ../src/ui/theme-viewer.c:1239
#: ../src/ui/theme-viewer.c:1258
#, c-format
msgid "Error not expected but one was returned: %s"
msgstr "Geen fout verwacht maar kreeg wel een fout: %s"
#: ../src/ui/theme-viewer.c:1243
#: ../src/ui/theme-viewer.c:1262
#, c-format
msgid "x value was %d, %d was expected"
msgstr "x-waarde is %d, %d verwacht"
#: ../src/ui/theme-viewer.c:1246
#: ../src/ui/theme-viewer.c:1265
#, c-format
msgid "y value was %d, %d was expected"
msgstr "y-waarde is %d, %d verwacht"
#: ../src/ui/theme-viewer.c:1311
#: ../src/ui/theme-viewer.c:1330
#, c-format
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
msgstr ""
@ -3484,7 +3494,7 @@ msgstr "Kon alpha-waarde %s niet verwerken in gemengde kleur"
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
msgstr "Alpha-waarde %s in gemengde kleur zit niet tussen 0.0 en 1.0"
#: ../src/ui/theme.c:1285
#: ../src/ui/theme.c:1284
#, c-format
msgid ""
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
@ -3492,27 +3502,27 @@ msgstr ""
"Schaduwformaat is schaduw/basiskleur/factor, %s voldoet niet aan dit "
"formaat"
#: ../src/ui/theme.c:1296
#: ../src/ui/theme.c:1295
#, c-format
msgid "Could not parse shade factor \"%s\" in shaded color"
msgstr "Kon schaduwfactor %s in schaduwkleur niet verwerken"
#: ../src/ui/theme.c:1306
#: ../src/ui/theme.c:1305
#, c-format
msgid "Shade factor \"%s\" in shaded color is negative"
msgstr "Schaduwfactor %s in schaduwkleur is negatief"
#: ../src/ui/theme.c:1336
#: ../src/ui/theme.c:1334
#, c-format
msgid "Could not parse color \"%s\""
msgstr "Kon kleur %s niet verwerken"
#: ../src/ui/theme.c:1594
#: ../src/ui/theme.c:1584
#, c-format
msgid "Coordinate expression contains character '%s' which is not allowed"
msgstr "Coördinaatuitdrukking bevat letterteken '%s' wat niet is toegestaan"
#: ../src/ui/theme.c:1621
#: ../src/ui/theme.c:1611
#, c-format
msgid ""
"Coordinate expression contains floating point number '%s' which could not be "
@ -3521,14 +3531,14 @@ msgstr ""
"Coördinaatuitdrukking bevat floating-point getal '%s' wat niet kon worden "
"verwerkt"
#: ../src/ui/theme.c:1635
#: ../src/ui/theme.c:1625
#, c-format
msgid "Coordinate expression contains integer '%s' which could not be parsed"
msgstr ""
"Coördinaatuitdrukking bevat geheel getal '%s' wat niet kon worden verwerkt"
# hoe vertalen we operator en operand?
#: ../src/ui/theme.c:1757
#: ../src/ui/theme.c:1747
#, c-format
msgid ""
"Coordinate expression contained unknown operator at the start of this text: "
@ -3537,17 +3547,17 @@ msgstr ""
"Coördinaatuitdrukking bevat een onbekende functie aan het begin van deze "
"tekst: %s"
#: ../src/ui/theme.c:1814
#: ../src/ui/theme.c:1804
#, c-format
msgid "Coordinate expression was empty or not understood"
msgstr "Coördinaatuitdrukking was leeg of was niet begrepen"
#: ../src/ui/theme.c:1925 ../src/ui/theme.c:1935 ../src/ui/theme.c:1969
#: ../src/ui/theme.c:1915 ../src/ui/theme.c:1925 ../src/ui/theme.c:1959
#, c-format
msgid "Coordinate expression results in division by zero"
msgstr "Coördinaatuitdrukking resulteert in een deling door nul"
#: ../src/ui/theme.c:1977
#: ../src/ui/theme.c:1967
#, c-format
msgid ""
"Coordinate expression tries to use mod operator on a floating-point number"
@ -3555,26 +3565,26 @@ msgstr ""
"Coördinaatuitdrukking probeert een mod-functie te gebruiken op een floating-"
"point getal"
#: ../src/ui/theme.c:2033
#: ../src/ui/theme.c:2023
#, c-format
msgid ""
"Coordinate expression has an operator \"%s\" where an operand was expected"
msgstr ""
"Coördinaatuitdrukking bevat een functie %s waar een argument werd verwacht"
#: ../src/ui/theme.c:2042
#: ../src/ui/theme.c:2032
#, c-format
msgid "Coordinate expression had an operand where an operator was expected"
msgstr ""
"Coördinaatuitdrukking bevat een argument waar een functie werd verwacht"
#: ../src/ui/theme.c:2050
#: ../src/ui/theme.c:2040
#, c-format
msgid "Coordinate expression ended with an operator instead of an operand"
msgstr ""
"Coördinaatuitdrukking eindigde met een functie in plaats van een argument"
#: ../src/ui/theme.c:2060
#: ../src/ui/theme.c:2050
#, c-format
msgid ""
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
@ -3583,7 +3593,7 @@ msgstr ""
"Coördinaatuitdrukking bevat functie %c volgend op functie %c zonder "
"argument in het midden"
#: ../src/ui/theme.c:2207 ../src/ui/theme.c:2248
#: ../src/ui/theme.c:2197 ../src/ui/theme.c:2238
#, c-format
msgid "Coordinate expression had unknown variable or constant \"%s\""
msgstr "Coördinaatuitdrukking bevat een onbekende variabele of constante %s"
@ -3591,32 +3601,32 @@ msgstr "Coördinaatuitdrukking bevat een onbekende variabele of constante %s
# Dit is zo'n dergelijk moeilijke vertaling als in het Nederlands, dat het
# Engelse origineel een beter restultaat oplevert.
# -- Michiel Sikkes, zo 9 apr 2006
#: ../src/ui/theme.c:2302
#: ../src/ui/theme.c:2292
#, c-format
msgid "Coordinate expression parser overflowed its buffer."
msgstr "Coordinate experssion parser overflowed its buffer."
#: ../src/ui/theme.c:2331
#: ../src/ui/theme.c:2321
#, c-format
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
msgstr "Coördinaatuitdrukking bevat een sluithaakje zonder openingshaakje"
#: ../src/ui/theme.c:2395
#: ../src/ui/theme.c:2385
#, c-format
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
msgstr "Coördinaatuitdrukking bevat een openingshaakje zonder sluithaakje"
#: ../src/ui/theme.c:2406
#: ../src/ui/theme.c:2396
#, c-format
msgid "Coordinate expression doesn't seem to have any operators or operands"
msgstr "Coördinaatuitdrukking bevat schijnbaar geen functies of argumenten"
#: ../src/ui/theme.c:2608 ../src/ui/theme.c:2628 ../src/ui/theme.c:2648
#: ../src/ui/theme.c:2598 ../src/ui/theme.c:2618 ../src/ui/theme.c:2638
#, c-format
msgid "Theme contained an expression that resulted in an error: %s\n"
msgstr "Expressie in thema resulteerde in een foutmelding: %s\n"
#: ../src/ui/theme.c:4167
#: ../src/ui/theme.c:4157
#, c-format
msgid ""
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
@ -3625,25 +3635,25 @@ msgstr ""
"<button function=\"%s\" state=\"%s\" draw_ops=\"iets\"/> moet voor deze "
"kader-stijl gespecificeerd worden"
#: ../src/ui/theme.c:4643 ../src/ui/theme.c:4668
#: ../src/ui/theme.c:4633 ../src/ui/theme.c:4658
#, c-format
msgid ""
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
msgstr ""
"Ontbrekende <frame state=\"%s\" resize=\"%s\" docus=\"%s\" style=\"iets\"/>"
#: ../src/ui/theme.c:4712
#: ../src/ui/theme.c:4702
#, c-format
msgid "Failed to load theme \"%s\": %s\n"
msgstr "Laden thema %s mislukt: %s\n"
#: ../src/ui/theme.c:4838 ../src/ui/theme.c:4845 ../src/ui/theme.c:4852
#: ../src/ui/theme.c:4859 ../src/ui/theme.c:4866
#: ../src/ui/theme.c:4828 ../src/ui/theme.c:4835 ../src/ui/theme.c:4842
#: ../src/ui/theme.c:4849 ../src/ui/theme.c:4856
#, c-format
msgid "No <%s> set for theme \"%s\""
msgstr "Geen <%s> ingesteld voor thema %s "
#: ../src/ui/theme.c:4874
#: ../src/ui/theme.c:4864
#, c-format
msgid ""
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
@ -3652,7 +3662,7 @@ msgstr ""
"Geen kader-stijl ingesteld voor venstertype %s in thema %s, voeg een "
"<window type=\"%s\" style_set=\"iets\"/> element toe"
#: ../src/ui/theme.c:5241 ../src/ui/theme.c:5303 ../src/ui/theme.c:5366
#: ../src/ui/theme.c:5231 ../src/ui/theme.c:5293 ../src/ui/theme.c:5356
#, c-format
msgid ""
"User-defined constants must begin with a capital letter; \"%s\" does not"
@ -3660,7 +3670,7 @@ msgstr ""
"Door de gebruiker gedefinieerde constanten moeten met een hoofdletter "
"beginnen; %s doet dat niet"
#: ../src/ui/theme.c:5249 ../src/ui/theme.c:5311 ../src/ui/theme.c:5374
#: ../src/ui/theme.c:5239 ../src/ui/theme.c:5301 ../src/ui/theme.c:5364
#, c-format
msgid "Constant \"%s\" has already been defined"
msgstr "Constante %s is reeds gedefinieerd"
@ -3669,3 +3679,22 @@ msgstr "Constante %s is reeds gedefinieerd"
#, c-format
msgid "Usage: %s\n"
msgstr "Gebruik: %s\n"
#~ msgid "Type of %s was not integer"
#~ msgstr "Type van %s was geen geheel getal"
# volgens mij is cursor_size hier niet bedoeld als sneltoets voor cursorsize,
# is het een onjuist gebruik van een variabele.
#~ msgid ""
#~ "%d stored in GConf key %s is not a reasonable cursor_size; must be in the "
#~ "range 1..128\n"
#~ msgstr ""
#~ "%d opgeslagen in GConf-sleutel %s is geen redelijke grootte voor een "
#~ "cursor; het moet liggen in het bereik 1 - 128\n"
#~ msgid ""
#~ "%d stored in GConf key %s is not a reasonable number of workspaces, "
#~ "current maximum is %d\n"
#~ msgstr ""
#~ "%d opgeslagen in GConf-sleutel %s is geen redelijk aantal werkbladen, "
#~ "huidige maximum is %d\n"

181
po/oc.po
View File

@ -8,14 +8,14 @@ msgid ""
msgstr ""
"Project-Id-Version: oc\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-03-07 10:23+0100\n"
"PO-Revision-Date: 2007-12-30 21:44+0100\n"
"POT-Creation-Date: 2008-06-09 15:21+0200\n"
"PO-Revision-Date: 2008-06-11 13:33+0200\n"
"Last-Translator: Yannig Marchegay (Kokoyaya) <yannig@marchegay.org>\n"
"Language-Team: Occitan <ubuntu-l10n-oci@lists.ubuntu.com>\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"
"Plural-Forms: nplurals=2; plural=(n > 1);"
#: ../src/50-metacity-desktop-key.xml.in.h:1
msgid "Desktop"
@ -48,18 +48,18 @@ msgstr ""
msgid "Failed to parse message \"%s\" from dialog process\n"
msgstr ""
#: ../src/core/delete.c:270
#: ../src/core/delete.c:253
#, c-format
msgid "Error reading from dialog display process: %s\n"
msgstr ""
#: ../src/core/delete.c:353
#: ../src/core/delete.c:336
#, c-format
msgid ""
"Error launching metacity-dialog to ask about killing an application: %s\n"
msgstr ""
#: ../src/core/delete.c:462
#: ../src/core/delete.c:445
#, c-format
msgid "Failed to get hostname: %s\n"
msgstr "Impossible d'obténer lo nom d'òste : %s\n"
@ -69,12 +69,12 @@ msgstr "Impossible d'obténer lo nom d'òste : %s\n"
msgid "Missing %s extension required for compositing"
msgstr ""
#: ../src/core/display.c:438
#: ../src/core/display.c:334
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr ""
#: ../src/core/errors.c:271
#: ../src/core/errors.c:272
#, c-format
msgid ""
"Lost connection to the display '%s';\n"
@ -82,7 +82,7 @@ msgid ""
"the window manager.\n"
msgstr ""
#: ../src/core/errors.c:278
#: ../src/core/errors.c:279
#, c-format
msgid "Fatal IO error %d (%s) on display '%s'.\n"
msgstr ""
@ -94,17 +94,17 @@ msgid ""
"binding\n"
msgstr ""
#: ../src/core/keybindings.c:2736
#: ../src/core/keybindings.c:2722
#, c-format
msgid "Error launching metacity-dialog to print an error about a command: %s\n"
msgstr ""
#: ../src/core/keybindings.c:2841
#: ../src/core/keybindings.c:2827
#, c-format
msgid "No command %d has been defined.\n"
msgstr "Pas cap de comanda %d definida.\n"
#: ../src/core/keybindings.c:3869
#: ../src/core/keybindings.c:3855
#, c-format
msgid "No terminal command has been defined.\n"
msgstr "Pas cap de comanda de terminal definida.\n"
@ -158,7 +158,7 @@ msgid ""
"Could not find a theme! Be sure %s exists and contains the usual themes.\n"
msgstr ""
#: ../src/core/main.c:516
#: ../src/core/main.c:500
#, c-format
msgid "Failed to restart: %s\n"
msgstr "Impossible de tornar aviar : %s\n"
@ -171,119 +171,117 @@ msgstr "Impossible de tornar aviar : %s\n"
#. * (We know the old value, so we can look up a suitable string in
#. * the symtab.)
#.
#: ../src/core/prefs.c:374 ../src/core/prefs.c:450
#: ../src/core/prefs.c:450 ../src/core/prefs.c:564
#, c-format
msgid "GConf key '%s' is set to an invalid value\n"
msgstr ""
#: ../src/core/prefs.c:423 ../src/core/prefs.c:493 ../src/core/prefs.c:844
#: ../src/core/prefs.c:860 ../src/core/prefs.c:876 ../src/core/prefs.c:892
#: ../src/core/prefs.c:910 ../src/core/prefs.c:926 ../src/core/prefs.c:945
#: ../src/core/prefs.c:961 ../src/core/prefs.c:978 ../src/core/prefs.c:995
#: ../src/core/prefs.c:1011 ../src/core/prefs.c:1027 ../src/core/prefs.c:1043
#: ../src/core/prefs.c:1059 ../src/core/prefs.c:1075
#: ../src/core/prefs.c:537 ../src/core/prefs.c:611 ../src/core/prefs.c:659
#: ../src/core/prefs.c:978 ../src/core/prefs.c:996 ../src/core/prefs.c:1012
#: ../src/core/prefs.c:1031 ../src/core/prefs.c:1047 ../src/core/prefs.c:1064
#: ../src/core/prefs.c:1081 ../src/core/prefs.c:1097 ../src/core/prefs.c:1113
#, c-format
msgid "GConf key \"%s\" is set to an invalid type\n"
msgstr ""
#: ../src/core/prefs.c:701
#: ../src/core/prefs.c:873
#, c-format
msgid "Type of %s was not integer"
msgstr ""
#: ../src/core/prefs.c:1144
#: ../src/core/prefs.c:1182
msgid ""
"Workarounds for broken applications disabled. Some applications may not "
"behave properly.\n"
msgstr ""
#: ../src/core/prefs.c:1174
#, c-format
msgid ""
"\"%s\" found in configuration database is not a valid value for mouse button "
"modifier\n"
msgstr ""
#: ../src/core/prefs.c:1292
#: ../src/core/prefs.c:1237
#, c-format
msgid ""
"%d stored in GConf key %s is not a reasonable cursor_size; must be in the "
"range 1..128\n"
msgstr ""
#: ../src/core/prefs.c:1317
#: ../src/core/prefs.c:1263
#, c-format
msgid "Could not parse font description \"%s\" from GConf key %s\n"
msgstr ""
#: ../src/core/prefs.c:1606
#: ../src/core/prefs.c:1323
#, c-format
msgid ""
"\"%s\" found in configuration database is not a valid value for mouse button "
"modifier\n"
msgstr ""
#: ../src/core/prefs.c:1602
#, c-format
msgid ""
"%d stored in GConf key %s is not a reasonable number of workspaces, current "
"maximum is %d\n"
msgstr ""
#: ../src/core/prefs.c:1650
#: ../src/core/prefs.c:1646
#, c-format
msgid "%d stored in GConf key %s is out of range 0 to %d\n"
msgstr ""
#: ../src/core/prefs.c:1780
#: ../src/core/prefs.c:1777
#, c-format
msgid "Error setting number of workspaces to %d: %s\n"
msgstr ""
#: ../src/core/prefs.c:2145 ../src/core/prefs.c:2681 ../src/ui/menu.c:199
#: ../src/core/prefs.c:2142 ../src/core/prefs.c:2654
#, c-format
msgid "Workspace %d"
msgstr "Espaci de trabalh %d"
#: ../src/core/prefs.c:2175 ../src/core/prefs.c:2348
#: ../src/core/prefs.c:2172 ../src/core/prefs.c:2345
#, c-format
msgid ""
"\"%s\" found in configuration database is not a valid value for keybinding "
"\"%s\"\n"
msgstr ""
#: ../src/core/prefs.c:2762
#: ../src/core/prefs.c:2735
#, c-format
msgid "Error setting name for workspace %d to \"%s\": %s\n"
msgstr ""
#: ../src/core/screen.c:410
#: ../src/core/screen.c:350
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr ""
#: ../src/core/screen.c:426
#: ../src/core/screen.c:366
#, c-format
msgid ""
"Screen %d on display \"%s\" already has a window manager; try using the --"
"replace option to replace the current window manager.\n"
msgstr ""
#: ../src/core/screen.c:453
#: ../src/core/screen.c:393
#, c-format
msgid ""
"Could not acquire window manager selection on screen %d display \"%s\"\n"
msgstr ""
#: ../src/core/screen.c:511
#: ../src/core/screen.c:451
#, c-format
msgid "Screen %d on display \"%s\" already has a window manager\n"
msgstr ""
#: ../src/core/screen.c:721
#: ../src/core/screen.c:661
#, c-format
msgid "Could not release screen %d on display \"%s\"\n"
msgstr ""
#: ../src/core/session.c:826 ../src/core/session.c:833
#: ../src/core/session.c:837 ../src/core/session.c:844
#, c-format
msgid "Could not create directory '%s': %s\n"
msgstr "Impossible de crear lo repertòri '%s' : %s\n"
#: ../src/core/session.c:843
#: ../src/core/session.c:854
#, c-format
msgid "Could not open session file '%s' for writing: %s\n"
msgstr ""
@ -298,52 +296,53 @@ msgstr "Error al moment d'escriure lo fichièr de session '%s' : %s\n"
msgid "Error closing session file '%s': %s\n"
msgstr ""
#: ../src/core/session.c:1075
#. oh, just give up
#: ../src/core/session.c:1093
#, c-format
msgid "Failed to read saved session file %s: %s\n"
msgstr ""
#: ../src/core/session.c:1110
#: ../src/core/session.c:1132
#, c-format
msgid "Failed to parse saved session file: %s\n"
msgstr ""
#: ../src/core/session.c:1159
#: ../src/core/session.c:1181
#, c-format
msgid "<metacity_session> attribute seen but we already have the session ID"
msgstr ""
#: ../src/core/session.c:1172
#: ../src/core/session.c:1194
#, c-format
msgid "Unknown attribute %s on <metacity_session> element"
msgstr ""
#: ../src/core/session.c:1189
#: ../src/core/session.c:1211
#, c-format
msgid "nested <window> tag"
msgstr ""
#: ../src/core/session.c:1247 ../src/core/session.c:1279
#: ../src/core/session.c:1269 ../src/core/session.c:1301
#, c-format
msgid "Unknown attribute %s on <window> element"
msgstr ""
#: ../src/core/session.c:1351
#: ../src/core/session.c:1373
#, c-format
msgid "Unknown attribute %s on <maximized> element"
msgstr ""
#: ../src/core/session.c:1411
#: ../src/core/session.c:1433
#, c-format
msgid "Unknown attribute %s on <geometry> element"
msgstr ""
#: ../src/core/session.c:1431
#: ../src/core/session.c:1453
#, c-format
msgid "Unknown element %s"
msgstr "Element %s desconegut"
#: ../src/core/session.c:1868
#: ../src/core/session.c:1879
#, c-format
msgid ""
"Error launching metacity-dialog to warn about apps that don't support "
@ -402,7 +401,7 @@ msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
msgstr ""
#. first time through
#: ../src/core/window.c:5653
#: ../src/core/window.c:5674
#, c-format
msgid ""
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
@ -416,7 +415,7 @@ msgstr ""
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
#. * about these apps but make them work.
#.
#: ../src/core/window.c:6218
#: ../src/core/window.c:6239
#, c-format
msgid ""
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size %"
@ -1913,17 +1912,22 @@ msgstr "Desplaçar dins l'espaci de trabalh _inferior"
msgid "_Close"
msgstr "_Tampar"
#: ../src/ui/menu.c:208
#: ../src/ui/menu.c:203
#, c-format
msgid "Workspace %d%n"
msgstr "Espaci de trabalh %d%n"
#: ../src/ui/menu.c:213
#, c-format
msgid "Workspace 1_0"
msgstr "Espaci de trabalh 1_0"
#: ../src/ui/menu.c:210
#: ../src/ui/menu.c:215
#, c-format
msgid "Workspace %s%d"
msgstr "Espaci de trabalh %s%d"
#: ../src/ui/menu.c:390
#: ../src/ui/menu.c:395
msgid "Move to Another _Workspace"
msgstr "Desplaçar cap a un autre _espaci de trabalh"
@ -2871,158 +2875,158 @@ msgstr ""
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
msgstr ""
#: ../src/ui/theme.c:1285
#: ../src/ui/theme.c:1284
#, c-format
msgid ""
"Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
msgstr ""
#: ../src/ui/theme.c:1296
#: ../src/ui/theme.c:1295
#, c-format
msgid "Could not parse shade factor \"%s\" in shaded color"
msgstr ""
#: ../src/ui/theme.c:1306
#: ../src/ui/theme.c:1305
#, c-format
msgid "Shade factor \"%s\" in shaded color is negative"
msgstr ""
#: ../src/ui/theme.c:1336
#: ../src/ui/theme.c:1334
#, c-format
msgid "Could not parse color \"%s\""
msgstr ""
#: ../src/ui/theme.c:1594
#: ../src/ui/theme.c:1584
#, c-format
msgid "Coordinate expression contains character '%s' which is not allowed"
msgstr ""
#: ../src/ui/theme.c:1621
#: ../src/ui/theme.c:1611
#, c-format
msgid ""
"Coordinate expression contains floating point number '%s' which could not be "
"parsed"
msgstr ""
#: ../src/ui/theme.c:1635
#: ../src/ui/theme.c:1625
#, c-format
msgid "Coordinate expression contains integer '%s' which could not be parsed"
msgstr ""
#: ../src/ui/theme.c:1757
#: ../src/ui/theme.c:1747
#, c-format
msgid ""
"Coordinate expression contained unknown operator at the start of this text: "
"\"%s\""
msgstr ""
#: ../src/ui/theme.c:1814
#: ../src/ui/theme.c:1804
#, c-format
msgid "Coordinate expression was empty or not understood"
msgstr ""
#: ../src/ui/theme.c:1925 ../src/ui/theme.c:1935 ../src/ui/theme.c:1969
#: ../src/ui/theme.c:1915 ../src/ui/theme.c:1925 ../src/ui/theme.c:1959
#, c-format
msgid "Coordinate expression results in division by zero"
msgstr ""
#: ../src/ui/theme.c:1977
#: ../src/ui/theme.c:1967
#, c-format
msgid ""
"Coordinate expression tries to use mod operator on a floating-point number"
msgstr ""
#: ../src/ui/theme.c:2033
#: ../src/ui/theme.c:2023
#, c-format
msgid ""
"Coordinate expression has an operator \"%s\" where an operand was expected"
msgstr ""
#: ../src/ui/theme.c:2042
#: ../src/ui/theme.c:2032
#, c-format
msgid "Coordinate expression had an operand where an operator was expected"
msgstr ""
#: ../src/ui/theme.c:2050
#: ../src/ui/theme.c:2040
#, c-format
msgid "Coordinate expression ended with an operator instead of an operand"
msgstr ""
#: ../src/ui/theme.c:2060
#: ../src/ui/theme.c:2050
#, c-format
msgid ""
"Coordinate expression has operator \"%c\" following operator \"%c\" with no "
"operand in between"
msgstr ""
#: ../src/ui/theme.c:2207 ../src/ui/theme.c:2248
#: ../src/ui/theme.c:2197 ../src/ui/theme.c:2238
#, c-format
msgid "Coordinate expression had unknown variable or constant \"%s\""
msgstr ""
#: ../src/ui/theme.c:2302
#: ../src/ui/theme.c:2292
#, c-format
msgid "Coordinate expression parser overflowed its buffer."
msgstr ""
#: ../src/ui/theme.c:2331
#: ../src/ui/theme.c:2321
#, c-format
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
msgstr ""
#: ../src/ui/theme.c:2395
#: ../src/ui/theme.c:2385
#, c-format
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
msgstr ""
#: ../src/ui/theme.c:2406
#: ../src/ui/theme.c:2396
#, c-format
msgid "Coordinate expression doesn't seem to have any operators or operands"
msgstr ""
#: ../src/ui/theme.c:2608 ../src/ui/theme.c:2628 ../src/ui/theme.c:2648
#: ../src/ui/theme.c:2598 ../src/ui/theme.c:2618 ../src/ui/theme.c:2638
#, c-format
msgid "Theme contained an expression that resulted in an error: %s\n"
msgstr ""
#: ../src/ui/theme.c:4167
#: ../src/ui/theme.c:4157
#, c-format
msgid ""
"<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
"specified for this frame style"
msgstr ""
#: ../src/ui/theme.c:4643 ../src/ui/theme.c:4668
#: ../src/ui/theme.c:4633 ../src/ui/theme.c:4658
#, c-format
msgid ""
"Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
msgstr ""
#: ../src/ui/theme.c:4712
#: ../src/ui/theme.c:4702
#, c-format
msgid "Failed to load theme \"%s\": %s\n"
msgstr "Impossible de cargar lo tèma \"%s\" : %s\n"
#: ../src/ui/theme.c:4838 ../src/ui/theme.c:4845 ../src/ui/theme.c:4852
#: ../src/ui/theme.c:4859 ../src/ui/theme.c:4866
#: ../src/ui/theme.c:4828 ../src/ui/theme.c:4835 ../src/ui/theme.c:4842
#: ../src/ui/theme.c:4849 ../src/ui/theme.c:4856
#, c-format
msgid "No <%s> set for theme \"%s\""
msgstr ""
#: ../src/ui/theme.c:4874
#: ../src/ui/theme.c:4864
#, c-format
msgid ""
"No frame style set for window type \"%s\" in theme \"%s\", add a <window "
"type=\"%s\" style_set=\"whatever\"/> element"
msgstr ""
#: ../src/ui/theme.c:5241 ../src/ui/theme.c:5303 ../src/ui/theme.c:5366
#: ../src/ui/theme.c:5231 ../src/ui/theme.c:5293 ../src/ui/theme.c:5356
#, c-format
msgid ""
"User-defined constants must begin with a capital letter; \"%s\" does not"
msgstr ""
#: ../src/ui/theme.c:5249 ../src/ui/theme.c:5311 ../src/ui/theme.c:5374
#: ../src/ui/theme.c:5239 ../src/ui/theme.c:5301 ../src/ui/theme.c:5364
#, c-format
msgid "Constant \"%s\" has already been defined"
msgstr ""
@ -3031,3 +3035,4 @@ msgstr ""
#, c-format
msgid "Usage: %s\n"
msgstr "Sintaxi : %s\n"

View File

@ -14,12 +14,14 @@ msgstr ""
"Project-Id-Version: metacity\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-12-07 23:59-0200\n"
"PO-Revision-Date: 2007-12-08 00:22-0200\n"
"Last-Translator: Rodrigo Flores <rodrigomarquesflores@gmail.com>\n"
"PO-Revision-Date: 2008-07-22 14:34-0300\n"
"Last-Translator: Vladimir Melo <vladimirmelo.psi@gmail.com>\n"
"Language-Team: Brazilian Portuguese <gnome-l10n-br@listas.cipsga.org.br>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Poedit-Language: Portuguese\n"
"X-Poedit-Country: BRAZIL\n"
#: ../src/50-metacity-desktop-key.xml.in.h:1
msgid "Desktop"
@ -71,8 +73,8 @@ msgstr "Erro ao ler a partir do processo de exibição da caixa de diálogo: %s\
msgid ""
"Error launching metacity-dialog to ask about killing an application: %s\n"
msgstr ""
"Erro ao exibir caixa de diálogo para perguntar sobre como matar uma "
"aplicação: %s\n"
"Erro ao exibir caixa de diálogo para perguntar sobre como matar um "
"aplicativo: %s\n"
#: ../src/delete.c:459
#, c-format
@ -426,8 +428,8 @@ msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"Você pode escolher esperar um pouco para que ela continue ou forçar a "
"aplicação a sair inteiramente."
"Você pode escolher esperar um pouco para que ela continue ou forçar o "
"aplicativo a sair inteiramente."
#: ../src/metacity-dialog.c:107
msgid "_Wait"
@ -470,7 +472,7 @@ msgstr "Metacity"
#: ../src/metacity.schemas.in.h:1
msgid "(Not implemented) Navigation works in terms of applications not windows"
msgstr ""
"(Não implementado) A navegação funciona em termos de aplicações e não de "
"(Não implementado) A navegação funciona em termos de aplicativos e não de "
"janelas"
#: ../src/metacity.schemas.in.h:2
@ -571,15 +573,15 @@ msgid ""
"Determines whether applications or the system can generate audible 'beeps'; "
"may be used in conjunction with 'visual bell' to allow silent 'beeps'."
msgstr ""
"Determina se aplicações ou o sistema podem gerar alarmes sonoros (\"beeps\") "
"audíveis; pode ser usado em conjunto com campainha visual (\"visual bell\") "
"para permitir alarmes sonoros (\"beeps\") silenciosos."
"Determina se aplicativos ou o sistema podem gerar alarmes sonoros (\"beeps"
"\") audíveis; pode ser usado em conjunto com campainha visual (\"visual bell"
"\") para permitir alarmes sonoros (\"beeps\") silenciosos."
#: ../src/metacity.schemas.in.h:19
msgid "Disable misfeatures that are required by old or broken applications"
msgstr ""
"Desabilitar recursos inadequados que são necessários a aplicações antigas ou "
"quebradas"
"Desabilitar recursos inadequados que são necessários a aplicativos antigos "
"ou quebrados"
#: ../src/metacity.schemas.in.h:20
msgid "Enable Visual Bell"
@ -606,7 +608,7 @@ msgid ""
"If true, ignore the titlebar_font option, and use the standard application "
"font for window titles."
msgstr ""
"Se verdadeiro, ignore a opção titlebar_font e use a fonte da aplicação "
"Se verdadeiro, ignore a opção titlebar_font e use a fonte do aplicativo "
"padrão para os títulos das janelas."
#: ../src/metacity.schemas.in.h:24
@ -620,8 +622,8 @@ msgstr ""
"Se verdadeiro, o metacity dará menor retorno ao usuário, por exemplo "
"mostrando somente as bordas durante a movimentação da janela e evitando "
"animações. Isso significa uma redução significativa na usabilidade para "
"muitos usuários, mas pode possibilitar o funcionamento de aplicações "
"legadas, e pode ser uma troca vantajosa em servidores de terminais. Quando a "
"muitos usuários, mas pode possibilitar o funcionamento de aplicativos "
"legados, e pode ser uma troca vantajosa em servidores de terminais. Quando a "
"acessibilidade estivar ativada, no entanto, o recurso de bordas fica "
"desabilitado."
@ -635,13 +637,13 @@ msgid ""
"windows in other applications. Application-based mode is, however, largely "
"unimplemented at the moment."
msgstr ""
"Se verdadeiro, o Metacity funcionará em termos de aplicações, em vez de "
"Se verdadeiro, o Metacity funcionará em termos de aplicativo, em vez de "
"janelas. O conceito é um pouco abstrato, mas, em geral, uma instalação "
"baseada em aplicação assemelha-se mais ao Mac do que ao Windows. Quando você "
"foca uma janela no modo baseado em aplicação, todas as janelas da aplicação "
"são elevadas. Além disso, no modo baseado em aplicação, os cliques no foco "
"não afetam as janelas de outras aplicações. No entanto, o modo baseado em "
"aplicações está muito pouco implementado."
"baseada em aplicativo assemelha-se mais ao Mac do que ao Windows. Quando "
"você foca uma janela no modo baseado em aplicativo, todas as janelas do "
"aplicativo são elevadas. Além disso, no modo baseado em aplicativo, os "
"cliques no foco não afetam as janelas de outros aplicativos. No entanto, o "
"modo baseado em aplicativos está muito pouco implementado."
#: ../src/metacity.schemas.in.h:26
msgid "If true, trade off usability for less resource usage"
@ -690,12 +692,13 @@ msgstr "Mover na direção contrária entre janelas imediatamente"
#: ../src/metacity.schemas.in.h:36
msgid "Move backwards between windows of an application immediately"
msgstr ""
"Mover na direção contrária entre janelas de uma aplicação imediatamente"
"Mover na direção contrária entre janelas de um aplicativo imediatamente"
#: ../src/metacity.schemas.in.h:37
msgid "Move backwards between windows of an application with popup"
msgstr ""
"Mover na direção contrária entre janelas de uma aplicação usando instantânea"
"Mover na direção contrária entre janelas de um aplicativo usando janela "
"instantânea"
#: ../src/metacity.schemas.in.h:38
msgid "Move between panels and the desktop immediately"
@ -712,11 +715,11 @@ msgstr "Mover entre janelas imediatamente"
#: ../src/metacity.schemas.in.h:41
msgid "Move between windows of an application immediately"
msgstr "Mover entre janelas de uma aplicação imediatamente"
msgstr "Mover entre janelas de um aplicativo imediatamente"
#: ../src/metacity.schemas.in.h:42
msgid "Move between windows of an application with popup"
msgstr "Mover entre janelas de uma aplicação usando janela instantânea"
msgstr "Mover entre janelas de um aplicativo usando janela instantânea"
#: ../src/metacity.schemas.in.h:43
msgid "Move between windows with popup"
@ -896,10 +899,10 @@ msgstr ""
"trabalho, como pedidos de ativação de miniaplicativos de listas de tarefas. "
"Esta opção está atualmente desabilitada no modo clique-para-focar (click-on-"
"focus). Note que a lista de formas de levantar janelas quando raise_on_click "
"é falso não inclui pedidos programáticos de aplicações para levantar "
"é falso não inclui pedidos programáticos de aplicativos para levantar "
"janelas; tais pedidos serão ignorados independente do motivo de solicitação. "
"Se você for um desenvolvedor de aplicações e possui um usuário reclamando "
"que sua aplicação não funciona com esta opção desabilitada, diga a eles que "
"Se você for um desenvolvedor de aplicativos e possui um usuário reclamando "
"que seu aplicativo não funciona com esta opção desabilitada, diga a eles que "
"a culpa é deles por ter quebrado o gerenciador de janelas e que eles "
"precisam mudar esta opção para verdadeiro ou viver com o erro que eles "
"pediram. Veja também http://bugzilla.gnome.org/show_bug.cgi?id=445447#c6."
@ -910,7 +913,7 @@ msgstr "Mostrar o menu do painel"
#: ../src/metacity.schemas.in.h:80
msgid "Show the panel run application dialog"
msgstr "Mostrar o diálogo Executar Aplicação"
msgstr "Mostrar o diálogo Executar Aplicativo"
#: ../src/metacity.schemas.in.h:81
msgid ""
@ -919,10 +922,10 @@ msgid ""
"which gives a more consistent user interface, provided one does not need to "
"run any misbehaving applications."
msgstr ""
"Algumas aplicações desprezam especificações formais de modo a prejudicar o "
"Alguns aplicativos desprezam especificações formais de modo a prejudicar o "
"funcionamento do gerenciador de janelas. Esta opção põe Metacity em um modo "
"rigorosamente correta, o qual dá mais consistência à interface de usuário, "
"desde que ele não precise executar aplicações mal comportadas."
"rigorosamente correto, o qual dá mais consistência à interface de usuário, "
"desde que ele não precise executar aplicativos mal comportados."
#: ../src/metacity.schemas.in.h:82
msgid "Switch to workspace 1"
@ -994,11 +997,11 @@ msgstr "A Campainha do Sistema é Audível"
#: ../src/metacity.schemas.in.h:99
msgid "Take a screenshot"
msgstr "Capturar tela"
msgstr "Capturar imagem da tela"
#: ../src/metacity.schemas.in.h:100
msgid "Take a screenshot of a window"
msgstr "Fazer uma captura de tela de uma janela"
msgstr "Capturar imagem da tela de uma janela"
#: ../src/metacity.schemas.in.h:101
msgid ""
@ -1010,11 +1013,11 @@ msgid ""
"is unknown (as is usually the case for the default \"system beep\"), the "
"currently focused window's titlebar is flashed."
msgstr ""
"Implementar uma indicação visual que a campainha do sistema ou de uma "
"aplicação foi tocada. Atualmente, são dois valores possíveis, \"fullscreen\" "
"que pisca toda tela, e \"frame_flash\", que causa um pisca a barra de título "
"da aplicação que emitiu o alarme sonoro (\"beep\"). Se a aplicação que "
"enviou o alarme sonoro (\"beep\") for desconhecida (como normalmente é o "
"Implementar uma indicação visual que a campainha do sistema ou de um "
"aplicativo foi tocada. Atualmente, são dois valores possíveis, \"fullscreen"
"\" que pisca toda tela, e \"frame_flash\", que causa um pisca a barra de "
"título do aplicativo que emitiu o alarme sonoro (\"beep\"). Se o aplicativo "
"que enviou o alarme sonoro (\"beep\") for desconhecido (como normalmente é o "
"caso para o alarme sonoro (\"beep\") do sistema), a barra de título da "
"janela focada piscará."
@ -1705,7 +1708,7 @@ msgid ""
"\"disabled\", then there will be no keybinding for this action."
msgstr ""
"A tecla de atalho usada para mover o foco na direção contrária entre janelas "
"de uma aplicação sem uma janela instantânea. Segurar o \"shift\" junto com "
"de um aplicativo sem uma janela instantânea. Segurar o \"shift\" junto com "
"este atalho deixa o sentido para frente novamente. O formato é semelhante a "
"\"&lt;Control&gt;a\" ou \"&lt;Shift&gt;&lt;Alt&gt;F1\". O analisador é "
"bastante flexível, permitindo letras minúsculas ou maiúsculas e abreviações, "
@ -1724,7 +1727,7 @@ msgid ""
"\"disabled\", then there will be no keybinding for this action."
msgstr ""
"A tecla de atalho usada para mover o foco na direção contrária entre janelas "
"de uma aplicação, usando uma janela instantânea. Segurar o \"shift\" junto "
"de um aplicativo, usando uma janela instantânea. Segurar o \"shift\" junto "
"com este atalho deixa o sentido para frente novamente. O formato é "
"semelhante a \"&lt;Control&gt;a\" ou \"&lt;Shift&gt;&lt;Alt&gt;F1\". O "
"analisador é bastante flexível, permitindo letras minúsculas ou maiúsculas e "
@ -1810,7 +1813,7 @@ msgid ""
"\"&lt;Ctrl&gt;\". If you set the option to the special string \"disabled\", "
"then there will be no keybinding for this action."
msgstr ""
"A tecla de atalho usada para mover o foco entre janelas de uma aplicação sem "
"A tecla de atalho usada para mover o foco entre janelas de um aplicativo sem "
"janela instantânea. Segurar a tecla \"shift\" enquanto usa este atalho "
"inverte o sentido do movimento. O formato é semelhante a \"&lt;Control&gt;a"
"\" ou \"&lt;Shift&gt;&lt;Alt&gt;F1\". O analisador é bastante flexível, "
@ -1828,7 +1831,7 @@ msgid ""
"Ctl&gt;\" and \"&lt;Ctrl&gt;\". If you set the option to the special string "
"\"disabled\", then there will be no keybinding for this action."
msgstr ""
"A tecla de atalho usada para mover o foco entre janelas de uma aplicação, "
"A tecla de atalho usada para mover o foco entre janelas de um aplicativo, "
"usando uma janela instantânea. (Tradicionalmente &lt;Alt&gt;F6.) Segurar a "
"tecla \"shift\" enquanto usa este atalho inverte o sentido do movimento. O "
"formato é semelhante a \"&lt;Control&gt;a\" ou \"&lt;Shift&gt;&lt;Alt&gt;F1"
@ -1977,7 +1980,7 @@ msgid ""
"option to the special string \"disabled\", then there will be no keybinding "
"for this action."
msgstr ""
"A tecla de atalho que executa o diálogo \"Executar Aplicação\" do painel. O "
"A tecla de atalho que executa o diálogo \"Executar Aplicativo\" do painel. O "
"formato é semelhante a \"&lt;Control&gt;a\" ou \"&lt;Shift&gt;&lt;Alt&gt;F1"
"\". O analisador é bastante flexível, permitindo letras minúsculas ou "
"maiúsculas e abreviações, como \"&lt;Ctl&gt;\" e \"&lt;Ctrl&gt;\". Se você "
@ -2009,11 +2012,12 @@ msgid ""
"will be no keybinding for this action."
msgstr ""
"A tecla de atalho usada para abrir o programa de captura de tela do painel "
"para capturar uma janela. O formato é semelhante a \"&lt;Control&gt;a\" ou "
"\"&lt;Shift&gt;&lt;Alt&gt;F1\". O analisador é bastante flexível, permitindo "
"letras minúsculas ou maiúsculas e abreviações, como \"&lt;Ctl&gt;\" e \"&lt;"
"Ctrl&gt;\". Se você definir a opção como o valor especial \"disabled"
"\" (desabilitada), não haverá tecla de atalho para essa ação."
"para capturar a imagem de uma janela. O formato é semelhante a \"&lt;"
"Control&gt;a\" ou \"&lt;Shift&gt;&lt;Alt&gt;F1\". O analisador é bastante "
"flexível, permitindo letras minúsculas ou maiúsculas e abreviações, como "
"\"&lt;Ctl&gt;\" e \"&lt;Ctrl&gt;\". Se você definir a opção como o valor "
"especial \"disabled\" (desabilitada), não haverá tecla de atalho para essa "
"ação."
#: ../src/metacity.schemas.in.h:166
msgid ""
@ -2377,7 +2381,7 @@ msgid ""
"'bell' or 'beep'; useful for the hard-of-hearing and for use in noisy "
"environments."
msgstr ""
"Habilita uma indicação visual quando uma aplicação ou o sistema emitir um "
"Habilita uma indicação visual quando um aplicativo ou o sistema emitir um "
"alarme sonoro (\"beep\"); útil para quem tem pouca audição e para ambientes "
"barulhentos."
@ -2468,8 +2472,8 @@ msgid ""
"Workarounds for broken applications disabled. Some applications may not "
"behave properly.\n"
msgstr ""
"As alternativas para aplicações quebradas estão desabilitadas. É possível "
"que algumas aplicações não funcionem de maneira adequada.\n"
"As alternativas para aplicativos quebrados estão desabilitadas. É possível "
"que alguns aplicativos não funcionem de maneira adequada.\n"
#: ../src/prefs.c:1732
#, c-format
@ -3186,23 +3190,23 @@ msgstr "/Janelas/Tela de _abertura"
#: ../src/theme-viewer.c:80
msgid "/Windows/_Top dock"
msgstr "/Janelas/Doca de _topo"
msgstr "/Janelas/Encaixe de _topo"
#: ../src/theme-viewer.c:81
msgid "/Windows/_Bottom dock"
msgstr "/Janelas/Doca de _fundo"
msgstr "/Janelas/Encaixe de _fundo"
#: ../src/theme-viewer.c:82
msgid "/Windows/_Left dock"
msgstr "/Janelas/Doca da _esquerda"
msgstr "/Janelas/Encaixe da _esquerda"
#: ../src/theme-viewer.c:83
msgid "/Windows/_Right dock"
msgstr "/Janelas/Doca da _direita"
msgstr "/Janelas/Encaixe da _direita"
#: ../src/theme-viewer.c:84
msgid "/Windows/_All docks"
msgstr "/Janelas/Tod_as as docas"
msgstr "/Janelas/Tod_os os encaixes"
#: ../src/theme-viewer.c:85
msgid "/Windows/Des_ktop"
@ -3239,7 +3243,7 @@ msgstr "Barra"
#: ../src/theme-viewer.c:377
msgid "Normal Application Window"
msgstr "Janela Normal de Aplicações"
msgstr "Janela Normal de Aplicativos"
#: ../src/theme-viewer.c:381
msgid "Dialog Box"
@ -3655,7 +3659,7 @@ msgstr "Erro do gerenciador de janelas: "
#: ../src/window-props.c:192
#, c-format
msgid "Application set a bogus _NET_WM_PID %lu\n"
msgstr "A aplicação definiu um _NET_WM_PID %lu inválido\n"
msgstr "O aplicativo definiu um _NET_WM_PID %lu inválido\n"
#: ../src/window-props.c:324
#, c-format
@ -3706,7 +3710,7 @@ msgstr ""
"A janela 0x%lx tem a propriedade %s\n"
"que deveria ter tipo %s formato %d\n"
"e, na verdade, ela tem tipo %s, %d n_items %d.\n"
"Isso é bem provavelmente um erro da aplicação, não do gerenciador de "
"Isso é bem provavelmente um erro do aplicativo, não do gerenciador de "
"janelas.\n"
"A janela tem title=\"%s\" class=\"%s\" name=\"%s\"\n"
@ -3765,7 +3769,7 @@ msgstr ""
#~ "Forcing this application to quit will cause you to lose any unsaved "
#~ "changes."
#~ msgstr ""
#~ "Forçar esta aplicação a sair, causará a perda de todas as alterações não "
#~ "Forçar este aplicativo a sair, causará a perda de todas as alterações não "
#~ "salvas."
#~ msgid ""
@ -3789,8 +3793,8 @@ msgstr ""
#~ "mouse no modo de foco sloppy ou mouse\". Não é relacionada ao "
#~ "comportamento de cliques (isto é, não é relacionada a elevar-no-clique/"
#~ "elevar-ortogonalmente). Não está relacionada a entrar em uma janela "
#~ "durante uma operação de arrastar e soltar (porque isso resulta em uma "
#~ "aplicação obtendo o mouse)."
#~ "durante uma operação de arrastar e soltar (porque isso resulta em um "
#~ "aplicativo obtendo o mouse)."
#~ msgid ""
#~ "Some applications break specifications in ways that result in window "
@ -3807,18 +3811,18 @@ msgstr ""
#~ "specifications themselves, so sometimes a bug in no-workarounds mode "
#~ "won't be fixable without amending a spec."
#~ msgstr ""
#~ "Algumas aplicações quebram as especificações de modo que resultam em "
#~ "Alguns aplicativos quebram as especificações de modo que resultam em "
#~ "recursos inadequados do gerenciador de janelas. Por exemplo, teoricamente "
#~ "o Metacity colocaria todas as caixas de diálogo em uma posição "
#~ "consistente em relação à janela pai. Isso requer que as posições "
#~ "especificadas pelas aplicações para as caixas de diálogo sejam ignoradas. "
#~ "No entanto, como algumas versões de Java/Swing marcam seus menus "
#~ "instantâneos como caixas de diálogo, o Metacity precisa desabilitar o "
#~ "posicionamento das caixas de diálogo para que os menus possam funcionar "
#~ "nas aplicações Java quebradas. Há vários outros exemplos como esse. Essa "
#~ "especificadas pelos aplicativos para as caixas de diálogo sejam "
#~ "ignoradas. No entanto, como algumas versões de Java/Swing marcam seus "
#~ "menus instantâneos como caixas de diálogo, o Metacity precisa desabilitar "
#~ "o posicionamento das caixas de diálogo para que os menus possam funcionar "
#~ "nos aplicativos Java quebradas. Há vários outros exemplos como esse. Essa "
#~ "opção coloca o Metacity no modo de correção completa, o que poderá "
#~ "fornecer uma UI um pouco mais amigável se você não precisar executar "
#~ "nenhuma aplicação quebrada. Infelizmente, as alternativas devem estar "
#~ "nenhum aplicativo quebrado. Infelizmente, as alternativas devem estar "
#~ "habilitadas por padrão; o mundo é cruel. Algumas das alternativas aplicam-"
#~ "se às limitações nas próprias especificações; portanto, algumas vezes, "
#~ "não será possível corrigir um erro no modo sem alternativas sem que uma "

293
po/sl.po
View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: metacity\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-10-03 03:39+0100\n"
"PO-Revision-Date: 2008-04-13 09:05+0100\n"
"POT-Creation-Date: 2008-07-10 04:42+0000\n"
"PO-Revision-Date: 2008-07-10 14:15+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian <sl@li.org>\n"
"MIME-Version: 1.0\n"
@ -75,12 +75,12 @@ msgstr "Ni mogoče dobiti gostitelja z imenom: %s\n"
msgid "Missing %s extension required for compositing"
msgstr "Manjka razširitev %s, ki je ključna za sestavljanje"
#: ../src/core/display.c:433
#: ../src/core/display.c:334
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Ni mogoče odpreti zaslona '%s' okenskega sistema X\n"
#: ../src/core/errors.c:271
#: ../src/core/errors.c:272
#, c-format
msgid ""
"Lost connection to the display '%s';\n"
@ -91,7 +91,7 @@ msgstr ""
"najverjetneje se je strežnik X ugasnil ali pa prisilno izklopljen\n"
"upravljalnik oken.\n"
#: ../src/core/errors.c:278
#: ../src/core/errors.c:279
#, c-format
msgid "Fatal IO error %d (%s) on display '%s'.\n"
msgstr "Usodna napaka IO %d (%s) na zaslonu '%s'.\n"
@ -102,17 +102,17 @@ msgstr "Usodna napaka IO %d (%s) na zaslonu '%s'.\n"
msgid "Some other program is already using the key %s with modifiers %x as a binding\n"
msgstr "Tipko %s s spremenilnikom %x uporablja že nek drug program\n"
#: ../src/core/keybindings.c:2722
#: ../src/core/keybindings.c:2729
#, c-format
msgid "Error launching metacity-dialog to print an error about a command: %s\n"
msgstr "Napaka ob zaganjanju metacity-dialog za izpis napake o ukazu: %s\n"
#: ../src/core/keybindings.c:2827
#: ../src/core/keybindings.c:2834
#, c-format
msgid "No command %d has been defined.\n"
msgstr "Ukaz %d ni bil naveden.\n"
#: ../src/core/keybindings.c:3855
#: ../src/core/keybindings.c:3862
#, c-format
msgid "No terminal command has been defined.\n"
msgstr "Ni bilo navedenih ukazov terminala.\n"
@ -181,107 +181,91 @@ msgstr "Ni mogoče znova pognati: %s\n"
#. * (We know the old value, so we can look up a suitable string in
#. * the symtab.)
#.
#: ../src/core/prefs.c:450
#: ../src/core/prefs.c:564
#: ../src/core/prefs.c:502
#: ../src/core/prefs.c:654
#, c-format
msgid "GConf key '%s' is set to an invalid value\n"
msgstr "Ključ GConf '%s' je nastavljen na neveljavno vrednost\n"
#: ../src/core/prefs.c:583
#: ../src/core/prefs.c:823
#, c-format
msgid "%d stored in GConf key %s is out of range %d to %d\n"
msgstr "%d shranjen v GConf ključu %s je izven meja med %d in %d\n"
# G:1 K:0 O:0
#: ../src/core/prefs.c:537
#: ../src/core/prefs.c:611
#: ../src/core/prefs.c:659
#: ../src/core/prefs.c:965
#: ../src/core/prefs.c:983
#: ../src/core/prefs.c:999
#: ../src/core/prefs.c:1018
#: ../src/core/prefs.c:1034
#: ../src/core/prefs.c:1051
#: ../src/core/prefs.c:1068
#: ../src/core/prefs.c:1084
#: ../src/core/prefs.c:1100
#: ../src/core/prefs.c:627
#: ../src/core/prefs.c:701
#: ../src/core/prefs.c:749
#: ../src/core/prefs.c:813
#: ../src/core/prefs.c:1108
#: ../src/core/prefs.c:1124
#: ../src/core/prefs.c:1143
#: ../src/core/prefs.c:1159
#: ../src/core/prefs.c:1176
#: ../src/core/prefs.c:1192
#, c-format
msgid "GConf key \"%s\" is set to an invalid type\n"
msgstr "Ključ GConf \"%s\" je nastavljen na neveljavno vrsto\n"
#: ../src/core/prefs.c:860
#, c-format
msgid "Type of %s was not integer"
msgstr "Vrsta %s ni celo število"
#: ../src/core/prefs.c:1169
#: ../src/core/prefs.c:1262
msgid "Workarounds for broken applications disabled. Some applications may not behave properly.\n"
msgstr "Obhodi za pokvarjene programe so izključeni. Nekateri programi se morda ne bodo pravilno obnašali.\n"
#: ../src/core/prefs.c:1224
#, c-format
msgid "%d stored in GConf key %s is not a reasonable cursor_size; must be in the range 1..128\n"
msgstr "%d, ki je shranjen v ključu GConf %s, ni običajen cursor_size; mora biti število med 1..128\n"
#: ../src/core/prefs.c:1250
#: ../src/core/prefs.c:1332
#, c-format
msgid "Could not parse font description \"%s\" from GConf key %s\n"
msgstr "Ni mogoče razčleniti opisa \"%s\" iz ključa GConf %s\n"
#: ../src/core/prefs.c:1310
#: ../src/core/prefs.c:1392
#, c-format
msgid "\"%s\" found in configuration database is not a valid value for mouse button modifier\n"
msgstr "\"%s\", ki je bil najden v podatkovni zbirki nastavitev ni veljaven spremenilnik za miškine gumbe.\n"
#: ../src/core/prefs.c:1589
#, c-format
msgid "%d stored in GConf key %s is not a reasonable number of workspaces, current maximum is %d\n"
msgstr "%d shranjen v ključu GConf %s ni normalno število delovnih površin, trenutno največje število je %d\n"
#: ../src/core/prefs.c:1633
#, c-format
msgid "%d stored in GConf key %s is out of range 0 to %d\n"
msgstr "%d shranjen v GConf ključu %s je izven meje med 0 in %d\n"
#: ../src/core/prefs.c:1764
#: ../src/core/prefs.c:1809
#, c-format
msgid "Error setting number of workspaces to %d: %s\n"
msgstr "Napaka ob nastavljanju števila delovnih površin na %d: %s\n"
# G:1 K:0 O:0
#: ../src/core/prefs.c:2129
#: ../src/core/prefs.c:2641
#: ../src/core/prefs.c:2174
#: ../src/core/prefs.c:2686
#, c-format
msgid "Workspace %d"
msgstr "Delovna površina %d"
#: ../src/core/prefs.c:2159
#: ../src/core/prefs.c:2332
#: ../src/core/prefs.c:2204
#: ../src/core/prefs.c:2377
#, c-format
msgid "\"%s\" found in configuration database is not a valid value for keybinding \"%s\"\n"
msgstr "\"%s\" najden v podatkovni zbirki nastavitev ni veljaven ključ za tipkovno vez \"%s\"\n"
#: ../src/core/prefs.c:2722
#: ../src/core/prefs.c:2767
#, c-format
msgid "Error setting name for workspace %d to \"%s\": %s\n"
msgstr "Napaka ob nastavljanju imena delovne površine %d na \"%s\": %s\n"
#: ../src/core/screen.c:410
#: ../src/core/screen.c:350
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Zaslon %d na prikazu '%s' ni veljaven\n"
#: ../src/core/screen.c:426
#: ../src/core/screen.c:366
#, c-format
msgid "Screen %d on display \"%s\" already has a window manager; try using the --replace option to replace the current window manager.\n"
msgstr "Zaslon %d na prikazu \"%s\" že ima upravljalnik oken; poskušajte uporabiti možnost --replace za zamenjavo trenutnega upravljalnika zaslona.\n"
#: ../src/core/screen.c:453
#: ../src/core/screen.c:393
#, c-format
msgid "Could not acquire window manager selection on screen %d display \"%s\"\n"
msgstr "Ni mogoče dobiti izbire upravljalnika oken na zaslonu %d prikaz \"%s\"\n"
#: ../src/core/screen.c:511
#: ../src/core/screen.c:451
#, c-format
msgid "Screen %d on display \"%s\" already has a window manager\n"
msgstr "Zaslon %d na prikazu \"%s\" že ima upravljalnik oken\n"
#: ../src/core/screen.c:721
#: ../src/core/screen.c:661
#, c-format
msgid "Could not release screen %d on display \"%s\"\n"
msgstr "Ni mogoče opustiti prikaza %d prikazu \"%s\"\n"
@ -398,23 +382,23 @@ msgstr "Opozorilo upravljavca oken: "
msgid "Window manager error: "
msgstr "Napaka upravljavca oken: "
#: ../src/core/window-props.c:195
#: ../src/core/window-props.c:206
#, c-format
msgid "Application set a bogus _NET_WM_PID %lu\n"
msgstr "Program je nastavil pokvarjen _NET_WM_PID %lu\n"
#: ../src/core/window-props.c:327
#: ../src/core/window-props.c:338
#, c-format
msgid "%s (on %s)"
msgstr "%s (na %s)"
#: ../src/core/window-props.c:1409
#: ../src/core/window-props.c:1420
#, c-format
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
msgstr "Neveljaven WM_TRANSIENT_FOR za okno 0x%lx naveden za %s.\n"
#. first time through
#: ../src/core/window.c:5661
#: ../src/core/window.c:5648
#, c-format
msgid "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER window as specified in the ICCCM.\n"
msgstr "Okno %s nastavi svoj SM_CLIENT_ID, namesto, da bi nastavilo WM_CLIENT_LEADER kot je zavedeno v ICCCM.\n"
@ -426,7 +410,7 @@ msgstr "Okno %s nastavi svoj SM_CLIENT_ID, namesto, da bi nastavilo WM_CLIENT_LE
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
#. * about these apps but make them work.
#.
#: ../src/core/window.c:6226
#: ../src/core/window.c:6213
#, c-format
msgid "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %d x %d and max size %d x %d; this doesn't make much sense.\n"
msgstr "Okno %s določi namig MWM, ki pove, da ni mogoče spremeniti velikosti, hkrati pa določi najmanjšo velikost na %d x %d in največjo na %d x %d; vrednost ni smiselna.\n"
@ -2154,194 +2138,194 @@ msgstr "Ni mogoče najti veljavne datoteke za temo %s\n"
msgid "Theme file %s did not contain a root <metacity_theme> element"
msgstr "Datoteka teme %s ne vsebuje korenskega elementa <metacity_theme>"
#: ../src/ui/theme-viewer.c:74
#: ../src/ui/theme-viewer.c:75
msgid "/_Windows"
msgstr "/_Okna"
#: ../src/ui/theme-viewer.c:75
#: ../src/ui/theme-viewer.c:76
msgid "/Windows/tearoff"
msgstr "/Okna/odtrgaj"
#: ../src/ui/theme-viewer.c:76
#: ../src/ui/theme-viewer.c:77
msgid "/Windows/_Dialog"
msgstr "/Okna/_Pogovorno okno"
#: ../src/ui/theme-viewer.c:77
#: ../src/ui/theme-viewer.c:78
msgid "/Windows/_Modal dialog"
msgstr "/Okna/_Modalno okno"
#: ../src/ui/theme-viewer.c:78
#: ../src/ui/theme-viewer.c:79
msgid "/Windows/_Utility"
msgstr "/Okna/P_ripomoček"
#: ../src/ui/theme-viewer.c:79
#: ../src/ui/theme-viewer.c:80
msgid "/Windows/_Splashscreen"
msgstr "/Okna/Pre_dstavitveno okno"
#: ../src/ui/theme-viewer.c:80
#: ../src/ui/theme-viewer.c:81
msgid "/Windows/_Top dock"
msgstr "/Okna/_Zgornje sidro"
#: ../src/ui/theme-viewer.c:81
#: ../src/ui/theme-viewer.c:82
msgid "/Windows/_Bottom dock"
msgstr "/Okna/_Spodnje sidro"
#: ../src/ui/theme-viewer.c:82
#: ../src/ui/theme-viewer.c:83
msgid "/Windows/_Left dock"
msgstr "/Okna/_Levo sidro"
#: ../src/ui/theme-viewer.c:83
#: ../src/ui/theme-viewer.c:84
msgid "/Windows/_Right dock"
msgstr "/Okna/_Desno sidro"
#: ../src/ui/theme-viewer.c:84
#: ../src/ui/theme-viewer.c:85
msgid "/Windows/_All docks"
msgstr "/Okna/_Vsa sidra"
#: ../src/ui/theme-viewer.c:85
#: ../src/ui/theme-viewer.c:86
msgid "/Windows/Des_ktop"
msgstr "/Okna/_Namizje"
#: ../src/ui/theme-viewer.c:134
#: ../src/ui/theme-viewer.c:135
msgid "Open another one of these windows"
msgstr "Odpri drugo izmed teh oken"
#: ../src/ui/theme-viewer.c:141
#: ../src/ui/theme-viewer.c:142
msgid "This is a demo button with an 'open' icon"
msgstr "To je preizkusni gumb z ikono 'odpri'"
#: ../src/ui/theme-viewer.c:148
#: ../src/ui/theme-viewer.c:149
msgid "This is a demo button with a 'quit' icon"
msgstr "To je preizkusni gumb z ikono 'izhod'"
#: ../src/ui/theme-viewer.c:241
#: ../src/ui/theme-viewer.c:242
msgid "This is a sample message in a sample dialog"
msgstr "To je preizkusno sporočilo v pogovornem oknu"
#: ../src/ui/theme-viewer.c:324
#: ../src/ui/theme-viewer.c:325
#, c-format
msgid "Fake menu item %d\n"
msgstr "Ponarejen predmet menija %d\n"
#: ../src/ui/theme-viewer.c:358
#: ../src/ui/theme-viewer.c:359
msgid "Border-only window"
msgstr "Okno samo z okvirjem"
#: ../src/ui/theme-viewer.c:360
#: ../src/ui/theme-viewer.c:361
msgid "Bar"
msgstr "Vrstica"
#: ../src/ui/theme-viewer.c:377
#: ../src/ui/theme-viewer.c:378
msgid "Normal Application Window"
msgstr "Običajno okno programa"
#: ../src/ui/theme-viewer.c:381
#: ../src/ui/theme-viewer.c:382
msgid "Dialog Box"
msgstr "Pogovorno okno"
#: ../src/ui/theme-viewer.c:385
#: ../src/ui/theme-viewer.c:386
msgid "Modal Dialog Box"
msgstr "Modalno pogovorno okno"
#: ../src/ui/theme-viewer.c:389
#: ../src/ui/theme-viewer.c:390
msgid "Utility Palette"
msgstr "Paleta pripomočkov"
#: ../src/ui/theme-viewer.c:393
#: ../src/ui/theme-viewer.c:394
msgid "Torn-off Menu"
msgstr "Odtrgan menu"
#: ../src/ui/theme-viewer.c:397
#: ../src/ui/theme-viewer.c:398
msgid "Border"
msgstr "Okvir"
#: ../src/ui/theme-viewer.c:725
#: ../src/ui/theme-viewer.c:726
#, c-format
msgid "Button layout test %d"
msgstr "Preizkus razporeditve gumbov %d"
#: ../src/ui/theme-viewer.c:754
#: ../src/ui/theme-viewer.c:755
#, c-format
msgid "%g milliseconds to draw one window frame"
msgstr "%g milisekund za risanje ene sličice okna"
#: ../src/ui/theme-viewer.c:797
#: ../src/ui/theme-viewer.c:798
#, c-format
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
msgstr "Uporaba: metacity-theme-viewer [IMETEME]\n"
#: ../src/ui/theme-viewer.c:804
#: ../src/ui/theme-viewer.c:805
#, c-format
msgid "Error loading theme: %s\n"
msgstr "Napaka pri nalaganju teme: %s\n"
#: ../src/ui/theme-viewer.c:810
#: ../src/ui/theme-viewer.c:811
#, c-format
msgid "Loaded theme \"%s\" in %g seconds\n"
msgstr "Tema \"%s\" naložena v %g sekundah\n"
#: ../src/ui/theme-viewer.c:833
#: ../src/ui/theme-viewer.c:852
msgid "Normal Title Font"
msgstr "Običajna pisava naslova"
#: ../src/ui/theme-viewer.c:839
#: ../src/ui/theme-viewer.c:858
msgid "Small Title Font"
msgstr "Majhna pisava naslova"
#: ../src/ui/theme-viewer.c:845
#: ../src/ui/theme-viewer.c:864
msgid "Large Title Font"
msgstr "Velika pisava naslova"
#: ../src/ui/theme-viewer.c:850
#: ../src/ui/theme-viewer.c:869
msgid "Button Layouts"
msgstr "Razpored gumbov"
#: ../src/ui/theme-viewer.c:855
#: ../src/ui/theme-viewer.c:874
msgid "Benchmark"
msgstr "Meritev"
#: ../src/ui/theme-viewer.c:902
#: ../src/ui/theme-viewer.c:921
msgid "Window Title Goes Here"
msgstr "Tukaj je naslov okna"
#: ../src/ui/theme-viewer.c:1006
#: ../src/ui/theme-viewer.c:1025
#, c-format
msgid "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g seconds wall clock time including X server resources (%g milliseconds per frame)\n"
msgstr "Izrisanih %d sličic v %g sekundah odjemalca (%g milisekund na sličico) in %g sekund v času stenske ure, upoštevajoč sredstva strežnika X (%g milisekund na sličico)\n"
#: ../src/ui/theme-viewer.c:1225
#: ../src/ui/theme-viewer.c:1244
msgid "position expression test returned TRUE but set error"
msgstr "preizkus izjave položaja je vrnil TRUE, a je nastavil napako"
#: ../src/ui/theme-viewer.c:1227
#: ../src/ui/theme-viewer.c:1246
msgid "position expression test returned FALSE but didn't set error"
msgstr "preizkus izjave položaja je vrnil FALSE, a ni nastavil napake"
#: ../src/ui/theme-viewer.c:1231
#: ../src/ui/theme-viewer.c:1250
msgid "Error was expected but none given"
msgstr "Pričakovana je bila napaka, a do nje ni prišlo"
#: ../src/ui/theme-viewer.c:1233
#: ../src/ui/theme-viewer.c:1252
#, c-format
msgid "Error %d was expected but %d given"
msgstr "Pričakovana je bila napaka %d, vrnjeno pa je bilo %d"
#: ../src/ui/theme-viewer.c:1239
#: ../src/ui/theme-viewer.c:1258
#, c-format
msgid "Error not expected but one was returned: %s"
msgstr "Napaka ni bila pričakovana, a je bila kljub temu vrnjena: %s"
#: ../src/ui/theme-viewer.c:1243
#: ../src/ui/theme-viewer.c:1262
#, c-format
msgid "x value was %d, %d was expected"
msgstr "vrednost x je bila %d, pričakovana pa %d"
#: ../src/ui/theme-viewer.c:1246
#: ../src/ui/theme-viewer.c:1265
#, c-format
msgid "y value was %d, %d was expected"
msgstr "vrednost z je bila %d, pričakovana pa %d"
#: ../src/ui/theme-viewer.c:1311
#: ../src/ui/theme-viewer.c:1330
#, c-format
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
msgstr "%d izjav koordinat razčlenjenih v %g sekundah (%g sekund v povprečju)\n"
@ -2426,156 +2410,156 @@ msgstr "V prelivni barvi ni mogoče razčleniti vrednosti alfa \"%s\""
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
msgstr "V prelivni barvi alfa vrednost \"%s\" ni med 0.0 in 1.0"
#: ../src/ui/theme.c:1285
#: ../src/ui/theme.c:1284
#, c-format
msgid "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
msgstr "Oblika zapisa barve senčenja je \"shade/base_color/factor\", \"%s\" ne ustreza pravilni obliki."
#: ../src/ui/theme.c:1296
#: ../src/ui/theme.c:1295
#, c-format
msgid "Could not parse shade factor \"%s\" in shaded color"
msgstr "Ni mogoče razčleniti faktorja senčenja \"%s\" v senčeni barvi"
#: ../src/ui/theme.c:1306
#: ../src/ui/theme.c:1305
#, c-format
msgid "Shade factor \"%s\" in shaded color is negative"
msgstr "V senčeni barvi je faktor senčenja \"%s\" negativen"
#: ../src/ui/theme.c:1336
#: ../src/ui/theme.c:1334
#, c-format
msgid "Could not parse color \"%s\""
msgstr "Ni mogoče razčleniti barve \"%s\""
#: ../src/ui/theme.c:1594
#: ../src/ui/theme.c:1584
#, c-format
msgid "Coordinate expression contains character '%s' which is not allowed"
msgstr "Izraz koordinat vsebuje znak '%s', ki ni dovoljen"
#: ../src/ui/theme.c:1621
#: ../src/ui/theme.c:1611
#, c-format
msgid "Coordinate expression contains floating point number '%s' which could not be parsed"
msgstr "Izraz koordinat vsebuje številko s plavajočo vejico '%s', ki ne more biti razčlenjena"
#: ../src/ui/theme.c:1635
#: ../src/ui/theme.c:1625
#, c-format
msgid "Coordinate expression contains integer '%s' which could not be parsed"
msgstr "Izraz koordinat vsebuje celo število '%s', ki ga ni mogoče razčleniti"
#: ../src/ui/theme.c:1757
#: ../src/ui/theme.c:1747
#, c-format
msgid "Coordinate expression contained unknown operator at the start of this text: \"%s\""
msgstr "Izraz koordinat vsebuje neznan operator na pričetku besedila: \"%s\""
#: ../src/ui/theme.c:1814
#: ../src/ui/theme.c:1804
#, c-format
msgid "Coordinate expression was empty or not understood"
msgstr "Izraz koordinat je prazen ali ni razumljen"
#: ../src/ui/theme.c:1915
#: ../src/ui/theme.c:1925
#: ../src/ui/theme.c:1935
#: ../src/ui/theme.c:1969
#: ../src/ui/theme.c:1959
#, c-format
msgid "Coordinate expression results in division by zero"
msgstr "Izraz koordinat se povzroči deljenje z ničlo"
#: ../src/ui/theme.c:1977
#: ../src/ui/theme.c:1967
#, c-format
msgid "Coordinate expression tries to use mod operator on a floating-point number"
msgstr "Izraz koordinat poskuša uporabiti operator mod ali številko s plavajočo vejico"
#: ../src/ui/theme.c:2033
#: ../src/ui/theme.c:2023
#, c-format
msgid "Coordinate expression has an operator \"%s\" where an operand was expected"
msgstr "Izraz koordinat vsebuje operator \"%s\", kjer je pričakovan operand"
#: ../src/ui/theme.c:2042
#: ../src/ui/theme.c:2032
#, c-format
msgid "Coordinate expression had an operand where an operator was expected"
msgstr "Izraz koordinat vsebuje operand kjer je pričakovan operator"
#: ../src/ui/theme.c:2050
#: ../src/ui/theme.c:2040
#, c-format
msgid "Coordinate expression ended with an operator instead of an operand"
msgstr "Izraz koordinat se konča z operatorjem namesto z operandom"
#: ../src/ui/theme.c:2060
#: ../src/ui/theme.c:2050
#, c-format
msgid "Coordinate expression has operator \"%c\" following operator \"%c\" with no operand in between"
msgstr "Izraz koordinat vsebuje operator \"%c\", ki sledi operatorju \"%c\", brez vmesnega operanda"
#: ../src/ui/theme.c:2207
#: ../src/ui/theme.c:2248
#: ../src/ui/theme.c:2197
#: ../src/ui/theme.c:2238
#, c-format
msgid "Coordinate expression had unknown variable or constant \"%s\""
msgstr "Izraz koordinat vsebuje neznano spremenljivko ali konstanto \"%s\""
#: ../src/ui/theme.c:2302
#: ../src/ui/theme.c:2292
#, c-format
msgid "Coordinate expression parser overflowed its buffer."
msgstr "Razčlenjevalnik izrazov koordinat je preplavil medpomnilnik."
#: ../src/ui/theme.c:2331
#: ../src/ui/theme.c:2321
#, c-format
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
msgstr "Izraz koordinat vsebuje zaklepaj, a ne oklepaja"
#: ../src/ui/theme.c:2395
#: ../src/ui/theme.c:2385
#, c-format
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
msgstr "Izraz koordinat vsebuje uklepaj, vendar je brez zaklepaja"
#: ../src/ui/theme.c:2406
#: ../src/ui/theme.c:2396
#, c-format
msgid "Coordinate expression doesn't seem to have any operators or operands"
msgstr "Videti je, da izraz koordinat ne vsebuje operatorjev ali operandov"
#: ../src/ui/theme.c:2608
#: ../src/ui/theme.c:2628
#: ../src/ui/theme.c:2648
#: ../src/ui/theme.c:2598
#: ../src/ui/theme.c:2618
#: ../src/ui/theme.c:2638
#, c-format
msgid "Theme contained an expression that resulted in an error: %s\n"
msgstr "Tema vsebuje izraz, ki je povzročil napako: %s\n"
#: ../src/ui/theme.c:4167
#: ../src/ui/theme.c:4157
#, c-format
msgid "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be specified for this frame style"
msgstr "za ta slog okvirja mora biti naveden <button function=\"%s\" state=\"%s\" draw_ops=\"karkoli\"/>"
#: ../src/ui/theme.c:4643
#: ../src/ui/theme.c:4668
#: ../src/ui/theme.c:4633
#: ../src/ui/theme.c:4658
#, c-format
msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
msgstr "Manjka <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"karkoli\"/>"
#: ../src/ui/theme.c:4712
#: ../src/ui/theme.c:4702
#, c-format
msgid "Failed to load theme \"%s\": %s\n"
msgstr "Nalaganje teme \"%s\" ni uspelo: %s\n"
#: ../src/ui/theme.c:4838
#: ../src/ui/theme.c:4845
#: ../src/ui/theme.c:4852
#: ../src/ui/theme.c:4859
#: ../src/ui/theme.c:4866
#: ../src/ui/theme.c:4828
#: ../src/ui/theme.c:4835
#: ../src/ui/theme.c:4842
#: ../src/ui/theme.c:4849
#: ../src/ui/theme.c:4856
#, c-format
msgid "No <%s> set for theme \"%s\""
msgstr "Ni nastavljen <%s> za temo \"%s\""
#: ../src/ui/theme.c:4874
#: ../src/ui/theme.c:4864
#, c-format
msgid "No frame style set for window type \"%s\" in theme \"%s\", add a <window type=\"%s\" style_set=\"whatever\"/> element"
msgstr "Slog okvirja za okno vrste \"%s\" v temi \"%s\" ni nastavljen, dodajte element <window type=\"%s\" style_set=\"whatever\"/>"
#: ../src/ui/theme.c:5241
#: ../src/ui/theme.c:5303
#: ../src/ui/theme.c:5366
#: ../src/ui/theme.c:5231
#: ../src/ui/theme.c:5293
#: ../src/ui/theme.c:5356
#, c-format
msgid "User-defined constants must begin with a capital letter; \"%s\" does not"
msgstr "Uporabniško določene konstante se morajo začeti z veliko črko; \"%s\" se ne"
#: ../src/ui/theme.c:5249
#: ../src/ui/theme.c:5311
#: ../src/ui/theme.c:5374
#: ../src/ui/theme.c:5239
#: ../src/ui/theme.c:5301
#: ../src/ui/theme.c:5364
#, c-format
msgid "Constant \"%s\" has already been defined"
msgstr "Konstanta \"%s\" je bila že določena"
@ -2585,3 +2569,18 @@ msgstr "Konstanta \"%s\" je bila že določena"
msgid "Usage: %s\n"
msgstr "Uporaba: %s\n"
#~ msgid "Type of %s was not integer"
#~ msgstr "Vrsta %s ni celo število"
#~ msgid ""
#~ "%d stored in GConf key %s is not a reasonable cursor_size; must be in the "
#~ "range 1..128\n"
#~ msgstr ""
#~ "%d, ki je shranjen v ključu GConf %s, ni običajen cursor_size; mora biti "
#~ "število med 1..128\n"
#~ msgid ""
#~ "%d stored in GConf key %s is not a reasonable number of workspaces, "
#~ "current maximum is %d\n"
#~ msgstr ""
#~ "%d shranjen v ključu GConf %s ni normalno število delovnih površin, "
#~ "trenutno največje število je %d\n"

345
po/sv.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: metacity\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-03-08 23:07+0100\n"
"PO-Revision-Date: 2008-03-09 00:43+0100\n"
"POT-Creation-Date: 2008-07-25 23:48+0200\n"
"PO-Revision-Date: 2008-07-25 23:49+0100\n"
"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"MIME-Version: 1.0\n"
@ -50,18 +50,18 @@ msgstr "Förstod inte de avslutande tecknen \"%s\" i strängen \"%s\""
msgid "Failed to parse message \"%s\" from dialog process\n"
msgstr "Misslyckades med att tolka meddelandet \"%s\" från dialogprocess\n"
#: ../src/core/delete.c:270
#: ../src/core/delete.c:253
#, c-format
msgid "Error reading from dialog display process: %s\n"
msgstr "Fel vid läsning från dialogvisningsprocess: %s\n"
# SUN CHANGED MESSAGE
#: ../src/core/delete.c:353
#: ../src/core/delete.c:336
#, c-format
msgid "Error launching metacity-dialog to ask about killing an application: %s\n"
msgstr "Fel vid start av metacity-dialog för att fråga om ett program skulle dödas: %s\n"
#: ../src/core/delete.c:462
#: ../src/core/delete.c:445
#, c-format
msgid "Failed to get hostname: %s\n"
msgstr "Misslyckades med att få tag i värdnamn: %s\n"
@ -71,12 +71,12 @@ msgstr "Misslyckades med att få tag i värdnamn: %s\n"
msgid "Missing %s extension required for compositing"
msgstr "Saknar %s-tillägg som krävs för kompositing"
#: ../src/core/display.c:438
#: ../src/core/display.c:334
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Misslyckades med att öppna X Window System-displayen \"%s\"\n"
#: ../src/core/errors.c:271
#: ../src/core/errors.c:272
#, c-format
msgid ""
"Lost connection to the display '%s';\n"
@ -87,7 +87,7 @@ msgstr ""
"troligtvis stängdes X-servern ner, eller så dödade/förstörde du\n"
"fönsterhanteraren.\n"
#: ../src/core/errors.c:278
#: ../src/core/errors.c:279
#, c-format
msgid "Fatal IO error %d (%s) on display '%s'.\n"
msgstr "Ödesdigert IO-fel %d (%s) på display \"%s\".\n"
@ -97,17 +97,17 @@ msgstr "Ödesdigert IO-fel %d (%s) på display \"%s\".\n"
msgid "Some other program is already using the key %s with modifiers %x as a binding\n"
msgstr "Ett annat program använder redan tangenten %s med modifierarna %x som en bindning\n"
#: ../src/core/keybindings.c:2736
#: ../src/core/keybindings.c:2729
#, c-format
msgid "Error launching metacity-dialog to print an error about a command: %s\n"
msgstr "Fel vid start av metacity-dialog för att skriva ut ett fel om ett kommando: %s\n"
#: ../src/core/keybindings.c:2841
#: ../src/core/keybindings.c:2834
#, c-format
msgid "No command %d has been defined.\n"
msgstr "Inget kommando %d har definierats.\n"
#: ../src/core/keybindings.c:3869
#: ../src/core/keybindings.c:3862
#, c-format
msgid "No terminal command has been defined.\n"
msgstr "Inget terminalkommando har definierats.\n"
@ -163,7 +163,7 @@ msgstr "Misslyckades med att genomsöka temakatalogen: %s\n"
msgid "Could not find a theme! Be sure %s exists and contains the usual themes.\n"
msgstr "Kunde inte hitta ett tema! Försäkra dig om att %s finns och innehåller vanliga teman.\n"
#: ../src/core/main.c:516
#: ../src/core/main.c:500
#, c-format
msgid "Failed to restart: %s\n"
msgstr "Misslyckades med att starta om: %s\n"
@ -176,118 +176,101 @@ msgstr "Misslyckades med att starta om: %s\n"
#. * (We know the old value, so we can look up a suitable string in
#. * the symtab.)
#.
#: ../src/core/prefs.c:450
#: ../src/core/prefs.c:564
#: ../src/core/prefs.c:502
#: ../src/core/prefs.c:654
#, c-format
msgid "GConf key '%s' is set to an invalid value\n"
msgstr "GConf-nyckeln \"%s\" är satt till ett ogiltigt värde\n"
#: ../src/core/prefs.c:583
#: ../src/core/prefs.c:823
#, c-format
msgid "%d stored in GConf key %s is out of range %d to %d\n"
msgstr "%d lagrad i GConf-nyckeln %s är inte i intervallet %d till %d\n"
# SUN CHANGED MESSAGE
#: ../src/core/prefs.c:537
#: ../src/core/prefs.c:607
#: ../src/core/prefs.c:655
#: ../src/core/prefs.c:961
#: ../src/core/prefs.c:979
#: ../src/core/prefs.c:995
#: ../src/core/prefs.c:1014
#: ../src/core/prefs.c:1030
#: ../src/core/prefs.c:1047
#: ../src/core/prefs.c:1064
#: ../src/core/prefs.c:1080
#: ../src/core/prefs.c:1096
#: ../src/core/prefs.c:627
#: ../src/core/prefs.c:701
#: ../src/core/prefs.c:749
#: ../src/core/prefs.c:813
#: ../src/core/prefs.c:1108
#: ../src/core/prefs.c:1124
#: ../src/core/prefs.c:1143
#: ../src/core/prefs.c:1159
#: ../src/core/prefs.c:1176
#: ../src/core/prefs.c:1192
#, c-format
msgid "GConf key \"%s\" is set to an invalid type\n"
msgstr "GConf-nyckeln \"%s\" är satt till en ogiltig typ\n"
#: ../src/core/prefs.c:856
#, c-format
msgid "Type of %s was not integer"
msgstr "Typen för %s var inte ett heltal"
#: ../src/core/prefs.c:1165
#: ../src/core/prefs.c:1262
msgid "Workarounds for broken applications disabled. Some applications may not behave properly.\n"
msgstr "Fixar för trasiga program är inaktiverade. En del program fungerar kanske inte korrekt.\n"
#: ../src/core/prefs.c:1220
#, c-format
msgid "%d stored in GConf key %s is not a reasonable cursor_size; must be in the range 1..128\n"
msgstr "%d lagrad i GConf-nyckeln %s är inte en rimlig cursor_size; måste vara inom intervallet 1..128\n"
#: ../src/core/prefs.c:1246
#: ../src/core/prefs.c:1332
#, c-format
msgid "Could not parse font description \"%s\" from GConf key %s\n"
msgstr "Kunde inte tolka typsnittsbeskrivningen \"%s\" från GConf-nyckeln %s\n"
#: ../src/core/prefs.c:1306
#: ../src/core/prefs.c:1392
#, c-format
msgid "\"%s\" found in configuration database is not a valid value for mouse button modifier\n"
msgstr "\"%s\" som hittades i konfigurationsdatabasen är inte ett giltigt värde för musknappsmodifierare\n"
#: ../src/core/prefs.c:1585
#, c-format
msgid "%d stored in GConf key %s is not a reasonable number of workspaces, current maximum is %d\n"
msgstr "%d lagrad i GConf-nyckeln %s är inte ett rimligt antal arbetsytor, aktuellt maxvärde är %d\n"
#: ../src/core/prefs.c:1629
#, c-format
msgid "%d stored in GConf key %s is out of range 0 to %d\n"
msgstr "%d lagrad i GConf-nyckeln %s är inte i intervallet 0 till %d\n"
#: ../src/core/prefs.c:1760
#: ../src/core/prefs.c:1809
#, c-format
msgid "Error setting number of workspaces to %d: %s\n"
msgstr "Fel vid inställning av antalet arbetsytor till %d: %s\n"
#: ../src/core/prefs.c:2125
#: ../src/core/prefs.c:2637
#: ../src/ui/menu.c:199
#: ../src/core/prefs.c:2174
#: ../src/core/prefs.c:2686
#, c-format
msgid "Workspace %d"
msgstr "Arbetsyta %d"
#: ../src/core/prefs.c:2155
#: ../src/core/prefs.c:2328
#: ../src/core/prefs.c:2204
#: ../src/core/prefs.c:2377
#, c-format
msgid "\"%s\" found in configuration database is not a valid value for keybinding \"%s\"\n"
msgstr "\"%s\" som hittades i konfigurationsdatabasen är inte ett giltigt värde för tangentbindningen \"%s\"\n"
#: ../src/core/prefs.c:2718
#: ../src/core/prefs.c:2767
#, c-format
msgid "Error setting name for workspace %d to \"%s\": %s\n"
msgstr "Fel vid inställning av namnet på arbetsyta %d till \"%s\": %s\n"
#: ../src/core/screen.c:410
#: ../src/core/screen.c:350
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Skärm %d på display \"%s\" är ogiltig\n"
#: ../src/core/screen.c:426
#: ../src/core/screen.c:366
#, c-format
msgid "Screen %d on display \"%s\" already has a window manager; try using the --replace option to replace the current window manager.\n"
msgstr "Skärm %d på display \"%s\" har redan en fönsterhanterare; försök med flaggan --replace för att ersätta den aktuella fönsterhanteraren.\n"
#: ../src/core/screen.c:453
#: ../src/core/screen.c:393
#, c-format
msgid "Could not acquire window manager selection on screen %d display \"%s\"\n"
msgstr "Kunde inte få tag i fönsterhanterarval på skärm %d display \"%s\"\n"
#: ../src/core/screen.c:511
#: ../src/core/screen.c:451
#, c-format
msgid "Screen %d on display \"%s\" already has a window manager\n"
msgstr "Skärm %d på display \"%s\" har redan en fönsterhanterare\n"
#: ../src/core/screen.c:721
#: ../src/core/screen.c:661
#, c-format
msgid "Could not release screen %d on display \"%s\"\n"
msgstr "Kunde inte släppa skärm %d på display \"%s\"\n"
#: ../src/core/session.c:826
#: ../src/core/session.c:833
#: ../src/core/session.c:837
#: ../src/core/session.c:844
#, c-format
msgid "Could not create directory '%s': %s\n"
msgstr "Kunde inte skapa katalogen \"%s\": %s\n"
#: ../src/core/session.c:843
#: ../src/core/session.c:854
#, c-format
msgid "Could not open session file '%s' for writing: %s\n"
msgstr "Kunde inte öppna sessionsfilen \"%s\" för skrivning: %s\n"
@ -302,56 +285,57 @@ msgstr "Fel vid skrivning av sessionsfilen \"%s\": %s\n"
msgid "Error closing session file '%s': %s\n"
msgstr "Fel vid stängning av sessionsfilen \"%s\": %s\n"
#: ../src/core/session.c:1075
#. oh, just give up
#: ../src/core/session.c:1093
#, c-format
msgid "Failed to read saved session file %s: %s\n"
msgstr "Misslyckades med att läsa sparad sessionsfil %s: %s\n"
#: ../src/core/session.c:1110
#: ../src/core/session.c:1132
#, c-format
msgid "Failed to parse saved session file: %s\n"
msgstr "Misslyckades med att tolka sparad sessionsfil: %s\n"
#: ../src/core/session.c:1159
#: ../src/core/session.c:1181
#, c-format
msgid "<metacity_session> attribute seen but we already have the session ID"
msgstr "<metacity_session>-attribut hittat men vi har redan sessions-ID"
# SUN CHANGED MESSAGE
#: ../src/core/session.c:1172
#: ../src/core/session.c:1194
#, c-format
msgid "Unknown attribute %s on <metacity_session> element"
msgstr "Okänt attribut %s i <metacity_session>-element"
#: ../src/core/session.c:1189
#: ../src/core/session.c:1211
#, c-format
msgid "nested <window> tag"
msgstr "nästlad <window>-tagg"
# SUN CHANGED MESSAGE
#: ../src/core/session.c:1247
#: ../src/core/session.c:1279
#: ../src/core/session.c:1269
#: ../src/core/session.c:1301
#, c-format
msgid "Unknown attribute %s on <window> element"
msgstr "Okänt attribut %s i <window>-element"
#: ../src/core/session.c:1351
#: ../src/core/session.c:1373
#, c-format
msgid "Unknown attribute %s on <maximized> element"
msgstr "Okänt attribut %s i <maximized>-element"
# SUN CHANGED MESSAGE
#: ../src/core/session.c:1411
#: ../src/core/session.c:1433
#, c-format
msgid "Unknown attribute %s on <geometry> element"
msgstr "Okänt attribut %s i <geometry>-element"
#: ../src/core/session.c:1431
#: ../src/core/session.c:1453
#, c-format
msgid "Unknown element %s"
msgstr "Okänt element %s"
#: ../src/core/session.c:1868
#: ../src/core/session.c:1879
#, c-format
msgid "Error launching metacity-dialog to warn about apps that don't support session management: %s\n"
msgstr "Fel vid start av metacity-dialog för att varna om program som inte stöder sessionshantering: %s\n"
@ -393,23 +377,23 @@ msgstr "Fönsterhanterarvarning: "
msgid "Window manager error: "
msgstr "Fönsterhanterarfel: "
#: ../src/core/window-props.c:195
#: ../src/core/window-props.c:206
#, c-format
msgid "Application set a bogus _NET_WM_PID %lu\n"
msgstr "Programmet ställde in ett felaktigt _NET_WM_PID %lu\n"
#: ../src/core/window-props.c:327
#: ../src/core/window-props.c:338
#, c-format
msgid "%s (on %s)"
msgstr "%s (på %s)"
#: ../src/core/window-props.c:1409
#: ../src/core/window-props.c:1420
#, c-format
msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
msgstr "Ogiltigt WM_TRANSIENT_FOR-fönster 0x%lx angivet för %s.\n"
#. first time through
#: ../src/core/window.c:5653
#: ../src/core/window.c:5648
#, c-format
msgid "Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER window as specified in the ICCCM.\n"
msgstr "Fönstret %s ställer in SM_CLIENT_ID på sig själv, istället för på WM_CLIENT_LEADER-fönstret som är angivet i ICCCM.\n"
@ -421,7 +405,7 @@ msgstr "Fönstret %s ställer in SM_CLIENT_ID på sig själv, istället för på
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
#. * about these apps but make them work.
#.
#: ../src/core/window.c:6218
#: ../src/core/window.c:6213
#, c-format
msgid "Window %s sets an MWM hint indicating it isn't resizable, but sets min size %d x %d and max size %d x %d; this doesn't make much sense.\n"
msgstr "Fönstret %s ställer in ett MWM-tips som anger att det inte går att ändra storlek på, men ställer in minsta storleken %d × %d och största storleken %d × %d; detta verkar inte vettigt.\n"
@ -1360,7 +1344,7 @@ msgstr "Alltid _överst"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/ui/menu.c:91
msgid "_Always on Visible Workspace"
msgstr "_Alltid på synlig arbetsyta"
msgstr "Alltid på _synlig arbetsyta"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/ui/menu.c:93
@ -1391,19 +1375,24 @@ msgstr "Flytta till arbetsyta _nedanför"
#. Translators: Translate this string the same way as you do in libwnck!
#: ../src/ui/menu.c:105
msgid "_Close"
msgstr "_Stäng"
msgstr "S_täng"
#: ../src/ui/menu.c:208
#: ../src/ui/menu.c:203
#, c-format
msgid "Workspace %d%n"
msgstr "Arbetsyta %d%n"
#: ../src/ui/menu.c:213
#, c-format
msgid "Workspace 1_0"
msgstr "Arbetsyta 1_0"
#: ../src/ui/menu.c:210
#: ../src/ui/menu.c:215
#, c-format
msgid "Workspace %s%d"
msgstr "Arbetsyta %s%d"
#: ../src/ui/menu.c:390
#: ../src/ui/menu.c:395
msgid "Move to Another _Workspace"
msgstr "Flytta till en annan _arbetsyta"
@ -2152,194 +2141,194 @@ msgstr "Misslyckades med att hitta en giltig fil för temat %s\n"
msgid "Theme file %s did not contain a root <metacity_theme> element"
msgstr "Temafilen %s innehöll inte ett <metacity_theme>-rotelement"
#: ../src/ui/theme-viewer.c:74
#: ../src/ui/theme-viewer.c:75
msgid "/_Windows"
msgstr "/_Fönster"
#: ../src/ui/theme-viewer.c:75
#: ../src/ui/theme-viewer.c:76
msgid "/Windows/tearoff"
msgstr "/Fönster/avskiljare"
#: ../src/ui/theme-viewer.c:76
#: ../src/ui/theme-viewer.c:77
msgid "/Windows/_Dialog"
msgstr "/Fönster/_Dialogruta"
#: ../src/ui/theme-viewer.c:77
#: ../src/ui/theme-viewer.c:78
msgid "/Windows/_Modal dialog"
msgstr "/Fönster/_Modal dialogruta"
#: ../src/ui/theme-viewer.c:78
#: ../src/ui/theme-viewer.c:79
msgid "/Windows/_Utility"
msgstr "/Fönster/_Verktyg"
#: ../src/ui/theme-viewer.c:79
#: ../src/ui/theme-viewer.c:80
msgid "/Windows/_Splashscreen"
msgstr "/Fönster/_Startbild"
#: ../src/ui/theme-viewer.c:80
#: ../src/ui/theme-viewer.c:81
msgid "/Windows/_Top dock"
msgstr "/Fönster/_Övre docka"
#: ../src/ui/theme-viewer.c:81
#: ../src/ui/theme-viewer.c:82
msgid "/Windows/_Bottom dock"
msgstr "/Fönster/_Nedre docka"
#: ../src/ui/theme-viewer.c:82
#: ../src/ui/theme-viewer.c:83
msgid "/Windows/_Left dock"
msgstr "/Fönster/_Vänster docka"
#: ../src/ui/theme-viewer.c:83
#: ../src/ui/theme-viewer.c:84
msgid "/Windows/_Right dock"
msgstr "/Fönster/_Höger docka"
#: ../src/ui/theme-viewer.c:84
#: ../src/ui/theme-viewer.c:85
msgid "/Windows/_All docks"
msgstr "/Fönster/_Alla dockor"
#: ../src/ui/theme-viewer.c:85
#: ../src/ui/theme-viewer.c:86
msgid "/Windows/Des_ktop"
msgstr "/Fönster/S_krivbord"
#: ../src/ui/theme-viewer.c:134
#: ../src/ui/theme-viewer.c:135
msgid "Open another one of these windows"
msgstr "Öppna ytterligare ett över dessa fönster"
#: ../src/ui/theme-viewer.c:141
#: ../src/ui/theme-viewer.c:142
msgid "This is a demo button with an 'open' icon"
msgstr "Detta är en exempelknapp med en \"öppna\"-ikon"
#: ../src/ui/theme-viewer.c:148
#: ../src/ui/theme-viewer.c:149
msgid "This is a demo button with a 'quit' icon"
msgstr "Detta är en exempelknapp med en \"avsluta\"-ikon"
#: ../src/ui/theme-viewer.c:241
#: ../src/ui/theme-viewer.c:242
msgid "This is a sample message in a sample dialog"
msgstr "Detta är ett exempelmeddelande i en exempelkatalog"
#: ../src/ui/theme-viewer.c:324
#: ../src/ui/theme-viewer.c:325
#, c-format
msgid "Fake menu item %d\n"
msgstr "Falskt menyobjekt %d\n"
#: ../src/ui/theme-viewer.c:358
#: ../src/ui/theme-viewer.c:359
msgid "Border-only window"
msgstr "Fönster med endast ram"
#: ../src/ui/theme-viewer.c:360
#: ../src/ui/theme-viewer.c:361
msgid "Bar"
msgstr "Rad"
#: ../src/ui/theme-viewer.c:377
#: ../src/ui/theme-viewer.c:378
msgid "Normal Application Window"
msgstr "Normalt programfönster"
#: ../src/ui/theme-viewer.c:381
#: ../src/ui/theme-viewer.c:382
msgid "Dialog Box"
msgstr "Dialogruta"
#: ../src/ui/theme-viewer.c:385
#: ../src/ui/theme-viewer.c:386
msgid "Modal Dialog Box"
msgstr "Modalt dialogfönster"
#: ../src/ui/theme-viewer.c:389
#: ../src/ui/theme-viewer.c:390
msgid "Utility Palette"
msgstr "Verktygspalett"
#: ../src/ui/theme-viewer.c:393
#: ../src/ui/theme-viewer.c:394
msgid "Torn-off Menu"
msgstr "Avtagen meny"
#: ../src/ui/theme-viewer.c:397
#: ../src/ui/theme-viewer.c:398
msgid "Border"
msgstr "Ram"
#: ../src/ui/theme-viewer.c:725
#: ../src/ui/theme-viewer.c:726
#, c-format
msgid "Button layout test %d"
msgstr "Test %d av knapplayout"
#: ../src/ui/theme-viewer.c:754
#: ../src/ui/theme-viewer.c:755
#, c-format
msgid "%g milliseconds to draw one window frame"
msgstr "%g millisekunder för att rita en fönsterram"
#: ../src/ui/theme-viewer.c:797
#: ../src/ui/theme-viewer.c:798
#, c-format
msgid "Usage: metacity-theme-viewer [THEMENAME]\n"
msgstr "Användning: metacity-theme-viewer [TEMANAMN]\n"
#: ../src/ui/theme-viewer.c:804
#: ../src/ui/theme-viewer.c:805
#, c-format
msgid "Error loading theme: %s\n"
msgstr "Fel vid inläsning av tema: %s\n"
#: ../src/ui/theme-viewer.c:810
#: ../src/ui/theme-viewer.c:811
#, c-format
msgid "Loaded theme \"%s\" in %g seconds\n"
msgstr "Läste in temat \"%s\" på %g sekunder\n"
#: ../src/ui/theme-viewer.c:833
#: ../src/ui/theme-viewer.c:852
msgid "Normal Title Font"
msgstr "Normalt titeltypsnitt"
#: ../src/ui/theme-viewer.c:839
#: ../src/ui/theme-viewer.c:858
msgid "Small Title Font"
msgstr "Litet titeltypsnitt"
#: ../src/ui/theme-viewer.c:845
#: ../src/ui/theme-viewer.c:864
msgid "Large Title Font"
msgstr "Stort titeltypsnitt"
#: ../src/ui/theme-viewer.c:850
#: ../src/ui/theme-viewer.c:869
msgid "Button Layouts"
msgstr "Knapplayouter"
#: ../src/ui/theme-viewer.c:855
#: ../src/ui/theme-viewer.c:874
msgid "Benchmark"
msgstr "Prestandatest"
#: ../src/ui/theme-viewer.c:902
#: ../src/ui/theme-viewer.c:921
msgid "Window Title Goes Here"
msgstr "Fönstertitel hamnar här"
#: ../src/ui/theme-viewer.c:1006
#: ../src/ui/theme-viewer.c:1025
#, c-format
msgid "Drew %d frames in %g client-side seconds (%g milliseconds per frame) and %g seconds wall clock time including X server resources (%g milliseconds per frame)\n"
msgstr "Ritade %d ramar på %g sekunder på klientsidan (%g millisekunder per ram) och %g sekunder väggklockstid inklusive X-serverresurser (%g millisekunder per ram)\n"
#: ../src/ui/theme-viewer.c:1225
#: ../src/ui/theme-viewer.c:1244
msgid "position expression test returned TRUE but set error"
msgstr "test av positionsuttryck returnerade SANT men satte fel"
#: ../src/ui/theme-viewer.c:1227
#: ../src/ui/theme-viewer.c:1246
msgid "position expression test returned FALSE but didn't set error"
msgstr "test av positionsuttryck returnerade FALSKT men satte inte fel"
#: ../src/ui/theme-viewer.c:1231
#: ../src/ui/theme-viewer.c:1250
msgid "Error was expected but none given"
msgstr "Fel förväntades men gavs inte"
#: ../src/ui/theme-viewer.c:1233
#: ../src/ui/theme-viewer.c:1252
#, c-format
msgid "Error %d was expected but %d given"
msgstr "Fel %d förväntades men %d givet"
#: ../src/ui/theme-viewer.c:1239
#: ../src/ui/theme-viewer.c:1258
#, c-format
msgid "Error not expected but one was returned: %s"
msgstr "Fel förväntades inte men ett returnerades: %s"
#: ../src/ui/theme-viewer.c:1243
#: ../src/ui/theme-viewer.c:1262
#, c-format
msgid "x value was %d, %d was expected"
msgstr "x-värdet var %d, %d förväntades"
#: ../src/ui/theme-viewer.c:1246
#: ../src/ui/theme-viewer.c:1265
#, c-format
msgid "y value was %d, %d was expected"
msgstr "y-värdet var %d, %d förväntades"
#: ../src/ui/theme-viewer.c:1311
#: ../src/ui/theme-viewer.c:1330
#, c-format
msgid "%d coordinate expressions parsed in %g seconds (%g seconds average)\n"
msgstr "%d koordinatuttryck tolkades på %g sekunder (%g sekunder i medelvärde)\n"
@ -2420,156 +2409,156 @@ msgstr "Kunde inte tolka alfavärdet \"%s\" i blandad färg"
msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
msgstr "Alfavärdet \"%s\" i blandad färg är inte mellan 0,0 och 1,0"
#: ../src/ui/theme.c:1285
#: ../src/ui/theme.c:1284
#, c-format
msgid "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the format"
msgstr "Skuggformatet är \"shade/base_color/factor\", \"%s\" passar inte med formatet"
#: ../src/ui/theme.c:1296
#: ../src/ui/theme.c:1295
#, c-format
msgid "Could not parse shade factor \"%s\" in shaded color"
msgstr "Kunde inte tolka skuggfaktorn \"%s\" i skuggad färg"
#: ../src/ui/theme.c:1306
#: ../src/ui/theme.c:1305
#, c-format
msgid "Shade factor \"%s\" in shaded color is negative"
msgstr "Skuggfaktorn \"%s\" i skuggad färg är negativ"
#: ../src/ui/theme.c:1336
#: ../src/ui/theme.c:1334
#, c-format
msgid "Could not parse color \"%s\""
msgstr "Kunde inte tolka färgen \"%s\""
#: ../src/ui/theme.c:1594
#: ../src/ui/theme.c:1584
#, c-format
msgid "Coordinate expression contains character '%s' which is not allowed"
msgstr "Koordinatuttrycket innehåller tecknet \"%s\" vilket inte är tillåtet"
#: ../src/ui/theme.c:1621
#: ../src/ui/theme.c:1611
#, c-format
msgid "Coordinate expression contains floating point number '%s' which could not be parsed"
msgstr "Koordinatuttrycket innehåller flyttalet \"%s\" som inte kunde tolkas"
#: ../src/ui/theme.c:1635
#: ../src/ui/theme.c:1625
#, c-format
msgid "Coordinate expression contains integer '%s' which could not be parsed"
msgstr "Koordinatuttrycket innehåller heltalet \"%s\" som inte kunde tolkas"
#: ../src/ui/theme.c:1757
#: ../src/ui/theme.c:1747
#, c-format
msgid "Coordinate expression contained unknown operator at the start of this text: \"%s\""
msgstr "Koordinatuttrycket hade en okänd operand vid början av denna text: \"%s\""
#: ../src/ui/theme.c:1814
#: ../src/ui/theme.c:1804
#, c-format
msgid "Coordinate expression was empty or not understood"
msgstr "Koordinatuttrycket var tomt eller förstods inte"
#: ../src/ui/theme.c:1915
#: ../src/ui/theme.c:1925
#: ../src/ui/theme.c:1935
#: ../src/ui/theme.c:1969
#: ../src/ui/theme.c:1959
#, c-format
msgid "Coordinate expression results in division by zero"
msgstr "Koordinatuttrycket resulterar i division med noll"
#: ../src/ui/theme.c:1977
#: ../src/ui/theme.c:1967
#, c-format
msgid "Coordinate expression tries to use mod operator on a floating-point number"
msgstr "Koordinatuttrycket försöker använda mod-operator på ett flyttal"
#: ../src/ui/theme.c:2033
#: ../src/ui/theme.c:2023
#, c-format
msgid "Coordinate expression has an operator \"%s\" where an operand was expected"
msgstr "Koordinatuttrycket har en operator \"%s\" där en operand förväntades"
#: ../src/ui/theme.c:2042
#: ../src/ui/theme.c:2032
#, c-format
msgid "Coordinate expression had an operand where an operator was expected"
msgstr "Koordinatuttrycket hade en operand där en operator förväntades"
#: ../src/ui/theme.c:2050
#: ../src/ui/theme.c:2040
#, c-format
msgid "Coordinate expression ended with an operator instead of an operand"
msgstr "Koordinatuttrycket slutade med en operator istället för en operand"
#: ../src/ui/theme.c:2060
#: ../src/ui/theme.c:2050
#, c-format
msgid "Coordinate expression has operator \"%c\" following operator \"%c\" with no operand in between"
msgstr "Koordinatuttrycket har en operator \"%c\" som följer på operatorn \"%c\" utan någon operand imellan"
#: ../src/ui/theme.c:2207
#: ../src/ui/theme.c:2248
#: ../src/ui/theme.c:2197
#: ../src/ui/theme.c:2238
#, c-format
msgid "Coordinate expression had unknown variable or constant \"%s\""
msgstr "Koordinatuttrycket hade en okänd variabel eller konstant \"%s\""
#: ../src/ui/theme.c:2302
#: ../src/ui/theme.c:2292
#, c-format
msgid "Coordinate expression parser overflowed its buffer."
msgstr "Koordinatuttryckstolkaren överflödade sin buffert."
#: ../src/ui/theme.c:2331
#: ../src/ui/theme.c:2321
#, c-format
msgid "Coordinate expression had a close parenthesis with no open parenthesis"
msgstr "Koordinatuttrycket hade en stängningsparentes utan någon öppningsparentes"
#: ../src/ui/theme.c:2395
#: ../src/ui/theme.c:2385
#, c-format
msgid "Coordinate expression had an open parenthesis with no close parenthesis"
msgstr "Koordinatuttrycket hade en öppningsparentes utan någon stängningsparentes"
#: ../src/ui/theme.c:2406
#: ../src/ui/theme.c:2396
#, c-format
msgid "Coordinate expression doesn't seem to have any operators or operands"
msgstr "Koordinatuttrycket verkar inte ha några operatorer eller operander"
#: ../src/ui/theme.c:2608
#: ../src/ui/theme.c:2628
#: ../src/ui/theme.c:2648
#: ../src/ui/theme.c:2598
#: ../src/ui/theme.c:2618
#: ../src/ui/theme.c:2638
#, c-format
msgid "Theme contained an expression that resulted in an error: %s\n"
msgstr "Temat innehöll ett uttryck som resulterade i ett fel: %s\n"
#: ../src/ui/theme.c:4167
#: ../src/ui/theme.c:4157
#, c-format
msgid "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be specified for this frame style"
msgstr "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> måste anges för denna ramtyp"
#: ../src/ui/theme.c:4643
#: ../src/ui/theme.c:4668
#: ../src/ui/theme.c:4633
#: ../src/ui/theme.c:4658
#, c-format
msgid "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/>"
msgstr "<frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/> saknas"
#: ../src/ui/theme.c:4712
#: ../src/ui/theme.c:4702
#, c-format
msgid "Failed to load theme \"%s\": %s\n"
msgstr "Misslyckades med att läsa in temat \"%s\": %s\n"
#: ../src/ui/theme.c:4838
#: ../src/ui/theme.c:4845
#: ../src/ui/theme.c:4852
#: ../src/ui/theme.c:4859
#: ../src/ui/theme.c:4866
#: ../src/ui/theme.c:4828
#: ../src/ui/theme.c:4835
#: ../src/ui/theme.c:4842
#: ../src/ui/theme.c:4849
#: ../src/ui/theme.c:4856
#, c-format
msgid "No <%s> set for theme \"%s\""
msgstr "Inget <%s> angivet för temat \"%s\""
#: ../src/ui/theme.c:4874
#: ../src/ui/theme.c:4864
#, c-format
msgid "No frame style set for window type \"%s\" in theme \"%s\", add a <window type=\"%s\" style_set=\"whatever\"/> element"
msgstr "Ingen ramstil angiven för fönstertypen \"%s\" i temat \"%s\", lägg till ett <window type=\"%s\" style_set=\"whatever\"/>-element"
#: ../src/ui/theme.c:5241
#: ../src/ui/theme.c:5303
#: ../src/ui/theme.c:5366
#: ../src/ui/theme.c:5231
#: ../src/ui/theme.c:5293
#: ../src/ui/theme.c:5356
#, c-format
msgid "User-defined constants must begin with a capital letter; \"%s\" does not"
msgstr "Användardefinierade konstanter måste börja med en stor bokstav; \"%s\" gör det inte"
#: ../src/ui/theme.c:5249
#: ../src/ui/theme.c:5311
#: ../src/ui/theme.c:5374
#: ../src/ui/theme.c:5239
#: ../src/ui/theme.c:5301
#: ../src/ui/theme.c:5364
#, c-format
msgid "Constant \"%s\" has already been defined"
msgstr "Konstanten \"%s\" har redan definierats"
@ -2579,6 +2568,20 @@ msgstr "Konstanten \"%s\" har redan definierats"
msgid "Usage: %s\n"
msgstr "Användning: %s\n"
#~ msgid "Type of %s was not integer"
#~ msgstr "Typen för %s var inte ett heltal"
#~ msgid ""
#~ "%d stored in GConf key %s is not a reasonable cursor_size; must be in the "
#~ "range 1..128\n"
#~ msgstr ""
#~ "%d lagrad i GConf-nyckeln %s är inte en rimlig cursor_size; måste vara "
#~ "inom intervallet 1..128\n"
#~ msgid ""
#~ "%d stored in GConf key %s is not a reasonable number of workspaces, "
#~ "current maximum is %d\n"
#~ msgstr ""
#~ "%d lagrad i GConf-nyckeln %s är inte ett rimligt antal arbetsytor, "
#~ "aktuellt maxvärde är %d\n"
#~ msgid ""
#~ "Setting this option to false can lead to buggy behavior, so users are "
#~ "strongly discouraged from changing it from the default of true. Many "

449
po/th.po

File diff suppressed because it is too large Load Diff

View File

@ -478,18 +478,28 @@ make_shadow (MetaDisplay *display,
Display *xdisplay = meta_display_get_xdisplay (display);
XImage *ximage;
guchar *data;
shadow *shad = info->shadows[shadow_type];
int msize = shad->gaussian_map->size;
shadow *shad;
int msize;
int ylimit, xlimit;
int swidth = width + msize;
int sheight = height + msize;
int centre = msize / 2;
int swidth, sheight;
int centre;
int x, y;
guchar d;
int x_diff;
int opacity_int = (int)(opacity * 25);
int screen_number = meta_screen_get_screen_number (screen);
if (info==NULL)
{
return NULL;
}
shad = info->shadows[shadow_type];
msize = shad->gaussian_map->size;
swidth = width + msize;
sheight = height + msize;
centre = msize / 2;
data = g_malloc (swidth * sheight * sizeof (guchar));
ximage = XCreateImage (xdisplay, DefaultVisual (xdisplay, screen_number),
@ -824,6 +834,11 @@ create_root_buffer (MetaScreen *screen)
Visual *visual;
int depth, screen_width, screen_height, screen_number;
if (info == NULL)
{
return None;
}
meta_screen_get_size (screen, &screen_width, &screen_height);
screen_number = meta_screen_get_screen_number (screen);
visual = DefaultVisual (xdisplay, screen_number);
@ -851,6 +866,11 @@ paint_root (MetaScreen *screen,
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
int width, height;
if (info == NULL)
{
return;
}
g_return_if_fail (root_buffer != None);
if (info->root_tile == None)
@ -869,7 +889,7 @@ window_has_shadow (MetaCompWindow *cw)
{
MetaCompScreen *info = meta_screen_get_compositor_data (cw->screen);
if (info->have_shadows == FALSE)
if (info == NULL || info->have_shadows == FALSE)
return FALSE;
/* Always put a shadow around windows with a frame - This should override
@ -1070,6 +1090,11 @@ paint_dock_shadows (MetaScreen *screen,
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
GSList *d;
if (info == NULL)
{
return;
}
for (d = info->dock_windows; d; d = d->next)
{
MetaCompWindow *cw = d->data;
@ -1109,6 +1134,11 @@ paint_windows (MetaScreen *screen,
MetaCompWindow *cw;
XserverRegion paint_region, desktop_region;
if (info == NULL)
{
return;
}
meta_screen_get_size (screen, &screen_width, &screen_height);
screen_number = meta_screen_get_screen_number (screen);
xroot = meta_screen_get_xroot (screen);
@ -1364,7 +1394,7 @@ repair_screen (MetaScreen *screen)
MetaDisplay *display = meta_screen_get_display (screen);
Display *xdisplay = meta_display_get_xdisplay (display);
if (info->all_damage != None)
if (info!=NULL && info->all_damage != None)
{
meta_error_trap_push (display);
paint_all (screen, info->all_damage);
@ -1436,7 +1466,7 @@ add_damage (MetaScreen *screen,
/* dump_xserver_region ("add_damage", display, damage); */
if (info->all_damage)
if (info != NULL && info->all_damage)
{
XFixesUnionRegion (xdisplay, info->all_damage, info->all_damage, damage);
XFixesDestroyRegion (xdisplay, damage);
@ -1579,7 +1609,7 @@ free_win (MetaCompWindow *cw,
/* The window may not have been added to the list in this case,
but we can check anyway */
if (cw->type == META_COMP_WINDOW_DOCK)
if (info!=NULL && cw->type == META_COMP_WINDOW_DOCK)
info->dock_windows = g_slist_remove (info->dock_windows, cw);
g_free (cw);
@ -1626,7 +1656,7 @@ unmap_win (MetaDisplay *display,
MetaCompWindow *cw = find_window_for_screen (screen, id);
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
if (cw == NULL)
if (cw == NULL || info == NULL)
{
return;
}
@ -1878,8 +1908,11 @@ destroy_win (MetaDisplay *display,
}
info = meta_screen_get_compositor_data (screen);
if (info != NULL)
{
info->windows = g_list_remove (info->windows, (gconstpointer) cw);
g_hash_table_remove (info->windows_by_xid, (gpointer) xwindow);
}
free_win (cw, TRUE);
}
@ -1896,6 +1929,11 @@ restack_win (MetaCompWindow *cw,
screen = cw->screen;
info = meta_screen_get_compositor_data (screen);
if (info == NULL)
{
return;
}
sibling = g_list_find (info->windows, (gconstpointer) cw);
next = g_list_next (sibling);
previous_above = None;
@ -2045,8 +2083,11 @@ resize_win (MetaCompWindow *cw,
dump_xserver_region ("resize_win", display, damage);
add_damage (screen, damage);
if (info != NULL)
{
info->clip_changed = TRUE;
}
}
/* event processors must all be called with an error trap in place */
static void
@ -2075,7 +2116,10 @@ process_circulate_notify (MetaCompositorXRender *compositor,
above = None;
restack_win (cw, above);
if (info != NULL)
{
info->clip_changed = TRUE;
}
#ifdef USE_IDLE_REPAINT
add_repair (compositor->display);
@ -2133,7 +2177,7 @@ process_configure_notify (MetaCompositorXRender *compositor,
return;
info = meta_screen_get_compositor_data (screen);
if (info->root_buffer)
if (info != NULL && info->root_buffer)
{
XRenderFreePicture (xdisplay, info->root_buffer);
info->root_buffer = None;
@ -2167,7 +2211,7 @@ process_property_notify (MetaCompositorXRender *compositor,
MetaCompScreen *info = meta_screen_get_compositor_data (screen);
Window xroot = meta_screen_get_xroot (screen);
if (info->root_tile)
if (info != NULL && info->root_tile)
{
XClearArea (xdisplay, xroot, 0, 0, 0, 0, TRUE);
XRenderFreePicture (xdisplay, info->root_tile);
@ -2653,6 +2697,11 @@ xrender_destroy (MetaCompositor *compositor)
#endif
}
#if 0
/* Taking these out because they're empty and never called, and the
* compiler complains -- tthurman
*/
static void
xrender_begin_move (MetaCompositor *compositor,
MetaWindow *window,
@ -2697,6 +2746,7 @@ xrender_free_window (MetaCompositor *compositor,
/* destroy_win (compositor->display, window->xwindow, FALSE); */
#endif
}
#endif /* 0 */
static void
xrender_process_event (MetaCompositor *compositor,
@ -2752,8 +2802,10 @@ xrender_process_event (MetaCompositor *compositor,
default:
if (event->type == meta_display_get_damage_event_base (xrc->display) + XDamageNotify)
process_damage (xrc, (XDamageNotifyEvent *) event);
#ifdef HAVE_SHAPE
else if (event->type == meta_display_get_shape_event_base (xrc->display) + ShapeNotify)
process_shape (xrc, (XShapeEvent *) event);
#endif /* HAVE_SHAPE */
else
{
meta_error_trap_pop (xrc->display, FALSE);
@ -2809,8 +2861,8 @@ xrender_set_active_window (MetaCompositor *compositor,
MetaDisplay *display;
Display *xdisplay;
MetaCompWindow *old_focus = NULL, *new_focus = NULL;
MetaCompScreen *info;
MetaWindow *old_focus_win;
MetaCompScreen *info = NULL;
MetaWindow *old_focus_win = NULL;
if (compositor == NULL)
return;
@ -2818,7 +2870,11 @@ xrender_set_active_window (MetaCompositor *compositor,
display = xrc->display;
xdisplay = meta_display_get_xdisplay (display);
info = meta_screen_get_compositor_data (screen);
if (info != NULL)
{
old_focus_win = info->focus_window;
}
if (old_focus_win)
{
@ -2837,7 +2893,11 @@ xrender_set_active_window (MetaCompositor *compositor,
meta_window_get_xwindow (window));
}
if (info != NULL)
{
info->focus_window = window;
}
if (old_focus)
{
XserverRegion damage;
@ -2878,9 +2938,12 @@ xrender_set_active_window (MetaCompositor *compositor,
dump_xserver_region ("resize_win", display, damage);
add_damage (screen, damage);
if (info != NULL)
{
info->clip_changed = TRUE;
}
}
}
if (new_focus)
{
@ -2919,8 +2982,11 @@ xrender_set_active_window (MetaCompositor *compositor,
dump_xserver_region ("resize_win", display, damage);
add_damage (screen, damage);
if (info != NULL)
{
info->clip_changed = TRUE;
}
}
#ifdef USE_IDLE_REPAINT
add_repair (display);
#endif

View File

@ -23,7 +23,7 @@
*/
/**
* \file core/bell.c Ring the bell or flash the screen
* \file bell.c Ring the bell or flash the screen
*
* Sometimes, X programs "ring the bell", whatever that means. Metacity lets
* the user configure the bell to be audible or visible (aka visual), and
@ -31,13 +31,13 @@
* We never get told about audible bells; X handles them just fine by itself.
*
* Visual bells come in at meta_bell_notify(), which checks we are actually
* in visual mode and calls through to meta_bell_visual_notify(). That
* in visual mode and calls through to bell_visual_notify(). That
* function then checks what kind of visual flash you like, and calls either
* meta_bell_flash_fullscreen()-- which calls meta_bell_flash_screen() to do
* its work-- or meta_bell_flash_frame(), which flashes the focussed window
* using meta_bell_flash_window_frame(), unless there is no such window, in
* which case it flashes the screen instead. meta_bell_flash_window_frame()
* flashes the frame and calls meta_bell_unflash_frame() as a timeout to
* bell_flash_fullscreen()-- which calls bell_flash_screen() to do
* its work-- or bell_flash_frame(), which flashes the focussed window
* using bell_flash_window_frame(), unless there is no such window, in
* which case it flashes the screen instead. bell_flash_window_frame()
* flashes the frame and calls bell_unflash_frame() as a timeout to
* remove the flash.
*
* The visual bell was the result of a discussion in Bugzilla here:
@ -46,8 +46,6 @@
* Several of the functions in this file are ifdeffed out entirely if we are
* found not to have the XKB extension, which is required to do these clever
* things with bells; some others are entirely no-ops in that case.
*
* \bug Static functions should not be called meta_*.
*/
#include <config.h>
@ -74,7 +72,7 @@
* \bug This appears to destroy our current XSync status.
*/
static void
meta_bell_flash_screen (MetaDisplay *display,
bell_flash_screen (MetaDisplay *display,
MetaScreen *screen)
{
Window root = screen->xroot;
@ -147,7 +145,7 @@ meta_bell_flash_screen (MetaDisplay *display,
*/
#ifdef HAVE_XKB
static void
meta_bell_flash_fullscreen (MetaDisplay *display,
bell_flash_fullscreen (MetaDisplay *display,
XkbAnyEvent *xkb_ev)
{
XkbBellNotifyEvent *xkb_bell_ev = (XkbBellNotifyEvent *) xkb_ev;
@ -158,7 +156,7 @@ meta_bell_flash_fullscreen (MetaDisplay *display,
{
screen = meta_display_screen_for_xwindow (display, xkb_bell_ev->window);
if (screen)
meta_bell_flash_screen (display, screen);
bell_flash_screen (display, screen);
}
else
{
@ -166,7 +164,7 @@ meta_bell_flash_fullscreen (MetaDisplay *display,
while (screen_list)
{
screen = (MetaScreen *) screen_list->data;
meta_bell_flash_screen (display, screen);
bell_flash_screen (display, screen);
screen_list = screen_list->next;
}
}
@ -174,7 +172,7 @@ meta_bell_flash_fullscreen (MetaDisplay *display,
/**
* Makes a frame be not flashed; this is the timeout half of
* meta_bell_flash_window_frame(). This is done simply by clearing the
* bell_flash_window_frame(). This is done simply by clearing the
* flash flag and queuing a redraw of the frame.
*
* If the configure script found we had no XKB, this does not exist.
@ -183,11 +181,11 @@ meta_bell_flash_fullscreen (MetaDisplay *display,
* a callback function.
* \return Always FALSE, so we don't get called again.
*
* \bug This is the parallel to meta_bell_flash_window_frame(), so it should
* \bug This is the parallel to bell_flash_window_frame(), so it should
* really be called meta_bell_unflash_window_frame().
*/
static gboolean
meta_bell_unflash_frame (gpointer data)
bell_unflash_frame (gpointer data)
{
MetaFrame *frame = (MetaFrame *) data;
frame->is_flashing = 0;
@ -207,13 +205,13 @@ meta_bell_unflash_frame (gpointer data)
* \param window The window to flash
*/
static void
meta_bell_flash_window_frame (MetaWindow *window)
bell_flash_window_frame (MetaWindow *window)
{
g_assert (window->frame != NULL);
window->frame->is_flashing = 1;
meta_frame_queue_draw (window->frame);
g_timeout_add_full (G_PRIORITY_DEFAULT_IDLE, 100,
meta_bell_unflash_frame, window->frame, NULL);
bell_unflash_frame, window->frame, NULL);
}
/**
@ -224,7 +222,7 @@ meta_bell_flash_window_frame (MetaWindow *window)
* \param xkb_ev The bell event we just received
*/
static void
meta_bell_flash_frame (MetaDisplay *display,
bell_flash_frame (MetaDisplay *display,
XkbAnyEvent *xkb_ev)
{
XkbBellNotifyEvent *xkb_bell_event = (XkbBellNotifyEvent *) xkb_ev;
@ -238,11 +236,11 @@ meta_bell_flash_frame (MetaDisplay *display,
}
if (window)
{
meta_bell_flash_window_frame (window);
bell_flash_window_frame (window);
}
else /* revert to fullscreen flash if there's no focussed window */
{
meta_bell_flash_fullscreen (display, xkb_ev);
bell_flash_fullscreen (display, xkb_ev);
}
}
@ -258,16 +256,16 @@ meta_bell_flash_frame (MetaDisplay *display,
* \bug This should be merged with meta_bell_notify().
*/
static void
meta_bell_visual_notify (MetaDisplay *display,
bell_visual_notify (MetaDisplay *display,
XkbAnyEvent *xkb_ev)
{
switch (meta_prefs_get_visual_bell_type ())
{
case META_VISUAL_BELL_FULLSCREEN_FLASH:
meta_bell_flash_fullscreen (display, xkb_ev);
bell_flash_fullscreen (display, xkb_ev);
break;
case META_VISUAL_BELL_FRAME_FLASH:
meta_bell_flash_frame (display, xkb_ev); /* does nothing yet */
bell_flash_frame (display, xkb_ev); /* does nothing yet */
break;
case META_VISUAL_BELL_INVALID:
/* do nothing */
@ -275,35 +273,16 @@ meta_bell_visual_notify (MetaDisplay *display,
}
}
/**
* Gives the user some kind of visual bell; in fact, this is our response
* to any kind of bell request, but we set it up so that we only get
* notified about visual bells, and X deals with audible ones.
*
* If the configure script found we had no XKB, this does not exist.
*
* \param display The display the bell event came in on
* \param xkb_ev The bell event we just received
*/
void
meta_bell_notify (MetaDisplay *display,
XkbAnyEvent *xkb_ev)
{
/* flash something */
if (meta_prefs_get_visual_bell ())
meta_bell_visual_notify (display, xkb_ev);
bell_visual_notify (display, xkb_ev);
}
#endif /* HAVE_XKB */
/**
* Turns the bell to audible or visual. This tells X what to do, but
* not Metacity; you will need to set the "visual bell" pref for that.
*
* If the configure script found we had no XKB, this is a no-op.
*
* \param display The display we're configuring
* \param audible True for an audible bell, false for a visual bell
*/
void
meta_bell_set_audible (MetaDisplay *display, gboolean audible)
{
@ -315,27 +294,6 @@ meta_bell_set_audible (MetaDisplay *display, gboolean audible)
#endif
}
/**
* Initialises the bell subsystem. This involves intialising
* XKB (which, despite being a keyboard extension, is the
* place to look for bell notifications), then asking it
* to send us bell notifications, and then also switching
* off the audible bell if we're using a visual one ourselves.
*
* Unlike most X extensions we use, we only initialise XKB here
* (rather than in main()). It's possible that XKB is not
* installed at all, but if that was known at build time
* we will have HAVE_XKB undefined, which will cause this
* function to be a no-op.
*
* \param display The display which is opening
*
* \bug There is a line of code that's never run that tells
* XKB to reset the bell status after we quit. Bill H said
* (<http://bugzilla.gnome.org/show_bug.cgi?id=99886#c12>)
* that XFree86's implementation is broken so we shouldn't
* call it, but that was in 2002. Is it working now?
*/
gboolean
meta_bell_init (MetaDisplay *display)
{
@ -377,15 +335,6 @@ meta_bell_init (MetaDisplay *display)
return FALSE;
}
/**
* Shuts down the bell subsystem.
*
* \param display The display which is closing
*
* \bug This is never called! If we had XkbSetAutoResetControls
* enabled in meta_bell_init(), this wouldn't be a problem, but
* we don't.
*/
void
meta_bell_shutdown (MetaDisplay *display)
{

View File

@ -1,6 +1,17 @@
/* Metacity visual bell */
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/**
* \file bell.h Ring the bell or flash the screen
*
* Sometimes, X programs "ring the bell", whatever that means. Metacity lets
* the user configure the bell to be audible or visible (aka visual), and
* if it's visual it can be configured to be frame-flash or fullscreen-flash.
* We never get told about audible bells; X handles them just fine by itself.
*
* The visual bell was the result of a discussion in Bugzilla here:
* <http://bugzilla.gnome.org/show_bug.cgi?id=99886>.
*/
/*
* Copyright (C) 2002 Sun Microsystems Inc.
*
@ -28,9 +39,70 @@
#include "frame-private.h"
#ifdef HAVE_XKB
/**
* Gives the user some kind of visual bell; in fact, this is our response
* to any kind of bell request, but we set it up so that we only get
* notified about visual bells, and X deals with audible ones.
*
* If the configure script found we had no XKB, this does not exist.
*
* \param display The display the bell event came in on
* \param xkb_ev The bell event we just received
*/
void meta_bell_notify (MetaDisplay *display, XkbAnyEvent *xkb_ev);
#endif
/**
* Turns the bell to audible or visual. This tells X what to do, but
* not Metacity; you will need to set the "visual bell" pref for that.
*
* If the configure script found we had no XKB, this is a no-op.
*
* \param display The display we're configuring
* \param audible True for an audible bell, false for a visual bell
*/
void meta_bell_set_audible (MetaDisplay *display, gboolean audible);
/**
* Initialises the bell subsystem. This involves intialising
* XKB (which, despite being a keyboard extension, is the
* place to look for bell notifications), then asking it
* to send us bell notifications, and then also switching
* off the audible bell if we're using a visual one ourselves.
*
* Unlike most X extensions we use, we only initialise XKB here
* (rather than in main()). It's possible that XKB is not
* installed at all, but if that was known at build time
* we will have HAVE_XKB undefined, which will cause this
* function to be a no-op.
*
* \param display The display which is opening
*
* \bug There is a line of code that's never run that tells
* XKB to reset the bell status after we quit. Bill H said
* (<http://bugzilla.gnome.org/show_bug.cgi?id=99886#c12>)
* that XFree86's implementation is broken so we shouldn't
* call it, but that was in 2002. Is it working now?
*/
gboolean meta_bell_init (MetaDisplay *display);
/**
* Shuts down the bell subsystem.
*
* \param display The display which is closing
*
* \bug This is never called! If we had XkbSetAutoResetControls
* enabled in meta_bell_init(), this wouldn't be a problem, but
* we don't.
*/
void meta_bell_shutdown (MetaDisplay *display);
/**
* Deals with a frame being destroyed. This is important because if we're
* using a visual bell, we might be flashing the edges of the frame, and
* so we'd have a timeout function waiting ready to un-flash them. If the
* frame's going away, we can tell the timeout not to bother.
*
* \param frame The frame which is being destroyed
*/
void meta_bell_notify_frame_destroy (MetaFrame *frame);

View File

@ -1070,6 +1070,8 @@ do_screen_and_xinerama_relative_constraints (
MetaRectangle how_far_it_can_be_smushed, min_size, max_size;
#ifdef WITH_VERBOSE_MODE
if (meta_is_verbose ())
{
/* First, log some debugging information */
char spanning_region[1 + 28 * g_list_length (region_spanning_rectangles)];
@ -1077,6 +1079,7 @@ do_screen_and_xinerama_relative_constraints (
"screen/xinerama constraint; region_spanning_rectangles: %s\n",
meta_rectangle_region_to_string (region_spanning_rectangles, ", ",
spanning_region));
}
#endif
/* Determine whether constraint applies; exit if it doesn't */

View File

@ -1910,11 +1910,13 @@ event_callback (XEvent *event,
meta_event_mode_to_string (event->xfocus.mode),
meta_event_detail_to_string (event->xfocus.detail));
}
else if (meta_display_screen_for_root (display,
event->xany.window) != NULL)
else
{
MetaScreen * screen;
screen = meta_display_screen_for_root (display, event->xany.window);
MetaScreen *screen =
meta_display_screen_for_root(display,
event->xany.window);
if (screen == NULL)
break;
meta_topic (META_DEBUG_FOCUS,
"Focus %s event received on root window 0x%lx "
@ -1930,17 +1932,24 @@ event_callback (XEvent *event,
event->xfocus.detail == NotifyDetailNone)
{
meta_topic (META_DEBUG_FOCUS,
"Focus got set to None, probably due to brain-damage in the X protocol (see bug 125492). Setting the default focus window.\n");
meta_workspace_focus_default_window (screen->active_workspace, NULL, meta_display_get_current_time_roundtrip (display));
"Focus got set to None, probably due to "
"brain-damage in the X protocol (see bug "
"125492). Setting the default focus window.\n");
meta_workspace_focus_default_window (screen->active_workspace,
NULL,
meta_display_get_current_time_roundtrip (display));
}
else if (event->type == FocusIn &&
event->xfocus.mode == NotifyNormal &&
event->xfocus.detail == NotifyInferior)
{
meta_topic (META_DEBUG_FOCUS,
"Focus got set to root window, probably due to gnome-session logout dialog usage (see bug 153220). Setting the default focus window.\n");
meta_workspace_focus_default_window (screen->active_workspace, NULL, meta_display_get_current_time_roundtrip (display));
"Focus got set to root window, probably due to "
"gnome-session logout dialog usage (see bug "
"153220). Setting the default focus window.\n");
meta_workspace_focus_default_window (screen->active_workspace,
NULL,
meta_display_get_current_time_roundtrip (display));
}
}
@ -5166,9 +5175,11 @@ meta_display_get_damage_event_base (MetaDisplay *display)
#endif
#ifdef HAVE_COMPOSITE_EXTENSIONS
#ifdef HAVE_SHAPE
int
meta_display_get_shape_event_base (MetaDisplay *display)
{
return display->shape_event_base;
}
#endif
#endif

View File

@ -1,6 +1,40 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* Metacity animation effects */
/**
* \file effects.c "Special effects" other than compositor effects.
*
* Before we had a serious compositor, we supported swooping
* rectangles for minimising and so on. These are still supported
* today, even when the compositor is enabled. The file contains two
* parts:
*
* 1) A set of functions, each of which implements a special effect.
* (Only the minimize function does anything interesting; we should
* probably get rid of the rest.)
*
* 2) A set of functions for moving a highlighted wireframe box around
* the screen, optionally with height and width shown in the middle.
* This is used for moving and resizing when reduced_resources is set.
*
* There was formerly a system which allowed callers to drop in their
* own handlers for various things; it was never used (people who want
* their own handlers can just modify this file, after all) and it added
* a good deal of extra complexity, so it has been removed. If you want it,
* it can be found in svn r3769.
*
* Once upon a time there were three different ways of drawing the box
* animation: window wireframe, window opaque, and root. People who had
* the shape extension theoretically had the choice of all three, and
* people who didn't weren't given the choice of the wireframe option.
* In practice, though, the opaque animation was never perfect, so it came
* down to the wireframe option for those who had the extension and
* the root option for those who didn't; there was actually no way of choosing
* any other option anyway. Work on the opaque animation stopped in 2002;
* anyone who wants something like that these days will be using the
* compositor anyway.
*
* In svn r3769 this was made explicit.
*/
/*
* Copyright (C) 2001 Anders Carlsson, Havoc Pennington
@ -21,35 +55,24 @@
* 02111-1307, USA.
*/
/**
* \file effects.c "Special effects" other than compositor effects.
*
* Before we had a serious compositor, we supported swooping
* rectangles for minimising and so on. These are still supported
* today, even when the compositor is enabled.
*/
#include <config.h>
#include "effects.h"
#include "display-private.h"
#include "ui.h"
#include "window-private.h"
#include "prefs.h"
#ifdef HAVE_SHAPE
#include <X11/extensions/shape.h>
#endif
#define META_MINIMIZE_ANIMATION_LENGTH 0.25
#define META_SHADE_ANIMATION_LENGTH 0.2
#include <string.h>
typedef enum
{
META_ANIMATION_DRAW_ROOT,
META_ANIMATION_WINDOW_WIREFRAME,
META_ANIMATION_WINDOW_OPAQUE
} MetaAnimationStyle;
typedef struct MetaEffect MetaEffect;
typedef struct MetaEffectPriv MetaEffectPriv;
typedef struct
{
@ -58,60 +81,80 @@ typedef struct
double millisecs_duration;
GTimeVal start_time;
#ifdef HAVE_SHAPE
/** For wireframe window */
Window wireframe_xwindow;
#else
/** Rectangle to erase */
MetaRectangle last_rect;
/** First time we've plotted anything in this animation? */
gboolean first_time;
/** For wireframe drawn on root window */
GC gc;
#endif
MetaRectangle start_rect;
MetaRectangle end_rect;
/* rect to erase */
MetaRectangle last_rect;
/* used instead of the global flag, since
* we don't want to change midstream.
*/
MetaAnimationStyle style;
/* For wireframe drawn on root window */
GC gc;
/* For wireframe window */
Window wireframe_xwindow;
/* For opaque */
MetaImageWindow *image_window;
GdkPixbuf *orig_pixbuf;
MetaBoxAnimType anim_type;
} BoxAnimationContext;
/**
* Information we need to know during a maximise or minimise effect.
*/
typedef struct
{
/** This is the normal-size window. */
MetaRectangle window_rect;
/** This is the size of the window when it's an icon. */
MetaRectangle icon_rect;
} MetaMinimizeEffect, MetaUnminimizeEffect;
struct MetaEffectPriv
{
MetaEffectFinished finished;
gpointer finished_data;
};
struct MetaEffect
{
/** The window the effect is applied to. */
MetaWindow *window;
/** Which effect is happening here. */
MetaEffectType type;
/** The effect handler can hang data here. */
gpointer info;
union
{
MetaMinimizeEffect minimize;
/* ... and theoretically anything else */
} u;
MetaEffectPriv *priv;
};
static void run_default_effect_handler (MetaEffect *effect);
static void run_handler (MetaEffect *effect);
static void effect_free (MetaEffect *effect);
static MetaEffectHandler effect_handler;
static gpointer effect_handler_data;
static MetaEffect *
create_effect (MetaEffectType type,
MetaWindow *window,
MetaEffectFinished finished,
gpointer finished_data);
void
meta_push_effect_handler (MetaEffectHandler handler,
gpointer data)
{
effect_handler = handler;
effect_handler_data = data;
}
void
meta_pop_effect_handler (void)
{
/* FIXME: not implemented yet */
g_assert_not_reached ();
}
static void
draw_box_animation (MetaScreen *screen,
MetaRectangle *initial_rect,
MetaRectangle *destination_rect,
double seconds_duration);
/**
* Creates an effect.
*
*/
static MetaEffect*
create_effect (MetaEffectType type,
MetaWindow *window,
@ -129,11 +172,17 @@ create_effect (MetaEffectType type,
return effect;
}
void
meta_effect_end (MetaEffect *effect)
/**
* Destroys an effect. If the effect has a "finished" hook, it will be
* called before cleanup.
*
* \param effect The effect.
*/
static void
effect_free (MetaEffect *effect)
{
if (effect->priv->finished)
effect->priv->finished (effect, effect->priv->finished_data);
effect->priv->finished (effect->priv->finished_data);
g_free (effect->priv);
g_free (effect);
@ -211,6 +260,7 @@ meta_effect_run_close (MetaWindow *window,
/* old ugly minimization effect */
#ifdef HAVE_SHAPE
static void
update_wireframe_window (MetaDisplay *display,
Window xwindow,
@ -221,8 +271,6 @@ update_wireframe_window (MetaDisplay *display,
rect->x, rect->y,
rect->width, rect->height);
#ifdef HAVE_SHAPE
#define OUTLINE_WIDTH 3
if (rect->width > OUTLINE_WIDTH * 2 &&
@ -263,8 +311,8 @@ update_wireframe_window (MetaDisplay *display,
XShapeCombineMask (display->xdisplay, xwindow,
ShapeBounding, 0, 0, None, ShapeSet);
}
#endif
}
#endif
/**
* A hack to force the X server to synchronize with the
@ -291,9 +339,8 @@ effects_draw_box_animation_timeout (BoxAnimationContext *context)
MetaRectangle draw_rect;
double fraction;
#ifndef HAVE_SHAPE
if (!context->first_time)
{
if (context->style == META_ANIMATION_DRAW_ROOT)
{
/* Restore the previously drawn background */
XDrawRectangle (context->screen->display->xdisplay,
@ -302,10 +349,11 @@ effects_draw_box_animation_timeout (BoxAnimationContext *context)
context->last_rect.x, context->last_rect.y,
context->last_rect.width, context->last_rect.height);
}
}
else
context->first_time = FALSE;
#endif /* !HAVE_SHAPE */
g_get_current_time (&current_time);
/* We use milliseconds for all times */
@ -323,23 +371,15 @@ effects_draw_box_animation_timeout (BoxAnimationContext *context)
if (elapsed > context->millisecs_duration)
{
/* All done */
if (context->style == META_ANIMATION_WINDOW_OPAQUE)
{
g_object_unref (G_OBJECT (context->orig_pixbuf));
meta_image_window_free (context->image_window);
}
else if (context->style == META_ANIMATION_DRAW_ROOT)
{
#ifdef HAVE_SHAPE
XDestroyWindow (context->screen->display->xdisplay,
context->wireframe_xwindow);
#else
meta_display_ungrab (context->screen->display);
meta_ui_pop_delay_exposes (context->screen->ui);
XFreeGC (context->screen->display->xdisplay,
context->gc);
}
else if (context->style == META_ANIMATION_WINDOW_WIREFRAME)
{
XDestroyWindow (context->screen->display->xdisplay,
context->wireframe_xwindow);
}
#endif /* !HAVE_SHAPE */
graphics_sync (context);
@ -364,67 +404,21 @@ effects_draw_box_animation_timeout (BoxAnimationContext *context)
if (draw_rect.height < 1)
draw_rect.height = 1;
#ifdef HAVE_SHAPE
update_wireframe_window (context->screen->display,
context->wireframe_xwindow,
&draw_rect);
#else
context->last_rect = draw_rect;
if (context->style == META_ANIMATION_WINDOW_OPAQUE)
{
GdkPixbuf *scaled;
scaled = NULL;
switch (context->anim_type)
{
case META_BOX_ANIM_SCALE:
scaled = gdk_pixbuf_scale_simple (context->orig_pixbuf,
draw_rect.width,
draw_rect.height,
GDK_INTERP_BILINEAR);
break;
case META_BOX_ANIM_SLIDE_UP:
{
int x, y;
x = context->start_rect.width - draw_rect.width;
y = context->start_rect.height - draw_rect.height;
/* paranoia */
if (x < 0)
x = 0;
if (y < 0)
y = 0;
scaled = gdk_pixbuf_new_subpixbuf (context->orig_pixbuf,
x, y,
draw_rect.width,
draw_rect.height);
}
break;
}
/* handle out-of-memory */
if (scaled != NULL)
{
meta_image_window_set (context->image_window,
scaled,
draw_rect.x, draw_rect.y);
g_object_unref (G_OBJECT (scaled));
}
}
else if (context->style == META_ANIMATION_DRAW_ROOT)
{
/* Draw the rectangle */
XDrawRectangle (context->screen->display->xdisplay,
context->screen->xroot,
context->gc,
draw_rect.x, draw_rect.y,
draw_rect.width, draw_rect.height);
}
else if (context->style == META_ANIMATION_WINDOW_WIREFRAME)
{
update_wireframe_window (context->screen->display,
context->wireframe_xwindow,
&draw_rect);
}
#endif /* !HAVE_SHAPE */
/* kick changes onto the server */
graphics_sync (context);
@ -432,25 +426,20 @@ effects_draw_box_animation_timeout (BoxAnimationContext *context)
return TRUE;
}
/* I really don't want this to be a configuration option, but I think
* the wireframe is sucky from a UI standpoint (more confusing than
* opaque), but the opaque is definitely still too slow on some
* systems, and also doesn't look quite right due to the mapping
* and unmapping of windows that's going on.
*/
static MetaAnimationStyle animation_style = META_ANIMATION_WINDOW_WIREFRAME;
void
meta_effects_draw_box_animation (MetaScreen *screen,
draw_box_animation (MetaScreen *screen,
MetaRectangle *initial_rect,
MetaRectangle *destination_rect,
double seconds_duration,
MetaBoxAnimType anim_type)
double seconds_duration)
{
BoxAnimationContext *context;
#ifdef HAVE_SHAPE
XSetWindowAttributes attrs;
#else
XGCValues gc_values;
#endif
g_return_if_fail (seconds_duration > 0.0);
if (g_getenv ("METACITY_DEBUG_EFFECTS"))
@ -462,54 +451,11 @@ meta_effects_draw_box_animation (MetaScreen *screen,
context->screen = screen;
context->millisecs_duration = seconds_duration * 1000.0;
context->first_time = TRUE;
context->start_rect = *initial_rect;
context->end_rect = *destination_rect;
context->anim_type = anim_type;
context->style = animation_style;
#ifndef HAVE_SHAPE
if (context->style == META_ANIMATION_WINDOW_WIREFRAME)
context->style = META_ANIMATION_DRAW_ROOT;
#endif
if (context->style == META_ANIMATION_WINDOW_OPAQUE)
{
GdkPixbuf *pix;
pix = meta_gdk_pixbuf_get_from_window (NULL,
screen->xroot,
initial_rect->x,
initial_rect->y,
0, 0,
initial_rect->width,
initial_rect->height);
if (pix == NULL)
{
/* Fall back to wireframe */
context->style = META_ANIMATION_WINDOW_WIREFRAME;
}
else
{
context->image_window = meta_image_window_new (screen->display->xdisplay,
screen->number,
initial_rect->width,
initial_rect->height);
context->orig_pixbuf = pix;
meta_image_window_set (context->image_window,
context->orig_pixbuf,
initial_rect->x,
initial_rect->y);
meta_image_window_set_showing (context->image_window, TRUE);
}
}
/* Not an else, so that fallback works */
if (context->style == META_ANIMATION_WINDOW_WIREFRAME)
{
XSetWindowAttributes attrs;
#ifdef HAVE_SHAPE
attrs.override_redirect = True;
attrs.background_pixel = BlackPixel (screen->display->xdisplay,
@ -534,12 +480,10 @@ meta_effects_draw_box_animation (MetaScreen *screen,
XMapWindow (screen->display->xdisplay,
context->wireframe_xwindow);
}
if (context->style == META_ANIMATION_DRAW_ROOT)
{
XGCValues gc_values;
#else /* !HAVE_SHAPE */
context->first_time = TRUE;
gc_values.subwindow_mode = IncludeInferiors;
gc_values.function = GXinvert;
@ -551,7 +495,7 @@ meta_effects_draw_box_animation (MetaScreen *screen,
/* Grab the X server to avoid screen dirt */
meta_display_grab (context->screen->display);
meta_ui_push_delay_exposes (context->screen->ui);
}
#endif
/* Do this only after we get the pixbuf from the server,
* so that the animation doesn't get truncated.
@ -770,11 +714,10 @@ run_default_effect_handler (MetaEffect *effect)
switch (effect->type)
{
case META_EFFECT_MINIMIZE:
meta_effects_draw_box_animation (effect->window->screen,
draw_box_animation (effect->window->screen,
&(effect->u.minimize.window_rect),
&(effect->u.minimize.icon_rect),
META_MINIMIZE_ANIMATION_LENGTH,
META_BOX_ANIM_SCALE);
META_MINIMIZE_ANIMATION_LENGTH);
break;
default:
@ -785,13 +728,8 @@ run_default_effect_handler (MetaEffect *effect)
static void
run_handler (MetaEffect *effect)
{
if (effect_handler)
{
effect_handler (effect, effect_handler_data);
}
else
{
if (meta_prefs_get_gnome_animations ())
run_default_effect_handler (effect);
meta_effect_end (effect);
}
effect_free (effect);
}

View File

@ -1,6 +1,27 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* Metacity animation effects */
/**
* \file effects.h "Special effects" other than compositor effects.
*
* Before we had a serious compositor, we supported swooping
* rectangles for minimising and so on. These are still supported
* today, even when the compositor is enabled. The file contains two
* parts:
*
* 1) A set of functions, each of which implements a special effect.
* (Only the minimize function does anything interesting; we should
* probably get rid of the rest.)
*
* 2) A set of functions for moving a highlighted wireframe box around
* the screen, optionally with height and width shown in the middle.
* This is used for moving and resizing when reduced_resources is set.
*
* There was formerly a system which allowed callers to drop in their
* own handlers for various things; it was never used (people who want
* their own handlers can just modify this file, after all) and it added
* a good deal of extra complexity, so it has been removed. If you want it,
* it can be found in svn r3769.
*/
/*
* Copyright (C) 2001 Anders Carlsson, Havoc Pennington
@ -27,116 +48,104 @@
#include "util.h"
#include "screen-private.h"
typedef struct MetaEffect MetaEffect;
typedef struct MetaEffectPriv MetaEffectPriv;
#define META_MINIMIZE_ANIMATION_LENGTH 0.25
#define META_SHADE_ANIMATION_LENGTH 0.2
typedef enum
{
META_BOX_ANIM_SCALE,
META_BOX_ANIM_SLIDE_UP
} MetaBoxAnimType;
typedef enum
{
META_EFFECT_MINIMIZE,
META_EFFECT_UNMINIMIZE,
META_EFFECT_MENU_MAP,
META_EFFECT_MENU_UNMAP,
META_EFFECT_DIALOG_MAP,
META_EFFECT_DIALOG_UNMAP,
META_EFFECT_TOPLEVEL_MAP,
META_EFFECT_TOPLEVEL_UNMAP,
META_EFFECT_WIREFRAME_BEGIN,
META_EFFECT_WIREFRAME_UPDATE,
META_EFFECT_WIREFRAME_END,
META_EFFECT_FOCUS,
META_EFFECT_CLOSE,
META_NUM_EFFECTS
} MetaEffectType;
typedef void (* MetaEffectHandler) (MetaEffect *effect,
gpointer data);
typedef void (* MetaEffectFinished) (const MetaEffect *effect,
gpointer data);
typedef struct
{
MetaRectangle window_rect;
MetaRectangle icon_rect;
} MetaMinimizeEffect, MetaUnminimizeEffect;
#if 0
/* Solaris abhors an empty struct. #397296. */
typedef struct
{
} MetaCloseEffect;
typedef struct
{
} MetaFocusEffect;
#endif
struct MetaEffect
{
MetaWindow *window;
MetaEffectType type;
gpointer info; /* effect handler can hang data here */
union
{
MetaMinimizeEffect minimize;
MetaUnminimizeEffect unminimize;
#if 0
/* These don't currently exist, so we aren't using them. #397296. */
MetaCloseEffect close;
MetaFocusEffect focus;
#endif
} u;
MetaEffectPriv *priv;
};
void meta_push_effect_handler (MetaEffectHandler handler,
gpointer data);
void meta_pop_effect_handler (void);
/**
* A callback which will be called when the effect has finished.
*/
typedef void (* MetaEffectFinished) (gpointer data);
/**
* Performs the minimize effect.
*
* \param window The window we're moving
* \param window_rect Its current state
* \param target Where it should end up
* \param finished Callback for when it's finished
* \param data Data for callback
*/
void meta_effect_run_minimize (MetaWindow *window,
MetaRectangle *window_rect,
MetaRectangle *target,
MetaEffectFinished finished,
gpointer data);
/**
* Performs the unminimize effect. There is no such effect.
* FIXME: delete this.
*
* \param window The window we're moving
* \param icon_rect Its current state
* \param window_rect Where it should end up
* \param finished Callback for when it's finished
* \param data Data for callback
*/
void meta_effect_run_unminimize (MetaWindow *window,
MetaRectangle *window_rect,
MetaRectangle *icon_rect,
MetaEffectFinished finished,
gpointer data);
/**
* Performs the close effect. There is no such effect.
* FIXME: delete this.
*
* \param window The window we're moving
* \param finished Callback for when it's finished
* \param data Data for callback
*/
void meta_effect_run_close (MetaWindow *window,
MetaEffectFinished finished,
gpointer data);
/**
* Performs the focus effect. There is no such effect.
* FIXME: delete this.
*
* \param window The window we're moving
* \param finished Callback for when it's finished
* \param data Data for callback
*/
void meta_effect_run_focus (MetaWindow *window,
MetaEffectFinished finished,
gpointer data);
void meta_effect_end (MetaEffect *effect);
/* Stuff that should become static functions */
void meta_effects_draw_box_animation (MetaScreen *screen,
MetaRectangle *initial_rect,
MetaRectangle *destination_rect,
double seconds_duration,
MetaBoxAnimType anim_type);
/**
* Grabs the server and paints a wireframe rectangle on the screen.
* Since this involves starting a grab, please be considerate of other
* users and don't keep the grab for long. You may move the wireframe
* around using meta_effects_update_wireframe() and remove it, and undo
* the grab, using meta_effects_end_wireframe().
*
* \param screen The screen to draw the rectangle on.
* \param rect The size of the rectangle to draw.
* \param width The width to display in the middle (or 0 not to)
* \param height The width to display in the middle (or 0 not to)
*/
void meta_effects_begin_wireframe (MetaScreen *screen,
const MetaRectangle *rect,
int width,
int height);
/**
* Moves a wireframe rectangle around after its creation by
* meta_effects_begin_wireframe(). (Perhaps we ought to remember the old
* positions and not require people to pass them in?)
*
* \param old_rect Where the rectangle is now
* \param old_width The width that was displayed on it (or 0 if there wasn't)
* \param old_height The height that was displayed on it (or 0 if there wasn't)
* \param new_rect Where the rectangle is going
* \param new_width The width that will be displayed on it (or 0 not to)
* \param new_height The height that will be displayed on it (or 0 not to)
*/
void meta_effects_update_wireframe (MetaScreen *screen,
const MetaRectangle *old_rect,
int old_width,
@ -144,6 +153,15 @@ void meta_effects_update_wireframe (MetaScreen *screen,
const MetaRectangle *new_rect,
int new_width,
int new_height);
/**
* Removes a wireframe rectangle from the screen and ends the grab started by
* meta_effects_begin_wireframe().
*
* \param old_rect Where the rectangle is now
* \param old_width The width that was displayed on it (or 0 if there wasn't)
* \param old_height The height that was displayed on it (or 0 if there wasn't)
*/
void meta_effects_end_wireframe (MetaScreen *screen,
const MetaRectangle *old_rect,
int width,

View File

@ -109,8 +109,6 @@ meta_window_get_group (MetaWindow *window)
if (window->unmanaging)
return NULL;
g_assert (window->group != NULL);
return window->group;
}

View File

@ -2550,6 +2550,13 @@ process_tab_grab (MetaDisplay *display,
break;
}
/* !! TO HERE !!
* alt-f6 during alt-{Tab,Escape} does not end the grab
* but does change the grab op (and redraws the window,
* of course).
* See _{SWITCH,CYCLE}_GROUP.@@@
*/
popup_not_showing = FALSE;
key_used = FALSE;
backward = FALSE;

View File

@ -5,6 +5,7 @@
/*
* Copyright (C) 2001 Havoc Pennington, Copyright (C) 2002 Red Hat Inc.
* Copyright (C) 2006 Elijah Newren
* Copyright (C) 2008 Thomas Thurman
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@ -46,7 +47,6 @@
* not given a name here, because the purpose of the unified handlers
* is that keys should be referred to exactly once.
*/
#define KEY_AUTO_RAISE_DELAY "/apps/metacity/general/auto_raise_delay"
#define KEY_TITLEBAR_FONT "/apps/metacity/general/titlebar_font"
#define KEY_NUM_WORKSPACES "/apps/metacity/general/num_workspaces"
#define KEY_GNOME_ACCESSIBILITY "/desktop/gnome/interface/accessibility"
@ -62,7 +62,6 @@
#define KEY_WORKSPACE_NAME_PREFIX "/apps/metacity/workspace_names/name_"
#define KEY_CURSOR_SIZE "/desktop/gnome/peripherals/mouse/cursor_size"
#ifdef HAVE_GCONF
static GConfClient *default_client = NULL;
@ -90,6 +89,7 @@ static gboolean provide_visual_bell = FALSE;
static gboolean bell_is_audible = TRUE;
static gboolean reduced_resources = FALSE;
static gboolean gnome_accessibility = FALSE;
static gboolean gnome_animations = TRUE;
static char *cursor_theme = NULL;
static int cursor_size = 24;
static gboolean compositing_manager = FALSE;
@ -107,8 +107,6 @@ static char *workspace_names[MAX_REASONABLE_WORKSPACES] = { NULL, };
#ifdef HAVE_GCONF
static gboolean handle_preference_update_enum (const gchar *key, GConfValue *value);
static gboolean update_num_workspaces (int value);
static gboolean update_auto_raise_delay (int value);
static gboolean update_window_binding (const char *name,
const char *value);
static gboolean update_screen_binding (const char *name,
@ -124,7 +122,6 @@ static gboolean update_command (const char *name,
const char *value);
static gboolean update_workspace_name (const char *name,
const char *value);
static gboolean update_cursor_size (int size);
static void change_notify (GConfClient *client,
guint cnxn_id,
@ -246,16 +243,16 @@ static GConfEnumStringPair symtab_titlebar_action[] =
typedef struct
{
gchar *key;
MetaPreference pref;
GConfEnumStringPair *symtab;
gpointer target;
MetaPreference pref;
} MetaEnumPreference;
typedef struct
{
gchar *key;
gboolean *target;
MetaPreference pref;
gboolean *target;
gboolean becomes_true_on_destruction;
} MetaBoolPreference;
@ -285,101 +282,131 @@ typedef struct
/**
* Where to write the incoming string.
*
* This must be NULL if the handler is non-NULL.
* If the incoming string is NULL, no change will be made.
* This is ignored if the handler is non-NULL.
*/
gchar **target;
} MetaStringPreference;
#define METAINTPREFERENCE_NO_CHANGE_ON_DESTROY G_MININT
typedef struct
{
gchar *key;
MetaPreference pref;
gint *target;
/**
* Minimum and maximum values of the integer.
* If the new value is out of bounds, it will be discarded with a warning.
*/
gint minimum, maximum;
/**
* Value to use if the key is destroyed.
* If this is METAINTPREFERENCE_NO_CHANGE_ON_DESTROY, it will
* not be changed when the key is destroyed.
*/
gint value_if_destroyed;
} MetaIntPreference;
/* FIXMEs: */
/* @@@ Don't use NULL lines at the end; glib can tell you how big it is */
/* @@@ /apps/metacity/general should be assumed if first char is not / */
/* @@@ Will it ever be possible to merge init and update? If not, why not? */
static MetaEnumPreference preferences_enum[] =
{
{ "/apps/metacity/general/focus_new_windows",
META_PREF_FOCUS_NEW_WINDOWS,
symtab_focus_new_windows,
&focus_new_windows,
META_PREF_FOCUS_NEW_WINDOWS,
},
{ "/apps/metacity/general/focus_mode",
META_PREF_FOCUS_MODE,
symtab_focus_mode,
&focus_mode,
META_PREF_FOCUS_MODE,
},
{ "/apps/metacity/general/visual_bell_type",
META_PREF_VISUAL_BELL_TYPE,
symtab_visual_bell_type,
&visual_bell_type,
META_PREF_VISUAL_BELL_TYPE,
},
{ "/apps/metacity/general/action_double_click_titlebar",
META_PREF_ACTION_DOUBLE_CLICK_TITLEBAR,
symtab_titlebar_action,
&action_double_click_titlebar,
META_PREF_ACTION_DOUBLE_CLICK_TITLEBAR,
},
{ "/apps/metacity/general/action_middle_click_titlebar",
META_PREF_ACTION_MIDDLE_CLICK_TITLEBAR,
symtab_titlebar_action,
&action_middle_click_titlebar,
META_PREF_ACTION_MIDDLE_CLICK_TITLEBAR,
},
{ "/apps/metacity/general/action_right_click_titlebar",
META_PREF_ACTION_RIGHT_CLICK_TITLEBAR,
symtab_titlebar_action,
&action_right_click_titlebar,
META_PREF_ACTION_RIGHT_CLICK_TITLEBAR,
},
{ NULL, NULL, NULL, 0 },
{ NULL, 0, NULL, NULL },
};
static MetaBoolPreference preferences_bool[] =
{
{ "/apps/metacity/general/raise_on_click",
&raise_on_click,
META_PREF_RAISE_ON_CLICK,
&raise_on_click,
TRUE,
},
{ "/apps/metacity/general/titlebar_uses_system_font",
&use_system_font,
META_PREF_TITLEBAR_FONT, /* note! shares a pref */
&use_system_font,
TRUE,
},
{ "/apps/metacity/general/application_based",
NULL, /* feature is known but disabled */
META_PREF_APPLICATION_BASED,
NULL, /* feature is known but disabled */
FALSE,
},
{ "/apps/metacity/general/disable_workarounds",
&disable_workarounds,
META_PREF_DISABLE_WORKAROUNDS,
&disable_workarounds,
FALSE,
},
{ "/apps/metacity/general/auto_raise",
&auto_raise,
META_PREF_AUTO_RAISE,
&auto_raise,
FALSE,
},
{ "/apps/metacity/general/visual_bell",
&provide_visual_bell, /* FIXME: change the name: it's confusing */
META_PREF_VISUAL_BELL,
&provide_visual_bell, /* FIXME: change the name: it's confusing */
FALSE,
},
{ "/apps/metacity/general/audible_bell",
&bell_is_audible, /* FIXME: change the name: it's confusing */
META_PREF_AUDIBLE_BELL,
&bell_is_audible, /* FIXME: change the name: it's confusing */
FALSE,
},
{ "/apps/metacity/general/reduced_resources",
&reduced_resources,
META_PREF_REDUCED_RESOURCES,
&reduced_resources,
FALSE,
},
{ "/desktop/gnome/interface/accessibility",
&gnome_accessibility,
META_PREF_GNOME_ACCESSIBILITY,
&gnome_accessibility,
FALSE,
},
{ "/desktop/gnome/interface/enable_animations",
META_PREF_GNOME_ANIMATIONS,
&gnome_animations,
TRUE,
},
{ "/apps/metacity/general/compositing_manager",
&compositing_manager,
META_PREF_COMPOSITING_MANAGER,
&compositing_manager,
FALSE,
},
{ NULL, NULL, 0, FALSE },
{ NULL, 0, NULL, FALSE },
};
static MetaStringPreference preferences_string[] =
@ -417,6 +444,31 @@ static MetaStringPreference preferences_string[] =
{ NULL, 0, NULL, NULL },
};
static MetaIntPreference preferences_int[] =
{
{ "/apps/metacity/general/num_workspaces",
META_PREF_NUM_WORKSPACES,
&num_workspaces,
/* I would actually recommend we change the destroy value to 4
* and get rid of METAINTPREFERENCE_NO_CHANGE_ON_DESTROY entirely.
* -- tthurman
*/
1, MAX_REASONABLE_WORKSPACES, METAINTPREFERENCE_NO_CHANGE_ON_DESTROY,
},
{ "/apps/metacity/general/auto_raise_delay",
META_PREF_AUTO_RAISE_DELAY,
&auto_raise_delay,
0, 10000, 0,
/* @@@ Get rid of MAX_REASONABLE_AUTO_RAISE_DELAY */
},
{ "/desktop/gnome/peripherals/mouse/cursor_size",
META_PREF_CURSOR_SIZE,
&cursor_size,
1, 128, 24,
},
{ NULL, 0, NULL, 0, 0, 0, },
};
static void
handle_preference_init_enum (void)
{
@ -510,6 +562,44 @@ handle_preference_init_string (void)
}
}
static void
handle_preference_init_int (void)
{
MetaIntPreference *cursor = preferences_int;
while (cursor->key!=NULL)
{
gint value;
GError *error = NULL;
value = gconf_client_get_int (default_client,
cursor->key,
&error);
cleanup_error (&error);
if (value < cursor->minimum || value > cursor->maximum)
{
meta_warning (_("%d stored in GConf key %s is out of range %d to %d\n"),
value, cursor->key, cursor->minimum, cursor->maximum);
/* Former behaviour for out-of-range values was:
* - number of workspaces was clamped;
* - auto raise delay was always reset to zero even if too high!;
* - cursor size was ignored.
*
* These seem to be meaningless variations. If they did
* have meaning we could have put them into MetaIntPreference.
* The last of these is the closest to how we behave for
* other types, so I think we should standardise on that.
*/
}
else if (cursor->target)
*cursor->target = value;
++cursor;
}
}
static gboolean
handle_preference_update_enum (const gchar *key, GConfValue *value)
{
@ -689,6 +779,70 @@ handle_preference_update_string (const gchar *key, GConfValue *value)
return TRUE;
}
static gboolean
handle_preference_update_int (const gchar *key, GConfValue *value)
{
MetaIntPreference *cursor = preferences_int;
gint new_value;
while (cursor->key!=NULL && strcmp (key, cursor->key)!=0)
++cursor;
if (cursor->key==NULL)
/* Didn't recognise that key. */
return FALSE;
if (cursor->target==NULL)
/* No work for us to do. */
return TRUE;
if (value==NULL)
{
/* Value was destroyed. */
if (cursor->value_if_destroyed != METAINTPREFERENCE_NO_CHANGE_ON_DESTROY)
*((gint *)cursor->target) = cursor->value_if_destroyed;
return TRUE;
}
/* Check the type. */
if (value->type != GCONF_VALUE_INT)
{
meta_warning (_("GConf key \"%s\" is set to an invalid type\n"),
key);
/* But we did recognise it. */
return TRUE;
}
new_value = gconf_value_get_int (value);
if (new_value < cursor->minimum || new_value > cursor->maximum)
{
meta_warning (_("%d stored in GConf key %s is out of range %d to %d\n"),
new_value, cursor->key,
cursor->minimum, cursor->maximum);
return TRUE;
}
/* Did it change? If so, tell the listeners about it. */
if (*cursor->target != new_value)
{
*cursor->target = new_value;
queue_changed (cursor->pref);
}
return TRUE;
}
/****************************************************************************/
/* Listeners. */
/****************************************************************************/
void
meta_prefs_add_listener (MetaPrefsChangedFunc func,
gpointer data)
@ -817,12 +971,18 @@ meta_prefs_remove_listener (MetaPrefsChangedFunc func,
#endif /* HAVE_GCONF */
/****************************************************************************/
/* Initialisation. */
/****************************************************************************/
/* @@@ again, use glib's ability to tell you the size of the array */
static gchar *gconf_dirs_we_are_interested_in[] = {
"/apps/metacity",
KEY_TERMINAL_DIR,
KEY_GNOME_ACCESSIBILITY,
"/desktop/gnome/peripherals/mouse",
"/desktop/gnome/interface",
NULL,
};
@ -831,8 +991,6 @@ meta_prefs_init (void)
{
#ifdef HAVE_GCONF
GError *err = NULL;
int int_val;
GConfValue *gconf_val;
gchar **gconf_dir_cursor;
if (default_client != NULL)
@ -857,40 +1015,9 @@ meta_prefs_init (void)
handle_preference_init_enum ();
handle_preference_init_bool ();
handle_preference_init_string ();
handle_preference_init_int ();
/* To follow: initialisation with ordinary ints. */
/* Pick up initial values using the legacy system. */
gconf_val = gconf_client_get (default_client, KEY_AUTO_RAISE_DELAY,
&err);
cleanup_error (&err);
if (gconf_val)
{
if (gconf_val->type == GCONF_VALUE_INT)
update_auto_raise_delay (gconf_value_get_int (gconf_val));
else
meta_warning(_("Type of %s was not integer"), KEY_AUTO_RAISE_DELAY);
gconf_value_free (gconf_val);
}
/* If the keys aren't set in the database, we use essentially
* bogus values instead of any kind of default. This is
* just lazy. But they keys ought to be set, anyhow.
*/
int_val = gconf_client_get_int (default_client, KEY_NUM_WORKSPACES,
&err);
cleanup_error (&err);
update_num_workspaces (int_val);
int_val = gconf_client_get_int (default_client, KEY_CURSOR_SIZE,
&err);
cleanup_error (&err);
update_cursor_size (int_val);
/* @@@ Is there any reason we don't do the add_dir here? */
for (gconf_dir_cursor=gconf_dirs_we_are_interested_in;
*gconf_dir_cursor!=NULL;
gconf_dir_cursor++)
@ -917,23 +1044,23 @@ meta_prefs_init (void)
init_button_layout();
#endif /* HAVE_GCONF */
/* Load keybindings prefs */
init_bindings ();
/* commands */
init_commands ();
/* workspace names */
init_workspace_names ();
}
/****************************************************************************/
/* Updates. */
/****************************************************************************/
#ifdef HAVE_GCONF
gboolean (*preference_update_handler[]) (const gchar*, GConfValue*) = {
handle_preference_update_enum,
handle_preference_update_bool,
handle_preference_update_string,
handle_preference_update_int,
NULL
};
@ -967,25 +1094,10 @@ change_notify (GConfClient *client,
/* Otherwise, use the enormous if statement. We'll move entries
* out of here as it becomes possible to deal with them in a
* more general way. */
* more general way.
*/
if (strcmp (key, KEY_NUM_WORKSPACES) == 0)
{
int d;
if (value && value->type != GCONF_VALUE_INT)
{
meta_warning (_("GConf key \"%s\" is set to an invalid type\n"),
KEY_NUM_WORKSPACES);
goto out;
}
d = value ? gconf_value_get_int (value) : num_workspaces;
if (update_num_workspaces (d))
queue_changed (META_PREF_NUM_WORKSPACES);
}
else if (g_str_has_prefix (key, KEY_WINDOW_BINDINGS_PREFIX))
if (g_str_has_prefix (key, KEY_WINDOW_BINDINGS_PREFIX))
{
if (g_str_has_suffix (key, KEY_LIST_BINDINGS_SUFFIX))
{
@ -1055,23 +1167,6 @@ change_notify (GConfClient *client,
queue_changed (META_PREF_SCREEN_KEYBINDINGS);
}
}
else if (strcmp (key, KEY_AUTO_RAISE_DELAY) == 0)
{
int d;
if (value && value->type != GCONF_VALUE_INT)
{
meta_warning (_("GConf key \"%s\" is set to an invalid type\n"),
KEY_AUTO_RAISE_DELAY);
goto out;
}
d = value ? gconf_value_get_int (value) : 0;
if (update_auto_raise_delay (d))
queue_changed (META_PREF_AUTO_RAISE_DELAY);
}
else if (g_str_has_prefix (key, KEY_COMMAND_PREFIX))
{
const char *str;
@ -1104,22 +1199,6 @@ change_notify (GConfClient *client,
if (update_workspace_name (key, str))
queue_changed (META_PREF_WORKSPACE_NAMES);
}
else if (strcmp (key, KEY_CURSOR_SIZE) == 0)
{
int d;
if (value && value->type != GCONF_VALUE_INT)
{
meta_warning (_("GConf key \"%s\" is set to an invalid type\n"),
KEY_CURSOR_SIZE);
goto out;
}
d = value ? gconf_value_get_int (value) : 24;
if (update_cursor_size (d))
queue_changed (META_PREF_CURSOR_SIZE);
}
else
{
meta_topic (META_DEBUG_PREFS, "Key %s doesn't mean anything to Metacity\n",
@ -1144,6 +1223,7 @@ cleanup_error (GError **error)
}
/* get_bool returns TRUE if *val is filled in, FALSE otherwise */
/* @@@ probably worth moving this inline; only used once */
static gboolean
get_bool (const char *key, gboolean *val)
{
@ -1225,28 +1305,17 @@ meta_prefs_get_cursor_theme (void)
return cursor_theme;
}
#ifdef HAVE_GCONF
static gboolean
update_cursor_size (int value)
{
int old = cursor_size;
if (value >= 1 && value <= 128)
cursor_size = value;
else
meta_warning (_("%d stored in GConf key %s is not a reasonable cursor_size; must be in the range 1..128\n"),
value, KEY_CURSOR_SIZE);
return old != value;
}
#endif
int
meta_prefs_get_cursor_size (void)
{
return cursor_size;
}
/****************************************************************************/
/* Handlers for string preferences. */
/****************************************************************************/
#ifdef HAVE_GCONF
static void
@ -1591,28 +1660,6 @@ meta_prefs_get_titlebar_font (void)
return titlebar_font;
}
#ifdef HAVE_GCONF
static gboolean
update_num_workspaces (int value)
{
int old = num_workspaces;
if (value < 1 || value > MAX_REASONABLE_WORKSPACES)
{
meta_warning (_("%d stored in GConf key %s is not a reasonable number of workspaces, current maximum is %d\n"),
value, KEY_NUM_WORKSPACES, MAX_REASONABLE_WORKSPACES);
if (value < 1)
value = 1;
else if (value > MAX_REASONABLE_WORKSPACES)
value = MAX_REASONABLE_WORKSPACES;
}
num_workspaces = value;
return old != num_workspaces;
}
#endif /* HAVE_GCONF */
int
meta_prefs_get_num_workspaces (void)
{
@ -1636,24 +1683,6 @@ meta_prefs_get_disable_workarounds (void)
#ifdef HAVE_GCONF
#define MAX_REASONABLE_AUTO_RAISE_DELAY 10000
static gboolean
update_auto_raise_delay (int value)
{
int old = auto_raise_delay;
if (value < 0 || value > MAX_REASONABLE_AUTO_RAISE_DELAY)
{
meta_warning (_("%d stored in GConf key %s is out of range 0 to %d\n"),
value, KEY_AUTO_RAISE_DELAY,
MAX_REASONABLE_AUTO_RAISE_DELAY);
value = 0;
}
auto_raise_delay = value;
return old != auto_raise_delay;
}
#endif /* HAVE_GCONF */
#ifdef WITH_VERBOSE_MODE
@ -1738,6 +1767,9 @@ meta_preference_to_string (MetaPreference pref)
case META_PREF_GNOME_ACCESSIBILITY:
return "GNOME_ACCESSIBILTY";
case META_PREF_GNOME_ANIMATIONS:
return "GNOME_ANIMATIONS";
case META_PREF_CURSOR_THEME:
return "CURSOR_THEME";
@ -2840,6 +2872,12 @@ meta_prefs_get_gnome_accessibility ()
return gnome_accessibility;
}
gboolean
meta_prefs_get_gnome_animations ()
{
return gnome_animations;
}
MetaKeyBindingAction
meta_prefs_get_keybinding_action (const char *name)
{

View File

@ -1,6 +1,8 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* Metacity Window Stack */
/**
* \file stack.c Which windows cover which other windows
*/
/*
* Copyright (C) 2001 Havoc Pennington
@ -49,9 +51,16 @@
#define WINDOW_IN_STACK(w) (w->stack_position >= 0)
static void meta_stack_sync_to_server (MetaStack *stack);
static void stack_sync_to_server (MetaStack *stack);
static void meta_window_set_stack_position_no_sync (MetaWindow *window,
int position);
static void stack_do_window_deletions (MetaStack *stack);
static void stack_do_window_additions (MetaStack *stack);
static void stack_do_relayer (MetaStack *stack);
static void stack_do_constrain (MetaStack *stack);
static void stack_do_resort (MetaStack *stack);
static void stack_ensure_sorted (MetaStack *stack);
MetaStack*
meta_stack_new (MetaScreen *screen)
@ -111,7 +120,7 @@ meta_stack_add (MetaStack *stack,
"Window %s has stack_position initialized to %d\n",
window->desc, window->stack_position);
meta_stack_sync_to_server (stack);
stack_sync_to_server (stack);
}
void
@ -136,12 +145,17 @@ meta_stack_remove (MetaStack *stack,
stack->added = g_list_remove (stack->added, window);
stack->sorted = g_list_remove (stack->sorted, window);
/* Remember the window ID to remove it from the stack array */
stack->removed = g_list_prepend (stack->removed, (void*) window->xwindow);
/* Remember the window ID to remove it from the stack array.
* The macro is safe to use: Window is guaranteed to be 32 bits, and
* GUINT_TO_POINTER says it only works on 32 bits.
*/
stack->removed = g_list_prepend (stack->removed,
GUINT_TO_POINTER (window->xwindow));
if (window->frame)
stack->removed = g_list_prepend (stack->removed, (void*) window->frame->xwindow);
stack->removed = g_list_prepend (stack->removed,
GUINT_TO_POINTER (window->frame->xwindow));
meta_stack_sync_to_server (stack);
stack_sync_to_server (stack);
}
void
@ -150,7 +164,7 @@ meta_stack_update_layer (MetaStack *stack,
{
stack->need_relayer = TRUE;
meta_stack_sync_to_server (stack);
stack_sync_to_server (stack);
}
void
@ -159,7 +173,7 @@ meta_stack_update_transient (MetaStack *stack,
{
stack->need_constrain = TRUE;
meta_stack_sync_to_server (stack);
stack_sync_to_server (stack);
}
/* raise/lower within a layer */
@ -170,7 +184,7 @@ meta_stack_raise (MetaStack *stack,
meta_window_set_stack_position_no_sync (window,
stack->n_positions - 1);
meta_stack_sync_to_server (stack);
stack_sync_to_server (stack);
}
void
@ -179,10 +193,9 @@ meta_stack_lower (MetaStack *stack,
{
meta_window_set_stack_position_no_sync (window, 0);
meta_stack_sync_to_server (stack);
stack_sync_to_server (stack);
}
/* Prevent syncing to server until thaw */
void
meta_stack_freeze (MetaStack *stack)
{
@ -195,7 +208,7 @@ meta_stack_thaw (MetaStack *stack)
g_return_if_fail (stack->freeze_count > 0);
stack->freeze_count -= 1;
meta_stack_sync_to_server (stack);
stack_sync_to_server (stack);
}
static gboolean
@ -710,54 +723,24 @@ apply_constraints (Constraint **constraints,
g_slist_free (heads);
}
static void
constrain_stacking (MetaStack *stack)
{
Constraint **constraints;
/* It'd be nice if this were all faster, probably */
if (!stack->need_constrain)
return;
meta_topic (META_DEBUG_STACK,
"Reapplying constraints\n");
constraints = g_new0 (Constraint*,
stack->n_positions);
create_constraints (constraints, stack->sorted);
graph_constraints (constraints, stack->n_positions);
apply_constraints (constraints, stack->n_positions);
free_constraints (constraints, stack->n_positions);
g_free (constraints);
stack->need_constrain = FALSE;
}
static void
meta_stack_ensure_sorted (MetaStack *stack)
{
GList *tmp;
int i;
int n_added;
/* Note that the additions, relayers, reconstrains
* may all set need_resort to TRUE
/**
* Go through "deleted" and take the matching windows
* out of "windows".
*/
static void
stack_do_window_deletions (MetaStack *stack)
{
/* Do removals before adds, with paranoid idea that we might re-add
* the same window IDs.
*/
GList *tmp;
int i;
tmp = stack->removed;
while (tmp != NULL)
{
Window xwindow;
xwindow = (unsigned long) tmp->data;
xwindow = GPOINTER_TO_UINT (tmp->data);
/* We go from the end figuring removals are more
* likely to be recent.
@ -786,6 +769,13 @@ meta_stack_ensure_sorted (MetaStack *stack)
g_list_free (stack->removed);
stack->removed = NULL;
}
static void
stack_do_window_additions (MetaStack *stack)
{
GList *tmp;
gint i, n_added;
n_added = g_list_length (stack->added);
if (n_added > 0)
@ -831,10 +821,19 @@ meta_stack_ensure_sorted (MetaStack *stack)
g_list_free (stack->added);
stack->added = NULL;
}
/* Update the layers that windows are in */
if (stack->need_relayer)
/**
* Update the layers that windows are in
*/
static void
stack_do_relayer (MetaStack *stack)
{
GList *tmp;
if (!stack->need_relayer)
return;
meta_topic (META_DEBUG_STACK,
"Recomputing layers\n");
@ -870,29 +869,77 @@ meta_stack_ensure_sorted (MetaStack *stack)
stack->need_relayer = FALSE;
}
/* Update stack_position and layer to reflect transiency
constraints */
constrain_stacking (stack);
/* Sort stack->sorted with layers having priority over stack_position
/**
* Update stack_position and layer to reflect transiency
* constraints
*/
if (stack->need_resort)
static void
stack_do_constrain (MetaStack *stack)
{
Constraint **constraints;
/* It'd be nice if this were all faster, probably */
if (!stack->need_constrain)
return;
meta_topic (META_DEBUG_STACK,
"Reapplying constraints\n");
constraints = g_new0 (Constraint*,
stack->n_positions);
create_constraints (constraints, stack->sorted);
graph_constraints (constraints, stack->n_positions);
apply_constraints (constraints, stack->n_positions);
free_constraints (constraints, stack->n_positions);
g_free (constraints);
stack->need_constrain = FALSE;
}
/**
* Sort stack->sorted with layers having priority over stack_position.
*/
static void
stack_do_resort (MetaStack *stack)
{
if (!stack->need_resort)
return;
meta_topic (META_DEBUG_STACK,
"Sorting stack list\n");
stack->sorted = g_list_sort (stack->sorted, (GCompareFunc) compare_window_position);
stack->sorted = g_list_sort (stack->sorted,
(GCompareFunc) compare_window_position);
stack->need_resort = FALSE;
}
/**
* Puts the stack into canonical form.
*
* Honour the removed and added lists of the stack, and then recalculate
* all the layers (if the flag is set), re-run all the constraint calculations
* (if the flag is set), and finally re-sort the stack (if the flag is set,
* and if it wasn't already it might have become so during all the previous
* activity).
*/
static void
stack_ensure_sorted (MetaStack *stack)
{
stack_do_window_deletions (stack);
stack_do_window_additions (stack);
stack_do_relayer (stack);
stack_do_constrain (stack);
stack_do_resort (stack);
}
static void
raise_window_relative_to_managed_windows (MetaScreen *screen,
Window xwindow)
{
/* This function is used to avoid raising a window above popup
/**
* This function is used to avoid raising a window above popup
* menus and other such things.
*
* FIXME This is sort of an expensive function, should probably
@ -902,6 +949,10 @@ raise_window_relative_to_managed_windows (MetaScreen *screen,
* (instead of the current way, which works by placing each
* window below another and starting with a raise)
*/
static void
raise_window_relative_to_managed_windows (MetaScreen *screen,
Window xwindow)
{
Window ignored1, ignored2;
Window *children;
@ -987,8 +1038,15 @@ raise_window_relative_to_managed_windows (MetaScreen *screen,
XFree (children);
}
/**
* Order the windows on the X server to be the same as in our structure.
* We do this using XRestackWindows if we don't know the previous order,
* or XConfigureWindow on a few particular windows if we do and can figure
* out the minimum set of changes. After that, we set __NET_CLIENT_LIST
* and __NET_CLIENT_LIST_STACKING.
*/
static void
meta_stack_sync_to_server (MetaStack *stack)
stack_sync_to_server (MetaStack *stack)
{
GArray *stacked;
GArray *root_children_stacked;
@ -1000,7 +1058,7 @@ meta_stack_sync_to_server (MetaStack *stack)
meta_topic (META_DEBUG_STACK, "Syncing window stack to server\n");
meta_stack_ensure_sorted (stack);
stack_ensure_sorted (stack);
/* Create stacked xwindow arrays.
* Painfully, "stacked" is in bottom-to-top order for the
@ -1184,7 +1242,7 @@ meta_stack_sync_to_server (MetaStack *stack)
MetaWindow*
meta_stack_get_top (MetaStack *stack)
{
meta_stack_ensure_sorted (stack);
stack_ensure_sorted (stack);
if (stack->sorted)
return stack->sorted->data;
@ -1197,7 +1255,7 @@ meta_stack_get_bottom (MetaStack *stack)
{
GList *link;
meta_stack_ensure_sorted (stack);
stack_ensure_sorted (stack);
link = g_list_last (stack->sorted);
if (link != NULL)
@ -1214,7 +1272,7 @@ meta_stack_get_above (MetaStack *stack,
GList *link;
MetaWindow *above;
meta_stack_ensure_sorted (stack);
stack_ensure_sorted (stack);
link = g_list_find (stack->sorted, window);
if (link == NULL)
@ -1239,7 +1297,7 @@ meta_stack_get_below (MetaStack *stack,
GList *link;
MetaWindow *below;
meta_stack_ensure_sorted (stack);
stack_ensure_sorted (stack);
link = g_list_find (stack->sorted, window);
@ -1299,7 +1357,7 @@ get_default_focus_window (MetaStack *stack,
else
not_this_one_group = NULL;
meta_stack_ensure_sorted (stack);
stack_ensure_sorted (stack);
/* top of this layer is at the front of the list */
link = stack->sorted;
@ -1392,7 +1450,7 @@ meta_stack_list_windows (MetaStack *stack,
GList *workspace_windows = NULL;
GList *link;
meta_stack_ensure_sorted (stack); /* do adds/removes */
stack_ensure_sorted (stack); /* do adds/removes */
link = stack->sorted;
@ -1422,7 +1480,7 @@ meta_stack_windows_cmp (MetaStack *stack,
/* -1 means a below b */
meta_stack_ensure_sorted (stack); /* update constraints, layers */
stack_ensure_sorted (stack); /* update constraints, layers */
if (window_a->layer < window_b->layer)
return -1;
@ -1457,7 +1515,7 @@ meta_stack_get_positions (MetaStack *stack)
GList *tmp;
/* Make sure to handle any adds or removes */
meta_stack_ensure_sorted (stack);
stack_ensure_sorted (stack);
tmp = g_list_copy (stack->sorted);
tmp = g_list_sort (tmp, (GCompareFunc) compare_just_window_stack_position);
@ -1510,7 +1568,7 @@ meta_stack_set_positions (MetaStack *stack,
GList *tmp;
/* Make sure any adds or removes aren't in limbo -- is this needed? */
meta_stack_ensure_sorted (stack);
stack_ensure_sorted (stack);
if (!lists_contain_same_windows (windows, stack->sorted))
{
@ -1537,7 +1595,7 @@ meta_stack_set_positions (MetaStack *stack,
meta_topic (META_DEBUG_STACK,
"Reset the stack positions of (nearly) all windows\n");
meta_stack_sync_to_server (stack);
stack_sync_to_server (stack);
}
void
@ -1599,5 +1657,5 @@ meta_window_set_stack_position (MetaWindow *window,
int position)
{
meta_window_set_stack_position_no_sync (window, position);
meta_stack_sync_to_server (window->screen->stack);
stack_sync_to_server (window->screen->stack);
}

View File

@ -1,6 +1,22 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* Metacity Window Stack */
/**
* \file stack.h Which windows cover which other windows
*
* There are two factors that determine window position.
*
* One is window->stack_position, which is a unique integer
* indicating how windows are ordered with respect to one
* another. The ordering here transcends layers; it isn't changed
* as the window is moved among layers. This allows us to move several
* windows from one layer to another, while preserving the relative
* order of the moved windows. Also, it allows us to restore
* the stacking order from a saved session.
*
* However when actually stacking windows on the screen, the
* layer overrides the stack_position; windows are first sorted
* by layer, then by stack_position within each layer.
*/
/*
* Copyright (C) 2001 Havoc Pennington
@ -27,26 +43,10 @@
#include "screen-private.h"
/* Layers vs. stack positions
* ==========================
*
* There are two factors that determine window position.
*
* One is window->stack_position, which is a unique integer
* indicating how windows are ordered with respect to one
* another. The ordering here transcends layers; it isn't changed
* as the window is moved among layers. This allows us to move several
* windows from one layer to another, while preserving the relative
* order of the moved windows. Also, it allows us to restore
* the stacking order from a saved session.
*
* However when actually stacking windows on the screen, the
* layer overrides the stack_position; windows are first sorted
* by layer, then by stack_position within each layer.
*
/**
* Layers a window can be in.
* These MUST be in the order of stacking.
*/
/* These MUST be in the order of stacking */
typedef enum
{
META_LAYER_DESKTOP = 0,
@ -59,90 +59,343 @@ typedef enum
META_LAYER_LAST = 7
} MetaStackLayer;
/**
* A sorted list of windows bearing some level of resemblance to the stack of
* windows on the X server.
*
* (This is only used as a field within a MetaScreen; we treat it as a separate
* class for simplicity.)
*/
struct _MetaStack
{
/** The MetaScreen containing this stack. */
MetaScreen *screen;
/* All X windows that we manage, in mapping order,
* for _NET_CLIENT_LIST
/**
* A sequence of all the Windows (X handles, not MetaWindows) of the windows
* we manage, sorted in order. Suitable to be passed into _NET_CLIENT_LIST.
*/
GArray *windows;
/* Currently-stacked MetaWindow */
/** The MetaWindows of the windows we manage, sorted in order. */
GList *sorted;
/* MetaWindow to be added to the sorted list */
/**
* MetaWindows waiting to be added to the "sorted" and "windows" list, after
* being added by meta_stack_add() and before being assimilated by
* stack_ensure_sorted().
*
* The order of the elements in this list is not important; what is important
* is the stack_position element of each window.
*/
GList *added;
/* Window IDs to be removed from the stack */
/**
* Windows (X handles, not MetaWindows) waiting to be removed from the
* "windows" list, after being removed by meta_stack_remove() and before
* being assimilated by stack_ensure_sorted(). (We already removed them
* from the "sorted" list.)
*
* The order of the elements in this list is not important.
*/
GList *removed;
/**
* If this is zero, the local stack oughtn't to be brought up to date with
* the X server's stack, because it is in the middle of being updated.
* If it is positive, the local stack is said to be "frozen", and will need
* to be thawed that many times before the stack can be brought up to date
* again. You may freeze the stack with meta_stack_freeze() and thaw it
* with meta_stack_thaw().
*/
int freeze_count;
/* The last-known stack */
/**
* The last-known stack of all windows, bottom to top. We cache it here
* so that subsequent times we'll be able to do incremental moves.
*/
GArray *last_root_children_stacked;
/* number of stack positions */
int n_positions;
/**
* Number of stack positions; same as the length of added, but
* kept for quick reference.
*/
gint n_positions;
/* What needs doing */
/** Is the stack in need of re-sorting? */
unsigned int need_resort : 1;
/**
* Are the windows in the stack in need of having their
* layers recalculated?
*/
unsigned int need_relayer : 1;
/**
* Are the windows in the stack in need of having their positions
* recalculated with respect to transiency (parent and child windows)?
*/
unsigned int need_constrain : 1;
};
/**
* Creates and initialises a MetaStack.
*
* \param screen The MetaScreen which will be the parent of this stack.
* \return The new screen.
*/
MetaStack *meta_stack_new (MetaScreen *screen);
/**
* Destroys and frees a MetaStack.
*
* \param stack The stack to destroy.
*/
void meta_stack_free (MetaStack *stack);
/**
* Adds a window to the local stack. It is a fatal error to call this
* function on a window which already exists on the stack of any screen.
*
* \param window The window to add
* \param stack The stack to add it to
*/
void meta_stack_add (MetaStack *stack,
MetaWindow *window);
/**
* Removes a window from the local stack. It is a fatal error to call this
* function on a window which exists on the stack of any screen.
*
* \param window The window to remove
* \param stack The stack to remove it from
*/
void meta_stack_remove (MetaStack *stack,
MetaWindow *window);
/* re-read layer-related hints */
/**
* Recalculates the correct layer for all windows in the stack,
* and moves them about accordingly.
*
* \param window Dummy parameter
* \param stack The stack to recalculate
* \bug What's with the dummy parameter?
*/
void meta_stack_update_layer (MetaStack *stack,
MetaWindow *window);
/* reconsider transient_for */
/**
* Recalculates the correct stacking order for all windows in the stack
* according to their transience, and moves them about accordingly.
*
* \param window Dummy parameter
* \param stack The stack to recalculate
* \bug What's with the dummy parameter?
*/
void meta_stack_update_transient (MetaStack *stack,
MetaWindow *window);
/* raise/lower within a layer */
/**
* Move a window to the top of its layer.
*
* \param stack The stack to modify.
* \param window The window that's making an ascension.
* (Amulet of Yendor not required.)
*/
void meta_stack_raise (MetaStack *stack,
MetaWindow *window);
/**
* Move a window to the bottom of its layer.
*
* \param stack The stack to modify.
* \param window The window that's on the way downwards.
*/
void meta_stack_lower (MetaStack *stack,
MetaWindow *window);
/* On thaw, process pending and sync to server */
/**
* Prevent syncing to server until the next call of meta_stack_thaw(),
* so that we can carry out multiple operations in one go without having
* everything halfway reflected on the X server.
*
* (Calls to meta_stack_freeze() nest, so that multiple calls to
* meta_stack_freeze will require multiple calls to meta_stack_thaw().)
*
* \param stack The stack to freeze.
*/
void meta_stack_freeze (MetaStack *stack);
/**
* Undoes a meta_stack_freeze(), and processes anything which has become
* necessary during the freeze. It is an error to call this function if
* the stack has not been frozen.
*
* \param stack The stack to thaw.
*/
void meta_stack_thaw (MetaStack *stack);
/**
* Finds the top window on the stack.
*
* \param stack The stack to examine.
* \return The top window on the stack, or NULL in the vanishingly unlikely
* event that you have no windows on your screen whatsoever.
*/
MetaWindow* meta_stack_get_top (MetaStack *stack);
/**
* Finds the window at the bottom of the stack. Since that's pretty much
* always the desktop, this isn't the most useful of functions, and nobody
* actually calls it. We should probably get rid of it.
*
* \param stack The stack to search
*/
MetaWindow* meta_stack_get_bottom (MetaStack *stack);
/**
* Finds the window above a given window in the stack.
* It is not an error to pass in a window which does not exist in
* the stack; the function will merely return NULL.
*
* \param stack The stack to search.
* \param window The window to look above.
* \param only_within_layer If true, will return NULL if "window" is the
* top window in its layer.
* \return NULL if there is no such window;
* the window above "window" otherwise.
*/
MetaWindow* meta_stack_get_above (MetaStack *stack,
MetaWindow *window,
gboolean only_within_layer);
/**
* Finds the window below a given window in the stack.
* It is not an error to pass in a window which does not exist in
* the stack; the function will merely return NULL.
*
* \param stack The stack to search.
* \param window The window to look below.
* \param only_within_layer If true, will return NULL if "window" is the
* bottom window in its layer.
* \return NULL if there is no such window;
* the window below "window" otherwise.
*/
MetaWindow* meta_stack_get_below (MetaStack *stack,
MetaWindow *window,
gboolean only_within_layer);
/**
* Find the topmost, focusable, mapped, window in a stack. If you supply
* a window as "not_this_one", we won't return that one (presumably
* because it's going to be going away). But if you do supply "not_this_one"
* and we find its parent, we'll return that; and if "not_this_one" is in
* a group, we'll return the top window of that group.
*
* Also, we are prejudiced against dock windows. Every kind of window, even
* the desktop, will be returned in preference to a dock window.
*
* \param stack The stack to search.
* \param workspace NULL to search all workspaces; otherwise only windows
* from that workspace will be returned.
* \param not_this_one Window to ignore because it's being unfocussed or
* going away.
* \return The window matching all these constraints or NULL if none does.
*
* \bug Never called!
*/
MetaWindow* meta_stack_get_default_focus_window (MetaStack *stack,
MetaWorkspace *workspace,
MetaWindow *not_this_one);
/**
* Find the topmost, focusable, mapped, window in a stack. If you supply
* a window as "not_this_one", we won't return that one (presumably
* because it's going to be going away). But if you do supply "not_this_one"
* and we find its parent, we'll return that; and if "not_this_one" is in
* a group, we'll return the top window of that group.
*
* Also, we are prejudiced against dock windows. Every kind of window, even
* the desktop, will be returned in preference to a dock window.
*
* \param stack The stack to search.
* \param workspace NULL to search all workspaces; otherwise only windows
* from that workspace will be returned.
* \param not_this_one Window to ignore because it's being unfocussed or
* going away.
* \param root_x The returned window must contain this point,
* unless it's a dock.
* \param root_y See root_x.
* \return The window matching all these constraints or NULL if none does.
*/
MetaWindow* meta_stack_get_default_focus_window_at_point (MetaStack *stack,
MetaWorkspace *workspace,
MetaWindow *not_this_one,
int root_x,
int root_y);
/**
* Finds all the windows in the stack, in order.
*
* \param stack The stack to examine.
* \param workspace If non-NULL, only windows on this workspace will be
* returned; otherwise all windows in the stack will be
* returned.
* \return A list of windows, in stacking order, honouring layers.
*/
GList* meta_stack_list_windows (MetaStack *stack,
MetaWorkspace *workspace);
/* -1 if a < b, etc. */
/**
* Comparison function for windows within a stack. This is not directly
* suitable for use within a standard comparison routine, because it takes
* an extra parameter; you will need to wrap it.
*
* (FIXME: We could remove the stack parameter and use the stack of
* the screen of window A, and complain if the stack of the screen of
* window B differed; then this would be a usable general comparison function.)
*
* (FIXME: Apparently identical to compare_window_position(). Merge them.)
*
* \param stack A stack containing both window_a and window_b
* \param window_a A window
* \param window_b Another window
* \return -1 if window_a is below window_b, honouring layers; 1 if it's
* above it; 0 if you passed in the same window twice!
*/
int meta_stack_windows_cmp (MetaStack *stack,
MetaWindow *window_a,
MetaWindow *window_b);
/**
* Sets the position of a window within the stack. This will only move it
* up or down within its layer. It is an error to attempt to move this
* below position zero or above the last position in the stack (however, since
* we don't provide a simple way to tell the number of windows in the stack,
* this requirement may not be easy to fulfil).
*
* \param window The window which is moving.
* \param position Where it should move to (0 is the bottom).
*/
void meta_window_set_stack_position (MetaWindow *window,
int position);
/**
* Returns the current stack state, allowing rudimentary transactions.
*
* \param stack The stack to examine.
* \return An opaque GList representing the current stack sort order;
* it is the caller's responsibility to free it.
* Pass this to meta_stack_set_positions() later if you want to restore
* the state to where it was when you called this function.
*/
GList* meta_stack_get_positions (MetaStack *stack);
/**
* Rolls back a transaction, given the list returned from
* meta_stack_get_positions().
*
* \param stack The stack to roll back.
* \param windows The list returned from meta_stack_get_positions().
*/
void meta_stack_set_positions (MetaStack *stack,
GList *windows);

View File

@ -1,6 +1,17 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/* MetaWindow property handling */
/**
* \file window-props.c MetaWindow property handling
*
* A system which can inspect sets of properties of given windows
* and take appropriate action given their values.
*
* Note that all the meta_window_reload_propert* functions require a
* round trip to the server.
*
* \bug Not all the properties have moved over from their original
* handler in window.c yet.
*/
/*
* Copyright (C) 2001, 2002, 2003 Red Hat, Inc.

View File

@ -1412,8 +1412,7 @@ meta_window_should_be_showing (MetaWindow *window)
}
static void
finish_minimize (const MetaEffect *effect,
gpointer data)
finish_minimize (gpointer data)
{
MetaWindow *window = data;
/* FIXME: It really sucks to put timestamp pinging here; it'd
@ -1484,7 +1483,7 @@ implement_showing (MetaWindow *window,
}
else
{
finish_minimize (NULL, window);
finish_minimize (window);
}
}
else
@ -2777,30 +2776,6 @@ meta_window_shade (MetaWindow *window,
"Shading %s\n", window->desc);
if (!window->shaded)
{
#if 0
if (window->mapped)
{
/* Animation */
MetaRectangle starting_size;
MetaRectangle titlebar_size;
meta_window_get_outer_rect (window, &starting_size);
if (window->frame)
{
starting_size.y += window->frame->child_y;
starting_size.height -= window->frame->child_y;
}
titlebar_size = starting_size;
titlebar_size.height = 0;
meta_effects_draw_box_animation (window->screen,
&starting_size,
&titlebar_size,
META_SHADE_ANIMATION_LENGTH,
META_BOX_ANIM_SLIDE_UP);
}
#endif
window->shaded = TRUE;
meta_window_queue(window, META_QUEUE_MOVE_RESIZE | META_QUEUE_CALC_SHOWING);
@ -3874,7 +3849,6 @@ meta_window_get_wireframe_geometry (MetaWindow *window,
int *width,
int *height)
{
if (!window->display->grab_wireframe_active)
return;
@ -7582,9 +7556,13 @@ gboolean
meta_window_same_application (MetaWindow *window,
MetaWindow *other_window)
{
MetaGroup *group = meta_window_get_group (window);
MetaGroup *other_group = meta_window_get_group (other_window);
return
meta_window_get_group (window) ==
meta_window_get_group (other_window);
group!=NULL &&
other_group!=NULL &&
group==other_group;
}
void

View File

@ -116,15 +116,25 @@ meta_workspace_free (MetaWorkspace *workspace)
g_free (workspace->work_area_xinerama);
g_list_free (workspace->mru_list);
g_slist_free (workspace->all_struts);
g_list_free (workspace->list_containing_self);
/* screen.c:update_num_workspaces(), which calls us, removes windows from
* workspaces first, which can cause the workareas on the workspace to be
* invalidated (and hence for struts/regions/edges to be freed).
* So, no point trying to double free it; that causes a crash
* anyway. #361804.
*/
if (!workspace->work_areas_invalid)
{
g_slist_free (workspace->all_struts);
for (i = 0; i < screen->n_xinerama_infos; i++)
meta_rectangle_free_list_and_elements (workspace->xinerama_region[i]);
g_free (workspace->xinerama_region);
meta_rectangle_free_list_and_elements (workspace->screen_region);
meta_rectangle_free_list_and_elements (workspace->screen_edges);
meta_rectangle_free_list_and_elements (workspace->xinerama_edges);
}
g_free (workspace);

View File

@ -1051,7 +1051,7 @@ meta_prop_get_values (MetaDisplay *display,
&results.type, &results.format,
&results.n_items,
&results.bytes_after,
(gchar **)&results.prop) != Success ||
(unsigned char **)(&results.prop)) != Success ||
results.type == None)
{
values[i].type = META_PROP_VALUE_INVALID;

View File

@ -56,6 +56,7 @@ typedef enum
META_PREF_VISUAL_BELL_TYPE,
META_PREF_REDUCED_RESOURCES,
META_PREF_GNOME_ACCESSIBILITY,
META_PREF_GNOME_ANIMATIONS,
META_PREF_CURSOR_THEME,
META_PREF_CURSOR_SIZE,
META_PREF_COMPOSITING_MANAGER
@ -86,6 +87,7 @@ gboolean meta_prefs_get_auto_raise (void);
int meta_prefs_get_auto_raise_delay (void);
gboolean meta_prefs_get_reduced_resources (void);
gboolean meta_prefs_get_gnome_accessibility (void);
gboolean meta_prefs_get_gnome_animations (void);
const char* meta_prefs_get_command (int i);

View File

@ -132,7 +132,8 @@ grab_area_at_mouse (GtkWidget *invisible,
gtk_container_add (GTK_CONTAINER (display_window), widget);
g_object_unref (G_OBJECT (magnified));
g_object_add_weak_pointer (G_OBJECT (display_window), (void**) &display_window);
g_object_add_weak_pointer (G_OBJECT (display_window),
(gpointer) &display_window);
g_signal_connect (G_OBJECT (display_window), "destroy",
G_CALLBACK (gtk_main_quit), NULL);

View File

@ -29,6 +29,7 @@
#include <gtk/gtk.h>
#include <time.h>
#include <stdlib.h>
#include <string.h>
#include <libintl.h>
#define _(x) dgettext (GETTEXT_PACKAGE, x)
@ -816,6 +817,24 @@ main (int argc, char **argv)
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size (GTK_WINDOW (window), 350, 350);
if (strcmp (global_theme->name, global_theme->readable_name)==0)
gtk_window_set_title (GTK_WINDOW (window),
global_theme->readable_name);
else
{
/* The theme directory name is different from the name the theme
* gives itself within its file. Display both, directory name first.
*/
gchar *title = g_strconcat (global_theme->name, " - ",
global_theme->readable_name,
NULL);
gtk_window_set_title (GTK_WINDOW (window),
title);
g_free (title);
}
g_signal_connect (G_OBJECT (window), "destroy",
G_CALLBACK (gtk_main_quit), NULL);

7
test/tokentest/Makefile Normal file
View File

@ -0,0 +1,7 @@
# completely hacked-up makefile, proceed at your own risk, etc
default:
@echo "Try 'make tp' or 'make glib'"
tp: tokentest.c
gcc `pkg-config --cflags --libs glib-2.0 gdk-2.0 atk` -DMETACITY_DATADIR=\"/usr/share/metacity\" -I../.. -I../../src -I../../src/include tokentest.c ../../src/ui/theme.c ../../src/ui/gradient.c -o tp

19
test/tokentest/README Normal file
View File

@ -0,0 +1,19 @@
Tokeniser test
==============
This directory contains a set of tools for checking the behaviour
of the tokeniser for Metacity theme files.
tokentest.ini contains a list of all expressions retrieved from
all theme files on art.gnome.org, and mappings to what the tokenising
should be, in a separate representation. get-tokens.py produces the
template version of this; it will produce a file with no expected
values.
tokentest.c will either check that a tokeniser behaves according to
tokentest.ini, or, if it finds a file, is empty it will print the
values that the tokeniser it's using is producing.
The makefile is a hacky attempt at letting you compile either against
Metacity's existing tokeniser or one which uses GLib's "scanner".
This code may or may not eventually end up in the automated test suite.

View File

@ -0,0 +1,91 @@
#!/usr/bin/python
# Copyright (C) 2008 Thomas Thurman
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
import os
import xml.sax
standard = ['x', 'y', 'width', 'height']
expressions = {
'line': ['x1', 'x2', 'y1', 'y2'],
'rectangle': standard,
'arc': standard,
'clip': standard,
'gradient': standard,
'image': standard,
'gtk_arrow': standard,
'gtk_box': standard,
'gtk_vline': standard,
'icon': standard,
'title': standard,
'include': standard,
'tile': ['x', 'y', 'width', 'height',
'tile_xoffset', 'tile_yoffset',
'tile_width', 'tile_height'],
}
all_themes = '../../../all-themes/'
result = {}
class themeparser:
def __init__(self, name):
self.filename = name
def processingInstruction(self):
pass
def characters(self, what):
pass
def setDocumentLocator(self, where):
pass
def startDocument(self):
pass
def startElement(self, name, attrs):
if expressions.has_key(name):
for attr in expressions[name]:
if attrs.has_key(attr):
expression = attrs[attr]
if not result.has_key(expression): result[expression] = {}
result[expression][self.filename] = 1
def endElement(self, name):
pass # print "end element"
def endDocument(self):
pass
def maybe_parse(themename, filename):
if os.access(all_themes+filename, os.F_OK):
parser = themeparser(themename)
xml.sax.parse(all_themes+filename, parser)
for theme in os.listdir(all_themes):
maybe_parse(theme, theme+'/metacity-1/metacity-theme-1.xml')
maybe_parse(theme, theme+'/metacity-theme-1.xml')
print '[tokentest0]'
for expr in sorted(result.keys()):
print "# %s" % (', '.join(sorted(result[expr])))
print "%s=REQ" % (expr)
print

View File

@ -24,16 +24,120 @@
#include <stdio.h>
#include <glib/gerror.h>
#include <gtk/gtkobject.h>
#include <gtk/gtkicontheme.h>
#include <ui/theme.h>
#include <util.h>
#define TOKENTEST_GROUP "tokentest0"
/************************/
/* Dummy functions which are just here to keep the linker happy */
MetaTheme* meta_theme_load (const char *theme_name,
GError **err) {
// dummy
/* dummy */
return NULL;
}
void
meta_bug(const char *format, ...)
{
/* dummy */
}
void
meta_warning(const char *format, ...)
{
/* dummy */
}
GType
gtk_widget_get_type (void)
{
/* dummy */
}
GtkType
gtk_object_get_type (void)
{
/* dummy */
}
void gtk_paint_arrow (GtkStyle *style,
GdkWindow *window,
GtkStateType state_type,
GtkShadowType shadow_type,
GdkRectangle *area,
GtkWidget *widget,
const gchar *detail,
GtkArrowType arrow_type,
gboolean fill,
gint x,
gint y,
gint width,
gint height)
{
/* dummy */
}
void gtk_paint_vline (GtkStyle *style,
GdkWindow *window,
GtkStateType state_type,
GdkRectangle *area,
GtkWidget *widget,
const gchar *detail,
gint y1_,
gint y2_,
gint x)
{
/* dummy */
}
void gtk_paint_box (GtkStyle *style,
GdkWindow *window,
GtkStateType state_type,
GtkShadowType shadow_type,
GdkRectangle *area,
GtkWidget *widget,
const gchar *detail,
gint x,
gint y,
gint width,
gint height)
{
/* dummy */
}
GtkIconTheme *gtk_icon_theme_get_default (void)
{
/* dummy */
}
GdkPixbuf * gtk_icon_theme_load_icon (GtkIconTheme *icon_theme,
const gchar *icon_name,
gint size,
GtkIconLookupFlags flags,
GError **error)
{
/* dummy */
}
MetaRectangle meta_rect (int x, int y, int width, int height)
{
/* dummy */
}
void
meta_topic_real (MetaDebugTopic topic,
const char *format,
...)
{
/* dummy */
}
/*********************************/
GString *draw_spec_to_string(MetaDrawSpec *spec)
{
GString *result;
@ -60,7 +164,7 @@ GString *draw_spec_to_string(MetaDrawSpec *spec)
break;
case POS_TOKEN_DOUBLE:
g_string_append_printf (result, "(double %d)", t.d.d.val);
g_string_append_printf (result, "(double %g)", t.d.d.val);
break;
case POS_TOKEN_OPERATOR:
@ -133,11 +237,14 @@ load_keys ()
GError* err = NULL;
gchar** keys_of_file;
gchar** cursor;
gboolean ever_printed_header = FALSE;
gint passes = 0, fails = 0;
keys = g_key_file_new ();
g_key_file_load_from_file (keys,
"tokentest.ini",
G_KEY_FILE_NONE,
G_KEY_FILE_KEEP_COMMENTS,
&err);
keys_of_file = g_key_file_get_keys (keys,
@ -161,20 +268,35 @@ load_keys ()
str = draw_spec_to_string (spec);
if (strcmp (str->str, desideratum)==0) {
if (strcmp ("REQ", desideratum)==0) {
gchar *comment = g_key_file_get_comment (keys, TOKENTEST_GROUP, *cursor, &err);
if (!ever_printed_header) {
g_print ("[%s]\n", TOKENTEST_GROUP);
ever_printed_header = TRUE;
}
g_print ("\n#%s%s=%s\n", comment? comment: "", *cursor, str->str);
g_free (comment);
} else if (strcmp (str->str, desideratum)==0) {
g_print("PASS: %s\n", *cursor);
passes++;
} else {
g_warning ("FAIL: %s, wanted %s, got %s\n",
*cursor, desideratum, str->str);
fails++;
}
meta_theme_free (dummy);
g_string_free (str, TRUE);
g_free (desideratum);
cursor++;
}
g_strfreev (keys_of_file);
g_print("\n# Passes: %d. Fails: %d.\n", passes, fails);
}
int

File diff suppressed because it is too large Load Diff