Compare commits

..

2 Commits

Author SHA1 Message Date
46c0795125 backends: Add a method for monitoring cursor position 2017-02-23 11:06:41 -08:00
b51b2f7aa4 backends: Move update cursor position from the tracker to the backend
It doesn't quite fit in with the CursorTracker, and it simply forwards
to the CursorRenderer anyway.
2017-02-23 10:47:04 -08:00
190 changed files with 11614 additions and 13922 deletions

67
NEWS
View File

@ -1,70 +1,3 @@
3.25.1
======
* Always sync window geometry on state changes [Jonas; #780292]
* Use EGL instead of GLX when drawing using GLES [Jonas; #771636]
* Fix HiDPI detection on vertical monitor layouts [Carlos; #777687]
* Get double-click timing from desktop mouse settings [Armin; #771576]
* Scale relative motion deltas with monitor scale [Jonas, Carlos; #778119]
* Use texture fallback when setting hardware cursor fails [Jente; #770020]
* Fix lock-up when using additional theme variants [Shantanu; #780254]
* Rework low-level monitor configuration [Jonas; #777732]
* Fix building with GLES2 instead of GL [Mario; #781398]
* Misc. bug fixes [Jonas, Piotr, Philip; #780304, #772218, #781242, #781391]
Contributors:
Jonas Ådahl, Philip Chimento, Piotr Drąg, Carlos Garnacho, Shantanu Goel,
Jente Hidskes, Armin Krezović, Rui Matos, Florian Müllner, Mario Sanchez Prada
Translations:
Yuras Shumovich [be], Yosef Or Boczko [he], Tom Tryfonidis [el],
Fabio Tomat [fur], Kukuh Syafaat [id]
3.24.0
======
Translations:
Yuri Myasoedov [ru], Rūdolfs Mazurs [lv], Jordi Mas [ca]
3.23.92
=======
* Properly handle EGLOutput acquire errors [Jonas, Miguel; #779112]
* Fix crash when a window closes during Alt+Tab [Rui; #779483]
* Implement DnD handling code in wayland [Hyungwon; #765003]
* Fix fallout from pixel conversion optimization in 3.23.91 [Carlos; #779234]
* Fix mouse input stopping to work in applications [Carlos; #763246]
* Fix DnD between QT5 and GTK3 applications on wayland [Carlos; #779757]
* Make EDID reading less fragile [Jonas; #779837]
* Add support for tablet grouping [Carlos; #779986]
* Misc. bug fixes and cleanups [Rui, Jonas; #779436, #779001, #779745]
Contributors:
Jonas Ådahl, Miguel A. Vico, Olivier Fourdan, Carlos Garnacho,
Hyungwon Hwang, Rui Matos
Translations:
Chao-Hsiung Liao [zh_TW], Sveinn í Felli [is], Ask Hjorth Larsen [da],
Changwoo Ryu [ko], Aurimas Černius [lt], GNOME Translation Robot [gd],
Marek Černocký [cs], Fran Dieguez [gl], Dušan Kazik [sk]
3.23.91
=======
* Give libinput read-only access to /sys [Carlos; #778472]
* Allow edge-scrolling without 2-finger-scroll capable devices [Rui; #778554]
* Fullscreen windows on the requested monitor on wayland [Rui; #772525]
* Implement threaded swap_event fallback for NVIDIA driver [Owen; #779039]
* Avoid pixel conversions when storing textures from cairo [Carlos; #779234]
* Misc. bug fixes [Piotr, Rui, Florian; #772218, #776919, #778831, #642652]
Contributors:
Piotr Drąg, Carlos Garnacho, Rui Matos, Florian Müllner, Owen W. Taylor
Translations:
Inaki Larranaga Murgoitio [eu], Daniel Mustieles [es], Claude Paroz [fr],
Mario Blättermann [de], Kjartan Maraas [nb], Piotr Drąg [pl],
Andika Triwidada [id], Anders Jonsson [sv], Milo Casagrande [it],
Fabio Tomat [fur], Rafael Fontenelle [pt_BR],
Мирослав Николић [sr, sr@latin], Balázs Meskó [hu], Chao-Hsiung Liao [zh_TW]
3.23.90
=======
* Fix window menu placement with HiDPI [Jonas; #776055]

View File

@ -6,9 +6,7 @@ test -z "$srcdir" && srcdir=.
REQUIRED_AUTOMAKE_VERSION=1.11
olddir="$(pwd)"
cd "${srcdir}"
pushd $srcdir
(test -f configure.ac \
&& test -d src) || {
@ -21,8 +19,8 @@ aclocal --install || exit 1
intltoolize --force --copy --automake || exit 1
autoreconf --verbose --force --install || exit 1
cd "${olddir}"
popd
if [ "$NOCONFIGURE" = "" ]; then
"${srcdir}/configure" "$@" || exit 1
$srcdir/configure "$@" || exit 1
fi

View File

@ -43,9 +43,10 @@ $(marshal_h): stamp-marshal
@true
$(marshal_c): $(marshal_h)
$(AM_V_GEN)$(GLIB_GENMARSHAL) \
$(AM_V_GEN)(echo "#include \"$(marshal_h)\"" ; \
$(GLIB_GENMARSHAL) \
--prefix=$(glib_marshal_prefix) \
--body \
$(marshal_list) > xgen-mc \
&& (cmp -s xgen-mc $(marshal_c) || cp -f xgen-mc $(marshal_c)) \
$(marshal_list)) > xgen-mc \
&& cp xgen-mc $(marshal_c) \
&& rm -f xgen-mc

View File

@ -781,7 +781,7 @@ _cally_actor_get_top_level_origin (ClutterActor *actor,
"position of the stage");
}
else
#endif
#else
{
static gboolean yet_warned = FALSE;
@ -793,6 +793,7 @@ _cally_actor_get_top_level_origin (ClutterActor *actor,
"atk_component_get_extents() with ATK_XY_SCREEN.");
}
}
#endif
if (xp)
*xp = x;

View File

@ -283,6 +283,9 @@ void _clutter_actor_queue_redraw_full
ClutterPaintVolume *volume,
ClutterEffect *effect);
ClutterPaintVolume * _clutter_actor_get_queue_redraw_clip (ClutterActor *self);
void _clutter_actor_set_queue_redraw_clip (ClutterActor *self,
ClutterPaintVolume *clip_volume);
void _clutter_actor_finish_queue_redraw (ClutterActor *self,
ClutterPaintVolume *clip);

View File

@ -840,7 +840,6 @@ struct _ClutterActorPrivate
guint needs_compute_expand : 1;
guint needs_x_expand : 1;
guint needs_y_expand : 1;
guint needs_paint_volume_update : 1;
};
enum
@ -2620,7 +2619,6 @@ clutter_actor_real_allocate (ClutterActor *self,
g_object_freeze_notify (G_OBJECT (self));
changed = clutter_actor_set_allocation_internal (self, box, flags);
priv->needs_paint_volume_update = changed;
/* we allocate our children before we notify changes in our geometry,
* so that people connecting to properties will be able to get valid
@ -2643,12 +2641,9 @@ clutter_actor_real_allocate (ClutterActor *self,
}
static void
_clutter_actor_propagate_queue_redraw (ClutterActor *self,
ClutterActor *origin,
ClutterPaintVolume *pv)
_clutter_actor_signal_queue_redraw (ClutterActor *self,
ClutterActor *origin)
{
gboolean stop = FALSE;
/* no point in queuing a redraw on a destroyed actor */
if (CLUTTER_ACTOR_IN_DESTRUCTION (self))
return;
@ -2657,33 +2652,19 @@ _clutter_actor_propagate_queue_redraw (ClutterActor *self,
* the actor bas been cloned. In this case the clone will need to
* receive the signal so it can queue its own redraw.
*/
while (self)
{
_clutter_actor_queue_redraw_on_clones (self);
/* calls klass->queue_redraw in default handler */
if (g_signal_has_handler_pending (self, actor_signals[QUEUE_REDRAW],
0, TRUE))
{
g_signal_emit (self, actor_signals[QUEUE_REDRAW], 0, origin, pv, &stop);
}
else
{
stop = CLUTTER_ACTOR_GET_CLASS (self)->queue_redraw (self, origin, pv);
}
_clutter_actor_queue_redraw_on_clones (self);
if (stop)
break;
self = clutter_actor_get_parent (self);
}
/* calls klass->queue_redraw in default handler */
g_signal_emit (self, actor_signals[QUEUE_REDRAW], 0, origin);
}
static gboolean
clutter_actor_real_queue_redraw (ClutterActor *self,
ClutterActor *origin,
ClutterPaintVolume *paint_volume)
static void
clutter_actor_real_queue_redraw (ClutterActor *self,
ClutterActor *origin)
{
ClutterActor *parent;
CLUTTER_NOTE (PAINT, "Redraw queued on '%s' (from: '%s')",
_clutter_actor_get_debug_name (self),
origin != NULL ? _clutter_actor_get_debug_name (origin)
@ -2691,14 +2672,13 @@ clutter_actor_real_queue_redraw (ClutterActor *self,
/* no point in queuing a redraw on a destroyed actor */
if (CLUTTER_ACTOR_IN_DESTRUCTION (self))
return TRUE;
return;
/* If the queue redraw is coming from a child then the actor has
become dirty and any queued effect is no longer valid */
if (self != origin)
{
self->priv->is_dirty = TRUE;
self->priv->needs_paint_volume_update = TRUE;
self->priv->effect_to_redraw = NULL;
}
@ -2707,7 +2687,7 @@ clutter_actor_real_queue_redraw (ClutterActor *self,
* won't change so we don't have to propagate up the hierarchy.
*/
if (!CLUTTER_ACTOR_IS_VISIBLE (self))
return TRUE;
return;
/* Although we could determine here that a full stage redraw
* has already been queued and immediately bail out, we actually
@ -2721,7 +2701,7 @@ clutter_actor_real_queue_redraw (ClutterActor *self,
ClutterActor *stage = _clutter_actor_get_stage_internal (self);
if (stage != NULL &&
_clutter_stage_has_full_redraw_queued (CLUTTER_STAGE (stage)))
return TRUE;
return;
}
self->priv->propagated_one_redraw = TRUE;
@ -2729,7 +2709,12 @@ clutter_actor_real_queue_redraw (ClutterActor *self,
/* notify parents, if they are all visible eventually we'll
* queue redraw on the stage, which queues the redraw idle.
*/
return FALSE;
parent = clutter_actor_get_parent (self);
if (parent != NULL)
{
/* this will go up recursively */
_clutter_actor_signal_queue_redraw (parent, origin);
}
}
static void
@ -4030,11 +4015,7 @@ clutter_actor_continue_paint (ClutterActor *self)
clutter_paint_node_unref (dummy);
/* XXX:2.0 - Call the paint() virtual directly */
if (g_signal_has_handler_pending (self, actor_signals[PAINT],
0, TRUE))
g_signal_emit (self, actor_signals[PAINT], 0);
else
CLUTTER_ACTOR_GET_CLASS (self)->paint (self);
g_signal_emit (self, actor_signals[PAINT], 0);
}
else
{
@ -4048,11 +4029,7 @@ clutter_actor_continue_paint (ClutterActor *self)
*
* XXX:2.0 - Call the pick() virtual directly
*/
if (g_signal_has_handler_pending (self, actor_signals[PICK],
0, TRUE))
g_signal_emit (self, actor_signals[PICK], 0, &col);
else
CLUTTER_ACTOR_GET_CLASS (self)->pick (self, &col);
g_signal_emit (self, actor_signals[PICK], 0, &col);
}
}
else
@ -4835,8 +4812,7 @@ clutter_actor_set_scale_factor (ClutterActor *self,
g_assert (pspec != NULL);
g_assert (scale_p != NULL);
if (*scale_p != factor)
_clutter_actor_create_transition (self, pspec, *scale_p, factor);
_clutter_actor_create_transition (self, pspec, *scale_p, factor);
}
static inline void
@ -8018,12 +7994,10 @@ clutter_actor_class_init (ClutterActorClass *klass)
G_SIGNAL_RUN_LAST |
G_SIGNAL_NO_HOOKS,
G_STRUCT_OFFSET (ClutterActorClass, queue_redraw),
g_signal_accumulator_true_handled,
NULL,
_clutter_marshal_BOOLEAN__OBJECT_BOXED,
G_TYPE_BOOLEAN, 2,
CLUTTER_TYPE_ACTOR,
CLUTTER_TYPE_PAINT_VOLUME);
NULL, NULL,
_clutter_marshal_VOID__OBJECT,
G_TYPE_NONE, 1,
CLUTTER_TYPE_ACTOR);
/**
* ClutterActor::queue-relayout:
@ -8528,7 +8502,6 @@ clutter_actor_init (ClutterActor *self)
priv->needs_width_request = TRUE;
priv->needs_height_request = TRUE;
priv->needs_allocation = TRUE;
priv->needs_paint_volume_update = TRUE;
priv->cached_width_age = 1;
priv->cached_height_age = 1;
@ -8622,7 +8595,8 @@ _clutter_actor_finish_queue_redraw (ClutterActor *self,
ClutterPaintVolume *clip)
{
ClutterActorPrivate *priv = self->priv;
ClutterPaintVolume *pv = NULL;
ClutterPaintVolume *pv;
gboolean clipped;
/* Remove queue entry early in the process, otherwise a new
queue_redraw() during signal handling could put back this
@ -8649,7 +8623,8 @@ _clutter_actor_finish_queue_redraw (ClutterActor *self,
*/
if (clip)
{
pv = clip;
_clutter_actor_set_queue_redraw_clip (self, clip);
clipped = TRUE;
}
else if (G_LIKELY (priv->last_paint_volume_valid))
{
@ -8659,12 +8634,36 @@ _clutter_actor_finish_queue_redraw (ClutterActor *self,
ClutterActor *stage = _clutter_actor_get_stage_internal (self);
/* make sure we redraw the actors old position... */
_clutter_actor_propagate_queue_redraw (stage, stage,
&priv->last_paint_volume);
}
}
_clutter_actor_set_queue_redraw_clip (stage,
&priv->last_paint_volume);
_clutter_actor_signal_queue_redraw (stage, stage);
_clutter_actor_set_queue_redraw_clip (stage, NULL);
_clutter_actor_propagate_queue_redraw (self, self, pv);
/* XXX: Ideally the redraw signal would take a clip volume
* argument, but that would be an ABI break. Until we can
* break the ABI we pass the argument out-of-band
*/
/* setup the clip for the actors new position... */
_clutter_actor_set_queue_redraw_clip (self, pv);
clipped = TRUE;
}
else
clipped = FALSE;
}
else
clipped = FALSE;
_clutter_actor_signal_queue_redraw (self, self);
/* Just in case anyone is manually firing redraw signals without
* using the public queue_redraw() API we are careful to ensure that
* our out-of-band clip member is cleared before returning...
*
* Note: A NULL clip denotes a full-stage, un-clipped redraw
*/
if (G_LIKELY (clipped))
_clutter_actor_set_queue_redraw_clip (self, NULL);
}
static void
@ -8825,7 +8824,8 @@ _clutter_actor_queue_redraw_full (ClutterActor *self,
{
/* NB: NULL denotes an undefined clip which will result in a
* full redraw... */
_clutter_actor_propagate_queue_redraw (self, self, NULL);
_clutter_actor_set_queue_redraw_clip (self, NULL);
_clutter_actor_signal_queue_redraw (self, self);
return;
}
@ -8899,7 +8899,6 @@ _clutter_actor_queue_redraw_full (ClutterActor *self,
}
priv->is_dirty = TRUE;
priv->needs_paint_volume_update = TRUE;
}
/**
@ -10248,10 +10247,9 @@ clutter_actor_set_position (ClutterActor *self,
cur_position.x = clutter_actor_get_x (self);
cur_position.y = clutter_actor_get_y (self);
if (!clutter_point_equals (&cur_position, &new_position))
_clutter_actor_create_transition (self, obj_props[PROP_POSITION],
&cur_position,
&new_position);
_clutter_actor_create_transition (self, obj_props[PROP_POSITION],
&cur_position,
&new_position);
}
/**
@ -12957,7 +12955,6 @@ clutter_actor_add_child_internal (ClutterActor *self,
child->priv->needs_width_request = TRUE;
child->priv->needs_height_request = TRUE;
child->priv->needs_allocation = TRUE;
child->priv->needs_paint_volume_update = TRUE;
/* we only queue a relayout here, because any possible
* redraw has already been queued either by show() or
@ -16635,6 +16632,26 @@ clutter_actor_has_pointer (ClutterActor *self)
return self->priv->has_pointer;
}
/* XXX: This is a workaround for not being able to break the ABI of
* the QUEUE_REDRAW signal. It is an out-of-band argument. See
* clutter_actor_queue_clipped_redraw() for details.
*/
ClutterPaintVolume *
_clutter_actor_get_queue_redraw_clip (ClutterActor *self)
{
return g_object_get_data (G_OBJECT (self),
"-clutter-actor-queue-redraw-clip");
}
void
_clutter_actor_set_queue_redraw_clip (ClutterActor *self,
ClutterPaintVolume *clip)
{
g_object_set_data (G_OBJECT (self),
"-clutter-actor-queue-redraw-clip",
clip);
}
/**
* clutter_actor_has_allocation:
* @self: a #ClutterActor
@ -17481,22 +17498,16 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self)
priv = self->priv;
if (priv->paint_volume_valid)
{
if (!priv->needs_paint_volume_update)
return &priv->paint_volume;
clutter_paint_volume_free (&priv->paint_volume);
}
clutter_paint_volume_free (&priv->paint_volume);
if (_clutter_actor_get_paint_volume_real (self, &priv->paint_volume))
{
priv->paint_volume_valid = TRUE;
priv->needs_paint_volume_update = FALSE;
return &priv->paint_volume;
}
else
{
priv->paint_volume_valid = FALSE;
priv->needs_paint_volume_update = FALSE;
return NULL;
}
}

View File

@ -236,9 +236,8 @@ struct _ClutterActorClass
void (* pick) (ClutterActor *actor,
const ClutterColor *color);
gboolean (* queue_redraw) (ClutterActor *actor,
ClutterActor *leaf_that_queued,
ClutterPaintVolume *paint_volume);
void (* queue_redraw) (ClutterActor *actor,
ClutterActor *leaf_that_queued);
/* size negotiation */
void (* get_preferred_width) (ClutterActor *self,

View File

@ -76,6 +76,9 @@ struct _ClutterCanvasPrivate
gboolean dirty;
CoglBitmap *buffer;
int scale_factor;
guint scale_factor_set : 1;
};
enum
@ -84,6 +87,8 @@ enum
PROP_WIDTH,
PROP_HEIGHT,
PROP_SCALE_FACTOR,
PROP_SCALE_FACTOR_SET,
LAST_PROP
};
@ -180,6 +185,11 @@ clutter_canvas_set_property (GObject *gobject,
}
break;
case PROP_SCALE_FACTOR:
clutter_canvas_set_scale_factor (CLUTTER_CANVAS (gobject),
g_value_get_int (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break;
@ -204,6 +214,17 @@ clutter_canvas_get_property (GObject *gobject,
g_value_set_int (value, priv->height);
break;
case PROP_SCALE_FACTOR:
if (priv->scale_factor_set)
g_value_set_int (value, priv->scale_factor);
else
g_value_set_int (value, -1);
break;
case PROP_SCALE_FACTOR_SET:
g_value_set_boolean (value, priv->scale_factor_set);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break;
@ -247,6 +268,46 @@ clutter_canvas_class_init (ClutterCanvasClass *klass)
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS);
/**
* ClutterCanvas:scale-factor-set:
*
* Whether the #ClutterCanvas:scale-factor property is set.
*
* If the #ClutterCanvas:scale-factor-set property is %FALSE
* then #ClutterCanvas will use the #ClutterSettings:window-scaling-factor
* property.
*
* Since: 1.18
*/
obj_props[PROP_SCALE_FACTOR_SET] =
g_param_spec_boolean ("scale-factor-set",
P_("Scale Factor Set"),
P_("Whether the scale-factor property is set"),
FALSE,
G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
/**
* ClutterCanvas:scale-factor:
*
* The scaling factor to be applied to the Cairo surface used for
* drawing.
*
* If #ClutterCanvas:scale-factor is set to a negative value, the
* value of the #ClutterSettings:window-scaling-factor property is
* used instead.
*
* Use #ClutterCanvas:scale-factor-set to check if the scale factor
* is set.
*
* Since: 1.18
*/
obj_props[PROP_SCALE_FACTOR] =
g_param_spec_int ("scale-factor",
P_("Scale Factor"),
P_("The scaling factor for the surface"),
-1, 1000,
-1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
/**
* ClutterCanvas::draw:
@ -293,6 +354,7 @@ clutter_canvas_init (ClutterCanvas *self)
self->priv->width = -1;
self->priv->height = -1;
self->priv->scale_factor = -1;
}
static void
@ -335,6 +397,7 @@ clutter_canvas_emit_draw (ClutterCanvas *self)
gboolean mapped_buffer;
unsigned char *data;
CoglBuffer *buffer;
int window_scale = 1;
gboolean res;
cairo_t *cr;
@ -342,11 +405,20 @@ clutter_canvas_emit_draw (ClutterCanvas *self)
priv->dirty = TRUE;
real_width = priv->width;
real_height = priv->height;
if (priv->scale_factor_set)
window_scale = priv->scale_factor;
else
g_object_get (clutter_settings_get_default (),
"window-scaling-factor", &window_scale,
NULL);
CLUTTER_NOTE (MISC, "Creating Cairo surface with size %d x %d",
priv->width, priv->height);
real_width = priv->width * window_scale;
real_height = priv->height * window_scale;
CLUTTER_NOTE (MISC, "Creating Cairo surface with size %d x %d (real: %d x %d, scale: %d)",
priv->width, priv->height,
real_width, real_height,
window_scale);
if (priv->buffer == NULL)
{
@ -389,6 +461,8 @@ clutter_canvas_emit_draw (ClutterCanvas *self)
mapped_buffer = FALSE;
}
cairo_surface_set_device_scale (surface, window_scale, window_scale);
self->priv->cr = cr = cairo_create (surface);
g_signal_emit (self, canvas_signals[DRAW], 0,
@ -562,3 +636,81 @@ clutter_canvas_set_size (ClutterCanvas *canvas,
return clutter_canvas_invalidate_internal (canvas, width, height);
}
/**
* clutter_canvas_set_scale_factor:
* @canvas: a #ClutterCanvas
* @scale: the scale factor, or -1 for the default
*
* Sets the scaling factor for the Cairo surface used by @canvas.
*
* This function should rarely be used.
*
* The default scaling factor of a #ClutterCanvas content uses the
* #ClutterSettings:window-scaling-factor property, which is set by
* the windowing system. By using this function it is possible to
* override that setting.
*
* Changing the scale factor will invalidate the @canvas.
*
* Since: 1.18
*/
void
clutter_canvas_set_scale_factor (ClutterCanvas *canvas,
int scale)
{
ClutterCanvasPrivate *priv;
GObject *obj;
g_return_if_fail (CLUTTER_IS_CANVAS (canvas));
g_return_if_fail (scale != 0);
priv = canvas->priv;
if (scale < 0)
{
if (!priv->scale_factor_set)
return;
priv->scale_factor_set = FALSE;
priv->scale_factor = -1;
}
else
{
if (priv->scale_factor_set && priv->scale_factor == scale)
return;
priv->scale_factor_set = TRUE;
priv->scale_factor = scale;
}
clutter_content_invalidate (CLUTTER_CONTENT (canvas));
obj = G_OBJECT (canvas);
g_object_notify_by_pspec (obj, obj_props[PROP_SCALE_FACTOR]);
g_object_notify_by_pspec (obj, obj_props[PROP_SCALE_FACTOR_SET]);
}
/**
* clutter_canvas_get_scale_factor:
* @canvas: a #ClutterCanvas
*
* Retrieves the scaling factor of @canvas, as set using
* clutter_canvas_set_scale_factor().
*
* Return value: the scaling factor, or -1 if the @canvas
* uses the default from #ClutterSettings
*
* Since: 1.18
*/
int
clutter_canvas_get_scale_factor (ClutterCanvas *canvas)
{
g_return_val_if_fail (CLUTTER_IS_CANVAS (canvas), -1);
if (!canvas->priv->scale_factor_set)
return -1;
return canvas->priv->scale_factor;
}

View File

@ -54,7 +54,6 @@
struct _ClutterClonePrivate
{
ClutterActor *clone_source;
gulong source_destroy_id;
};
G_DEFINE_TYPE_WITH_PRIVATE (ClutterClone, clutter_clone, CLUTTER_TYPE_ACTOR)
@ -377,13 +376,6 @@ clutter_clone_new (ClutterActor *source)
return g_object_new (CLUTTER_TYPE_CLONE, "source", source, NULL);
}
static void
on_source_destroyed (ClutterActor *source,
ClutterClone *self)
{
clutter_clone_set_source_internal (self, NULL);
}
static void
clutter_clone_set_source_internal (ClutterClone *self,
ClutterActor *source)
@ -395,8 +387,6 @@ clutter_clone_set_source_internal (ClutterClone *self,
if (priv->clone_source != NULL)
{
g_signal_handler_disconnect (priv->clone_source, priv->source_destroy_id);
priv->source_destroy_id = 0;
_clutter_actor_detach_clone (priv->clone_source, CLUTTER_ACTOR (self));
g_object_unref (priv->clone_source);
priv->clone_source = NULL;
@ -406,8 +396,6 @@ clutter_clone_set_source_internal (ClutterClone *self,
{
priv->clone_source = g_object_ref (source);
_clutter_actor_attach_clone (priv->clone_source, CLUTTER_ACTOR (self));
priv->source_destroy_id = g_signal_connect (priv->clone_source, "destroy",
G_CALLBACK (on_source_destroyed), self);
}
g_object_notify_by_pspec (G_OBJECT (self), obj_props[PROP_SOURCE]);

View File

@ -48,7 +48,7 @@
#include "clutter-debug.h"
/* XXX - keep in sync with the ClutterStaticColor enumeration order */
static const ClutterColor static_colors[] = {
static const ClutterColor const static_colors[] = {
/* CGA/EGA color palette */
{ 0xff, 0xff, 0xff, 0xff }, /* white */
{ 0x00, 0x00, 0x00, 0xff }, /* black */

View File

@ -160,9 +160,6 @@ struct _ClutterInputDeviceClass
guint button);
gint (* get_group_n_modes) (ClutterInputDevice *device,
gint group);
gboolean (* is_grouped) (ClutterInputDevice *device,
ClutterInputDevice *other_device);
};
/* Platform-dependent interface */

View File

@ -2266,13 +2266,3 @@ clutter_input_device_set_mapping_mode (ClutterInputDevice *device,
device->mapping_mode = mapping;
g_object_notify (G_OBJECT (device), "mapping-mode");
}
gboolean
clutter_input_device_is_grouped (ClutterInputDevice *device,
ClutterInputDevice *other_device)
{
g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device), FALSE);
g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (other_device), FALSE);
return CLUTTER_INPUT_DEVICE_GET_CLASS (device)->is_grouped (device, other_device);
}

View File

@ -168,9 +168,6 @@ ClutterInputDeviceMapping clutter_input_device_get_mapping_mode (ClutterInputDev
CLUTTER_AVAILABLE_IN_ALL
void clutter_input_device_set_mapping_mode (ClutterInputDevice *device,
ClutterInputDeviceMapping mapping);
CLUTTER_AVAILABLE_IN_ALL
gboolean clutter_input_device_is_grouped (ClutterInputDevice *device,
ClutterInputDevice *other_device);
G_END_DECLS

View File

@ -1,7 +1,6 @@
BOOLEAN:BOXED
BOOLEAN:BOXED,INT,INT
BOOLEAN:OBJECT,BOOLEAN
BOOLEAN:OBJECT,BOXED
BOOLEAN:OBJECT,BOXED,DOUBLE
BOOLEAN:OBJECT,DOUBLE
BOOLEAN:OBJECT,ENUM
@ -18,7 +17,6 @@ VOID:BOXED,FLAGS
VOID:INT
VOID:INT64,INT64,FLOAT,BOOLEAN
VOID:INT,INT
VOID:INT,POINTER
VOID:FLOAT,FLOAT
VOID:INT,INT,INT,INT
VOID:OBJECT

View File

@ -1166,21 +1166,6 @@ _clutter_paint_volume_get_stage_paint_box (ClutterPaintVolume *pv,
_clutter_paint_volume_get_bounding_box (&projected_pv, box);
if (pv->is_2d && pv->actor &&
clutter_actor_get_z_position (pv->actor) == 0)
{
/* If the volume/actor are perfectly 2D, take the bounding box as
* good. We won't need to add any extra room for sub-pixel positioning
* in this case.
*/
clutter_paint_volume_free (&projected_pv);
box->x1 = CLUTTER_NEARBYINT (box->x1);
box->y1 = CLUTTER_NEARBYINT (box->y1);
box->x2 = CLUTTER_NEARBYINT (box->x2);
box->y2 = CLUTTER_NEARBYINT (box->y2);
return;
}
/* The aim here is that for a given rectangle defined with floating point
* coordinates we want to determine a stable quantized size in pixels
* that doesn't vary due to the original box's sub-pixel position.

View File

@ -77,7 +77,9 @@ struct _ClutterSettings
guint password_hint_time;
gint window_scaling_factor;
gint unscaled_font_dpi;
guint fixed_scaling_factor : 1;
};
struct _ClutterSettingsClass
@ -110,6 +112,7 @@ enum
PROP_PASSWORD_HINT_TIME,
PROP_WINDOW_SCALING_FACTOR,
PROP_UNSCALED_FONT_DPI,
PROP_LAST
@ -352,6 +355,14 @@ clutter_settings_set_property (GObject *gobject,
self->password_hint_time = g_value_get_uint (value);
break;
case PROP_WINDOW_SCALING_FACTOR:
if (!self->fixed_scaling_factor)
{
self->window_scaling_factor = g_value_get_int (value);
self->fixed_scaling_factor = TRUE;
}
break;
case PROP_UNSCALED_FONT_DPI:
self->font_dpi = g_value_get_int (value);
settings_update_resolution (self);
@ -371,7 +382,14 @@ clutter_settings_set_property_internal (ClutterSettings *self,
property = g_intern_string (property);
if (property == I_("window-scaling-factor") &&
self->fixed_scaling_factor)
return;
g_object_set_property (G_OBJECT (self), property, value);
if (property == I_("window-scaling-factor"))
self->fixed_scaling_factor = FALSE;
}
static void
@ -428,6 +446,10 @@ clutter_settings_get_property (GObject *gobject,
g_value_set_uint (value, self->password_hint_time);
break;
case PROP_WINDOW_SCALING_FACTOR:
g_value_set_int (value, self->window_scaling_factor);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
break;
@ -655,6 +677,14 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
500,
CLUTTER_PARAM_READWRITE);
obj_props[PROP_WINDOW_SCALING_FACTOR] =
g_param_spec_int ("window-scaling-factor",
P_("Window Scaling Factor"),
P_("The scaling factor to be applied to windows"),
1, G_MAXINT,
1,
CLUTTER_PARAM_READWRITE);
obj_props[PROP_FONTCONFIG_TIMESTAMP] =
g_param_spec_uint ("fontconfig-timestamp",
P_("Fontconfig configuration timestamp"),
@ -692,6 +722,8 @@ clutter_settings_class_init (ClutterSettingsClass *klass)
static void
clutter_settings_init (ClutterSettings *self)
{
const char *scale_str;
self->resolution = -1.0;
self->font_dpi = -1;
@ -710,6 +742,18 @@ clutter_settings_init (ClutterSettings *self)
self->xft_rgba = NULL;
self->long_press_duration = 500;
/* if the scaling factor was set by the environment we ignore
* any explicit setting
*/
scale_str = g_getenv ("CLUTTER_SCALE");
if (scale_str != NULL)
{
self->window_scaling_factor = atol (scale_str);
self->fixed_scaling_factor = TRUE;
}
else
self->window_scaling_factor = 1;
}
/**

View File

@ -28,7 +28,6 @@ enum
PROP_LAYOUT,
PROP_FRAMEBUFFER,
PROP_OFFSCREEN,
PROP_SCALE,
PROP_LAST
};
@ -38,7 +37,6 @@ static GParamSpec *obj_props[PROP_LAST];
typedef struct _ClutterStageViewPrivate
{
cairo_rectangle_int_t layout;
int scale;
CoglFramebuffer *framebuffer;
CoglOffscreen *offscreen;
@ -143,15 +141,6 @@ clutter_stage_view_blit_offscreen (ClutterStageView *view,
cogl_framebuffer_pop_matrix (priv->framebuffer);
}
int
clutter_stage_view_get_scale (ClutterStageView *view)
{
ClutterStageViewPrivate *priv =
clutter_stage_view_get_instance_private (view);
return priv->scale;
}
gboolean
clutter_stage_view_is_dirty_viewport (ClutterStageView *view)
{
@ -190,24 +179,16 @@ clutter_stage_view_set_dirty_projection (ClutterStageView *view,
priv->dirty_projection = dirty;
}
void
clutter_stage_view_get_offscreen_transformation_matrix (ClutterStageView *view,
CoglMatrix *matrix)
{
ClutterStageViewClass *view_class = CLUTTER_STAGE_VIEW_GET_CLASS (view);
view_class->get_offscreen_transformation_matrix (view, matrix);
}
void
clutter_stage_view_transform_to_onscreen (ClutterStageView *view,
gfloat *x,
gfloat *y)
{
ClutterStageViewClass *view_class = CLUTTER_STAGE_VIEW_GET_CLASS (view);
gfloat z = 0, w = 1;
CoglMatrix matrix;
clutter_stage_view_get_offscreen_transformation_matrix (view, &matrix);
view_class->get_offscreen_transformation_matrix (view, &matrix);
cogl_matrix_get_inverse (&matrix, &matrix);
cogl_matrix_transform_point (&matrix, x, y, &z, &w);
}
@ -240,9 +221,6 @@ clutter_stage_view_get_property (GObject *object,
case PROP_OFFSCREEN:
g_value_set_boxed (value, priv->offscreen);
break;
case PROP_SCALE:
g_value_set_int (value, priv->scale);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
@ -271,9 +249,6 @@ clutter_stage_view_set_property (GObject *object,
case PROP_OFFSCREEN:
priv->offscreen = g_value_dup_boxed (value);
break;
case PROP_SCALE:
priv->scale = g_value_get_int (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
@ -301,7 +276,6 @@ clutter_stage_view_init (ClutterStageView *view)
priv->dirty_viewport = TRUE;
priv->dirty_projection = TRUE;
priv->scale = 1;
}
static void
@ -341,13 +315,5 @@ clutter_stage_view_class_init (ClutterStageViewClass *klass)
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS);
obj_props[PROP_SCALE] =
g_param_spec_int ("scale",
"View scale",
"The view scale",
1, G_MAXINT, 1,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS);
g_object_class_install_properties (object_class, PROP_LAST, obj_props);
}

View File

@ -60,9 +60,6 @@ void clutter_stage_view_transform_to_onscreen (ClutterStageView *vie
void clutter_stage_view_blit_offscreen (ClutterStageView *view,
const cairo_rectangle_int_t *clip);
CLUTTER_AVAILABLE_IN_MUTTER
int clutter_stage_view_get_scale (ClutterStageView *view);
gboolean clutter_stage_view_is_dirty_viewport (ClutterStageView *view);
void clutter_stage_view_set_dirty_viewport (ClutterStageView *view,
@ -73,8 +70,4 @@ gboolean clutter_stage_view_is_dirty_projection (ClutterStageView *view);
void clutter_stage_view_set_dirty_projection (ClutterStageView *view,
gboolean dirty);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_stage_view_get_offscreen_transformation_matrix (ClutterStageView *view,
CoglMatrix *matrix);
#endif /* __CLUTTER_STAGE_VIEW_H__ */

View File

@ -231,35 +231,19 @@ _clutter_stage_window_ignoring_redraw_clips (ClutterStageWindow *window)
return TRUE;
}
cairo_region_t *
_clutter_stage_window_get_redraw_clip (ClutterStageWindow *window)
gboolean
_clutter_stage_window_get_redraw_clip_bounds (ClutterStageWindow *window,
cairo_rectangle_int_t *stage_clip)
{
ClutterStageWindowIface *iface;
g_return_val_if_fail (CLUTTER_IS_STAGE_WINDOW (window), FALSE);
iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window);
if (iface->get_redraw_clip != NULL)
return iface->get_redraw_clip (window);
if (iface->get_redraw_clip_bounds != NULL)
return iface->get_redraw_clip_bounds (window, stage_clip);
return NULL;
}
gboolean
_clutter_stage_window_get_redraw_clip_bounds (ClutterStageWindow *window,
cairo_rectangle_int_t *stage_clip)
{
cairo_region_t *redraw_clip;
g_return_val_if_fail (CLUTTER_IS_STAGE_WINDOW (window), FALSE);
redraw_clip = _clutter_stage_window_get_redraw_clip (window);
if (!redraw_clip)
return FALSE;
cairo_region_get_extents (redraw_clip, stage_clip);
cairo_region_destroy (redraw_clip);
return TRUE;
return FALSE;
}
void
@ -319,6 +303,33 @@ _clutter_stage_window_can_clip_redraws (ClutterStageWindow *window)
return FALSE;
}
void
_clutter_stage_window_set_scale_factor (ClutterStageWindow *window,
int factor)
{
ClutterStageWindowIface *iface;
g_return_if_fail (CLUTTER_IS_STAGE_WINDOW (window));
iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window);
if (iface->set_scale_factor != NULL)
iface->set_scale_factor (window, factor);
}
int
_clutter_stage_window_get_scale_factor (ClutterStageWindow *window)
{
ClutterStageWindowIface *iface;
g_return_val_if_fail (CLUTTER_IS_STAGE_WINDOW (window), 1);
iface = CLUTTER_STAGE_WINDOW_GET_IFACE (window);
if (iface->get_scale_factor != NULL)
return iface->get_scale_factor (window);
return 1;
}
GList *
_clutter_stage_window_get_views (ClutterStageWindow *window)
{

View File

@ -68,7 +68,9 @@ struct _ClutterStageWindowIface
cairo_rectangle_int_t *stage_rectangle);
gboolean (* has_redraw_clips) (ClutterStageWindow *stage_window);
gboolean (* ignoring_redraw_clips) (ClutterStageWindow *stage_window);
cairo_region_t * (* get_redraw_clip) (ClutterStageWindow *stage_window);
gboolean (* get_redraw_clip_bounds) (ClutterStageWindow *stage_window,
cairo_rectangle_int_t *clip);
void (* set_accept_focus) (ClutterStageWindow *stage_window,
gboolean accept_focus);
@ -81,6 +83,9 @@ struct _ClutterStageWindowIface
gboolean (* can_clip_redraws) (ClutterStageWindow *stage_window);
void (* set_scale_factor) (ClutterStageWindow *stage_window,
int factor);
int (* get_scale_factor) (ClutterStageWindow *stage_window);
GList *(* get_views) (ClutterStageWindow *stage_window);
int64_t (* get_frame_counter) (ClutterStageWindow *stage_window);
void (* finish_frame) (ClutterStageWindow *stage_window);
@ -123,7 +128,6 @@ gboolean _clutter_stage_window_has_redraw_clips (ClutterStageWin
gboolean _clutter_stage_window_ignoring_redraw_clips (ClutterStageWindow *window);
gboolean _clutter_stage_window_get_redraw_clip_bounds (ClutterStageWindow *window,
cairo_rectangle_int_t *clip);
cairo_region_t * _clutter_stage_window_get_redraw_clip (ClutterStageWindow *window);
void _clutter_stage_window_set_accept_focus (ClutterStageWindow *window,
gboolean accept_focus);
@ -136,6 +140,10 @@ void _clutter_stage_window_get_dirty_pixel (ClutterStageWin
gboolean _clutter_stage_window_can_clip_redraws (ClutterStageWindow *window);
void _clutter_stage_window_set_scale_factor (ClutterStageWindow *window,
int factor);
int _clutter_stage_window_get_scale_factor (ClutterStageWindow *window);
GList * _clutter_stage_window_get_views (ClutterStageWindow *window);
void _clutter_stage_window_finish_frame (ClutterStageWindow *window);

View File

@ -364,6 +364,7 @@ clutter_stage_allocate (ClutterActor *self,
float new_width, new_height;
float width, height;
cairo_rectangle_int_t window_size;
int scale_factor;
if (priv->impl == NULL)
return;
@ -464,6 +465,11 @@ clutter_stage_allocate (ClutterActor *self,
*/
_clutter_stage_window_get_geometry (priv->impl, &window_size);
scale_factor = _clutter_stage_window_get_scale_factor (priv->impl);
window_size.width *= scale_factor;
window_size.height *= scale_factor;
cogl_onscreen_clutter_backend_set_size (window_size.width,
window_size.height);
@ -624,13 +630,15 @@ clutter_stage_do_paint_view (ClutterStage *stage,
float clip_poly[8];
float viewport[4];
cairo_rectangle_int_t geom;
int window_scale;
_clutter_stage_window_get_geometry (priv->impl, &geom);
window_scale = _clutter_stage_window_get_scale_factor (priv->impl);
viewport[0] = priv->viewport[0];
viewport[1] = priv->viewport[1];
viewport[2] = priv->viewport[2];
viewport[3] = priv->viewport[3];
viewport[0] = priv->viewport[0] * window_scale;
viewport[1] = priv->viewport[1] * window_scale;
viewport[2] = priv->viewport[2] * window_scale;
viewport[3] = priv->viewport[3] * window_scale;
if (!clip)
{
@ -638,14 +646,16 @@ clutter_stage_do_paint_view (ClutterStage *stage,
clip = &view_layout;
}
clip_poly[0] = MAX (clip->x, 0);
clip_poly[1] = MAX (clip->y, 0);
clip_poly[0] = MAX (clip->x * window_scale, 0);
clip_poly[1] = MAX (clip->y * window_scale, 0);
clip_poly[2] = MIN (clip->x + clip->width, geom.width);
clip_poly[2] = MIN ((clip->x + clip->width) * window_scale,
geom.width * window_scale);
clip_poly[3] = clip_poly[1];
clip_poly[4] = clip_poly[2];
clip_poly[5] = MIN (clip->y + clip->height, geom.height);
clip_poly[5] = MIN ((clip->y + clip->height) * window_scale,
geom.height * window_scale);
clip_poly[6] = clip_poly[0];
clip_poly[7] = clip_poly[5];
@ -1199,44 +1209,45 @@ clutter_stage_real_queue_relayout (ClutterActor *self)
parent_class->queue_relayout (self);
}
static gboolean
clutter_stage_real_queue_redraw (ClutterActor *actor,
ClutterActor *leaf,
ClutterPaintVolume *redraw_clip)
static void
clutter_stage_real_queue_redraw (ClutterActor *actor,
ClutterActor *leaf)
{
ClutterStage *stage = CLUTTER_STAGE (actor);
ClutterStageWindow *stage_window;
ClutterPaintVolume *redraw_clip;
ClutterActorBox bounding_box;
ClutterActorBox intersection_box;
cairo_rectangle_int_t geom, stage_clip;
if (CLUTTER_ACTOR_IN_DESTRUCTION (actor))
return TRUE;
return;
/* If the backend can't do anything with redraw clips (e.g. it already knows
* it needs to redraw everything anyway) then don't spend time transforming
* any clip volume into stage coordinates... */
stage_window = _clutter_stage_get_window (stage);
if (stage_window == NULL)
return TRUE;
return;
if (_clutter_stage_window_ignoring_redraw_clips (stage_window))
{
_clutter_stage_window_add_redraw_clip (stage_window, NULL);
return FALSE;
return;
}
/* Convert the clip volume into stage coordinates and then into an
* axis aligned stage coordinates bounding box...
*/
redraw_clip = _clutter_actor_get_queue_redraw_clip (leaf);
if (redraw_clip == NULL)
{
_clutter_stage_window_add_redraw_clip (stage_window, NULL);
return FALSE;
return;
}
if (redraw_clip->is_empty)
return TRUE;
return;
_clutter_paint_volume_get_stage_paint_box (redraw_clip,
stage,
@ -1252,7 +1263,7 @@ clutter_stage_real_queue_redraw (ClutterActor *actor,
/* There is no need to track degenerate/empty redraw clips */
if (intersection_box.x2 <= intersection_box.x1 ||
intersection_box.y2 <= intersection_box.y1)
return TRUE;
return;
/* when converting to integer coordinates make sure we round the edges of the
* clip rectangle outwards... */
@ -1262,7 +1273,6 @@ clutter_stage_real_queue_redraw (ClutterActor *actor,
stage_clip.height = intersection_box.y2 - stage_clip.y;
_clutter_stage_window_add_redraw_clip (stage_window, &stage_clip);
return FALSE;
}
gboolean
@ -1315,31 +1325,6 @@ clutter_stage_get_redraw_clip_bounds (ClutterStage *stage,
}
}
cairo_region_t *
clutter_stage_get_redraw_clip (ClutterStage *stage)
{
ClutterStagePrivate *priv;
cairo_rectangle_int_t clip;
cairo_region_t *region;
g_return_val_if_fail (CLUTTER_IS_STAGE (stage), NULL);
priv = stage->priv;
region = _clutter_stage_window_get_redraw_clip (priv->impl);
if (region)
return region;
if (!region)
{
/* Set clip to the full extents of the stage */
_clutter_stage_window_get_geometry (priv->impl, &clip);
region = cairo_region_create_rectangle (&clip);
}
return region;
}
static void
read_pixels_to_file (char *filename_stem,
int x,
@ -1393,19 +1378,19 @@ _clutter_stage_do_pick_on_view (ClutterStage *stage,
gint dirty_y;
gint read_x;
gint read_y;
int window_scale;
float fb_width, fb_height;
int fb_scale;
int viewport_offset_x;
int viewport_offset_y;
priv = stage->priv;
context = _clutter_context_get_default ();
fb_scale = clutter_stage_view_get_scale (view);
window_scale = _clutter_stage_window_get_scale_factor (priv->impl);
clutter_stage_view_get_layout (view, &view_layout);
fb_width = view_layout.width * fb_scale;
fb_height = view_layout.height * fb_scale;
fb_width = view_layout.width;
fb_height = view_layout.height;
cogl_push_framebuffer (fb);
/* needed for when a context switch happens */
@ -1415,38 +1400,38 @@ _clutter_stage_do_pick_on_view (ClutterStage *stage,
* picking to not work at all, so setting it the whole framebuffer content
* for now. */
cogl_framebuffer_push_scissor_clip (fb, 0, 0,
view_layout.width * fb_scale,
view_layout.height * fb_scale);
view_layout.width,
view_layout.height);
_clutter_stage_window_get_dirty_pixel (priv->impl, view, &dirty_x, &dirty_y);
if (G_LIKELY (!(clutter_pick_debug_flags & CLUTTER_DEBUG_DUMP_PICK_BUFFERS)))
{
CLUTTER_NOTE (PICK, "Pushing pick scissor clip x: %d, y: %d, 1x1",
dirty_x * fb_scale,
dirty_y * fb_scale);
cogl_framebuffer_push_scissor_clip (fb, dirty_x * fb_scale, dirty_y * fb_scale, 1, 1);
dirty_x * window_scale,
dirty_y * window_scale);
cogl_framebuffer_push_scissor_clip (fb, dirty_x * window_scale, dirty_y * window_scale, 1, 1);
}
viewport_offset_x = x * fb_scale - dirty_x * fb_scale;
viewport_offset_y = y * fb_scale - dirty_y * fb_scale;
viewport_offset_x = x * window_scale - dirty_x * window_scale;
viewport_offset_y = y * window_scale - dirty_y * window_scale;
CLUTTER_NOTE (PICK, "Setting viewport to %f, %f, %f, %f",
priv->viewport[0] * fb_scale - viewport_offset_x,
priv->viewport[1] * fb_scale - viewport_offset_y,
priv->viewport[2] * fb_scale,
priv->viewport[3] * fb_scale);
cogl_set_viewport (priv->viewport[0] * fb_scale - viewport_offset_x,
priv->viewport[1] * fb_scale - viewport_offset_y,
priv->viewport[2] * fb_scale,
priv->viewport[3] * fb_scale);
priv->viewport[0] * window_scale - viewport_offset_x,
priv->viewport[1] * window_scale - viewport_offset_y,
priv->viewport[2] * window_scale,
priv->viewport[3] * window_scale);
cogl_set_viewport (priv->viewport[0] * window_scale - viewport_offset_x,
priv->viewport[1] * window_scale - viewport_offset_y,
priv->viewport[2] * window_scale,
priv->viewport[3] * window_scale);
read_x = dirty_x * fb_scale;
read_y = dirty_y * fb_scale;
read_x = dirty_x * window_scale;
read_y = dirty_y * window_scale;
CLUTTER_NOTE (PICK, "Performing pick at %i,%i on view %dx%d+%d+%d s: %d",
CLUTTER_NOTE (PICK, "Performing pick at %i,%i on view %dx%d+%d+%d",
x, y,
view_layout.width, view_layout.height,
view_layout.x, view_layout.y, fb_scale);
view_layout.x, view_layout.y);
cogl_color_init_from_4ub (&stage_pick_id, 255, 255, 255, 255);
cogl_clear (&stage_pick_id, COGL_BUFFER_BIT_COLOR | COGL_BUFFER_BIT_DEPTH);
@ -2201,8 +2186,8 @@ clutter_stage_class_init (ClutterStageClass *klass)
g_signal_new (I_("presented"),
G_TYPE_FROM_CLASS (gobject_class),
G_SIGNAL_RUN_LAST,
0, NULL, NULL,
_clutter_marshal_VOID__INT_POINTER,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 2,
G_TYPE_INT, G_TYPE_POINTER);
@ -2225,6 +2210,7 @@ clutter_stage_init (ClutterStage *self)
ClutterStagePrivate *priv;
ClutterStageWindow *impl;
ClutterBackend *backend;
int window_scale = 1;
GError *error;
/* a stage is a top-level object */
@ -2242,6 +2228,7 @@ clutter_stage_init (ClutterStage *self)
{
_clutter_stage_set_window (self, impl);
_clutter_stage_window_get_geometry (priv->impl, &geom);
window_scale = _clutter_stage_window_get_scale_factor (priv->impl);
}
else
{
@ -2295,8 +2282,8 @@ clutter_stage_init (ClutterStage *self)
priv->perspective.aspect,
priv->perspective.z_near,
50, /* distance to 2d plane */
geom.width,
geom.height);
geom.width * window_scale,
geom.height * window_scale);
/* FIXME - remove for 2.0 */
@ -3425,6 +3412,16 @@ clutter_stage_ensure_viewport (ClutterStage *stage)
clutter_actor_queue_redraw (CLUTTER_ACTOR (stage));
}
static void
clutter_stage_apply_scale (ClutterStage *stage)
{
int factor;
factor = _clutter_stage_window_get_scale_factor (stage->priv->impl);
if (factor != 1)
cogl_matrix_scale (&stage->priv->view, factor, factor, 1.f);
}
# define _DEG_TO_RAD(d) ((d) * ((float) G_PI / 180.0f))
/* This calculates a distance into the view frustum to position the
@ -3571,7 +3568,7 @@ _clutter_stage_maybe_setup_viewport (ClutterStage *stage,
{
cairo_rectangle_int_t view_layout;
ClutterPerspective perspective;
int fb_scale;
int window_scale;
int viewport_offset_x;
int viewport_offset_y;
float z_2d;
@ -3581,15 +3578,15 @@ _clutter_stage_maybe_setup_viewport (ClutterStage *stage,
priv->viewport[2],
priv->viewport[3]);
fb_scale = clutter_stage_view_get_scale (view);
window_scale = _clutter_stage_window_get_scale_factor (priv->impl);
clutter_stage_view_get_layout (view, &view_layout);
viewport_offset_x = view_layout.x * fb_scale;
viewport_offset_y = view_layout.y * fb_scale;
cogl_set_viewport (priv->viewport[0] * fb_scale - viewport_offset_x,
priv->viewport[1] * fb_scale - viewport_offset_y,
priv->viewport[2] * fb_scale,
priv->viewport[3] * fb_scale);
viewport_offset_x = view_layout.x * window_scale;
viewport_offset_y = view_layout.y * window_scale;
cogl_set_viewport (priv->viewport[0] * window_scale - viewport_offset_x,
priv->viewport[1] * window_scale - viewport_offset_y,
priv->viewport[2] * window_scale,
priv->viewport[3] * window_scale);
perspective = priv->perspective;
@ -3620,8 +3617,10 @@ _clutter_stage_maybe_setup_viewport (ClutterStage *stage,
perspective.aspect,
perspective.z_near,
z_2d,
priv->viewport[2],
priv->viewport[3]);
priv->viewport[2] * window_scale,
priv->viewport[3] * window_scale);
clutter_stage_apply_scale (stage);
clutter_stage_view_set_dirty_viewport (view, FALSE);
}
@ -4636,6 +4635,23 @@ clutter_stage_skip_sync_delay (ClutterStage *stage)
_clutter_stage_window_schedule_update (stage_window, -1);
}
void
_clutter_stage_set_scale_factor (ClutterStage *stage,
int factor)
{
ClutterStagePrivate *priv = stage->priv;
if (CLUTTER_ACTOR_IN_DESTRUCTION (stage))
return;
if (priv->impl == NULL)
return;
_clutter_stage_window_set_scale_factor (priv->impl, factor);
clutter_actor_queue_redraw (CLUTTER_ACTOR (stage));
}
int64_t
clutter_stage_get_frame_counter (ClutterStage *stage)
{

View File

@ -245,9 +245,6 @@ guchar * clutter_stage_read_pixels (ClutterStage
CLUTTER_AVAILABLE_IN_ALL
void clutter_stage_get_redraw_clip_bounds (ClutterStage *stage,
cairo_rectangle_int_t *clip);
CLUTTER_AVAILABLE_IN_MUTTER
cairo_region_t * clutter_stage_get_redraw_clip (ClutterStage *stage);
CLUTTER_AVAILABLE_IN_ALL
void clutter_stage_ensure_viewport (ClutterStage *stage);
CLUTTER_AVAILABLE_IN_ALL

View File

@ -312,7 +312,7 @@ G_BEGIN_DECLS
*
* Since: 1.2
*/
extern const guint clutter_major_version;
const guint clutter_major_version;
/**
* clutter_minor_version:
@ -326,7 +326,7 @@ extern const guint clutter_major_version;
*
* Since: 1.2
*/
extern const guint clutter_minor_version;
const guint clutter_minor_version;
/**
* clutter_micro_version:
@ -340,7 +340,7 @@ extern const guint clutter_minor_version;
*
* Since: 1.2
*/
extern const guint clutter_micro_version;
const guint clutter_micro_version;
G_END_DECLS

View File

@ -54,7 +54,7 @@ typedef struct _ClutterStageViewCoglPrivate
/* Stores a list of previous damaged areas in the stage coordinate space */
#define DAMAGE_HISTORY_MAX 16
#define DAMAGE_HISTORY(x) ((x) & (DAMAGE_HISTORY_MAX - 1))
cairo_region_t * damage_history[DAMAGE_HISTORY_MAX];
cairo_rectangle_int_t damage_history[DAMAGE_HISTORY_MAX];
unsigned int damage_index;
} ClutterStageViewCoglPrivate;
@ -246,10 +246,13 @@ clutter_stage_cogl_has_redraw_clips (ClutterStageWindow *stage_window)
/* NB: at the start of each new frame there is an implied clip that
* clips everything (i.e. nothing would be drawn) so we need to make
* sure we return True in the un-initialized case here.
*
* NB: a clip width of 0 means a full stage redraw has been queued
* so we effectively don't have any redraw clips in that case.
*/
if (!stage_cogl->initialized_redraw_clip ||
(stage_cogl->initialized_redraw_clip &&
stage_cogl->redraw_clip))
stage_cogl->bounding_redraw_clip.width != 0))
return TRUE;
else
return FALSE;
@ -260,9 +263,9 @@ clutter_stage_cogl_ignoring_redraw_clips (ClutterStageWindow *stage_window)
{
ClutterStageCogl *stage_cogl = CLUTTER_STAGE_COGL (stage_window);
/* NB: a NULL clip means a full stage redraw is required */
/* NB: a clip width of 0 means a full stage redraw is required */
if (stage_cogl->initialized_redraw_clip &&
!stage_cogl->redraw_clip)
stage_cogl->bounding_redraw_clip.width == 0)
return TRUE;
else
return FALSE;
@ -293,11 +296,11 @@ clutter_stage_cogl_add_redraw_clip (ClutterStageWindow *stage_window,
return;
/* A NULL stage clip means a full stage redraw has been queued and
* we keep track of this by setting a NULL redraw_clip.
*/
* we keep track of this by setting a zero width
* stage_cogl->bounding_redraw_clip */
if (stage_clip == NULL)
{
g_clear_pointer (&stage_cogl->redraw_clip, cairo_region_destroy);
stage_cogl->bounding_redraw_clip.width = 0;
stage_cogl->initialized_redraw_clip = TRUE;
return;
}
@ -306,27 +309,34 @@ clutter_stage_cogl_add_redraw_clip (ClutterStageWindow *stage_window,
if (stage_clip->width == 0 || stage_clip->height == 0)
return;
if (!stage_cogl->redraw_clip)
if (!stage_cogl->initialized_redraw_clip)
{
stage_cogl->redraw_clip = cairo_region_create_rectangle (stage_clip);
stage_cogl->bounding_redraw_clip = *stage_clip;
}
else
else if (stage_cogl->bounding_redraw_clip.width > 0)
{
cairo_region_union_rectangle (stage_cogl->redraw_clip, stage_clip);
_clutter_util_rectangle_union (&stage_cogl->bounding_redraw_clip,
stage_clip,
&stage_cogl->bounding_redraw_clip);
}
stage_cogl->initialized_redraw_clip = TRUE;
}
static cairo_region_t *
clutter_stage_cogl_get_redraw_clip (ClutterStageWindow *stage_window)
static gboolean
clutter_stage_cogl_get_redraw_clip_bounds (ClutterStageWindow *stage_window,
cairo_rectangle_int_t *stage_clip)
{
ClutterStageCogl *stage_cogl = CLUTTER_STAGE_COGL (stage_window);
if (stage_cogl->using_clipped_redraw && stage_cogl->redraw_clip)
return cairo_region_copy (stage_cogl->redraw_clip);
if (stage_cogl->using_clipped_redraw)
{
*stage_clip = stage_cogl->bounding_redraw_clip;
return NULL;
return TRUE;
}
return FALSE;
}
static inline gboolean
@ -404,51 +414,37 @@ swap_framebuffer (ClutterStageWindow *stage_window,
static void
paint_stage (ClutterStageCogl *stage_cogl,
ClutterStageView *view,
cairo_region_t *clip)
const cairo_rectangle_int_t *clip)
{
ClutterStage *stage = stage_cogl->wrapper;
cairo_rectangle_int_t clip_rect;
cairo_region_get_extents (clip, &clip_rect);
_clutter_stage_maybe_setup_viewport (stage, view);
_clutter_stage_paint_view (stage, view, &clip_rect);
_clutter_stage_paint_view (stage, view, clip);
if (clutter_stage_view_get_onscreen (view) !=
clutter_stage_view_get_framebuffer (view))
{
clutter_stage_view_blit_offscreen (view, &clip_rect);
clutter_stage_view_blit_offscreen (view, clip);
}
}
static void
fill_current_damage_history (ClutterStageView *view,
cairo_region_t *damage)
fill_current_damage_history_and_step (ClutterStageView *view)
{
ClutterStageViewCogl *view_cogl = CLUTTER_STAGE_VIEW_COGL (view);
ClutterStageViewCoglPrivate *view_priv =
clutter_stage_view_cogl_get_instance_private (view_cogl);
cairo_region_t **current_damage;
cairo_rectangle_int_t view_rect;
cairo_rectangle_int_t *current_damage;
current_damage =
&view_priv->damage_history[DAMAGE_HISTORY (view_priv->damage_index)];
clutter_stage_view_get_layout (view, &view_rect);
g_clear_pointer (current_damage, cairo_region_destroy);
*current_damage = cairo_region_copy (damage);
*current_damage = view_rect;
view_priv->damage_index++;
}
static void
fill_current_damage_history_rectangle (ClutterStageView *view,
const cairo_rectangle_int_t *rect)
{
cairo_region_t *damage;
damage = cairo_region_create_rectangle (rect);
fill_current_damage_history (view, damage);
cairo_region_destroy (damage);
}
static void
transform_swap_region_to_onscreen (ClutterStageView *view,
cairo_rectangle_int_t *swap_region)
@ -503,13 +499,11 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
gboolean do_swap_buffer;
gboolean swap_with_damage;
ClutterActor *wrapper;
cairo_region_t *redraw_clip;
cairo_region_t *clip_region;
cairo_rectangle_int_t redraw_clip;
cairo_rectangle_int_t swap_region;
cairo_rectangle_int_t clip_rect;
cairo_rectangle_int_t redraw_rect;
cairo_rectangle_int_t clip_region;
gboolean clip_region_empty;
int fb_scale;
int window_scale;
wrapper = CLUTTER_ACTOR (stage_cogl->wrapper);
@ -523,19 +517,20 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
cogl_is_onscreen (fb) &&
cogl_clutter_winsys_has_feature (COGL_WINSYS_FEATURE_BUFFER_AGE);
/* NB: a NULL redraw clip == full stage redraw */
if (!stage_cogl->redraw_clip)
/* NB: a zero width redraw clip == full stage redraw */
if (stage_cogl->bounding_redraw_clip.width == 0)
have_clip = FALSE;
else
{
cairo_region_t *view_region;
redraw_clip = cairo_region_copy (stage_cogl->redraw_clip);
redraw_clip = stage_cogl->bounding_redraw_clip;
_clutter_util_rectangle_intersection (&redraw_clip,
&view_rect,
&redraw_clip);
view_region = cairo_region_create_rectangle (&view_rect);
cairo_region_intersect (redraw_clip, view_region);
have_clip = !cairo_region_equal (redraw_clip, view_region);
cairo_region_destroy (view_region);
have_clip = !(redraw_clip.x == view_rect.x &&
redraw_clip.y == view_rect.y &&
redraw_clip.width == view_rect.width &&
redraw_clip.height == view_rect.height);
}
may_use_clipped_redraw = FALSE;
@ -547,12 +542,11 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
cogl_onscreen_get_frame_counter (COGL_ONSCREEN (fb)) > 3)
{
may_use_clipped_redraw = TRUE;
clip_region = cairo_region_reference (redraw_clip);
clip_region = redraw_clip;
}
else
{
clip_region = cairo_region_create ();
redraw_clip = cairo_region_reference (clip_region);
clip_region = (cairo_rectangle_int_t){ 0 };
}
if (may_use_clipped_redraw &&
@ -561,9 +555,9 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
else
use_clipped_redraw = FALSE;
clip_region_empty = may_use_clipped_redraw && cairo_region_is_empty (clip_region);
clip_region_empty = may_use_clipped_redraw && clip_region.width == 0;
fb_scale = clutter_stage_view_get_scale (view);
window_scale = _clutter_stage_window_get_scale_factor (stage_window);
swap_with_damage = FALSE;
if (has_buffer_age)
@ -571,26 +565,34 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
if (use_clipped_redraw && !clip_region_empty)
{
int age, i;
cairo_rectangle_int_t *current_damage =
&view_priv->damage_history[DAMAGE_HISTORY (view_priv->damage_index++)];
age = cogl_onscreen_get_buffer_age (COGL_ONSCREEN (fb));
if (valid_buffer_age (view_cogl, age))
{
fill_current_damage_history (view, clip_region);
*current_damage = clip_region;
for (i = 1; i <= age; i++)
{
cairo_region_t *damage =
view_priv->damage_history[DAMAGE_HISTORY (view_priv->damage_index - i - 1)];
cairo_region_union (clip_region, damage);
cairo_rectangle_int_t *damage =
&view_priv->damage_history[DAMAGE_HISTORY (view_priv->damage_index - i - 1)];
_clutter_util_rectangle_union (&clip_region, damage, &clip_region);
}
/* Update the redraw clip state with the extra damage. */
cairo_region_union (stage_cogl->redraw_clip, clip_region);
/* Update the bounding redraw clip state with the extra damage. */
_clutter_util_rectangle_union (&stage_cogl->bounding_redraw_clip,
&clip_region,
&stage_cogl->bounding_redraw_clip);
CLUTTER_NOTE (CLIPPING, "Reusing back buffer(age=%d) - repairing region: num rects: %d\n",
CLUTTER_NOTE (CLIPPING, "Reusing back buffer(age=%d) - repairing region: x=%d, y=%d, width=%d, height=%d\n",
age,
cairo_region_num_rectangles (clip_region));
clip_region.x,
clip_region.y,
clip_region.width,
clip_region.height);
swap_with_damage = TRUE;
}
@ -598,17 +600,15 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
{
CLUTTER_NOTE (CLIPPING, "Invalid back buffer(age=%d): forcing full redraw\n", age);
use_clipped_redraw = FALSE;
fill_current_damage_history_rectangle (view, &view_rect);
*current_damage = view_rect;
}
}
else if (!use_clipped_redraw)
{
fill_current_damage_history_rectangle (view, &view_rect);
fill_current_damage_history_and_step (view);
}
}
cairo_region_get_extents (clip_region, &clip_rect);
cogl_push_framebuffer (fb);
if (use_clipped_redraw && clip_region_empty)
{
@ -621,21 +621,21 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
CLUTTER_NOTE (CLIPPING,
"Stage clip pushed: x=%d, y=%d, width=%d, height=%d\n",
clip_rect.x,
clip_rect.y,
clip_rect.width,
clip_rect.height);
clip_region.x,
clip_region.y,
clip_region.width,
clip_region.height);
stage_cogl->using_clipped_redraw = TRUE;
scissor_x = (clip_rect.x - view_rect.x) * fb_scale;
scissor_y = (clip_rect.y - view_rect.y) * fb_scale;
scissor_x = (clip_region.x - view_rect.x) * window_scale;
scissor_y = (clip_region.y - view_rect.y) * window_scale;
cogl_framebuffer_push_scissor_clip (fb,
scissor_x,
scissor_y,
clip_rect.width * fb_scale,
clip_rect.height * fb_scale);
paint_stage (stage_cogl, view, clip_region);
clip_region.width * window_scale,
clip_region.height * window_scale);
paint_stage (stage_cogl, view, &clip_region);
cogl_framebuffer_pop_clip (fb);
stage_cogl->using_clipped_redraw = FALSE;
@ -645,7 +645,7 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
CLUTTER_NOTE (CLIPPING, "Unclipped stage paint\n");
/* If we are trying to debug redraw issues then we want to pass
* the redraw_clip so it can be visualized */
* the bounding_redraw_clip so it can be visualized */
if (G_UNLIKELY (clutter_paint_debug_flags & CLUTTER_DEBUG_DISABLE_CLIPPED_REDRAWS) &&
may_use_clipped_redraw &&
!clip_region_empty)
@ -653,39 +653,31 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
int scissor_x;
int scissor_y;
scissor_x = (clip_rect.x - view_rect.x) * fb_scale;;
scissor_y = (clip_rect.y - view_rect.y) * fb_scale;
scissor_x = (clip_region.x - view_rect.x) * window_scale;;
scissor_y = (clip_region.y - view_rect.y) * window_scale;
cogl_framebuffer_push_scissor_clip (fb,
scissor_x,
scissor_y,
clip_rect.width * fb_scale,
clip_rect.height * fb_scale);
paint_stage (stage_cogl, view, clip_region);
clip_region.width * window_scale,
clip_region.height * window_scale);
paint_stage (stage_cogl, view, &clip_region);
cogl_framebuffer_pop_clip (fb);
}
else
{
cairo_region_t *view_region;
view_region = cairo_region_create_rectangle (&view_rect);
paint_stage (stage_cogl, view, view_region);
cairo_region_destroy (view_region);
}
paint_stage (stage_cogl, view, &view_rect);
}
cogl_pop_framebuffer ();
cairo_region_get_extents (redraw_clip, &redraw_rect);
if (may_use_clipped_redraw &&
G_UNLIKELY ((clutter_paint_debug_flags & CLUTTER_DEBUG_REDRAWS)))
{
CoglContext *ctx = cogl_framebuffer_get_context (fb);
static CoglPipeline *outline = NULL;
ClutterActor *actor = CLUTTER_ACTOR (wrapper);
float x_1 = redraw_rect.x;
float x_2 = redraw_rect.x + redraw_rect.width;
float y_1 = redraw_rect.y;
float y_2 = redraw_rect.y + redraw_rect.height;
float x_1 = redraw_clip.x;
float x_2 = redraw_clip.x + redraw_clip.width;
float y_1 = redraw_clip.y;
float y_2 = redraw_clip.y + redraw_clip.height;
CoglVertexP2 quad[4] = {
{ x_1, y_1 },
{ x_2, y_1 },
@ -732,10 +724,10 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
else if (use_clipped_redraw)
{
swap_region = (cairo_rectangle_int_t) {
.x = (clip_rect.x - view_rect.x) * fb_scale,
.y = (clip_rect.y - view_rect.y) * fb_scale,
.width = clip_rect.width * fb_scale,
.height = clip_rect.height * fb_scale,
.x = (clip_region.x - view_rect.x) * window_scale,
.y = (clip_region.y - view_rect.y) * window_scale,
.width = clip_region.width * window_scale,
.height = clip_region.height * window_scale,
};
g_assert (swap_region.width > 0);
do_swap_buffer = TRUE;
@ -745,8 +737,8 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
swap_region = (cairo_rectangle_int_t) {
.x = 0,
.y = 0,
.width = view_rect.width * fb_scale,
.height = view_rect.height * fb_scale,
.width = view_rect.width * window_scale,
.height = view_rect.height * window_scale,
};
do_swap_buffer = TRUE;
}
@ -757,11 +749,6 @@ clutter_stage_cogl_redraw_view (ClutterStageWindow *stage_window,
do_swap_buffer = TRUE;
}
if (redraw_clip)
cairo_region_destroy (redraw_clip);
if (clip_region)
cairo_region_destroy (clip_region);
if (do_swap_buffer)
{
if (clutter_stage_view_get_onscreen (view) !=
@ -809,7 +796,6 @@ clutter_stage_cogl_redraw (ClutterStageWindow *stage_window)
/* reset the redraw clipping for the next paint... */
stage_cogl->initialized_redraw_clip = FALSE;
g_clear_pointer (&stage_cogl->redraw_clip, cairo_region_destroy);
stage_cogl->frame_count++;
}
@ -824,7 +810,7 @@ clutter_stage_cogl_get_dirty_pixel (ClutterStageWindow *stage_window,
gboolean has_buffer_age =
cogl_is_onscreen (framebuffer) &&
cogl_clutter_winsys_has_feature (COGL_WINSYS_FEATURE_BUFFER_AGE);
cairo_rectangle_int_t rect;
cairo_rectangle_int_t *rect;
if (!has_buffer_age)
{
@ -837,18 +823,12 @@ clutter_stage_cogl_get_dirty_pixel (ClutterStageWindow *stage_window,
ClutterStageViewCoglPrivate *view_priv =
clutter_stage_view_cogl_get_instance_private (view_cogl);
cairo_rectangle_int_t view_layout;
cairo_region_t *damage;
clutter_stage_view_get_layout (view, &view_layout);
damage = view_priv->damage_history[DAMAGE_HISTORY (view_priv->damage_index - 1)];
if (damage)
cairo_region_get_rectangle (damage, 0, &rect);
else
rect.x = rect.y = 0;
*x = rect.x - view_layout.x;
*y = rect.y - view_layout.y;
rect = &view_priv->damage_history[DAMAGE_HISTORY (view_priv->damage_index - 1)];
*x = rect->x - view_layout.x;
*y = rect->y - view_layout.y;
}
}
@ -867,7 +847,7 @@ clutter_stage_window_iface_init (ClutterStageWindowIface *iface)
iface->add_redraw_clip = clutter_stage_cogl_add_redraw_clip;
iface->has_redraw_clips = clutter_stage_cogl_has_redraw_clips;
iface->ignoring_redraw_clips = clutter_stage_cogl_ignoring_redraw_clips;
iface->get_redraw_clip = clutter_stage_cogl_get_redraw_clip;
iface->get_redraw_clip_bounds = clutter_stage_cogl_get_redraw_clip_bounds;
iface->redraw = clutter_stage_cogl_redraw;
iface->get_dirty_pixel = clutter_stage_cogl_get_dirty_pixel;
}

View File

@ -59,7 +59,7 @@ struct _ClutterStageCogl
* junk frames to start with. */
unsigned int frame_count;
cairo_region_t *redraw_clip;
cairo_rectangle_int_t bounding_redraw_clip;
guint initialized_redraw_clip : 1;

View File

@ -102,9 +102,6 @@ struct _ClutterDeviceManagerEvdevPrivate
gpointer constrain_data;
GDestroyNotify constrain_data_notify;
ClutterRelativeMotionFilter relative_motion_filter;
gpointer relative_motion_filter_user_data;
ClutterStageManager *stage_manager;
guint stage_added_handler;
guint stage_removed_handler;
@ -267,22 +264,6 @@ _clutter_device_manager_evdev_constrain_pointer (ClutterDeviceManagerEvdev *mana
}
}
void
_clutter_device_manager_evdev_filter_relative_motion (ClutterDeviceManagerEvdev *manager_evdev,
ClutterInputDevice *device,
float x,
float y,
float *dx,
float *dy)
{
ClutterDeviceManagerEvdevPrivate *priv = manager_evdev->priv;
if (!priv->relative_motion_filter)
return;
priv->relative_motion_filter (device, x, y, dx, dy,
priv->relative_motion_filter_user_data);
}
static ClutterEvent *
new_absolute_motion_event (ClutterInputDevice *input_device,
@ -377,23 +358,11 @@ notify_relative_tool_motion (ClutterInputDevice *input_device,
gfloat dy,
gdouble *axes)
{
ClutterInputDeviceEvdev *device_evdev;
ClutterEvent *event;
ClutterSeatEvdev *seat;
gfloat x, y;
device_evdev = CLUTTER_INPUT_DEVICE_EVDEV (input_device);
seat = _clutter_input_device_evdev_get_seat (device_evdev);
x = input_device->current_x + dx;
y = input_device->current_y + dy;
_clutter_device_manager_evdev_filter_relative_motion (seat->manager_evdev,
input_device,
seat->pointer_x,
seat->pointer_y,
&dx,
&dy);
event = new_absolute_motion_event (input_device, time_us, x, y, axes);
_clutter_evdev_event_set_relative_motion (event, dx, dy, 0, 0);
@ -2692,23 +2661,6 @@ clutter_evdev_set_pointer_constrain_callback (ClutterDeviceManager *e
priv->constrain_data_notify = user_data_notify;
}
void
clutter_evdev_set_relative_motion_filter (ClutterDeviceManager *evdev,
ClutterRelativeMotionFilter filter,
gpointer user_data)
{
ClutterDeviceManagerEvdev *manager_evdev;
ClutterDeviceManagerEvdevPrivate *priv;
g_return_if_fail (CLUTTER_IS_DEVICE_MANAGER_EVDEV (evdev));
manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (evdev);
priv = manager_evdev->priv;
priv->relative_motion_filter = filter;
priv->relative_motion_filter_user_data = user_data;
}
/**
* clutter_evdev_set_keyboard_repeat:
* @evdev: the #ClutterDeviceManager created by the evdev backend

View File

@ -76,13 +76,6 @@ void _clutter_device_manager_evdev_constrain_pointer (ClutterDeviceManagerEvdev
float *new_x,
float *new_y);
void _clutter_device_manager_evdev_filter_relative_motion (ClutterDeviceManagerEvdev *manager_evdev,
ClutterInputDevice *device,
float x,
float y,
float *dx,
float *dy);
void _clutter_device_manager_evdev_dispatch (ClutterDeviceManagerEvdev *manager_evdev);
static inline guint64

View File

@ -97,18 +97,6 @@ void clutter_evdev_set_pointer_constrain_callback (ClutterDeviceManager
gpointer user_data,
GDestroyNotify user_data_notify);
typedef void (*ClutterRelativeMotionFilter) (ClutterInputDevice *device,
float x,
float y,
float *dx,
float *dy,
gpointer user_data);
CLUTTER_AVAILABLE_IN_MUTTER
void clutter_evdev_set_relative_motion_filter (ClutterDeviceManager *evdev,
ClutterRelativeMotionFilter filter,
gpointer user_data);
CLUTTER_AVAILABLE_IN_1_16
void clutter_evdev_set_keyboard_map (ClutterDeviceManager *evdev,
struct xkb_keymap *keymap);

View File

@ -193,19 +193,6 @@ clutter_input_device_evdev_get_group_n_modes (ClutterInputDevice *device,
return libinput_tablet_pad_mode_group_get_num_modes (mode_group);
}
static gboolean
clutter_input_device_evdev_is_grouped (ClutterInputDevice *device,
ClutterInputDevice *other_device)
{
struct libinput_device *libinput_device, *other_libinput_device;
libinput_device = clutter_evdev_input_device_get_libinput_device (device);
other_libinput_device = clutter_evdev_input_device_get_libinput_device (other_device);
return libinput_device_get_device_group (libinput_device) ==
libinput_device_get_device_group (other_libinput_device);
}
static void
clutter_input_device_evdev_class_init (ClutterInputDeviceEvdevClass *klass)
{
@ -219,7 +206,6 @@ clutter_input_device_evdev_class_init (ClutterInputDeviceEvdevClass *klass)
klass->update_from_tool = clutter_input_device_evdev_update_from_tool;
klass->is_mode_switch_button = clutter_input_device_evdev_is_mode_switch_button;
klass->get_group_n_modes = clutter_input_device_evdev_get_group_n_modes;
klass->is_grouped = clutter_input_device_evdev_is_grouped;
obj_props[PROP_DEVICE_MATRIX] =
g_param_spec_boxed ("device-matrix",

View File

@ -405,13 +405,6 @@ clutter_seat_evdev_notify_relative_motion (ClutterSeatEvdev *seat,
if (!_clutter_input_device_get_stage (input_device))
return;
_clutter_device_manager_evdev_filter_relative_motion (seat->manager_evdev,
input_device,
seat->pointer_x,
seat->pointer_y,
&dx,
&dy);
new_x = seat->pointer_x + dx;
new_y = seat->pointer_y + dy;
event = new_absolute_motion_event (seat, input_device,

View File

@ -136,6 +136,7 @@ clutter_device_manager_x11_translate_event (ClutterEventTranslator *translator,
ClutterTranslateReturn res;
ClutterStage *stage;
XEvent *xevent;
int window_scale;
manager_x11 = CLUTTER_DEVICE_MANAGER_X11 (translator);
backend_x11 = CLUTTER_BACKEND_X11 (clutter_get_default_backend ());
@ -151,6 +152,8 @@ clutter_device_manager_x11_translate_event (ClutterEventTranslator *translator,
stage_x11 = CLUTTER_STAGE_X11 (_clutter_stage_get_window (stage));
window_scale = stage_x11->scale_factor;
event->any.stage = stage;
res = CLUTTER_TRANSLATE_CONTINUE;
@ -223,8 +226,8 @@ clutter_device_manager_x11_translate_event (ClutterEventTranslator *translator,
event->scroll.direction = CLUTTER_SCROLL_RIGHT;
event->scroll.time = xevent->xbutton.time;
event->scroll.x = xevent->xbutton.x;
event->scroll.y = xevent->xbutton.y;
event->scroll.x = xevent->xbutton.x / window_scale;
event->scroll.y = xevent->xbutton.y / window_scale;
event->scroll.modifier_state = xevent->xbutton.state;
event->scroll.axes = NULL;
break;
@ -232,8 +235,8 @@ clutter_device_manager_x11_translate_event (ClutterEventTranslator *translator,
default:
event->button.type = event->type = CLUTTER_BUTTON_PRESS;
event->button.time = xevent->xbutton.time;
event->button.x = xevent->xbutton.x;
event->button.y = xevent->xbutton.y;
event->button.x = xevent->xbutton.x / window_scale;
event->button.y = xevent->xbutton.y / window_scale;
event->button.modifier_state = xevent->xbutton.state;
event->button.button = xevent->xbutton.button;
event->button.axes = NULL;
@ -266,8 +269,8 @@ clutter_device_manager_x11_translate_event (ClutterEventTranslator *translator,
event->button.type = event->type = CLUTTER_BUTTON_RELEASE;
event->button.time = xevent->xbutton.time;
event->button.x = xevent->xbutton.x;
event->button.y = xevent->xbutton.y;
event->button.x = xevent->xbutton.x / window_scale;
event->button.y = xevent->xbutton.y / window_scale;
event->button.modifier_state = xevent->xbutton.state;
event->button.button = xevent->xbutton.button;
event->button.axes = NULL;
@ -284,8 +287,8 @@ clutter_device_manager_x11_translate_event (ClutterEventTranslator *translator,
event->motion.type = event->type = CLUTTER_MOTION;
event->motion.time = xevent->xmotion.time;
event->motion.x = xevent->xmotion.x;
event->motion.y = xevent->xmotion.y;
event->motion.x = xevent->xmotion.x / window_scale;
event->motion.y = xevent->xmotion.y / window_scale;
event->motion.modifier_state = xevent->xmotion.state;
event->motion.axes = NULL;
clutter_event_set_device (event, manager_x11->core_pointer);
@ -298,8 +301,8 @@ clutter_device_manager_x11_translate_event (ClutterEventTranslator *translator,
event->crossing.type = CLUTTER_ENTER;
event->crossing.time = xevent->xcrossing.time;
event->crossing.x = xevent->xcrossing.x;
event->crossing.y = xevent->xcrossing.y;
event->crossing.x = xevent->xcrossing.x / window_scale;
event->crossing.y = xevent->xcrossing.y / window_scale;
event->crossing.source = CLUTTER_ACTOR (stage);
event->crossing.related = NULL;
clutter_event_set_device (event, manager_x11->core_pointer);
@ -324,8 +327,8 @@ clutter_device_manager_x11_translate_event (ClutterEventTranslator *translator,
event->crossing.type = CLUTTER_LEAVE;
event->crossing.time = xevent->xcrossing.time;
event->crossing.x = xevent->xcrossing.x;
event->crossing.y = xevent->xcrossing.y;
event->crossing.x = xevent->xcrossing.x / window_scale;
event->crossing.y = xevent->xcrossing.y / window_scale;
event->crossing.source = CLUTTER_ACTOR (stage);
event->crossing.related = NULL;
clutter_event_set_device (event, manager_x11->core_pointer);

View File

@ -861,8 +861,8 @@ translate_coords (ClutterStageX11 *stage_x11,
clutter_actor_get_size (stage, &stage_width, &stage_height);
*x_out = CLAMP (event_x, 0, stage_width);
*y_out = CLAMP (event_y, 0, stage_height);
*x_out = CLAMP (event_x / stage_x11->scale_factor, 0, stage_width);
*y_out = CLAMP (event_y / stage_x11->scale_factor, 0, stage_height);
}
static gdouble

View File

@ -80,13 +80,6 @@ clutter_input_device_xi2_keycode_to_evdev (ClutterInputDevice *device,
return TRUE;
}
static gboolean
clutter_input_device_xi2_is_grouped (ClutterInputDevice *device,
ClutterInputDevice *other_device)
{
return FALSE;
}
static void
clutter_input_device_xi2_class_init (ClutterInputDeviceXI2Class *klass)
{
@ -96,7 +89,6 @@ clutter_input_device_xi2_class_init (ClutterInputDeviceXI2Class *klass)
gobject_class->constructed = clutter_input_device_xi2_constructed;
device_class->keycode_to_evdev = clutter_input_device_xi2_keycode_to_evdev;
device_class->is_grouped = clutter_input_device_xi2_is_grouped;
}
static void

View File

@ -6,6 +6,7 @@ static const struct {
const char *xsetting_name;
const char *settings_property;
} _clutter_settings_map[] = {
{ "Net/DoubleClickTime", "double-click-time" },
{ "Net/DoubleClickDistance", "double-click-distance" },
{ "Net/DndDragThreshold", "dnd-drag-threshold" },
{ "Gtk/FontName", "font-name" },
@ -15,6 +16,7 @@ static const struct {
{ "Xft/HintStyle", "font-hint-style" },
{ "Xft/RGBA", "font-subpixel-order" },
{ "Fontconfig/Timestamp", "fontconfig-timestamp" },
{ "Gdk/WindowScalingFactor", "window-scaling-factor" },
{ "Gdk/UnscaledDPI", "unscaled-font-dpi" },
};

View File

@ -162,10 +162,10 @@ clutter_stage_x11_fix_window_size (ClutterStageX11 *stage_x11,
&min_height);
if (new_width <= 0)
new_width = min_width;
new_width = min_width * stage_x11->scale_factor;
if (new_height <= 0)
new_height = min_height;
new_height = min_height * stage_x11->scale_factor;
size_hints->flags = 0;
@ -175,8 +175,8 @@ clutter_stage_x11_fix_window_size (ClutterStageX11 *stage_x11,
{
if (resize)
{
size_hints->min_width = min_width;
size_hints->min_height = min_height;
size_hints->min_width = min_width * stage_x11->scale_factor;
size_hints->min_height = min_height * stage_x11->scale_factor;
size_hints->flags = PMinSize;
}
else
@ -236,8 +236,8 @@ clutter_stage_x11_get_geometry (ClutterStageWindow *stage_window,
return;
}
geometry->width = stage_x11->xwin_width;
geometry->height = stage_x11->xwin_height;
geometry->width = stage_x11->xwin_width / stage_x11->scale_factor;
geometry->height = stage_x11->xwin_height / stage_x11->scale_factor;
}
static void
@ -255,8 +255,8 @@ clutter_stage_x11_resize (ClutterStageWindow *stage_window,
* so we need to manually set the size and queue a relayout on the
* stage here (as is normally done in response to ConfigureNotify).
*/
stage_x11->xwin_width = width;
stage_x11->xwin_height = height;
stage_x11->xwin_width = width * stage_x11->scale_factor;
stage_x11->xwin_height = height * stage_x11->scale_factor;
clutter_actor_queue_relayout (CLUTTER_ACTOR (stage_cogl->wrapper));
return;
}
@ -277,6 +277,9 @@ clutter_stage_x11_resize (ClutterStageWindow *stage_window,
CLUTTER_NOTE (BACKEND, "New size received: (%d, %d)", width, height);
width *= stage_x11->scale_factor;
height *= stage_x11->scale_factor;
if (stage_x11->xwin != None)
{
clutter_stage_x11_fix_window_size (stage_x11, width, height);
@ -397,6 +400,20 @@ set_cursor_visible (ClutterStageX11 *stage_x11)
}
}
static void
on_window_scaling_factor_notify (GObject *settings,
GParamSpec *pspec,
ClutterStageX11 *stage_x11)
{
g_object_get (settings,
"window-scaling-factor", &stage_x11->scale_factor,
NULL);
clutter_stage_x11_resize (CLUTTER_STAGE_WINDOW (stage_x11),
stage_x11->xwin_width,
stage_x11->xwin_height);
}
static void
clutter_stage_x11_unrealize (ClutterStageWindow *stage_window)
{
@ -626,8 +643,12 @@ clutter_stage_x11_realize (ClutterStageWindow *stage_window)
CLUTTER_NOTE (BACKEND, "Wrapper size: %.2f x %.2f", width, height);
CLUTTER_NOTE (BACKEND, "Creating a new Cogl onscreen surface: %.2f x %.2f",
width, height);
width = width * (float) stage_x11->scale_factor;
height = height * (float) stage_x11->scale_factor;
CLUTTER_NOTE (BACKEND, "Creating a new Cogl onscreen surface: %.2f x %.2f (factor: %d)",
width, height,
stage_x11->scale_factor);
stage_x11->onscreen = cogl_onscreen_new (backend->cogl_context, width, height);
@ -888,6 +909,28 @@ clutter_stage_x11_can_clip_redraws (ClutterStageWindow *stage_window)
return stage_x11->clipped_redraws_cool_off == 0;
}
static void
clutter_stage_x11_set_scale_factor (ClutterStageWindow *stage_window,
int factor)
{
ClutterStageX11 *stage_x11 = CLUTTER_STAGE_X11 (stage_window);
if (stage_x11->scale_factor == factor)
return;
stage_x11->scale_factor = factor;
clutter_stage_x11_resize (stage_window, stage_x11->xwin_width, stage_x11->xwin_height);
}
static int
clutter_stage_x11_get_scale_factor (ClutterStageWindow *stage_window)
{
ClutterStageX11 *stage_x11 = CLUTTER_STAGE_X11 (stage_window);
return stage_x11->scale_factor;
}
static void
ensure_legacy_view (ClutterStageWindow *stage_window)
{
@ -959,6 +1002,8 @@ clutter_stage_x11_class_init (ClutterStageX11Class *klass)
static void
clutter_stage_x11_init (ClutterStageX11 *stage)
{
ClutterSettings *settings;
stage->xwin = None;
stage->xwin_width = 640;
stage->xwin_height = 480;
@ -971,6 +1016,12 @@ clutter_stage_x11_init (ClutterStageX11 *stage)
stage->accept_focus = TRUE;
stage->title = NULL;
settings = clutter_settings_get_default ();
g_signal_connect (settings, "notify::window-scaling-factor",
G_CALLBACK (on_window_scaling_factor_notify),
stage);
on_window_scaling_factor_notify (G_OBJECT (settings), NULL, stage);
}
static void
@ -990,6 +1041,8 @@ clutter_stage_window_iface_init (ClutterStageWindowIface *iface)
iface->realize = clutter_stage_x11_realize;
iface->unrealize = clutter_stage_x11_unrealize;
iface->can_clip_redraws = clutter_stage_x11_can_clip_redraws;
iface->set_scale_factor = clutter_stage_x11_set_scale_factor;
iface->get_scale_factor = clutter_stage_x11_get_scale_factor;
iface->get_views = clutter_stage_x11_get_views;
iface->get_frame_counter = clutter_stage_x11_get_frame_counter;
}
@ -1114,8 +1167,8 @@ clutter_stage_x11_translate_event (ClutterEventTranslator *translator,
stage_x11->xwin_height = xevent->xconfigure.height;
}
stage_width = xevent->xconfigure.width;
stage_height = xevent->xconfigure.height;
stage_width = xevent->xconfigure.width / stage_x11->scale_factor;
stage_height = xevent->xconfigure.height / stage_x11->scale_factor;
clutter_actor_set_size (CLUTTER_ACTOR (stage), stage_width, stage_height);
if (size_changed)
@ -1282,10 +1335,10 @@ clutter_stage_x11_translate_event (ClutterEventTranslator *translator,
expose->width,
expose->height);
clip.x = expose->x;
clip.y = expose->y;
clip.width = expose->width;
clip.height = expose->height;
clip.x = expose->x / stage_x11->scale_factor;
clip.y = expose->y / stage_x11->scale_factor;
clip.width = expose->width / stage_x11->scale_factor;
clip.height = expose->height / stage_x11->scale_factor;
clutter_actor_queue_redraw_with_clip (CLUTTER_ACTOR (stage), &clip);
}
break;
@ -1451,8 +1504,8 @@ set_foreign_window_callback (ClutterActor *actor,
fwd->stage_x11->xwin = fwd->xwindow;
fwd->stage_x11->is_foreign_xwin = TRUE;
fwd->stage_x11->xwin_width = fwd->geom.width;
fwd->stage_x11->xwin_height = fwd->geom.height;
fwd->stage_x11->xwin_width = fwd->geom.width * fwd->stage_x11->scale_factor;
fwd->stage_x11->xwin_height = fwd->geom.height * fwd->stage_x11->scale_factor;
clutter_actor_set_size (actor, fwd->geom.width, fwd->geom.height);
@ -1546,8 +1599,8 @@ clutter_x11_set_stage_foreign (ClutterStage *stage,
fwd.geom.x = x;
fwd.geom.y = y;
fwd.geom.width = width;
fwd.geom.height = height;
fwd.geom.width = width / stage_x11->scale_factor;
fwd.geom.height = height / stage_x11->scale_factor;
actor = CLUTTER_ACTOR (stage);

View File

@ -69,6 +69,8 @@ struct _ClutterStageX11
ClutterStageX11State wm_state;
int scale_factor;
guint is_foreign_xwin : 1;
guint fullscreening : 1;
guint is_cursor_visible : 1;

View File

@ -350,8 +350,7 @@ actor_replace_child (void)
g_assert_cmpstr (clutter_actor_get_name (iter), ==, "qux");
clutter_actor_add_child (actor, g_object_new (CLUTTER_TYPE_ACTOR,
"name", "foo",
NULL));
"name", "foo"));
clutter_actor_replace_child (actor, iter,
g_object_new (CLUTTER_TYPE_ACTOR,

View File

@ -81,19 +81,6 @@
#define GL_PURGED_CONTEXT_RESET_NV 0x92BB
#endif
/* These aren't defined in the GLES2 headers */
#ifndef GL_GUILTY_CONTEXT_RESET_ARB
#define GL_GUILTY_CONTEXT_RESET_ARB 0x8253
#endif
#ifndef GL_INNOCENT_CONTEXT_RESET_ARB
#define GL_INNOCENT_CONTEXT_RESET_ARB 0x8254
#endif
#ifndef GL_UNKNOWN_CONTEXT_RESET_ARB
#define GL_UNKNOWN_CONTEXT_RESET_ARB 0x8255
#endif
static void _cogl_context_free (CoglContext *context);
COGL_OBJECT_DEFINE (Context, context);

View File

@ -55,13 +55,6 @@ struct _CoglDriverVtable
GLenum *out_glintformat,
GLenum *out_glformat,
GLenum *out_gltype);
CoglPixelFormat
(* pixel_format_to_gl_with_target) (CoglContext *context,
CoglPixelFormat format,
CoglPixelFormat target_format,
GLenum *out_glintformat,
GLenum *out_glformat,
GLenum *out_gltype);
CoglBool
(* update_features) (CoglContext *context,

View File

@ -193,11 +193,6 @@ struct _CoglFramebuffer
CoglFramebufferBits bits;
int samples_per_pixel;
/* Whether the depth buffer was enabled for this framebuffer,
* usually means it needs to be cleared before being reused next.
*/
CoglBool depth_buffer_clear_needed;
};
typedef enum {

View File

@ -117,7 +117,6 @@ _cogl_framebuffer_init (CoglFramebuffer *framebuffer,
framebuffer->viewport_age_for_scissor_workaround = -1;
framebuffer->dither_enabled = TRUE;
framebuffer->depth_writing_enabled = TRUE;
framebuffer->depth_buffer_clear_needed = TRUE;
framebuffer->modelview_stack = cogl_matrix_stack_new (ctx);
framebuffer->projection_stack = cogl_matrix_stack_new (ctx);
@ -269,13 +268,6 @@ cogl_framebuffer_clear4f (CoglFramebuffer *framebuffer,
int scissor_y1;
CoglBool saved_viewport_scissor_workaround;
if (!framebuffer->depth_buffer_clear_needed &&
(buffers & COGL_BUFFER_BIT_DEPTH))
buffers &= ~(COGL_BUFFER_BIT_DEPTH);
if (buffers == 0)
return;
_cogl_clip_stack_get_bounds (clip_stack,
&scissor_x0, &scissor_y0,
&scissor_x1, &scissor_y1);
@ -423,9 +415,6 @@ cleared:
_cogl_framebuffer_mark_mid_scene (framebuffer);
_cogl_framebuffer_mark_clear_clip_dirty (framebuffer);
if (buffers & COGL_BUFFER_BIT_DEPTH)
framebuffer->depth_buffer_clear_needed = FALSE;
if (buffers & COGL_BUFFER_BIT_COLOR && buffers & COGL_BUFFER_BIT_DEPTH)
{
/* For our fast-path for reading back a single pixel of simple

View File

@ -1102,7 +1102,7 @@ upload_vertices (CoglJournal *journal,
attribute_buffer = create_attribute_buffer (journal, needed_vbo_len * 4);
buffer = COGL_BUFFER (attribute_buffer);
cogl_buffer_set_update_hint (buffer, COGL_BUFFER_UPDATE_HINT_DYNAMIC);
cogl_buffer_set_update_hint (buffer, COGL_BUFFER_UPDATE_HINT_STATIC);
vout = _cogl_buffer_map_range_for_fill_or_fallback (buffer,
0, /* offset */

View File

@ -42,7 +42,7 @@
#include <cogl/winsys/cogl-winsys-egl-private.h>
#include <cogl/winsys/cogl-winsys-private.h>
void cogl_renderer_set_custom_winsys (CoglRenderer *renderer,
CoglCustomWinsysVtableGetter winsys_vtable_getter);
void cogl_renderer_set_custom_winsys (CoglRenderer *renderer,
CoglWinsysVtableGetter winsys_vtable_getter);
#endif /* __COGL_MUTTER_H___ */

View File

@ -39,13 +39,12 @@
#include "cogl-texture-driver.h"
#include "cogl-context.h"
#include "cogl-closure-list-private.h"
#include "cogl-mutter.h"
#ifdef COGL_HAS_XLIB_SUPPORT
#include <X11/Xlib.h>
#endif
typedef const CoglWinsysVtable *(*CoglCustomWinsysVtableGetter) (CoglRenderer *renderer);
struct _CoglRenderer
{
CoglObject _parent;
@ -54,7 +53,7 @@ struct _CoglRenderer
const CoglDriverVtable *driver_vtable;
const CoglTextureDriver *texture_driver;
const CoglWinsysVtable *winsys_vtable;
CoglCustomWinsysVtableGetter custom_winsys_vtable_getter;
CoglWinsysVtableGetter custom_winsys_vtable_getter;
CoglWinsysID winsys_id_override;
GList *constraints;

View File

@ -565,8 +565,8 @@ _cogl_renderer_choose_driver (CoglRenderer *renderer,
/* Final connection API */
void
cogl_renderer_set_custom_winsys (CoglRenderer *renderer,
CoglCustomWinsysVtableGetter winsys_vtable_getter)
cogl_renderer_set_custom_winsys (CoglRenderer *renderer,
CoglWinsysVtableGetter winsys_vtable_getter)
{
renderer->custom_winsys_vtable_getter = winsys_vtable_getter;
}
@ -575,11 +575,10 @@ static CoglBool
connect_custom_winsys (CoglRenderer *renderer,
CoglError **error)
{
const CoglWinsysVtable *winsys;
const CoglWinsysVtable *winsys = renderer->custom_winsys_vtable_getter();
CoglError *tmp_error = NULL;
GString *error_message;
winsys = renderer->custom_winsys_vtable_getter (renderer);
renderer->winsys_vtable = winsys;
error_message = g_string_new ("");

View File

@ -198,7 +198,6 @@ struct _CoglTextureDriver
CoglPixelFormat
(* find_best_gl_get_data_format) (CoglContext *context,
CoglPixelFormat format,
CoglPixelFormat target_format,
GLenum *closest_gl_format,
GLenum *closest_gl_type);
};

View File

@ -1059,7 +1059,6 @@ cogl_texture_get_data (CoglTexture *texture,
closest_format =
ctx->texture_driver->find_best_gl_get_data_format (ctx,
texture_format,
format,
&closest_gl_format,
&closest_gl_type);

View File

@ -1418,15 +1418,6 @@ _cogl_framebuffer_gl_read_pixels_into_bitmap (CoglFramebuffer *framebuffer,
&gl_format,
&gl_type);
/* As we are reading pixels, we want to consider the bitmap according to
* its real pixel format, not the swizzled channels we pretend face to the
* pipeline.
*/
if ((format == COGL_PIXEL_FORMAT_BGRA_8888 ||
format == COGL_PIXEL_FORMAT_BGRA_8888_PRE) &&
_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_TEXTURE_SWIZZLE))
gl_format = GL_BGRA;
/* NB: All offscreen rendering is done upside down so there is no need
* to flip in this case... */
if (_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_MESA_PACK_INVERT) &&

View File

@ -418,11 +418,7 @@ flush_depth_state (CoglContext *ctx,
if (ctx->depth_test_enabled_cache != depth_state->test_enabled)
{
if (depth_state->test_enabled == TRUE)
{
GE (ctx, glEnable (GL_DEPTH_TEST));
if (ctx->current_draw_buffer)
ctx->current_draw_buffer->depth_buffer_clear_needed = TRUE;
}
GE (ctx, glEnable (GL_DEPTH_TEST));
else
GE (ctx, glDisable (GL_DEPTH_TEST));
ctx->depth_test_enabled_cache = depth_state->test_enabled;

View File

@ -772,12 +772,11 @@ _cogl_texture_2d_gl_copy_from_bitmap (CoglTexture2D *tex_2d,
upload_format = cogl_bitmap_get_format (upload_bmp);
ctx->driver_vtable->pixel_format_to_gl_with_target (ctx,
upload_format,
_cogl_texture_get_format (tex),
NULL, /* internal gl format */
&gl_format,
&gl_type);
ctx->driver_vtable->pixel_format_to_gl (ctx,
upload_format,
NULL, /* internal format */
&gl_format,
&gl_type);
/* If this touches the first pixel then we'll update our copy */
if (dst_x == 0 && dst_y == 0 &&

View File

@ -37,11 +37,6 @@
#include "cogl-gl-header.h"
#include "cogl-texture.h"
/* In OpenGL ES context, GL_CONTEXT_LOST has a _KHR prefix */
#ifndef GL_CONTEXT_LOST
#define GL_CONTEXT_LOST GL_CONTEXT_LOST_KHR
#endif
#ifdef COGL_GL_DEBUG
const char *

View File

@ -96,12 +96,11 @@ _cogl_driver_pixel_format_from_gl_internal (CoglContext *context,
}
static CoglPixelFormat
_cogl_driver_pixel_format_to_gl_with_target (CoglContext *context,
CoglPixelFormat format,
CoglPixelFormat target_format,
GLenum *out_glintformat,
GLenum *out_glformat,
GLenum *out_gltype)
_cogl_driver_pixel_format_to_gl (CoglContext *context,
CoglPixelFormat format,
GLenum *out_glintformat,
GLenum *out_glformat,
GLenum *out_gltype)
{
CoglPixelFormat required_format;
GLenum glintformat = 0;
@ -175,16 +174,7 @@ _cogl_driver_pixel_format_to_gl_with_target (CoglContext *context,
case COGL_PIXEL_FORMAT_BGRA_8888:
case COGL_PIXEL_FORMAT_BGRA_8888_PRE:
glintformat = GL_RGBA;
/* If the driver has texture_swizzle, pretend internal
* and buffer format are the same here, the pixels
* will be flipped through this extension.
*/
if (target_format == format &&
_cogl_has_private_feature
(context, COGL_PRIVATE_FEATURE_TEXTURE_SWIZZLE))
glformat = GL_RGBA;
else
glformat = GL_BGRA;
glformat = GL_BGRA;
gltype = GL_UNSIGNED_BYTE;
break;
@ -299,20 +289,6 @@ _cogl_driver_pixel_format_to_gl_with_target (CoglContext *context,
return required_format;
}
static CoglPixelFormat
_cogl_driver_pixel_format_to_gl (CoglContext *context,
CoglPixelFormat format,
GLenum *out_glintformat,
GLenum *out_glformat,
GLenum *out_gltype)
{
return _cogl_driver_pixel_format_to_gl_with_target (context,
format, format,
out_glintformat,
out_glformat,
out_gltype);
}
static CoglBool
_cogl_get_gl_version (CoglContext *ctx,
int *major_out,
@ -693,7 +669,6 @@ _cogl_driver_gl =
{
_cogl_driver_pixel_format_from_gl_internal,
_cogl_driver_pixel_format_to_gl,
_cogl_driver_pixel_format_to_gl_with_target,
_cogl_driver_update_features,
_cogl_offscreen_gl_allocate,
_cogl_offscreen_gl_free,

View File

@ -114,18 +114,6 @@ _cogl_texture_driver_gen (CoglContext *ctx,
red_swizzle) );
}
/* If swizzle extension is available, prefer it to flip bgra buffers to rgba */
if ((internal_format == COGL_PIXEL_FORMAT_BGRA_8888 ||
internal_format == COGL_PIXEL_FORMAT_BGRA_8888_PRE) &&
_cogl_has_private_feature (ctx, COGL_PRIVATE_FEATURE_TEXTURE_SWIZZLE))
{
static const GLint bgra_swizzle[] = { GL_BLUE, GL_GREEN, GL_RED, GL_ALPHA };
GE( ctx, glTexParameteriv (gl_target,
GL_TEXTURE_SWIZZLE_RGBA,
bgra_swizzle) );
}
return tex;
}
@ -533,16 +521,14 @@ static CoglPixelFormat
_cogl_texture_driver_find_best_gl_get_data_format
(CoglContext *context,
CoglPixelFormat format,
CoglPixelFormat target_format,
GLenum *closest_gl_format,
GLenum *closest_gl_type)
{
return context->driver_vtable->pixel_format_to_gl_with_target (context,
format,
target_format,
NULL, /* don't need */
closest_gl_format,
closest_gl_type);
return context->driver_vtable->pixel_format_to_gl (context,
format,
NULL, /* don't need */
closest_gl_format,
closest_gl_type);
}
const CoglTextureDriver

View File

@ -67,12 +67,11 @@ _cogl_driver_pixel_format_from_gl_internal (CoglContext *context,
}
static CoglPixelFormat
_cogl_driver_pixel_format_to_gl_with_target (CoglContext *context,
CoglPixelFormat format,
CoglPixelFormat target_format,
GLenum *out_glintformat,
GLenum *out_glformat,
GLenum *out_gltype)
_cogl_driver_pixel_format_to_gl (CoglContext *context,
CoglPixelFormat format,
GLenum *out_glintformat,
GLenum *out_glformat,
GLenum *out_gltype)
{
CoglPixelFormat required_format;
GLenum glintformat;
@ -220,20 +219,6 @@ _cogl_driver_pixel_format_to_gl_with_target (CoglContext *context,
return required_format;
}
static CoglPixelFormat
_cogl_driver_pixel_format_to_gl (CoglContext *context,
CoglPixelFormat format,
GLenum *out_glintformat,
GLenum *out_glformat,
GLenum *out_gltype)
{
return _cogl_driver_pixel_format_to_gl_with_target (context,
format, format,
out_glintformat,
out_glformat,
out_gltype);
}
static CoglBool
_cogl_get_gl_version (CoglContext *ctx,
int *major_out,
@ -472,7 +457,6 @@ _cogl_driver_gles =
{
_cogl_driver_pixel_format_from_gl_internal,
_cogl_driver_pixel_format_to_gl,
_cogl_driver_pixel_format_to_gl_with_target,
_cogl_driver_update_features,
_cogl_offscreen_gl_allocate,
_cogl_offscreen_gl_free,

View File

@ -615,7 +615,6 @@ static CoglPixelFormat
_cogl_texture_driver_find_best_gl_get_data_format
(CoglContext *context,
CoglPixelFormat format,
CoglPixelFormat target_format,
GLenum *closest_gl_format,
GLenum *closest_gl_type)
{

View File

@ -61,7 +61,6 @@ _cogl_driver_nop =
{
NULL, /* pixel_format_from_gl_internal */
NULL, /* pixel_format_to_gl */
NULL, /* pixel_format_to_gl_with_target */
_cogl_driver_update_features,
_cogl_offscreen_nop_allocate,
_cogl_offscreen_nop_free,

View File

@ -1,8 +1,8 @@
AC_PREREQ(2.62)
m4_define([mutter_major_version], [3])
m4_define([mutter_minor_version], [25])
m4_define([mutter_micro_version], [1])
m4_define([mutter_minor_version], [23])
m4_define([mutter_micro_version], [90])
m4_define([mutter_version],
[mutter_major_version.mutter_minor_version.mutter_micro_version])
@ -57,13 +57,6 @@ AM_GNU_GETTEXT([external])
LT_PREREQ([2.2.6])
LT_INIT([disable-static])
# Debian / Ubuntu set this flag to 'no' in libtool, causing linking errors
# (i.e when linking against mutter-clutter). Not to explicitly redefine such
# deps, we enable this flag for everybody.
link_all_deplibs=yes
link_all_deplibs_CXX=yes
AC_PROG_CC
AC_PROG_CC_C_O
AC_PROG_INSTALL

View File

@ -102,27 +102,6 @@
</description>
</key>
<key name="experimental-features" type="as">
<default>[]</default>
<summary>Enable experimental features</summary>
<description>
To enable experimental features, add the feature keyword to the list.
Whether the feature requires restarting the compositor depends on the
given feature. Any experimental feature is not required to still be
available, or configurable. Dont expect adding anything in this
setting to be future proof.
Currently possible keywords:
• “scale-monitor-framebuffer” — makes mutter default to layout logical
monitors in a logical pixel coordinate
space, while scaling monitor
framebuffers instead of window content,
to manage HiDPI monitors. Does not
require a restart.
</description>
</key>
<child name="keybindings" schema="org.gnome.mutter.keybindings"/>
</schema>

View File

@ -12,11 +12,11 @@ src/compositor/compositor.c
src/compositor/meta-background.c
src/core/bell.c
src/core/core.c
src/core/delete.c
src/core/display.c
src/core/errors.c
src/core/keybindings.c
src/core/main.c
src/core/meta-close-dialog-default.c
src/core/mutter.c
src/core/prefs.c
src/core/screen.c

2495
po/be.po

File diff suppressed because it is too large Load Diff

367
po/ca.po
View File

@ -11,9 +11,9 @@
msgid ""
msgstr ""
"Project-Id-Version: metacity 2.24\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-04-21 21:33+0000\n"
"POT-Creation-Date: 2016-03-13 01:36+0000\n"
"PO-Revision-Date: 2016-03-13 14:45+0100\n"
"Last-Translator: Gil Forcada <gilforcada@guifi.net>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n"
@ -24,272 +24,264 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Gtranslator 2.91.6\n"
#: data/50-mutter-navigation.xml:6
#: ../data/50-mutter-navigation.xml.in.h:1
msgid "Navigation"
msgstr "Navegació"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "Mou la finestra a l'espai de treball 1"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Mou la finestra a l'espai de treball 2"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Mou la finestra a l'espai de treball 3"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Mou la finestra a l'espai de treball 4"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Mou la finestra a l'últim espai de treball"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Mou la finestra un espai de treball a l'esquerra"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Mou la finestra un espai de treball a la dreta"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Mou la finestra un espai de treball amunt"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Mou la finestra un espai de treball avall"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Mou la finestra un monitor a l'esquerra"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Mou la finestra un monitor a la dreta"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Mou la finestra un monitor amunt"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Mou la finestra un monitor avall"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Canvia d'aplicacions"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Canvia a l'aplicació anterior"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Canvia de finestres"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Canvia a la finestra anterior"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Canvia entre les finestres d'una aplicació"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "Canvia a la finestra anterior d'una aplicació"
#: data/50-mutter-navigation.xml:76
#, fuzzy
#| msgid "Switch system controls directly"
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Canvia immediatament entre els controls del sistema"
msgstr "Canvia entre els controls del sistema"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Canvia al control del sistema anterior"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Canvia immediatament entre finestres"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Canvia immediatament a la finestra anterior"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Canvia immediatament entre les finestres d'una aplicació"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "Canvia immediatament a la finestra anterior d'una aplicació"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Canvia immediatament entre els controls del sistema"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Canvia immediatament al control del sistema anterior"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Oculta totes les finestres normals"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Canvia a l'espai de treball 1"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Canvia a l'espai de treball 2"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Canvia a l'espai de treball 3"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Canvia a l'espai de treball 4"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Canvia a l'últim espai de treball"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Mou a l'espai de treball de l'esquerra"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Mou a l'espai de treball de la dreta"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Mou a l'espai de treball de sobre"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Mou a l'espai de treball de sota"
#: data/50-mutter-system.xml:6
#: ../data/50-mutter-system.xml.in.h:1
msgid "System"
msgstr "Sistema"
#: data/50-mutter-system.xml:8
#: ../data/50-mutter-system.xml.in.h:2
msgid "Show the run command prompt"
msgstr "Mostra l'indicador d'execució d'aplicacions"
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Mostra la vista general d'activitats"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Finestres"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Activa el menú de finestra"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Canvia entre el mode a pantalla completa"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Canvia l'estat de maximització"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Maximitza la finestra"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Restaura la finestra"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Canvia l'estat d'ombrejat"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Tanca la finestra"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Oculta la finestra"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Mou la finestra"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Redimensiona la finestra"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr ""
"Canvia la funció que fa que la finestra estigui en tots els espais de "
"treball o només en un"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "Alça la finestra si està coberta per una altra, o sinó baixa-la"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Alça la finestra per damunt de les altres"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Baixa la finestra sota les altres"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Maximitza la finestra verticalment"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Maximitza la finestra horitzontalment"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Mostra la partició a l'esquerra"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Mostra la partició a la dreta"
#: data/mutter.desktop.in:4
#: ../data/mutter.desktop.in.h:1
msgid "Mutter"
msgstr "Mutter"
#: data/org.gnome.mutter.gschema.xml.in:7
#: ../data/org.gnome.mutter.gschema.xml.in.h:1
msgid "Modifier to use for extended window management operations"
msgstr ""
"Modificador que s'utilitzarà per les operacions ampliades de gestió de "
"finestres"
#: data/org.gnome.mutter.gschema.xml.in:8
#, fuzzy
#| msgid ""
#| "This key will initiate the \"overlay\", which is a combination window "
#| "overview and application launching system. The default is intended to be "
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
#| "either the default or set to the empty string."
#: ../data/org.gnome.mutter.gschema.xml.in.h:2
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Aquesta tecla iniciarà l'«overlay» (superposador), el qual és una combinació "
"de visualització de finestres i sistema de llançament d'aplicacions. El "
@ -297,11 +289,11 @@ msgstr ""
"PC. El valor d'aquesta vinculació s'espera que sigui el predeterminat o text "
"en blanc."
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Adjunta els diàlegs modals"
#: data/org.gnome.mutter.gschema.xml.in:21
#: ../data/org.gnome.mutter.gschema.xml.in.h:4
msgid ""
"When true, instead of having independent titlebars, modal dialogs appear "
"attached to the titlebar of the parent window and are moved together with "
@ -311,13 +303,13 @@ msgstr ""
"diàlegs modals apareixeran adjuntats a la barra de títol de la finestra mare "
"i es mouran juntament amb aquesta."
#: data/org.gnome.mutter.gschema.xml.in:30
#: ../data/org.gnome.mutter.gschema.xml.in.h:5
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Habilita la tesselització a les vores en deixar anar les finestres a les "
"vores de la pantalla"
#: data/org.gnome.mutter.gschema.xml.in:31
#: ../data/org.gnome.mutter.gschema.xml.in.h:6
msgid ""
"If enabled, dropping windows on vertical screen edges maximizes them "
"vertically and resizes them horizontally to cover half of the available "
@ -328,18 +320,13 @@ msgstr ""
"deixar-les anar a les vores verticals de la pantalla. Si es deixen anar a la "
"vora superior de la pantalla es maximitzaran completament."
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "Els espais de treball es gestionen dinàmicament"
#: data/org.gnome.mutter.gschema.xml.in:41
#, fuzzy
#| msgid ""
#| "Determines whether workspaces are managed dynamically or whether there's "
#| "a static number of workspaces (determined by the num-workspaces key in "
#| "org.gnome.desktop.wm.preferences)."
#: ../data/org.gnome.mutter.gschema.xml.in.h:8
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
@ -347,11 +334,11 @@ msgstr ""
"nombre determinat d'espais de treball (determinat per la clau «num-"
"workspaces» a «org.gnome.desktop.wm.preferences»)."
#: data/org.gnome.mutter.gschema.xml.in:50
#: ../data/org.gnome.mutter.gschema.xml.in.h:9
msgid "Workspaces only on primary"
msgstr "Espais de treball només en el primari"
#: data/org.gnome.mutter.gschema.xml.in:51
#: ../data/org.gnome.mutter.gschema.xml.in.h:10
msgid ""
"Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor."
@ -359,11 +346,11 @@ msgstr ""
"Determina si el canvi d'espai de treball hauria de ser per les finestres en "
"tots els monitors o només en les finestres del monitor primari."
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "Sense finestres emergents a les pestanyes"
#: data/org.gnome.mutter.gschema.xml.in:60
#: ../data/org.gnome.mutter.gschema.xml.in.h:12
msgid ""
"Determines whether the use of popup and highlight frame should be disabled "
"for window cycling."
@ -371,49 +358,40 @@ msgstr ""
"Determina si s'ha d'inhabilitar el quadre que es mostra a les finestres "
"emergents i ressaltades en commutar entre finestres."
#: data/org.gnome.mutter.gschema.xml.in:68
#: ../data/org.gnome.mutter.gschema.xml.in.h:13
msgid "Delay focus changes until the pointer stops moving"
msgstr "Retarda el canvi del focus fins que s'aturi el punter"
#: data/org.gnome.mutter.gschema.xml.in:69
#, fuzzy
#| msgid ""
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
#| "the focus will not be changed immediately when entering a window, but "
#| "only after the pointer stops moving."
#: ../data/org.gnome.mutter.gschema.xml.in.h:14
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Si és «true» (cert), i el mode del focus és «sloppy» o «mouse», no es "
"canviarà el focus immediatament quan s'entri a una finestra, només es "
"canviarà quan el punter deixi de moure's."
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Amplada del contorn arrossegable"
#: data/org.gnome.mutter.gschema.xml.in:80
#, fuzzy
#| msgid ""
#| "The amount of total draggable borders. If the theme's visible borders are "
#| "not enough, invisible borders will be added to meet this value."
#: ../data/org.gnome.mutter.gschema.xml.in.h:16
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"La quantitat total de contorn arrossegable. Si els contorns visibles del "
"tema no són suficients, s'afegiran contorns invisibles per aconseguir aquest "
"valor."
#: data/org.gnome.mutter.gschema.xml.in:89
#: ../data/org.gnome.mutter.gschema.xml.in.h:17
msgid "Auto maximize nearly monitor sized windows"
msgstr ""
"Maximitza automàticament les finestres que gairebé facin la mida de la "
"pantalla"
#: data/org.gnome.mutter.gschema.xml.in:90
#: ../data/org.gnome.mutter.gschema.xml.in.h:18
msgid ""
"If enabled, new windows that are initially the size of the monitor "
"automatically get maximized."
@ -421,11 +399,11 @@ msgstr ""
"Si s'habilita, les finestres que inicialment gairebé fan la mida de la "
"pantalla es maximitzaran automàticament."
#: data/org.gnome.mutter.gschema.xml.in:98
#: ../data/org.gnome.mutter.gschema.xml.in.h:19
msgid "Place new windows in the center"
msgstr "Posiciona les finestres noves al centre"
#: data/org.gnome.mutter.gschema.xml.in:99
#: ../data/org.gnome.mutter.gschema.xml.in.h:20
msgid ""
"When true, the new windows will always be put in the center of the active "
"screen of the monitor."
@ -433,142 +411,107 @@ msgstr ""
"Si és «true» (cert), les finestres noves seran posicionades al centre de la "
"pantalla activa del monitor."
#: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:108
msgid ""
"To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given "
"feature. Any experimental feature is not required to still be available, or "
"configurable. Dont expect adding anything in this setting to be future "
"proof. Currently possible keywords: • “scale-monitor-framebuffer” — makes "
"mutter default to layout logical monitors in a logical pixel coordinate "
"space, while scaling monitor framebuffers instead of window content, to "
"manage HiDPI monitors. Does not require a restart."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:141
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "Selecció de finestra entre les emergents d'una pestanya"
#: data/org.gnome.mutter.gschema.xml.in:146
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Cancel·lació de les finestres emergents a les pestanyes"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1
msgid "Switch to VT 1"
msgstr "Canvia al terminal virtual 1"
#: data/org.gnome.mutter.wayland.gschema.xml.in:10
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2
msgid "Switch to VT 2"
msgstr "Canvia al terminal virtual 2"
#: data/org.gnome.mutter.wayland.gschema.xml.in:14
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3
msgid "Switch to VT 3"
msgstr "Canvia al terminal virtual 3"
#: data/org.gnome.mutter.wayland.gschema.xml.in:18
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4
msgid "Switch to VT 4"
msgstr "Canvia al terminal virtual 4"
#: data/org.gnome.mutter.wayland.gschema.xml.in:22
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5
msgid "Switch to VT 5"
msgstr "Canvia al terminal virtual 5"
#: data/org.gnome.mutter.wayland.gschema.xml.in:26
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6
msgid "Switch to VT 6"
msgstr "Canvia al terminal virtual 6"
#: data/org.gnome.mutter.wayland.gschema.xml.in:30
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7
msgid "Switch to VT 7"
msgstr "Canvia al terminal virtual 7"
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
msgid "Switch to VT 8"
msgstr "Canvia al terminal virtual 8"
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
msgid "Switch to VT 9"
msgstr "Canvia al terminal virtual 9"
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
msgid "Switch to VT 10"
msgstr "Canvia al terminal virtual 10"
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
msgid "Switch to VT 11"
msgstr "Canvia al terminal virtual 11"
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
msgid "Switch to VT 12"
msgstr "Canvia al terminal virtual 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1848
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Mode de commutació (grup %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1870
msgid "Switch monitor"
msgstr "Commuta el monitor"
#: src/backends/meta-input-settings.c:1872
msgid "Show on-screen help"
msgstr "Mostra l'ajuda en pantalla"
#: src/backends/meta-monitor-manager.c:783
#: ../src/backends/meta-monitor-manager.c:518
msgid "Built-in display"
msgstr "Pantalla integrada"
#: src/backends/meta-monitor-manager.c:806
#: ../src/backends/meta-monitor-manager.c:544
msgid "Unknown"
msgstr "Desconeguda"
#: src/backends/meta-monitor-manager.c:808
#: ../src/backends/meta-monitor-manager.c:546
msgid "Unknown Display"
msgstr "Pantalla desconeguda"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:816
#: ../src/backends/meta-monitor-manager.c:554
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:474
#: ../src/compositor/compositor.c:456
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
"Ja s'està executant un altre gestor de composició al monitor %i a la "
"pantalla «%s»."
"Ja s'està executant un altre gestor de composició a la pantalla %i a la "
"visualització «%s»."
#: src/core/bell.c:194
#: ../src/core/bell.c:192
msgid "Bell event"
msgstr "Esdeveniment de campana"
#. Translators: %s is a window title
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "«%s» no està responent."
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "L'aplicació no està responent."
#: src/core/delete.c:134
#: ../src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
@ -576,45 +519,45 @@ msgstr ""
"Podeu esperar un moment perquè continuï o podeu forçar-ne la sortida "
"completa."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Força'n la sortida"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Espera"
#: src/core/display.c:608
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Força'n la sortida"
#: ../src/core/display.c:555
#, c-format
msgid "Failed to open X Window System display %s\n"
msgid "Failed to open X Window System display '%s'\n"
msgstr ""
"S'ha produït un error en obrir la pantalla del sistema de finestres X «%s»\n"
#: src/core/main.c:189
#: ../src/core/main.c:181
msgid "Disable connection to session manager"
msgstr "Inhabilita la connexió al gestor de sessions"
#: src/core/main.c:195
#: ../src/core/main.c:187
msgid "Replace the running window manager"
msgstr "Reemplaça el gestor de finestres en execució"
#: src/core/main.c:201
#: ../src/core/main.c:193
msgid "Specify session management ID"
msgstr "Especifica l'ID de gestió de sessió"
#: src/core/main.c:206
#: ../src/core/main.c:198
msgid "X Display to use"
msgstr "Visualització X per usar"
#: src/core/main.c:212
#: ../src/core/main.c:204
msgid "Initialize session from savefile"
msgstr "Inicialitza la sessió des del fitxer desat"
#: src/core/main.c:218
#: ../src/core/main.c:210
msgid "Make X calls synchronous"
msgstr "Fes que les crides a l'X siguin síncrones"
#: src/core/main.c:225
#: ../src/core/main.c:217
msgid "Run as a wayland compositor"
msgstr "Funciona com a compositor de Wayland"
@ -623,19 +566,20 @@ msgstr "Funciona com a compositor de Wayland"
#
# Camins:
# ../src/core/main.c:223
#: src/core/main.c:231
#: ../src/core/main.c:223
#| msgid "Run as a wayland compositor"
msgid "Run as a nested compositor"
msgstr "Funciona com a compositor imbricat"
#: src/core/main.c:239
#: ../src/core/main.c:231
msgid "Run as a full display server, rather than nested"
msgstr "Funciona com a servidor de pantalla completa, en comptes d'imbricat"
#: src/core/mutter.c:39
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
@ -647,51 +591,46 @@ msgstr ""
"No hi ha CAP garantia; ni tan sols la garantia implícita de COMERCIABILITAT\n"
"o ADEQUACIÓ A PER UN PROPÒSIT PARTICULAR.\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "Escriu versió"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "Connector del Mutter a utilitzar"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "Espai de treball %d"
#: src/core/screen.c:580
#: ../src/core/screen.c:521
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"La pantalla «%s» ja té un gestor de finestres; proveu l'opció --replace per "
"reemplaçar el gestor de finestres actual."
#: src/core/screen.c:665
#: ../src/core/screen.c:603
#, c-format
msgid "Screen %d on display %s is invalid\n"
msgstr "El monitor %d en la pantalla '%s' no és vàlida\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "La pantalla %d en la visualització '%s' no és vàlida\n"
#: src/core/util.c:120
#: ../src/core/util.c:121
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter es va compilar sense compatibilitat per al mode detallat\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Mode de commutació: mode %d"
#: src/x11/session.c:1815
#: ../src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Aquestes finestres no implementen «desa la configuració actual» i s'hauran "
"de reiniciar manualment la pròxima vegada que entreu."
#: src/x11/window-props.c:559
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (a %s)"

730
po/cs.po
View File

@ -11,10 +11,10 @@
msgid ""
msgstr ""
"Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-07 12:40+0000\n"
"PO-Revision-Date: 2017-03-09 07:51+0100\n"
"POT-Creation-Date: 2017-02-10 22:51+0000\n"
"PO-Revision-Date: 2017-02-11 15:30+0100\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: čeština <gnome-cs-list@gnome.org>\n"
"Language: cs\n"
@ -275,10 +275,10 @@ msgstr "Modifikátor, který se má použít u operací rozšířené správy ok
#: data/org.gnome.mutter.gschema.xml.in:8
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Tato klávesa spustí „překrytí“ („overlay“), což je kombinace přehledu oken a "
"systému spouštění aplikací. Výchozí u osobních počítačů je „klávesa "
@ -320,7 +320,7 @@ msgstr "Pracovní plochy jsou spravovány dynamicky"
#: data/org.gnome.mutter.gschema.xml.in:41
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
@ -357,11 +357,11 @@ msgstr "Se změnou zaměření čekat na zastavení pohybu ukazatele"
#: data/org.gnome.mutter.gschema.xml.in:69
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Je-li zapnuto a režim zaměření je buď „sloppy“ nebo „mouse“, pak se "
"Je-li je zapnuto a režim zaměření je buď „sloppy“ nebo „mouse“, pak se "
"zaměření nezmění hned, když vstoupíte do kona, ale až se přestane pohybovat "
"ukazatel."
@ -371,7 +371,7 @@ msgstr "Šířka přetažitelného okraje"
#: data/org.gnome.mutter.gschema.xml.in:80
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"Počet všech přetažitelných okrajů. Nestačí-li viditelné okraje motivu, budou "
@ -460,7 +460,7 @@ msgstr "Přepnout na VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1800
#: src/backends/meta-input-settings.c:1759
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Přepínač režimu (skupina %d)"
@ -468,11 +468,11 @@ msgstr "Přepínač režimu (skupina %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1822
#: src/backends/meta-input-settings.c:1781
msgid "Switch monitor"
msgstr "Přepnout monitor"
#: src/backends/meta-input-settings.c:1824
#: src/backends/meta-input-settings.c:1783
msgid "Show on-screen help"
msgstr "Zobrazit nápovědu na obrazovce"
@ -498,10 +498,11 @@ msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:474
#: src/compositor/compositor.c:471
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr "Jiný kompozitní správce již běží na obrazovce %i displeje „%s“."
#: src/core/bell.c:194
@ -536,42 +537,42 @@ msgstr "_Počkat"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display %s\n"
msgid "Failed to open X Window System display '%s'\n"
msgstr "Nelze otevřít displej X Window System „%s“\n"
#: src/core/main.c:189
#: src/core/main.c:187
msgid "Disable connection to session manager"
msgstr "Zakáže připojení ke správci sezení"
#: src/core/main.c:195
#: src/core/main.c:193
msgid "Replace the running window manager"
msgstr "Nahradí běžícího správce oken"
#: src/core/main.c:201
#: src/core/main.c:199
msgid "Specify session management ID"
msgstr "Určení ID správy sezení"
#: src/core/main.c:206
#: src/core/main.c:204
msgid "X Display to use"
msgstr "Displej X, který použije"
#: src/core/main.c:212
#: src/core/main.c:210
msgid "Initialize session from savefile"
msgstr "Spustí sezení z uloženého souboru"
#: src/core/main.c:218
#: src/core/main.c:216
msgid "Make X calls synchronous"
msgstr "Provede volání X synchronně"
#: src/core/main.c:225
#: src/core/main.c:223
msgid "Run as a wayland compositor"
msgstr "Spustit jako kompozitor protokolu Wayland"
#: src/core/main.c:231
#: src/core/main.c:229
msgid "Run as a nested compositor"
msgstr "Spustit jako podkladový kompozitor"
#: src/core/main.c:239
#: src/core/main.c:237
msgid "Run as a full display server, rather than nested"
msgstr "Spustit jako plnohodnotný server displeje, nikoliv vnořeně"
@ -579,7 +580,7 @@ msgstr "Spustit jako plnohodnotný server displeje, nikoliv vnořeně"
#, c-format
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
@ -607,15 +608,15 @@ msgstr "Plocha %d"
#: src/core/screen.c:580
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"Displej „%s“ již správce oken má; zkuste prosím nahradit aktuálního správce "
"oken pomocí přepínače --replace."
#: src/core/screen.c:665
#, c-format
msgid "Screen %d on display %s is invalid\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Obrazovka %d na displeji „%s“ je neplatná\n"
#: src/core/util.c:120
@ -629,10 +630,10 @@ msgstr "Přepínač režimu: režim %d"
#: src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Tato okna nepodporují „uložení aktuálního nastavení a po svém "
"Tato okna nepodporují &quot;ukládání aktuálního nastavení&quot; a po vašem "
"příštím přihlášení je budete muset spustit ručně."
#: src/x11/window-props.c:559
@ -640,3 +641,662 @@ msgstr ""
msgid "%s (on %s)"
msgstr "%s (na %s)"
#~ msgid "Failed to scan themes directory: %s\n"
#~ msgstr "Nelze prohledat adresář motivů: %s\n"
#~ msgid ""
#~ "Could not find a theme! Be sure %s exists and contains the usual themes.\n"
#~ msgstr ""
#~ "Nelze najít motiv! Ujistěte se prosím, že existuje %s a obsahuje obvyklé "
#~ "motivy.\n"
#~ msgid "Screen %d on display \"%s\" already has a window manager\n"
#~ msgstr "Obrazovka %d na displeji „%s“ již má správce oken\n"
#~ msgid "%d x %d"
#~ msgstr "%d × %d"
#~ msgid "top"
#~ msgstr "nahoře"
#~ msgid "bottom"
#~ msgstr "dole"
#~ msgid "left"
#~ msgstr "vlevo"
#~ msgid "right"
#~ msgstr "vpravo"
#~ msgid "frame geometry does not specify \"%s\" dimension"
#~ msgstr "geometrie rámu nedefinuje rozměr „%s“"
#~ msgid "frame geometry does not specify dimension \"%s\" for border \"%s\""
#~ msgstr "geometrie rámu nedefinuje rozměr „%s“ okraje „%s“"
#~ msgid "Button aspect ratio %g is not reasonable"
#~ msgstr "Poměr stran tlačítka %g není přiměřený"
#~ msgid "Frame geometry does not specify size of buttons"
#~ msgstr "Geometrie rámu nedefinuje velikost tlačítek"
#~ msgid "Gradients should have at least two colors"
#~ msgstr "Přechody by měly mít alespoň dvě barvy"
#~ msgid ""
#~ "GTK custom color specification must have color name and fallback in "
#~ "parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
#~ msgstr ""
#~ "Určení vlastní barvy GTK musí mít název barvy a záložní možnost v "
#~ "závorce, např. gtk:custom(x,y); nelze analyzovat „%s“"
#~ msgid ""
#~ "Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-"
#~ "z0-9-_ are valid"
#~ msgstr ""
#~ "Neplatný znak „%c“ v parametru color_name v gtk:custom, platné jsou pouze "
#~ "A-Za-z0-9-_"
#~ msgid ""
#~ "Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
#~ "fit the format"
#~ msgstr ""
#~ "Formát Gtk:custom má podobu „gtk:custom(název_barvy,záloha)“, „%s“ tomuto "
#~ "formátu neodpovídá"
#~ msgid ""
#~ "GTK color specification must have the state in brackets, e.g. gtk:"
#~ "fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
#~ msgstr ""
#~ "Specifikace GTK barvy musí mít stav v hranatých závorkách, např. gtk:"
#~ "fg[NORMAL], kde NORMAL je stav; nelze analyzovat „%s“"
#~ msgid ""
#~ "GTK color specification must have a close bracket after the state, e.g. "
#~ "gtk:fg[NORMAL] where NORMAL is the state; could not parse \"%s\""
#~ msgstr ""
#~ "Specifikace GTK barvy musí mít za stavem hranatou závorku, např. gtk:"
#~ "fg[NORMAL], kde NORMAL je stav; nelze analyzovat „%s“"
#~ msgid "Did not understand state \"%s\" in color specification"
#~ msgstr "Nerozumí se stavu „%s“ ve specifikaci barvy"
#~ msgid "Did not understand color component \"%s\" in color specification"
#~ msgstr "Nerozumí se barevné složce „%s“ ve specifikaci barvy"
#~ msgid ""
#~ "Blend format is \"blend/bg_color/fg_color/alpha\", \"%s\" does not fit "
#~ "the format"
#~ msgstr ""
#~ "Formát prolínání má podobu „prolínání/barva_pozadí/barva_popředí/alfa“, "
#~ "„%s“ tomuto formátu neodpovídá"
#~ msgid "Could not parse alpha value \"%s\" in blended color"
#~ msgstr "Nelze analyzovat hodnotu alfa „%s“ v prolínající barvě"
#~ msgid "Alpha value \"%s\" in blended color is not between 0.0 and 1.0"
#~ msgstr "Hodnota alfa „%s“ v prolínající barvě není mezi 0.0 a 1.0"
#~ msgid ""
#~ "Shade format is \"shade/base_color/factor\", \"%s\" does not fit the "
#~ "format"
#~ msgstr ""
#~ "Formát stínu má podobu „stín/základní_barva/faktor“, „%s“ tomuto formátu "
#~ "neodpovídá"
#~ msgid "Could not parse shade factor \"%s\" in shaded color"
#~ msgstr "Nelze analyzovat faktor stínu „%s“ ve stínované barvě"
#~ msgid "Shade factor \"%s\" in shaded color is negative"
#~ msgstr "Faktor stínu „%s“ ve stínované barvě je záporný"
#~ msgid "Could not parse color \"%s\""
#~ msgstr "Nelze analyzovat barvu „%s“"
#~ msgid "Coordinate expression contains character '%s' which is not allowed"
#~ msgstr "Souřadnicový výraz obsahuje nepovolený znak „%s“"
#~ msgid ""
#~ "Coordinate expression contains floating point number '%s' which could not "
#~ "be parsed"
#~ msgstr ""
#~ "Souřadnicový výraz obsahuje číslo s pohyblivou řádovou čárkou „%s“, které "
#~ "nelze analyzovat"
#~ msgid ""
#~ "Coordinate expression contains integer '%s' which could not be parsed"
#~ msgstr "Souřadnicový výraz obsahuje celé číslo „%s“, které nelze analyzovat"
#~ msgid ""
#~ "Coordinate expression contained unknown operator at the start of this "
#~ "text: \"%s\""
#~ msgstr "Souřadnicový výraz obsahuje na začátku textu neznámý operátor: „%s“"
#~ msgid "Coordinate expression was empty or not understood"
#~ msgstr "Souřadnicový výraz byl prázdný nebo mu nebylo rozuměno"
#~ msgid "Coordinate expression results in division by zero"
#~ msgstr "Souřadnicový výraz způsobil dělení nulou"
#~ msgid ""
#~ "Coordinate expression tries to use mod operator on a floating-point number"
#~ msgstr ""
#~ "Souřadnicový výraz chce použít operátor mod na číslo s pohyblivou řádovou "
#~ "čárkou"
#~ msgid ""
#~ "Coordinate expression has an operator \"%s\" where an operand was expected"
#~ msgstr ""
#~ "Souřadnicový výraz má na místě, kde byl očekáván operand, operátor „%s“"
#~ msgid "Coordinate expression had an operand where an operator was expected"
#~ msgstr "Souřadnicový výraz má operand tam, kde byl očekáván operátor"
#~ msgid "Coordinate expression ended with an operator instead of an operand"
#~ msgstr "Souřadnicový výraz končí operátorem místo operandu"
#~ msgid ""
#~ "Coordinate expression has operator \"%c\" following operator \"%c\" with "
#~ "no operand in between"
#~ msgstr ""
#~ "Souřadnicový výraz má operátor „%c“ za operátorem „%c“ bez operandu "
#~ "umístěného mezi nimi"
#~ msgid "Coordinate expression had unknown variable or constant \"%s\""
#~ msgstr "Souřadnicový výraz má neznámou proměnnou nebo konstantu „%s“"
#~ msgid "Coordinate expression parser overflowed its buffer."
#~ msgstr "Analyzátor souřadnicových výrazů přeplnil svou vyrovnávací paměť."
#~ msgid ""
#~ "Coordinate expression had a close parenthesis with no open parenthesis"
#~ msgstr "Souřadnicový výraz má pravou závorku bez levé závorky"
#~ msgid ""
#~ "Coordinate expression had an open parenthesis with no close parenthesis"
#~ msgstr "Souřadnicový výraz má levou závorku bez pravé závorky"
#~ msgid "Coordinate expression doesn't seem to have any operators or operands"
#~ msgstr "Souřadnicový výraz zřejmě nemá žádné operátory nebo operandy"
#~ msgid "Theme contained an expression that resulted in an error: %s\n"
#~ msgstr "Motiv obsahoval výraz, který způsobil chybu: %s\n"
#~ msgid ""
#~ "<button function=\"%s\" state=\"%s\" draw_ops=\"whatever\"/> must be "
#~ "specified for this frame style"
#~ msgstr ""
#~ "U tohoto stylu rámu musí být zadáno <button function=\"%s\" state=\"%s\" "
#~ "draw_ops=\"cokoliv\"/>"
#~ msgid ""
#~ "Missing <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"whatever\"/"
#~ ">"
#~ msgstr ""
#~ "Chybí <frame state=\"%s\" resize=\"%s\" focus=\"%s\" style=\"cokoliv\"/>"
#~ msgid "Failed to load theme \"%s\": %s\n"
#~ msgstr "Nelze načíst motiv „%s“: %s\n"
#~ msgid "No <%s> set for theme \"%s\""
#~ msgstr "Není nastaveno <%s> motivu „%s“"
#~ msgid ""
#~ "No frame style set for window type \"%s\" in theme \"%s\", add a <window "
#~ "type=\"%s\" style_set=\"whatever\"/> element"
#~ msgstr ""
#~ "U typu okna „%s“ motivu „%s“ není nastaven typ rámu, přidejte prosím "
#~ "prvek <window type=\"%s\" style_set=\"cokoliv\"/>"
#~ msgid ""
#~ "User-defined constants must begin with a capital letter; \"%s\" does not"
#~ msgstr ""
#~ "Uživatelem definované konstanty musí začínat velkým písmenem; „%s“ toto "
#~ "nesplňuje"
#~ msgid "Constant \"%s\" has already been defined"
#~ msgstr "Konstanta „%s“ již byla definována"
#~ msgid "No \"%s\" attribute on element <%s>"
#~ msgstr "Chybí atribut „%s“ v prvku <%s>"
#~ msgid "Line %d character %d: %s"
#~ msgstr "Řádek %d znak %d: %s"
#~ msgid "Attribute \"%s\" repeated twice on the same <%s> element"
#~ msgstr "Atribut „%s“ opakován dvakrát v jednom prvku <%s>"
#~ msgid "Attribute \"%s\" is invalid on <%s> element in this context"
#~ msgstr "Atribut „%s“ je v prvku <%s> v tomto kontextu neplatný"
#~ msgid "Could not parse \"%s\" as an integer"
#~ msgstr "„%s“ nelze analyzovat jako celé číslo"
#~ msgid "Did not understand trailing characters \"%s\" in string \"%s\""
#~ msgstr "Nerozuměno koncovým znakům „%s“ v řetězci „%s“"
#~ msgid "Integer %ld must be positive"
#~ msgstr "Celé číslo %ld musí být kladné"
#~ msgid "Integer %ld is too large, current max is %d"
#~ msgstr "Celé číslo %ld je příliš velké, aktuální maximum je %d"
#~ msgid "Could not parse \"%s\" as a floating point number"
#~ msgstr "Nelze analyzovat „%s“ jako číslo s pohyblivou řádovou čárkou"
#~ msgid "Boolean values must be \"true\" or \"false\" not \"%s\""
#~ msgstr "Pravdivostní hodnoty musí být „true“ nebo „false“, nikoliv „%s“"
#~ msgid "Angle must be between 0.0 and 360.0, was %g\n"
#~ msgstr "Úhel musí být mezi 0.0 a 360.0, měl hodnotu %g\n"
#~ msgid ""
#~ "Alpha must be between 0.0 (invisible) and 1.0 (fully opaque), was %g\n"
#~ msgstr ""
#~ "Alfa musí být mezi 0.0 (neviditelný) a 1.0 (zcela neprůhledný), měla "
#~ "hodnotu %g\n"
#~ msgid ""
#~ "Invalid title scale \"%s\" (must be one of xx-small,x-small,small,medium,"
#~ "large,x-large,xx-large)\n"
#~ msgstr ""
#~ "Neplatné měřítko nadpisu „%s“ (musí být jedno z xx-small, x-small, "
#~ "medium, large, x-large, xx-large)\n"
#~ msgid "<%s> name \"%s\" used a second time"
#~ msgstr "<%s>: název „%s“ použit podruhé"
#~ msgid "<%s> parent \"%s\" has not been defined"
#~ msgstr "<%s>: rodič „%s“ nebyl definován"
#~ msgid "<%s> geometry \"%s\" has not been defined"
#~ msgstr "<%s>: geometrie „%s“ nebyla definována"
#~ msgid "<%s> must specify either a geometry or a parent that has a geometry"
#~ msgstr "<%s> musí určit buď geometrii, nebo rodiče, který má geometrii"
#~ msgid "You must specify a background for an alpha value to be meaningful"
#~ msgstr "Aby měla hodnota alfa význam, je nutné určit pozadí"
#~ msgid "Unknown type \"%s\" on <%s> element"
#~ msgstr "Neznámý typ „%s“ v prvku <%s>"
#~ msgid "Unknown style_set \"%s\" on <%s> element"
#~ msgstr "Neznámý style_set „%s“ v prvku <%s>"
#~ msgid "Window type \"%s\" has already been assigned a style set"
#~ msgstr "Typu okna „%s“ již byla přiřazena sada stylů"
#~ msgid "Element <%s> is not allowed below <%s>"
#~ msgstr "Prvek <%s> není povolen pod <%s>"
#~ msgid ""
#~ "Cannot specify both \"button_width\"/\"button_height\" and \"aspect_ratio"
#~ "\" for buttons"
#~ msgstr ""
#~ "U tlačítek nelze zadat „button_width“/„button_height“ a zároveň "
#~ "„aspect_ratio“"
#~ msgid "Distance \"%s\" is unknown"
#~ msgstr "Vzdálenost „%s“ není známa"
#~ msgid "Aspect ratio \"%s\" is unknown"
#~ msgstr "Poměr stran „%s“ není znám"
#~ msgid "Border \"%s\" is unknown"
#~ msgstr "Okraj „%s“ není znám"
#~ msgid "No \"start_angle\" or \"from\" attribute on element <%s>"
#~ msgstr "Chybí atribut „start_angle“ nebo „from“ v prvku <%s>"
#~ msgid "No \"extent_angle\" or \"to\" attribute on element <%s>"
#~ msgstr "Chybí atribut „extent_angle“ nebo „to“ v prvku <%s>"
#~ msgid "Did not understand value \"%s\" for type of gradient"
#~ msgstr "Nerozumí se hodnotě „%s“ typu přechodu"
#~ msgid "Did not understand fill type \"%s\" for <%s> element"
#~ msgstr "Nerozumí se typu výplně „%s“ prvku <%s>"
#~ msgid "Did not understand state \"%s\" for <%s> element"
#~ msgstr "Nerozumí se stavu „%s“ prvku <%s>"
#~ msgid "Did not understand shadow \"%s\" for <%s> element"
#~ msgstr "Nerozumí se stínu „%s“ prvku <%s>"
#~ msgid "Did not understand arrow \"%s\" for <%s> element"
#~ msgstr "Nerozumí se šipce „%s“ prvku <%s>"
#~ msgid "No <draw_ops> called \"%s\" has been defined"
#~ msgstr "Nebyly definovány žádné <draw_ops> nazvané „%s“"
#~ msgid "Including draw_ops \"%s\" here would create a circular reference"
#~ msgstr "Vložení draw_ops „%s“ na tomto místě by vytvořilo zacyklený odkaz"
#~ msgid "Unknown position \"%s\" for frame piece"
#~ msgstr "Neznámá pozice položky rámu „%s“"
#~ msgid "Frame style already has a piece at position %s"
#~ msgstr "Styl rámu již má položku na pozici %s"
#~ msgid "No <draw_ops> with the name \"%s\" has been defined"
#~ msgstr "Nebyly definované žádné <draw_ops> s názvem „%s“"
#~ msgid "Unknown function \"%s\" for button"
#~ msgstr "Neznámá funkce tlačítka „%s“"
#~ msgid "Button function \"%s\" does not exist in this version (%d, need %d)"
#~ msgstr "Funkce tlačítka „%s“ v této verzi neexistuje (%d, potřeba je %d)"
#~ msgid "Unknown state \"%s\" for button"
#~ msgstr "Neznámý stav tlačítka „%s“"
#~ msgid "Frame style already has a button for function %s state %s"
#~ msgstr "Styl rámu již má tlačítko funkce %s stavu %s"
#~ msgid "\"%s\" is not a valid value for focus attribute"
#~ msgstr "„%s“ není platná hodnota atributu focus"
#~ msgid "\"%s\" is not a valid value for state attribute"
#~ msgstr "„%s“ není platná hodnota atributu state"
#~ msgid "A style called \"%s\" has not been defined"
#~ msgstr "Nebyl definován styl „%s“"
#~ msgid "\"%s\" is not a valid value for resize attribute"
#~ msgstr "„%s“ není platná hodnota atributu resize"
#~ msgid ""
#~ "Should not have \"resize\" attribute on <%s> element for maximized/shaded "
#~ "states"
#~ msgstr ""
#~ "Atribut „resize“ by neměl být na prvku <%s> maximalizovaného/svinutého "
#~ "stavu"
#~ msgid ""
#~ "Should not have \"resize\" attribute on <%s> element for maximized states"
#~ msgstr "Atribut „resize“ by neměl být na prvku <%s> maximalizovaného stavu"
#~ msgid "Style has already been specified for state %s resize %s focus %s"
#~ msgstr "U state %s resize %s focus %s již byl definován styl"
#~ msgid "Style has already been specified for state %s focus %s"
#~ msgstr "U state %s focus %s již byl definován styl"
#~ msgid ""
#~ "Can't have a two draw_ops for a <piece> element (theme specified a "
#~ "draw_ops attribute and also a <draw_ops> element, or specified two "
#~ "elements)"
#~ msgstr ""
#~ "Nelze mít dvě draw_ops u prvku <piece> (motiv definoval atribut draw_ops "
#~ "i prvek <draw_ops>, nebo definoval dva prvky)"
#~ msgid ""
#~ "Can't have a two draw_ops for a <button> element (theme specified a "
#~ "draw_ops attribute and also a <draw_ops> element, or specified two "
#~ "elements)"
#~ msgstr ""
#~ "Nelze mít dvě draw_ops u prvku <button> (motiv definoval atribut draw_ops "
#~ "i prvek <draw_ops>, nebo definoval dva prvky)"
#~ msgid ""
#~ "Can't have a two draw_ops for a <menu_icon> element (theme specified a "
#~ "draw_ops attribute and also a <draw_ops> element, or specified two "
#~ "elements)"
#~ msgstr ""
#~ "Nelze mít dvě draw_ops u prvku <menu_icon> (motiv definoval atribut "
#~ "draw_ops i prvek <draw_ops>, nebo definoval dva prvky)"
#~ msgid "Bad version specification '%s'"
#~ msgstr "Chybné zadání verze „%s“"
#~ msgid ""
#~ "\"version\" attribute cannot be used in metacity-theme-1.xml or metacity-"
#~ "theme-2.xml"
#~ msgstr ""
#~ "Atribut „version“ nemůže být použit v metacity-theme-1.xml or metacity-"
#~ "theme-2.xml"
#~ msgid ""
#~ "Theme requires version %s but latest supported theme version is %d.%d"
#~ msgstr ""
#~ "Motiv vyžaduje verzi %s, ale poslední verze podporovaného motivu je %d.%d"
#~ msgid "Outermost element in theme must be <metacity_theme> not <%s>"
#~ msgstr "Vnější prvek motivu musí být <metacity_theme>, nikoliv <%s>"
#~ msgid ""
#~ "Element <%s> is not allowed inside a name/author/date/description element"
#~ msgstr "Prvek <%s> není dovolen v prvku name/author/date/description"
#~ msgid "Element <%s> is not allowed inside a <constant> element"
#~ msgstr "Prvek <%s> není dovolen v prvku <constant>"
#~ msgid ""
#~ "Element <%s> is not allowed inside a distance/border/aspect_ratio element"
#~ msgstr "Prvek <%s> není dovolen v prvku distance/border/aspect_ratio"
#~ msgid "Element <%s> is not allowed inside a draw operation element"
#~ msgstr "Prvek <%s> není dovolen v prvku operace kreslení"
#~ msgid "Element <%s> is not allowed inside a <%s> element"
#~ msgstr "Prvek <%s> není dovolen v prvku <%s>"
#~ msgid "No draw_ops provided for frame piece"
#~ msgstr "U položky rámu neposkytnuty draw_ops"
#~ msgid "No draw_ops provided for button"
#~ msgstr "U tlačítka neposkytnuty draw_ops"
#~ msgid "No text is allowed inside element <%s>"
#~ msgstr "V prvku <%s> není dovolen žádný text"
#~ msgid "<%s> specified twice for this theme"
#~ msgstr "<%s> u tohoto motivu definováno dvakrát"
#~ msgid "Failed to find a valid file for theme %s\n"
#~ msgstr "Nelze nalézt platný soubor motivu %s\n"
#~ msgid "background texture could not be created from file"
#~ msgstr "textura pozadí nemohla být ze souboru vytvořena"
#~ msgid "Unknown window information request: %d"
#~ msgstr "Neznámý informační požadavek okna: %d"
#~ msgid "Missing %s extension required for compositing"
#~ msgstr "Schází rozšíření %s vyžadované funkcemi kompozitoru"
#~ msgid ""
#~ "Some other program is already using the key %s with modifiers %x as a "
#~ "binding\n"
#~ msgstr ""
#~ "Klávesu %s s modifikátory %x již jako zkratku používá nějaký jiný "
#~ "program\n"
#~ msgid "\"%s\" is not a valid accelerator\n"
#~ msgstr "„%s“ není platný akcelerátor\n"
#~ msgid ""
#~ "Workarounds for broken applications disabled. Some applications may not "
#~ "behave properly.\n"
#~ msgstr ""
#~ "Bylo zakázáno obcházení chyb aplikací. Některé aplikace se možná nebudou "
#~ "chovat správně.\n"
#~ msgid "Could not parse font description \"%s\" from GSettings key %s\n"
#~ msgstr "Nelze zpracovat popis písma „%s“ v klíči GSettings %s\n"
#~ msgid ""
#~ "\"%s\" found in configuration database is not a valid value for mouse "
#~ "button modifier\n"
#~ msgstr ""
#~ "„%s“ nalezené v databázi nastavení není platnou hodnotou modifikátoru "
#~ "tlačítka myši\n"
#~ msgid ""
#~ "\"%s\" found in configuration database is not a valid value for "
#~ "keybinding \"%s\"\n"
#~ msgstr ""
#~ "„%s“ nalezené v databázi nastavení není platnou hodnotou klávesové "
#~ "zkratky „%s“\n"
#~ msgid ""
#~ "Could not acquire window manager selection on screen %d display \"%s\"\n"
#~ msgstr "Nelze získat výběr správce oken na obrazovce %d displeje „%s“\n"
#~ msgid "Could not release screen %d on display \"%s\"\n"
#~ msgstr "Nelze uvolnit obrazovku %d na displeji „%s“\n"
#~ msgid "Could not create directory '%s': %s\n"
#~ msgstr "Nelze vytvořit adresář „%s“: %s\n"
#~ msgid "Could not open session file '%s' for writing: %s\n"
#~ msgstr "Nelze otevřít soubor sezení „%s“ k zápisu: %s\n"
#~ msgid "Error writing session file '%s': %s\n"
#~ msgstr "Chyba při zápisu souboru sezení „%s“: %s\n"
#~ msgid "Error closing session file '%s': %s\n"
#~ msgstr "Chyba při zavírání souboru sezení „%s“: %s\n"
#~ msgid "Failed to parse saved session file: %s\n"
#~ msgstr "Chyba při analyzování uloženého souboru sezení: %s\n"
#~ msgid "<mutter_session> attribute seen but we already have the session ID"
#~ msgstr "nalezen atribut <mutter_session>, ale ID sezení už k dispozici je"
#~ msgid "Unknown attribute %s on <%s> element"
#~ msgstr "Neznámý atribut %s prvku <%s>"
#~ msgid "nested <window> tag"
#~ msgstr "vnořená značka <window>"
#~ msgid "Unknown element %s"
#~ msgstr "Neznámý prvek %s"
#~ msgid "Failed to open debug log: %s\n"
#~ msgstr "Nelze otevřít ladicí záznam: %s\n"
#~ msgid "Failed to fdopen() log file %s: %s\n"
#~ msgstr "Nelze provést fdopen() soubor záznamu %s: %s\n"
#~ msgid "Opened log file %s\n"
#~ msgstr "Otevřen soubor záznamu %s\n"
#~ msgid "Window manager: "
#~ msgstr "Správce oken: "
#~ msgid "Bug in window manager: "
#~ msgstr "Chyba ve správci oken: "
#~ msgid "Window manager warning: "
#~ msgstr "Varování správce oken: "
#~ msgid "Window manager error: "
#~ msgstr "Chyba správce oken: "
#~ 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 nastavilo SM_CLIENT_ID samo na sebe, namísto okna "
#~ "WM_CLIENT_LEADER, jak je definováno v ICCCM.\n"
#~ 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 nastavuje pokyn MWM, kterým naznačuje, že se nedá měnit jeho "
#~ "velikost, ale nastavuje min. velikost %d × %d a max. velikost %d × %d; to "
#~ "nedává smysl.\n"
#~ msgid "Application set a bogus _NET_WM_PID %lu\n"
#~ msgstr "Aplikace nastavila neplatný _NET_WM_PID %lu\n"
#~ msgid "Invalid WM_TRANSIENT_FOR window 0x%lx specified for %s.\n"
#~ msgstr "Neplatné okno WM_TRANSIENT_FOR 0x%lx specifikováno pro %s.\n"
#~ msgid "WM_TRANSIENT_FOR window 0x%lx for %s would create loop.\n"
#~ msgstr "Okno WM_TRANSIENT_FOR 0x%lx by vytvořilo smyčku pro %s.\n"
#~ msgid ""
#~ "Window 0x%lx has property %s\n"
#~ "that was expected to have type %s format %d\n"
#~ "and actually has type %s format %d n_items %d.\n"
#~ "This is most likely an application bug, not a window manager bug.\n"
#~ "The window has title=\"%s\" class=\"%s\" name=\"%s\"\n"
#~ msgstr ""
#~ "Okno 0x%lx má vlastnost %s\n"
#~ "Ta má mít typ %s formátu %d\n"
#~ "a ve skutečnosti má typ %s formátu %d n_items %d.\n"
#~ "To je pravděpodobně chyba aplikace, nikoliv správce oken.\n"
#~ "Okno má nadpis=„%s“, třída=„%s“, název=„%s“.\n"
#~ msgid "Property %s on window 0x%lx contained invalid UTF-8\n"
#~ msgstr "Vlastnost %s okna 0x%lx obsahovala neplatné UTF-8\n"
#~ msgid ""
#~ "Property %s on window 0x%lx contained invalid UTF-8 for item %d in the "
#~ "list\n"
#~ msgstr ""
#~ "Vlastnost %s okna 0x%lx obsahovala neplatné UTF-8 u položky %d seznamu\n"
#~ msgid "Mi_nimize"
#~ msgstr "Mi_nimalizovat"
#~ msgid "Ma_ximize"
#~ msgstr "Ma_ximalizovat"
#~ msgid "Unma_ximize"
#~ msgstr "Zrušit ma_ximalizaci"
#~ msgid "Roll _Up"
#~ msgstr "Sv_inout"
#~ msgid "_Unroll"
#~ msgstr "Rozv_inout"
#~ msgid "_Move"
#~ msgstr "_Přesunout"
#~ msgid "_Resize"
#~ msgstr "Z_měnit velikost"
#~ msgid "Move Titlebar On_screen"
#~ msgstr "Přesunout záhlaví okna na _obrazovku"
#~ msgid "Always on _Top"
#~ msgstr "_Vždy navrchu"
#~ msgid "_Always on Visible Workspace"
#~ msgstr "Vžd_y na viditelné ploše"
#~ msgid "_Only on This Workspace"
#~ msgstr "_Jen na této ploše"
#~ msgid "Move to Workspace _Left"
#~ msgstr "Přesunout na plochu v_levo"
#~ msgid "Move to Workspace R_ight"
#~ msgstr "Přesunout na plochu vp_ravo"
#~ msgid "Move to Workspace _Up"
#~ msgstr "Přesunout na plochu na_hoře"
#~ msgid "Move to Workspace _Down"
#~ msgstr "Přesunout na plochu _dole"
#~ msgid "_Close"
#~ msgstr "_Zavřít"
#~ msgid "Workspace %d%n"
#~ msgstr "Plocha %d%n"
#~ msgid "Workspace 1_0"
#~ msgstr "Plocha 1_0"
#~ msgid "Workspace %s%d"
#~ msgstr "Plocha %s%d"
#~ msgid "Move to Another _Workspace"
#~ msgstr "Přes_unout na jinou plochu"

539
po/da.po
View File

@ -1,5 +1,5 @@
# Danish translation of Mutter.
# Copyright (C) 2002-2009, 2012-2017.
# Copyright (C) 2002-2009, 2012-2016.
# This file is distributed under the same license as the metacity package.
# Kjartan Maraas <kmaraas@gnome.org>, 2002
# Keld simonsen <keld@dkuug.dk>, 2002
@ -8,7 +8,7 @@
# Lasse Bang Mikkelsen <lbm@fatalerror.dk>, 2006.
# Kenneth Nielsen <k.nielsen81@gmail.com>, 2008.
# Joe Hansen <joedalton2@yahoo.dk>, 2011.
# Ask Hjorth Larsen <asklarsen@gmail.com>, 2007, 09, 10, 12, 13, 14, 15, 16, 17.
# Ask Hjorth Larsen <asklarsen@gmail.com>, 2007, 09, 10, 12, 13, 14, 15, 16.
#
# Ordliste:
#
@ -19,10 +19,10 @@
msgid ""
msgstr ""
"Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-22 19:28+0000\n"
"PO-Revision-Date: 2017-03-02 12:04+0100\n"
"POT-Creation-Date: 2016-09-13 10:16+0000\n"
"PO-Revision-Date: 2016-09-08 23:52+0200\n"
"Last-Translator: Ask Hjorth Larsen <asklarsen@gmail.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
"Language: da\n"
@ -30,6 +30,246 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: data/50-mutter-navigation.xml:6
msgid "Navigation"
msgstr "Navigation"
#: data/50-mutter-navigation.xml:9
msgid "Move window to workspace 1"
msgstr "Flyt vindue til arbejdsområde 1"
#: data/50-mutter-navigation.xml:12
msgid "Move window to workspace 2"
msgstr "Flyt vindue til arbejdsområde 2"
#: data/50-mutter-navigation.xml:15
msgid "Move window to workspace 3"
msgstr "Flyt vindue til arbejdsområde 3"
#: data/50-mutter-navigation.xml:18
msgid "Move window to workspace 4"
msgstr "Flyt vindue til arbejdsområde 4"
#: data/50-mutter-navigation.xml:21
msgid "Move window to last workspace"
msgstr "Flyt vindue til sidste arbejdsområde"
#: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Flyt vindue et arbejdsområde til venstre"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Flyt vindue et arbejdsområde til højre"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up"
msgstr "Flyt vindue et arbejdsområde op"
#: data/50-mutter-navigation.xml:33
msgid "Move window one workspace down"
msgstr "Flyt vindue et arbejdsområde ned"
#: data/50-mutter-navigation.xml:36
msgid "Move window one monitor to the left"
msgstr "Flyt vindue en skærm til venstre"
#: data/50-mutter-navigation.xml:39
msgid "Move window one monitor to the right"
msgstr "Flyt vindue en skærm til højre"
#: data/50-mutter-navigation.xml:42
msgid "Move window one monitor up"
msgstr "Flyt vindue en skærm op"
#: data/50-mutter-navigation.xml:45
msgid "Move window one monitor down"
msgstr "Flyt vindue en skærm ned"
#: data/50-mutter-navigation.xml:49
msgid "Switch applications"
msgstr "Skift mellem programmer"
#: data/50-mutter-navigation.xml:54
msgid "Switch to previous application"
msgstr "Skift til forrige program"
#: data/50-mutter-navigation.xml:58
msgid "Switch windows"
msgstr "Skift mellem vinduer"
#: data/50-mutter-navigation.xml:63
msgid "Switch to previous window"
msgstr "Skift til forrige vindue"
#: data/50-mutter-navigation.xml:67
msgid "Switch windows of an application"
msgstr "Skift mellem vinduer i et program"
#: data/50-mutter-navigation.xml:72
msgid "Switch to previous window of an application"
msgstr "Skift til forrige vindue af et program"
#: data/50-mutter-navigation.xml:76
msgid "Switch system controls"
msgstr "Skift mellem systemkontroller"
#: data/50-mutter-navigation.xml:81
msgid "Switch to previous system control"
msgstr "Skift til forrige systemkontrol"
#: data/50-mutter-navigation.xml:85
msgid "Switch windows directly"
msgstr "Skift direkte mellem vinduer"
#: data/50-mutter-navigation.xml:90
msgid "Switch directly to previous window"
msgstr "Skift direkte til forrige vindue"
#: data/50-mutter-navigation.xml:94
msgid "Switch windows of an app directly"
msgstr "Skift direkte mellem vinduer i et program"
#: data/50-mutter-navigation.xml:99
msgid "Switch directly to previous window of an app"
msgstr "Skift direkte til forrige vindue af et program"
#: data/50-mutter-navigation.xml:103
msgid "Switch system controls directly"
msgstr "Skift direkte mellem systemkontroller"
#: data/50-mutter-navigation.xml:108
msgid "Switch directly to previous system control"
msgstr "Skift direkte til forrige systemkontrol"
#: data/50-mutter-navigation.xml:111
msgid "Hide all normal windows"
msgstr "Skjul alle normale vinduer"
#: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 1"
msgstr "Skift til arbejdsområde 1"
#: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 2"
msgstr "Skift til arbejdsområde 2"
#: data/50-mutter-navigation.xml:120
msgid "Switch to workspace 3"
msgstr "Skift til arbejdsområde 3"
#: data/50-mutter-navigation.xml:123
msgid "Switch to workspace 4"
msgstr "Skift til arbejdsområde 4"
#: data/50-mutter-navigation.xml:126
msgid "Switch to last workspace"
msgstr "Skift til sidste arbejdsområde"
#: data/50-mutter-navigation.xml:129
msgid "Move to workspace left"
msgstr "Flyt til arbejdsområdet til venstre"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Flyt til arbejdsområdet til højre"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above"
msgstr "Flyt til arbejdsområdet ovenover"
#: data/50-mutter-navigation.xml:138
msgid "Move to workspace below"
msgstr "Flyt til arbejdsområdet nedenunder"
#: data/50-mutter-system.xml:6
msgid "System"
msgstr "System"
#: data/50-mutter-system.xml:8
msgid "Show the run command prompt"
msgstr "Vis \"kør kommando\"-prompten"
#: data/50-mutter-system.xml:10
msgid "Show the activities overview"
msgstr "Vis aktivitetsoversigten"
#: data/50-mutter-windows.xml:6
msgid "Windows"
msgstr "Vinduer"
#: data/50-mutter-windows.xml:8
msgid "Activate the window menu"
msgstr "Aktivér vinduesmenuen"
#: data/50-mutter-windows.xml:10
msgid "Toggle fullscreen mode"
msgstr "Slå fuldskærmstilstand til/fra"
#: data/50-mutter-windows.xml:12
msgid "Toggle maximization state"
msgstr "Slå maksimering til/fra"
#: data/50-mutter-windows.xml:14
msgid "Maximize window"
msgstr "Maksimér vindue"
#: data/50-mutter-windows.xml:16
msgid "Restore window"
msgstr "Gendan vindue"
#: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Slå vinduesoprulning til/fra"
#: data/50-mutter-windows.xml:20
msgid "Close window"
msgstr "Luk vindue"
#: data/50-mutter-windows.xml:22
msgid "Hide window"
msgstr "Skjul vindue"
#: data/50-mutter-windows.xml:24
msgid "Move window"
msgstr "Flyt vindue"
#: data/50-mutter-windows.xml:26
msgid "Resize window"
msgstr "Ændr vinduesstørrelse"
#: data/50-mutter-windows.xml:29
msgid "Toggle window on all workspaces or one"
msgstr "Slå visning af vindue på alle arbejdsområder til/fra"
#: data/50-mutter-windows.xml:31
msgid "Raise window if covered, otherwise lower it"
msgstr "Hæv vindue hvis det er dækket, ellers sænk det"
#: data/50-mutter-windows.xml:33
msgid "Raise window above other windows"
msgstr "Hæv vindue over andre vinduer"
#: data/50-mutter-windows.xml:35
msgid "Lower window below other windows"
msgstr "Sænk vindue under andre vinduer"
#: data/50-mutter-windows.xml:37
msgid "Maximize window vertically"
msgstr "Maksimér vindue lodret"
#: data/50-mutter-windows.xml:39
msgid "Maximize window horizontally"
msgstr "Maksimér vindue vandret"
#: data/50-mutter-windows.xml:43
msgid "View split on left"
msgstr "Delt visning venstre"
#: data/50-mutter-windows.xml:47
msgid "View split on right"
msgstr "Delt visning højre"
#: data/mutter.desktop.in:4
msgid "Mutter"
msgstr "Mutter"
@ -40,11 +280,15 @@ msgstr "Modifikationstast til brug for udvidede vindueshåndteringsoperationer"
#: data/org.gnome.mutter.gschema.xml.in:8
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
msgstr "Denne nøgle vil klargøre \"overlay\", som er en kombineret vinduesoversigt og programstartersystem. Standardværdien på PC-hardware er tiltænkt som \"Windows\"-tasten. Det forventes, at denne binding enten har standardværdien, eller er sat til den tomme streng."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Denne nøgle vil klargøre \"overlay\", som er en kombineret vinduesoversigt "
"og programstartsystem. Standardværdien på PC-hardware er tiltænkt som "
"\"Windows\"-tasten. Det forventes at denne binding enten har "
"standardværdien, eller er sat til den tomme streng."
#: data/org.gnome.mutter.gschema.xml.in:20
msgid "Attach modal dialogs"
@ -82,7 +326,7 @@ msgstr "Arbejdsområder håndteres dynamisk"
#: data/org.gnome.mutter.gschema.xml.in:41
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
@ -120,9 +364,9 @@ msgstr "Lad fokusændringer vente indtil markøren holder op med at bevæge sig"
#: data/org.gnome.mutter.gschema.xml.in:69
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Hvis sat til sand, og fokustilstanden er enten \"sloppy\" eller \"mouse\", "
"vil fokus ikke blive ændret omgående når man går ind i et nyt vindue, men "
@ -134,7 +378,7 @@ msgstr "Bredde af den trækbare kant"
#: data/org.gnome.mutter.gschema.xml.in:80
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"Samlet mængde kant der kan trækkes. Hvis temaets synlige grænser ikke er "
@ -219,51 +463,44 @@ msgstr "Skift til VT 11"
msgid "Switch to VT 12"
msgstr "Skift til VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1800
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Tilstandsskift (Gruppe %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1822
#: src/backends/meta-input-settings.c:1845
msgid "Switch monitor"
msgstr "Skift skærm"
#: src/backends/meta-input-settings.c:1824
#: src/backends/meta-input-settings.c:1847
msgid "Show on-screen help"
msgstr "Vis integreret hjælp"
#: src/backends/meta-monitor-manager.c:675
#: src/backends/meta-monitor-manager.c:514
msgid "Built-in display"
msgstr "Indbygget terminal"
#: src/backends/meta-monitor-manager.c:698
#: src/backends/meta-monitor-manager.c:537
msgid "Unknown"
msgstr "Ukendt"
#: src/backends/meta-monitor-manager.c:700
#: src/backends/meta-monitor-manager.c:539
msgid "Unknown Display"
msgstr "Ukendt terminal"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:708
#: src/backends/meta-monitor-manager.c:547
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: src/compositor/compositor.c:463
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
"En anden komposithåndtering kører allerede på skærm %i på terminal \"%s\"."
@ -271,7 +508,6 @@ msgstr ""
msgid "Bell event"
msgstr "Bip-hændelse"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
@ -289,52 +525,52 @@ msgstr ""
"Du kan vælge at vente et lille stykke tid på at programmet fortsætter, eller "
"du kan tvinge programmet til at afslutte fuldstændigt."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Tving til at afslutte"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "_Vent"
#: src/core/display.c:608
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Tving til at afslutte"
#: src/core/display.c:590
#, c-format
msgid "Failed to open X Window System display %s\n"
msgid "Failed to open X Window System display '%s'\n"
msgstr "Kunne ikke åbne X Window System-terminalen \"%s\"\n"
#: src/core/main.c:189
#: src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "Deaktivér forbindelse til sessionshåndtering"
#: src/core/main.c:195
#: src/core/main.c:188
msgid "Replace the running window manager"
msgstr "Erstat den kørende vindueshåndtering"
#: src/core/main.c:201
#: src/core/main.c:194
msgid "Specify session management ID"
msgstr "Angiv sessionhåndterings-id"
#: src/core/main.c:206
#: src/core/main.c:199
msgid "X Display to use"
msgstr "X-terminal som bruges"
#: src/core/main.c:212
#: src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "Initialisér session fra gemt fil"
#: src/core/main.c:218
#: src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "Gør kald til X synkrone"
#: src/core/main.c:225
#: src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "Kør som en wayland-kompositor"
#: src/core/main.c:231
#: src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Kør som en indlejret kompositor"
#: src/core/main.c:239
#: src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "Kør som fuld terminalserver, frem for indlejret"
@ -342,15 +578,16 @@ msgstr "Kør som fuld terminalserver, frem for indlejret"
#, c-format
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
msgstr ""
"mutter %s\n"
"Copyright © 2001%d Havoc Pennington, Red Hat, Inc., og andre\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., og andre\n"
"Dette er frit programmel; se kildekoden for kopieringsbetingelser.\n"
"Der er INGEN garanti; ikke engang for SALGBARHED eller EGNETHED TIL ET BESTEMT FORMÅL.\n"
"Der er INGEN garanti; ikke engang for SALGBARHED eller EGNETHED TIL ET "
"BESTEMT FORMÅL.\n"
#: src/core/mutter.c:53
msgid "Print version"
@ -365,221 +602,43 @@ msgstr "Mutter-udvidelsesmodul der skal bruges"
msgid "Workspace %d"
msgstr "Arbejdsområde %d"
#: src/core/screen.c:580
#: src/core/screen.c:521
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"Terminalen \"%s\" har allerede en vindueshåndtering; prøv tilvalget --"
"replace for at erstatte den aktuelle vindueshåndtering."
#: src/core/screen.c:665
#: src/core/screen.c:606
#, c-format
msgid "Screen %d on display %s is invalid\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Skærm %d på terminal \"%s\" er ugyldig\n"
#: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter blev kompileret uden understøttelse for uddybende tilstand\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Tilstandsskift: Tilstand %d"
#: src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
msgstr "Disse vinduer understøtter ikke at gemme deres opsætning og skal genstartes manuelt næste gang, du logger på."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Disse vinduer understøtter ikke gemning af deres opsætning og skal "
"genstartes manuelt næste gang du logger på."
# Lad os håbe dette er rigtigt
#: src/x11/window-props.c:559
#: src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (på %s)"
#~ msgid "Navigation"
#~ msgstr "Navigation"
#~ msgid "Move window to workspace 1"
#~ msgstr "Flyt vindue til arbejdsområde 1"
#~ msgid "Move window to workspace 2"
#~ msgstr "Flyt vindue til arbejdsområde 2"
#~ msgid "Move window to workspace 3"
#~ msgstr "Flyt vindue til arbejdsområde 3"
#~ msgid "Move window to workspace 4"
#~ msgstr "Flyt vindue til arbejdsområde 4"
#~ msgid "Move window to last workspace"
#~ msgstr "Flyt vindue til sidste arbejdsområde"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Flyt vindue et arbejdsområde til venstre"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Flyt vindue et arbejdsområde til højre"
#~ msgid "Move window one workspace up"
#~ msgstr "Flyt vindue et arbejdsområde op"
#~ msgid "Move window one workspace down"
#~ msgstr "Flyt vindue et arbejdsområde ned"
#~ msgid "Move window one monitor to the left"
#~ msgstr "Flyt vindue en skærm til venstre"
#~ msgid "Move window one monitor to the right"
#~ msgstr "Flyt vindue en skærm til højre"
#~ msgid "Move window one monitor up"
#~ msgstr "Flyt vindue en skærm op"
#~ msgid "Move window one monitor down"
#~ msgstr "Flyt vindue en skærm ned"
#~ msgid "Switch applications"
#~ msgstr "Skift mellem programmer"
#~ msgid "Switch to previous application"
#~ msgstr "Skift til forrige program"
#~ msgid "Switch windows"
#~ msgstr "Skift mellem vinduer"
#~ msgid "Switch to previous window"
#~ msgstr "Skift til forrige vindue"
#~ msgid "Switch windows of an application"
#~ msgstr "Skift mellem vinduer i et program"
#~ msgid "Switch to previous window of an application"
#~ msgstr "Skift til forrige vindue af et program"
#~ msgid "Switch system controls"
#~ msgstr "Skift mellem systemkontroller"
#~ msgid "Switch to previous system control"
#~ msgstr "Skift til forrige systemkontrol"
#~ msgid "Switch windows directly"
#~ msgstr "Skift direkte mellem vinduer"
#~ msgid "Switch directly to previous window"
#~ msgstr "Skift direkte til forrige vindue"
#~ msgid "Switch windows of an app directly"
#~ msgstr "Skift direkte mellem vinduer i et program"
#~ msgid "Switch directly to previous window of an app"
#~ msgstr "Skift direkte til forrige vindue af et program"
#~ msgid "Switch system controls directly"
#~ msgstr "Skift direkte mellem systemkontroller"
#~ msgid "Switch directly to previous system control"
#~ msgstr "Skift direkte til forrige systemkontrol"
#~ msgid "Hide all normal windows"
#~ msgstr "Skjul alle normale vinduer"
#~ msgid "Switch to workspace 1"
#~ msgstr "Skift til arbejdsområde 1"
#~ msgid "Switch to workspace 2"
#~ msgstr "Skift til arbejdsområde 2"
#~ msgid "Switch to workspace 3"
#~ msgstr "Skift til arbejdsområde 3"
#~ msgid "Switch to workspace 4"
#~ msgstr "Skift til arbejdsområde 4"
#~ msgid "Switch to last workspace"
#~ msgstr "Skift til sidste arbejdsområde"
#~ msgid "Move to workspace left"
#~ msgstr "Flyt til arbejdsområdet til venstre"
#~ msgid "Move to workspace right"
#~ msgstr "Flyt til arbejdsområdet til højre"
#~ msgid "Move to workspace above"
#~ msgstr "Flyt til arbejdsområdet ovenover"
#~ msgid "Move to workspace below"
#~ msgstr "Flyt til arbejdsområdet nedenunder"
#~ msgid "System"
#~ msgstr "System"
#~ msgid "Show the run command prompt"
#~ msgstr "Vis \"kør kommando\"-prompten"
#~ msgid "Show the activities overview"
#~ msgstr "Vis aktivitetsoversigten"
#~ msgid "Windows"
#~ msgstr "Vinduer"
#~ msgid "Activate the window menu"
#~ msgstr "Aktivér vinduesmenuen"
#~ msgid "Toggle fullscreen mode"
#~ msgstr "Slå fuldskærmstilstand til/fra"
#~ msgid "Toggle maximization state"
#~ msgstr "Slå maksimering til/fra"
#~ msgid "Maximize window"
#~ msgstr "Maksimér vindue"
#~ msgid "Restore window"
#~ msgstr "Gendan vindue"
#~ msgid "Toggle shaded state"
#~ msgstr "Slå vinduesoprulning til/fra"
#~ msgid "Close window"
#~ msgstr "Luk vindue"
#~ msgid "Hide window"
#~ msgstr "Skjul vindue"
#~ msgid "Move window"
#~ msgstr "Flyt vindue"
#~ msgid "Resize window"
#~ msgstr "Ændr vinduesstørrelse"
#~ msgid "Toggle window on all workspaces or one"
#~ msgstr "Slå visning af vindue på alle arbejdsområder til/fra"
#~ msgid "Raise window if covered, otherwise lower it"
#~ msgstr "Hæv vindue hvis det er dækket, ellers sænk det"
#~ msgid "Raise window above other windows"
#~ msgstr "Hæv vindue over andre vinduer"
#~ msgid "Lower window below other windows"
#~ msgstr "Sænk vindue under andre vinduer"
#~ msgid "Maximize window vertically"
#~ msgstr "Maksimér vindue lodret"
#~ msgid "Maximize window horizontally"
#~ msgstr "Maksimér vindue vandret"
#~ msgid "View split on left"
#~ msgstr "Delt visning venstre"
#~ msgid "View split on right"
#~ msgstr "Delt visning højre"
#~ msgid "Failed to scan themes directory: %s\n"
#~ msgstr "Kunne ikke skanne temamappe: %s\n"

1197
po/de.po

File diff suppressed because it is too large Load Diff

142
po/el.po
View File

@ -18,18 +18,18 @@
msgid ""
msgstr ""
"Project-Id-Version: metacity.gnome-2-26\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-28 06:20+0000\n"
"PO-Revision-Date: 2017-04-07 13:41+0300\n"
"Last-Translator: Tom Tryfonidis <tomtryf@gnome.org>\n"
"POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-15 11:47+0300\n"
"Last-Translator: Tom Tryfonidis <tomtryf@gmail.com>\n"
"Language-Team: Greek, Modern (1453-) <opensuse-translation-el@opensuse.org>\n"
"Language: el\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.8.11\n"
"X-Generator: Poedit 1.8.9\n"
"X-Project-Style: gnome\n"
#: data/50-mutter-navigation.xml:6
@ -282,15 +282,16 @@ msgstr "Μετατροπέας για χρήση στις εκτεταμένες
#: data/org.gnome.mutter.gschema.xml.in:8
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Αυτό το πλήκτρο θα ξεκινήσει την «επικάλυψη», που είναι συνδυασμένο σύστημα "
"επισκόπησης παραθύρων και εκκίνησης εφαρμογών. Η προεπιλογή προτίθεται να "
"είναι το «πλήκτρο Windows» σε μηχανήματα PC. Αναμένεται ότι αυτή η "
"αντιστοίχιση θα είναι είτε η προεπιλογή ή θα ορίζεται στην κενή συμβολοσειρά."
"Αυτό το πλήκτρο θα ξεκινήσει την \"επικάλυψη\", που είναι συνδυασμένο "
"σύστημα επισκόπησης παραθύρων και εκκίνησης εφαρμογών. Η προεπιλογή "
"προτίθεται να είναι το \"πλήκτρο Windows\" σε μηχανήματα PC. Αναμένεται ότι "
"αυτή η αντιστοίχιση θα είναι είτε η προεπιλογή ή θα ορίζεται στην κενή "
"συμβολοσειρά."
#: data/org.gnome.mutter.gschema.xml.in:20
msgid "Attach modal dialogs"
@ -329,7 +330,7 @@ msgstr "Οι χώροι εργασίας διαχειρίζονται δυναμ
#: data/org.gnome.mutter.gschema.xml.in:41
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
@ -368,13 +369,13 @@ msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:69
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Αν οριστεί σε αληθής, και η λειτουργία της εστίασης είναι «sloppy» ή «mouse» "
"τότε η εστίαση δεν θα αλλάξει αμέσως όταν ανοίγετε ένα παράθυρο, αλλά μόνο "
"όταν ο δείκτης σταματήσει να κινείται."
"Αν οριστεί σε αληθής, και η λειτουργία της εστίασης είναι \"sloppy\" ή "
"\"mouse\" τότε η εστίαση δεν θα αλλάξει αμέσως όταν ανοίγετε ένα παράθυρο, "
"αλλά μόνο όταν ο δείκτης σταματήσει να κινείται."
#: data/org.gnome.mutter.gschema.xml.in:79
msgid "Draggable border width"
@ -382,7 +383,7 @@ msgstr "Συρόμενο πλάτος περιγράμματος"
#: data/org.gnome.mutter.gschema.xml.in:80
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"Το ποσό των συνολικών συρόμενων περιγραμμάτων. Αν τα περιγράμματα του "
@ -471,59 +472,48 @@ msgstr "Εναλλαγή στο VT 11"
msgid "Switch to VT 12"
msgstr "Εναλλαγή στο VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1800
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Λειτουργία διακόπτη (ομάδα %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1822
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Εναλλαγή οθόνης"
#: src/backends/meta-input-settings.c:1824
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Εμφάνιση βοήθειας στην οθόνη"
#: src/backends/meta-monitor-manager.c:675
#: src/backends/meta-monitor-manager.c:514
msgid "Built-in display"
msgstr "Ενσωματωμένη οθόνη"
#: src/backends/meta-monitor-manager.c:698
#: src/backends/meta-monitor-manager.c:537
msgid "Unknown"
msgstr "Άγνωστη"
#: src/backends/meta-monitor-manager.c:700
#: src/backends/meta-monitor-manager.c:539
msgid "Unknown Display"
msgstr "Άγνωστη οθόνη"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:708
#: src/backends/meta-monitor-manager.c:547
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: src/compositor/compositor.c:463
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
"Εκτελείται ένας άλλος διαχειριστής παραθύρων στην οθόνη %i προβολή «%s»."
"Εκτελείται ένας άλλος διαχειριστής παραθύρων στην οθόνη %i προβολή \"%s\"."
#: src/core/bell.c:194
msgid "Bell event"
msgstr "Ηχητικό συμβάν κουδουνιού"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
@ -541,53 +531,53 @@ msgstr ""
"Μπορείτε να επιλέξετε να περιμένετε λίγο για να συνεχίσει, ή να εξαναγκάσετε "
"την εφαρμογή σε έξοδο."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Εξαναγκασμός σε τερματισμό"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "_Αναμονή"
# gconf/gconf-internals.c:2416
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "Αποτυχία ανοίγματος οθόνης του συστήματος παραθύρων Χ «%s»\n"
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Εξαναγκασμός σε τερματισμό"
#: src/core/main.c:189
# gconf/gconf-internals.c:2416
#: src/core/display.c:590
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Αποτυχία ανοίγματος οθόνης του συστήματος παραθύρων Χ '%s'\n"
#: src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "Απενεργοποίηση σύνδεσης στο διαχειριστή συνεδρίας"
#: src/core/main.c:195
#: src/core/main.c:188
msgid "Replace the running window manager"
msgstr "Αντικατάσταση του τρέχοντος διαχειριστή παραθύρων"
#: src/core/main.c:201
#: src/core/main.c:194
msgid "Specify session management ID"
msgstr "Καθορισμός αναγνωριστικού διαχείρισης συνεδρίας"
#: src/core/main.c:206
#: src/core/main.c:199
msgid "X Display to use"
msgstr "Εμφάνιση Χ για χρήση"
#: src/core/main.c:212
#: src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "Εκκίνηση συνεδρίας από savefile"
#: src/core/main.c:218
#: src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "Να καταστούν σύγχρονες οι κλήσεις του X"
#: src/core/main.c:225
#: src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "Εκτέλεση ως wayland compositor"
#: src/core/main.c:231
#: src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Εκτέλεση ως ενσωματωμένος compositor"
#: src/core/main.c:239
#: src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "Εκτέλεση ως διακομιστής πλήρους οθόνης, αντί ενσωματωμένης"
@ -595,13 +585,14 @@ msgstr "Εκτέλεση ως διακομιστής πλήρους οθόνης
#, c-format
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
msgstr ""
"mutter %s\n"
"Πνευματικά Δικαιώματα © 2001-%d Havoc Pennington, Red Hat, Inc., και άλλοι\n"
"Πνευματικά Δικαιώματα (C) 2001-%d Havoc Pennington, Red Hat, Inc., και "
"άλλοι\n"
"Αυτό είναι ελεύθερο λογισμικό, βλ. τον πηγαίο κώδικα για όρους αντιγραφής.\n"
"ΔΕΝ παρέχεται καμία εγγύηση, ούτε ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑΣ ούτε ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ "
"ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ.\n"
@ -619,20 +610,20 @@ msgstr "Πρόσθετα του Mutter για χρήση"
msgid "Workspace %d"
msgstr "Χώρος εργασίας %d"
#: src/core/screen.c:580
#: src/core/screen.c:521
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"Η προβολή «%s» έχει ήδη ένα διαχειριστή παραθύρων· προσπαθήστε να "
"Η προβολή \"%s\" έχει ήδη ένα διαχειριστή παραθύρων· προσπαθήστε να "
"χρησιμοποιήσετε την επιλογή --replace για να αντικαταστήσετε τον τρέχων "
"διαχειριστή παραθύρων."
#: src/core/screen.c:665
#: src/core/screen.c:606
#, c-format
msgid "Screen %d on display %s is invalid\n"
msgstr "Η οθόνη %d στην προβολή «%s» δεν είναι έγκυρη\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Η οθόνη %d στην προβολή '%s' δεν είναι έγκυρη\n"
#: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
@ -640,20 +631,21 @@ msgstr ""
"Το Mutter έχει μεταγλωττιστεί χωρίς υποστήριξη για λειτουργία εμφάνισης "
"λεπτομερειών\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Λειτουργία διακόπτη: Λειτουργία %d"
#: src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Αυτά τα παράθυρα δεν υποστηρίζουν «αποθήκευση της τρέχουσας εγκατάστασης» "
"και θα πρέπει να επανεκκινηθούν χειροκίνητα στην επόμενη είσοδο σας."
"Αυτά τα παράθυρα δεν υποστηρίζουν &quot;αποθήκευση της τρέχουσας "
"εγκατάστασης&quot; και θα πρέπει να επανεκκινηθούν χειροκίνητα στην επόμενη "
"είσοδο σας."
#: src/x11/window-props.c:559
#: src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (σε %s)"

373
po/fur.po
View File

@ -6,283 +6,283 @@
msgid ""
msgstr ""
"Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-04-21 21:33+0000\n"
"PO-Revision-Date: 2017-04-30 15:41+0200\n"
"POT-Creation-Date: 2016-08-07 10:39+0000\n"
"PO-Revision-Date: 2016-08-07 18:18+0200\n"
"Last-Translator: Fabio Tomat <f.t.public@gmail.com>\n"
"Language-Team: Friulian <fur@li.org>\n"
"Language: fur\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.12\n"
"X-Generator: Poedit 1.8.8\n"
#: data/50-mutter-navigation.xml:6
#: ../data/50-mutter-navigation.xml.in.h:1
msgid "Navigation"
msgstr "Navigazion"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "Sposte barcon tal spazi di lavôr 1"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Sposte barcon tal spazi di lavôr 2"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Sposte barcon tal spazi di lavôr 3"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Sposte barcon tal spazi di lavôr 4"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Sposte barcon tal ultin spazi di lavôr"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Sposte barcon tal spazi di lavôr a çampe"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Sposte barcon tal spazi di lavôr a drete"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Sposte barcon tal spazi di lavôr parsore"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Sposte barcon tal spazi di lavôr sot"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Sposte barcon tal visôr a çampe"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Sposte barcon tal visôr a drete"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Sposte barcon tal visôr parsore"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Sposte barcon tal visôr sot"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Passâ di une aplicazion in chê altre"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Passe ae aplicazion prime"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Passâ di un barcon in chel altri"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Passe al barcon prime"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Passâ di un barcon in chel altri di une aplicazion"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "Passe al barcon prime di une aplicazion"
#: data/50-mutter-navigation.xml:76
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Passâ di un control di sisteme in chel altri"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Passe al control di sisteme precedent"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Passe dret ai barcons"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Passe dret al barcon precedent"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Passe dret a un barcon di une aplicazion"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "Passe dret al barcon precedent di une aplicazion"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Passe dret ai controi dal sisteme"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Passe dret al control precedent dal sisteme"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Plate ducj i barcons normâi"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Passe al spazi di lavôr 1"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Passe al spazi di lavôr 2"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Passe al spazi di lavôr 3"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Passe al spazi di lavôr 4"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Passe al ultin spazi di lavôr"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Sposte il spazi di lavôr a çampe"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Sposte il spazi di lavôr a drete"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Sposte il spazi di lavôr parsore"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Sposte il spazi di lavôr sot"
#: data/50-mutter-system.xml:6
#: ../data/50-mutter-system.xml.in.h:1
msgid "System"
msgstr "Sisteme"
#: data/50-mutter-system.xml:8
#: ../data/50-mutter-system.xml.in.h:2
msgid "Show the run command prompt"
msgstr "Mostre la richieste \"eseguìs comant\""
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Mostre la panoramiche ativitâts"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Barcons"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Ative il menù dal barcon"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Ative/Disative modalitât plen visôr"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Ative/Disative il stât slargjât"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Slargje il barcon"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Ripristine barcon"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Ative/Disative stât inrodolât"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Siere il barcon"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Plate il barcon"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Sposte il barcon"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Ridimensione barcon"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "Ative/Disative barcon su ducj i spazis di lavôr o nome un"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "Tire sù il barcon se al è cuviert, se no sbassilu"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Met il barcon parsore di chei altris"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Bute il barcon sot di chei altris"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Slargje il barcon par verticâl"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Slargje il barcon par orizontâl"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Slargje dividint ae çampe"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Slargje dividint ae drete"
#: data/mutter.desktop.in:4
#: ../data/mutter.desktop.in.h:1
msgid "Mutter"
msgstr "Mutter"
#: data/org.gnome.mutter.gschema.xml.in:7
#: ../data/org.gnome.mutter.gschema.xml.in.h:1
msgid "Modifier to use for extended window management operations"
msgstr "Modificadôr di doprâ pes operazions estesis di gjestion barcons"
#: data/org.gnome.mutter.gschema.xml.in:8
#: ../data/org.gnome.mutter.gschema.xml.in.h:2
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Cheste clâf e tache il overlay, che e je une cumbinazion tra la "
"Cheste clâf e tache il \"overlay\", che e je une cumbinazion tra la "
"panoramiche dai barcons e il sisteme par inviâ lis aplicazions. Il valôr "
"predefinît al è pensât par jessi il tast Windows su hardware PC. Si spiete "
"che cheste scurte e sedi il valôr predefinît o une stringhe vueide."
"predefinît al è pensât par jessi il \"tast Windows\" su hardware PC. Si "
"spiete che cheste scurte e sedi il valôr predefinît o une stringhe vueide."
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Dialics modâi tacâts"
#: data/org.gnome.mutter.gschema.xml.in:21
#: ../data/org.gnome.mutter.gschema.xml.in.h:4
msgid ""
"When true, instead of having independent titlebars, modal dialogs appear "
"attached to the titlebar of the parent window and are moved together with "
@ -291,12 +291,12 @@ msgstr ""
"Se metût a VÊR, invezit di vê sbaris di titul indipendentis, i dialics modâi "
"a semein tacâts ae sbare dal titul dal barcon gjenitôr e si spostin cun lui."
#: data/org.gnome.mutter.gschema.xml.in:30
#: ../data/org.gnome.mutter.gschema.xml.in.h:5
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Abilite il piastrelâ tal ôr cuant che si strissine i barcons tal ôr dal visôr"
#: data/org.gnome.mutter.gschema.xml.in:31
#: ../data/org.gnome.mutter.gschema.xml.in.h:6
msgid ""
"If enabled, dropping windows on vertical screen edges maximizes them "
"vertically and resizes them horizontally to cover half of the available "
@ -307,25 +307,25 @@ msgstr ""
"cuvierzi metât dal spazi disponibil. Strissinant sul ôr superiôr dal schermi "
"al slargje i barcons dal dut."
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "I spazis di vore a son ministrât in maniere dinamiche"
#: data/org.gnome.mutter.gschema.xml.in:41
#: ../data/org.gnome.mutter.gschema.xml.in.h:8
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
"Al determine se i spazis di lavôr a son gjestîts in maniere dinamiche o se "
"il lôr numar al è fis (determinât de clâf num-workspaces in org.gnome."
"desktop.wm.preferences)."
"Determine se i spazis di lavôr a son gjestîts in maniere dinamiche o se il "
"lôr numar al è fis (determinât de clâf num-workspaces in org.gnome.desktop."
"wm.preferences)."
#: data/org.gnome.mutter.gschema.xml.in:50
#: ../data/org.gnome.mutter.gschema.xml.in.h:9
msgid "Workspaces only on primary"
msgstr "Spazis di vore nome tal visôr primari"
#: data/org.gnome.mutter.gschema.xml.in:51
#: ../data/org.gnome.mutter.gschema.xml.in.h:10
msgid ""
"Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor."
@ -333,11 +333,11 @@ msgstr ""
"Determine se il cambi di spazi di lavôr al à di vignî pai barcons su ducj i "
"visôrs o nome pai barcons sul visôr primari."
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "Nissun tab popup"
#: data/org.gnome.mutter.gschema.xml.in:60
#: ../data/org.gnome.mutter.gschema.xml.in.h:12
msgid ""
"Determines whether the use of popup and highlight frame should be disabled "
"for window cycling."
@ -345,37 +345,37 @@ msgstr ""
"Determine se disabilitâ l'ûs di popup e di curnîs di evidenziadure tal passâ "
"di un barcon a chel altri."
#: data/org.gnome.mutter.gschema.xml.in:68
#: ../data/org.gnome.mutter.gschema.xml.in.h:13
msgid "Delay focus changes until the pointer stops moving"
msgstr "Tarde il cambiament dal focus fintremai che il puntadôr si ferme"
#: data/org.gnome.mutter.gschema.xml.in:69
#: ../data/org.gnome.mutter.gschema.xml.in.h:14
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Se metût a VÊR e la modalitât di focus e je metude a sloppy o mouse "
"Se metût a VÊR, e la modalitât di focus e je metude a \"sloppy\" o \"mouse\" "
"alore il focus nol ven spostât subite cuant che si passe suntun barcon, ma "
"nome cuant che il puntadôr si ferme."
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Largjece dal ôr che si pues strissinâ"
#: data/org.gnome.mutter.gschema.xml.in:80
#: ../data/org.gnome.mutter.gschema.xml.in.h:16
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"Il spessôr totâl pai ôrs che si puedin strissinâ. Se i ôrs visibii dal teme "
"no bastin, a vegnin zontâts dai ôrs invisibii par rivâ a chest valôr."
#: data/org.gnome.mutter.gschema.xml.in:89
#: ../data/org.gnome.mutter.gschema.xml.in.h:17
msgid "Auto maximize nearly monitor sized windows"
msgstr "Slargje in automatic i barcons grancj su par ju come il visôr"
#: data/org.gnome.mutter.gschema.xml.in:90
#: ../data/org.gnome.mutter.gschema.xml.in.h:18
msgid ""
"If enabled, new windows that are initially the size of the monitor "
"automatically get maximized."
@ -383,11 +383,11 @@ msgstr ""
"Se abilitât, i gnûfs barcons che a an al inizi la stesse dimension dal visôr "
"a vegnin slargjâts in automatic."
#: data/org.gnome.mutter.gschema.xml.in:98
#: ../data/org.gnome.mutter.gschema.xml.in.h:19
msgid "Place new windows in the center"
msgstr "Place i gnûfs barcons tal mieç"
#: data/org.gnome.mutter.gschema.xml.in:99
#: ../data/org.gnome.mutter.gschema.xml.in.h:20
msgid ""
"When true, the new windows will always be put in the center of the active "
"screen of the monitor."
@ -395,152 +395,115 @@ msgstr ""
"Se metût a VÊR, i gnûfs barcons a vegnaran plaçâts simpri tal mieç dal "
"schermi atîf dal visôr."
#: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Abilite funzionalitâts sperimentâls"
#: data/org.gnome.mutter.gschema.xml.in:108
msgid ""
"To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given "
"feature. Any experimental feature is not required to still be available, or "
"configurable. Dont expect adding anything in this setting to be future "
"proof. Currently possible keywords: • “scale-monitor-framebuffer” — makes "
"mutter default to layout logical monitors in a logical pixel coordinate "
"space, while scaling monitor framebuffers instead of window content, to "
"manage HiDPI monitors. Does not require a restart."
msgstr ""
"Par abilitâ lis funzionalitâts sperimentâls, zonte la peraule clâf de "
"funzionalitât ae liste. Il fat che la funzionalitât e vedi bisugne di tornâ "
"a inviâ il compositôr al dipent de funzionalitât dade. Cualsisei "
"funzionalitât sperimentâl no je necessarie che e sedi disponibile o "
"configurabile. No sta spietâti di zontâ alc in cheste impostazion e pensâ "
"che e duredi tal timp. Atualmentri lis peraulis clâf pussibilis a son: • "
"“scale-monitor-framebuffer” — al rint come predefinît par mutter la "
"disposizion dai visôrs logjics intun spazi logjic di coordenadis dai pixel, "
"intant i framebuffer dai visôrs par scjalâ, invezit dal contignût dal "
"barcon, a gjestissin i visôrs HiDPI. Nol covente tornâ a inviâ."
#: data/org.gnome.mutter.gschema.xml.in:141
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "Selezione barcon dal tab popup"
#: data/org.gnome.mutter.gschema.xml.in:146
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Anule tab popup"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1
msgid "Switch to VT 1"
msgstr "Passe al VT 1"
#: data/org.gnome.mutter.wayland.gschema.xml.in:10
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2
msgid "Switch to VT 2"
msgstr "Passe al VT 2"
#: data/org.gnome.mutter.wayland.gschema.xml.in:14
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3
msgid "Switch to VT 3"
msgstr "Passe al VT 3"
#: data/org.gnome.mutter.wayland.gschema.xml.in:18
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4
msgid "Switch to VT 4"
msgstr "Passe al VT 4"
#: data/org.gnome.mutter.wayland.gschema.xml.in:22
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5
msgid "Switch to VT 5"
msgstr "Passe al VT 5"
#: data/org.gnome.mutter.wayland.gschema.xml.in:26
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6
msgid "Switch to VT 6"
msgstr "Passe al VT 6"
#: data/org.gnome.mutter.wayland.gschema.xml.in:30
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7
msgid "Switch to VT 7"
msgstr "Passe al VT 7"
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
msgid "Switch to VT 8"
msgstr "Passe al VT 8"
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
msgid "Switch to VT 9"
msgstr "Passe al VT 9"
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
msgid "Switch to VT 10"
msgstr "Passe al VT 10"
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
msgid "Switch to VT 11"
msgstr "Passe al VT 11"
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
msgid "Switch to VT 12"
msgstr "Passe al VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1848
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Cambie mût (Grup %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1870
#: ../src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Cambie visôr"
#: src/backends/meta-input-settings.c:1872
#: ../src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Mostre jutori a schermi"
#: src/backends/meta-monitor-manager.c:783
#: ../src/backends/meta-monitor-manager.c:515
msgid "Built-in display"
msgstr "Display integrât"
#: src/backends/meta-monitor-manager.c:806
#: ../src/backends/meta-monitor-manager.c:538
msgid "Unknown"
msgstr "No cognossût"
#: src/backends/meta-monitor-manager.c:808
#: ../src/backends/meta-monitor-manager.c:540
msgid "Unknown Display"
msgstr "Display no cognossût"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:816
#: ../src/backends/meta-monitor-manager.c:548
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:474
#: ../src/compositor/compositor.c:463
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
"Un altri compositing manager al è za in esecuzion sul schermi %i sul display "
"“%s”."
"\"%s\"."
#: src/core/bell.c:194
#: ../src/core/bell.c:194
msgid "Bell event"
msgstr "Event cjampane"
#. Translators: %s is a window title
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "“%s” nol rispuint."
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "La aplicazion no rispuint."
#: src/core/delete.c:134
#: ../src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
@ -548,115 +511,115 @@ msgstr ""
"Al è pussibil sielzi di spietâ un pôc lassant che la aplicazion e continui o "
"sfuarçâ la aplicazion par sierâle dal dut."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "Sfuarce _Jessude"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Spiete"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "Impussibil vierzi il display “%s” di X Window System\n"
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "Sfuarce _Jessude"
#: src/core/main.c:189
#: ../src/core/display.c:590
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Impussibil vierzi il display '%s' di X Window System\n"
#: ../src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "Disabilite la conession al gjestôr de session"
#: src/core/main.c:195
#: ../src/core/main.c:188
msgid "Replace the running window manager"
msgstr "Rimplace il window manager in vore"
#: src/core/main.c:201
#: ../src/core/main.c:194
msgid "Specify session management ID"
msgstr "Specifiche il ID di gjestion session"
#: src/core/main.c:206
#: ../src/core/main.c:199
msgid "X Display to use"
msgstr "Display X di doprâ"
#: src/core/main.c:212
#: ../src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "Inizialize session da file salvât"
#: src/core/main.c:218
#: ../src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "Fâs lis clamadis X sincronis"
#: src/core/main.c:225
#: ../src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "Eseguìs come compositor wayland"
#: src/core/main.c:231
#: ../src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Eseguìs come compositor nidiât"
#: src/core/main.c:239
#: ../src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "Eseguìs come servidôr display complet, invezit che nidiât"
#: src/core/mutter.c:39
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
msgstr ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., e altris\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., e altris\n"
"Chest al è software libar; viodi i sorzints pes condizions di copie.\n"
"No je NISSUNE garanzie; nancje di CUMIERÇABILITÂT o IDONEITÂT A UNE "
"FINALITÂT PARTICOLÂR.\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "Stampe version"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "Plugin Mutter di doprâ"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "Spazi di lavôr %d"
#: src/core/screen.c:580
#: ../src/core/screen.c:521
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"Il display “%s” al à za un window manager; prove dopre la opzion --replace "
"Il display \"%s\" al à za un window manager; prove dopre la opzion --replace "
"par rimplaçâ chel atuâl."
#: src/core/screen.c:665
#: ../src/core/screen.c:606
#, c-format
msgid "Screen %d on display %s is invalid\n"
msgstr "Schermi %d su display %s no valit\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Schermi %d su display '%s' no valit\n"
#: src/core/util.c:120
#: ../src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter al è stât compilât cence supuart pe modalitât fetose\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: ../src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Cambie mût: mût %d"
#: src/x11/session.c:1815
#: ../src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Chescj barcons no supuartin la funzion salve impostazions atuâls” e si "
"scugnarà tornâ a inviâlis a man tal prossim acès."
"Chescj barcons no supuartin la funzion &quot;salve impostazions atuâi&quot; "
"e si scugnarà tornâ a inviâlis a man tal prossim acès."
#: src/x11/window-props.c:559
#: ../src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (su %s)"

297
po/gd.po
View File

@ -1,14 +1,14 @@
# Scottish Gaelic translation for mutter.
# Copyright (C) 2016 mutter's COPYRIGHT HOLDER
# This file is distributed under the same license as the mutter package.
# GunChleoc <fios@foramnagaidhlig.net>, 2016, 2017.
# GunChleoc <fios@foramnagaidhlig.net>, 2016.
msgid ""
msgstr ""
"Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutte"
"r&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-02 11:37+0000\n"
"PO-Revision-Date: 2017-03-07 11:59+0100\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
"&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-04-28 14:01+0000\n"
"PO-Revision-Date: 2016-04-28 15:57+0100\n"
"Last-Translator: GunChleoc <fios@foramnagaidhlig.net>\n"
"Language-Team: Fòram na Gàidhlig\n"
"Language: gd\n"
@ -20,255 +20,255 @@ msgstr ""
"X-Generator: Virtaal 0.7.1\n"
"X-Project-Style: gnome\n"
#: data/50-mutter-navigation.xml:6
#: ../data/50-mutter-navigation.xml.in.h:1
msgid "Navigation"
msgstr "Seòladaireachd"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "Gluais an uinneag gu rum-obrach 1"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Gluais an uinneag gu rum-obrach 2"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Gluais an uinneag gu rum-obrach 3"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Gluais an uinneag gu rum-obrach 4"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Gluais an uinneag gun rum-obrach mu dheireadh"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Gluais an uinneag gun rum-obrach ris an taobh chlì"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Gluais an uinneag gun rum-obrach ris an taobh deas"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Gluais an uinneag gun rum-obrach os a chionn"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Gluais an uinneag gun rum-obrach foidhe"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Gluais an uinneag gun sgrìn aig an taobh chlì"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Gluais an uinneag gun sgrìn aig an taobh deas"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Gluais an uinneag gun sgrìn os a chionn"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Gluais an uinneag gun sgrìn foidhe"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Gearr leum gu aplacaid eile"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Gearr leum gun aplacaid roimhpe"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Gearr leum gu uinneag eile"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Gearr leum gun uinneag roimhpe"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Gearr leum gu uinneag eile na h-aplacaid"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "Gearr leum gu uinneag roimhpe na h-aplacaid"
#: data/50-mutter-navigation.xml:76
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Gearr leum gu inneal-smachd siostaim eile"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Gearr leum gun inneal-smachd siostaim roimhe"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Gearr leum gu uinneag eile sa bhad"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Gearr leum gun uinneag roimhpe sa bhad"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Gearr leum gu uinneag eile na h-aplacaid sa bhad"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "Gearr leum gu uinneag roimphe na h-aplacaid sa bhad"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Gearr leum gu inneal-smachd siostaim eile sa bhad"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Gearr leum gun inneal-smachd siostaim roimhe sa bhad"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Cuir gach uinneag àbhaisteach am falach"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Gearr leum gu rum-obrach 1"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Gearr leum gu rum-obrach 2"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Gearr leum gu rum-obrach 3"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Gearr leum gu rum-obrach 4"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Gearr leum gun rum-obrach mu dheireadh"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Gluais dhan rum-obrach air an taobh chlì"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Gluais dhan rum-obrach air an taobh deas"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Gluais dhan rum-obrach aig a' bharr"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Gluais dhan rum-obrach aig a' bhonn"
#: data/50-mutter-system.xml:6
#: ../data/50-mutter-system.xml.in.h:1
msgid "System"
msgstr "An siostam"
#: data/50-mutter-system.xml:8
#: ../data/50-mutter-system.xml.in.h:2
msgid "Show the run command prompt"
msgstr ""
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Foir-shealladh air na gnìomhachdan"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Uinneagan"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Gnìomhaich clàr-taice na h-uinneige"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Toglaich am modh làn-sgrìn"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Toglaich staid an làn-mheudachaidh"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Làn-mheudaich an uinneag"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Aisig an uinneag"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Toglaich staid an sgàileachaidh"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Dùin an uinneag"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Cuir an uinneag am falach"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Gluais an uinneag"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Atharraich meud na h-uinneige"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "Toglaich an uinneag air a h-uile rum-obrach no aonan"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "Tog an uinneag nuair a thèid a còmhdachadh air neo ìslich i"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Tog an uinneag os cionn càich"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Ìslich an uinneag fo na h-uinneagan eile"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Làn-mheudaich an uinneag gu h-ingearach"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Làn-mheudaich an uinneag air a' chòmhnard"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Sgoilt an t-sealladh air an taobh chì"
msgstr ""
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Sgoilt an t-sealladh air an taobh deas"
msgstr ""
#: data/mutter.desktop.in:4
#: ../data/mutter.desktop.in.h:1
msgid "Mutter"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:7
#: ../data/org.gnome.mutter.gschema.xml.in.h:1
msgid "Modifier to use for extended window management operations"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:8
#: ../data/org.gnome.mutter.gschema.xml.in.h:2
msgid ""
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
@ -276,266 +276,254 @@ msgid ""
"default or set to the empty string."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:21
#: ../data/org.gnome.mutter.gschema.xml.in.h:4
msgid ""
"When true, instead of having independent titlebars, modal dialogs appear "
"attached to the titlebar of the parent window and are moved together with "
"the parent window."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:30
#: ../data/org.gnome.mutter.gschema.xml.in.h:5
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:31
#: ../data/org.gnome.mutter.gschema.xml.in.h:6
msgid ""
"If enabled, dropping windows on vertical screen edges maximizes them "
"vertically and resizes them horizontally to cover half of the available "
"area. Dropping windows on the top screen edge maximizes them completely."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:41
#: ../data/org.gnome.mutter.gschema.xml.in.h:8
msgid ""
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:50
#: ../data/org.gnome.mutter.gschema.xml.in.h:9
msgid "Workspaces only on primary"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:51
#: ../data/org.gnome.mutter.gschema.xml.in.h:10
msgid ""
"Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:60
#: ../data/org.gnome.mutter.gschema.xml.in.h:12
msgid ""
"Determines whether the use of popup and highlight frame should be disabled "
"for window cycling."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:68
#: ../data/org.gnome.mutter.gschema.xml.in.h:13
msgid "Delay focus changes until the pointer stops moving"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:69
#: ../data/org.gnome.mutter.gschema.xml.in.h:14
msgid ""
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:80
#: ../data/org.gnome.mutter.gschema.xml.in.h:16
msgid ""
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:89
#: ../data/org.gnome.mutter.gschema.xml.in.h:17
msgid "Auto maximize nearly monitor sized windows"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:90
#: ../data/org.gnome.mutter.gschema.xml.in.h:18
msgid ""
"If enabled, new windows that are initially the size of the monitor "
"automatically get maximized."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:98
#: ../data/org.gnome.mutter.gschema.xml.in.h:19
msgid "Place new windows in the center"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:99
#: ../data/org.gnome.mutter.gschema.xml.in.h:20
msgid ""
"When true, the new windows will always be put in the center of the active "
"screen of the monitor."
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:120
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:125
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1
msgid "Switch to VT 1"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:10
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2
msgid "Switch to VT 2"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:14
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3
msgid "Switch to VT 3"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:18
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4
msgid "Switch to VT 4"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:22
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5
msgid "Switch to VT 5"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:26
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6
msgid "Switch to VT 6"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:30
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7
msgid "Switch to VT 7"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
msgid "Switch to VT 8"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
msgid "Switch to VT 9"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
msgid "Switch to VT 10"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
msgid "Switch to VT 11"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
msgid "Switch to VT 12"
msgstr ""
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1913
#| msgid "Switch system controls"
msgid "Switch monitor"
msgstr "Gearr leum gu monatair eile"
#: src/backends/meta-input-settings.c:1915
msgid "Show on-screen help"
msgstr "Seall a' chobhair air an sgrìn"
#: src/backends/meta-monitor-manager.c:515
#: ../src/backends/meta-monitor-manager.c:515
msgid "Built-in display"
msgstr "Uidheam-taisbeanaidh 'na broinn"
msgstr ""
#: src/backends/meta-monitor-manager.c:538
#: ../src/backends/meta-monitor-manager.c:538
msgid "Unknown"
msgstr "Chan eil fhios"
msgstr ""
#: src/backends/meta-monitor-manager.c:540
#: ../src/backends/meta-monitor-manager.c:540
msgid "Unknown Display"
msgstr "Uidheam-taisbeanaidh nach aithne dhuinn"
msgstr ""
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:548
#: ../src/backends/meta-monitor-manager.c:548
#, c-format
msgid "%s %s"
msgstr "%s %s"
msgstr ""
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: ../src/compositor/compositor.c:456
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
#: src/core/bell.c:194
#: ../src/core/bell.c:194
msgid "Bell event"
msgstr ""
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr ""
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr ""
#: src/core/delete.c:134
#: ../src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Fuirich"
msgstr ""
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "Sparr _fàgail air"
msgstr ""
#: src/core/display.c:590
#: ../src/core/display.c:555
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr ""
#: src/core/main.c:182
#: ../src/core/main.c:181
msgid "Disable connection to session manager"
msgstr ""
#: src/core/main.c:188
#: ../src/core/main.c:187
msgid "Replace the running window manager"
msgstr ""
#: src/core/main.c:194
#: ../src/core/main.c:193
msgid "Specify session management ID"
msgstr ""
#: src/core/main.c:199
#: ../src/core/main.c:198
msgid "X Display to use"
msgstr ""
#: src/core/main.c:205
#: ../src/core/main.c:204
msgid "Initialize session from savefile"
msgstr ""
#: src/core/main.c:211
#: ../src/core/main.c:210
msgid "Make X calls synchronous"
msgstr ""
#: src/core/main.c:218
#: ../src/core/main.c:217
msgid "Run as a wayland compositor"
msgstr ""
#: src/core/main.c:224
#: ../src/core/main.c:223
msgid "Run as a nested compositor"
msgstr ""
#: src/core/main.c:232
#: ../src/core/main.c:231
msgid "Run as a full display server, rather than nested"
msgstr ""
#: src/core/mutter.c:39
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
@ -545,47 +533,42 @@ msgid ""
"PARTICULAR PURPOSE.\n"
msgstr ""
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr ""
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr ""
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "Rum-obrach %d"
msgstr ""
#: src/core/screen.c:521
#: ../src/core/screen.c:521
#, c-format
msgid ""
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
#: src/core/screen.c:606
#: ../src/core/screen.c:603
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr ""
#: src/core/util.c:120
#: ../src/core/util.c:121
msgid "Mutter was compiled without support for verbose mode\n"
msgstr ""
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Suidse nam modh: Modh %d"
#: src/x11/session.c:1815
#: ../src/x11/session.c:1815
msgid ""
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
#: src/x11/window-props.c:548
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (air %s)"
msgstr ""

155
po/gl.po
View File

@ -9,23 +9,22 @@
# Mancomún - Centro de Referencia e Servizos de Software Libre <g11n@mancomun.org>, 2009.
# Fran Diéguez <frandieguez@gnome.org>, 2009, 2010, 2011, 2012.
# Leandro Regueiro <leandro.regueiro@gmail.com>, 2012.
# Fran Dieguez <frandieguez@gnome.org>, 2012, 2013, 2014, 2015, 2016, 2017.
#
# Fran Dieguez <frandieguez@gnome.org>, 2012, 2013, 2014, 2015, 2016.
msgid ""
msgstr ""
"Project-Id-Version: gl\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-28 06:20+0000\n"
"PO-Revision-Date: 2017-03-11 03:02+0100\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter&"
"keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-09-09 01:16+0000\n"
"PO-Revision-Date: 2016-09-11 00:48+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\n"
"Language-Team: Galician\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 2.91.7\n"
"X-Generator: Virtaal 0.7.1\n"
"X-Project-Style: gnome\n"
#: data/50-mutter-navigation.xml:6
@ -109,6 +108,7 @@ msgid "Switch to previous window of an application"
msgstr "Cambia á xanela anterior dun aplicativo"
#: data/50-mutter-navigation.xml:76
#| msgid "Switch system controls directly"
msgid "Switch system controls"
msgstr "Cambiar entre os controles do sistema"
@ -278,16 +278,11 @@ msgstr ""
"Modificador que se vai usar para as accións modificadas de xestión de xanela"
#: data/org.gnome.mutter.gschema.xml.in:8
#| msgid ""
#| "This key will initiate the \"overlay\", which is a combination window "
#| "overview and application launching system. The default is intended to be "
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
#| "either the default or set to the empty string."
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Esta tecla iniciará o «overlay», que é unha combinación da vista previa da "
"xanela e o sistema de inicialización de aplicativos. O valor predeterminado "
@ -328,16 +323,12 @@ msgid "Workspaces are managed dynamically"
msgstr "Os espazos de traballo xestiónanse dinamicamente"
#: data/org.gnome.mutter.gschema.xml.in:41
#| msgid ""
#| "Determines whether workspaces are managed dynamically or whether there's "
#| "a static number of workspaces (determined by the num-workspaces key in "
#| "org.gnome.desktop.wm.preferences)."
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
"Determina se os espazos de traballo se xestionan dinámicamente ou se hai un "
"Determina se os espazos de traballo se xestionan dinamicamente ou se hai un "
"número estático de áreas de traballo (determinado pola chave «num-"
"workspaces» en «org.gnome.desktop.wm.preferences»)."
@ -370,14 +361,10 @@ msgid "Delay focus changes until the pointer stops moving"
msgstr "Retrasar o cambio de enfoque até que o punteiro se deteña ao moverse"
#: data/org.gnome.mutter.gschema.xml.in:69
#| msgid ""
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
#| "the focus will not be changed immediately when entering a window, but "
#| "only after the pointer stops moving."
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Se está estabelecido a verdadeiro e o modo de enfoque é «sloopy» ou «mouse» "
"entón o enfoque non se cambiará de forma inmediata ao entrar nunha xanela, "
@ -388,11 +375,8 @@ msgid "Draggable border width"
msgstr "Anchura arrastrábel do bordo"
#: data/org.gnome.mutter.gschema.xml.in:80
#| msgid ""
#| "The amount of total draggable borders. If the theme's visible borders are "
#| "not enough, invisible borders will be added to meet this value."
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"A cantidade total de bordo arrastrábel. Se os bordos visíbeis do tema non "
@ -479,64 +463,49 @@ msgstr "Cambiar á VT 11"
msgid "Switch to VT 12"
msgstr "Cambiar á VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1800
#, c-format
#| msgid "Mode Switch: Mode %d"
msgid "Mode Switch (Group %d)"
msgstr "Modo conmutador (Grupo %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1822
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Cambiar monitor"
#: src/backends/meta-input-settings.c:1824
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Mostrar axuda en pantalla"
#: src/backends/meta-monitor-manager.c:675
#: src/backends/meta-monitor-manager.c:514
msgid "Built-in display"
msgstr "Pantalla embebida"
#: src/backends/meta-monitor-manager.c:698
#: src/backends/meta-monitor-manager.c:537
msgid "Unknown"
msgstr "Descoñecido"
#: src/backends/meta-monitor-manager.c:700
#: src/backends/meta-monitor-manager.c:539
msgid "Unknown Display"
msgstr "Pantalla descoñecida"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:708
#: src/backends/meta-monitor-manager.c:547
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: src/compositor/compositor.c:463
#, c-format
#| msgid ""
#| "Another compositing manager is already running on screen %i on display "
#| "\"%s\"."
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
"Xa se está a executar outro xestor de composición na pantalla %i na "
"visualización «%s»."
"visualización «%s»"
#: src/core/bell.c:194
msgid "Bell event"
msgstr "Evento de campá"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
@ -554,67 +523,60 @@ msgstr ""
"Pode elixir esperar un momento para ver se continúa ou forzar ao aplicativo "
"a pechar completamente."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Forzar a saída"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "Espe_rar"
#: src/core/display.c:608
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Forzar a saída"
#: src/core/display.c:590
#, c-format
#| msgid "Failed to open X Window System display '%s'\n"
msgid "Failed to open X Window System display “%s”\n"
msgid "Failed to open X Window System display '%s'\n"
msgstr "Produciuse un erro ao abrir a visualización do X Window System «%s»\n"
#: src/core/main.c:189
#: src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "Desactivar a conexión ao xestor de sesión"
#: src/core/main.c:195
#: src/core/main.c:188
msgid "Replace the running window manager"
msgstr "Substituír o xestor de xanelas en execución"
#: src/core/main.c:201
#: src/core/main.c:194
msgid "Specify session management ID"
msgstr "Especificar o ID de xestión de sesión"
#: src/core/main.c:206
#: src/core/main.c:199
msgid "X Display to use"
msgstr "Pantalla X que se vai usar"
#: src/core/main.c:212
#: src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "Inicializar sesión desde o ficheiro de salvagarda"
#: src/core/main.c:218
#: src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "Facer que as chamadas a X sexan sincrónicas"
#: src/core/main.c:225
#: src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "Executar como compositor de wayland"
#: src/core/main.c:231
#: src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Executar como compositor anidado"
#: src/core/main.c:239
#: src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "Executar como un servidor de pantalla completo, fronte a un aniñado"
#: src/core/mutter.c:39
#, c-format
#| msgid ""
#| "mutter %s\n"
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
#| "This is free software; see the source for copying conditions.\n"
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
#| "PARTICULAR PURPOSE.\n"
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
@ -638,45 +600,38 @@ msgstr "Engadido de mutter que usar"
msgid "Workspace %d"
msgstr "Espazo de traballo %d"
#: src/core/screen.c:580
#: src/core/screen.c:521
#, c-format
#| msgid ""
#| "Display \"%s\" already has a window manager; try using the --replace "
#| "option to replace the current window manager."
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"A pantalla «%s» ten xa un xestor de xanelas, tente usar a opción --replace "
"para substituír o xestor de xanelas."
#: src/core/screen.c:665
#: src/core/screen.c:606
#, c-format
#| msgid "Screen %d on display '%s' is invalid\n"
msgid "Screen %d on display “%s” is invalid\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "A pantalla %d na visualización «%s» non é válida\n"
#: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter foi compilado sen compatibilidade para o modo detallado\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Modo conmutador: Modo %d"
#: src/x11/session.c:1815
#| msgid ""
#| "These windows do not support &quot;save current setup&quot; and will have "
#| "to be restarted manually next time you log in."
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Estas xanelas non soportan «save current setup» e terán que reiniciarse "
"manualmente a próxima vez que inicie a sesión."
"Estas xanelas non soportan &quot;save current setup&quot; e terán que "
"reiniciarse manualmente a próxima vez que inicie a sesión."
#: src/x11/window-props.c:559
#: src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (en %s)"

349
po/he.po
View File

@ -9,10 +9,9 @@
msgid ""
msgstr ""
"Project-Id-Version: metacity.HEAD.he\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-30 18:41+0300\n"
"PO-Revision-Date: 2017-03-30 18:46+0300\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-07 15:11+0300\n"
"PO-Revision-Date: 2016-08-07 15:12+0300\n"
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
"Language-Team: עברית <>\n"
"Language: he\n"
@ -22,272 +21,271 @@ msgstr ""
"X-Generator: Gtranslator 2.91.6\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: data/50-mutter-navigation.xml:6
#: ../data/50-mutter-navigation.xml.in.h:1
msgid "Navigation"
msgstr "ניווט"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "העברת החלון למרחב עבודה 1"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "העברת החלון למרחב עבודה 2"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "העברה החלון למרחב עבודה 3"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "העברה החלון למרחב עבודה 4"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "העברת החלון למרחב העבודה האחרון"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "העברת החלון למרחב העבודה שמשמאל"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "העברת החלון למרחב העבודה שמימין"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "העברת החלון למרחב העבודה שמלמעלה"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "העברת החלון למרחב העבודה שמלמטה"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "העברת החלון לצג שמשמאל"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "העברת החלון לצג שמימין"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "העברת החלון לצג שמלמעלה"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "העברת החלון לצג שמלמטה"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "החלפה בין יישומים"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "החלפה ליישום הקודם"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "החלפת חלונות"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "החלפה לחלון הקודם"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "החלפה בין חלונות של יישום"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "החלפה לחלון הקודם של היישום"
#: data/50-mutter-navigation.xml:76
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "החלפה בין פקדי המערכת"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "החלפה לפקד המערכת הקודם"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "החלפת החלונות באופן ישיר"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "החלפה לחלון הקודם באופן ישיר"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "החלפת חלונות של יישום באופן ישיר"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "החלפה לחלון הקודם של היישום באופן ישיר"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "החלפת פקדי המערכת באופן ישיר"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "החלפה לפקד המערכת הקודם באופן ישיר"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "הסתרת כל החלונות הרגילים"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "מעבר למרחב עבודה 1"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "מעבר למרחב עבודה 2"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "מעבר למרחב עבודה 3"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "מעבר למרחב עבודה 4"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "מעבר למרחב העבודה האחרון"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "העברה למרחב העבודה לשמאל"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "העברה למרחב העבודה לימין"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "העברה למרחב העבודה שמלמעלה"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "העברה למרחב העבודה שמלמטה"
#: data/50-mutter-system.xml:6
#: ../data/50-mutter-system.xml.in.h:1
msgid "System"
msgstr "מערכת"
#: data/50-mutter-system.xml:8
#: ../data/50-mutter-system.xml.in.h:2
msgid "Show the run command prompt"
msgstr "הצגת החלונית להרצת פקודה"
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "הצגת סקירת הפעילויות"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "חלונות"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "הפעלת תפריט החלון"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "הפעלה/כיבוי מצב מסך מלא"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "הפעלה/כיבוי מצב הגדלה"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "הגדלת חלון"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "שחזור חלון"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "החלפת מצב ההצללה"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "סגירת חלון"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "הסתרת החלון"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "הזזת חלון"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "שינוי גודל חלון"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "החלפת המצב בין האם החלון מופיע במרחב עבודה אחד או בכולם"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "הגבהת החלון אם הוא מכוסה, אחרת יש להנמיכו"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "הגבהת החלון מעל לחלונות אחרים"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "הנמכת החלון מתחת לחלונות אחרים"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "הגדלת החלון אנכית"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "הגדלת החלון אופקית"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "פיצול הצפייה משמאל"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "פיצול הצפייה מימין"
#: data/mutter.desktop.in:4
#: ../data/mutter.desktop.in.h:1
msgid "Mutter"
msgstr "Mutter"
#: data/org.gnome.mutter.gschema.xml.in:7
#: ../data/org.gnome.mutter.gschema.xml.in.h:1
msgid "Modifier to use for extended window management operations"
msgstr "Modifier to use for extended window management operations"
#: data/org.gnome.mutter.gschema.xml.in:8
#,
#: ../data/org.gnome.mutter.gschema.xml.in.h:2
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Attach modal dialogs"
#: data/org.gnome.mutter.gschema.xml.in:21
#: ../data/org.gnome.mutter.gschema.xml.in.h:4
msgid ""
"When true, instead of having independent titlebars, modal dialogs appear "
"attached to the titlebar of the parent window and are moved together with "
@ -297,11 +295,11 @@ msgstr ""
"attached to the titlebar of the parent window and are moved together with "
"the parent window."
#: data/org.gnome.mutter.gschema.xml.in:30
#: ../data/org.gnome.mutter.gschema.xml.in.h:5
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "Enable edge tiling when dropping windows on screen edges"
#: data/org.gnome.mutter.gschema.xml.in:31
#: ../data/org.gnome.mutter.gschema.xml.in.h:6
msgid ""
"If enabled, dropping windows on vertical screen edges maximizes them "
"vertically and resizes them horizontally to cover half of the available "
@ -311,26 +309,25 @@ msgstr ""
"vertically and resizes them horizontally to cover half of the available "
"area. Dropping windows on the top screen edge maximizes them completely."
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "Workspaces are managed dynamically"
#: data/org.gnome.mutter.gschema.xml.in:41
#,
#: ../data/org.gnome.mutter.gschema.xml.in.h:8
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
#: data/org.gnome.mutter.gschema.xml.in:50
#: ../data/org.gnome.mutter.gschema.xml.in.h:9
msgid "Workspaces only on primary"
msgstr "Workspaces only on primary"
#: data/org.gnome.mutter.gschema.xml.in:51
#: ../data/org.gnome.mutter.gschema.xml.in.h:10
msgid ""
"Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor."
@ -338,11 +335,11 @@ msgstr ""
"Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor."
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "No tab popup"
#: data/org.gnome.mutter.gschema.xml.in:60
#: ../data/org.gnome.mutter.gschema.xml.in.h:12
msgid ""
"Determines whether the use of popup and highlight frame should be disabled "
"for window cycling."
@ -350,38 +347,37 @@ msgstr ""
"Determines whether the use of popup and highlight frame should be disabled "
"for window cycling."
#: data/org.gnome.mutter.gschema.xml.in:68
#: ../data/org.gnome.mutter.gschema.xml.in.h:13
msgid "Delay focus changes until the pointer stops moving"
msgstr "Delay focus changes until the pointer stops moving"
#: data/org.gnome.mutter.gschema.xml.in:69
#,
#: ../data/org.gnome.mutter.gschema.xml.in.h:14
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Draggable border width"
#: data/org.gnome.mutter.gschema.xml.in:80
#: ../data/org.gnome.mutter.gschema.xml.in.h:16
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
#: data/org.gnome.mutter.gschema.xml.in:89
#: ../data/org.gnome.mutter.gschema.xml.in.h:17
msgid "Auto maximize nearly monitor sized windows"
msgstr "Auto maximize nearly monitor sized windows"
#: data/org.gnome.mutter.gschema.xml.in:90
#: ../data/org.gnome.mutter.gschema.xml.in.h:18
msgid ""
"If enabled, new windows that are initially the size of the monitor "
"automatically get maximized."
@ -389,11 +385,11 @@ msgstr ""
"If enabled, new windows that are initially the size of the monitor "
"automatically get maximized."
#: data/org.gnome.mutter.gschema.xml.in:98
#: ../data/org.gnome.mutter.gschema.xml.in.h:19
msgid "Place new windows in the center"
msgstr "Place new windows in the center"
#: data/org.gnome.mutter.gschema.xml.in:99
#: ../data/org.gnome.mutter.gschema.xml.in.h:20
msgid ""
"When true, the new windows will always be put in the center of the active "
"screen of the monitor."
@ -401,184 +397,173 @@ msgstr ""
"When true, the new windows will always be put in the center of the active "
"screen of the monitor."
#: data/org.gnome.mutter.gschema.xml.in:120
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "Select window from tab popup"
#: data/org.gnome.mutter.gschema.xml.in:125
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Cancel tab popup"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1
msgid "Switch to VT 1"
msgstr "מעבר ל־VT 1"
#: data/org.gnome.mutter.wayland.gschema.xml.in:10
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2
msgid "Switch to VT 2"
msgstr "מעבר ל־VT 2"
#: data/org.gnome.mutter.wayland.gschema.xml.in:14
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3
msgid "Switch to VT 3"
msgstr "מעבר ל־VT 3"
#: data/org.gnome.mutter.wayland.gschema.xml.in:18
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4
msgid "Switch to VT 4"
msgstr "מעבר ל־VT 4"
#: data/org.gnome.mutter.wayland.gschema.xml.in:22
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5
msgid "Switch to VT 5"
msgstr "מעבר ל־VT 5"
#: data/org.gnome.mutter.wayland.gschema.xml.in:26
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6
msgid "Switch to VT 6"
msgstr "מעבר ל־VT 6"
#: data/org.gnome.mutter.wayland.gschema.xml.in:30
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7
msgid "Switch to VT 7"
msgstr "מעבר ל־VT 7"
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
msgid "Switch to VT 8"
msgstr "מעבר ל־VT 8"
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
msgid "Switch to VT 9"
msgstr "מעבר ל־VT 9"
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
msgid "Switch to VT 10"
msgstr "מעבר ל־VT 10"
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
msgid "Switch to VT 11"
msgstr "מעבר ל־VT 11"
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
msgid "Switch to VT 12"
msgstr "מעבר ל־VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1848
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "מצב העברה (קבוצה %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1870
#: ../src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "החלפה בין צגים"
#: src/backends/meta-input-settings.c:1872
#: ../src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "הצגת עזרה על המסך"
#: src/backends/meta-monitor-manager.c:630
#: ../src/backends/meta-monitor-manager.c:515
msgid "Built-in display"
msgstr "תצוגה מובנית"
#: src/backends/meta-monitor-manager.c:653
#: ../src/backends/meta-monitor-manager.c:538
msgid "Unknown"
msgstr "לא ידוע"
#: src/backends/meta-monitor-manager.c:655
#: ../src/backends/meta-monitor-manager.c:540
msgid "Unknown Display"
msgstr "תצוגה לא ידועה"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:663
#: ../src/backends/meta-monitor-manager.c:548
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:474
#: ../src/compositor/compositor.c:463
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr "מנהל תצוגת חלונות אחר כבר פועל במסך %i בתצוגה „%s“."
#: src/core/bell.c:194
#: ../src/core/bell.c:194
msgid "Bell event"
msgstr "אירוע פעמון"
#. Translators: %s is a window title
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "„%s“ אינו מגיב."
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "היישום אינו מגיב."
#: src/core/delete.c:134
#: ../src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"באפשרותך להמתין זמן קצר ולתת ליישום להמשיך או להכריח את היישום להסתיים."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_אילוץ סגירה"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "ה_מתנה"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "Failed to open X Window System display “%s”\n"
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "_אילוץ סגירה"
#: src/core/main.c:189
#: ../src/core/display.c:590
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Failed to open X Window System display '%s'\n"
#: ../src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "Disable connection to session manager"
#: src/core/main.c:195
#: ../src/core/main.c:188
msgid "Replace the running window manager"
msgstr "Replace the running window manager"
#: src/core/main.c:201
#: ../src/core/main.c:194
msgid "Specify session management ID"
msgstr "Specify session management ID"
#: src/core/main.c:206
#: ../src/core/main.c:199
msgid "X Display to use"
msgstr "X Display to use"
#: src/core/main.c:212
#: ../src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "Initialize session from savefile"
#: src/core/main.c:218
#: ../src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "Make X calls synchronous"
#: src/core/main.c:225
#: ../src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "Run as a wayland compositor"
#: src/core/main.c:231
#: ../src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Run as a nested compositor"
#: src/core/main.c:239
#: ../src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "Run as a full display server, rather than nested"
#: src/core/mutter.c:39
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
@ -588,51 +573,51 @@ msgstr ""
"זוהי תכנה חופשית; יש לעיין במקור כדי לקבל מידע אודות תנאי ההעתקה.\n"
"לא קיימת שום אחריות; אפילו לא עבור סחר או התאמה לצרכים מסוימים.\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "Print version"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "תוסף ה־mutter לשימוש"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "מרחב עבודה %d"
#: src/core/screen.c:580
#: ../src/core/screen.c:521
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
#: src/core/screen.c:665
#: ../src/core/screen.c:606
#, c-format
msgid "Screen %d on display %s is invalid\n"
msgstr "Screen %d on display %s is invalid\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Screen %d on display '%s' is invalid\n"
#: src/core/util.c:120
#: ../src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter הודר ללא תמיכה במצב פירוט\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: ../src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "מצב העברה: מצב %d"
#: src/x11/session.c:1815
#: ../src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"חלונות אלו אינם תומכים בשמירת ההגדרות הנוכחיות, ויהיה צורך "
"חלונות אלו אינם תומכים ב&quot;שמירת ההגדרות הנוכחיות&quot;, ויהיה צורך "
"באתחול ידני בכניסה הבאה שלך."
#: src/x11/window-props.c:559
#: ../src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (מעל %s)"

1477
po/hu.po

File diff suppressed because it is too large Load Diff

View File

@ -9,17 +9,17 @@
msgid ""
msgstr ""
"Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-04-21 21:33+0000\n"
"PO-Revision-Date: 2017-04-23 14:39+0700\n"
"Last-Translator: Kukuh Syafaat <syafaatkukuh@gmail.com>\n"
"POT-Creation-Date: 2017-02-16 01:44+0000\n"
"PO-Revision-Date: 2017-02-20 13:44+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: Indonesian <gnome-l10n-id@googlegroups.com>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.11\n"
"X-Generator: Poedit 1.6.10\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: data/50-mutter-navigation.xml:6
@ -398,36 +398,11 @@ msgstr ""
"Ketika berisi true, jendela baru akan selalu diletakkan di tengah dari layar "
"aktif dari monitor."
#: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Aktifkan fitur eksperimental"
#: data/org.gnome.mutter.gschema.xml.in:108
msgid ""
"To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given "
"feature. Any experimental feature is not required to still be available, or "
"configurable. Dont expect adding anything in this setting to be future "
"proof. Currently possible keywords: • “scale-monitor-framebuffer” — makes "
"mutter default to layout logical monitors in a logical pixel coordinate "
"space, while scaling monitor framebuffers instead of window content, to "
"manage HiDPI monitors. Does not require a restart."
msgstr ""
"Untuk mengaktifkan fitur eksperimental, tambahkan kata kunci fitur ke dalam "
"daftar. Apakah fitur memerlukan nyala ulang kompositor tergantung pada fitur "
"yang diberikan. Setiap fitur eksperimental tidak diharuskan tetap tersedia, "
"atau dapat dikonfigurasi. Jangan berharap menambahkan apapun dalam "
"pengaturan ini sebagai bukti di masa depan. Saat ini kata kunci yang "
"mungkin: • \"scale-monitor-framebuffer\" — membuat mutter bawaan ke tata "
"letak monitor logikal dalam ruang koordinat pixel logikal, sementara skala "
"monitor framebuffer bukan konten jendela, untuk mengatur monitor HiDPI. "
"Tidak perlu nyala ulang."
#: data/org.gnome.mutter.gschema.xml.in:141
#: data/org.gnome.mutter.gschema.xml.in:120
msgid "Select window from tab popup"
msgstr "Pilih jendela dari popup tab"
#: data/org.gnome.mutter.gschema.xml.in:146
#: data/org.gnome.mutter.gschema.xml.in:125
msgid "Cancel tab popup"
msgstr "Batalkan popup tab"
@ -482,7 +457,7 @@ msgstr "Bertukar ke VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1848
#: src/backends/meta-input-settings.c:1759
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Tukar Mode: (Grup %d)"
@ -490,37 +465,37 @@ msgstr "Tukar Mode: (Grup %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1870
#: src/backends/meta-input-settings.c:1781
msgid "Switch monitor"
msgstr "Berpindah monitor"
#: src/backends/meta-input-settings.c:1872
#: src/backends/meta-input-settings.c:1783
msgid "Show on-screen help"
msgstr "Tampilkan bantuan pada layar"
#: src/backends/meta-monitor-manager.c:783
#: src/backends/meta-monitor-manager.c:675
msgid "Built-in display"
msgstr "Tampilan bawaan"
#: src/backends/meta-monitor-manager.c:806
#: src/backends/meta-monitor-manager.c:698
msgid "Unknown"
msgstr "Tak Dikenal"
#: src/backends/meta-monitor-manager.c:808
#: src/backends/meta-monitor-manager.c:700
msgid "Unknown Display"
msgstr "Tampilan Tak Dikenal"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:816
#: src/backends/meta-monitor-manager.c:708
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:474
#: src/compositor/compositor.c:471
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."

3524
po/is.po

File diff suppressed because it is too large Load Diff

133
po/ko.po
View File

@ -6,7 +6,7 @@
# Changwoo Ryu <cwryu@debian.org>, 2003, 2004, 2005, 2006, 2007, 2008, 2009.
#
# Updated in mutter:
# Changwoo Ryu <cwryu@debian.org>, 2011-2017.
# Changwoo Ryu <cwryu@debian.org>, 2011-2016.
#
#
# 주의:
@ -16,10 +16,10 @@
msgid ""
msgstr ""
"Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-28 06:20+0000\n"
"PO-Revision-Date: 2017-03-04 03:25+0900\n"
"POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-10 00:38+0900\n"
"Last-Translator: Changwoo Ryu <cwryu@debian.org>\n"
"Language-Team: GNOME Korea <gnome-kr@googlegroups.com>\n"
"Language: ko\n"
@ -278,14 +278,14 @@ msgstr "창 관리 작업을 할 때 사용할 변경 키"
#: data/org.gnome.mutter.gschema.xml.in:8
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"다음 창으로 이동할 때 창 팝업 및 프레임을 표시할지 여부. 이 키는 오버레"
"이”를 시작합니다. 오버레이는 창 상태 보기 및 프로그램 실행 환경입니다. PC에"
"기본값은 윈도우 키입니다. 보통 이 키 바인딩은 기본값이거나 빈 문자열입니"
"다음 창으로 이동할 때 창 팝업 및 프레임을 표시할지 여부. 이 키는 \"오버레"
"\"를 시작합니다. 오버레이는 창 상태 보기 및 프로그램 실행 환경입니다. PC에"
"기본값은 \"윈도우 키\"입니다. 보통 이 키 바인딩은 기본값이거나 빈 문자열입니"
"다."
#: data/org.gnome.mutter.gschema.xml.in:20
@ -321,7 +321,7 @@ msgstr "작업 공간을 동적으로 관리"
#: data/org.gnome.mutter.gschema.xml.in:41
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
@ -358,12 +358,12 @@ msgstr "포인터가 움직임을 멈출 때까지 포커스 전환 미루기"
#: data/org.gnome.mutter.gschema.xml.in:69
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"참이고 포커스 모드가 sloppy”나 “mouse인 경우, 창 안에 포인터를 옮겼을 때 즉"
"시 포커스를 전환하지 않고, 포인터가 움직임을 멈추었을 때 전환합니다."
"참이고 포커스 모드가 \"sloppy\"나 \"mouse\"인 경우, 창 안에 포인터를 옮겼을 "
"때 즉시 포커스를 전환하지 않고, 포인터가 움직임을 멈추었을 때 전환합니다."
#: data/org.gnome.mutter.gschema.xml.in:79
msgid "Draggable border width"
@ -371,7 +371,7 @@ msgstr "마우스로 끌 수 있는 가장자리의 너비"
#: data/org.gnome.mutter.gschema.xml.in:80
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"마우스로 끌 수 있는 가장자리의 너비. 테마의 가장자리가 이보다 작은 경우, 투명"
@ -453,60 +453,49 @@ msgstr "가상 터미널 11로 이동"
msgid "Switch to VT 12"
msgstr "가상 터미널 12로 이동"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1800
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "모드 전환 (그룹 %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1822
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "모니터 전환"
#: src/backends/meta-input-settings.c:1824
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "화면 도움말 표시"
#: src/backends/meta-monitor-manager.c:675
#: src/backends/meta-monitor-manager.c:514
msgid "Built-in display"
msgstr "내장 디스플레이"
#: src/backends/meta-monitor-manager.c:698
#: src/backends/meta-monitor-manager.c:537
msgid "Unknown"
msgstr "알 수 없음"
#: src/backends/meta-monitor-manager.c:700
#: src/backends/meta-monitor-manager.c:539
msgid "Unknown Display"
msgstr "알 수 없는 디스플레이"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:708
#: src/backends/meta-monitor-manager.c:547
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: src/compositor/compositor.c:463
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
"다른 창 구성 관리 프로그램이 이미 디스플레이 %2$s 화면 %1$i번에서 실행 중"
"니다."
"다른 창 구성 관리 프로그램이 이미 디스플레이 \"%2$s\" 화면 %1$i번에서 실행 중"
"니다."
#: src/core/bell.c:194
msgid "Bell event"
msgstr "삑소리 이벤트"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
@ -522,52 +511,52 @@ msgid ""
"application to quit entirely."
msgstr "좀 더 기다리거나 해당 프로그램을 강제로 끝낼 수 있습니다."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "강제로 끝내기(_F)"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "기다리기(_W)"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "X 윈도 시스템 디스플레이 “%s”을(를) 여는데 실패하였습니다\n"
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "강제로 끝내기(_F)"
#: src/core/main.c:189
#: src/core/display.c:590
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "X 윈도 시스템 디스플레이 '%s'을(를) 여는데 실패하였습니다\n"
#: src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "세션 관리자와 연결 하지 않습니다"
#: src/core/main.c:195
#: src/core/main.c:188
msgid "Replace the running window manager"
msgstr "실행 중인 창 관리자를 바꿉니다"
#: src/core/main.c:201
#: src/core/main.c:194
msgid "Specify session management ID"
msgstr "세션 관리 ID를 지정합니다"
#: src/core/main.c:206
#: src/core/main.c:199
msgid "X Display to use"
msgstr "사용할 X 디스플레이"
#: src/core/main.c:212
#: src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "저장 파일에서 세션을 초기화 합니다"
#: src/core/main.c:218
#: src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "동기 X 호출을 합니다"
#: src/core/main.c:225
#: src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "웨일랜드 컴포지터로 실행합니다"
#: src/core/main.c:231
#: src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "내장 컴포지터로 실행합니다"
#: src/core/main.c:239
#: src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "전체 디스플레이 서버로 실행, 내장 프로그램 아님"
@ -575,13 +564,13 @@ msgstr "전체 디스플레이 서버로 실행, 내장 프로그램 아님"
#, c-format
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
msgstr ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
@ -599,39 +588,39 @@ msgstr "사용할 머터 플러그인"
msgid "Workspace %d"
msgstr "작업 공간 %d"
#: src/core/screen.c:580
#: src/core/screen.c:521
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"디스플레이 “%s”에 이미 창 관리자가 있습니다. 현재 창 관리자를 바꾸려면 --"
"디스플레이 \"%s\"에 이미 창 관리자가 있습니다. 현재 창 관리자를 바꾸려면 --"
"replace 옵션을 써보십시오."
#: src/core/screen.c:665
#: src/core/screen.c:606
#, c-format
msgid "Screen %d on display %s is invalid\n"
msgstr "디스플레이 %2$s의 화면 %1$d은(는) 잘못되었습니다\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "디스플레이 '%2$s'의 화면 %1$d은(는) 잘못되었습니다\n"
#: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "머터가 자세한 모드 지원 없이 컴파일 되었습니다\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "모드 전환: 모드 %d"
#: src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"이 창은 현재 설정 저장을 지원하지 않기 때문에 다음 번에 로그인 할 때 수동으"
"로 다시 시작해야 합니다."
"이 창은 &quot;현재 설정 저장&quot;을 지원하지 않기 때문에 다음 번에 로그인 "
"할 때 수동으로 다시 시작해야 합니다."
# <창제목> (on <기계>)
#: src/x11/window-props.c:559
#: src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (%s에서)"

343
po/lt.po
View File

@ -11,11 +11,11 @@
msgid ""
msgstr ""
"Project-Id-Version: lt\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-02 18:41+0000\n"
"PO-Revision-Date: 2017-03-03 20:29+0200\n"
"Last-Translator: Moo\n"
"POT-Creation-Date: 2016-07-22 13:03+0000\n"
"PO-Revision-Date: 2016-08-03 22:14+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
"Language: lt\n"
"MIME-Version: 1.0\n"
@ -23,273 +23,273 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n"
"%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 1.8.11\n"
"X-Generator: Gtranslator 2.91.7\n"
#: data/50-mutter-navigation.xml:6
#: ../data/50-mutter-navigation.xml.in.h:1
msgid "Navigation"
msgstr "Navigacija"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "Perkelti langą į darbo sritį Nr.1"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Perkelti langą į darbo sritį Nr.2"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Perkelti langą į darbo sritį Nr.3"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Perkelti langą į darbo sritį Nr.4"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Perkelti langą į pastarąją darbo sritį"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Perkelti langą į kairiau esančią darbo sritį"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Perkelti langą į dešiniau esančią darbo sritį"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Perkelti langą į aukščiau esančią darbo sritį"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Perkelti langą į žemiau esančią darbo sritį"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Perkelti langą į kairiau esantį monitorių"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Perkelti langą į dešiniau esantį monitorių"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Perkelti langą į aukščiau esantį monitorių"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Perkelti langą į žemiau esantį monitorių"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Pereiti tarp programų"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Pereiti į ankstesnę programą"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Pereiti tarp langų"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Pereiti į ankstesnį langą"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Pereiti tarp programos langų"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "Pereiti į ankstesnį programos langą"
#: data/50-mutter-navigation.xml:76
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Pereiti tarp sistemos valdiklių"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Pereiti prie ankstesnio sistemos valdiklio"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Tiesiogiai pereiti tarp langų"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Tiesiogiai pereiti į ankstesnį langą"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Tiesiogiai pereiti tarp programos langų"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "Tiesiogiai pereiti prie ankstesnio programos lango"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Tiesiogiai pereiti tarp sistemos valdiklių"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Tiesiogiai pereiti prie ankstesnio sistemos valdiklio"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Paslėpti visus įprastinius langus"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Persijungti į darbo sritį Nr.1"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Persijungti į darbo sritį Nr.2"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Persijungti į darbo sritį Nr.3"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Persijungti į darbo sritį Nr.4"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Persijungti į pastarąją darbo sritį"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Perkelti į darbo sritį kairėje"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Perkelti į darbo sritį dešinėje"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Perkelti į darbo sritį viršuje"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Perkelti į darbo sritį apačioje"
#: data/50-mutter-system.xml:6
#: ../data/50-mutter-system.xml.in.h:1
msgid "System"
msgstr "Sistema"
#: data/50-mutter-system.xml:8
#: ../data/50-mutter-system.xml.in.h:2
msgid "Show the run command prompt"
msgstr "Rodyti komandų paleidimo langelį"
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Rodyti veiklų apžvalgą"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Langai"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Parodyti lango meniu"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Perjungti viso ekrano veikseną"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Perjungti lango išdidinimo būseną"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Išdidinti langą"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Atkurti lango dydį"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Perjungti lango sutraukimo būseną"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Užverti langą"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Slėpti langą"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Perkelti langą"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Keisti lango dydį"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "Perjungti lango buvimo visose darbo srityse būseną"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr ""
"Iškelti langą, jei jis uždengtas kito lango, priešingu atveju jį nuleisti"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Iškelti langą virš kitų langų"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Nuleisti langą žemiau kitų langų"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Išdidinti langą vertikaliai"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Išdidinti langą horizontaliai"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Rodyti skyrimą kairėje"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Rodyti skyrimą dešinėje"
#: data/mutter.desktop.in:4
#: ../data/mutter.desktop.in.h:1
msgid "Mutter"
msgstr "Mutter"
#: data/org.gnome.mutter.gschema.xml.in:7
#: ../data/org.gnome.mutter.gschema.xml.in.h:1
msgid "Modifier to use for extended window management operations"
msgstr "Klavišas, naudojamas kartu su specialiomis lango tvarkymo operacijomis"
#: data/org.gnome.mutter.gschema.xml.in:8
#: ../data/org.gnome.mutter.gschema.xml.in.h:2
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Šis klavišas inicijuos „perdangą“, kuri yra langų apžvalgos ir programų "
"Šis klavišas inicijuos „padengimą“, kuris yra langų apžvalgos ir programų "
"paleidimo sistemos kombinacija. Numatytasis nustatymas „Windows klavišas“. "
"Tikimasi, kad šis susiejimas bus arba numatytasis, arba nustatytas į tuščią."
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Prikabinti modalinius dialogus"
#: data/org.gnome.mutter.gschema.xml.in:21
#: ../data/org.gnome.mutter.gschema.xml.in.h:4
msgid ""
"When true, instead of having independent titlebars, modal dialogs appear "
"attached to the titlebar of the parent window and are moved together with "
@ -299,11 +299,11 @@ msgstr ""
"pasirodys prikabinti prie tėvinio lango antraštės ir yra perkialiami kartu "
"su tėviniu langu."
#: data/org.gnome.mutter.gschema.xml.in:30
#: ../data/org.gnome.mutter.gschema.xml.in.h:5
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "Įjungti kraštų uždengimą numetant langus ekrano kraštuose"
#: data/org.gnome.mutter.gschema.xml.in:31
#: ../data/org.gnome.mutter.gschema.xml.in.h:6
msgid ""
"If enabled, dropping windows on vertical screen edges maximizes them "
"vertically and resizes them horizontally to cover half of the available "
@ -313,13 +313,13 @@ msgstr ""
"vertikaliai ir pakeičia dydį horizontaliai taip, kad užimtų pusę esamos "
"vietos. Langų numetimas ekrano viršuje juos visiškai išdidina."
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "Darbo sritys tvarkomos dinamiškai"
#: data/org.gnome.mutter.gschema.xml.in:41
#: ../data/org.gnome.mutter.gschema.xml.in.h:8
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
@ -327,11 +327,11 @@ msgstr ""
"sričių skaičius (nusakomas raktu num-workspaces schemoje org.gnome.desktop."
"wm.preferences)."
#: data/org.gnome.mutter.gschema.xml.in:50
#: ../data/org.gnome.mutter.gschema.xml.in.h:9
msgid "Workspaces only on primary"
msgstr "Darbo sritys tik pagrindiniame"
#: data/org.gnome.mutter.gschema.xml.in:51
#: ../data/org.gnome.mutter.gschema.xml.in.h:10
msgid ""
"Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor."
@ -339,11 +339,11 @@ msgstr ""
"Nusako, ar darbo sričių perjungimas turi įvykti langams visuose "
"monitoriuose, ar tik langams pagrindiniame monitoriuje."
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "Nėra tab iššokimo"
#: data/org.gnome.mutter.gschema.xml.in:60
#: ../data/org.gnome.mutter.gschema.xml.in.h:12
msgid ""
"Determines whether the use of popup and highlight frame should be disabled "
"for window cycling."
@ -351,37 +351,37 @@ msgstr ""
"Nusako, ar iššokančio lango ir rėmelio paryškinimo naudojimas turėtų būti "
"išjungtas langų perėjime."
#: data/org.gnome.mutter.gschema.xml.in:68
#: ../data/org.gnome.mutter.gschema.xml.in.h:13
msgid "Delay focus changes until the pointer stops moving"
msgstr "Atidėti aktyvavimo pakeitimus iki žymiklis nustaja judėti"
#: data/org.gnome.mutter.gschema.xml.in:69
#: ../data/org.gnome.mutter.gschema.xml.in.h:14
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Jei nustatytas teigiamai ir aktyvavimo veiksena yra „sloppy“ arba „mouse“, "
"tuomet aktyvavimas nebus pakeistas nedelsiant įėjus į langą, bet tik pelės "
"žymikliui nustojus judėti."
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Tempiamos paraštės prolis"
#: data/org.gnome.mutter.gschema.xml.in:80
#: ../data/org.gnome.mutter.gschema.xml.in.h:16
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"Bendros tempiamos paraštės dydis. Jei temos matomos paraštės yra "
"nepakankamos, bus pridėtos nematomos paraštės."
#: data/org.gnome.mutter.gschema.xml.in:89
#: ../data/org.gnome.mutter.gschema.xml.in.h:17
msgid "Auto maximize nearly monitor sized windows"
msgstr "Automatiškai išdidinti beveik monitoriaus dydžio langus"
#: data/org.gnome.mutter.gschema.xml.in:90
#: ../data/org.gnome.mutter.gschema.xml.in.h:18
msgid ""
"If enabled, new windows that are initially the size of the monitor "
"automatically get maximized."
@ -389,11 +389,11 @@ msgstr ""
"Jei įjungta, nauji langai, kurių pradinis dydis yra monitoriaus dydžio yra "
"automatiškai išdidinami."
#: data/org.gnome.mutter.gschema.xml.in:98
#: ../data/org.gnome.mutter.gschema.xml.in.h:19
msgid "Place new windows in the center"
msgstr "Patalpinti naujus langus centre"
#: data/org.gnome.mutter.gschema.xml.in:99
#: ../data/org.gnome.mutter.gschema.xml.in.h:20
msgid ""
"When true, the new windows will always be put in the center of the active "
"screen of the monitor."
@ -401,239 +401,230 @@ msgstr ""
"Kai teigiama, nauji langai bus visada patalpinti aktyvaus monitoriaus ekrano "
"viduryje."
#: data/org.gnome.mutter.gschema.xml.in:120
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "Pasirinkti langą iš tab iššokimo"
#: data/org.gnome.mutter.gschema.xml.in:125
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Atšaukti tab iššokimą"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1
msgid "Switch to VT 1"
msgstr "Persijungti į VT 1"
#: data/org.gnome.mutter.wayland.gschema.xml.in:10
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2
msgid "Switch to VT 2"
msgstr "Persijungti į VT 2"
#: data/org.gnome.mutter.wayland.gschema.xml.in:14
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3
msgid "Switch to VT 3"
msgstr "Persijungti į VT 3"
#: data/org.gnome.mutter.wayland.gschema.xml.in:18
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4
msgid "Switch to VT 4"
msgstr "Persijungti į VT 4"
#: data/org.gnome.mutter.wayland.gschema.xml.in:22
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5
msgid "Switch to VT 5"
msgstr "Persijungti į VT 5"
#: data/org.gnome.mutter.wayland.gschema.xml.in:26
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6
msgid "Switch to VT 6"
msgstr "Persijungti į VT 6"
#: data/org.gnome.mutter.wayland.gschema.xml.in:30
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7
msgid "Switch to VT 7"
msgstr "Persijungti į VT 7"
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
msgid "Switch to VT 8"
msgstr "Persijungti į VT 8"
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
msgid "Switch to VT 9"
msgstr "Persijungti į VT 9"
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
msgid "Switch to VT 10"
msgstr "Persijungti į VT 10"
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
msgid "Switch to VT 11"
msgstr "Persijungti į VT 11"
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
msgid "Switch to VT 12"
msgstr "Persijungti į VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1800
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Veiksenos perjungimas (Grupė %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1822
#: ../src/backends/meta-input-settings.c:1601
#| msgid "Switch system controls"
msgid "Switch monitor"
msgstr "Perjungti monitorių"
#: src/backends/meta-input-settings.c:1824
#: ../src/backends/meta-input-settings.c:1603
msgid "Show on-screen help"
msgstr "Rodyti pagalbą ekrane"
#: src/backends/meta-monitor-manager.c:675
#: ../src/backends/meta-monitor-manager.c:515
msgid "Built-in display"
msgstr "Integruotas vaizduoklis"
#: src/backends/meta-monitor-manager.c:698
#: ../src/backends/meta-monitor-manager.c:538
msgid "Unknown"
msgstr "Nežinomas"
#: src/backends/meta-monitor-manager.c:700
#: ../src/backends/meta-monitor-manager.c:540
msgid "Unknown Display"
msgstr "Nežinomas vaizduoklis"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:708
#: ../src/backends/meta-monitor-manager.c:548
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: ../src/compositor/compositor.c:463
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr "Kita kompozicijos tvarkytuvė jau veikia ekrane %i vaizduoklyje „%s“."
#: src/core/bell.c:194
#: ../src/core/bell.c:194
msgid "Bell event"
msgstr "Skambučio įvykis"
#. Translators: %s is a window title
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "%s neatsiliepia į komandas."
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "Programa neatsiliepia į komandas."
#: src/core/delete.c:134
#: ../src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr "Galite šiek tiek palaukti arba priverstinai uždaryti programą."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Priverstinai išeiti"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Laukti"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "Nepavyko atverti X Window sistemos vaizduoklio „%s“\n"
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Priverstinai išeiti"
#: src/core/main.c:189
#: ../src/core/display.c:590
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Nepavyko atverti X Window sistemos ekrano „%s“\n"
#: ../src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "Išjungti susijungimą su sesijos tvarkytuve"
#: src/core/main.c:195
#: ../src/core/main.c:188
msgid "Replace the running window manager"
msgstr "Pakeisti veikiančią langų tvarkytuvę"
#: src/core/main.c:201
#: ../src/core/main.c:194
msgid "Specify session management ID"
msgstr "Nurodyti sesijos tvarkymo ID"
#: src/core/main.c:206
#: ../src/core/main.c:199
msgid "X Display to use"
msgstr "Naudotinas X ekranas"
#: src/core/main.c:212
#: ../src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "Inicializuoti sesiją iš išsaugojimo failo"
#: src/core/main.c:218
#: ../src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "Sinchronizuoti X iškvietimus"
#: src/core/main.c:225
#: ../src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "Vykdyti kaip wayland kompozitorių"
#: src/core/main.c:231
#: ../src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Vykdyti kaip įdėtinį kompozitorių"
#: src/core/main.c:239
#: ../src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "Vykdyti kaip visą vaizduoklio serverį, o ne įdėtinį"
#: src/core/mutter.c:39
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
msgstr ""
"mutter %s\n"
"Autorių teisės © 2001-%d Havoc Pennington, Red Hat, Inc., ir kiti\n"
"Tai yra laisva programinė įranga; kopijavimo sąlygos yra aprašytos "
"pirminiuose koduose.\n"
"Nėra JOKIOS garantijos; netgi PARDAVIMO ar TINKAMUMO TAM TIKRAM TIKSLUI "
"garantijos.\n"
"Autorinės teisės (C) priklauso 2001-%d Havoc Pennington, Red Hat, Inc.\n"
"ir kitiems.\n"
"Tai yra laisva programinė įranga; platinimo sąlygos yra aprašytos \n"
"programos pradiniuose tekstuose.\n"
"Nėra JOKIOS garantijos; net dėl PREKIAVIMO ar TAM TIKRO PANAUDOJIMO TIKSLO "
"ATITIKIMO.\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "Parodyti versiją"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "Naudojamas Mutter įskiepis"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "Darbo sritis %d"
#: src/core/screen.c:580
#: ../src/core/screen.c:521
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"Vaizduoklis „%s“ jau turi langų tvarkytuvę; pabandykite pakeisti esamą langų "
"tvarkytuvę, naudodami parametrą --replace."
#: src/core/screen.c:665
#: ../src/core/screen.c:603
#, c-format
msgid "Screen %d on display %s is invalid\n"
msgstr "Ekranas %d vaizduoklyje „%s“ yra netinkamas\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Ekranas %d vaizduoklyje „%s“ netinkamas\n"
#: src/core/util.c:120
#: ../src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter buvo sukompiliuota be išsamaus veikimo veiksenos\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: ../src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Veiksenos perjungimas: veiksena %d"
#: src/x11/session.c:1815
#: ../src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Šie langai nepalaiko išsaugoti esamus nustatymus komandos ir, kai kitą "
"kartą prisijungsite, turės būti paleisti rankiniu būdu."
"Šie langai nepalaiko &quot;išsaugoti esamus nustatymus&quot; komandos ir "
"turi būti paleisti rankiniu būdu, kai prisijungsite kitą kartą."
#: src/x11/window-props.c:559
#: ../src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (kompiuteryje %s)"

148
po/lv.po
View File

@ -7,14 +7,14 @@
# Raivis Dejus <orvils@gmail.com>, 2006, 2007, 2009.
# Rudolfs <rudolfs.mazurs@gmail.com>, 2011.
# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011, 2012.
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012, 2013, 2014, 2015, 2016, 2017.
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012, 2013, 2014, 2015, 2016.
msgid ""
msgstr ""
"Project-Id-Version: lv\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
"&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-28 06:20+0000\n"
"PO-Revision-Date: 2017-03-18 12:09+0200\n"
"POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-08 21:31+0200\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
"Language: lv\n"
@ -274,16 +274,11 @@ msgid "Modifier to use for extended window management operations"
msgstr "Modifikators, kuru lietot paplašinātām loga pārvaldības darbībām"
#: data/org.gnome.mutter.gschema.xml.in:8
#| msgid ""
#| "This key will initiate the \"overlay\", which is a combination window "
#| "overview and application launching system. The default is intended to be "
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
#| "either the default or set to the empty string."
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Šis taustiņš inicializēs “pārklāšanu”, kas ir kombināciju loga pārskats un "
"lietotnes palaišanas sistēma. Noklusētais parasti ir “Windows taustiņš” uz "
@ -323,12 +318,8 @@ msgid "Workspaces are managed dynamically"
msgstr "Darbvirsmas tiek pārvaldītas dinamiski"
#: data/org.gnome.mutter.gschema.xml.in:41
#| msgid ""
#| "Determines whether workspaces are managed dynamically or whether there's "
#| "a static number of workspaces (determined by the num-workspaces key in "
#| "org.gnome.desktop.wm.preferences)."
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
@ -365,29 +356,22 @@ msgid "Delay focus changes until the pointer stops moving"
msgstr "Aizkavēt fokusa izmaiņas, līdz rādītājs pārstāj kustēties"
#: data/org.gnome.mutter.gschema.xml.in:69
#| msgid ""
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
#| "the focus will not be changed immediately when entering a window, but "
#| "only after the pointer stops moving."
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Ja patiess un fokusēšanas režīms ir vai nu sloppy (paviršs) vai mouse"
" (pele), tad fokuss nemainīsies uzreiz pēc ieiešanas logā, bet tikai pēc tam,"
" kad rādītājs beidzis kustēties."
"Ja patiess un fokusēšanas režīms ir vai nu \"sloppy\" (paviršs) vai \"mouse"
"\" (pele), tad fokuss nemainīsies uzreiz pēc ieiešanas logā, bet tikai pēc "
"tam, kad rādītājs beidzis kustēties."
#: data/org.gnome.mutter.gschema.xml.in:79
msgid "Draggable border width"
msgstr "Velkams malas platums"
#: data/org.gnome.mutter.gschema.xml.in:80
#| msgid ""
#| "The amount of total draggable borders. If the theme's visible borders are "
#| "not enough, invisible borders will be added to meet this value."
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"Kopējo velkamo malu apjoms. Ja motīva redzamās robežas nav pietiekamas, tiks "
@ -472,62 +456,48 @@ msgstr "Pārslēgties uz VT 11"
msgid "Switch to VT 12"
msgstr "Pārslēgties uz VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1800
#, c-format
#| msgid "Mode Switch: Mode %d"
msgid "Mode Switch (Group %d)"
msgstr "Režīma slēdzis (grupa %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1822
#: src/backends/meta-input-settings.c:1707
#| msgid "Switch system controls"
msgid "Switch monitor"
msgstr "Pārslēgt monitoru"
#: src/backends/meta-input-settings.c:1824
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Rādīt palīdzību uz ekrāna"
#: src/backends/meta-monitor-manager.c:675
#: src/backends/meta-monitor-manager.c:514
msgid "Built-in display"
msgstr "Iebūvēts displejs"
#: src/backends/meta-monitor-manager.c:698
#: src/backends/meta-monitor-manager.c:537
msgid "Unknown"
msgstr "Nezināms"
#: src/backends/meta-monitor-manager.c:700
#: src/backends/meta-monitor-manager.c:539
msgid "Unknown Display"
msgstr "Nezināms displejs"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:708
#: src/backends/meta-monitor-manager.c:547
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: src/compositor/compositor.c:463
#, c-format
#| msgid ""
#| "Another compositing manager is already running on screen %i on display "
#| "\"%s\"."
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr "Cits kompozīcijas pārvaldnieks jau darbojas ekrānā %d displejā “%s”."
#: src/core/bell.c:194
msgid "Bell event"
msgstr "Zvana notikums"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
@ -545,73 +515,66 @@ msgstr ""
"Var uzgaidīt neilgu brīdi, līdz tā atgūstas, vai arī aizvērt to piespiedu "
"kārtā."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "Aizvērt _piespiedu kārtā"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "_Gaidīt"
#: src/core/display.c:608
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "Aizvērt _piespiedu kārtā"
#: src/core/display.c:590
#, c-format
#| msgid "Failed to open X Window System display '%s'\n"
msgid "Failed to open X Window System display “%s”\n"
msgid "Failed to open X Window System display '%s'\n"
msgstr "Neizdevās atvērt X logu sistēmas displeju “%s”\n"
#: src/core/main.c:189
#: src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "Deaktivēt savienojumu ar sesiju pārvaldnieku"
#: src/core/main.c:195
#: src/core/main.c:188
msgid "Replace the running window manager"
msgstr "Aizvietot darbojošos logu pārvaldnieku"
#: src/core/main.c:201
#: src/core/main.c:194
msgid "Specify session management ID"
msgstr "Norādiet sesiju pārvaldības ID"
#: src/core/main.c:206
#: src/core/main.c:199
msgid "X Display to use"
msgstr "Lietojamais X displejs"
#: src/core/main.c:212
#: src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "Inicializēt sesiju no saglabātās datnes"
#: src/core/main.c:218
#: src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "Padarīt X izsaukumus sinhronus"
#: src/core/main.c:225
#: src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "Palaist kā wayland kompozitoru"
#: src/core/main.c:231
#: src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Palaist kā ligzdotu kompozitoru"
#: src/core/main.c:239
#: src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "Palaist kā pilnu attēlošanas serveri, nevis iegultu"
#: src/core/mutter.c:39
#, c-format
#| msgid ""
#| "mutter %s\n"
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
#| "This is free software; see the source for copying conditions.\n"
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
#| "PARTICULAR PURPOSE.\n"
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
msgstr ""
"mutter %s\n"
"Autortiesības © 2001-%d Havoc Pennington, Red Hat, Inc., un citi\n"
"Autortiesības (C) 2001-%d Havoc Pennington, Red Hat, Inc., un citi\n"
"Šī ir brīvā programmatūra; par kopēšanas nosacījumiem skatīt avotu.\n"
"Netiek dota NEKĀDA garantija; pat ne KOMERCIĀLAS VĒRTĪBAS vai DERĪGUMA "
"NOTEIKTAM NOLŪKAM.\n"
@ -629,45 +592,38 @@ msgstr "Izmantojamais mutter spraudnis"
msgid "Workspace %d"
msgstr "Darbvieta %d"
#: src/core/screen.c:580
#: src/core/screen.c:521
#, c-format
#| msgid ""
#| "Display \"%s\" already has a window manager; try using the --replace "
#| "option to replace the current window manager."
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"Displejam “%s” jau ir logu pārvaldnieks; mēģiniet lietot --replace iespēju, "
"lai aizvietotu pašreizējo logu pārvaldnieku."
#: src/core/screen.c:665
#: src/core/screen.c:606
#, c-format
#| msgid "Screen %d on display '%s' is invalid\n"
msgid "Screen %d on display “%s” is invalid\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Ekrāna %d displejs “%s“ nav derīgs\n"
#: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter tika kompilēts bez detalizētas izvades režīma atbalsta\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Režīma slēdzis: režīms %d"
#: src/x11/session.c:1815
#| msgid ""
#| "These windows do not support &quot;save current setup&quot; and will have "
#| "to be restarted manually next time you log in."
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Šie logi neatbalsta “saglabāt pašreizējos iestatījumus” un būs jāpārstartē "
"pašrocīgi nākamreiz, kad ierakstīsities."
#: src/x11/window-props.c:559
#: src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (uz %s)"

View File

@ -1,5 +1,5 @@
# Brazilian Portuguese translation of mutter.
# Copyright (C) 2002-2017 Free Software Foundation, Inc.
# Copyright (C) 2002-2016 Free Software Foundation, Inc.
# This file is distributed under the same license as the mutter package.
# Sun G11n <gnome_int_l10n@ireland.sun.com>, 2002.
# Evandro Fernandes Giovanini <evandrofg@ig.com.br>, 2002, 2003, 2006.
@ -13,16 +13,17 @@
# Vladimir Melo <vmelo@gnome.org>, 2009.
# Antonio Fernandes C. Neto <fernandes@pelivre.org>, 2010.
# Rodrigo Padula de Oliveira <contato@rodrigopadula.com>, 2011.
# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
# Artur de Aquino Morais <artur.morais93@outlook.com>, 2016.
# Enrico Nicoletto <liverig@gmail.com>, 2012, 2014, 2016.
# Rafael Fontenelle <rafaelff@gnome.org>, 2013, 2014, 2016, 2017.
# Rafael Fontenelle <rafaelff@gnome.org>, 2016.
msgid ""
msgstr ""
"Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
"&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-22 19:28+0000\n"
"PO-Revision-Date: 2017-02-25 17:53-0200\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter&"
"keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-07 08:16-0200\n"
"Last-Translator: Rafael Fontenelle <rafaelff@gnome.org>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\n"
@ -30,9 +31,254 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Virtaal 1.0.0-beta1\n"
"X-Generator: Virtaal 0.7.1\n"
"X-Project-Style: gnome\n"
#: data/50-mutter-navigation.xml:6
msgid "Navigation"
msgstr "Navegação"
#: data/50-mutter-navigation.xml:9
msgid "Move window to workspace 1"
msgstr "Mover a janela para o espaço de trabalho 1"
#: data/50-mutter-navigation.xml:12
msgid "Move window to workspace 2"
msgstr "Mover a janela para o espaço de trabalho 2"
#: data/50-mutter-navigation.xml:15
msgid "Move window to workspace 3"
msgstr "Mover a janela para o espaço de trabalho 3"
#: data/50-mutter-navigation.xml:18
msgid "Move window to workspace 4"
msgstr "Mover a janela para o espaço de trabalho 4"
#: data/50-mutter-navigation.xml:21
msgid "Move window to last workspace"
msgstr "Mover a janela para o último espaço de trabalho"
#: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Mover a janela um espaço de trabalho à esquerda"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Mover a janela um espaço de trabalho à direita"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up"
msgstr "Mover a janela um espaço de trabalho acima"
#: data/50-mutter-navigation.xml:33
msgid "Move window one workspace down"
msgstr "Mover a janela um espaço de trabalho abaixo"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#: data/50-mutter-navigation.xml:36
msgid "Move window one monitor to the left"
msgstr "Mover janela para o monitor da esquerda"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#: data/50-mutter-navigation.xml:39
msgid "Move window one monitor to the right"
msgstr "Mover janela para o monitor da direita"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#: data/50-mutter-navigation.xml:42
msgid "Move window one monitor up"
msgstr "Mover janela para o monitor acima"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#: data/50-mutter-navigation.xml:45
msgid "Move window one monitor down"
msgstr "Mover janela para o monitor abaixo"
#: data/50-mutter-navigation.xml:49
msgid "Switch applications"
msgstr "Alternar aplicativos"
#: data/50-mutter-navigation.xml:54
msgid "Switch to previous application"
msgstr "Alternar para o aplicativo anterior"
#: data/50-mutter-navigation.xml:58
msgid "Switch windows"
msgstr "Alternar janelas"
#: data/50-mutter-navigation.xml:63
msgid "Switch to previous window"
msgstr "Alternar para a janela anterior"
#: data/50-mutter-navigation.xml:67
msgid "Switch windows of an application"
msgstr "Alternar as janelas de um aplicativo"
#: data/50-mutter-navigation.xml:72
msgid "Switch to previous window of an application"
msgstr "Alternar para a janela anterior de um aplicativo"
#: data/50-mutter-navigation.xml:76
#| msgid "Switch system controls directly"
msgid "Switch system controls"
msgstr "Alternar controles do sistema"
#: data/50-mutter-navigation.xml:81
msgid "Switch to previous system control"
msgstr "Alternar para o controle de sistema anterior"
#: data/50-mutter-navigation.xml:85
msgid "Switch windows directly"
msgstr "Alternar as janelas diretamente"
#: data/50-mutter-navigation.xml:90
msgid "Switch directly to previous window"
msgstr "Alternar diretamente para a janela anterior"
#: data/50-mutter-navigation.xml:94
msgid "Switch windows of an app directly"
msgstr "Alternar as janelas de um aplicativo diretamente"
#: data/50-mutter-navigation.xml:99
msgid "Switch directly to previous window of an app"
msgstr "Alternar diretamente para a janela anterior de um aplicativo"
#: data/50-mutter-navigation.xml:103
msgid "Switch system controls directly"
msgstr "Alternar os controles de sistema diretamente"
#: data/50-mutter-navigation.xml:108
msgid "Switch directly to previous system control"
msgstr "Alternar diretamente para o controle de sistema anterior"
#: data/50-mutter-navigation.xml:111
msgid "Hide all normal windows"
msgstr "Ocultar todas as janelas normais"
#: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 1"
msgstr "Trocar para o espaço de trabalho 1"
#: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 2"
msgstr "Trocar para o espaço de trabalho 2"
#: data/50-mutter-navigation.xml:120
msgid "Switch to workspace 3"
msgstr "Trocar para o espaço de trabalho 3"
#: data/50-mutter-navigation.xml:123
msgid "Switch to workspace 4"
msgstr "Trocar para o espaço de trabalho 4"
#: data/50-mutter-navigation.xml:126
msgid "Switch to last workspace"
msgstr "Trocar para o último espaço de trabalho"
#: data/50-mutter-navigation.xml:129
msgid "Move to workspace left"
msgstr "Move para o espaço de trabalho à esquerda"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Move para o espaço de trabalho à direita"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above"
msgstr "Mover para o espaço de trabalho acima"
#: data/50-mutter-navigation.xml:138
msgid "Move to workspace below"
msgstr "Mover para o espaço de trabalho abaixo"
#: data/50-mutter-system.xml:6
msgid "System"
msgstr "Sistema"
#: data/50-mutter-system.xml:8
msgid "Show the run command prompt"
msgstr "Mostrar o prompt de comando de execução"
#: data/50-mutter-system.xml:10
msgid "Show the activities overview"
msgstr "Mostrar o panorama de atividades"
#: data/50-mutter-windows.xml:6
msgid "Windows"
msgstr "Janelas"
#: data/50-mutter-windows.xml:8
msgid "Activate the window menu"
msgstr "Ativar o menu da janela"
#: data/50-mutter-windows.xml:10
msgid "Toggle fullscreen mode"
msgstr "Alternar modo de tela inteira"
#: data/50-mutter-windows.xml:12
msgid "Toggle maximization state"
msgstr "Alternar estado de maximização"
#: data/50-mutter-windows.xml:14
msgid "Maximize window"
msgstr "Maximizar a janela"
#: data/50-mutter-windows.xml:16
msgid "Restore window"
msgstr "Restaurar janela"
#: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Alternar estado sombreado"
#: data/50-mutter-windows.xml:20
msgid "Close window"
msgstr "Fechar janela"
#: data/50-mutter-windows.xml:22
msgid "Hide window"
msgstr "Ocultar janela"
#: data/50-mutter-windows.xml:24
msgid "Move window"
msgstr "Mover janela"
#: data/50-mutter-windows.xml:26
msgid "Resize window"
msgstr "Redimensionar janela"
#: data/50-mutter-windows.xml:29
msgid "Toggle window on all workspaces or one"
msgstr "Alternar a janela em todos os espaços de trabalho ou em apenas um"
#: data/50-mutter-windows.xml:31
msgid "Raise window if covered, otherwise lower it"
msgstr "Elevar a janela se estiver coberta; caso contrário, a abaixa"
#: data/50-mutter-windows.xml:33
msgid "Raise window above other windows"
msgstr "Elevar a janela para frente das outras"
#: data/50-mutter-windows.xml:35
msgid "Lower window below other windows"
msgstr "Colocar a janela atrás das outras"
#: data/50-mutter-windows.xml:37
msgid "Maximize window vertically"
msgstr "Maximizar a janela verticalmente"
#: data/50-mutter-windows.xml:39
msgid "Maximize window horizontally"
msgstr "Maximizar a janela horizontalmente"
#: data/50-mutter-windows.xml:43
msgid "View split on left"
msgstr "Visualizar divisão à esquerda"
#: data/50-mutter-windows.xml:47
msgid "View split on right"
msgstr "Visualizar divisão à direita"
#: data/mutter.desktop.in:4
msgid "Mutter"
msgstr "Mutter"
@ -40,23 +286,18 @@ msgstr "Mutter"
#: data/org.gnome.mutter.gschema.xml.in:7
msgid "Modifier to use for extended window management operations"
msgstr ""
"Modificador a ser usado para operações de gerenciamento de janelas estendido"
"Modificador a ser usado para operações de gerenciamento de janelas extendido."
#: data/org.gnome.mutter.gschema.xml.in:8
#| msgid ""
#| "This key will initiate the \"overlay\", which is a combination window "
#| "overview and application launching system. The default is intended to be "
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
#| "either the default or set to the empty string."
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Esta chave irá iniciar a sobreposição, que é a combinação de visão de "
"janela e sistema de lançamento de aplicativos. O padrão pretendido é a "
"tecla Windows no hardware do computador. É esperada para esta associação "
"Esta chave irá iniciar a \"sobreposição\", que é a combinação de visão de "
"janela e sistema de lançamento de aplicativos. O padrão pretendido é a "
"\"tecla Windows\" no hardware do computador. É esperada para esta associação "
"tanto o padrão quanto a definição de uma string vazia."
#: data/org.gnome.mutter.gschema.xml.in:20
@ -94,12 +335,8 @@ msgid "Workspaces are managed dynamically"
msgstr "Áreas de trabalho são gerenciadas dinamicamente"
#: data/org.gnome.mutter.gschema.xml.in:41
#| msgid ""
#| "Determines whether workspaces are managed dynamically or whether there's "
#| "a static number of workspaces (determined by the num-workspaces key in "
#| "org.gnome.desktop.wm.preferences)."
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
@ -136,16 +373,12 @@ msgid "Delay focus changes until the pointer stops moving"
msgstr "Atrasar alterações de foco até que o ponteiro pare de mover"
#: data/org.gnome.mutter.gschema.xml.in:69
#| msgid ""
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
#| "the focus will not be changed immediately when entering a window, but "
#| "only after the pointer stops moving."
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Se verdadeiro, e o modo de foco for sloppy ou mouse, o foco não será "
"Se verdadeiro, e o modo de foco for \"sloppy\" ou \"mouse\", o foco não será "
"alterado imediatamente quando o ponteiro do mouse entrar na janela, e sim "
"quando parar de mover."
@ -154,11 +387,8 @@ msgid "Draggable border width"
msgstr "Largura da borda arrastável"
#: data/org.gnome.mutter.gschema.xml.in:80
#| msgid ""
#| "The amount of total draggable borders. If the theme's visible borders are "
#| "not enough, invisible borders will be added to meet this value."
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"A quantidade do total de bordas arrastáveis. Se as bordas dos temas visíveis "
@ -245,66 +475,52 @@ msgstr "Trocar para o VT 11"
msgid "Switch to VT 12"
msgstr "Trocar para o VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1800
#, c-format
#| msgid "Mode Switch: Mode %d"
msgid "Mode Switch (Group %d)"
msgstr "Alternador de modo (Grupo %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1822
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Trocar monitor"
#: src/backends/meta-input-settings.c:1824
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Mostrar ajuda na tela"
#: src/backends/meta-monitor-manager.c:675
#: src/backends/meta-monitor-manager.c:514
msgid "Built-in display"
msgstr "Tela embutida"
#: src/backends/meta-monitor-manager.c:698
#: src/backends/meta-monitor-manager.c:537
msgid "Unknown"
msgstr "Desconhecido"
#: src/backends/meta-monitor-manager.c:700
#: src/backends/meta-monitor-manager.c:539
msgid "Unknown Display"
msgstr "Monitor desconhecido"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:708
#: src/backends/meta-monitor-manager.c:547
#, c-format
msgid "%s %s"
msgstr "%s de %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: src/compositor/compositor.c:463
#, c-format
#| msgid ""
#| "Another compositing manager is already running on screen %i on display "
#| "\"%s\"."
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
msgstr "Outro compositor de janelas está em execução na tela %i na área “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
"Outro compositor de janelas está em execução na tela %i na área \"%s\"."
#: src/core/bell.c:194
msgid "Bell event"
msgstr "Evento de som"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "“%s” não está respondendo."
msgstr "\"%s\" não está respondendo."
#: src/core/delete.c:129
msgid "Application is not responding."
@ -318,73 +534,66 @@ msgstr ""
"Você pode escolher aguardar um pouco e continuar ou forçar o aplicativo a "
"sair completamente."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Forçar sair"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "_Esperar"
#: src/core/display.c:608
#, c-format
#| msgid "Failed to open X Window System display '%s'\n"
msgid "Failed to open X Window System display “%s”\n"
msgstr "Falha ao abrir a exibição “%s” do sistema de janelas X\n"
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Forçar sair"
#: src/core/main.c:189
#: src/core/display.c:590
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Falha ao abrir a exibição \"%s\" do sistema de janelas X\n"
#: src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "Desabilitar a conexão com o gerenciador de sessões"
#: src/core/main.c:195
#: src/core/main.c:188
msgid "Replace the running window manager"
msgstr "Substituir o gerenciador de janelas em execução"
#: src/core/main.c:201
#: src/core/main.c:194
msgid "Specify session management ID"
msgstr "Especificar o ID do gerenciador de sessões"
#: src/core/main.c:206
#: src/core/main.c:199
msgid "X Display to use"
msgstr "Exibição do X a ser utilizada"
#: src/core/main.c:212
#: src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "Inicializar a sessão a partir do arquivo salvo"
#: src/core/main.c:218
#: src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "Fazer X chamadas síncronas"
#: src/core/main.c:225
#: src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "Executar como um compositor wayland"
#: src/core/main.c:231
#: src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Executar como um compositor aninhado"
#: src/core/main.c:239
#: src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "Executar como um servidor de tela cheia, ao invés de aninhado"
#: src/core/mutter.c:39
#, c-format
#| msgid ""
#| "mutter %s\n"
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
#| "This is free software; see the source for copying conditions.\n"
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
#| "PARTICULAR PURPOSE.\n"
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
msgstr ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., e outros\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., e outros\n"
"Esse programa é um software livre; veja o código fonte para obter as "
"condições de cópia.\n"
"Não há NENHUMA garantia; nem mesmo para a COMERCIALIZAÇÃO ou ADEQUAÇÃO\n"
@ -403,234 +612,43 @@ msgstr "Plug-in do Mutter para usar"
msgid "Workspace %d"
msgstr "Espaço de trabalho %d"
#: src/core/screen.c:580
#: src/core/screen.c:521
#, c-format
#| msgid ""
#| "Display \"%s\" already has a window manager; try using the --replace "
#| "option to replace the current window manager."
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"A exibição “%s” já possui um gerenciador de janelas; tente usar a opção --"
"A exibição \"%s\" já possui um gerenciador de janelas; tente usar a opção --"
"replace para substituir o gerenciador de janelas atual."
#: src/core/screen.c:665
#: src/core/screen.c:606
#, c-format
#| msgid "Screen %d on display '%s' is invalid\n"
msgid "Screen %d on display “%s” is invalid\n"
msgstr "A tela %d na exibição “%s” é inválida\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "A tela %d na exibição \"%s\" é inválida\n"
#: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "O Mutter foi compilado sem suporte para modo detalhado\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Alternador de modo: Modo %d"
#: src/x11/session.c:1815
#| msgid ""
#| "These windows do not support &quot;save current setup&quot; and will have "
#| "to be restarted manually next time you log in."
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Estas janelas não oferecem suporte para a opção salvar configuração atual” "
"e precisarão ser reiniciadas manualmente quando você reiniciar a sessão."
"Estas janelas não oferecem suporte para a opção &quot;salvar configuração "
"atual&quot; e precisarão ser reiniciadas manualmente quando você reiniciar a "
"sessão."
#: src/x11/window-props.c:559
#: src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (em %s)"
#~ msgid "Navigation"
#~ msgstr "Navegação"
#~ msgid "Move window to workspace 1"
#~ msgstr "Mover a janela para o espaço de trabalho 1"
#~ msgid "Move window to workspace 2"
#~ msgstr "Mover a janela para o espaço de trabalho 2"
#~ msgid "Move window to workspace 3"
#~ msgstr "Mover a janela para o espaço de trabalho 3"
#~ msgid "Move window to workspace 4"
#~ msgstr "Mover a janela para o espaço de trabalho 4"
#~ msgid "Move window to last workspace"
#~ msgstr "Mover a janela para o último espaço de trabalho"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Mover a janela um espaço de trabalho à esquerda"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Mover a janela um espaço de trabalho à direita"
#~ msgid "Move window one workspace up"
#~ msgstr "Mover a janela um espaço de trabalho acima"
#~ msgid "Move window one workspace down"
#~ msgstr "Mover a janela um espaço de trabalho abaixo"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#~ msgid "Move window one monitor to the left"
#~ msgstr "Mover janela para o monitor da esquerda"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#~ msgid "Move window one monitor to the right"
#~ msgstr "Mover janela para o monitor da direita"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#~ msgid "Move window one monitor up"
#~ msgstr "Mover janela para o monitor acima"
# Em conformidade com a tradução do gsettings-desktop-schemas --Enrico
#~ msgid "Move window one monitor down"
#~ msgstr "Mover janela para o monitor abaixo"
#~ msgid "Switch applications"
#~ msgstr "Alternar aplicativos"
#~ msgid "Switch to previous application"
#~ msgstr "Alternar para o aplicativo anterior"
#~ msgid "Switch windows"
#~ msgstr "Alternar janelas"
#~ msgid "Switch to previous window"
#~ msgstr "Alternar para a janela anterior"
#~ msgid "Switch windows of an application"
#~ msgstr "Alternar as janelas de um aplicativo"
#~ msgid "Switch to previous window of an application"
#~ msgstr "Alternar para a janela anterior de um aplicativo"
#~| msgid "Switch system controls directly"
#~ msgid "Switch system controls"
#~ msgstr "Alternar controles do sistema"
#~ msgid "Switch to previous system control"
#~ msgstr "Alternar para o controle de sistema anterior"
#~ msgid "Switch windows directly"
#~ msgstr "Alternar as janelas diretamente"
#~ msgid "Switch directly to previous window"
#~ msgstr "Alternar diretamente para a janela anterior"
#~ msgid "Switch windows of an app directly"
#~ msgstr "Alternar as janelas de um aplicativo diretamente"
#~ msgid "Switch directly to previous window of an app"
#~ msgstr "Alternar diretamente para a janela anterior de um aplicativo"
#~ msgid "Switch system controls directly"
#~ msgstr "Alternar os controles de sistema diretamente"
#~ msgid "Switch directly to previous system control"
#~ msgstr "Alternar diretamente para o controle de sistema anterior"
#~ msgid "Hide all normal windows"
#~ msgstr "Ocultar todas as janelas normais"
#~ msgid "Switch to workspace 1"
#~ msgstr "Trocar para o espaço de trabalho 1"
#~ msgid "Switch to workspace 2"
#~ msgstr "Trocar para o espaço de trabalho 2"
#~ msgid "Switch to workspace 3"
#~ msgstr "Trocar para o espaço de trabalho 3"
#~ msgid "Switch to workspace 4"
#~ msgstr "Trocar para o espaço de trabalho 4"
#~ msgid "Switch to last workspace"
#~ msgstr "Trocar para o último espaço de trabalho"
#~ msgid "Move to workspace left"
#~ msgstr "Move para o espaço de trabalho à esquerda"
#~ msgid "Move to workspace right"
#~ msgstr "Move para o espaço de trabalho à direita"
#~ msgid "Move to workspace above"
#~ msgstr "Mover para o espaço de trabalho acima"
#~ msgid "Move to workspace below"
#~ msgstr "Mover para o espaço de trabalho abaixo"
#~ msgid "System"
#~ msgstr "Sistema"
#~ msgid "Show the run command prompt"
#~ msgstr "Mostrar o prompt de comando de execução"
#~ msgid "Show the activities overview"
#~ msgstr "Mostrar o panorama de atividades"
#~ msgid "Windows"
#~ msgstr "Janelas"
#~ msgid "Activate the window menu"
#~ msgstr "Ativar o menu da janela"
#~ msgid "Toggle fullscreen mode"
#~ msgstr "Alternar modo de tela inteira"
#~ msgid "Toggle maximization state"
#~ msgstr "Alternar estado de maximização"
#~ msgid "Maximize window"
#~ msgstr "Maximizar a janela"
#~ msgid "Restore window"
#~ msgstr "Restaurar janela"
#~ msgid "Toggle shaded state"
#~ msgstr "Alternar estado sombreado"
#~ msgid "Close window"
#~ msgstr "Fechar janela"
#~ msgid "Hide window"
#~ msgstr "Ocultar janela"
#~ msgid "Move window"
#~ msgstr "Mover janela"
#~ msgid "Resize window"
#~ msgstr "Redimensionar janela"
#~ msgid "Toggle window on all workspaces or one"
#~ msgstr "Alternar a janela em todos os espaços de trabalho ou em apenas um"
#~ msgid "Raise window if covered, otherwise lower it"
#~ msgstr "Elevar a janela se estiver coberta; caso contrário, a abaixa"
#~ msgid "Raise window above other windows"
#~ msgstr "Elevar a janela para frente das outras"
#~ msgid "Lower window below other windows"
#~ msgstr "Colocar a janela atrás das outras"
#~ msgid "Maximize window vertically"
#~ msgstr "Maximizar a janela verticalmente"
#~ msgid "Maximize window horizontally"
#~ msgstr "Maximizar a janela horizontalmente"
#~ msgid "View split on left"
#~ msgstr "Visualizar divisão à esquerda"
#~ msgid "View split on right"
#~ msgstr "Visualizar divisão à direita"
#~ msgid "background texture could not be created from file"
#~ msgstr "textura de plano de fundo não pôde ser criado de arquivo"

124
po/ru.po
View File

@ -14,19 +14,19 @@
msgid ""
msgstr ""
"Project-Id-Version: metacity ru\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-28 06:20+0000\n"
"PO-Revision-Date: 2017-03-18 10:56+0400\n"
"Last-Translator: Yuri Myasoedov <ymyasoedov@yandex.ru>\n"
"POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-16 12:23+0300\n"
"Last-Translator: Stas Solovey <whats_up@tut.by>\n"
"Language-Team: Русский <gnome-cyr@gnome.org>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 1.8.7.1\n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
"X-Generator: Gtranslator 2.91.7\n"
#: data/50-mutter-navigation.xml:6
msgid "Navigation"
@ -279,10 +279,10 @@ msgstr ""
#: data/org.gnome.mutter.gschema.xml.in:8
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Этот ключ инициирует перекрытие (обзор окон и система запуска приложений). "
"Для обычных ПК используется клавиша «Windows». Ожидается, что значение этой "
@ -323,12 +323,12 @@ msgstr "Рабочие места управляются динамически"
#: data/org.gnome.mutter.gschema.xml.in:41
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
"Определяет, управляются ли рабочие места динамически или количество рабочих "
"мест постоянно (количество задаётся ключом в org.gnome.desktop.wm."
"Определяет, управляются ли рабочие места автоматически или количество "
"рабочих место постоянно (количество задаётся ключом в org.gnome.desktop.wm."
"preferences)."
#: data/org.gnome.mutter.gschema.xml.in:50
@ -361,11 +361,11 @@ msgstr "Отложить переключение фокуса до тех по
#: data/org.gnome.mutter.gschema.xml.in:69
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Если установлено в значение «true» и режим фокуса установлен в значение "
"Если установлено в значение «true», и режим фокуса установлен в значение "
"«sloppy» или «mouse», тогда фокус не будет меняться при переходе к другому "
"окну до тех пор, пока не остановится указатель."
@ -375,11 +375,11 @@ msgstr "Ширина рамки перетаскивания"
#: data/org.gnome.mutter.gschema.xml.in:80
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"Общая ширина рамок для перетаскивания. Если видимых рамок, используемых в "
еме, недостаточно, то будут добавлены невидимые рамки до этого значения."
"Общая ширина рамок для перетаскивания. Если видимых рамок темы недостаточно, "
о до этого значения будут добавлены невидимые рамки."
#: data/org.gnome.mutter.gschema.xml.in:89
msgid "Auto maximize nearly monitor sized windows"
@ -461,58 +461,48 @@ msgstr "Переключиться на виртуальный терминал
msgid "Switch to VT 12"
msgstr "Переключиться на виртуальный терминал 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1800
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Переключатель режима: группа %d"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1822
#: src/backends/meta-input-settings.c:1707
#| msgid "Switch system controls"
msgid "Switch monitor"
msgstr "Переключить монитор"
#: src/backends/meta-input-settings.c:1824
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Показать справку на экране"
#: src/backends/meta-monitor-manager.c:675
#: src/backends/meta-monitor-manager.c:514
msgid "Built-in display"
msgstr "Встроенный дисплей"
#: src/backends/meta-monitor-manager.c:698
#: src/backends/meta-monitor-manager.c:537
msgid "Unknown"
msgstr "Неизвестный"
#: src/backends/meta-monitor-manager.c:700
#: src/backends/meta-monitor-manager.c:539
msgid "Unknown Display"
msgstr "Неизвестный дисплей"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:708
#: src/backends/meta-monitor-manager.c:547
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: src/compositor/compositor.c:463
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
msgstr "На экране %i дисплея «%s» уже запущен другой композитный менеджер."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr "На экране %i дисплея «%s» уже запущен другой оконный менеджер."
#: src/core/bell.c:194
msgid "Bell event"
msgstr "Событие звонка"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
@ -528,52 +518,52 @@ msgid ""
"application to quit entirely."
msgstr "Можно немного подождать или принудительно завершить работу приложения."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "Завер_шить"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "_Подождать"
#: src/core/display.c:608
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "Завер_шить"
#: src/core/display.c:590
#, c-format
msgid "Failed to open X Window System display %s\n"
msgid "Failed to open X Window System display '%s'\n"
msgstr "Не удалось открыть дисплей «%s» системы X Window\n"
#: src/core/main.c:189
#: src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "Запретить подключение к менеджеру сеансов"
#: src/core/main.c:195
#: src/core/main.c:188
msgid "Replace the running window manager"
msgstr "Заменить запущенный оконный менеджер"
#: src/core/main.c:201
#: src/core/main.c:194
msgid "Specify session management ID"
msgstr "Указать идентификатор управления сеансом"
#: src/core/main.c:206
#: src/core/main.c:199
msgid "X Display to use"
msgstr "Используемый дисплей X"
#: src/core/main.c:212
#: src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "Инициализировать сеанс из сохранённого файла"
#: src/core/main.c:218
#: src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "Сделать X-вызовы синхронными"
#: src/core/main.c:225
#: src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "Запустить в качестве композитора wayland"
#: src/core/main.c:231
#: src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Запустить в качестве встроенного композитора"
#: src/core/main.c:239
#: src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "Запустить в качестве полноэкранного сервера вместо встроенного"
@ -581,7 +571,7 @@ msgstr "Запустить в качестве полноэкранного се
#, c-format
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
@ -607,38 +597,38 @@ msgstr "Использовать модуль mutter"
msgid "Workspace %d"
msgstr "Рабочее место %d"
#: src/core/screen.c:580
#: src/core/screen.c:521
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"Дисплей «%s» уже использует менеджер окон; попробуйте использовать параметр "
"--replace, чтобы заменить текущий менеджер окон."
#: src/core/screen.c:665
#: src/core/screen.c:606
#, c-format
msgid "Screen %d on display %s is invalid\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Недопустимый экран %d дисплея «%s»\n"
#: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter собран без поддержки режима подробных сообщений\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Переключатель режима: режим %d"
#: src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Эти окна не поддерживают команду «Сохранить текущую настройку». При "
"Эти окна не поддерживают команду «Сохранить текущие настройки». При "
"следующем входе в систему их придётся перезапустить вручную."
#: src/x11/window-props.c:559
#: src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (на %s)"

View File

@ -12,10 +12,10 @@
msgid ""
msgstr ""
"Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-03-07 12:40+0000\n"
"PO-Revision-Date: 2017-03-12 10:28+0100\n"
"POT-Creation-Date: 2017-02-10 22:51+0000\n"
"PO-Revision-Date: 2017-02-12 14:37+0100\n"
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
"Language: sk\n"
@ -23,7 +23,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n"
"X-Generator: Poedit 1.8.12\n"
"X-Generator: Poedit 1.8.11\n"
#: data/50-mutter-navigation.xml:6
msgid "Navigation"
@ -336,10 +336,10 @@ msgstr "Modifikátor pre rozšírené operácie správcu okien"
# description
#: data/org.gnome.mutter.gschema.xml.in:8
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Tento kláves spustí „prekrytie“, čo znamená kombináciu náhľadu okna a "
"systému na spustenie aplikácií. Štandardne nastavená je na osobných "
@ -386,7 +386,7 @@ msgstr "Pracovné priestory sú spravované dynamicky"
# description
#: data/org.gnome.mutter.gschema.xml.in:41
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
@ -429,9 +429,9 @@ msgstr "Odložiť zmeny zamerania až po zastavení pohybu ukazovateľa"
# description
#: data/org.gnome.mutter.gschema.xml.in:69
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Ak je nastavené na true, a režim aktivácie okien je buď „sloppy“ (nedbalý) "
"alebo „mouse“ (myš), potom sa záber nezmení okamžite ale až po vstupe do "
@ -445,7 +445,7 @@ msgstr "Šírka posúvateľného okraja"
# description
#: data/org.gnome.mutter.gschema.xml.in:80
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"Celkový počet preťahovateľných okrajov. Ak nestačia viditeľné okraje, "
@ -545,7 +545,7 @@ msgstr "Prepnúť na VT č. 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1800
#: src/backends/meta-input-settings.c:1759
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Prepínač režimu (skupina č. %d)"
@ -555,11 +555,11 @@ msgstr "Prepínač režimu (skupina č. %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1822
#: src/backends/meta-input-settings.c:1781
msgid "Switch monitor"
msgstr "Prepnúť monitor"
#: src/backends/meta-input-settings.c:1824
#: src/backends/meta-input-settings.c:1783
msgid "Show on-screen help"
msgstr "Zobraziť pomocníka na obrazovke"
@ -585,10 +585,11 @@ msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:474
#: src/compositor/compositor.c:471
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
"Pre obrazovku č. %i na displeji „%s“ je spustený už iný správca rozloženia."
@ -625,49 +626,49 @@ msgstr "_Počkať"
# X window system preloz, napr. system na spravu okien X
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display %s\n"
msgid "Failed to open X Window System display '%s'\n"
msgstr "Zlyhalo otvorenie displeja systému na správu okien X „%s“\n"
# cmd desc
#: src/core/main.c:189
#: src/core/main.c:187
msgid "Disable connection to session manager"
msgstr "Zakáže pripojenia k správcovi relácií"
# cmd desc
#: src/core/main.c:195
#: src/core/main.c:193
msgid "Replace the running window manager"
msgstr "Nahradí bežiaceho správcu okien"
# cmd desc
#: src/core/main.c:201
#: src/core/main.c:199
msgid "Specify session management ID"
msgstr "Zadá identifikátor správy relácií"
#: src/core/main.c:206
#: src/core/main.c:204
msgid "X Display to use"
msgstr "X displej, ktorý bude použitý"
# cmd desc
#: src/core/main.c:212
#: src/core/main.c:210
msgid "Initialize session from savefile"
msgstr "Inicializuje reláciu z uloženého súboru"
# cmd desc
#: src/core/main.c:218
#: src/core/main.c:216
msgid "Make X calls synchronous"
msgstr "Použije synchrónne volania X"
# cmd desc
#: src/core/main.c:225
#: src/core/main.c:223
msgid "Run as a wayland compositor"
msgstr "Spustí ako kompozitor protokolu wayland"
# cmd desc
#: src/core/main.c:231
#: src/core/main.c:229
msgid "Run as a nested compositor"
msgstr "Spustí ako kompozitor s vnoreným režimom"
#: src/core/main.c:239
#: src/core/main.c:237
msgid "Run as a full display server, rather than nested"
msgstr "Spustí ako plnohodnotný zobrazovací server, namiesto vnoreného režimu"
@ -675,13 +676,13 @@ msgstr "Spustí ako plnohodnotný zobrazovací server, namiesto vnoreného reži
#, c-format
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
msgstr ""
"mutter %s\n"
"Autorské práva © 2001-%d Havoc Pennington, Red Hat, Inc., a ostatní\n"
"Autorské práva (C) 2001-%d Havoc Pennington, Red Hat, Inc., a ostatní\n"
"Toto je slobodný softvér; pozrite podmienky kopírovania v zdrojových "
"kódoch.\n"
"Záruka sa NEPOSKYTUJE; ani na PREDAJNOSŤ alebo VHODNOSŤ PRE URČITÝ ÚČEL.\n"
@ -704,15 +705,15 @@ msgstr "Pracovný priestor č. %d"
#: src/core/screen.c:580
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"Displej „%s“ už má správcu okien. Skúste použiť prepínač --replace, aby sa "
"aktuálny správca nahradil."
#: src/core/screen.c:665
#, c-format
msgid "Screen %d on display %s is invalid\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Obrazovka č. %d na displeji „%s“ nie je platná\n"
#: src/core/util.c:120
@ -726,8 +727,8 @@ msgstr "Prepínač režimu: Režim č. %d"
#: src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Tieto okná nepodporujú „uloženie aktuálnych nastavení“ a pri budúcom "
"prihlásení ich budete musieť znovu spustiť ručne."

150
po/sr.po
View File

@ -1,20 +1,20 @@
# Serbian translation of mutter.
# Courtesy of Prevod.org team (http://prevod.org/) -- 2003—2017.
# Courtesy of Prevod.org team (http://prevod.org/) -- 2003—2016.
# This file is distributed under the same license as the mutter package.
# Translators:
# Горан Ракић <grakic@devbase.net>
# Данило Шеган <danilo@prevod.org>, 2005.
# Милош Поповић <gpopac@gmail.com>, 2010.
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2017.
# Мирослав Николић <miroslavnikolic@rocketmail.com>, 2011—2016.
msgid ""
msgstr ""
"Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter&"
"keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-16 01:44+0000\n"
"PO-Revision-Date: 2017-02-21 07:16+0200\n"
"POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-11 08:39+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language-Team: српски <gnome-sr@googlegroups.org>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -104,6 +104,7 @@ msgid "Switch to previous window of an application"
msgstr "Пребацује на претходни прозор програма"
#: data/50-mutter-navigation.xml:76
#| msgid "Switch system controls directly"
msgid "Switch system controls"
msgstr "Пребацује контроле система"
@ -272,16 +273,11 @@ msgid "Modifier to use for extended window management operations"
msgstr "Тастер који се користи за проширене радње управника прозорима"
#: data/org.gnome.mutter.gschema.xml.in:8
#| msgid ""
#| "This key will initiate the \"overlay\", which is a combination window "
#| "overview and application launching system. The default is intended to be "
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
#| "either the default or set to the empty string."
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Овај кључ покреће „overlay“ (преклапање), које комбинује преглед прозора и "
"покретач програма. Подразумевано је намењен као „Windows key“ (кључ прозора) "
@ -322,18 +318,14 @@ msgid "Workspaces are managed dynamically"
msgstr "Радним просторима се управља динамички"
#: data/org.gnome.mutter.gschema.xml.in:41
#| msgid ""
#| "Determines whether workspaces are managed dynamically or whether there's "
#| "a static number of workspaces (determined by the num-workspaces key in "
#| "org.gnome.desktop.wm.preferences)."
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
"Одређује да ли се радним просторима управља динамички или ће постојати "
"стални број радних простора (одређен бројем радних простора у "
"„org.gnome.desktop.wm.preferences“)."
"стални број радних простора (одређен бројем радних простора у „org.gnome."
"desktop.wm.preferences“)."
#: data/org.gnome.mutter.gschema.xml.in:50
msgid "Workspaces only on primary"
@ -364,14 +356,10 @@ msgid "Delay focus changes until the pointer stops moving"
msgstr "Застој првог плана се мења док се показивач не заустави"
#: data/org.gnome.mutter.gschema.xml.in:69
#| msgid ""
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
#| "the focus will not be changed immediately when entering a window, but "
#| "only after the pointer stops moving."
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Ако је изабрано, а режим првог плана је или „sloppy“ или „mouse“ онда први "
"план неће бити мењан одмах по уласку у прозор, већ само након што показивач "
@ -382,11 +370,8 @@ msgid "Draggable border width"
msgstr "Ширина ивице за превлачење"
#: data/org.gnome.mutter.gschema.xml.in:80
#| msgid ""
#| "The amount of total draggable borders. If the theme's visible borders are "
#| "not enough, invisible borders will be added to meet this value."
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"Износ укупне ивице за превлачење. Ако видљиве ивице теме нису довољне, биће "
@ -472,55 +457,41 @@ msgstr "Прелазак на ВТ 11"
msgid "Switch to VT 12"
msgstr "Прелазак на ВТ 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1759
#, c-format
#| msgid "Mode Switch: Mode %d"
msgid "Mode Switch (Group %d)"
msgstr "Режим прекидача (група %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1781
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Промени монитор"
#: src/backends/meta-input-settings.c:1783
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Прикажи помоћ на екрану"
#: src/backends/meta-monitor-manager.c:675
#: src/backends/meta-monitor-manager.c:514
msgid "Built-in display"
msgstr "Уграђени дисплеј"
#: src/backends/meta-monitor-manager.c:698
#: src/backends/meta-monitor-manager.c:537
msgid "Unknown"
msgstr "Непознато"
#: src/backends/meta-monitor-manager.c:700
#: src/backends/meta-monitor-manager.c:539
msgid "Unknown Display"
msgstr "Непознат дисплеј"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:708
#: src/backends/meta-monitor-manager.c:547
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: src/compositor/compositor.c:463
#, c-format
#| msgid ""
#| "Another compositing manager is already running on screen %i on display "
#| "\"%s\"."
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
"Неки други композитни управник је већ покренут на приказу %i еркана „%s“."
@ -528,7 +499,6 @@ msgstr ""
msgid "Bell event"
msgstr "Звонца"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
@ -546,67 +516,60 @@ msgstr ""
"Можете мало сачекати док се програм не сабере или приморати програм да "
"комплетно прекине са радом."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Приморај излаз"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "_Сачекај"
#: src/core/display.c:608
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Приморај излаз"
#: src/core/display.c:590
#, c-format
#| msgid "Failed to open X Window System display '%s'\n"
msgid "Failed to open X Window System display “%s”\n"
msgid "Failed to open X Window System display '%s'\n"
msgstr "Нисам успео да отворим екран „%s“ Икс система прозора\n"
#: src/core/main.c:189
#: src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "Искључује везу са управником сесије"
#: src/core/main.c:195
#: src/core/main.c:188
msgid "Replace the running window manager"
msgstr "Мења текућег управника прозорима"
#: src/core/main.c:201
#: src/core/main.c:194
msgid "Specify session management ID"
msgstr "Наводи ИБ управника сесије"
#: src/core/main.c:206
#: src/core/main.c:199
msgid "X Display to use"
msgstr "Икс екран који ће бити коришћен"
#: src/core/main.c:212
#: src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "Покреће сесију из датотеке чувања"
#: src/core/main.c:218
#: src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "Чини Икс позиве усклађеним"
#: src/core/main.c:225
#: src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "Ради као вајландов саставник"
#: src/core/main.c:231
#: src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Ради као угнеждени саставник"
#: src/core/main.c:239
#: src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "Ради као пуни сервер приказа, уместо као угнеждени"
#: src/core/mutter.c:39
#, c-format
#| msgid ""
#| "mutter %s\n"
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
#| "This is free software; see the source for copying conditions.\n"
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
#| "PARTICULAR PURPOSE.\n"
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
@ -630,45 +593,38 @@ msgstr "Прикључци Матера за коришћење"
msgid "Workspace %d"
msgstr "%d. радни простор"
#: src/core/screen.c:580
#: src/core/screen.c:521
#, c-format
#| msgid ""
#| "Display \"%s\" already has a window manager; try using the --replace "
#| "option to replace the current window manager."
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"Приказ „%s“ већ има управника прозора; пробајте да користите опцију "
"„--replace“ да замените тренутног управника прозора."
"Приказ „%s“ већ има управника прозора; пробајте да користите опцију „--"
"replace“ да замените тренутног управника прозора."
#: src/core/screen.c:665
#: src/core/screen.c:606
#, c-format
#| msgid "Screen %d on display '%s' is invalid\n"
msgid "Screen %d on display “%s” is invalid\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Приказ „%d“ на екрану „%s“ није исправан\n"
#: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Матер је преведен без подршке за опширан режим\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Режим прекидача: Режим %d"
#: src/x11/session.c:1815
#| msgid ""
#| "These windows do not support &quot;save current setup&quot; and will have "
#| "to be restarted manually next time you log in."
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Ови прозори не подржавају могућност „сачувај тренутна подешавања“ па ћете "
"морати ручно да их поново покренете када се следећи пут пријавите."
#: src/x11/window-props.c:559
#: src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (на %s)"

View File

@ -1,20 +1,20 @@
# Serbian translation of mutter.
# Courtesy of Prevod.org team (http://prevod.org/) -- 2003—2017.
# Courtesy of Prevod.org team (http://prevod.org/) -- 2003—2016.
# This file is distributed under the same license as the mutter package.
# Translators:
# Goran Rakić <grakic@devbase.net>
# Danilo Šegan <danilo@prevod.org>, 2005.
# Miloš Popović <gpopac@gmail.com>, 2010.
# Miroslav Nikolić <miroslavnikolic@rocketmail.com>, 2011—2017.
# Miroslav Nikolić <miroslavnikolic@rocketmail.com>, 2011—2016.
msgid ""
msgstr ""
"Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter&"
"keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-16 01:44+0000\n"
"PO-Revision-Date: 2017-02-21 07:16+0200\n"
"POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-11 08:39+0200\n"
"Last-Translator: Miroslav Nikolić <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language-Team: srpski <gnome-sr@googlegroups.org>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -104,6 +104,7 @@ msgid "Switch to previous window of an application"
msgstr "Prebacuje na prethodni prozor programa"
#: data/50-mutter-navigation.xml:76
#| msgid "Switch system controls directly"
msgid "Switch system controls"
msgstr "Prebacuje kontrole sistema"
@ -272,16 +273,11 @@ msgid "Modifier to use for extended window management operations"
msgstr "Taster koji se koristi za proširene radnje upravnika prozorima"
#: data/org.gnome.mutter.gschema.xml.in:8
#| msgid ""
#| "This key will initiate the \"overlay\", which is a combination window "
#| "overview and application launching system. The default is intended to be "
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
#| "either the default or set to the empty string."
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Ovaj ključ pokreće „overlay“ (preklapanje), koje kombinuje pregled prozora i "
"pokretač programa. Podrazumevano je namenjen kao „Windows key“ (ključ prozora) "
@ -322,18 +318,14 @@ msgid "Workspaces are managed dynamically"
msgstr "Radnim prostorima se upravlja dinamički"
#: data/org.gnome.mutter.gschema.xml.in:41
#| msgid ""
#| "Determines whether workspaces are managed dynamically or whether there's "
#| "a static number of workspaces (determined by the num-workspaces key in "
#| "org.gnome.desktop.wm.preferences)."
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
"Određuje da li se radnim prostorima upravlja dinamički ili će postojati "
"stalni broj radnih prostora (određen brojem radnih prostora u "
"„org.gnome.desktop.wm.preferences“)."
"stalni broj radnih prostora (određen brojem radnih prostora u „org.gnome."
"desktop.wm.preferences“)."
#: data/org.gnome.mutter.gschema.xml.in:50
msgid "Workspaces only on primary"
@ -364,14 +356,10 @@ msgid "Delay focus changes until the pointer stops moving"
msgstr "Zastoj prvog plana se menja dok se pokazivač ne zaustavi"
#: data/org.gnome.mutter.gschema.xml.in:69
#| msgid ""
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
#| "the focus will not be changed immediately when entering a window, but "
#| "only after the pointer stops moving."
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Ako je izabrano, a režim prvog plana je ili „sloppy“ ili „mouse“ onda prvi "
"plan neće biti menjan odmah po ulasku u prozor, već samo nakon što pokazivač "
@ -382,11 +370,8 @@ msgid "Draggable border width"
msgstr "Širina ivice za prevlačenje"
#: data/org.gnome.mutter.gschema.xml.in:80
#| msgid ""
#| "The amount of total draggable borders. If the theme's visible borders are "
#| "not enough, invisible borders will be added to meet this value."
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"Iznos ukupne ivice za prevlačenje. Ako vidljive ivice teme nisu dovoljne, biće "
@ -472,55 +457,41 @@ msgstr "Prelazak na VT 11"
msgid "Switch to VT 12"
msgstr "Prelazak na VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1759
#, c-format
#| msgid "Mode Switch: Mode %d"
msgid "Mode Switch (Group %d)"
msgstr "Režim prekidača (grupa %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1781
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Promeni monitor"
#: src/backends/meta-input-settings.c:1783
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Prikaži pomoć na ekranu"
#: src/backends/meta-monitor-manager.c:675
#: src/backends/meta-monitor-manager.c:514
msgid "Built-in display"
msgstr "Ugrađeni displej"
#: src/backends/meta-monitor-manager.c:698
#: src/backends/meta-monitor-manager.c:537
msgid "Unknown"
msgstr "Nepoznato"
#: src/backends/meta-monitor-manager.c:700
#: src/backends/meta-monitor-manager.c:539
msgid "Unknown Display"
msgstr "Nepoznat displej"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:708
#: src/backends/meta-monitor-manager.c:547
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: src/compositor/compositor.c:463
#, c-format
#| msgid ""
#| "Another compositing manager is already running on screen %i on display "
#| "\"%s\"."
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
"Neki drugi kompozitni upravnik je već pokrenut na prikazu %i erkana „%s“."
@ -528,7 +499,6 @@ msgstr ""
msgid "Bell event"
msgstr "Zvonca"
#. Translators: %s is a window title
#: src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
@ -546,67 +516,60 @@ msgstr ""
"Možete malo sačekati dok se program ne sabere ili primorati program da "
"kompletno prekine sa radom."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Primoraj izlaz"
#: src/core/delete.c:141
msgid "_Wait"
msgstr "_Sačekaj"
#: src/core/display.c:608
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Primoraj izlaz"
#: src/core/display.c:590
#, c-format
#| msgid "Failed to open X Window System display '%s'\n"
msgid "Failed to open X Window System display “%s”\n"
msgid "Failed to open X Window System display '%s'\n"
msgstr "Nisam uspeo da otvorim ekran „%s“ Iks sistema prozora\n"
#: src/core/main.c:189
#: src/core/main.c:182
msgid "Disable connection to session manager"
msgstr "Isključuje vezu sa upravnikom sesije"
#: src/core/main.c:195
#: src/core/main.c:188
msgid "Replace the running window manager"
msgstr "Menja tekućeg upravnika prozorima"
#: src/core/main.c:201
#: src/core/main.c:194
msgid "Specify session management ID"
msgstr "Navodi IB upravnika sesije"
#: src/core/main.c:206
#: src/core/main.c:199
msgid "X Display to use"
msgstr "Iks ekran koji će biti korišćen"
#: src/core/main.c:212
#: src/core/main.c:205
msgid "Initialize session from savefile"
msgstr "Pokreće sesiju iz datoteke čuvanja"
#: src/core/main.c:218
#: src/core/main.c:211
msgid "Make X calls synchronous"
msgstr "Čini Iks pozive usklađenim"
#: src/core/main.c:225
#: src/core/main.c:218
msgid "Run as a wayland compositor"
msgstr "Radi kao vajlandov sastavnik"
#: src/core/main.c:231
#: src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Radi kao ugneždeni sastavnik"
#: src/core/main.c:239
#: src/core/main.c:232
msgid "Run as a full display server, rather than nested"
msgstr "Radi kao puni server prikaza, umesto kao ugneždeni"
#: src/core/mutter.c:39
#, c-format
#| msgid ""
#| "mutter %s\n"
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
#| "This is free software; see the source for copying conditions.\n"
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
#| "PARTICULAR PURPOSE.\n"
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
@ -630,45 +593,38 @@ msgstr "Priključci Matera za korišćenje"
msgid "Workspace %d"
msgstr "%d. radni prostor"
#: src/core/screen.c:580
#: src/core/screen.c:521
#, c-format
#| msgid ""
#| "Display \"%s\" already has a window manager; try using the --replace "
#| "option to replace the current window manager."
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"Prikaz „%s“ već ima upravnika prozora; probajte da koristite opciju "
"„--replace“ da zamenite trenutnog upravnika prozora."
"Prikaz „%s“ već ima upravnika prozora; probajte da koristite opciju „--"
"replace“ da zamenite trenutnog upravnika prozora."
#: src/core/screen.c:665
#: src/core/screen.c:606
#, c-format
#| msgid "Screen %d on display '%s' is invalid\n"
msgid "Screen %d on display “%s” is invalid\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Prikaz „%d“ na ekranu „%s“ nije ispravan\n"
#: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mater je preveden bez podrške za opširan režim\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Režim prekidača: Režim %d"
#: src/x11/session.c:1815
#| msgid ""
#| "These windows do not support &quot;save current setup&quot; and will have "
#| "to be restarted manually next time you log in."
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Ovi prozori ne podržavaju mogućnost „sačuvaj trenutna podešavanja“ pa ćete "
"morati ručno da ih ponovo pokrenete kada se sledeći put prijavite."
#: src/x11/window-props.c:559
#: src/x11/window-props.c:548
#, c-format
msgid "%s (on %s)"
msgstr "%s (na %s)"

478
po/tr.po
View File

@ -7,312 +7,306 @@
# İlker DAĞLI <ilker@ilkerdagli.info>, 2011.
# Muhammed EKEN <gnome@m-eken.com>, 2011.
# Muhammet Kara <muhammetk@gmail.com>, 2011, 2012, 2014, 2015, 2016.
# Furkan Ahmet Kara <furkanahmetkara.fk@gmail.com>, 2017.
# Emin Tufan Çetin <etcetin@gmail.com>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-05-11 12:29+0000\n"
"PO-Revision-Date: 2017-05-13 17:23+0300\n"
"Last-Translator: Emin Tufan Çetin <etcetin@gmail.com>\n"
"Language-Team: Türkçe <>\n"
"POT-Creation-Date: 2016-05-10 20:26+0000\n"
"PO-Revision-Date: 2016-05-26 22:25+0300\n"
"Last-Translator: Muhammet Kara <muhammetk@gmail.com>\n"
"Language-Team: Turkish <gnome-turk@gnome.org>\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Gtranslator 2.91.7\n"
"X-Generator: Poedit 1.8.6\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: data/50-mutter-navigation.xml:6
#: ../data/50-mutter-navigation.xml.in.h:1
msgid "Navigation"
msgstr "Gezinme"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "Pencereyi çalışma alanı 1e taşı"
msgstr "Pencereyi çalışma alanı 1'e taşı"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Pencereyi çalışma alanı 2ye taşı"
msgstr "Pencereyi çalışma alanı 2'ye taşı"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Pencereyi çalışma alanı 3e taşı"
msgstr "Pencereyi çalışma alanı 3'e taşı"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Pencereyi çalışma alanı 4e taşı"
msgstr "Pencereyi çalışma alanı 4'e taşı"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Pencereyi son çalışma alanına taşı"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Pencereyi soldaki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Pencereyi sağdaki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Pencereyi üstteki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Pencereyi alttaki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Pencereyi soldaki monitöre taşı"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Pencereyi sağdaki monitöre taşı"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Pencereyi üstteki monitöre taşı"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Pencereyi alttaki monitöre taşı"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Uygulamalar arasında geçiş yap"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Önceki uygulamaya geç"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Pencereler arasında geçiş yap"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Önceki pencereye geç"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Uygulamanın pencereleri arasında geçiş yap"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "Uygulamanın bir önceki penceresine geç"
#: data/50-mutter-navigation.xml:76
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Sistem denetimleri arasında geçiş yap"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Önceki sistem denetimine geç"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Pencereler arasında doğrudan geçiş yap"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Önceki pencereye doğrudan geç"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Uygulamanın pencereleri arasında anında geçiş yap"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "Bir uygulamanın önceki penceresine doğrudan geç"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Sistem denetimleri arasında doğrudan geçiş yap"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Önceki sistem denetimine doğrudan geç"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Tüm normal pencereleri gizle"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Çalışma alanı 1e geç"
msgstr "Çalışma alanı 1'e geç"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Çalışma alanı 2ye geç"
msgstr "Çalışma alanı 2'ye geç"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Çalışma alanı 3e geç"
msgstr "Çalışma alanı 3'e geç"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Çalışma alanı 4e geç"
msgstr "Çalışma alanı 4'e geç"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Son çalışma alanına geç"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Soldaki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Sağdaki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Üstteki çalışma alanına taşı"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Alttaki çalışma alanına taşı"
#: data/50-mutter-system.xml:6
#: ../data/50-mutter-system.xml.in.h:1
msgid "System"
msgstr "Sistem"
#: data/50-mutter-system.xml:8
#: ../data/50-mutter-system.xml.in.h:2
msgid "Show the run command prompt"
msgstr "Komut çalıştırma istemini göster"
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Etkinlik genel görünümünü göster"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Pencereler"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Pencere menüsünü etkinleştir"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Tam ekran kipini değiştir"
msgstr "Tam ekran kipini aç veya kapat"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Ekranı kaplama durumunu değiştir"
msgstr "Ekranı kaplama durumunu aç veya kapat"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Bencereyi büyült"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Pencereyi eski haline getir"
msgstr "Pencereyi geri al"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Toplanmış durumu değiştir"
msgstr "Toplanmış durumu aç veya kapat"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Pencereyi kapat"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Pencereyi gizle"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Pencere taşı"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Pencereyi yeniden boyutlandır"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr ""
"Pencerenin tüm çalışma alanlarında veya yalnızca bir tanesi üzerinde "
"olmasını seç"
"Pencerenin tüm çalışma alanlarında veya sadece bir tanesi üzerinde olmasını "
"seç"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "Pencere altta kalmışsa yükselt, aksi halde alçalt"
msgstr ""
"Pencere eğer başkası tarafından kapatılmışsa yukarı çıkar, yoksa aşağıya it"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Pencereyi diğerlerinin üstüne çıkar"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Pencereyi diğerlerinin altına gönder"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Pencereyi dikey olarak büyült"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Pencereyi yatay olarak büyült"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Solda bölünmüş olarak göster"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Sağda bölünmüş olarak göster"
#: data/mutter.desktop.in:4
#: ../data/mutter.desktop.in.h:1
msgid "Mutter"
msgstr "Mutter"
#: data/org.gnome.mutter.gschema.xml.in:7
#: ../data/org.gnome.mutter.gschema.xml.in.h:1
msgid "Modifier to use for extended window management operations"
msgstr "Genişletilmiş pencere yönetimi işlemleri için kullanılacak değiştirici"
#: data/org.gnome.mutter.gschema.xml.in:8
#| msgid ""
#| "This key will initiate the \"overlay\", which is a combination window "
#| "overview and application launching system. The default is intended to be "
#| "the \"Windows key\" on PC hardware. It's expected that this binding "
#| "either the default or set to the empty string."
#: ../data/org.gnome.mutter.gschema.xml.in.h:2
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Bu tuş, pencere genel görünümü ve uygulama başlatma sisteminin bir birleşimi "
"olan bindirme işlemini başlatır. Öntanımlı olarak PC donanımındaki "
"“Windows tuşu olması tasarlanmıştır. Bu bağlayıcının öntanımlı veya boş "
"dizge olarak ayarlanması beklenir."
"Bu anahtar, pencere genel görünümü ve uygulama başlatma sisteminin bir "
"birleşimi olan \"bindirme\" işlemini başlatır. Öntanımlı olarak PC "
"donanımındaki \"windows tuşu\" olması tasarlanmıştır. Bağlayıcı varsayılan "
"olarak veya boş dize olarak ayarlanması beklenir."
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Yardımcı diyalogları ekle"
#: data/org.gnome.mutter.gschema.xml.in:21
#: ../data/org.gnome.mutter.gschema.xml.in.h:4
msgid ""
"When true, instead of having independent titlebars, modal dialogs appear "
"attached to the titlebar of the parent window and are moved together with "
"the parent window."
msgstr ""
"Seçili olduğunda, bağımsız başlık çubuklarına sahip olmak yerine, kipsel "
"diyaloglar üst pencerenin başlık çubuğunda ekli gözükür ve üst pencere ile "
"birlikte hareket ettirilebilirler."
"Eğer \"doğru\" ise, bağımsız başlık çubuklarına sahip olduğundan, yardım "
"diyalogları üst pencerenin başlık çubuğunda ekli gözükür ve üst pencere ile "
"birlikte hareket eder."
#: data/org.gnome.mutter.gschema.xml.in:30
#: ../data/org.gnome.mutter.gschema.xml.in.h:5
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Pencereler ekran kenarlarında bırakıldığında kenar döşemeyi etkinleştir."
#: data/org.gnome.mutter.gschema.xml.in:31
#: ../data/org.gnome.mutter.gschema.xml.in.h:6
msgid ""
"If enabled, dropping windows on vertical screen edges maximizes them "
"vertically and resizes them horizontally to cover half of the available "
@ -323,13 +317,13 @@ msgstr ""
"şekilde yeniden boyutlandırılır. Ekranın tepedeki kenarına bırakılan "
"pencereler ekranı tamamen kaplar."
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "Çalışma alanları dinamik olarak yönetilir"
#: data/org.gnome.mutter.gschema.xml.in:41
#: ../data/org.gnome.mutter.gschema.xml.in.h:8
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
@ -337,23 +331,23 @@ msgstr ""
"çalışma alanı mı olacağını belirler (org.gnome.desktop.wm.preferences "
"içindeki num-workspaces değişkeni tarafından belirlenir)."
#: data/org.gnome.mutter.gschema.xml.in:50
#: ../data/org.gnome.mutter.gschema.xml.in.h:9
msgid "Workspaces only on primary"
msgstr "Yalnızca birincil monitördeki çalışma alanları"
msgstr "Sadece birincil monitördeki çalışma alanları"
#: data/org.gnome.mutter.gschema.xml.in:51
#: ../data/org.gnome.mutter.gschema.xml.in.h:10
msgid ""
"Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor."
msgstr ""
"Çalışma alanı değiştirilmesinin, tüm monitörlerdeki pencerelerde mi yoksa "
"yalnızca birincil monitördekilerde mi gerçekleşeceğini belirler."
"sadece birincil monitördekilerde mi gerçekleşeceğini belirler."
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "Sekme açılır penceresi yok"
#: data/org.gnome.mutter.gschema.xml.in:60
#: ../data/org.gnome.mutter.gschema.xml.in.h:12
msgid ""
"Determines whether the use of popup and highlight frame should be disabled "
"for window cycling."
@ -361,42 +355,37 @@ msgstr ""
"Pencere geçişinde çerçeve vurgulanması ve açılır pencere kullanımının "
"kapatılıp kapatılmayacağını belirler."
#: data/org.gnome.mutter.gschema.xml.in:68
#: ../data/org.gnome.mutter.gschema.xml.in.h:13
msgid "Delay focus changes until the pointer stops moving"
msgstr "Odak değişikliklerini işaretçi hareketi durana kadar ertele"
#: data/org.gnome.mutter.gschema.xml.in:69
#| msgid ""
#| "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
#| "the focus will not be changed immediately when entering a window, but "
#| "only after the pointer stops moving."
#: ../data/org.gnome.mutter.gschema.xml.in.h:14
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"Eğer seçiliyse ve odaklama kipi sloppy yada mouse ise bir pencereye "
"geçişte odak hemen değil, yanlızca işaretçi hareket etmeyi bıraktığında "
"değişir."
"Eğer seçiliyse ve odaklama kipi \"sloppy\" ya da \"mouse\" ise bir pencereye "
"geçişte odak hemen değil, fakat işaretçi hareket etmeyi bıraktığında değişir."
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Sürüklenebilir kenarlık genişliği"
#: data/org.gnome.mutter.gschema.xml.in:80
#: ../data/org.gnome.mutter.gschema.xml.in.h:16
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"Sürüklenebilir kenarlıkların toplam miktarı. Eğer temanın görünür "
"kenarlıkları yetersiz gelirse, bu değere ulaşmak için görünmez kenarlıklar "
"eklenir."
#: data/org.gnome.mutter.gschema.xml.in:89
#: ../data/org.gnome.mutter.gschema.xml.in.h:17
msgid "Auto maximize nearly monitor sized windows"
msgstr "Ekran boyutuna yakın pencereleri otomatik ekranı kaplat"
#: data/org.gnome.mutter.gschema.xml.in:90
#: ../data/org.gnome.mutter.gschema.xml.in.h:18
msgid ""
"If enabled, new windows that are initially the size of the monitor "
"automatically get maximized."
@ -404,11 +393,11 @@ msgstr ""
"Etkinleştirildiğinde ekran boyutunda başlayan yeni pencereler otomatik "
"olarak ekranı kaplar."
#: data/org.gnome.mutter.gschema.xml.in:98
#: ../data/org.gnome.mutter.gschema.xml.in.h:19
msgid "Place new windows in the center"
msgstr "Yeni pencereleri ekranın ortasına yerleştir"
#: data/org.gnome.mutter.gschema.xml.in:99
#: ../data/org.gnome.mutter.gschema.xml.in.h:20
msgid ""
"When true, the new windows will always be put in the center of the active "
"screen of the monitor."
@ -416,277 +405,218 @@ msgstr ""
"Etkinleştirildiğinde, yeni pencereler her zaman monitörün etkin ekranında "
"ortaya yerleştirilir."
#: data/org.gnome.mutter.gschema.xml.in:107
msgid "Enable experimental features"
msgstr "Deneysel özellikleri etkinleştir"
#: data/org.gnome.mutter.gschema.xml.in:108
msgid ""
"To enable experimental features, add the feature keyword to the list. "
"Whether the feature requires restarting the compositor depends on the given "
"feature. Any experimental feature is not required to still be available, or "
"configurable. Dont expect adding anything in this setting to be future "
"proof. Currently possible keywords: • “scale-monitor-framebuffer” — makes "
"mutter default to layout logical monitors in a logical pixel coordinate "
"space, while scaling monitor framebuffers instead of window content, to "
"manage HiDPI monitors. Does not require a restart."
msgstr ""
"Deneysel özellikleri etkinleştirmek için özelliğin anahtar sözcüğünü listeye "
"ekleyin. Özelliğin yeniden başlatmayı gerektirip gerektirmeyeceği verilen "
"özelliğe bağlıdır. Hiçbir deneysel özellik hala kullanılabilir veya "
"yapılandırılabilir olmak zorunda değildir. Bu ayara eklenecek herhangi bir "
"şeyin gelecekte olabilecek değişikliklerden etkilenmeyeceğini düşünmeyin. Şu "
"anda kullanılabilir anahtar sözcükler: • “scale-monitor-framebuffer” — "
"mutterin HiDPI monitörleri yönetmesi için pencere içeriği yerine monitör "
"çerçeve arabelleğini ölçeklendirirken, mantıksal monitörleri mantıksal "
"piksel koordinat aralığına yerleştirmesini öntanımlı yapar."
#: data/org.gnome.mutter.gschema.xml.in:141
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "Pencereyi, sekme açılır penceresinden seç"
#: data/org.gnome.mutter.gschema.xml.in:146
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Sekmeyi yeni pencerede açmayı iptal et"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1
msgid "Switch to VT 1"
msgstr "VT 1e geç"
msgstr "VT 1'e geç"
#: data/org.gnome.mutter.wayland.gschema.xml.in:10
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2
msgid "Switch to VT 2"
msgstr "VT 2ye geç"
msgstr "VT 2'ye geç"
#: data/org.gnome.mutter.wayland.gschema.xml.in:14
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3
msgid "Switch to VT 3"
msgstr "VT 3e geç"
msgstr "VT 3'e geç"
#: data/org.gnome.mutter.wayland.gschema.xml.in:18
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4
msgid "Switch to VT 4"
msgstr "VT 4e geç"
msgstr "VT 4'e geç"
#: data/org.gnome.mutter.wayland.gschema.xml.in:22
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5
msgid "Switch to VT 5"
msgstr "VT 5e geç"
msgstr "VT 5'e geç"
#: data/org.gnome.mutter.wayland.gschema.xml.in:26
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6
msgid "Switch to VT 6"
msgstr "VT 6ya geç"
msgstr "VT 6'ya geç"
#: data/org.gnome.mutter.wayland.gschema.xml.in:30
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7
msgid "Switch to VT 7"
msgstr "VT 7ye geç"
msgstr "VT 7'ye geç"
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
msgid "Switch to VT 8"
msgstr "VT 8e geç"
msgstr "VT 8'e geç"
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
msgid "Switch to VT 9"
msgstr "VT 9a geç"
msgstr "VT 9'a geç"
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
msgid "Switch to VT 10"
msgstr "VT 10a geç"
msgstr "VT 10'a geç"
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
msgid "Switch to VT 11"
msgstr "VT 11e geç"
msgstr "VT 11'e geç"
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
msgid "Switch to VT 12"
msgstr "VT 12ye geç"
msgstr "VT 12'ye geç"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1848
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "Kip anahtarı (Group %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1870
msgid "Switch monitor"
msgstr "Monitör değiştir"
#: src/backends/meta-input-settings.c:1872
msgid "Show on-screen help"
msgstr "Ekranda yardımı göster"
#: src/backends/meta-monitor-manager.c:783
#: ../src/backends/meta-monitor-manager.c:515
msgid "Built-in display"
msgstr "Yerleşik ekran"
#: src/backends/meta-monitor-manager.c:806
#: ../src/backends/meta-monitor-manager.c:538
msgid "Unknown"
msgstr "Bilinmiyor"
#: src/backends/meta-monitor-manager.c:808
#: ../src/backends/meta-monitor-manager.c:540
msgid "Unknown Display"
msgstr "Bilinmeyen Ekran"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:816
#: ../src/backends/meta-monitor-manager.c:548
#, c-format
msgid "%s %s"
msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:476
#: ../src/compositor/compositor.c:456
#, c-format
#| msgid ""
#| "Another compositing manager is already running on screen %i on display "
#| "\"%s\"."
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr ""
"%2$s monitöründeki %1$i ekranında zaten başka bir birleştirme yöneticisi çalışıyor."
"\"%2$s\" monitöründeki %1$i ekranında zaten başka bir birleştirme yöneticisi "
"çalışıyor."
#: src/core/bell.c:194
#: ../src/core/bell.c:194
msgid "Bell event"
msgstr "Etkinlik zili"
#. Translators: %s is a window title
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "“%s” yanıt vermiyor."
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "Uygulama cevap vermiyor"
#: src/core/delete.c:134
#: ../src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr ""
"Uygulamanın devam etmesi için bir müddet bekleyi seçebilirsiniz ya da "
"Uygulamanın devam etmesi için bir müddet bekleyi seçebilirsiniz ya d a "
"uygulamanın tamamen çıkması için onu zorlayabilirsiniz."
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Sonlandır"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Bekle"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "X Pencere Sistemi “%s” ekranıılamadı\n"
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Sonlandır"
#: src/core/main.c:189
#: ../src/core/display.c:555
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "X Pencere Sistemi '%s' ekranıılamadı\n"
#: ../src/core/main.c:181
msgid "Disable connection to session manager"
msgstr "Ortam yöneticisine olan bağlantıyı kapat"
#: src/core/main.c:195
#: ../src/core/main.c:187
msgid "Replace the running window manager"
msgstr "Çalışan pencere yöneticisinin yerini al"
#: src/core/main.c:201
#: ../src/core/main.c:193
msgid "Specify session management ID"
msgstr "Ortam yönetim IDsini belirt"
msgstr "Ortam yönetim ID'sini belirtin"
#: src/core/main.c:206
#: ../src/core/main.c:198
msgid "X Display to use"
msgstr "Kullanılacak X Ekranı"
#: src/core/main.c:212
#: ../src/core/main.c:204
msgid "Initialize session from savefile"
msgstr "Ortamı kayıtlı dosyadan başlat"
#: src/core/main.c:218
#: ../src/core/main.c:210
msgid "Make X calls synchronous"
msgstr "X çağrılarını eşazamanlı yap"
#: src/core/main.c:225
#: ../src/core/main.c:217
msgid "Run as a wayland compositor"
msgstr "Bir wayland dizgicisi olarak çalıştır"
#: src/core/main.c:231
#: ../src/core/main.c:223
msgid "Run as a nested compositor"
msgstr "Yuvalanmış dizgici olarak çalıştır"
#: src/core/main.c:239
#: ../src/core/main.c:231
msgid "Run as a full display server, rather than nested"
msgstr "İç içe değil tam ekran sunucusu olarak çalıştır"
#: src/core/mutter.c:39
#: ../src/core/mutter.c:39
#, c-format
#| msgid ""
#| "mutter %s\n"
#| "Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
#| "This is free software; see the source for copying conditions.\n"
#| "There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
#| "PARTICULAR PURPOSE.\n"
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
msgstr ""
"mutter %s\n"
"Telif Hakkı © 2001-%d Havoc Pennington, Red Hat, Inc., ve diğerleri\n"
"Bu bir özgür yazılımdır; kopyalama koşullarını öğrenmek için kaynağa bakın.\n"
"Hiçbir garanti YOK; BELİRLİ BİR AMACA UYGUNLUK ya da SATILABİLİRLİK için "
"dahi.\n"
"Telif Hakkı (C) 2001-%d Havoc Pennington, Red Hat, Inc., ve diğerleri\n"
"Bu bir özgür yazılımdır; telif koşullarını öğrenmek için kaynak koda bakın.\n"
"Hiç bir garantisi, BELİRLİ BİR AMACA UYGUNLUĞU için dahi, YOKTUR.\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "Sürümü yazdır"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "Kullanılacak Mutter eklentisi"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "Çalışma Alanı %d"
#: src/core/screen.c:580
#: ../src/core/screen.c:521
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"“%s” ekranı zaten bir pencere yöneticisine sahip; geçerli pencere "
"\"%s\" ekranı zaten bir pencere yöneticisine sahip; geçerli pencere "
"yöneticisinin yerine bir başkasını koymak için --replace seçeneğini "
"kullanmayı deneyin."
#: src/core/screen.c:665
#: ../src/core/screen.c:603
#, c-format
#| msgid "Screen %d on display '%s' is invalid\n"
msgid "Screen %d on display “%s” is invalid\n"
msgstr "“%2$s” monitöründeki %1$d ekranı geçersiz\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "'%2$s' X oturumundaki ekran %1$d geçersiz\n"
#: src/core/util.c:120
#: ../src/core/util.c:121
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter, ayrıntılı kip desteği olmadan derlenmiş\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Kip Anahtarı: Kip %d"
#: src/x11/session.c:1815
#: ../src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr ""
"Bu pencereler, geçerli ayarları kaydet özelliğini desteklemiyor ve bir "
"dahaki girişinizde elle yeniden başlatılmak zorunda."
"Bu pencereler, &quot;geçerli ayarları kaydet&quot; özelliğini desteklemiyor "
"ve bir dahaki girişinizde elle yeniden başlatmanız gerekecek."
#: src/x11/window-props.c:559
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (%s üzerinde)"

View File

@ -8,10 +8,10 @@
msgid ""
msgstr ""
"Project-Id-Version: metacity 3.3.4\n"
"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2017-02-28 06:20+0000\n"
"PO-Revision-Date: 2017-03-01 10:24+0800\n"
"POT-Creation-Date: 2015-07-21 10:52+0000\n"
"PO-Revision-Date: 2015-02-21 16:33+0800\n"
"Last-Translator: Chao-Hsiung Liao <j_h_liau@yahoo.com.tw>\n"
"Language-Team: Chinese (Taiwan) <zh-l10n@lists.linux.org.tw>\n"
"Language: zh_TW\n"
@ -19,272 +19,272 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Poedit 1.8.12\n"
"X-Generator: Poedit 1.7.4\n"
#: data/50-mutter-navigation.xml:6
#: ../data/50-mutter-navigation.xml.in.h:1
msgid "Navigation"
msgstr "導航"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "將視窗移至第 1 個工作區"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "將視窗移至第 2 個工作區"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "將視窗移至第 3 個工作區"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "將視窗移至第 4 個工作區"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "將視窗移至上一個工作區"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "將視窗移至左方的工作區"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "將視窗移至右方的工作區"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "將視窗移至上方的工作區"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "將視窗移至下方的工作區"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "將視窗移至左方的螢幕"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "將視窗移至右方的螢幕"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "將視窗移至上方的螢幕"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "將視窗移至下方的螢幕"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "切換程式"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "切換至上一個應用程式"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "切換視窗"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "切換至上一個視窗"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "切換程式的視窗"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "切換至上一個應用程式的視窗"
#: data/50-mutter-navigation.xml:76
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "切換系統控制"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "切換至上一個系統控制"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "直接切換視窗"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "直接切換至上一個視窗"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "直接切換程式的視窗"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "直接切換至上一個程式視窗"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "直接切換系統控制"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "直接切換至上一個系統控制"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "隱藏所有一般視窗"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "切換至第 1 個工作區"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "切換至第 2 個工作區"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "切換至第 3 個工作區"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "切換至第 4 個工作區"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "切換至上一個工作區"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "移至左方的工作區"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "移至右方的工作區"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "移至上方的工作區"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "移至下方的工作區"
#: data/50-mutter-system.xml:6
#: ../data/50-mutter-system.xml.in.h:1
msgid "System"
msgstr "系統"
#: data/50-mutter-system.xml:8
#: ../data/50-mutter-system.xml.in.h:2
msgid "Show the run command prompt"
msgstr "顯示執行指令提示"
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "顯示活動概覽"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "視窗"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "使用視窗選單"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "切換全螢幕模式"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "切換最大化狀態"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "視窗最大化"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "還原視窗"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "切換視窗捲起/放下狀態"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "關閉視窗"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "隱藏視窗"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "移動視窗"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "調整視窗大小"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "切換視窗顯示在所有工作區或是只顯示於其中之一"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "若被其他視窗遮蔽就抬升它,否則將它降下"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "令某個視窗覆蓋其它視窗"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "遮蔽某個視窗"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "將視窗縱向最大化"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "將視窗橫向最大化"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "檢視分割於左側"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "檢視分割於右側"
#: data/mutter.desktop.in:4
#: ../data/mutter.desktop.in.h:1
msgid "Mutter"
msgstr "Mutter"
#: data/org.gnome.mutter.gschema.xml.in:7
#: ../data/org.gnome.mutter.gschema.xml.in.h:1
msgid "Modifier to use for extended window management operations"
msgstr "用於延伸視窗管理操作程序的特殊按鍵"
#: data/org.gnome.mutter.gschema.xml.in:8
#: ../data/org.gnome.mutter.gschema.xml.in.h:2
msgid ""
"This key will initiate the overlay, which is a combination window overview "
"and application launching system. The default is intended to be the “Windows "
"key on PC hardware. Its expected that this binding either the default or "
"set to the empty string."
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"這個設定鍵會初始化「overlay」這是一個複合視窗概覽與應用程式執行系統。預設是"
"要成為 PC 硬體上的「Windows key」。預期這個按鍵組含不是預設值就是設定為空字"
"串。"
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "附加模態對話盒"
#: data/org.gnome.mutter.gschema.xml.in:21
#: ../data/org.gnome.mutter.gschema.xml.in.h:4
msgid ""
"When true, instead of having independent titlebars, modal dialogs appear "
"attached to the titlebar of the parent window and are moved together with "
@ -293,11 +293,11 @@ msgstr ""
"當設為「true」將不會有獨立的標題列模態對話盒會附加在上層視窗的標題列並與"
"上層視窗一起移動。"
#: data/org.gnome.mutter.gschema.xml.in:30
#: ../data/org.gnome.mutter.gschema.xml.in.h:5
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "在螢幕邊緣放下視窗時啟用邊緣拼貼"
#: data/org.gnome.mutter.gschema.xml.in:31
#: ../data/org.gnome.mutter.gschema.xml.in.h:6
msgid ""
"If enabled, dropping windows on vertical screen edges maximizes them "
"vertically and resizes them horizontally to cover half of the available "
@ -306,174 +306,155 @@ msgstr ""
"如果啟用,將視窗拖放到螢幕垂直邊緣時會讓它們垂直最大化並調整水平方向大小覆蓋"
"可用區域的一半。拖放視窗到螢幕頂端邊緣則會讓它們完全最大化。"
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "工作區以動態方式管理"
#: data/org.gnome.mutter.gschema.xml.in:41
#: ../data/org.gnome.mutter.gschema.xml.in.h:8
msgid ""
"Determines whether workspaces are managed dynamically or whether theres a "
"Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org."
"gnome.desktop.wm.preferences)."
msgstr ""
"決定工作區以動態方式管理或是有固定數量的工作區 (以 org.gnome.desktop.wm."
"preferences 中的 num-workspaces 鍵值來決定)。"
#: data/org.gnome.mutter.gschema.xml.in:50
#: ../data/org.gnome.mutter.gschema.xml.in.h:9
msgid "Workspaces only on primary"
msgstr "只有主要螢幕的工作區"
#: data/org.gnome.mutter.gschema.xml.in:51
#: ../data/org.gnome.mutter.gschema.xml.in.h:10
msgid ""
"Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor."
msgstr "決定工作區切換是否使用於所有螢幕的視窗或只用於主要螢幕的視窗。"
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "沒有分頁彈出項"
#: data/org.gnome.mutter.gschema.xml.in:60
#: ../data/org.gnome.mutter.gschema.xml.in.h:12
msgid ""
"Determines whether the use of popup and highlight frame should be disabled "
"for window cycling."
msgstr "決定當視窗輪換時是否使用彈出式和強調框架。"
#: data/org.gnome.mutter.gschema.xml.in:68
#: ../data/org.gnome.mutter.gschema.xml.in.h:13
msgid "Delay focus changes until the pointer stops moving"
msgstr "延遲焦點的改變直到指標停止移動"
#: data/org.gnome.mutter.gschema.xml.in:69
#: ../data/org.gnome.mutter.gschema.xml.in.h:14
msgid ""
"If set to true, and the focus mode is either sloppy or mouse then the "
"focus will not be changed immediately when entering a window, but only after "
"the pointer stops moving."
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"the focus will not be changed immediately when entering a window, but only "
"after the pointer stops moving."
msgstr ""
"如果設為 true焦點模式為「sloppy」或「mouse」則焦點不會在進入視窗時立即改"
"變,而是在指標停止移動之後才改變。"
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "可拖曳邊框寬度"
#: data/org.gnome.mutter.gschema.xml.in:80
#: ../data/org.gnome.mutter.gschema.xml.in.h:16
msgid ""
"The amount of total draggable borders. If the themes visible borders are "
"The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value."
msgstr ""
"所有可拖曳邊框的總數。如果布景的可視邊框不夠,會加入隱形邊框來符合這個數值。"
#: data/org.gnome.mutter.gschema.xml.in:89
#: ../data/org.gnome.mutter.gschema.xml.in.h:17
msgid "Auto maximize nearly monitor sized windows"
msgstr "自動最大化接近螢幕大小的視窗"
#: data/org.gnome.mutter.gschema.xml.in:90
#: ../data/org.gnome.mutter.gschema.xml.in.h:18
msgid ""
"If enabled, new windows that are initially the size of the monitor "
"automatically get maximized."
msgstr "如果啟用,初始大小為螢幕大小的新視窗會自動最大化。"
#: data/org.gnome.mutter.gschema.xml.in:98
#: ../data/org.gnome.mutter.gschema.xml.in.h:19
msgid "Place new windows in the center"
msgstr "將新視窗放置於中央"
#: data/org.gnome.mutter.gschema.xml.in:99
#: ../data/org.gnome.mutter.gschema.xml.in.h:20
msgid ""
"When true, the new windows will always be put in the center of the active "
"screen of the monitor."
msgstr "當設定為「true」時新視窗會永遠置於使用中螢幕畫面的正中央。"
#: data/org.gnome.mutter.gschema.xml.in:120
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "從分頁彈出項選擇視窗"
#: data/org.gnome.mutter.gschema.xml.in:125
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "取消分頁彈出項"
#: data/org.gnome.mutter.wayland.gschema.xml.in:6
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1
msgid "Switch to VT 1"
msgstr "切換至 VT 1"
#: data/org.gnome.mutter.wayland.gschema.xml.in:10
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2
msgid "Switch to VT 2"
msgstr "切換至 VT 2"
#: data/org.gnome.mutter.wayland.gschema.xml.in:14
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3
msgid "Switch to VT 3"
msgstr "切換至 VT 3"
#: data/org.gnome.mutter.wayland.gschema.xml.in:18
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4
msgid "Switch to VT 4"
msgstr "切換至 VT 4"
#: data/org.gnome.mutter.wayland.gschema.xml.in:22
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5
msgid "Switch to VT 5"
msgstr "切換至 VT 5"
#: data/org.gnome.mutter.wayland.gschema.xml.in:26
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6
msgid "Switch to VT 6"
msgstr "切換至 VT 6"
#: data/org.gnome.mutter.wayland.gschema.xml.in:30
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7
msgid "Switch to VT 7"
msgstr "切換至 VT 7"
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
msgid "Switch to VT 8"
msgstr "切換至 VT 8"
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
msgid "Switch to VT 9"
msgstr "切換至 VT 9"
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
msgid "Switch to VT 10"
msgstr "切換至 VT 10"
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
msgid "Switch to VT 11"
msgstr "切換至 VT 11"
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
msgid "Switch to VT 12"
msgstr "切換至 VT 12"
#. TRANSLATORS: This string refers to a button that switches between
#. * different modes.
#.
#: src/backends/meta-input-settings.c:1800
#, c-format
msgid "Mode Switch (Group %d)"
msgstr "模式切換( 群組 %d)"
#. TRANSLATORS: This string refers to an action, cycles drawing tablets'
#. * mapping through the available outputs.
#.
#: src/backends/meta-input-settings.c:1822
msgid "Switch monitor"
msgstr "切換監視器"
#: src/backends/meta-input-settings.c:1824
msgid "Show on-screen help"
msgstr "顯示螢幕求助"
#: src/backends/meta-monitor-manager.c:675
#: ../src/backends/meta-monitor-manager.c:500
msgid "Built-in display"
msgstr "內建顯示"
#: src/backends/meta-monitor-manager.c:698
#: ../src/backends/meta-monitor-manager.c:526
msgid "Unknown"
msgstr "不明"
#: src/backends/meta-monitor-manager.c:700
#: ../src/backends/meta-monitor-manager.c:528
msgid "Unknown Display"
msgstr "不明的顯示器"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:708
#: ../src/backends/meta-monitor-manager.c:536
#, c-format
msgid "%s %s"
msgstr "%s %s"
@ -481,86 +462,82 @@ msgstr "%s %s"
# FIXME: I'm still unclear about the meaning of XGetSelectionOwner -- Abel
#. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit
#: src/compositor/compositor.c:471
#: ../src/compositor/compositor.c:451
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display “%s”."
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr "在畫面「%2$s」中的第 %1$i 個螢幕中已啟動另一個組合視窗管理員。"
#: src/core/bell.c:194
#: ../src/core/bell.c:185
msgid "Bell event"
msgstr "響鈴事件"
#. Translators: %s is a window title
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "“%s”沒有回應。"
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "應用程式沒有回應。"
#: src/core/delete.c:134
#: ../src/core/delete.c:134
msgid ""
"You may choose to wait a short while for it to continue or force the "
"application to quit entirely."
msgstr "您可以選擇稍等一下,或者強制程式立即結束。"
#: src/core/delete.c:141
msgid "_Force Quit"
msgstr "強制結束(_F)"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "等待(_W)"
#: src/core/display.c:608
#, c-format
msgid "Failed to open X Window System display “%s”\n"
msgstr "無法開啟 X Window 系統畫面「%s」\n"
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "強制結束(_F)"
#: src/core/main.c:189
#: ../src/core/display.c:563
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "無法開啟 X Window 畫面‘%s\n"
#: ../src/core/main.c:176
msgid "Disable connection to session manager"
msgstr "停用到作業階段管理員的連線"
#: src/core/main.c:195
#: ../src/core/main.c:182
msgid "Replace the running window manager"
msgstr "取代執行中的視窗管理員"
#: src/core/main.c:201
#: ../src/core/main.c:188
msgid "Specify session management ID"
msgstr "指定作業階段管理 ID"
#: src/core/main.c:206
#: ../src/core/main.c:193
msgid "X Display to use"
msgstr "使用的 X 畫面"
#: src/core/main.c:212
#: ../src/core/main.c:199
msgid "Initialize session from savefile"
msgstr "以 savefile 初始化作業階段"
#: src/core/main.c:218
#: ../src/core/main.c:205
msgid "Make X calls synchronous"
msgstr "使用同步方式調用 X 函式"
#: src/core/main.c:225
#: ../src/core/main.c:212
msgid "Run as a wayland compositor"
msgstr "以 wayland 組合器執行"
#: src/core/main.c:231
msgid "Run as a nested compositor"
msgstr "以巢狀組合器執行"
#: src/core/main.c:239
#: ../src/core/main.c:220
msgid "Run as a full display server, rather than nested"
msgstr "以完全顯示伺服器執行,而非巢狀"
#: src/core/mutter.c:39
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
"Copyright © 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"Copyright (C) 2001-%d Havoc Pennington, Red Hat, Inc., and others\n"
"This is free software; see the source for copying conditions.\n"
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
@ -570,50 +547,45 @@ msgstr ""
"本程式是自由軟體;有關版權的詳情請參考源程式碼。\n"
"本程式不負任何擔保責任;亦無對適售性或特定目的適用性所為的默示性擔保。\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "顯示版本"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "要使用的 Mutter 外掛程式"
# (Abel) take care of the same string in libwnck
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:2004
#, c-format
msgid "Workspace %d"
msgstr "工作區 %d"
#: src/core/screen.c:580
#: ../src/core/screen.c:525
#, c-format
msgid ""
"Display “%s” already has a window manager; try using the --replace option to "
"replace the current window manager."
"Display \"%s\" already has a window manager; try using the --replace option "
"to replace the current window manager."
msgstr ""
"畫面「%s」已經有了視窗管理員請嘗試使用 --replace 選項來替換目前的視窗管理"
"員。"
#: src/core/screen.c:665
#: ../src/core/screen.c:607
#, c-format
msgid "Screen %d on display %s is invalid\n"
msgstr "畫面%2$s中的第 %1$d 個螢幕無效\n"
msgid "Screen %d on display '%s' is invalid\n"
msgstr "畫面%2$s中的第 %1$d 個螢幕無效\n"
#: src/core/util.c:120
#: ../src/core/util.c:118
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "編譯 Mutter 時並沒有加入詳細偵錯模式的支援\n"
#: src/wayland/meta-wayland-tablet-pad.c:563
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "模式切換:模式 %d"
#: src/x11/session.c:1815
#: ../src/x11/session.c:1815
msgid ""
"These windows do not support save current setup and will have to be "
"restarted manually next time you log in."
msgstr "這些視窗不支援「儲存目前的設定」,必須在下次登入後自行啟動。"
"These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
msgstr "這些視窗不支援 &quot;儲存目前的設定&quot; ,必須在下次登入後自行啟動。"
#: src/x11/window-props.c:559
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s在 %s"

View File

@ -91,7 +91,6 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
backends/meta-cursor-tracker-private.h \
backends/meta-cursor-renderer.c \
backends/meta-cursor-renderer.h \
backends/meta-dnd-private.h \
backends/meta-egl.c \
backends/meta-egl.h \
backends/meta-egl-ext.h \
@ -137,14 +136,10 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
backends/x11/meta-cursor-renderer-x11.h \
backends/x11/cm/meta-backend-x11-cm.c \
backends/x11/cm/meta-backend-x11-cm.h \
backends/x11/cm/meta-renderer-x11-cm.c \
backends/x11/cm/meta-renderer-x11-cm.h \
backends/x11/nested/meta-backend-x11-nested.c \
backends/x11/nested/meta-backend-x11-nested.h \
backends/x11/nested/meta-cursor-renderer-x11-nested.c \
backends/x11/nested/meta-cursor-renderer-x11-nested.h \
backends/x11/nested/meta-renderer-x11-nested.c \
backends/x11/nested/meta-renderer-x11-nested.h \
backends/x11/meta-idle-monitor-xsync.c \
backends/x11/meta-idle-monitor-xsync.h \
backends/x11/meta-input-settings-x11.c \
@ -179,7 +174,6 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
compositor/meta-background-group.c \
compositor/meta-cullable.c \
compositor/meta-cullable.h \
compositor/meta-dnd.c \
compositor/meta-dnd-actor.c \
compositor/meta-dnd-actor-private.h \
compositor/meta-feedback-actor.c \
@ -222,10 +216,6 @@ libmutter_@LIBMUTTER_API_VERSION@_la_SOURCES = \
core/constraints.c \
core/constraints.h \
core/core.c \
core/meta-close-dialog.c \
meta/meta-close-dialog.h \
core/meta-close-dialog-default.c \
core/meta-close-dialog-default-private.h \
core/delete.c \
core/display.c \
core/display-private.h \
@ -439,9 +429,7 @@ libmutterinclude_headers = \
meta/meta-background-actor.h \
meta/meta-background-image.h \
meta/meta-background-group.h \
meta/meta-close-dialog.h \
meta/meta-cursor-tracker.h \
meta/meta-dnd.h \
meta/meta-idle-monitor.h \
meta/meta-plugin.h \
meta/meta-monitor-manager.h \

View File

@ -95,19 +95,12 @@ struct _MetaBackendClass
void (* set_numlock) (MetaBackend *backend,
gboolean numlock_state);
void (* track_position) (MetaBackend *backend,
gboolean enabled);
};
typedef enum _MetaExperimentalFeature
{
META_EXPERIMENTAL_FEATURE_NONE = 0,
META_EXPERIMENTAL_FEATURE_SCALE_MONITOR_FRAMEBUFFER = (1 << 0),
META_EXPERIMENTAL_FEATURE_MONITOR_CONFIG_MANAGER = (1 << 1)
} MetaExperimentalFeature;
void meta_init_backend (GType backend_gtype);
void meta_backend_display_opened (MetaBackend *backend);
ClutterBackend * meta_backend_get_clutter_backend (MetaBackend *backend);
MetaIdleMonitor * meta_backend_get_idle_monitor (MetaBackend *backend,
@ -155,27 +148,14 @@ ClutterBackend * meta_backend_get_clutter_backend (MetaBackend *backend);
void meta_backend_monitors_changed (MetaBackend *backend);
gboolean meta_backend_is_experimental_feature_enabled (MetaBackend *backend,
MetaExperimentalFeature feature);
MetaExperimentalFeature meta_backend_get_experimental_features (MetaBackend *backend);
void meta_backend_override_experimental_features (MetaBackend *backend);
void meta_backend_enable_experimental_feature (MetaBackend *backend,
MetaExperimentalFeature feature);
gboolean meta_is_stage_views_enabled (void);
gboolean meta_is_stage_views_scaled (void);
MetaInputSettings *meta_backend_get_input_settings (MetaBackend *backend);
void meta_backend_notify_keymap_changed (MetaBackend *backend);
void meta_backend_update_cursor_position (MetaBackend *backend, int x, int y);
void meta_backend_notify_keymap_layout_group_changed (MetaBackend *backend,
unsigned int locked_group);
void meta_backend_notify_ui_scaling_factor_changed (MetaBackend *backend);
void meta_backend_cursor_position_changed (MetaBackend *backend);
void meta_backend_track_position_ref (MetaBackend *backend);
void meta_backend_track_position_unref (MetaBackend *backend);
#endif /* META_BACKEND_PRIVATE_H */

View File

@ -43,25 +43,9 @@
#include "backends/meta-idle-monitor-private.h"
#include "backends/meta-logical-monitor.h"
#include "backends/meta-monitor-manager-dummy.h"
#include "ui/theme-private.h"
enum
{
KEYMAP_CHANGED,
KEYMAP_LAYOUT_GROUP_CHANGED,
LAST_DEVICE_CHANGED,
EXPERIMENTAL_FEATURES_CHANGED,
UI_SCALING_FACTOR_CHANGED,
N_SIGNALS
};
static guint signals[N_SIGNALS];
static MetaBackend *_backend;
static gboolean stage_views_disabled = FALSE;
/**
* meta_get_backend:
*
@ -84,10 +68,6 @@ struct _MetaBackendPrivate
MetaRenderer *renderer;
MetaEgl *egl;
GSettings *mutter_settings;
MetaExperimentalFeature experimental_features;
gboolean experimental_features_overridden;
ClutterBackend *clutter_backend;
ClutterActor *stage;
@ -98,9 +78,8 @@ struct _MetaBackendPrivate
int current_device_id;
MetaPointerConstraint *client_pointer_constraint;
MetaDnd *dnd;
int ui_scaling_factor;
uint32_t track_position_refcount;
};
typedef struct _MetaBackendPrivate MetaBackendPrivate;
@ -155,25 +134,6 @@ center_pointer (MetaBackend *backend)
primary->rect.y + primary->rect.height / 2);
}
static gboolean
meta_backend_update_ui_scaling_factor (MetaBackend *backend)
{
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
int ui_scaling_factor;
ui_scaling_factor = meta_backend_get_ui_scaling_factor (backend);
if (ui_scaling_factor != priv->ui_scaling_factor)
{
priv->ui_scaling_factor = ui_scaling_factor;
return TRUE;
}
else
{
return FALSE;
}
}
void
meta_backend_monitors_changed (MetaBackend *backend)
{
@ -193,9 +153,6 @@ meta_backend_monitors_changed (MetaBackend *backend)
!meta_monitor_manager_is_headless (monitor_manager))
center_pointer (backend);
}
if (meta_backend_update_ui_scaling_factor (backend))
meta_backend_notify_ui_scaling_factor_changed (backend);
}
void
@ -365,8 +322,6 @@ meta_backend_real_post_init (MetaBackend *backend)
meta_backend_sync_screen_size (backend);
meta_backend_update_ui_scaling_factor (backend);
priv->cursor_renderer = META_BACKEND_GET_CLASS (backend)->create_cursor_renderer (backend);
priv->device_monitors =
@ -449,109 +404,9 @@ meta_backend_real_get_relative_motion_deltas (MetaBackend *backend,
return FALSE;
}
static gboolean
experimental_features_handler (GVariant *features_variant,
gpointer *result,
gpointer data)
{
MetaBackend *backend = data;
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
GVariantIter features_iter;
char *feature;
MetaExperimentalFeature features = META_EXPERIMENTAL_FEATURE_NONE;
if (priv->experimental_features_overridden)
{
*result = GINT_TO_POINTER (FALSE);
return TRUE;
}
g_variant_iter_init (&features_iter, features_variant);
while (g_variant_iter_loop (&features_iter, "s", &feature))
{
/* So far no experimental features defined. */
if (g_str_equal (feature, "scale-monitor-framebuffer"))
features |= META_EXPERIMENTAL_FEATURE_SCALE_MONITOR_FRAMEBUFFER;
else if (g_str_equal (feature, "monitor-config-manager"))
features |= META_EXPERIMENTAL_FEATURE_MONITOR_CONFIG_MANAGER;
else
g_info ("Unknown experimental feature '%s'\n", feature);
}
if (features != priv->experimental_features)
{
priv->experimental_features = features;
*result = GINT_TO_POINTER (TRUE);
}
else
{
*result = GINT_TO_POINTER (FALSE);
}
return TRUE;
}
static gboolean
update_experimental_features (MetaBackend *backend)
{
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
return GPOINTER_TO_INT (g_settings_get_mapped (priv->mutter_settings,
"experimental-features",
experimental_features_handler,
backend));
}
static void
mutter_settings_changed (GSettings *settings,
gchar *key,
MetaBackend *backend)
{
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
MetaExperimentalFeature old_experimental_features;
gboolean changed;
if (!g_str_equal (key, "experimental-features"))
return;
old_experimental_features = priv->experimental_features;
changed = update_experimental_features (backend);
if (changed)
g_signal_emit (backend, signals[EXPERIMENTAL_FEATURES_CHANGED], 0,
(unsigned int) old_experimental_features);
}
gboolean
meta_backend_is_experimental_feature_enabled (MetaBackend *backend,
MetaExperimentalFeature feature)
{
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
return !!(priv->experimental_features & feature);
}
void
meta_backend_override_experimental_features (MetaBackend *backend)
{
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
priv->experimental_features = META_EXPERIMENTAL_FEATURE_NONE;
priv->experimental_features_overridden = TRUE;
}
void
meta_backend_enable_experimental_feature (MetaBackend *backend,
MetaExperimentalFeature feature)
{
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
priv->experimental_features |= feature;
}
static void
meta_backend_class_init (MetaBackendClass *klass)
{
const gchar *mutter_stage_views;
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->finalize = meta_backend_finalize;
@ -563,44 +418,24 @@ meta_backend_class_init (MetaBackendClass *klass)
klass->select_stage_events = meta_backend_real_select_stage_events;
klass->get_relative_motion_deltas = meta_backend_real_get_relative_motion_deltas;
signals[KEYMAP_CHANGED] =
g_signal_new ("keymap-changed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 0);
signals[KEYMAP_LAYOUT_GROUP_CHANGED] =
g_signal_new ("keymap-layout-group-changed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_UINT);
signals[LAST_DEVICE_CHANGED] =
g_signal_new ("last-device-changed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_INT);
signals[EXPERIMENTAL_FEATURES_CHANGED] =
g_signal_new ("experimental-features-changed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_UINT);
signals[UI_SCALING_FACTOR_CHANGED] =
g_signal_new ("ui-scaling-factor-changed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 0);
mutter_stage_views = g_getenv ("MUTTER_STAGE_VIEWS");
stage_views_disabled = g_strcmp0 (mutter_stage_views, "0") == 0;
g_signal_new ("keymap-changed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 0);
g_signal_new ("keymap-layout-group-changed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_UINT);
g_signal_new ("last-device-changed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 1, G_TYPE_INT);
}
static gboolean
@ -611,12 +446,6 @@ meta_backend_initable_init (GInitable *initable,
MetaBackend *backend = META_BACKEND (initable);
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
priv->mutter_settings = g_settings_new ("org.gnome.mutter");
g_signal_connect (priv->mutter_settings, "changed",
G_CALLBACK (mutter_settings_changed),
backend);
update_experimental_features (backend);
priv->egl = g_object_new (META_TYPE_EGL, NULL);
priv->renderer = META_BACKEND_GET_CLASS (backend)->create_renderer (backend);
@ -630,8 +459,6 @@ meta_backend_initable_init (GInitable *initable,
priv->cursor_tracker = g_object_new (META_TYPE_CURSOR_TRACKER, NULL);
priv->dnd = g_object_new (META_TYPE_DND, NULL);
return TRUE;
}
@ -818,8 +645,8 @@ update_last_device (MetaBackend *backend)
priv->current_device_id);
device_type = clutter_input_device_get_device_type (device);
g_signal_emit (backend, signals[LAST_DEVICE_CHANGED], 0,
priv->current_device_id);
g_signal_emit_by_name (backend, "last-device-changed",
priv->current_device_id);
switch (device_type)
{
@ -993,6 +820,7 @@ meta_init_backend (GType backend_gtype)
void
meta_clutter_init (void)
{
ClutterSettings *clutter_settings;
GSource *source;
clutter_set_custom_backend_func (meta_get_clutter_backend);
@ -1003,6 +831,13 @@ meta_clutter_init (void)
exit (1);
}
/*
* XXX: We cannot handle high dpi scaling yet, so fix the scale to 1
* for now.
*/
clutter_settings = clutter_settings_get_default ();
g_object_set (clutter_settings, "window-scaling-factor", 1, NULL);
source = g_source_new (&event_funcs, sizeof (GSource));
g_source_attach (source, NULL);
g_source_unref (source);
@ -1010,52 +845,20 @@ meta_clutter_init (void)
meta_backend_post_init (_backend);
}
static void
xft_dpi_changed (GtkSettings *settings,
GParamSpec *pspec,
MetaBackend *backend)
{
meta_backend_update_ui_scaling_factor (backend);
meta_backend_notify_ui_scaling_factor_changed (backend);
}
void
meta_backend_display_opened (MetaBackend *backend)
{
/*
* gdk-window-scaling-factor is not exported to gtk-settings
* because it is handled inside gdk, so we use gtk-xft-dpi instead
* which also changes when the scale factor changes.
*
* TODO: Don't rely on GtkSettings for this
*/
g_signal_connect (gtk_settings_get_default (), "notify::gtk-xft-dpi",
G_CALLBACK (xft_dpi_changed), backend);
}
gboolean
meta_is_stage_views_enabled (void)
{
const gchar *mutter_stage_views;
if (!meta_is_wayland_compositor ())
return FALSE;
return !stage_views_disabled;
}
mutter_stage_views = g_getenv ("MUTTER_STAGE_VIEWS");
gboolean
meta_is_stage_views_scaled (void)
{
MetaBackend *backend = meta_get_backend ();
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
MetaLogicalMonitorLayoutMode layout_mode;
if (!mutter_stage_views)
return TRUE;
if (!meta_is_stage_views_enabled ())
return FALSE;
layout_mode = monitor_manager->layout_mode;
return layout_mode == META_LOGICAL_MONITOR_LAYOUT_MODE_LOGICAL;
return !g_str_equal (mutter_stage_views, "0");
}
MetaInputSettings *
@ -1066,75 +869,41 @@ meta_backend_get_input_settings (MetaBackend *backend)
return priv->input_settings;
}
/**
* meta_backend_get_dnd:
* @backend: A #MetaDnd
*
* Gets the global #MetaDnd that's managed by this backend.
*
* Returns: (transfer none): the #MetaDnd
*/
MetaDnd *
meta_backend_get_dnd (MetaBackend *backend)
void
meta_backend_update_cursor_position (MetaBackend *backend, int x, int y)
{
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
return priv->dnd;
meta_cursor_renderer_set_position (priv->cursor_renderer, x, y);
meta_backend_cursor_position_changed (backend);
}
void
meta_backend_notify_keymap_changed (MetaBackend *backend)
meta_backend_cursor_position_changed (MetaBackend *backend)
{
g_signal_emit (backend, signals[KEYMAP_CHANGED], 0);
meta_cursor_tracker_cursor_position_changed (backend->cursor_tracker);
}
static void
meta_backend_track_position (MetaBackend *backend, gboolean enabled)
{
if (META_BACKEND_GET_CLASS (backend)->track_position)
META_BACKEND_GET_CLASS (backend)->track_position (backend, enabled);
}
void
meta_backend_notify_keymap_layout_group_changed (MetaBackend *backend,
unsigned int locked_group)
meta_backend_track_position_ref (MetaBackend *backend)
{
g_signal_emit (backend, signals[KEYMAP_LAYOUT_GROUP_CHANGED], 0,
locked_group);
}
static int
calculate_ui_scaling_factor (MetaBackend *backend)
{
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
GList *logical_monitors;
GList *l;
int max_scale = 1;
logical_monitors =
meta_monitor_manager_get_logical_monitors (monitor_manager);
for (l = logical_monitors; l; l = l->next)
{
MetaLogicalMonitor *logical_monitor = l->data;
max_scale = MAX (logical_monitor->scale, max_scale);
}
return max_scale;
}
int
meta_backend_get_ui_scaling_factor (MetaBackend *backend)
{
if (meta_is_stage_views_scaled ())
{
return 1;
}
else
{
if (meta_is_monitor_config_manager_enabled ())
return calculate_ui_scaling_factor (backend);
else
return meta_theme_get_window_scaling_factor ();
}
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
if (priv->track_position_refcount++ == 0)
meta_backend_track_position (backend, TRUE);
}
void
meta_backend_notify_ui_scaling_factor_changed (MetaBackend *backend)
meta_backend_track_position_unref (MetaBackend *backend)
{
g_signal_emit (backend, signals[UI_SCALING_FACTOR_CHANGED], 0);
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
if (priv->track_position_refcount-- == 0)
meta_backend_track_position (backend, FALSE);
}

View File

@ -61,10 +61,8 @@ void meta_cursor_tracker_unset_window_cursor (MetaCursorTracker *tracker);
void meta_cursor_tracker_set_root_cursor (MetaCursorTracker *tracker,
MetaCursorSprite *cursor_sprite);
void meta_cursor_tracker_update_position (MetaCursorTracker *tracker,
int new_x,
int new_y);
MetaCursorSprite * meta_cursor_tracker_get_displayed_cursor (MetaCursorTracker *tracker);
void meta_backend_cursor_position_changed (MetaCursorTracker *tracker);
#endif

View File

@ -47,6 +47,7 @@
G_DEFINE_TYPE (MetaCursorTracker, meta_cursor_tracker, G_TYPE_OBJECT);
enum {
POSITION_CHANGED,
CURSOR_CHANGED,
LAST_SIGNAL
};
@ -128,6 +129,13 @@ meta_cursor_tracker_class_init (MetaCursorTrackerClass *klass)
0,
NULL, NULL, NULL,
G_TYPE_NONE, 0);
signals[POSITION_CHANGED] = g_signal_new ("position-changed",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 0);
}
/**
@ -348,20 +356,6 @@ meta_cursor_tracker_set_root_cursor (MetaCursorTracker *tracker,
sync_cursor (tracker);
}
void
meta_cursor_tracker_update_position (MetaCursorTracker *tracker,
int new_x,
int new_y)
{
MetaBackend *backend = meta_get_backend ();
MetaCursorRenderer *cursor_renderer =
meta_backend_get_cursor_renderer (backend);
g_assert (meta_is_wayland_compositor ());
meta_cursor_renderer_set_position (cursor_renderer, new_x, new_y);
}
static void
get_pointer_position_gdk (int *x,
int *y,
@ -435,3 +429,21 @@ meta_cursor_tracker_get_displayed_cursor (MetaCursorTracker *tracker)
{
return tracker->displayed_cursor;
}
void
meta_cursor_tracker_position_changed (MetaCursorTracker *tracker)
{
g_signal_emit (tracker, signals[POSITION_CHANGED], 0);
}
void
meta_cursor_tracker_enable_track_position (MetaCursorTracker *tracker)
{
meta_backend_track_position_ref (meta_get_backend ());
}
void
meta_cursor_tracker_disable_track_position (MetaCursorTracker *tracker)
{
meta_backend_track_position_unref (meta_get_backend ());
}

View File

@ -1,34 +0,0 @@
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
* Copyright (C) 2016 Hyungwon Hwang
*
* 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, see <http://www.gnu.org/licenses/>.
*/
#ifndef META_DND_PRIVATE__H
#define META_DND_PRIVATE__H
#include <X11/Xlib.h>
gboolean meta_dnd_handle_xdnd_event (MetaBackend *backend,
MetaCompositor *compositor,
MetaDisplay *display,
XEvent *xev);
#ifdef HAVE_WAYLAND
void meta_dnd_wayland_handle_begin_modal (MetaCompositor *compositor);
#endif
#endif /* META_DND_PRIVATE_H */

View File

@ -66,7 +66,6 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL) (EGLDisplay dpy, st
#ifndef EGL_EXT_stream_acquire_mode
#define EGL_EXT_stream_acquire_mode 1
#define EGL_CONSUMER_AUTO_ACQUIRE_EXT 0x332B
#define EGL_RESOURCE_BUSY_EXT 0x3353
typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREATTRIBEXTPROC) (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);
#ifdef EGL_EGLEXT_PROTOTYPES
EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireAttribEXT (EGLDisplay dpy, EGLStreamKHR stream, const EGLAttrib *attrib_list);

View File

@ -70,11 +70,13 @@ struct _MetaEgl
G_DEFINE_TYPE (MetaEgl, meta_egl, G_TYPE_OBJECT)
G_DEFINE_QUARK (-meta-egl-error-quark, meta_egl_error)
static const char *
get_egl_error_str (EGLint error_number)
get_egl_error_str (void)
{
EGLint error_number;
error_number = eglGetError ();
switch (error_number)
{
case EGL_SUCCESS:
@ -122,19 +124,6 @@ get_egl_error_str (EGLint error_number)
case EGL_CONTEXT_LOST:
return "A power management event has occurred. The application must destroy all contexts and reinitialise OpenGL ES state and objects to continue rendering. ";
break;
case EGL_BAD_STREAM_KHR:
return "An EGLStreamKHR argument does not name a valid EGL stream.";
break;
case EGL_BAD_STATE_KHR:
return "An EGLStreamKHR argument is not in a valid state";
break;
case EGL_BAD_DEVICE_EXT:
return "An EGLDeviceEXT argument does not name a valid EGL device.";
break;
case EGL_BAD_OUTPUT_LAYER_EXT:
return "An EGLOutputLayerEXT argument does not name a valid EGL output layer.";
case EGL_RESOURCE_BUSY_EXT:
return "The operation could not be completed on the requested resource because it is temporary unavailable.";
default:
return "Unknown error";
break;
@ -144,16 +133,14 @@ get_egl_error_str (EGLint error_number)
static void
set_egl_error (GError **error)
{
EGLint error_number;
const char *error_str;
if (!error)
return;
error_number = eglGetError ();
error_str = get_egl_error_str (error_number);
g_set_error_literal (error, META_EGL_ERROR,
error_number,
error_str = get_egl_error_str ();
g_set_error_literal (error, G_IO_ERROR,
G_IO_ERROR_FAILED,
error_str);
}
@ -213,8 +200,7 @@ meta_egl_has_extensions (MetaEgl *egl,
extensions_str = (const char *) eglQueryString (display, EGL_EXTENSIONS);
if (!extensions_str)
{
g_warning ("Failed to query string: %s",
get_egl_error_str (eglGetError ()));
g_warning ("Failed to query string: %s", get_egl_error_str ());
return FALSE;
}

View File

@ -29,13 +29,9 @@
#include <EGL/eglext.h>
#include <glib-object.h>
#define META_EGL_ERROR meta_egl_error_quark ()
#define META_TYPE_EGL (meta_egl_get_type ())
G_DECLARE_FINAL_TYPE (MetaEgl, meta_egl, META, EGL, GObject)
GQuark meta_egl_error_quark (void);
gboolean meta_egl_has_extensions (MetaEgl *egl,
EGLDisplay display,
char ***missing_extensions,

View File

@ -92,7 +92,7 @@ struct _MetaInputSettingsClass
GDesktopTabletMapping mapping);
void (* set_tablet_keep_aspect) (MetaInputSettings *settings,
ClutterInputDevice *device,
MetaLogicalMonitor *logical_monitor,
MetaOutput *output,
gboolean keep_aspect);
void (* set_tablet_area) (MetaInputSettings *settings,
ClutterInputDevice *device,

View File

@ -31,8 +31,6 @@
#include "meta-backend-private.h"
#include "meta-input-settings-private.h"
#include "backends/meta-logical-monitor.h"
#include "backends/meta-monitor.h"
#include "x11/meta-input-settings-x11.h"
#ifdef HAVE_NATIVE_BACKEND
@ -68,7 +66,6 @@ struct _MetaInputSettingsPrivate
GSettings *touchpad_settings;
GSettings *trackball_settings;
GSettings *keyboard_settings;
GSettings *gsd_settings;
GHashTable *mappable_devices;
@ -130,7 +127,6 @@ meta_input_settings_dispose (GObject *object)
g_clear_object (&priv->touchpad_settings);
g_clear_object (&priv->trackball_settings);
g_clear_object (&priv->keyboard_settings);
g_clear_object (&priv->gsd_settings);
g_clear_pointer (&priv->mappable_devices, g_hash_table_unref);
if (priv->monitors_changed_id && priv->monitor_manager)
@ -690,40 +686,14 @@ update_keyboard_repeat (MetaInputSettings *input_settings)
repeat, delay, interval);
}
static gboolean
logical_monitor_has_monitor (MetaMonitorManager *monitor_manager,
MetaLogicalMonitor *logical_monitor,
const char *vendor,
const char *product,
const char *serial)
{
GList *monitors;
GList *l;
monitors = meta_monitor_manager_get_monitors (monitor_manager);
for (l = monitors; l; l = l->next)
{
MetaMonitor *monitor = l->data;
if (g_strcmp0 (meta_monitor_get_vendor (monitor), vendor) == 0 &&
g_strcmp0 (meta_monitor_get_product (monitor), product) == 0 &&
g_strcmp0 (meta_monitor_get_serial (monitor), serial) == 0)
return TRUE;
}
return FALSE;
}
static MetaLogicalMonitor *
meta_input_settings_find_logical_monitor (MetaInputSettings *input_settings,
GSettings *settings,
ClutterInputDevice *device)
static MetaOutput *
meta_input_settings_find_output (MetaInputSettings *input_settings,
GSettings *settings,
ClutterInputDevice *device)
{
MetaInputSettingsPrivate *priv;
MetaMonitorManager *monitor_manager;
guint n_values;
GList *logical_monitors;
GList *l;
guint n_values, n_outputs, i;
MetaOutput *outputs;
gchar **edid;
priv = meta_input_settings_get_instance_private (input_settings);
@ -741,19 +711,14 @@ meta_input_settings_find_logical_monitor (MetaInputSettings *input_settings,
if (!*edid[0] && !*edid[1] && !*edid[2])
return NULL;
monitor_manager = priv->monitor_manager;
logical_monitors =
meta_monitor_manager_get_logical_monitors (monitor_manager);
for (l = logical_monitors; l; l = l->next)
outputs = meta_monitor_manager_get_outputs (priv->monitor_manager,
&n_outputs);
for (i = 0; i < n_outputs; i++)
{
MetaLogicalMonitor *logical_monitor = l->data;
if (logical_monitor_has_monitor (monitor_manager,
logical_monitor,
edid[0],
edid[1],
edid[2]))
return logical_monitor;
if (g_strcmp0 (outputs[i].vendor, edid[0]) == 0 &&
g_strcmp0 (outputs[i].product, edid[1]) == 0 &&
g_strcmp0 (outputs[i].serial, edid[2]) == 0)
return &outputs[i];
}
return NULL;
@ -765,7 +730,7 @@ update_tablet_keep_aspect (MetaInputSettings *input_settings,
ClutterInputDevice *device)
{
MetaInputSettingsClass *input_settings_class;
MetaLogicalMonitor *logical_monitor = NULL;
MetaOutput *output = NULL;
gboolean keep_aspect;
if (clutter_input_device_get_device_type (device) != CLUTTER_TABLET_DEVICE &&
@ -792,9 +757,7 @@ update_tablet_keep_aspect (MetaInputSettings *input_settings,
CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE)
{
keep_aspect = g_settings_get_boolean (settings, "keep-aspect");
logical_monitor = meta_input_settings_find_logical_monitor (input_settings,
settings,
device);
output = meta_input_settings_find_output (input_settings, settings, device);
}
else
{
@ -802,7 +765,7 @@ update_tablet_keep_aspect (MetaInputSettings *input_settings,
}
input_settings_class->set_tablet_keep_aspect (input_settings, device,
logical_monitor, keep_aspect);
output, keep_aspect);
}
static void
@ -813,7 +776,7 @@ update_device_display (MetaInputSettings *input_settings,
MetaInputSettingsClass *input_settings_class;
MetaInputSettingsPrivate *priv;
gfloat matrix[6] = { 1, 0, 0, 0, 1, 0 };
MetaLogicalMonitor *logical_monitor;
MetaOutput *output;
if (clutter_input_device_get_device_type (device) != CLUTTER_TABLET_DEVICE &&
clutter_input_device_get_device_type (device) != CLUTTER_PEN_DEVICE &&
@ -828,15 +791,13 @@ update_device_display (MetaInputSettings *input_settings,
if (clutter_input_device_get_device_type (device) != CLUTTER_TABLET_DEVICE ||
clutter_input_device_get_mapping_mode (device) ==
CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE)
logical_monitor = meta_input_settings_find_logical_monitor (input_settings,
settings,
device);
output = meta_input_settings_find_output (input_settings, settings, device);
else
logical_monitor = NULL;
output = NULL;
if (logical_monitor)
if (output)
meta_monitor_manager_get_monitor_matrix (priv->monitor_manager,
logical_monitor, matrix);
output, matrix);
input_settings_class->set_matrix (input_settings, device, matrix);
@ -1453,12 +1414,6 @@ meta_input_settings_init (MetaInputSettings *settings)
g_signal_connect (priv->keyboard_settings, "changed",
G_CALLBACK (meta_input_settings_changed_cb), settings);
priv->gsd_settings = g_settings_new ("org.gnome.settings-daemon.peripherals.mouse");
g_settings_bind (priv->gsd_settings, "double-click",
clutter_settings_get_default(), "double-click-time",
G_SETTINGS_BIND_GET);
priv->mappable_devices =
g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) device_mapping_info_free);
@ -1517,6 +1472,7 @@ meta_input_settings_get_tablet_logical_monitor (MetaInputSettings *settings,
{
MetaInputSettingsPrivate *priv;
DeviceMappingInfo *info;
MetaOutput *output;
g_return_val_if_fail (META_IS_INPUT_SETTINGS (settings), NULL);
g_return_val_if_fail (CLUTTER_IS_INPUT_DEVICE (device), NULL);
@ -1526,9 +1482,12 @@ meta_input_settings_get_tablet_logical_monitor (MetaInputSettings *settings,
if (!info)
return NULL;
return meta_input_settings_find_logical_monitor (settings,
info->settings,
device);
output = meta_input_settings_find_output (settings, info->settings, device);
if (output && output->crtc)
return output->crtc->logical_monitor;
return NULL;
}
GDesktopTabletMapping
@ -1590,38 +1549,47 @@ meta_input_settings_get_tablet_wacom_device (MetaInputSettings *settings,
#endif /* HAVE_LIBWACOM */
static gboolean
cycle_logical_monitors (MetaInputSettings *settings,
MetaLogicalMonitor *current_logical_monitor,
MetaLogicalMonitor **next_logical_monitor)
cycle_outputs (MetaInputSettings *settings,
MetaOutput *current_output,
MetaOutput **next_output)
{
MetaInputSettingsPrivate *priv =
meta_input_settings_get_instance_private (settings);
MetaMonitorManager *monitor_manager = priv->monitor_manager;
GList *logical_monitors;
MetaInputSettingsPrivate *priv;
MetaOutput *next, *outputs;
guint n_outputs, current, i;
priv = meta_input_settings_get_instance_private (settings);
outputs = meta_monitor_manager_get_outputs (priv->monitor_manager,
&n_outputs);
if (n_outputs <= 1)
return FALSE;
/* We cycle between:
* - the span of all monitors (current_output = NULL)
* - each monitor individually.
*/
logical_monitors =
meta_monitor_manager_get_logical_monitors (monitor_manager);
if (!current_logical_monitor)
if (!current_output)
{
*next_logical_monitor = logical_monitors->data;
next = &outputs[0];
}
else
{
GList *l;
for (i = 0; i < n_outputs; i++)
{
if (current_output != &outputs[i])
continue;
current = i;
break;
}
l = g_list_find (logical_monitors, current_logical_monitor);
if (l->next)
*next_logical_monitor = l->next->data;
g_assert (i < n_outputs);
if (current == n_outputs - 1)
next = NULL;
else
*next_logical_monitor = logical_monitors->data;
next = &outputs[current + 1];
}
*next_output = next;
return TRUE;
}
@ -1631,7 +1599,7 @@ meta_input_settings_cycle_tablet_output (MetaInputSettings *input_settings,
{
MetaInputSettingsPrivate *priv;
DeviceMappingInfo *info;
MetaLogicalMonitor *logical_monitor;
MetaOutput *output;
const gchar *edid[4] = { 0 }, *pretty_name = NULL;
g_return_if_fail (META_IS_INPUT_SETTINGS (input_settings));
@ -1654,30 +1622,14 @@ meta_input_settings_cycle_tablet_output (MetaInputSettings *input_settings,
}
#endif
logical_monitor = meta_input_settings_find_logical_monitor (input_settings,
info->settings,
device);
if (!cycle_logical_monitors (input_settings,
logical_monitor,
&logical_monitor))
output = meta_input_settings_find_output (input_settings,
info->settings, device);
if (!cycle_outputs (input_settings, output, &output))
return;
if (logical_monitor)
{
MetaMonitor *monitor;
/* Pick an arbitrary monitor in the logical monitor to represent it. */
monitor = meta_logical_monitor_get_monitors (logical_monitor)->data;
edid[0] = meta_monitor_get_vendor (monitor);
edid[1] = meta_monitor_get_product (monitor);
edid[2] = meta_monitor_get_serial (monitor);
}
else
{
edid[0] = "";
edid[1] = "";
edid[2] = "";
}
edid[0] = output ? output->vendor : "";
edid[1] = output ? output->product : "";
edid[2] = output ? output->serial : "";
g_settings_set_strv (info->settings, "display", edid);
meta_display_show_tablet_mapping_notification (meta_get_display (),

View File

@ -21,119 +21,53 @@
#include "config.h"
#include "backends/meta-backend-private.h"
#include "backends/meta-logical-monitor.h"
G_DEFINE_TYPE (MetaLogicalMonitor, meta_logical_monitor, G_TYPE_OBJECT)
static MetaMonitor *
get_first_monitor (MetaMonitorManager *monitor_manager,
GList *monitor_configs)
{
MetaMonitorConfig *first_monitor_config;
MetaMonitorSpec *first_monitor_spec;
first_monitor_config = g_list_first (monitor_configs)->data;
first_monitor_spec = first_monitor_config->monitor_spec;
return meta_monitor_manager_get_monitor_from_spec (monitor_manager,
first_monitor_spec);
}
typedef struct
{
MetaMonitorManager *monitor_manager;
MetaLogicalMonitor *logical_monitor;
} AddMonitorFromConfigData;
static void
add_monitor_from_config (MetaMonitorConfig *monitor_config,
AddMonitorFromConfigData *data)
{
MetaMonitorSpec *monitor_spec;
MetaMonitor *monitor;
monitor_spec = monitor_config->monitor_spec;
monitor = meta_monitor_manager_get_monitor_from_spec (data->monitor_manager,
monitor_spec);
meta_logical_monitor_add_monitor (data->logical_monitor, monitor);
}
MetaLogicalMonitor *
meta_logical_monitor_new (MetaMonitorManager *monitor_manager,
MetaLogicalMonitorConfig *logical_monitor_config,
int monitor_number)
meta_logical_monitor_new (MetaMonitor *monitor,
int x,
int y,
int number)
{
MetaLogicalMonitor *logical_monitor;
GList *monitor_configs;
MetaMonitor *first_monitor;
MetaOutput *main_output;
GList *outputs;
GList *l;
gboolean is_presentation;
g_assert (meta_monitor_is_active (monitor));
logical_monitor = g_object_new (META_TYPE_LOGICAL_MONITOR, NULL);
monitor_configs = logical_monitor_config->monitor_configs;
first_monitor = get_first_monitor (monitor_manager, monitor_configs);
main_output = meta_monitor_get_main_output (first_monitor);
logical_monitor->number = monitor_number;
logical_monitor->winsys_id = main_output->winsys_id;
logical_monitor->scale = logical_monitor_config->scale;
logical_monitor->transform = logical_monitor_config->transform;
logical_monitor->in_fullscreen = -1;
logical_monitor->rect = logical_monitor_config->layout;
logical_monitor->is_presentation = TRUE;
g_list_foreach (monitor_configs, (GFunc) add_monitor_from_config,
&(AddMonitorFromConfigData) {
.monitor_manager = monitor_manager,
.logical_monitor = logical_monitor
});
return logical_monitor;
}
static MetaMonitorTransform
derive_monitor_transform (MetaMonitor *monitor)
{
MetaOutput *main_output;
main_output = meta_monitor_get_main_output (monitor);
return main_output->crtc->transform;
}
MetaLogicalMonitor *
meta_logical_monitor_new_derived (MetaMonitorManager *monitor_manager,
MetaMonitor *monitor,
MetaRectangle *layout,
int monitor_number)
{
MetaLogicalMonitor *logical_monitor;
MetaOutput *main_output;
MetaMonitorMode *monitor_mode;
int scale;
MetaMonitorTransform transform;
logical_monitor = g_object_new (META_TYPE_LOGICAL_MONITOR, NULL);
monitor_mode = meta_monitor_get_current_mode (monitor);
scale = meta_monitor_manager_calculate_monitor_mode_scale (monitor_manager,
monitor,
monitor_mode);
transform = derive_monitor_transform (monitor);
main_output = meta_monitor_get_main_output (monitor);
logical_monitor->number = monitor_number;
logical_monitor->number = number;
logical_monitor->winsys_id = main_output->winsys_id;
logical_monitor->scale = scale;
logical_monitor->transform = transform;
logical_monitor->scale = main_output->scale;
logical_monitor->in_fullscreen = -1;
logical_monitor->rect = *layout;
logical_monitor->is_presentation = TRUE;
meta_logical_monitor_add_monitor (logical_monitor, monitor);
logical_monitor->rect.x = x;
logical_monitor->rect.y = y;
meta_monitor_get_dimensions (monitor,
&logical_monitor->rect.width,
&logical_monitor->rect.height);
is_presentation = TRUE;
outputs = meta_monitor_get_outputs (monitor);
for (l = outputs; l; l = l->next)
{
MetaOutput *output = l->data;
output->crtc->logical_monitor = logical_monitor;
is_presentation = is_presentation && output->is_presentation;
}
logical_monitor->is_presentation = is_presentation;
logical_monitor->monitors = g_list_append (logical_monitor->monitors,
monitor);
return logical_monitor;
}
@ -161,8 +95,7 @@ meta_logical_monitor_add_monitor (MetaLogicalMonitor *logical_monitor,
MetaOutput *output = l_output->data;
is_presentation = is_presentation && output->is_presentation;
if (output->crtc)
output->crtc->logical_monitor = logical_monitor;
output->crtc->logical_monitor = logical_monitor;
}
}
@ -202,43 +135,3 @@ static void
meta_logical_monitor_class_init (MetaLogicalMonitorClass *klass)
{
}
gboolean
meta_logical_monitor_has_neighbor (MetaLogicalMonitor *logical_monitor,
MetaLogicalMonitor *neighbor,
MetaScreenDirection neighbor_direction)
{
switch (neighbor_direction)
{
case META_SCREEN_RIGHT:
if (neighbor->rect.x == (logical_monitor->rect.x +
logical_monitor->rect.width) &&
meta_rectangle_vert_overlap (&neighbor->rect,
&logical_monitor->rect))
return TRUE;
break;
case META_SCREEN_LEFT:
if (logical_monitor->rect.x == (neighbor->rect.x +
neighbor->rect.width) &&
meta_rectangle_vert_overlap (&neighbor->rect,
&logical_monitor->rect))
return TRUE;
break;
case META_SCREEN_UP:
if (logical_monitor->rect.y == (neighbor->rect.y +
neighbor->rect.height) &&
meta_rectangle_horiz_overlap (&neighbor->rect,
&logical_monitor->rect))
return TRUE;
break;
case META_SCREEN_DOWN:
if (neighbor->rect.y == (logical_monitor->rect.y +
logical_monitor->rect.height) &&
meta_rectangle_horiz_overlap (&neighbor->rect,
&logical_monitor->rect))
return TRUE;
break;
}
return FALSE;
}

View File

@ -25,7 +25,6 @@
#include <glib-object.h>
#include "backends/meta-monitor.h"
#include "backends/meta-monitor-config-manager.h"
#include "backends/meta-monitor-manager-private.h"
#include "meta/boxes.h"
@ -41,7 +40,6 @@ struct _MetaLogicalMonitor
gboolean is_presentation; /* XXX: not yet used */
gboolean in_fullscreen;
int scale;
MetaMonitorTransform transform;
/* The primary or first output for this monitor, 0 if we can't figure out.
It can be matched to a winsys_id of a MetaOutput.
@ -61,14 +59,10 @@ G_DECLARE_FINAL_TYPE (MetaLogicalMonitor, meta_logical_monitor,
META, LOGICAL_MONITOR,
GObject)
MetaLogicalMonitor * meta_logical_monitor_new (MetaMonitorManager *monitor_manager,
MetaLogicalMonitorConfig *logical_monitor_config,
int monitor_number);
MetaLogicalMonitor * meta_logical_monitor_new_derived (MetaMonitorManager *monitor_manager,
MetaMonitor *monitor,
MetaRectangle *layout,
int monitor_number);
MetaLogicalMonitor * meta_logical_monitor_new (MetaMonitor *monitor,
int x,
int y,
int number);
void meta_logical_monitor_add_monitor (MetaLogicalMonitor *logical_monitor,
MetaMonitor *monitor);
@ -81,8 +75,4 @@ int meta_logical_monitor_get_scale (MetaLogicalMonitor *logical_monitor);
GList * meta_logical_monitor_get_monitors (MetaLogicalMonitor *logical_monitor);
gboolean meta_logical_monitor_has_neighbor (MetaLogicalMonitor *logical_monitor,
MetaLogicalMonitor *neighbor,
MetaScreenDirection neighbor_dir);
#endif /* META_LOGICAL_MONITOR_H */

View File

@ -36,7 +36,6 @@ struct _MetaMonitorConfigManager
MetaMonitorConfigStore *config_store;
MetaMonitorsConfig *current_config;
MetaMonitorsConfig *previous_config;
};
G_DEFINE_TYPE (MetaMonitorConfigManager, meta_monitor_config_manager,
@ -52,8 +51,8 @@ meta_monitor_config_manager_new (MetaMonitorManager *monitor_manager)
config_manager = g_object_new (META_TYPE_MONITOR_CONFIG_MANAGER, NULL);
config_manager->monitor_manager = monitor_manager;
config_manager->config_store =
meta_monitor_config_store_new (monitor_manager);
config_manager->config_store = g_object_new (META_TYPE_MONITOR_CONFIG_STORE,
NULL);
return config_manager;
}
@ -102,7 +101,6 @@ find_unassigned_crtc (MetaOutput *output,
typedef struct
{
MetaMonitorManager *monitor_manager;
MetaLogicalMonitorConfig *logical_monitor_config;
MetaMonitorConfig *monitor_config;
GPtrArray *crtc_infos;
@ -119,9 +117,6 @@ assign_monitor_crtc (MetaMonitor *monitor,
MonitorAssignmentData *data = user_data;
MetaOutput *output;
MetaCrtc *crtc;
MetaMonitorTransform transform;
MetaMonitorTransform crtc_transform;
int crtc_x, crtc_y;
MetaCrtcInfo *crtc_info;
MetaOutputInfo *output_info;
MetaMonitorConfig *first_monitor_config;
@ -141,24 +136,13 @@ assign_monitor_crtc (MetaMonitor *monitor,
return FALSE;
}
transform = data->logical_monitor_config->transform;
if (meta_monitor_manager_is_transform_handled (data->monitor_manager,
crtc,
transform))
crtc_transform = transform;
else
crtc_transform = META_MONITOR_TRANSFORM_NORMAL;
meta_monitor_calculate_crtc_pos (monitor, mode, output, crtc_transform,
&crtc_x, &crtc_y);
crtc_info = g_slice_new0 (MetaCrtcInfo);
*crtc_info = (MetaCrtcInfo) {
.crtc = crtc,
.mode = monitor_crtc_mode->crtc_mode,
.x = crtc_x,
.y = crtc_y,
.transform = crtc_transform,
.x = monitor_crtc_mode->x,
.y = monitor_crtc_mode->y,
.transform = META_MONITOR_TRANSFORM_NORMAL,
.outputs = g_ptr_array_new ()
};
g_ptr_array_add (crtc_info->outputs, output);
@ -181,8 +165,7 @@ assign_monitor_crtc (MetaMonitor *monitor,
* as such.
*/
first_monitor_config = data->logical_monitor_config->monitor_configs->data;
if (data->logical_monitor_config->is_primary &&
data->monitor_config == first_monitor_config &&
if (data->monitor_config == first_monitor_config &&
meta_monitor_get_main_output (monitor) == output)
assign_output_as_primary = TRUE;
else
@ -198,7 +181,7 @@ assign_monitor_crtc (MetaMonitor *monitor,
.output = output,
.is_primary = assign_output_as_primary,
.is_presentation = assign_output_as_presentation,
.is_underscanning = data->monitor_config->enable_underscanning
.is_underscanning = data->monitor_config->is_underscanning
};
g_ptr_array_add (data->crtc_infos, crtc_info);
@ -242,7 +225,6 @@ assign_monitor_crtcs (MetaMonitorManager *manager,
}
data = (MonitorAssignmentData) {
.monitor_manager = manager,
.logical_monitor_config = logical_monitor_config,
.monitor_config = monitor_config,
.crtc_infos = crtc_infos,
@ -472,41 +454,24 @@ create_monitor_config (MetaMonitor *monitor,
*monitor_config = (MetaMonitorConfig) {
.monitor_spec = meta_monitor_spec_clone (monitor_spec),
.mode_spec = g_memdup (mode_spec, sizeof (MetaMonitorModeSpec)),
.enable_underscanning = meta_monitor_is_underscanning (monitor)
.is_underscanning = meta_monitor_is_underscanning (monitor)
};
return monitor_config;
}
static MetaLogicalMonitorConfig *
create_preferred_logical_monitor_config (MetaMonitorManager *monitor_manager,
MetaMonitor *monitor,
int x,
int y,
MetaLogicalMonitorLayoutMode layout_mode)
create_preferred_logical_monitor_config (MetaMonitor *monitor,
int x,
int y)
{
MetaMonitorMode *mode;
int width, height;
int scale;
MetaMonitorConfig *monitor_config;
MetaLogicalMonitorConfig *logical_monitor_config;
mode = meta_monitor_get_preferred_mode (monitor);
meta_monitor_mode_get_resolution (mode, &width, &height);
scale = meta_monitor_manager_calculate_monitor_mode_scale (monitor_manager,
monitor,
mode);
switch (layout_mode)
{
case META_LOGICAL_MONITOR_LAYOUT_MODE_LOGICAL:
width /= scale;
height /= scale;
break;
case META_LOGICAL_MONITOR_LAYOUT_MODE_PHYSICAL:
break;
}
monitor_config = create_monitor_config (monitor, mode);
logical_monitor_config = g_new0 (MetaLogicalMonitorConfig, 1);
@ -517,7 +482,6 @@ create_preferred_logical_monitor_config (MetaMonitorManager *monitor_ma
.width = width,
.height = height
},
.scale = scale,
.monitor_configs = g_list_append (NULL, monitor_config)
};
@ -530,7 +494,6 @@ meta_monitor_config_manager_create_linear (MetaMonitorConfigManager *config_mana
MetaMonitorManager *monitor_manager = config_manager->monitor_manager;
GList *logical_monitor_configs;
MetaMonitor *primary_monitor;
MetaLogicalMonitorLayoutMode layout_mode;
MetaLogicalMonitorConfig *primary_logical_monitor_config;
int x;
GList *monitors;
@ -540,13 +503,8 @@ meta_monitor_config_manager_create_linear (MetaMonitorConfigManager *config_mana
if (!primary_monitor)
return NULL;
layout_mode = meta_monitor_manager_get_default_layout_mode (monitor_manager);
primary_logical_monitor_config =
create_preferred_logical_monitor_config (monitor_manager,
primary_monitor,
0, 0,
layout_mode);
create_preferred_logical_monitor_config (primary_monitor, 0, 0);
primary_logical_monitor_config->is_primary = TRUE;
logical_monitor_configs = g_list_append (NULL,
primary_logical_monitor_config);
@ -566,17 +524,14 @@ meta_monitor_config_manager_create_linear (MetaMonitorConfigManager *config_mana
continue;
logical_monitor_config =
create_preferred_logical_monitor_config (monitor_manager,
monitor,
x, 0,
layout_mode);
create_preferred_logical_monitor_config (monitor, x, 0);
logical_monitor_configs = g_list_append (logical_monitor_configs,
logical_monitor_config);
x += logical_monitor_config->layout.width;
}
return meta_monitors_config_new (logical_monitor_configs, layout_mode);
return meta_monitors_config_new (logical_monitor_configs);
}
MetaMonitorsConfig *
@ -585,25 +540,19 @@ meta_monitor_config_manager_create_fallback (MetaMonitorConfigManager *config_ma
MetaMonitorManager *monitor_manager = config_manager->monitor_manager;
MetaMonitor *primary_monitor;
GList *logical_monitor_configs;
MetaLogicalMonitorLayoutMode layout_mode;
MetaLogicalMonitorConfig *primary_logical_monitor_config;
primary_monitor = find_primary_monitor (monitor_manager);
if (!primary_monitor)
return NULL;
layout_mode = meta_monitor_manager_get_default_layout_mode (monitor_manager);
primary_logical_monitor_config =
create_preferred_logical_monitor_config (monitor_manager,
primary_monitor,
0, 0,
layout_mode);
create_preferred_logical_monitor_config (primary_monitor, 0, 0);
primary_logical_monitor_config->is_primary = TRUE;
logical_monitor_configs = g_list_append (NULL,
primary_logical_monitor_config);
return meta_monitors_config_new (logical_monitor_configs, layout_mode);
return meta_monitors_config_new (logical_monitor_configs);
}
MetaMonitorsConfig *
@ -612,7 +561,6 @@ meta_monitor_config_manager_create_suggested (MetaMonitorConfigManager *config_m
MetaMonitorManager *monitor_manager = config_manager->monitor_manager;
MetaLogicalMonitorConfig *primary_logical_monitor_config = NULL;
MetaMonitor *primary_monitor;
MetaLogicalMonitorLayoutMode layout_mode;
GList *logical_monitor_configs;
GList *region;
GList *monitors;
@ -622,8 +570,6 @@ meta_monitor_config_manager_create_suggested (MetaMonitorConfigManager *config_m
if (!primary_monitor)
return NULL;
layout_mode = meta_monitor_manager_get_default_layout_mode (monitor_manager);
logical_monitor_configs = NULL;
region = NULL;
monitors = meta_monitor_manager_get_monitors (monitor_manager);
@ -637,10 +583,7 @@ meta_monitor_config_manager_create_suggested (MetaMonitorConfigManager *config_m
continue;
logical_monitor_config =
create_preferred_logical_monitor_config (monitor_manager,
monitor,
x, y,
layout_mode);
create_preferred_logical_monitor_config (monitor, x, y);
logical_monitor_configs = g_list_append (logical_monitor_configs,
logical_monitor_config);
@ -671,39 +614,22 @@ meta_monitor_config_manager_create_suggested (MetaMonitorConfigManager *config_m
primary_logical_monitor_config->is_primary = TRUE;
return meta_monitors_config_new (logical_monitor_configs, layout_mode);
return meta_monitors_config_new (logical_monitor_configs);
}
void
meta_monitor_config_manager_set_current (MetaMonitorConfigManager *config_manager,
MetaMonitorsConfig *config)
{
g_set_object (&config_manager->previous_config,
config_manager->current_config);
g_set_object (&config_manager->current_config, config);
}
void
meta_monitor_config_manager_save_current (MetaMonitorConfigManager *config_manager)
{
g_return_if_fail (config_manager->current_config);
meta_monitor_config_store_add (config_manager->config_store,
config_manager->current_config);
}
MetaMonitorsConfig *
meta_monitor_config_manager_get_current (MetaMonitorConfigManager *config_manager)
{
return config_manager->current_config;
}
MetaMonitorsConfig *
meta_monitor_config_manager_get_previous (MetaMonitorConfigManager *config_manager)
{
return config_manager->previous_config;
}
static void
meta_monitor_config_manager_dispose (GObject *object)
{
@ -711,7 +637,6 @@ meta_monitor_config_manager_dispose (GObject *object)
META_MONITOR_CONFIG_MANAGER (object);
g_clear_object (&config_manager->current_config);
g_clear_object (&config_manager->previous_config);
G_OBJECT_CLASS (meta_monitor_config_manager_parent_class)->dispose (object);
}
@ -827,22 +752,20 @@ meta_monitors_config_key_equal (gconstpointer data_a,
return FALSE;
}
if (l_a || l_b)
if (l_b || l_b)
return FALSE;
return TRUE;
}
MetaMonitorsConfig *
meta_monitors_config_new (GList *logical_monitor_configs,
MetaLogicalMonitorLayoutMode layout_mode)
meta_monitors_config_new (GList *logical_monitor_configs)
{
MetaMonitorsConfig *config;
config = g_object_new (META_TYPE_MONITORS_CONFIG, NULL);
config->logical_monitor_configs = logical_monitor_configs;
config->key = meta_monitors_config_key_new (logical_monitor_configs);
config->layout_mode = layout_mode;
return config;
}
@ -869,232 +792,3 @@ meta_monitors_config_class_init (MetaMonitorsConfigClass *klass)
object_class->finalize = meta_monitors_config_finalize;
}
gboolean
meta_verify_monitor_mode_spec (MetaMonitorModeSpec *monitor_mode_spec,
GError **error)
{
if (monitor_mode_spec->width > 0 &&
monitor_mode_spec->height > 0 &&
monitor_mode_spec->refresh_rate > 0.0f)
{
return TRUE;
}
else
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Monitor mode invalid");
return FALSE;
}
}
gboolean
meta_verify_monitor_spec (MetaMonitorSpec *monitor_spec,
GError **error)
{
if (monitor_spec->connector &&
monitor_spec->vendor &&
monitor_spec->product &&
monitor_spec->serial)
{
return TRUE;
}
else
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Monitor spec incomplete");
return FALSE;
}
}
gboolean
meta_verify_monitor_config (MetaMonitorConfig *monitor_config,
GError **error)
{
if (monitor_config->monitor_spec && monitor_config->mode_spec)
{
return TRUE;
}
else
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Monitor config incomplete");
return FALSE;
}
}
gboolean
meta_verify_logical_monitor_config (MetaLogicalMonitorConfig *logical_monitor_config,
MetaLogicalMonitorLayoutMode layout_mode,
GError **error)
{
GList *l;
int expected_mode_width = 0;
int expected_mode_height = 0;
if (logical_monitor_config->scale < 1)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Invalid logical monitor config scale %d",
logical_monitor_config->scale);
return FALSE;
}
if (logical_monitor_config->layout.x < 0 ||
logical_monitor_config->layout.y < 0)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Invalid logical monitor position (%d, %d)",
logical_monitor_config->layout.x,
logical_monitor_config->layout.y);
return FALSE;
}
if (!logical_monitor_config->monitor_configs)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Logical monitor is empty");
return FALSE;
}
if (meta_monitor_transform_is_rotated (logical_monitor_config->transform))
{
expected_mode_width = logical_monitor_config->layout.height;
expected_mode_height = logical_monitor_config->layout.width;
}
else
{
expected_mode_width = logical_monitor_config->layout.width;
expected_mode_height = logical_monitor_config->layout.height;
}
switch (layout_mode)
{
case META_LOGICAL_MONITOR_LAYOUT_MODE_LOGICAL:
expected_mode_width *= logical_monitor_config->scale;
expected_mode_height *= logical_monitor_config->scale;
break;
case META_LOGICAL_MONITOR_LAYOUT_MODE_PHYSICAL:
break;
}
for (l = logical_monitor_config->monitor_configs; l; l = l->next)
{
MetaMonitorConfig *monitor_config = l->data;
if (monitor_config->mode_spec->width != expected_mode_width ||
monitor_config->mode_spec->height != expected_mode_height)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Monitor modes in logical monitor conflict");
return FALSE;
}
}
return TRUE;
}
static gboolean
has_adjecent_neighbour (MetaMonitorsConfig *config,
MetaLogicalMonitorConfig *logical_monitor_config)
{
GList *l;
if (!config->logical_monitor_configs->next)
{
g_assert (config->logical_monitor_configs->data ==
logical_monitor_config);
return TRUE;
}
for (l = config->logical_monitor_configs; l; l = l->next)
{
MetaLogicalMonitorConfig *other_logical_monitor_config = l->data;
if (logical_monitor_config == other_logical_monitor_config)
continue;
if (meta_rectangle_is_adjecent_to (&logical_monitor_config->layout,
&other_logical_monitor_config->layout))
return TRUE;
}
return FALSE;
}
gboolean
meta_verify_monitors_config (MetaMonitorsConfig *config,
GError **error)
{
int min_x, min_y;
gboolean has_primary;
GList *region;
GList *l;
if (!config->logical_monitor_configs)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Monitors config incomplete");
return FALSE;
}
min_x = INT_MAX;
min_y = INT_MAX;
region = NULL;
has_primary = FALSE;
for (l = config->logical_monitor_configs; l; l = l->next)
{
MetaLogicalMonitorConfig *logical_monitor_config = l->data;
if (meta_rectangle_overlaps_with_region (region,
&logical_monitor_config->layout))
{
g_list_free (region);
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Logical monitors overlap");
return FALSE;
}
if (has_primary && logical_monitor_config->is_primary)
{
g_list_free (region);
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Config contains multiple primary logical monitors");
return FALSE;
}
else if (logical_monitor_config->is_primary)
{
has_primary = TRUE;
}
if (!has_adjecent_neighbour (config, logical_monitor_config))
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Logical monitors not adjecent");
return FALSE;
}
min_x = MIN (logical_monitor_config->layout.x, min_x);
min_y = MIN (logical_monitor_config->layout.y, min_y);
region = g_list_prepend (region, &logical_monitor_config->layout);
}
g_list_free (region);
if (min_x != 0 || min_y != 0)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Logical monitors positions are offset");
return FALSE;
}
if (!has_primary)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Config is missing primary logical");
return FALSE;
}
return TRUE;
}

View File

@ -33,15 +33,13 @@ typedef struct _MetaMonitorConfig
{
MetaMonitorSpec *monitor_spec;
MetaMonitorModeSpec *mode_spec;
gboolean enable_underscanning;
gboolean is_underscanning;
} MetaMonitorConfig;
typedef struct _MetaLogicalMonitorConfig
{
MetaRectangle layout;
GList *monitor_configs;
MetaMonitorTransform transform;
int scale;
gboolean is_primary;
gboolean is_presentation;
} MetaLogicalMonitorConfig;
@ -57,8 +55,6 @@ struct _MetaMonitorsConfig
MetaMonitorsConfigKey *key;
GList *logical_monitor_configs;
MetaLogicalMonitorLayoutMode layout_mode;
};
#define META_TYPE_MONITORS_CONFIG (meta_monitors_config_get_type ())
@ -88,12 +84,7 @@ void meta_monitor_config_manager_set_current (MetaMonitorConfigManager *config_m
MetaMonitorsConfig * meta_monitor_config_manager_get_current (MetaMonitorConfigManager *config_manager);
MetaMonitorsConfig * meta_monitor_config_manager_get_previous (MetaMonitorConfigManager *config_manager);
void meta_monitor_config_manager_save_current (MetaMonitorConfigManager *config_manager);
MetaMonitorsConfig * meta_monitors_config_new (GList *logical_monitor_configs,
MetaLogicalMonitorLayoutMode layout_mode);
MetaMonitorsConfig * meta_monitors_config_new (GList *logical_monitor_configs);
unsigned int meta_monitors_config_key_hash (gconstpointer config_key);
@ -106,20 +97,4 @@ void meta_logical_monitor_config_free (MetaLogicalMonitorConfig *logical_monitor
void meta_monitor_config_free (MetaMonitorConfig *monitor_config);
gboolean meta_verify_monitor_mode_spec (MetaMonitorModeSpec *monitor_mode_spec,
GError **error);
gboolean meta_verify_monitor_spec (MetaMonitorSpec *monitor_spec,
GError **error);
gboolean meta_verify_monitor_config (MetaMonitorConfig *monitor_config,
GError **error);
gboolean meta_verify_logical_monitor_config (MetaLogicalMonitorConfig *logical_monitor_config,
MetaLogicalMonitorLayoutMode layout_mode,
GError **error);
gboolean meta_verify_monitors_config (MetaMonitorsConfig *config,
GError **error);
#endif /* META_MONITOR_CONFIG_MANAGER_H */

View File

@ -27,11 +27,7 @@
#include <string.h>
#include "backends/meta-monitor-config-manager.h"
#define MONITORS_CONFIG_XML_FORMAT_VERSION 2
#define QUOTE1(a) #a
#define QUOTE(a) QUOTE1(a)
#include "core/boxes-private.h"
/*
* Example configuration:
@ -41,7 +37,6 @@
* <logicalmonitor>
* <x>0</x>
* <y>0</y>
* <scale>1</scale>
* <monitor>
* <monitorspec>
* <connector>LVDS1</connector>
@ -55,10 +50,6 @@
* <rate>60.049972534179688</rate>
* </mode>
* </monitor>
* <transform>
* <rotation>right</rotation>
* <flipped>no</flipped>
* </transform>
* <primary>yes</primary>
* <presentation>no</presentation>
* </logicalmonitor>
@ -86,29 +77,11 @@
*
*/
enum
{
PROP_0,
PROP_MONITOR_MANAGER,
PROP_LAST
};
static GParamSpec *obj_props[PROP_LAST];
struct _MetaMonitorConfigStore
{
GObject parent;
MetaMonitorManager *monitor_manager;
GHashTable *configs;
GCancellable *save_cancellable;
GFile *user_file;
GFile *custom_file;
};
typedef enum
@ -121,10 +94,6 @@ typedef enum
STATE_LOGICAL_MONITOR_Y,
STATE_LOGICAL_MONITOR_PRIMARY,
STATE_LOGICAL_MONITOR_PRESENTATION,
STATE_LOGICAL_MONITOR_SCALE,
STATE_TRANSFORM,
STATE_TRANSFORM_ROTATION,
STATE_TRANSFORM_FLIPPED,
STATE_MONITOR,
STATE_MONITOR_SPEC,
STATE_MONITOR_SPEC_CONNECTOR,
@ -145,8 +114,6 @@ typedef struct
GList *current_logical_monitor_configs;
MetaMonitorSpec *current_monitor_spec;
gboolean current_transform_flipped;
MetaMonitorTransform current_transform;
MetaMonitorModeSpec *current_monitor_mode_spec;
MetaMonitorConfig *current_monitor_config;
MetaLogicalMonitorConfig *current_logical_monitor_config;
@ -189,7 +156,7 @@ handle_start_element (GMarkupParseContext *context,
/* TODO: Handle converting version 1 configuration files. */
if (!g_str_equal (version, QUOTE (MONITORS_CONFIG_XML_FORMAT_VERSION)))
if (!g_str_equal (version, "2"))
{
g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
"Invalid or unsupported version '%s'", version);
@ -239,10 +206,6 @@ handle_start_element (GMarkupParseContext *context,
{
parser->state = STATE_LOGICAL_MONITOR_Y;
}
else if (g_str_equal (element_name, "scale"))
{
parser->state = STATE_LOGICAL_MONITOR_SCALE;
}
else if (g_str_equal (element_name, "primary"))
{
parser->state = STATE_LOGICAL_MONITOR_PRIMARY;
@ -251,10 +214,6 @@ handle_start_element (GMarkupParseContext *context,
{
parser->state = STATE_LOGICAL_MONITOR_PRESENTATION;
}
else if (g_str_equal (element_name, "transform"))
{
parser->state = STATE_TRANSFORM;
}
else if (g_str_equal (element_name, "monitor"))
{
parser->current_monitor_config = g_new0 (MetaMonitorConfig, 1);;
@ -273,7 +232,6 @@ handle_start_element (GMarkupParseContext *context,
case STATE_LOGICAL_MONITOR_X:
case STATE_LOGICAL_MONITOR_Y:
case STATE_LOGICAL_MONITOR_SCALE:
case STATE_LOGICAL_MONITOR_PRIMARY:
case STATE_LOGICAL_MONITOR_PRESENTATION:
{
@ -282,28 +240,6 @@ handle_start_element (GMarkupParseContext *context,
return;
}
case STATE_TRANSFORM:
{
if (g_str_equal (element_name, "rotation"))
{
parser->state = STATE_TRANSFORM_ROTATION;
}
else if (g_str_equal (element_name, "flipped"))
{
parser->state = STATE_TRANSFORM_FLIPPED;
}
return;
}
case STATE_TRANSFORM_ROTATION:
case STATE_TRANSFORM_FLIPPED:
{
g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_UNKNOWN_ELEMENT,
"Invalid transform element '%s'", element_name);
return;
}
case STATE_MONITOR:
{
if (g_str_equal (element_name, "monitorspec"))
@ -413,13 +349,88 @@ handle_start_element (GMarkupParseContext *context,
}
static gboolean
derive_logical_monitor_layout (MetaLogicalMonitorConfig *logical_monitor_config,
MetaLogicalMonitorLayoutMode layout_mode,
GError **error)
verify_monitor_spec (MetaMonitorSpec *monitor_spec,
GError **error)
{
if (monitor_spec->connector &&
monitor_spec->vendor &&
monitor_spec->product &&
monitor_spec->serial)
{
return TRUE;
}
else
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Monitor spec incomplete");
return FALSE;
}
}
static gboolean
verify_monitor_mode (MetaMonitorModeSpec *monitor_mode_spec,
GError **error)
{
if (monitor_mode_spec->width > 0 &&
monitor_mode_spec->height > 0 &&
monitor_mode_spec->refresh_rate > 0.0f)
{
return TRUE;
}
else
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Monitor mode invalid");
return FALSE;
}
}
static gboolean
verify_monitor_config (MetaMonitorConfig *monitor_config,
GError **error)
{
if (monitor_config->monitor_spec && monitor_config->mode_spec)
{
return TRUE;
}
else
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Monitor config incomplete");
return FALSE;
}
}
static gboolean
verify_logical_monitor_config (MetaLogicalMonitorConfig *logical_monitor_config,
GError **error)
{
if (logical_monitor_config->layout.x < 0 ||
logical_monitor_config->layout.y < 0)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Invalid logical monitor position (%d, %d)",
logical_monitor_config->layout.x,
logical_monitor_config->layout.y);
return FALSE;
}
if (!logical_monitor_config->monitor_configs)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Logical monitor is empty");
return FALSE;
}
return TRUE;
}
static gboolean
derive_logical_monitor_layout (MetaLogicalMonitorConfig *logical_monitor_config,
GError **error)
{
MetaMonitorConfig *monitor_config;
int mode_width, mode_height;
int width = 0, height = 0;
GList *l;
monitor_config = logical_monitor_config->monitor_configs->data;
@ -439,29 +450,65 @@ derive_logical_monitor_layout (MetaLogicalMonitorConfig *logical_monitor_conf
}
}
if (meta_monitor_transform_is_rotated (logical_monitor_config->transform))
logical_monitor_config->layout.width = mode_width;
logical_monitor_config->layout.height = mode_height;
return TRUE;
}
static gboolean
verify_config (MetaMonitorsConfig *config,
GError **error)
{
gboolean has_primary;
GList *region;
GList *l;
if (!config->logical_monitor_configs)
{
width = mode_height;
height = mode_width;
}
else
{
width = mode_width;
height = mode_height;
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Monitors config incomplete");
return FALSE;
}
switch (layout_mode)
region = NULL;
has_primary = FALSE;
for (l = config->logical_monitor_configs; l; l = l->next)
{
case META_LOGICAL_MONITOR_LAYOUT_MODE_LOGICAL:
width /= logical_monitor_config->scale;
height /= logical_monitor_config->scale;
break;
case META_LOGICAL_MONITOR_LAYOUT_MODE_PHYSICAL:
break;
MetaLogicalMonitorConfig *logical_monitor_config = l->data;
if (meta_rectangle_overlaps_with_region (region,
&logical_monitor_config->layout))
{
g_list_free (region);
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Logical monitors overlap");
return FALSE;
}
if (has_primary && logical_monitor_config->is_primary)
{
g_list_free (region);
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Config contains multiple primary logical monitors");
return FALSE;
}
else if (logical_monitor_config->is_primary)
{
has_primary = TRUE;
}
region = g_list_prepend (region, &logical_monitor_config->layout);
}
logical_monitor_config->layout.width = width;
logical_monitor_config->layout.height = height;
g_list_free (region);
if (!has_primary)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Config is missing primary logical");
return FALSE;
}
return TRUE;
}
@ -478,7 +525,6 @@ handle_end_element (GMarkupParseContext *context,
{
case STATE_LOGICAL_MONITOR_X:
case STATE_LOGICAL_MONITOR_Y:
case STATE_LOGICAL_MONITOR_SCALE:
case STATE_LOGICAL_MONITOR_PRIMARY:
case STATE_LOGICAL_MONITOR_PRESENTATION:
{
@ -486,32 +532,6 @@ handle_end_element (GMarkupParseContext *context,
return;
}
case STATE_TRANSFORM:
{
g_assert (g_str_equal (element_name, "transform"));
parser->current_logical_monitor_config->transform =
parser->current_transform;
if (parser->current_transform_flipped)
{
parser->current_logical_monitor_config->transform +=
META_MONITOR_TRANSFORM_FLIPPED;
}
parser->current_transform = META_MONITOR_TRANSFORM_NORMAL;
parser->current_transform_flipped = FALSE;
parser->state = STATE_LOGICAL_MONITOR;
return;
}
case STATE_TRANSFORM_ROTATION:
case STATE_TRANSFORM_FLIPPED:
{
parser->state = STATE_TRANSFORM;
return;
}
case STATE_MONITOR_SPEC_CONNECTOR:
case STATE_MONITOR_SPEC_VENDOR:
case STATE_MONITOR_SPEC_PRODUCT:
@ -525,7 +545,7 @@ handle_end_element (GMarkupParseContext *context,
{
g_assert (g_str_equal (element_name, "monitorspec"));
if (!meta_verify_monitor_spec (parser->current_monitor_spec, error))
if (!verify_monitor_spec (parser->current_monitor_spec, error))
return;
parser->current_monitor_config->monitor_spec =
@ -548,8 +568,7 @@ handle_end_element (GMarkupParseContext *context,
{
g_assert (g_str_equal (element_name, "mode"));
if (!meta_verify_monitor_mode_spec (parser->current_monitor_mode_spec,
error))
if (!verify_monitor_mode (parser->current_monitor_mode_spec, error))
return;
parser->current_monitor_config->mode_spec =
@ -574,7 +593,7 @@ handle_end_element (GMarkupParseContext *context,
g_assert (g_str_equal (element_name, "monitor"));
if (!meta_verify_monitor_config (parser->current_monitor_config, error))
if (!verify_monitor_config (parser->current_monitor_config, error))
return;
logical_monitor_config = parser->current_logical_monitor_config;
@ -595,8 +614,11 @@ handle_end_element (GMarkupParseContext *context,
g_assert (g_str_equal (element_name, "logicalmonitor"));
if (logical_monitor_config->scale == 0)
logical_monitor_config->scale = 1;
if (!verify_logical_monitor_config (logical_monitor_config, error))
return;
if (!derive_logical_monitor_layout (logical_monitor_config, error))
return;
parser->current_logical_monitor_configs =
g_list_append (parser->current_logical_monitor_configs,
@ -609,38 +631,14 @@ handle_end_element (GMarkupParseContext *context,
case STATE_CONFIGURATION:
{
MetaMonitorConfigStore *store = parser->config_store;
MetaMonitorsConfig *config;
GList *l;
MetaLogicalMonitorLayoutMode layout_mode;
g_assert (g_str_equal (element_name, "configuration"));
layout_mode =
meta_monitor_manager_get_default_layout_mode (store->monitor_manager);
for (l = parser->current_logical_monitor_configs; l; l = l->next)
{
MetaLogicalMonitorConfig *logical_monitor_config = l->data;
if (!derive_logical_monitor_layout (logical_monitor_config,
layout_mode,
error))
return;
if (!meta_verify_logical_monitor_config (logical_monitor_config,
layout_mode,
error))
return;
}
config =
meta_monitors_config_new (parser->current_logical_monitor_configs,
layout_mode);
meta_monitors_config_new (parser->current_logical_monitor_configs);
parser->current_logical_monitor_configs = NULL;
if (!meta_verify_monitors_config (config, error))
if (!verify_config (config, error))
{
g_object_unref (config);
return;
@ -649,6 +647,8 @@ handle_end_element (GMarkupParseContext *context,
g_hash_table_replace (parser->config_store->configs,
config->key, config);
parser->current_logical_monitor_configs = NULL;
parser->state = STATE_MONITORS;
return;
}
@ -779,7 +779,6 @@ handle_text (GMarkupParseContext *context,
case STATE_MONITOR:
case STATE_MONITOR_SPEC:
case STATE_MONITOR_MODE:
case STATE_TRANSFORM:
{
if (!is_all_whitespace (text, text_len))
g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
@ -825,23 +824,6 @@ handle_text (GMarkupParseContext *context,
return;
}
case STATE_LOGICAL_MONITOR_SCALE:
{
if (!read_int (text, text_len,
&parser->current_logical_monitor_config->scale, error))
return;
if (parser->current_logical_monitor_config->scale <= 0)
{
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Logical monitor scale '%d' invalid",
parser->current_logical_monitor_config->scale);
return;
}
return;
}
case STATE_LOGICAL_MONITOR_PRIMARY:
{
read_bool (text, text_len,
@ -858,31 +840,6 @@ handle_text (GMarkupParseContext *context,
return;
}
case STATE_TRANSFORM_ROTATION:
{
if (strncmp (text, "normal", text_len) == 0)
parser->current_transform = META_MONITOR_TRANSFORM_NORMAL;
else if (strncmp (text, "left", text_len) == 0)
parser->current_transform = META_MONITOR_TRANSFORM_90;
else if (strncmp (text, "upside_down", text_len) == 0)
parser->current_transform = META_MONITOR_TRANSFORM_180;
else if (strncmp (text, "right", text_len) == 0)
parser->current_transform = META_MONITOR_TRANSFORM_270;
else
g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
"Invalid rotation type %.*s", (int)text_len, text);
return;
}
case STATE_TRANSFORM_FLIPPED:
{
read_bool (text, text_len,
&parser->current_transform_flipped,
error);
return;
}
case STATE_MONITOR_MODE_WIDTH:
{
read_int (text, text_len,
@ -910,7 +867,7 @@ handle_text (GMarkupParseContext *context,
case STATE_MONITOR_UNDERSCANNING:
{
read_bool (text, text_len,
&parser->current_monitor_config->enable_underscanning,
&parser->current_monitor_config->is_underscanning,
error);
return;
}
@ -973,223 +930,12 @@ meta_monitor_config_store_lookup (MetaMonitorConfigStore *config_store,
key));
}
static void
append_monitors (GString *buffer,
GList *monitor_configs)
{
GList *l;
for (l = monitor_configs; l; l = l->next)
{
MetaMonitorConfig *monitor_config = l->data;
char rate_str[G_ASCII_DTOSTR_BUF_SIZE];
g_ascii_dtostr (rate_str, sizeof (rate_str),
monitor_config->mode_spec->refresh_rate);
g_string_append (buffer, " <monitor>\n");
g_string_append (buffer, " <monitorspec>\n");
g_string_append_printf (buffer, " <connector>%s</connector>\n",
monitor_config->monitor_spec->connector);
g_string_append_printf (buffer, " <vendor>%s</vendor>\n",
monitor_config->monitor_spec->vendor);
g_string_append_printf (buffer, " <product>%s</product>\n",
monitor_config->monitor_spec->product);
g_string_append_printf (buffer, " <serial>%s</serial>\n",
monitor_config->monitor_spec->serial);
g_string_append (buffer, " </monitorspec>\n");
g_string_append (buffer, " <mode>\n");
g_string_append_printf (buffer, " <width>%d</width>\n",
monitor_config->mode_spec->width);
g_string_append_printf (buffer, " <height>%d</height>\n",
monitor_config->mode_spec->height);
g_string_append_printf (buffer, " <rate>%s</rate>\n",
rate_str);
g_string_append (buffer, " </mode>\n");
if (monitor_config->enable_underscanning)
g_string_append (buffer, " <underscanning>yes</underscanning>\n");
g_string_append (buffer, " </monitor>\n");
}
}
static const char *
bool_to_string (gboolean value)
{
return value ? "yes" : "no";
}
static void
append_transform (GString *buffer,
MetaMonitorTransform transform)
{
const char *rotation = NULL;
gboolean flipped = FALSE;
switch (transform)
{
case META_MONITOR_TRANSFORM_NORMAL:
return;
case META_MONITOR_TRANSFORM_90:
rotation = "left";
break;
case META_MONITOR_TRANSFORM_180:
rotation = "upside_down";
break;
case META_MONITOR_TRANSFORM_270:
rotation = "right";
break;
case META_MONITOR_TRANSFORM_FLIPPED:
rotation = "normal";
flipped = TRUE;
break;
case META_MONITOR_TRANSFORM_FLIPPED_90:
rotation = "left";
flipped = TRUE;
break;
case META_MONITOR_TRANSFORM_FLIPPED_180:
rotation = "upside_down";
flipped = TRUE;
break;
case META_MONITOR_TRANSFORM_FLIPPED_270:
rotation = "right";
flipped = TRUE;
break;
}
g_string_append (buffer, " <transform>\n");
g_string_append_printf (buffer, " <rotation>%s</rotation>\n",
rotation);
g_string_append_printf (buffer, " <flipped>%s</flipped>\n",
bool_to_string (flipped));
g_string_append (buffer, " </transform>\n");
}
static void
append_logical_monitor_xml (GString *buffer,
MetaLogicalMonitorConfig *logical_monitor_config)
{
g_string_append (buffer, " <logicalmonitor>\n");
g_string_append_printf (buffer, " <x>%d</x>\n",
logical_monitor_config->layout.x);
g_string_append_printf (buffer, " <y>%d</y>\n",
logical_monitor_config->layout.y);
g_string_append_printf (buffer, " <scale>%d</scale>\n",
logical_monitor_config->scale);
if (logical_monitor_config->is_primary)
g_string_append (buffer, " <primary>yes</primary>\n");
if (logical_monitor_config->is_presentation)
g_string_append (buffer, " <presentation>yes</presentation>\n");
append_transform (buffer, logical_monitor_config->transform);
append_monitors (buffer, logical_monitor_config->monitor_configs);
g_string_append (buffer, " </logicalmonitor>\n");
}
static GString *
generate_config_xml (MetaMonitorConfigStore *config_store)
{
GString *buffer;
GHashTableIter iter;
MetaMonitorsConfig *config;
buffer = g_string_new ("");
g_string_append_printf (buffer, "<monitors version=\"%d\">\n",
MONITORS_CONFIG_XML_FORMAT_VERSION);
g_hash_table_iter_init (&iter, config_store->configs);
while (g_hash_table_iter_next (&iter, NULL, (gpointer *) &config))
{
GList *l;
g_string_append (buffer, " <configuration>\n");
for (l = config->logical_monitor_configs; l; l = l->next)
{
MetaLogicalMonitorConfig *logical_monitor_config = l->data;
append_logical_monitor_xml (buffer, logical_monitor_config);
}
g_string_append (buffer, " </configuration>\n");
}
g_string_append (buffer, "</monitors>\n");
return buffer;
}
typedef struct _SaveData
{
MetaMonitorConfigStore *config_store;
GString *buffer;
} SaveData;
static void
saved_cb (GObject *object,
GAsyncResult *result,
gpointer user_data)
{
SaveData *data = user_data;
GError *error = NULL;
if (!g_file_replace_contents_finish (G_FILE (object), result, NULL, &error))
{
if (!g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
g_warning ("Saving monitor configuration failed: %s\n", error->message);
else
g_clear_object (&data->config_store->save_cancellable);
g_error_free (error);
}
else
{
g_clear_object (&data->config_store->save_cancellable);
}
g_clear_object (&data->config_store);
g_string_free (data->buffer, TRUE);
g_free (data);
}
static void
meta_monitor_config_store_save (MetaMonitorConfigStore *config_store)
{
GString *buffer;
SaveData *data;
if (config_store->save_cancellable)
{
g_cancellable_cancel (config_store->save_cancellable);
g_clear_object (&config_store->save_cancellable);
}
config_store->save_cancellable = g_cancellable_new ();
buffer = generate_config_xml (config_store);
data = g_new0 (SaveData, 1);
*data = (SaveData) {
.config_store = g_object_ref (config_store),
.buffer = buffer
};
g_file_replace_contents_async (config_store->user_file,
buffer->str, buffer->len,
NULL,
TRUE,
G_FILE_CREATE_REPLACE_DESTINATION,
config_store->save_cancellable,
saved_cb, data);
}
void
meta_monitor_config_store_add (MetaMonitorConfigStore *config_store,
MetaMonitorsConfig *config)
{
g_hash_table_replace (config_store->configs,
config->key, g_object_ref (config));
if (!config_store->custom_file)
meta_monitor_config_store_save (config_store);
g_hash_table_insert (config_store->configs,
config->key, g_object_ref (config));
}
gboolean
@ -1197,12 +943,13 @@ meta_monitor_config_store_set_custom (MetaMonitorConfigStore *config_store,
const char *path,
GError **error)
{
g_clear_object (&config_store->custom_file);
g_autoptr (GFile) custom_file = NULL;
g_hash_table_remove_all (config_store->configs);
config_store->custom_file = g_file_new_for_path (path);
custom_file = g_file_new_for_path (path);
return read_config_file (config_store, config_store->custom_file, error);
return read_config_file (config_store, custom_file, error);
}
int
@ -1211,39 +958,6 @@ meta_monitor_config_store_get_config_count (MetaMonitorConfigStore *config_store
return (int) g_hash_table_size (config_store->configs);
}
MetaMonitorConfigStore *
meta_monitor_config_store_new (MetaMonitorManager *monitor_manager)
{
return g_object_new (META_TYPE_MONITOR_CONFIG_STORE,
"monitor-manager", monitor_manager,
NULL);
}
static void
meta_monitor_config_store_constructed (GObject *object)
{
MetaMonitorConfigStore *config_store = META_MONITOR_CONFIG_STORE (object);
char *user_file_path;
GError *error = NULL;
user_file_path = g_build_filename (g_get_user_config_dir (),
"monitors-experimental.xml",
NULL);
config_store->user_file = g_file_new_for_path (user_file_path);
if (g_file_test (user_file_path, G_FILE_TEST_EXISTS))
{
if (!read_config_file (config_store, config_store->user_file, &error))
{
g_warning ("Failed to read monitors config file '%s': %s",
user_file_path, error->message);
g_error_free (error);
}
}
g_free (user_file_path);
}
static void
meta_monitor_config_store_dispose (GObject *object)
{
@ -1251,48 +965,9 @@ meta_monitor_config_store_dispose (GObject *object)
g_clear_pointer (&config_store->configs, g_hash_table_destroy);
g_clear_object (&config_store->user_file);
g_clear_object (&config_store->custom_file);
G_OBJECT_CLASS (meta_monitor_config_store_parent_class)->dispose (object);
}
static void
meta_monitor_config_store_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
MetaMonitorConfigStore *config_store = META_MONITOR_CONFIG_STORE (object);
switch (prop_id)
{
case PROP_MONITOR_MANAGER:
g_value_set_object (value, &config_store->monitor_manager);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
}
static void
meta_monitor_config_store_set_property (GObject *object,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
MetaMonitorConfigStore *config_store = META_MONITOR_CONFIG_STORE (object);
switch (prop_id)
{
case PROP_MONITOR_MANAGER:
config_store->monitor_manager = g_value_get_object (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
}
static void
meta_monitor_config_store_init (MetaMonitorConfigStore *config_store)
{
@ -1307,19 +982,5 @@ meta_monitor_config_store_class_init (MetaMonitorConfigStoreClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->constructed = meta_monitor_config_store_constructed;
object_class->dispose = meta_monitor_config_store_dispose;
object_class->get_property = meta_monitor_config_store_get_property;
object_class->set_property = meta_monitor_config_store_set_property;
obj_props[PROP_MONITOR_MANAGER] =
g_param_spec_object ("monitor-manager",
"MetaMonitorManager",
"MetaMonitorManager",
META_TYPE_MONITOR_MANAGER,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS |
G_PARAM_CONSTRUCT_ONLY);
g_object_class_install_properties (object_class, PROP_LAST, obj_props);
}

View File

@ -30,8 +30,6 @@
G_DECLARE_FINAL_TYPE (MetaMonitorConfigStore, meta_monitor_config_store,
META, MONITOR_CONFIG_STORE, GObject)
MetaMonitorConfigStore * meta_monitor_config_store_new (MetaMonitorManager *monitor_manager);
MetaMonitorsConfig * meta_monitor_config_store_lookup (MetaMonitorConfigStore *config_store,
MetaMonitorsConfigKey *key);

View File

@ -96,6 +96,9 @@ static gboolean meta_monitor_config_assign_crtcs (MetaConfiguration *config,
GPtrArray *crtcs,
GPtrArray *outputs);
static void power_client_changed_cb (MetaMonitorManager *manager,
gpointer user_data);
static void
free_output_key (MetaOutputKey *key)
{
@ -791,6 +794,8 @@ meta_monitor_config_new (MetaMonitorManager *manager)
self = g_object_new (META_TYPE_MONITOR_CONFIG, NULL);
self->lid_is_closed = meta_monitor_manager_is_lid_closed (manager);
g_signal_connect_object (manager, "lid-is-closed-changed",
G_CALLBACK (power_client_changed_cb), self, 0);
meta_monitor_config_load (self);
@ -1455,12 +1460,7 @@ meta_monitor_config_make_default (MetaMonitorConfig *self,
gboolean use_stored_config;
outputs = meta_monitor_manager_get_outputs (manager, &n_outputs);
if (!meta_monitor_manager_get_max_screen_size (manager, &max_width, &max_height))
{
/* No max screen size, just pretend it's something large. */
max_width = 65535;
max_height = 65535;
}
meta_monitor_manager_get_screen_limits (manager, &max_width, &max_height);
if (n_outputs == 0)
{
@ -1579,10 +1579,11 @@ turn_off_laptop_display (MetaMonitorConfig *self,
self->current_is_for_laptop_lid = TRUE;
}
void
meta_monitor_config_lid_is_closed_changed (MetaMonitorConfig *self,
MetaMonitorManager *manager)
static void
power_client_changed_cb (MetaMonitorManager *manager,
gpointer user_data)
{
MetaMonitorConfig *self = user_data;
gboolean is_closed;
is_closed = meta_monitor_manager_is_lid_closed (manager);

Some files were not shown because too many files have changed in this diff Show More