Compare commits

..

12 Commits

Author SHA1 Message Date
Carlos Garnacho
cb16822780 backends/native: Expose all transform modes in CRTCs
We can only honor this properly in the MUTTER_STAGE_VIEWS=1 case. When using
the legacy view, software implemented transforms are only exposed if there is
only one output, as we can only transform the entire stage there.

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 19:24:35 +02:00
Carlos Garnacho
06112b1b0f backends/native: Set offscreen on the transformed MetaRendererViews
The texture is only created if the view is transformed at the software level,
otherwise the texture is NULL, and rendering happens on the onscreen.

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 19:24:35 +02:00
Carlos Garnacho
c7ff89bb01 backends/native: Refactor onscreen creation into separate function
And use the right size, regarless of view transform.

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 19:24:35 +02:00
Carlos Garnacho
f36ae220c1 backends/native: Use framebuffer size on swap_buffers implementation
Instead of ClutterStageView layout, which may be affected by transformations.

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 19:24:35 +02:00
Carlos Garnacho
8a50db5959 backends/native: Set transform on MetaRendererViews
Only do this if mutter uses the multiple stage views feature. This
is uneffective at the moment because no back texture is set yet.

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 19:24:35 +02:00
Carlos Garnacho
8f05b0e020 backends: Add MetaStageView::transform property
This property updates the ClutterStageView pipeline, so the texture is applied
with the corresponding transform.

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 19:24:35 +02:00
Carlos Garnacho
534f3aa5c9 clutter/cogl: Transform swap buffers regions into onscreen coordinates
Those are given in view coordinates, so we must transform into onscreen
coordinates in order to perform swap_buffers on the right damage regions.

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 19:24:35 +02:00
Carlos Garnacho
f1a0985e3a clutter: Hook up ClutterStageView render-to-texture
"Blit" the result on the framebuffer after each view is painted.
This of course only applies if there is an offscreen buffer to
perform any blitting. Otherwise the onscreen framebuffer is rendered
to directly.

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 19:24:35 +02:00
Carlos Garnacho
6302ffe8ac clutter: Add infrastructure to render ClutterStageViews to offscreen
The offscreen is given through the ::back-buffer property, the ClutterStageView
will set up the the CoglPipeline used to render it back to the "onscreen"
framebuffer.

The pipeline can be altered through the setup_pipeline() vfunc, so ClutterStageView
implementations can alter the default behavior of blitting from offscreen to
onscreen with no transformations.

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 19:24:21 +02:00
Carlos Garnacho
acc2ad9658 backends/native: Refactor g_object_set() call
Makes sense to update ::layout inside meta_renderer_native_set_legacy_view_size().

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 18:16:54 +02:00
Carlos Garnacho
d58f94dd47 backends/native: Remove unneeded call
The call to _cogl_framebuffer_winsys_update_size() results in no-op here,
as the framebuffer has already the right size when rebuilding the views.

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 18:16:54 +02:00
Carlos Garnacho
c63558dded backends/native: Split hw supported CRTC rotation modes
Those will need a separate treatment from the modes that we eventually
support through "software", so split those into a separate enum so we
can can do the right thing when applying the configuration.

Also, add a helper function that returns the transform that the software
fallbacks should perform, which should be "normal" if the rotation is
already handled via hw.

https://bugzilla.gnome.org/show_bug.cgi?id=745079
2016-08-23 18:16:49 +02:00
77 changed files with 3546 additions and 6223 deletions

41
NEWS
View File

@@ -1,44 +1,3 @@
3.21.92
=======
* Fix absolute pointer motion events on wayland [Jonas; #770557]
* Default to using stage views [Jonas; #770366]
* Fix animated cursors on wayland [Rui; #749913]
* Fix various crashes on wayland [Jonas; #757568, #770727, #770992]
* Fix screen capture for stage views not at (0, 0) [Jonas; #770127]
* Compress motion events instead of discarding them [Jonas; #771049]
* Fix XWayland pointer warp emulation [Jonas; #771050]
* Add common monitor modes in KMS backend [Rui; #744544]
* Temporarily use g-s-d schemas for tablet configuration [Carlos; #771315]
* Misc. bug fixes [Jonas, Carlos; #770402, #770647, #770991, #770994, #770929]
Contributors:
Jonas Ådahl, Olivier Fourdan, Carlos Garnacho, Rui Matos, Florian Müllner
Translations:
Changwoo Ryu [ko], Baurzhan Muftakhidinov [kk], Anders Jonsson [sv],
Tiago Santos [pt], Rafael Fontenelle [pt_BR], Mario Blättermann [de],
Alexander Shopov [bg], Rūdolfs Mazurs [lv], Fran Dieguez [gl],
Trần Ngọc Quân [vi], Piotr Drąg [pl], Мирослав Николић [sr, sr@latin]
3.21.91
=======
* Add support for xdg-foreign protocol [Jonas; #769786]
* Support monitor rotation on wayland [Carlos; #745079]
* Port xdg-shell implementation to unstable v6 [Jonas; #769936]
* Handle unsupported buffer sizes more gracefully [Olivier; #770387]
* Use the same output naming logic as the X server on wayland [Rui; #770338]
* Fix replies in gnome-shell's chat notifications on wayland [Florian; #758167]
* Misc. bug fixes and cleanups [Bastien, Sjoerd, Jonas; #769276, #769636,
#770131, #770324, #769731]
Contributors:
Jonas Ådahl, Olivier Fourdan, Carlos Garnacho, Rui Matos, Florian Müllner,
Bastien Nocera, Sjoerd Simons
Translations:
Piotr Drąg [pl], Mario Blättermann [de], Andika Triwidada [id],
Enrico Nicoletto [pt_BR], Мирослав Николић [sr, sr@latin]
3.21.90
=======
* Consider XDG_SESSION_TYPE when determining session type [Jouke; #759388]

View File

@@ -188,10 +188,6 @@ void _clutter_device_manager_select_stage_events (ClutterDeviceMa
ClutterStage *stage);
ClutterBackend *_clutter_device_manager_get_backend (ClutterDeviceManager *device_manager);
void _clutter_device_manager_compress_motion (ClutterDeviceManager *device_manger,
ClutterEvent *event,
const ClutterEvent *to_discard);
/* input device */
gboolean _clutter_input_device_has_sequence (ClutterInputDevice *device,
ClutterEventSequence *sequence);

View File

@@ -458,20 +458,3 @@ clutter_device_manager_create_virtual_device (ClutterDeviceManager *device_man
return manager_class->create_virtual_device (device_manager,
device_type);
}
void
_clutter_device_manager_compress_motion (ClutterDeviceManager *device_manager,
ClutterEvent *event,
const ClutterEvent *to_discard)
{
ClutterDeviceManagerClass *manager_class;
g_return_if_fail (CLUTTER_IS_DEVICE_MANAGER (device_manager));
manager_class = CLUTTER_DEVICE_MANAGER_GET_CLASS (device_manager);
if (!manager_class->compress_motion)
return;
manager_class->compress_motion (device_manager, event, to_discard);
}

View File

@@ -85,12 +85,9 @@ struct _ClutterDeviceManagerClass
ClutterStage *stage);
ClutterVirtualInputDevice *(* create_virtual_device) (ClutterDeviceManager *manager,
ClutterInputDeviceType device_type);
void (* compress_motion) (ClutterDeviceManager *device_manger,
ClutterEvent *event,
const ClutterEvent *to_discard);
/* padding */
gpointer _padding[6];
gpointer _padding[7];
};
CLUTTER_AVAILABLE_IN_1_2

View File

@@ -676,6 +676,12 @@ clutter_stage_do_paint_view (ClutterStage *stage,
_clutter_stage_paint_volume_stack_free_all (stage);
_clutter_stage_update_active_framebuffer (stage, framebuffer);
clutter_actor_paint (CLUTTER_ACTOR (stage));
if (clutter_stage_view_get_onscreen (view) !=
clutter_stage_view_get_framebuffer (view))
{
clutter_stage_view_blit_offscreen (view, clip);
}
}
/* This provides a common point of entry for painting the scenegraph
@@ -998,16 +1004,6 @@ _clutter_stage_process_queued_events (ClutterStage *stage)
"Omitting motion event at %d, %d",
(int) event->motion.x,
(int) event->motion.y);
if (next_event->type == CLUTTER_MOTION)
{
ClutterDeviceManager *device_manager =
clutter_device_manager_get_default ();
_clutter_device_manager_compress_motion (device_manager,
next_event, event);
}
goto next_event;
}
else if (event->type == CLUTTER_TOUCH_UPDATE &&
@@ -4686,7 +4682,6 @@ capture_view (ClutterStage *stage,
uint8_t *data;
int stride;
CoglBitmap *bitmap;
cairo_rectangle_int_t view_layout;
framebuffer = clutter_stage_view_get_framebuffer (view);
@@ -4711,11 +4706,8 @@ capture_view (ClutterStage *stage,
stride,
data);
clutter_stage_view_get_layout (view, &view_layout);
cogl_framebuffer_read_pixels_into_bitmap (framebuffer,
view_layout.x - rect->x,
view_layout.y - rect->y,
rect->x, rect->y,
COGL_READ_PIXELS_COLOR_BUFFER,
bitmap);

View File

@@ -420,12 +420,6 @@ paint_stage (ClutterStageCogl *stage_cogl,
_clutter_stage_maybe_setup_viewport (stage, view);
_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);
}
}
static void

View File

@@ -1970,31 +1970,6 @@ clutter_device_manager_evdev_create_virtual_device (ClutterDeviceManager *manag
NULL);
}
static void
clutter_device_manager_evdev_compress_motion (ClutterDeviceManager *device_manger,
ClutterEvent *event,
const ClutterEvent *to_discard)
{
double dx, dy;
double dx_unaccel, dy_unaccel;
double dst_dx = 0.0, dst_dy = 0.0;
double dst_dx_unaccel = 0.0, dst_dy_unaccel = 0.0;
if (!clutter_evdev_event_get_relative_motion (to_discard,
&dx, &dy,
&dx_unaccel, &dy_unaccel))
return;
clutter_evdev_event_get_relative_motion (event,
&dst_dx, &dst_dy,
&dst_dx_unaccel, &dst_dy_unaccel);
_clutter_evdev_event_set_relative_motion (event,
dx + dst_dx,
dy + dst_dy,
dx_unaccel + dst_dx_unaccel,
dy_unaccel + dst_dy_unaccel);
}
/*
* GObject implementation
*/
@@ -2135,7 +2110,6 @@ clutter_device_manager_evdev_class_init (ClutterDeviceManagerEvdevClass *klass)
manager_class->get_core_device = clutter_device_manager_evdev_get_core_device;
manager_class->get_device = clutter_device_manager_evdev_get_device;
manager_class->create_virtual_device = clutter_device_manager_evdev_create_virtual_device;
manager_class->compress_motion = clutter_device_manager_evdev_compress_motion;
}
static void
@@ -2530,60 +2504,6 @@ clutter_evdev_set_keyboard_layout_index (ClutterDeviceManager *evdev,
xkb_state_update_mask (state, depressed_mods, latched_mods, locked_mods, 0, 0, idx);
}
/**
* clutter_evdev_set_keyboard_numlock: (skip)
* @evdev: the #ClutterDeviceManager created by the evdev backend
* @numlock_set: TRUE to set NumLock ON, FALSE otherwise.
*
* Sets the NumLock state on the backend's #xkb_state .
*
* Stability: unstable
*/
void
clutter_evdev_set_keyboard_numlock (ClutterDeviceManager *evdev,
gboolean numlock_state)
{
ClutterDeviceManagerEvdev *manager_evdev;
ClutterDeviceManagerEvdevPrivate *priv;
GSList *iter;
xkb_mod_mask_t numlock;
g_return_if_fail (CLUTTER_IS_DEVICE_MANAGER_EVDEV (evdev));
manager_evdev = CLUTTER_DEVICE_MANAGER_EVDEV (evdev);
priv = manager_evdev->priv;
numlock = (1 << xkb_keymap_mod_get_index(priv->keymap, "Mod2"));
for (iter = priv->seats; iter; iter = iter->next)
{
ClutterSeatEvdev *seat = iter->data;
xkb_mod_mask_t depressed_mods;
xkb_mod_mask_t latched_mods;
xkb_mod_mask_t locked_mods;
xkb_mod_mask_t group_mods;
depressed_mods = xkb_state_serialize_mods (seat->xkb, XKB_STATE_MODS_DEPRESSED);
latched_mods = xkb_state_serialize_mods (seat->xkb, XKB_STATE_MODS_LATCHED);
locked_mods = xkb_state_serialize_mods (seat->xkb, XKB_STATE_MODS_LOCKED);
group_mods = xkb_state_serialize_layout (seat->xkb, XKB_STATE_LAYOUT_EFFECTIVE);
if (numlock_state)
locked_mods |= numlock;
else
locked_mods &= ~numlock;
xkb_state_update_mask (seat->xkb,
depressed_mods,
latched_mods,
locked_mods,
0, 0,
group_mods);
clutter_seat_evdev_sync_leds (seat);
}
}
/**
* clutter_evdev_set_pointer_constrain_callback:
* @evdev: the #ClutterDeviceManager created by the evdev backend

View File

@@ -105,10 +105,6 @@ CLUTTER_AVAILABLE_IN_1_20
void clutter_evdev_set_keyboard_layout_index (ClutterDeviceManager *evdev,
xkb_layout_index_t idx);
CLUTTER_AVAILABLE_IN_1_26
void clutter_evdev_set_keyboard_numlock (ClutterDeviceManager *evdev,
gboolean numlock_state);
CLUTTER_AVAILABLE_IN_1_18
void clutter_evdev_set_keyboard_repeat (ClutterDeviceManager *evdev,
gboolean repeat,

View File

@@ -421,7 +421,7 @@ void clutter_seat_evdev_notify_absolute_motion (ClutterSeatEvdev *seat,
{
ClutterEvent *event;
event = new_absolute_motion_event (seat, input_device, time_us, x, y, axes);
event = new_absolute_motion_event (seat, input_device, time_us, x, x, axes);
queue_event (event);
}

View File

@@ -1028,13 +1028,6 @@ _cogl_egl_create_image (CoglContext *ctx,
if (target == EGL_NATIVE_PIXMAP_KHR)
egl_ctx = EGL_NO_CONTEXT;
else
#endif
#ifdef COGL_HAS_WAYLAND_EGL_SERVER_SUPPORT
/* The WL_bind_wayland_display spec states that EGL_NO_CONTEXT is to be used
* in conjunction with the EGL_WAYLAND_BUFFER_WL target */
if (target == EGL_WAYLAND_BUFFER_WL)
egl_ctx = EGL_NO_CONTEXT;
else
#endif
egl_ctx = egl_display->egl_context;

View File

@@ -2,7 +2,7 @@ AC_PREREQ(2.62)
m4_define([mutter_major_version], [3])
m4_define([mutter_minor_version], [21])
m4_define([mutter_micro_version], [92])
m4_define([mutter_micro_version], [90])
m4_define([mutter_version],
[mutter_major_version.mutter_minor_version.mutter_micro_version])
@@ -272,7 +272,7 @@ AS_IF([test "$have_wayland" = "yes"], [
AC_SUBST([WAYLAND_SCANNER])
AC_DEFINE([HAVE_WAYLAND],[1],[Define if you want to enable Wayland support])
PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.7],
PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, [wayland-protocols >= 1.6],
[ac_wayland_protocols_pkgdatadir=`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`])
AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, $ac_wayland_protocols_pkgdatadir)
])
@@ -376,8 +376,6 @@ AC_CHECK_DECL([GL_EXT_x11_sync_object],
[AC_MSG_ERROR([GL_EXT_x11_sync_object definition not found, please update your GL headers])],
[#include <GL/glx.h>])
AC_PATH_PROG([CVT],[cvt],[])
#### Warnings (last since -Werror can disturb other tests)
# Stay command-line compatible with the gnome-common configure option. Here

View File

@@ -10,7 +10,7 @@ top_builddir = ..
# These options get passed to xgettext.
XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ \
--keyword=C_:1c,2 --keyword=NC_:1c,2 \
--keyword=g_dngettext:2,3 --add-comments \
--keyword=g_dngettext:2,3 \
--flag=g_dngettext:2:pass-c-format \
--flag=g_strdup_printf:1:c-format \
--flag=g_string_printf:2:c-format \

838
po/bg.po
View File

@@ -1,10 +1,9 @@
# Bulgarian translation of mutter po-file.
# Copyright (C) 2002, 2004, 2006, 2007, 2008 Free Software Foundation, Inc.
# Copyright (C) 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
# Copyright (C) 2014, 2015, 2016 Free Software Foundation, Inc.
# Copyright (C) 2014, 2015 Free Software Foundation, Inc.
# Alexander Shopov <ash@kambanaria.org>, 2002, 2006, 2007, 2009, 2010.
# Alexander Shopov <ash@kambanaria.org>, 2011, 2012, 2013, 2014, 2015.
# Alexander Shopov <ash@kambanaria.org>, 2016.
# Vladimir Petkov <kaladan@gmail.com>, 2004.
# Rostislav Raykov <zbrox@i-space.org>, 2004.
# Yavor Doganov <yavor@gnu.org>, 2008.
@@ -12,10 +11,9 @@
msgid ""
msgstr ""
"Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-09-08 06:33+0300\n"
"PO-Revision-Date: 2016-09-05 16:27+0300\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-03-10 09:51+0200\n"
"PO-Revision-Date: 2015-03-10 09:51+0200\n"
"Last-Translator: Alexander Shopov <ash@kambanaria.org>\n"
"Language-Team: Bulgarian <dict@fsa-bg.org>\n"
"Language: bg\n"
@@ -24,44 +22,471 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Смяна на екрана"
#: ../data/50-mutter-navigation.xml.in.h:1
msgid "Navigation"
msgstr "Навигация"
#: ../src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Показване на помощта на екрана"
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "Преместване на прозореца на работен плот 1"
#: ../src/backends/meta-monitor-manager.c:514
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Преместване на прозореца на работен плот 2"
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Преместване на прозореца на работен плот 3"
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Преместване на прозореца на работен плот 4"
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Преместване на прозореца на последния работен плот"
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Преместване на прозореца един работен плот наляво"
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Преместване на прозореца един работен плот надясно"
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Преместване на прозореца един работен плот нагоре"
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Преместване на прозореца един работен плот надолу"
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Преместване на прозореца един екран наляво"
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Преместване на прозореца един екран надясно"
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Преместване на прозореца един екран нагоре"
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Преместване на прозореца един екран надолу"
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Преместване на фокуса между програмите"
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Преместване на фокуса към предишната програма"
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Преместване на фокуса между прозорците"
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Преместване на фокуса към предишния прозорец"
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Преместване на фокуса между прозорците на една програма"
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "Преместване на фокуса към предишния прозорец на програма"
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Преместване на фокуса между служебните обекти"
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Преместване на фокуса към предишния служебен обект"
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Незабавно преместване на фокуса между прозорците"
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Незабавно преместване на фокуса към предишния прозорец"
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Незабавно преместване на фокуса между прозорците на една програма"
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr ""
"Незабавно преместване на фокуса към предишния прозорец на една програма"
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Незабавно преместване на фокуса между служебните обекти"
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Незабавно преместване на фокуса към предишния служебен обект"
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Скриване на всички обикновени прозорци"
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Превключване към работен плот 1"
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Превключване към работен плот 2"
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Превключване към работен плот 3"
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Превключване към работен плот 4"
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Превключване към последния работен плот"
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Преместване на левия работен плот"
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Преместване на десния работен плот"
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Преместване на горния работен плот"
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Преместване на долния работен плот"
#: ../data/50-mutter-system.xml.in.h:1
msgid "System"
msgstr "Система"
#: ../data/50-mutter-system.xml.in.h:2
msgid "Show the run command prompt"
msgstr "Показване на прозореца за стартиране на команда"
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Преглед на дейностите"
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Прозорци"
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Задействане на менюто за прозорците"
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Превключване на режима за цял екран"
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Превключване на състоянието на максимизиране"
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Максимизиране на прозорец"
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Възстановяване на прозорец"
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Превключване на състоянието на навиване"
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Затваряне на прозореца"
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Скриване на прозорец"
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Преместване на прозорец"
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Оразмеряване на прозорец"
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "Превключване на появата на прозореца на всички работни места"
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "Ако прозорецът е под друг, го издига, иначе го понижава"
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Издигане на прозореца над другите"
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Понижаване на прозореца под другите прозорци"
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Максимизиране на прозореца вертикално"
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Максимизиране на прозореца хоризонтално"
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Изглед разделен отляво"
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Изглед разделен отдясно"
#: ../data/mutter.desktop.in.h:1
msgid "Mutter"
msgstr "Mutter"
#: ../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.h:2
msgid ""
"This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the "
"\"Windows key\" on PC hardware. It's expected that this binding either the "
"default or set to the empty string."
msgstr ""
"Този клавиш стартира наслагването, което е комбинация от прозорец и система "
"за стартиране на програми. Стандартно клавишът е „Windows“ при системите "
"съвместими с PC. Очаква се да е или стандартната стойност или празен низ."
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Прилепени модални диалогови прозорци"
#: ../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.h:5
msgid "Enable edge tiling when dropping windows on screen edges"
msgstr ""
"Включване на прилепването и максимизирането на прозорците по границите на "
"екрана"
#: ../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.h:7
msgid "Workspaces are managed dynamically"
msgstr "Динамично управление на работните места"
#: ../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 ""
"Определя дали се ползва динамично управление на работните места или броят им "
"е установено число (зададено чрез ключа „num-workspaces“ в „org.gnome."
"desktop.wm.preferences“)."
#: ../data/org.gnome.mutter.gschema.xml.in.h:9
msgid "Workspaces only on primary"
msgstr "Работни плотове само на основния екран"
#: ../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.h:11
msgid "No tab popup"
msgstr "Без изскачащ прозорец при обхождане"
#: ../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.h:13
msgid "Delay focus changes until the pointer stops moving"
msgstr "Смяната на фокуса да изчака спирането на показалеца"
#: ../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 ""
"Ако е включено и начинът за фокусиране е „sloppy“ (мързеливо) или "
"„mouse“ (под мишката), тогава фокусът няма да се предава веднага при "
"навлизането в прозорец, а едва след като показалецът спре да се движи."
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Широчина на границата за влачене"
#: ../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.h:17
msgid "Auto maximize nearly monitor sized windows"
msgstr ""
"Автоматично максимизиране на прозорци с размер близък до този на екрана"
#: ../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.h:19
msgid "Place new windows in the center"
msgstr "Поставяне на новите прозорци в центъра на екрана"
#: ../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.h:21
msgid "Select window from tab popup"
msgstr "Избиране при обхождане чрез изскачащ прозорец"
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Без изскачащ прозорец при обхождане"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1
msgid "Switch to VT 1"
msgstr "Превключване към виртуална графична конзола 1"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2
msgid "Switch to VT 2"
msgstr "Превключване към виртуална графична конзола 2"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3
msgid "Switch to VT 3"
msgstr "Превключване към виртуална графична конзола 3"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4
msgid "Switch to VT 4"
msgstr "Превключване към виртуална графична конзола 4"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5
msgid "Switch to VT 5"
msgstr "Превключване към виртуална графична конзола 5"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6
msgid "Switch to VT 6"
msgstr "Превключване към виртуална графична конзола 6"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7
msgid "Switch to VT 7"
msgstr "Превключване към виртуална графична конзола 7"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
msgid "Switch to VT 8"
msgstr "Превключване към виртуална графична конзола 8"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
msgid "Switch to VT 9"
msgstr "Превключване към виртуална графична конзола 9"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
msgid "Switch to VT 10"
msgstr "Превключване към виртуална графична конзола 10"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
msgid "Switch to VT 11"
msgstr "Превключване към виртуална графична конзола 11"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
msgid "Switch to VT 12"
msgstr "Превключване към виртуална графична конзола 12"
#: ../src/backends/meta-monitor-manager.c:364
msgid "Built-in display"
msgstr "Вграден екран"
#: ../src/backends/meta-monitor-manager.c:537
#: ../src/backends/meta-monitor-manager.c:391
msgid "Unknown"
msgstr "Непознат"
#: ../src/backends/meta-monitor-manager.c:539
#: ../src/backends/meta-monitor-manager.c:393
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:547
#: ../src/backends/meta-monitor-manager.c:401
#, 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:463
#: ../src/compositor/compositor.c:456
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr "На екран %i от дисплея „%s“ вече има мениджър за наслагване."
#: ../src/core/bell.c:194
#: ../src/core/bell.c:185
msgid "Bell event"
msgstr "Събитие за звънец"
@@ -90,48 +515,44 @@ msgstr "Из_чакване"
msgid "_Force Quit"
msgstr "_Принудително спиране"
#: ../src/core/display.c:590
#: ../src/core/display.c:562
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Неуспешно отваряне на дисплея на X Window „%s“\n"
#: ../src/core/main.c:182
#: ../src/core/main.c:176
msgid "Disable connection to session manager"
msgstr "Прекъсване на връзката към мениджъра на сесиите"
#: ../src/core/main.c:188
#: ../src/core/main.c:182
msgid "Replace the running window manager"
msgstr "Замяна на текущия мениджър на прозорци"
#: ../src/core/main.c:194
#: ../src/core/main.c:188
msgid "Specify session management ID"
msgstr "Определяне на идентификатор за управлението на сесии"
#: ../src/core/main.c:199
#: ../src/core/main.c:193
msgid "X Display to use"
msgstr "X дисплеят, който да се използва"
# Ако „запазено“ не се членува, низът се събира на един ред без
# пренасяне.
#: ../src/core/main.c:205
#: ../src/core/main.c:199
msgid "Initialize session from savefile"
msgstr "Инициализиране на сесия от файл със запазено състояние"
#: ../src/core/main.c:211
#: ../src/core/main.c:205
msgid "Make X calls synchronous"
msgstr "Извикванията на X да са синхронни"
#: ../src/core/main.c:218
#: ../src/core/main.c:212
msgid "Run as a wayland compositor"
msgstr "Wayland да е мениджър за наслагване"
#: ../src/core/main.c:224
msgid "Run as a nested compositor"
msgstr "Изпълнение като вложен сървър за изобразяване"
#: ../src/core/main.c:232
#: ../src/core/main.c:220
msgid "Run as a full display server, rather than nested"
msgstr "Изпълнение като самостоятелен, а не вложен сървър за изобразяване"
msgstr "Изпълнение като самостоятелен, а не вграден сървър за изобразяване"
#: ../src/core/mutter.c:39
#, c-format
@@ -157,12 +578,12 @@ msgstr "Отпечатване на версията на програмата"
msgid "Mutter plugin to use"
msgstr "Приставка, която да се ползва"
#: ../src/core/prefs.c:1997
#: ../src/core/prefs.c:2004
#, c-format
msgid "Workspace %d"
msgstr "Работен плот %d"
#: ../src/core/screen.c:521
#: ../src/core/screen.c:525
#, c-format
msgid ""
"Display \"%s\" already has a window manager; try using the --replace option "
@@ -171,20 +592,15 @@ msgstr ""
"Вече има мениджър на прозорци на дисплей „%s“. Пробвайте да го замените с "
"опцията „--replace“."
#: ../src/core/screen.c:606
#: ../src/core/screen.c:607
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Екранът %d на дисплей „%s“ е невалиден\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: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 "
@@ -193,345 +609,7 @@ msgstr ""
"Тези прозорци не поддържат операцията по записване на текущото състояние и "
"ще трябва да се стартират ръчно при следващото ви влизане."
#: ../src/x11/window-props.c:548
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (от %s)"
#~ msgid "Navigation"
#~ msgstr "Навигация"
#~ msgid "Move window to workspace 1"
#~ msgstr "Преместване на прозореца на работен плот 1"
#~ msgid "Move window to workspace 2"
#~ msgstr "Преместване на прозореца на работен плот 2"
#~ msgid "Move window to workspace 3"
#~ msgstr "Преместване на прозореца на работен плот 3"
#~ msgid "Move window to workspace 4"
#~ msgstr "Преместване на прозореца на работен плот 4"
#~ msgid "Move window to last workspace"
#~ msgstr "Преместване на прозореца на последния работен плот"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Преместване на прозореца един работен плот наляво"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Преместване на прозореца един работен плот надясно"
#~ msgid "Move window one workspace up"
#~ msgstr "Преместване на прозореца един работен плот нагоре"
#~ msgid "Move window one workspace down"
#~ msgstr "Преместване на прозореца един работен плот надолу"
#~ msgid "Move window one monitor to the left"
#~ msgstr "Преместване на прозореца един екран наляво"
#~ msgid "Move window one monitor to the right"
#~ msgstr "Преместване на прозореца един екран надясно"
#~ msgid "Move window one monitor up"
#~ msgstr "Преместване на прозореца един екран нагоре"
#~ msgid "Move window one monitor down"
#~ msgstr "Преместване на прозореца един екран надолу"
#~ msgid "Switch applications"
#~ msgstr "Преместване на фокуса между програмите"
#~ msgid "Switch to previous application"
#~ msgstr "Преместване на фокуса към предишната програма"
#~ msgid "Switch windows"
#~ msgstr "Преместване на фокуса между прозорците"
#~ msgid "Switch to previous window"
#~ msgstr "Преместване на фокуса към предишния прозорец"
#~ msgid "Switch windows of an application"
#~ msgstr "Преместване на фокуса между прозорците на една програма"
#~ msgid "Switch to previous window of an application"
#~ msgstr "Преместване на фокуса към предишния прозорец на програма"
#~ msgid "Switch to previous system control"
#~ msgstr "Преместване на фокуса към предишния служебен обект"
#~ msgid "Switch windows directly"
#~ msgstr "Незабавно преместване на фокуса между прозорците"
#~ msgid "Switch directly to previous window"
#~ msgstr "Незабавно преместване на фокуса към предишния прозорец"
#~ msgid "Switch windows of an app directly"
#~ msgstr "Незабавно преместване на фокуса между прозорците на една програма"
#~ msgid "Switch directly to previous window of an app"
#~ msgstr ""
#~ "Незабавно преместване на фокуса към предишния прозорец на една програма"
#~ msgid "Switch system controls directly"
#~ msgstr "Незабавно преместване на фокуса между служебните обекти"
#~ msgid "Switch directly to previous system control"
#~ msgstr "Незабавно преместване на фокуса към предишния служебен обект"
#~ msgid "Hide all normal windows"
#~ msgstr "Скриване на всички обикновени прозорци"
#~ msgid "Switch to workspace 1"
#~ msgstr "Превключване към работен плот 1"
#~ msgid "Switch to workspace 2"
#~ msgstr "Превключване към работен плот 2"
#~ msgid "Switch to workspace 3"
#~ msgstr "Превключване към работен плот 3"
#~ msgid "Switch to workspace 4"
#~ msgstr "Превключване към работен плот 4"
#~ msgid "Switch to last workspace"
#~ msgstr "Превключване към последния работен плот"
#~ msgid "Move to workspace left"
#~ msgstr "Преместване на левия работен плот"
#~ msgid "Move to workspace right"
#~ msgstr "Преместване на десния работен плот"
#~ msgid "Move to workspace above"
#~ msgstr "Преместване на горния работен плот"
#~ msgid "Move to workspace below"
#~ msgstr "Преместване на долния работен плот"
#~ msgid "System"
#~ msgstr "Система"
#~ msgid "Show the run command prompt"
#~ msgstr "Показване на прозореца за стартиране на команда"
#~ msgid "Show the activities overview"
#~ msgstr "Преглед на дейностите"
#~ msgid "Windows"
#~ msgstr "Прозорци"
#~ msgid "Activate the window menu"
#~ msgstr "Задействане на менюто за прозорците"
#~ msgid "Toggle fullscreen mode"
#~ msgstr "Превключване на режима за цял екран"
#~ msgid "Toggle maximization state"
#~ msgstr "Превключване на състоянието на максимизиране"
#~ msgid "Maximize window"
#~ msgstr "Максимизиране на прозорец"
#~ msgid "Restore window"
#~ msgstr "Възстановяване на прозорец"
#~ msgid "Toggle shaded state"
#~ msgstr "Превключване на състоянието на навиване"
#~ msgid "Close window"
#~ msgstr "Затваряне на прозореца"
#~ msgid "Hide window"
#~ msgstr "Скриване на прозорец"
#~ msgid "Move window"
#~ msgstr "Преместване на прозорец"
#~ msgid "Resize window"
#~ msgstr "Оразмеряване на прозорец"
#~ msgid "Toggle window on all workspaces or one"
#~ msgstr "Превключване на появата на прозореца на всички работни места"
#~ msgid "Raise window if covered, otherwise lower it"
#~ msgstr "Ако прозорецът е под друг, го издига, иначе го понижава"
#~ msgid "Raise window above other windows"
#~ msgstr "Издигане на прозореца над другите"
#~ msgid "Lower window below other windows"
#~ msgstr "Понижаване на прозореца под другите прозорци"
#~ msgid "Maximize window vertically"
#~ msgstr "Максимизиране на прозореца вертикално"
#~ msgid "Maximize window horizontally"
#~ msgstr "Максимизиране на прозореца хоризонтално"
#~ msgid "View split on left"
#~ msgstr "Изглед разделен отляво"
#~ msgid "View split on right"
#~ msgstr "Изглед разделен отдясно"
#~ msgid "Mutter"
#~ msgstr "Mutter"
#~ msgid "Modifier to use for extended window management operations"
#~ msgstr ""
#~ "Модификатор, който да се ползва за допълнителните действия по прозорците"
#~ msgid ""
#~ "This key will initiate the \"overlay\", which is a combination window "
#~ "overview and application launching system. The default is intended to be "
#~ "the \"Windows key\" on PC hardware. It's expected that this binding "
#~ "either the default or set to the empty string."
#~ msgstr ""
#~ "Този клавиш стартира наслагването, което е комбинация от прозорец и "
#~ "система за стартиране на програми. Стандартно клавишът е „Windows“ при "
#~ "системите съвместими с PC. Очаква се да е или стандартната стойност или "
#~ "празен низ."
#~ msgid "Attach modal dialogs"
#~ msgstr "Прилепени модални диалогови прозорци"
#~ msgid ""
#~ "When true, instead of having independent titlebars, modal dialogs appear "
#~ "attached to the titlebar of the parent window and are moved together with "
#~ "the parent window."
#~ msgstr ""
#~ "Когато е ключът е истина, модалните диалогови прозорци прилепват към "
#~ "заглавната лента на родителския си прозорец и се местят с него, вместо да "
#~ "са отделни и да имат собствена заглавна лента."
#~ msgid "Enable edge tiling when dropping windows on screen edges"
#~ msgstr ""
#~ "Включване на прилепването и максимизирането на прозорците по границите на "
#~ "екрана"
#~ msgid ""
#~ "If enabled, dropping windows on vertical screen edges maximizes them "
#~ "vertically and resizes them horizontally to cover half of the available "
#~ "area. Dropping windows on the top screen edge maximizes them completely."
#~ msgstr ""
#~ "Ако е включено, прозорците ще се максимизират по вертикала и ще заемат "
#~ "половината площ по хоризонтала при поставянето им край вертикалните "
#~ "граници на екрана. При поставянето им край горната граница прозорците ще "
#~ "се максимизират изцяло."
#~ msgid "Workspaces are managed dynamically"
#~ msgstr "Динамично управление на работните места"
#~ 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 ""
#~ "Определя дали се ползва динамично управление на работните места или броят "
#~ "им е установено число (зададено чрез ключа „num-workspaces“ в „org.gnome."
#~ "desktop.wm.preferences“)."
#~ msgid "Workspaces only on primary"
#~ msgstr "Работни плотове само на основния екран"
#~ msgid ""
#~ "Determines whether workspace switching should happen for windows on all "
#~ "monitors or only for windows on the primary monitor."
#~ msgstr ""
#~ "Дали смяната на работни плотове да се извършва на всички екрани или само "
#~ "на основния."
#~ msgid "No tab popup"
#~ msgstr "Без изскачащ прозорец при обхождане"
#~ msgid ""
#~ "Determines whether the use of popup and highlight frame should be "
#~ "disabled for window cycling."
#~ msgstr ""
#~ "Дали отбелязването на рамка и изскачащият прозорец при обхождане на "
#~ "прозорците да се изключат."
#~ msgid "Delay focus changes until the pointer stops moving"
#~ msgstr "Смяната на фокуса да изчака спирането на показалеца"
#~ msgid ""
#~ "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
#~ "the focus will not be changed immediately when entering a window, but "
#~ "only after the pointer stops moving."
#~ msgstr ""
#~ "Ако е включено и начинът за фокусиране е „sloppy“ (мързеливо) или "
#~ "„mouse“ (под мишката), тогава фокусът няма да се предава веднага при "
#~ "навлизането в прозорец, а едва след като показалецът спре да се движи."
#~ msgid "Draggable border width"
#~ msgstr "Широчина на границата за влачене"
#~ 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 ""
#~ "Общ размер на границите за влачене. Ако видимите граници на темата са по-"
#~ "малки, се добавят невидими граници, за да се достигне тази величина."
#~ msgid "Auto maximize nearly monitor sized windows"
#~ msgstr ""
#~ "Автоматично максимизиране на прозорци с размер близък до този на екрана"
#~ msgid ""
#~ "If enabled, new windows that are initially the size of the monitor "
#~ "automatically get maximized."
#~ msgstr ""
#~ "Ако е включено, новите прозорци, чийто размер е близък на този на екрана, "
#~ "автоматично ще се максимизират."
#~ msgid "Place new windows in the center"
#~ msgstr "Поставяне на новите прозорци в центъра на екрана"
#~ msgid ""
#~ "When true, the new windows will always be put in the center of the active "
#~ "screen of the monitor."
#~ msgstr "Ако е включено, новите прозорци ще се поставят в центъра на екрана."
#~ msgid "Select window from tab popup"
#~ msgstr "Избиране при обхождане чрез изскачащ прозорец"
#~ msgid "Cancel tab popup"
#~ msgstr "Без изскачащ прозорец при обхождане"
#~ msgid "Switch to VT 1"
#~ msgstr "Превключване към виртуална графична конзола 1"
#~ msgid "Switch to VT 2"
#~ msgstr "Превключване към виртуална графична конзола 2"
#~ msgid "Switch to VT 3"
#~ msgstr "Превключване към виртуална графична конзола 3"
#~ msgid "Switch to VT 4"
#~ msgstr "Превключване към виртуална графична конзола 4"
#~ msgid "Switch to VT 5"
#~ msgstr "Превключване към виртуална графична конзола 5"
#~ msgid "Switch to VT 6"
#~ msgstr "Превключване към виртуална графична конзола 6"
#~ msgid "Switch to VT 7"
#~ msgstr "Превключване към виртуална графична конзола 7"
#~ msgid "Switch to VT 8"
#~ msgstr "Превключване към виртуална графична конзола 8"
#~ msgid "Switch to VT 9"
#~ msgstr "Превключване към виртуална графична конзола 9"
#~ msgid "Switch to VT 10"
#~ msgstr "Превключване към виртуална графична конзола 10"
#~ msgid "Switch to VT 11"
#~ msgstr "Превключване към виртуална графична конзола 11"
#~ msgid "Switch to VT 12"
#~ msgstr "Превключване към виртуална графична конзола 12"

426
po/de.po
View File

@@ -13,8 +13,8 @@ msgstr ""
"Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-07 18:55+0200\n"
"POT-Creation-Date: 2016-08-19 21:04+0000\n"
"PO-Revision-Date: 2016-08-21 11:45+0200\n"
"Last-Translator: Mario Blättermann <mario.blaettermann@gmail.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: de\n"
@@ -22,248 +22,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 1.8.9\n"
#: data/50-mutter-navigation.xml:6
msgid "Navigation"
msgstr "Navigation"
#: data/50-mutter-navigation.xml:9
msgid "Move window to workspace 1"
msgstr "Fenster auf Arbeitsfläche 1 verschieben"
#: data/50-mutter-navigation.xml:12
msgid "Move window to workspace 2"
msgstr "Fenster auf Arbeitsfläche 2 verschieben"
#: data/50-mutter-navigation.xml:15
msgid "Move window to workspace 3"
msgstr "Fenster auf Arbeitsfläche 3 verschieben"
#: data/50-mutter-navigation.xml:18
msgid "Move window to workspace 4"
msgstr "Fenster auf Arbeitsfläche 4 verschieben"
#: data/50-mutter-navigation.xml:21
msgid "Move window to last workspace"
msgstr "Fenster auf letzte Arbeitsfläche verschieben"
#: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left"
msgstr "Fenster eine Arbeitsfläche nach links verschieben"
#: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right"
msgstr "Fenster eine Arbeitsfläche nach rechts verschieben"
#: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up"
msgstr "Fenster eine Arbeitsfläche nach oben verschieben"
#: data/50-mutter-navigation.xml:33
msgid "Move window one workspace down"
msgstr "Fenster eine Arbeitsfläche nach unten verschieben"
#: data/50-mutter-navigation.xml:36
msgid "Move window one monitor to the left"
msgstr "Fenster einen Bildschirm nach links verschieben"
#: data/50-mutter-navigation.xml:39
msgid "Move window one monitor to the right"
msgstr "Fenster einen Bildschirm nach rechts verschieben"
#: data/50-mutter-navigation.xml:42
msgid "Move window one monitor up"
msgstr "Fenster einen Bildschirm nach oben verschieben"
#: data/50-mutter-navigation.xml:45
msgid "Move window one monitor down"
msgstr "Fenster einen Bildschirm nach unten verschieben"
#: data/50-mutter-navigation.xml:49
msgid "Switch applications"
msgstr "Anwendungen wechseln"
#: data/50-mutter-navigation.xml:54
msgid "Switch to previous application"
msgstr "Zur vorherigen Anwendung wechseln"
#: data/50-mutter-navigation.xml:58
msgid "Switch windows"
msgstr "Fenster wechseln"
#: data/50-mutter-navigation.xml:63
msgid "Switch to previous window"
msgstr "Zum vorherigen Fenster wechseln"
#: data/50-mutter-navigation.xml:67
msgid "Switch windows of an application"
msgstr "Zwischen den Fenstern einer Anwendung wechseln"
#: data/50-mutter-navigation.xml:72
msgid "Switch to previous window of an application"
msgstr "Zum vorherigen Fenster einer Anwendung wechseln"
#: data/50-mutter-navigation.xml:76
msgid "Switch system controls"
msgstr "Systemsteuerungen umschalten"
#: data/50-mutter-navigation.xml:81
msgid "Switch to previous system control"
msgstr "Zur vorherigen Systemsteuerungen wechseln"
#: data/50-mutter-navigation.xml:85
msgid "Switch windows directly"
msgstr "Fenster sofort wechseln"
#: data/50-mutter-navigation.xml:90
msgid "Switch directly to previous window"
msgstr "Direkt zum vorherigen Fenster wechseln"
#: data/50-mutter-navigation.xml:94
msgid "Switch windows of an app directly"
msgstr "Sofort zwischen den Fenstern einer Anwendung wechseln"
#: data/50-mutter-navigation.xml:99
msgid "Switch directly to previous window of an app"
msgstr "Direkt zum vorherigen Fenster einer Anwendung wechseln"
#: data/50-mutter-navigation.xml:103
msgid "Switch system controls directly"
msgstr "Systemsteuerungen sofort umschalten"
#: data/50-mutter-navigation.xml:108
msgid "Switch directly to previous system control"
msgstr "Direkt zur vorherigen Systemsteuerungen wechselen"
#: data/50-mutter-navigation.xml:111
msgid "Hide all normal windows"
msgstr "Alle normalen Fenster verbergen"
#: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 1"
msgstr "Zur Arbeitsfläche 1 wechseln"
#: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 2"
msgstr "Zur Arbeitsfläche 2 wechseln"
#: data/50-mutter-navigation.xml:120
msgid "Switch to workspace 3"
msgstr "Zur Arbeitsfläche 3 wechseln"
#: data/50-mutter-navigation.xml:123
msgid "Switch to workspace 4"
msgstr "Zur Arbeitsfläche 4 wechseln"
#: data/50-mutter-navigation.xml:126
msgid "Switch to last workspace"
msgstr "Zur letzten Arbeitsfläche wechseln"
#: data/50-mutter-navigation.xml:129
msgid "Move to workspace left"
msgstr "Auf Arbeitsfläche links verschieben"
#: data/50-mutter-navigation.xml:132
msgid "Move to workspace right"
msgstr "Auf Arbeitsfläche rechts verschieben"
#: data/50-mutter-navigation.xml:135
msgid "Move to workspace above"
msgstr "Auf Arbeitsfläche darüber verschieben"
#: data/50-mutter-navigation.xml:138
msgid "Move to workspace below"
msgstr "Auf Arbeitsfläche darunter verschieben"
#: data/50-mutter-system.xml:6
msgid "System"
msgstr "System"
#: data/50-mutter-system.xml:8
msgid "Show the run command prompt"
msgstr "Den »Befehl ausführen«-Dialog anzeigen"
#: data/50-mutter-system.xml:10
msgid "Show the activities overview"
msgstr "Aktivitäten-Übersicht anzeigen"
#: data/50-mutter-windows.xml:6
msgid "Windows"
msgstr "Fenster"
#: data/50-mutter-windows.xml:8
msgid "Activate the window menu"
msgstr "Das Fenstermenü aktivieren"
#: data/50-mutter-windows.xml:10
msgid "Toggle fullscreen mode"
msgstr "Vollbildmodus ein-/ausschalten"
#: data/50-mutter-windows.xml:12
msgid "Toggle maximization state"
msgstr "Maximierungszustand ein-/ausschalten"
#: data/50-mutter-windows.xml:14
msgid "Maximize window"
msgstr "Fenster maximieren"
#: data/50-mutter-windows.xml:16
msgid "Restore window"
msgstr "Fenstergröße wiederherstellen"
#: data/50-mutter-windows.xml:18
msgid "Toggle shaded state"
msgstr "Fenster ein-/ausrollen"
#: data/50-mutter-windows.xml:20
msgid "Close window"
msgstr "Fenster schließen"
#: data/50-mutter-windows.xml:22
msgid "Hide window"
msgstr "Fenster verbergen"
#: data/50-mutter-windows.xml:24
msgid "Move window"
msgstr "Fenster verschieben"
#: data/50-mutter-windows.xml:26
msgid "Resize window"
msgstr "Fenstergröße ändern"
#: data/50-mutter-windows.xml:29
msgid "Toggle window on all workspaces or one"
msgstr ""
"Festlegen, ob das Fenster auf allen oder nur einer Arbeitsfläche sichtbar ist"
#: data/50-mutter-windows.xml:31
msgid "Raise window if covered, otherwise lower it"
msgstr "Fenster anheben, falls es verdeckt ist, andernfalls absenken"
#: data/50-mutter-windows.xml:33
msgid "Raise window above other windows"
msgstr "Fenster vor die anderen Fenster anheben"
#: data/50-mutter-windows.xml:35
msgid "Lower window below other windows"
msgstr "Fenster hinter die anderen Fenster absenken"
#: data/50-mutter-windows.xml:37
msgid "Maximize window vertically"
msgstr "Fenster vertikal maximieren"
#: data/50-mutter-windows.xml:39
msgid "Maximize window horizontally"
msgstr "Fenster horizontal maximieren"
#: data/50-mutter-windows.xml:43
msgid "View split on left"
msgstr "Ansicht links teilen"
#: data/50-mutter-windows.xml:47
msgid "View split on right"
msgstr "Ansicht rechts teilen"
"X-Generator: Poedit 1.8.8\n"
#: data/mutter.desktop.in:4
msgid "Mutter"
@@ -639,6 +398,185 @@ msgstr ""
msgid "%s (on %s)"
msgstr "%s (auf %s)"
#~ msgid "Navigation"
#~ msgstr "Navigation"
#~ msgid "Move window to workspace 1"
#~ msgstr "Fenster auf Arbeitsfläche 1 verschieben"
#~ msgid "Move window to workspace 2"
#~ msgstr "Fenster auf Arbeitsfläche 2 verschieben"
#~ msgid "Move window to workspace 3"
#~ msgstr "Fenster auf Arbeitsfläche 3 verschieben"
#~ msgid "Move window to workspace 4"
#~ msgstr "Fenster auf Arbeitsfläche 4 verschieben"
#~ msgid "Move window to last workspace"
#~ msgstr "Fenster auf letzte Arbeitsfläche verschieben"
#~ msgid "Move window one workspace to the left"
#~ msgstr "Fenster eine Arbeitsfläche nach links verschieben"
#~ msgid "Move window one workspace to the right"
#~ msgstr "Fenster eine Arbeitsfläche nach rechts verschieben"
#~ msgid "Move window one workspace up"
#~ msgstr "Fenster eine Arbeitsfläche nach oben verschieben"
#~ msgid "Move window one workspace down"
#~ msgstr "Fenster eine Arbeitsfläche nach unten verschieben"
#~ msgid "Move window one monitor to the left"
#~ msgstr "Fenster einen Bildschirm nach links verschieben"
#~ msgid "Move window one monitor to the right"
#~ msgstr "Fenster einen Bildschirm nach rechts verschieben"
#~ msgid "Move window one monitor up"
#~ msgstr "Fenster einen Bildschirm nach oben verschieben"
#~ msgid "Move window one monitor down"
#~ msgstr "Fenster einen Bildschirm nach unten verschieben"
#~ msgid "Switch applications"
#~ msgstr "Anwendungen wechseln"
#~ msgid "Switch to previous application"
#~ msgstr "Zur vorherigen Anwendung wechseln"
#~ msgid "Switch windows"
#~ msgstr "Fenster wechseln"
#~ msgid "Switch to previous window"
#~ msgstr "Zum vorherigen Fenster wechseln"
#~ msgid "Switch windows of an application"
#~ msgstr "Zwischen den Fenstern einer Anwendung wechseln"
#~ msgid "Switch to previous window of an application"
#~ msgstr "Zum vorherigen Fenster einer Anwendung wechseln"
#~ msgid "Switch to previous system control"
#~ msgstr "Zur vorherigen Systemsteuerungen wechseln"
#~ msgid "Switch windows directly"
#~ msgstr "Fenster sofort wechseln"
#~ msgid "Switch directly to previous window"
#~ msgstr "Direkt zum vorherigen Fenster wechseln"
#~ msgid "Switch windows of an app directly"
#~ msgstr "Sofort zwischen den Fenstern einer Anwendung wechseln"
#~ msgid "Switch directly to previous window of an app"
#~ msgstr "Direkt zum vorherigen Fenster einer Anwendung wechseln"
#~ msgid "Switch system controls directly"
#~ msgstr "Systemsteuerungen sofort umschalten"
#~ msgid "Switch directly to previous system control"
#~ msgstr "Direkt zur vorherigen Systemsteuerungen wechselen"
#~ msgid "Hide all normal windows"
#~ msgstr "Alle normalen Fenster verbergen"
#~ msgid "Switch to workspace 1"
#~ msgstr "Zur Arbeitsfläche 1 wechseln"
#~ msgid "Switch to workspace 2"
#~ msgstr "Zur Arbeitsfläche 2 wechseln"
#~ msgid "Switch to workspace 3"
#~ msgstr "Zur Arbeitsfläche 3 wechseln"
#~ msgid "Switch to workspace 4"
#~ msgstr "Zur Arbeitsfläche 4 wechseln"
#~ msgid "Switch to last workspace"
#~ msgstr "Zur letzten Arbeitsfläche wechseln"
#~ msgid "Move to workspace left"
#~ msgstr "Auf Arbeitsfläche links verschieben"
#~ msgid "Move to workspace right"
#~ msgstr "Auf Arbeitsfläche rechts verschieben"
#~ msgid "Move to workspace above"
#~ msgstr "Auf Arbeitsfläche darüber verschieben"
#~ msgid "Move to workspace below"
#~ msgstr "Auf Arbeitsfläche darunter verschieben"
#~ msgid "System"
#~ msgstr "System"
#~ msgid "Show the run command prompt"
#~ msgstr "Den »Befehl ausführen«-Dialog anzeigen"
#~ msgid "Show the activities overview"
#~ msgstr "Aktivitäten-Übersicht anzeigen"
#~ msgid "Windows"
#~ msgstr "Fenster"
#~ msgid "Activate the window menu"
#~ msgstr "Das Fenstermenü aktivieren"
#~ msgid "Toggle fullscreen mode"
#~ msgstr "Vollbildmodus ein-/ausschalten"
#~ msgid "Toggle maximization state"
#~ msgstr "Maximierungszustand ein-/ausschalten"
#~ msgid "Maximize window"
#~ msgstr "Fenster maximieren"
#~ msgid "Restore window"
#~ msgstr "Fenstergröße wiederherstellen"
#~ msgid "Toggle shaded state"
#~ msgstr "Fenster ein-/ausrollen"
#~ msgid "Close window"
#~ msgstr "Fenster schließen"
#~ msgid "Hide window"
#~ msgstr "Fenster verbergen"
#~ msgid "Move window"
#~ msgstr "Fenster verschieben"
#~ msgid "Resize window"
#~ msgstr "Fenstergröße ändern"
#~ msgid "Toggle window on all workspaces or one"
#~ msgstr ""
#~ "Festlegen, ob das Fenster auf allen oder nur einer Arbeitsfläche sichtbar "
#~ "ist"
#~ msgid "Raise window if covered, otherwise lower it"
#~ msgstr "Fenster anheben, falls es verdeckt ist, andernfalls absenken"
#~ msgid "Raise window above other windows"
#~ msgstr "Fenster vor die anderen Fenster anheben"
#~ msgid "Lower window below other windows"
#~ msgstr "Fenster hinter die anderen Fenster absenken"
#~ msgid "Maximize window vertically"
#~ msgstr "Fenster vertikal maximieren"
#~ msgid "Maximize window horizontally"
#~ msgstr "Fenster horizontal maximieren"
#~ msgid "View split on left"
#~ msgstr "Ansicht links teilen"
#~ msgid "View split on right"
#~ msgstr "Ansicht rechts teilen"
#~ msgid "Failed to scan themes directory: %s\n"
#~ msgstr "Der Themenordner konnte nicht eingelesen werden: %s\n"

274
po/gl.po
View File

@@ -13,271 +13,268 @@
msgid ""
msgstr ""
"Project-Id-Version: gl\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"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-03-02 09:49+0100\n"
"PO-Revision-Date: 2016-03-02 09:49+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
"Language-Team: Galician\n"
"Language-Team: gnome-l10n-gl@gnome.org\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: 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 "Navegación"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "Mover xanela ao espazo de traballo 1"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Mover xanela ao espazo de traballo 2"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Mover xanela ao espazo de traballo 3"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Mover xanela ao espazo de traballo 4"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Mover xanela ao último espazo de traballo"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Mover xanela un espazo de traballo cara á esquerda"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Mover xanela un espazo de traballo cara á dereita"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Mover xanela un espazo de traballo cara a arriba"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Mover xanela un espazo de traballo cara a abaixo"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Mover xanela un monitor á esquerda"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Mover xanela un monitor á dereita"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Mover xanela un monitor arriba"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Mover xanela un espazo de traballo abaixo"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Cambiar entre aplicativos"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Cambiar ao aplicativo aplicativos"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Cambiar xanelas"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Cambiar á xanela anterior"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Cambiar entre as xanelas dun aplicativo"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
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"
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Cambiar entre os controles do sistema"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Cambia ao control do sistema anterior"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Cambiar xanelas directamente"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Cambia directamente á xanela anterior"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Cambiar entre as xanelas dun aplicativo directamente"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "Cambia directamente á xanela anterior do aplicativo"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Cambiar entre os controles do sistema directamente"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Cambiar directamente ao control do sistema anterior"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Ocultar todas as xanelas normais"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Cambiar ao espazo de traballo 1"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Cambiar ao espazo de traballo 2"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Cambiar ao espazo de traballo 3"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Cambiar ao espazo de traballo 4"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Cambiar ao último espazo de traballo"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Mover ao espazo da esquerda"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Mover ao espazo da dereita"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Mover ao espazo de arriba"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Mover ao espazo de traballo de abaixo"
#: 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 "Mostrar o diálogo de executar orde"
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Mostrar a vista xeral de actividades"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Xanelas"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Activar o menú da xanela"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Trocar modo de pantalla completa"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Trocar o estado maximizado"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Maximizar xanela"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Restaurar xanela"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Trocar o estado ensombrecido"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Pechar xanela"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Ocultar xanela"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Mover xanela"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Redimensionar xanela"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "Trocar que a xanela apareza en tódolos espazos de traballo ou nun"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "Elevar a xanela se está cuberta por outra, en caso contrario baixala"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Subir a xanela por enriba doutras xanelas"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Baixar xanela debaixo doutras xanelas"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Maximizar xanela verticalmente"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Maximizar xanela horizontalmente"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Dividir vista á esquerda"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Dividir vista á dereita"
#: 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 se vai usar para as accións modificadas de xestión de xanela"
#: 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 "
@@ -289,11 +286,11 @@ msgstr ""
"nun PC é a «Tecla Windows». Espérase que este enlace sexa configurado ao "
"valor predeterminado ou á cadena baleira."
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Anexar os diálogos modais"
#: 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 "
@@ -303,11 +300,11 @@ msgstr ""
"diálogos modais aparecerán anexados á barra de título da xanela pai e "
"moveranse de forma conxunta á xanela pai."
#: 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 "Activar o mosaico nos bordos ao arrastrar xanelas aos bordos da xanela"
#: 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 "
@@ -318,11 +315,11 @@ msgstr ""
"metade da área dispoñíbel. Arrastrar xanelas ao bordo superior da pantalla "
"maximízaas por completo."
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "Os espazos de traballo xestiónanse dinamicamente"
#: 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."
@@ -332,11 +329,11 @@ msgstr ""
"número estático de áreas de traballo (determinado pola chave «num-"
"workspaces» en «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 "Espazos de traballo só no principal"
#: 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."
@@ -344,11 +341,11 @@ msgstr ""
"Determina se o troco de espazo de traballo debe facerse para as xanelas de "
"todos os monitores ou só para o monitor principal."
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "No hai lapela emerxente"
#: 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."
@@ -356,11 +353,11 @@ msgstr ""
"Determina se se debe desactivar o uso de xanelas emerxentes e marcos "
"realzados ao cambiar entre xanelas."
#: 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 "Retrasar o cambio de enfoque até que o punteiro se deteña ao moverse"
#: 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 "
@@ -370,11 +367,11 @@ msgstr ""
"entón o enfoque non se cambiará de forma inmediata ao entrar nunha xanela, "
"só cando o punteiro se deteña sobre ela."
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Anchura arrastrábel do bordo"
#: 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."
@@ -382,12 +379,12 @@ msgstr ""
"A cantidade total de bordo arrastrábel. Se os bordos visíbeis do tema non "
"son suficientes, engadiranse bordos invisíbeis para satisfacer este 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 ""
"Maximizar automaticamente as xanelas que case teñan o tamaño da 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."
@@ -395,11 +392,11 @@ msgstr ""
"Se está activada, as xanelas novas que inicialmente teñan o tamaño da "
"pantalla maximizaranse automaticamente."
#: 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 "Dispor as novas xanelas no centro"
#: 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."
@@ -407,93 +404,85 @@ msgstr ""
"Cando está verdadeiro, as novas xanelas sempre se porán no centro da "
"pantalla activa."
#: data/org.gnome.mutter.gschema.xml.in:120
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "Seleccionar xanela da lapela emerxente"
#: data/org.gnome.mutter.gschema.xml.in:125
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Cancelar lapela emerxente"
#: 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 "Cambiar á 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 "Cambiar á 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 "Cambiar á 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 "Cambiar á 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 "Cambiar á 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 "Cambiar á 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 "Cambiar á 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 "Cambiar á 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 "Cambiar á 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 "Cambiar á 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 "Cambiar á 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 "Cambiar á VT 12"
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Cambiar monitor"
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Mostrar axuda en pantalla"
#: src/backends/meta-monitor-manager.c:514
#: ../src/backends/meta-monitor-manager.c:518
msgid "Built-in display"
msgstr "Pantalla embebida"
#: src/backends/meta-monitor-manager.c:537
#: ../src/backends/meta-monitor-manager.c:544
msgid "Unknown"
msgstr "Descoñecido"
#: src/backends/meta-monitor-manager.c:539
#: ../src/backends/meta-monitor-manager.c:546
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:547
#: ../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:463
#: ../src/compositor/compositor.c:456
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display \"%s"
@@ -502,20 +491,20 @@ msgstr ""
"Xa se está a executar outro xestor de composición na pantalla %i na "
"visualización «%s»"
#: src/core/bell.c:194
#: ../src/core/bell.c:185
msgid "Bell event"
msgstr "Evento de campá"
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "«%s» non está respondendo."
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "O Aplicativo non está respondendo."
#: 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."
@@ -523,56 +512,56 @@ msgstr ""
"Pode elixir esperar un momento para ver se continúa ou forzar ao aplicativo "
"a pechar completamente."
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "Espe_rar"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Forzar a saída"
#: src/core/display.c:590
#: ../src/core/display.c:555
#, c-format
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:182
#: ../src/core/main.c:181
msgid "Disable connection to session manager"
msgstr "Desactivar a conexión ao xestor de sesión"
#: src/core/main.c:188
#: ../src/core/main.c:187
msgid "Replace the running window manager"
msgstr "Substituír o xestor de xanelas en execución"
#: src/core/main.c:194
#: ../src/core/main.c:193
msgid "Specify session management ID"
msgstr "Especificar o ID de xestión de sesión"
#: src/core/main.c:199
#: ../src/core/main.c:198
msgid "X Display to use"
msgstr "Pantalla X que se vai usar"
#: src/core/main.c:205
#: ../src/core/main.c:204
msgid "Initialize session from savefile"
msgstr "Inicializar sesión desde o ficheiro de salvagarda"
#: src/core/main.c:211
#: ../src/core/main.c:210
msgid "Make X calls synchronous"
msgstr "Facer que as chamadas a X sexan sincrónicas"
#: src/core/main.c:218
#: ../src/core/main.c:217
msgid "Run as a wayland compositor"
msgstr "Executar como compositor de wayland"
#: src/core/main.c:224
#: ../src/core/main.c:223
msgid "Run as a nested compositor"
msgstr "Executar como compositor anidado"
#: src/core/main.c:232
#: ../src/core/main.c:231
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
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
@@ -587,20 +576,20 @@ msgstr ""
"There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A "
"PARTICULAR PURPOSE.\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "Imprimir versión"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "Engadido de mutter que usar"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "Espazo de traballo %d"
#: 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 "
@@ -609,21 +598,16 @@ 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:606
#: ../src/core/screen.c:603
#, c-format
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
#: ../src/core/util.c:121
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:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Modo conmutador: Modo %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."
@@ -631,7 +615,7 @@ msgstr ""
"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:548
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (en %s)"

318
po/kk.po
View File

@@ -8,267 +8,277 @@ msgstr ""
"Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-09 21:12+0500\n"
"POT-Creation-Date: 2015-03-08 23:11+0000\n"
"PO-Revision-Date: 2015-03-09 15:42+0500\n"
"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n"
"Language-Team: Kazakh <kk@li.org>\n"
"Language: kk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.9\n"
"X-Generator: Poedit 1.7.3\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 workspace to the left"
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 workspace to the right"
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 workspace up"
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 workspace down"
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 applications"
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 windows"
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 windows of an application"
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 system controls"
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 windows of an application"
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 system controls"
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 "
@@ -276,209 +286,214 @@ 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 workspace 1"
msgid "Switch to VT 1"
msgstr "Бірінші виртуалды терминалына ауысу"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:10
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2
#| msgid "Switch to workspace 2"
msgid "Switch to VT 2"
msgstr "Екінші виртуалды терминалына ауысу"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:14
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3
#| msgid "Switch to workspace 3"
msgid "Switch to VT 3"
msgstr "Үшінші виртуалды терминалына ауысу"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:18
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4
#| msgid "Switch to workspace 4"
msgid "Switch to VT 4"
msgstr "Төртінші виртуалды терминалына ауысу"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:22
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5
#| msgid "Switch to workspace 1"
msgid "Switch to VT 5"
msgstr "Бесінші виртуалды терминалына ауысу"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:26
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6
#| msgid "Switch to workspace 1"
msgid "Switch to VT 6"
msgstr "Алтыншы виртуалды терминалына ауысу"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:30
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7
#| msgid "Switch to workspace 1"
msgid "Switch to VT 7"
msgstr "Жетінші виртуалды терминалына ауысу"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:34
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8
#| msgid "Switch to workspace 1"
msgid "Switch to VT 8"
msgstr "Сегізінші виртуалды терминалына ауысу"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:38
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9
#| msgid "Switch to workspace 1"
msgid "Switch to VT 9"
msgstr "Тоғызыншы виртуалды терминалына ауысу"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:42
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10
#| msgid "Switch to workspace 1"
msgid "Switch to VT 10"
msgstr "Оныншы виртуалды терминалына ауысу"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:46
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11
#| msgid "Switch to workspace 1"
msgid "Switch to VT 11"
msgstr "Он бірінші виртуалды терминалына ауысу"
msgstr ""
#: data/org.gnome.mutter.wayland.gschema.xml.in:50
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12
#| msgid "Switch to workspace 1"
msgid "Switch to VT 12"
msgstr "Он екінші виртуалды терминалына ауысу"
msgstr ""
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Мониторды ауыстыру"
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Экрандағы көмекті көрсету"
#: src/backends/meta-monitor-manager.c:514
#: ../src/backends/meta-monitor-manager.c:364
msgid "Built-in display"
msgstr "Құрамындағы экран"
#: src/backends/meta-monitor-manager.c:537
#: ../src/backends/meta-monitor-manager.c:391
msgid "Unknown"
msgstr "Белгісіз"
#: src/backends/meta-monitor-manager.c:539
#: ../src/backends/meta-monitor-manager.c:393
#| msgid "Unknown %s"
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:547
#: ../src/backends/meta-monitor-manager.c:401
#, 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:463
#: ../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:185
msgid "Bell event"
msgstr ""
#: 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."
@@ -486,56 +501,52 @@ msgstr ""
"Сіз қолданба өз жұмысын жалғастырғанды күтіп, немесе оны мәжбүрлетіп жаба "
"аласыз."
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Күту"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Мәжбүрлі шығу"
#: src/core/display.c:590
#: ../src/core/display.c:562
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr ""
#: src/core/main.c:182
#: ../src/core/main.c:176
msgid "Disable connection to session manager"
msgstr "Сессиялар менеджеріне байланыстарды сөндіру"
#: src/core/main.c:188
#: ../src/core/main.c:182
msgid "Replace the running window manager"
msgstr ""
#: src/core/main.c:194
#: ../src/core/main.c:188
msgid "Specify session management ID"
msgstr "Сессия менеджментінің ID-ін көрсету"
#: src/core/main.c:199
#: ../src/core/main.c:193
msgid "X Display to use"
msgstr "Қолданылатын X дисплейі"
#: src/core/main.c:205
#: ../src/core/main.c:199
msgid "Initialize session from savefile"
msgstr ""
#: src/core/main.c:211
#: ../src/core/main.c:205
msgid "Make X calls synchronous"
msgstr "X сервер шақыруларын синхронды қылу"
#: src/core/main.c:218
#: ../src/core/main.c:212
msgid "Run as a wayland compositor"
msgstr ""
#: src/core/main.c:224
msgid "Run as a nested compositor"
msgstr ""
#: src/core/main.c:232
#: ../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"
@@ -545,47 +556,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:2004
#, c-format
msgid "Workspace %d"
msgstr "Жұмыс орны %d"
#: src/core/screen.c:521
#: ../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."
msgstr ""
#: src/core/screen.c:606
#: ../src/core/screen.c:607
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr ""
#: src/core/util.c:120
#: ../src/core/util.c:118
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 ""
#: 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 (%s жерінде)"

824
po/ko.po

File diff suppressed because it is too large Load Diff

277
po/lv.po
View File

@@ -11,269 +11,269 @@
msgid ""
msgstr ""
"Project-Id-Version: lv\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-08 21:31+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-03-03 13:37+0000\n"
"PO-Revision-Date: 2016-03-03 22:19+0200\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
"Language: lv\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 != 0 ? 1 :"
" 2);\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n"
"X-Generator: Lokalize 2.0\n"
#: data/50-mutter-navigation.xml:6
#: ../data/50-mutter-navigation.xml.in.h:1
msgid "Navigation"
msgstr "Navigācija"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "Pārvietot logu uz 1. darbvietu"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Pārvietot logu uz 2. darbvietu"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Pārvietot logu uz 3. darbvietu"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Pārvietot logu uz 4. darbvietu"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Pārvietot logu uz pēdējo darbvietu"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Pārvietot logu uz darbvietu pa kreisi"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Pārvietot logu uz darbvietu pa labi"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Pārvietot logu uz darbvietu augšup"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Pārvietot logu uz darbvietu lejup"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Pārvietot logu uz monitoru pa kreisi"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Pārvietot logu uz monitoru pa labi"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Pārvietot logu uz monitoru augšup"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Pārvietot logu uz monitoru lejup"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Pārslēgt lietotnes"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Pārslēgties uz iepriekšējo lietotni"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Pārslēgt logus"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Pārslēgties uz iepriekšējo logu"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Pārslēgt vienas lietotnes logus"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "Pārslēgties uz lietotnes iepriekšējo logu"
#: data/50-mutter-navigation.xml:76
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Pārslēgt sistēmas vadīklas"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Pārslēgties uz iepriekšējo sistēmas vadīklu"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Pārslēgties starp logiem tieši"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Pārslēgties tieši uz iepriekšējo logu"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Pārslēgties starp lietotnes logiem tieši"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "Pārslēgties tieši uz iepriekšējo lietotnes logu"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Pārslēgt sistēmas vadīklas tieši"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Pārslēgties tieši uz iepriekšējo sistēmas vadīklu"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Slēpt visus parastos logus"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Pārslēgties uz 1. darbvietu"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Pārslēgties uz 2. darbvietu"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Pārslēgties uz 3. darbvietu"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Pārslēgties uz 4. darbvietu"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Pārslēgties uz pēdējo darbvietu"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Pāriet uz darbvietu pa kreisi"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Pāriet uz darbvietu pa labi"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Pāriet uz darbvietu augšup"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Pāriet uz darbvietu lejup"
#: data/50-mutter-system.xml:6
#: ../data/50-mutter-system.xml.in.h:1
msgid "System"
msgstr "Sistēma"
#: data/50-mutter-system.xml:8
#: ../data/50-mutter-system.xml.in.h:2
msgid "Show the run command prompt"
msgstr "Rādīt palaišanas komandrindu"
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Rādīt aktivitāšu pārskatu"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Logi"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Aktivizēt loga izvēlni"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Pārslēgt pilnekrāna režīmu"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Pārslēgt maksimizācijas stāvokli"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Maksimizēt logu"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Atjaunot loga izmēru"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Pārslēgt ēnoto stāvokli"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Aizvērt logu"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Paslēpt logu"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Pārvietot logu"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Mainīt loga izmēru"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "Pārslēgt, vai logam jābūt visās darbvietās vai vienā"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "Pacelt logu, ja to aizsedz, citādi pazemināt"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Pacelt logu virs citiem logiem"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Pazemināt logu zem citiem logiem"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Maksimizēt logu vertikāli"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Maksimizēt logu horizontāli"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Izvietot kreisajā ekrāna pusē"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Izvietot labajā ekrāna pusē"
#: 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 "Modifikators, kuru lietot paplašinātām loga pārvaldības darbībām"
#: 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 "
@@ -285,11 +285,11 @@ msgstr ""
"PC aparatūras. Tiek sagaidīts, ka šī sasaite ir vai nu noklusējuma, vai "
"tukša virkne."
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Piesaistīt modālos 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 ""
"dialogs būs piesaistīts virsraksta joslai vecāka logam un tiks pārvietots "
"kopā ar vecāka logu."
#: 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 "Aktivēt logu sānisko izklāšanu, kad to nomet uz ekrāna malas"
#: 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,11 +313,11 @@ msgstr ""
"izklāti pa visu ekrāna augstumu pusē no pieejamā platuma, bet tie, kas "
"nomesti uz augšējās malas, tiks izklāti pa visu ekrānu."
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "Darbvirsmas tiek pārvaldītas dinamiski"
#: 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."
@@ -327,11 +327,11 @@ msgstr ""
"darbvirsmu skaits (ko nosaka num-workspaces atslēga laukā 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 "Darbvietas tikai uz galvenā"
#: 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 ""
"Nosaka, vai darbvietu pārslēgšanai vajadzētu notikt visiem logiem visos "
"monitoros, vai tikai logiem galvenajā monitorā."
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "Nerādīt logus pārslēgšanās laikā"
#: 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,11 +351,11 @@ msgstr ""
"Nosaka, vai atslēgt uzlecošo izvēlni ar logu attēliem un izvēles rāmi, kad "
"notiek pārslēgšanās starp logiem ar tabulatora vai tildes taustiņiem."
#: 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 "Aizkavēt fokusa izmaiņas, līdz rādītājs pārstāj kustēties"
#: 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 "
@@ -365,11 +365,11 @@ msgstr ""
"\" (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
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Velkams malas platums"
#: 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."
@@ -377,11 +377,11 @@ msgstr ""
"Kopējo velkamo malu apjoms. Ja motīva redzamās robežas nav pietiekamas, tiks "
"pievienotas neredzamas robežas, lai iegūtu šo vērtību."
#: 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 "Automātiski maksimizēt logus, kas ir gandrīz ar monitora izmēru"
#: 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,125 +389,116 @@ msgstr ""
"Ja aktivizēts, jauni logi, kuru izmērs ir gandrīz tāds pats, kā monitoram, "
"tiks maksimizēti."
#: 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 "Novietot logu vidū"
#: 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 ""
"Ja patiess, jaunie logi vienmēr tiks novietoti monitora aktīvā ekrāna vidū."
#: data/org.gnome.mutter.gschema.xml.in:120
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "Izvēlēties logu no tabulatora izvēlnes"
#: data/org.gnome.mutter.gschema.xml.in:125
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Atcelt logu rādīšanu"
#: 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 "Pārslēgties uz 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 "Pārslēgties uz 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 "Pārslēgties uz 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 "Pārslēgties uz 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 "Pārslēgties uz 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 "Pārslēgties uz 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 "Pārslēgties uz 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 "Pārslēgties uz 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 "Pārslēgties uz 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 "Pārslēgties uz 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 "Pārslēgties uz 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 "Pārslēgties uz VT 12"
#: 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:1709
msgid "Show on-screen help"
msgstr "Rādīt palīdzību uz ekrāna"
#: src/backends/meta-monitor-manager.c:514
#: ../src/backends/meta-monitor-manager.c:518
msgid "Built-in display"
msgstr "Iebūvēts displejs"
#: src/backends/meta-monitor-manager.c:537
#: ../src/backends/meta-monitor-manager.c:544
msgid "Unknown"
msgstr "Nezināms"
#: src/backends/meta-monitor-manager.c:539
#: ../src/backends/meta-monitor-manager.c:546
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:547
#: ../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:463
#: ../src/compositor/compositor.c:456
#, c-format
msgid ""
"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
#: ../src/core/bell.c:185
msgid "Bell event"
msgstr "Zvana notikums"
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "“%s” nereaģē."
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "Lietotne nereaģē."
#: 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."
@@ -515,56 +506,57 @@ 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
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Gaidīt"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "Aizvērt _piespiedu kārtā"
#: src/core/display.c:590
#: ../src/core/display.c:555
#, c-format
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:182
#: ../src/core/main.c:181
msgid "Disable connection to session manager"
msgstr "Deaktivēt savienojumu ar sesiju pārvaldnieku"
#: src/core/main.c:188
#: ../src/core/main.c:187
msgid "Replace the running window manager"
msgstr "Aizvietot darbojošos logu pārvaldnieku"
#: src/core/main.c:194
#: ../src/core/main.c:193
msgid "Specify session management ID"
msgstr "Norādiet sesiju pārvaldības ID"
#: src/core/main.c:199
#: ../src/core/main.c:198
msgid "X Display to use"
msgstr "Lietojamais X displejs"
#: src/core/main.c:205
#: ../src/core/main.c:204
msgid "Initialize session from savefile"
msgstr "Inicializēt sesiju no saglabātās datnes"
#: src/core/main.c:211
#: ../src/core/main.c:210
msgid "Make X calls synchronous"
msgstr "Padarīt X izsaukumus sinhronus"
#: src/core/main.c:218
#: ../src/core/main.c:217
msgid "Run as a wayland compositor"
msgstr "Palaist kā wayland kompozitoru"
#: src/core/main.c:224
#: ../src/core/main.c:223
#| msgid "Run as a wayland compositor"
msgid "Run as a nested compositor"
msgstr "Palaist kā ligzdotu kompozitoru"
#: src/core/main.c:232
#: ../src/core/main.c:231
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
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
@@ -579,20 +571,20 @@ msgstr ""
"Netiek dota NEKĀDA garantija; pat ne KOMERCIĀLAS VĒRTĪBAS vai DERĪGUMA "
"NOTEIKTAM NOLŪKAM.\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "Parādīt versiju"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "Izmantojamais mutter spraudnis"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "Darbvieta %d"
#: 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 "
@@ -601,21 +593,16 @@ 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:606
#: ../src/core/screen.c:603
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Ekrāna %d displejs “%s“ nav derīgs\n"
#: src/core/util.c:120
#: ../src/core/util.c:121
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:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Režīma slēdzis: režīms %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."
@@ -623,7 +610,7 @@ 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:548
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (uz %s)"

View File

@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-09 23:58+0200\n"
"POT-Creation-Date: 2016-08-20 10:10+0200\n"
"PO-Revision-Date: 2016-08-20 10:12+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <community-poland@mozilla.org>\n"
"Language: pl\n"
@@ -297,8 +297,8 @@ msgid ""
"the parent window."
msgstr ""
"Jeśli wynosi wartość „true”, to modalne okna dialogowe pojawiają się "
"dołączone do paska tytułowego okna nadrzędnego, zamiast mieć oddzielne "
"paski tytułowe, i są przenoszone razem z nim."
"dołączone do paska tytułowego okna nadrzędnego zamiast posiadać oddzielne "
"paski tytułowe i są przenoszone razem z nim."
#: data/org.gnome.mutter.gschema.xml.in:30
msgid "Enable edge tiling when dropping windows on screen edges"

274
po/pt.po
View File

@@ -10,266 +10,266 @@ msgstr ""
"Project-Id-Version: 3.10\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-09 17:59+0100\n"
"POT-Creation-Date: 2016-04-30 13:15+0000\n"
"PO-Revision-Date: 2016-04-30 16:12+0100\n"
"Last-Translator: Tiago Santos <tiagofsantos81@sapo.pt>\n"
"Language-Team: Português\n"
"Language-Team: Português <palbuquerque73@openmailbox.com>\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.7.1\n"
"X-Generator: Poedit 1.5.4\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 "Navegação"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "Mover janela para a área de trabalho 1"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Mover janela para a área de trabalho 2"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Mover janela para a área de trabalho 3"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Mover janela para a área de trabalho 4"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Mover janela para a última área de trabalho"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Mover a janela uma área de trabalho para a esquerda"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Mover a janela uma área de trabalho para a direita"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Mover a janela uma área de trabalho acima"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Mover a janela uma área de trabalho abaixo"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Mover a janela um monitor para a esquerda"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Mover a janela um monitor para a direita"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Mover a janela um monitor acima"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Mover a janela um monitor abaixo"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Mudar de aplicações"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Mudar para a aplicação anterior"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Mudar de janelas"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Mudar para a janela anterior"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Alternar entre janelas de uma aplicação"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "Mudar para a janela anterior de uma aplicação"
#: data/50-mutter-navigation.xml:76
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Alternar controlos de sistema"
msgstr "Alternar entre controlos de sistema"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Mudar para o controlo de sistema anterior"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Alternar diretamente entre janelas"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Mudar diretamente para a janela anterior"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Alternar diretamente entre janelas de uma aplicação"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "Mudar diretamente para a janela anterior de uma aplicação"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Alternar diretamente entre controlos de sistema"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Mudar diretamente para o controlo de sistema anterior"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Ocultar todas as janelas normais"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Mudar para a área de trabalho 1"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Mudar para a área de trabalho 2"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Mudar para a área de trabalho 3"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Mudar para a área de trabalho 4"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Mudar para a última área de trabalho 1"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Mover para a área de trabalho à esquerda"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Mover para a área de trabalho à direita"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Mover para a área de trabalho acima"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Mover para a área de trabalho abaixo"
#: 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 "Mostrar a linha de comando de execução"
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Mostrar o resumo de atividades"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Janelas"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Ativar o menu de janela"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Alternar modo de ecrã completo"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Alternar estado de maximização"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Maximizar a janela"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Restaurar a janela"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Alternar estado sombreado"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Fechar a janela"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Esconder a janela"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Mover a janela"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Redimensionar a janela"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "Alternar janela em todas as áreas de trabalho ou só numa"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "Elevar a janela se estiver tapada, caso contrário baixá-la"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Elevar janela acima de outras janelas"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Baixar janela abaixo de outras janelas"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Maximizar janela verticalmente"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Maximizar janela horizontalmente"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Ver a divisão à esquerda"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Ver a divisão à direita"
#: 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 a utilizar para operações estendidas de gestão de janelas"
#: 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 "
@@ -281,11 +281,11 @@ msgstr ""
"Windows\" em computadores PC. Espera-se que esta associação seja a "
"predefinição ou uma cadeia vazia."
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Anexar diálogos modais"
#: 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 "
@@ -295,11 +295,11 @@ msgstr ""
"diálogos modais surgem anexados à barra de título da janela-mãe e são "
"movidos juntamente com a janela-mãe."
#: 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 "Ativar ajuste em grelha ao largar janelas nos limites do ecrã"
#: 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 "
@@ -310,11 +310,11 @@ msgstr ""
"disponível. Largar janelas no limite superior do ecrã maximiza-as "
"completamente."
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "Áreas de trabalho geridas dinamicamente"
#: 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."
@@ -324,11 +324,11 @@ msgstr ""
"número estático de áreas de trabalho (determinado pela chave num-workspaces "
"em 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 "Áreas de trabalho só no principal"
#: 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."
@@ -336,11 +336,11 @@ msgstr ""
"Determina se a troca de área de trabalho deverá ocorrer para janelas em "
"todos os monitores ou apenas para janelas no monitor principal."
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "Sem popup ao utilizar tabulador"
#: 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."
@@ -348,11 +348,11 @@ msgstr ""
"Determina se deverá ou não ser desativado o popup e o realce na janela ao "
"circular entre janelas."
#: 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 "Adiar as alterações de foco até que o ponteiro pare de se mover"
#: 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 "
@@ -362,11 +362,11 @@ msgstr ""
"será alterado imediatamente ao entrar numa janela mas apenas quando o "
"ponteiro parar de se mover."
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Largura da margem de arrasto"
#: 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."
@@ -375,11 +375,11 @@ msgstr ""
"forem suficientes, serão adicionadas margens invisíveis para atingir este "
"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 "Maximizar automaticamente janelas de dimensão aproximada à do monitor"
#: 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."
@@ -387,11 +387,11 @@ msgstr ""
"Se ativo, novas janelas que sejam inicialmente do tamanho do monitor são "
"maximizadas automaticamente."
#: 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 "Posicionar novas janelas no centro"
#: 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."
@@ -399,93 +399,85 @@ msgstr ""
"Se ativo, as novas janelas são sempre posicionadas no centro do ecrã do "
"monitor ativo."
#: data/org.gnome.mutter.gschema.xml.in:120
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "Selecionar a janela no popup de tabulador"
#: data/org.gnome.mutter.gschema.xml.in:125
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Cancelar o popup de tabulador"
#: 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 "Alternar para a área de trabalho 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 "Alternar para a área de trabalho 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 "Alternar para a área de trabalho 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 "Alternar para a área de trabalho 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 "Mover para a área de trabalho 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 "Mover para a área de trabalho 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 "Mover para a área de trabalho 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 "Mover para a área de trabalho 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 "Mover para a área de trabalho 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 "Mover para a área de trabalho 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 "Mover para a área de trabalho 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 "Mover para a área de trabalho 12"
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Alternar monitor"
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Mostrar ajuda no ecrã"
#: src/backends/meta-monitor-manager.c:514
#: ../src/backends/meta-monitor-manager.c:515
msgid "Built-in display"
msgstr "Ecrã embutido"
#: src/backends/meta-monitor-manager.c:537
#: ../src/backends/meta-monitor-manager.c:538
msgid "Unknown"
msgstr "Desconhecido"
#: src/backends/meta-monitor-manager.c:539
#: ../src/backends/meta-monitor-manager.c:540
msgid "Unknown Display"
msgstr "Ecrã desconhecido"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:547
#: ../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:463
#: ../src/compositor/compositor.c:456
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display \"%s"
@@ -494,20 +486,20 @@ msgstr ""
"Já se encontra em execução outro gestor de janelas no ecrã %i do monitor \"%s"
"\"."
#: src/core/bell.c:194
#: ../src/core/bell.c:194
msgid "Bell event"
msgstr "Evento de campainha"
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "“%s” não está a responder."
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "A aplicação não está a responder."
#: 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."
@@ -515,56 +507,57 @@ msgstr ""
"Poderá aguardar uns instantes para que continue ou forçar a aplicação a "
"terminar definitivamente."
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Aguardar"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Forçar terminar"
#: src/core/display.c:590
#: ../src/core/display.c:555
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Falha ao abrir ecrã \"%s\" do sistema Janelas X\n"
#: src/core/main.c:182
#: ../src/core/main.c:181
msgid "Disable connection to session manager"
msgstr "Desativar a ligação ao gestor de sessão"
#: src/core/main.c:188
#: ../src/core/main.c:187
msgid "Replace the running window manager"
msgstr "Substituir o gestor de janelas em execução"
#: src/core/main.c:194
#: ../src/core/main.c:193
msgid "Specify session management ID"
msgstr "Especificar a ID de gestão de sessão"
#: src/core/main.c:199
#: ../src/core/main.c:198
msgid "X Display to use"
msgstr "Ecrã X a utilizar"
#: src/core/main.c:205
#: ../src/core/main.c:204
msgid "Initialize session from savefile"
msgstr "Inicializar a sessão a partir de um ficheiro de gravação de sessão"
#: src/core/main.c:211
#: ../src/core/main.c:210
msgid "Make X calls synchronous"
msgstr "Fazer as chamadas X sincronamente"
#: src/core/main.c:218
#: ../src/core/main.c:217
msgid "Run as a wayland compositor"
msgstr "Executar como compositor wayland"
#: src/core/main.c:224
#: ../src/core/main.c:223
#| msgid "Run as a wayland compositor"
msgid "Run as a nested compositor"
msgstr "Executar como compositor aninhado"
#: src/core/main.c:232
#: ../src/core/main.c:231
msgid "Run as a full display server, rather than nested"
msgstr "Executar como servidor de ecrã completo, em vez de aninhado"
#: src/core/mutter.c:39
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
@@ -580,20 +573,20 @@ msgstr ""
"NÃO existe qualquer garantia; nem sequer de COMERCIALIZAÇÃO ou ADEQUAÇÃO A "
"UM PROPÓSITO ESPECÍFICO.\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "Imprimir a versão"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "Extensão Mutter a utilizar"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "Área de trabalho %d"
#: 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 "
@@ -602,21 +595,16 @@ msgstr ""
"O ecrã \"%s\" já tem um gestor de janelas; tente utilizar a opção --replace "
"para substituir o gestor de janelas atual."
#: src/core/screen.c:606
#: ../src/core/screen.c:603
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Ecrã %d no monitor \"%s\" é inválido\n"
#: src/core/util.c:120
#: ../src/core/util.c:121
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "O Mutter foi compilado sem suporte para modo verboso\n"
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Alteração de Modo: Modo %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."
@@ -624,7 +612,7 @@ msgstr ""
"Estas janelas não suportam &quot;Gravar configuração atual&quot; e terão de "
"ser reiniciadas manualmente da próxima vez que iniciar sessão."
#: src/x11/window-props.c:548
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (em %s)"

View File

@@ -16,268 +16,22 @@
# 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>, 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: 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"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-08-19 21:04+0000\n"
"PO-Revision-Date: 2016-08-22 18:04-0300\n"
"Last-Translator: Enrico Nicoletto <liverig@gmail.com>\n"
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\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"
"X-Generator: Poedit 1.7.3\n"
#: data/mutter.desktop.in:4
msgid "Mutter"
@@ -649,6 +403,187 @@ msgstr ""
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 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"

274
po/sr.po
View File

@@ -1,7 +1,8 @@
# Serbian translation of mutter.
# Courtesy of Prevod.org team (http://prevod.org/) -- 2003—2016.
# This file is distributed under the same license as the mutter package.
# Translators:
#
# Translators:
# Горан Ракић <grakic@devbase.net>
# Данило Шеган <danilo@prevod.org>, 2005.
# Милош Поповић <gpopac@gmail.com>, 2010.
@@ -11,10 +12,10 @@ 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: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-11 08:39+0200\n"
"POT-Creation-Date: 2016-03-09 01:41+0000\n"
"PO-Revision-Date: 2016-03-09 09:52+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: српски <gnome-sr@googlegroups.org>\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -23,256 +24,255 @@ msgstr ""
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Project-Style: gnome\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
#| msgid "Switch system controls directly"
#: ../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 "Матер"
#: 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 "
@@ -284,11 +284,11 @@ 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 "
@@ -298,12 +298,12 @@ 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 "
@@ -313,11 +313,11 @@ 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."
@@ -327,11 +327,11 @@ msgstr ""
"стални број радних простора (одређен бројем радних простора у „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 "Радни простори само на примарне"
#: 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 ""
"Одређује да ли пребацивање радног простора треба да се деси за прозоре на "
"свим мониторима или само за прозоре на главном монитору."
#: 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."
@@ -351,11 +351,11 @@ 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 "
@@ -365,11 +365,11 @@ 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."
@@ -377,11 +377,11 @@ 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."
@@ -389,11 +389,11 @@ 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."
@@ -401,93 +401,85 @@ 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 "Прелазак на ВТ 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 "Прелазак на ВТ 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 "Прелазак на ВТ 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 "Прелазак на ВТ 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 "Прелазак на ВТ 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 "Прелазак на ВТ 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 "Прелазак на ВТ 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 "Прелазак на ВТ 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 "Прелазак на ВТ 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 "Прелазак на ВТ 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 "Прелазак на ВТ 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 "Прелазак на ВТ 12"
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Промени монитор"
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Прикажи помоћ на екрану"
#: src/backends/meta-monitor-manager.c:514
#: ../src/backends/meta-monitor-manager.c:518
msgid "Built-in display"
msgstr "Уграђени дисплеј"
#: src/backends/meta-monitor-manager.c:537
#: ../src/backends/meta-monitor-manager.c:544
msgid "Unknown"
msgstr "Непознато"
#: src/backends/meta-monitor-manager.c:539
#: ../src/backends/meta-monitor-manager.c:546
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:547
#: ../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:463
#: ../src/compositor/compositor.c:456
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display \"%s"
@@ -495,20 +487,20 @@ msgid ""
msgstr ""
"Неки други композитни управник је већ покренут на приказу %i еркана „%s“."
#: src/core/bell.c:194
#: ../src/core/bell.c:185
msgid "Bell event"
msgstr "Звонца"
#: 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."
@@ -516,56 +508,57 @@ msgstr ""
"Можете мало сачекати док се програм не сабере или приморати програм да "
"комплетно прекине са радом."
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Сачекај"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Приморај излаз"
#: src/core/display.c:590
#: ../src/core/display.c:555
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Нисам успео да отворим екран „%s“ Икс система прозора\n"
#: 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 wayland compositor"
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"
@@ -580,20 +573,20 @@ msgstr ""
"НЕ постоји никаква гаранција; чак ни гаранција о ТРЖИШНОЈ ВРЕДНОСТИ или "
"ПРИЛАГОЂЕНОСТИ ОДРЕЂЕНОЈ НАМЕНИ.\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 "Прикључци Матера за коришћење"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "%d. радни простор"
#: 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 "
@@ -602,21 +595,16 @@ msgstr ""
"Приказ „%s“ већ има управника прозора; пробајте да користите опцију „--"
"replace“ да замените тренутног управника прозора."
#: src/core/screen.c:606
#: ../src/core/screen.c:603
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Приказ „%d“ на екрану „%s“ није исправан\n"
#: src/core/util.c:120
#: ../src/core/util.c:121
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Матер је преведен без подршке за опширан режим\n"
#: 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 &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in."
@@ -624,7 +612,7 @@ msgstr ""
"Ови прозори не подржавају могућност „сачувај тренутна подешавања“ па ћете "
"морати ручно да их поново покренете када се следећи пут пријавите."
#: src/x11/window-props.c:548
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (на %s)"

View File

@@ -1,7 +1,8 @@
# Serbian translation of mutter.
# Courtesy of Prevod.org team (http://prevod.org/) -- 2003—2016.
# This file is distributed under the same license as the mutter package.
# Translators:
#
# Translators:
# Goran Rakić <grakic@devbase.net>
# Danilo Šegan <danilo@prevod.org>, 2005.
# Miloš Popović <gpopac@gmail.com>, 2010.
@@ -11,11 +12,11 @@ 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: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-11 08:39+0200\n"
"POT-Creation-Date: 2016-03-09 01:41+0000\n"
"PO-Revision-Date: 2016-03-09 09:52+0200\n"
"Last-Translator: Miroslav Nikolić <miroslavnikolic@rocketmail.com>\n"
"Language-Team: srpski <gnome-sr@googlegroups.org>\n"
"Language: sr\n"
"Language-Team: Serbian <(nothing)>\n"
"Language: sr@latin\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -23,256 +24,255 @@ msgstr ""
"n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Project-Style: gnome\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 "Premešta prozor na radni prostor broj 1"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Premešta prozor na radni prostor broj 2"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Premešta prozor na radni prostor broj 3"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Premešta prozor na radni prostor broj 4"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Premešta prozor na poslednji radni prostor"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Premešta prozor jedan radni prostor na levo"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Premešta prozor jedan radni prostor na desno"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Premešta prozor jedan radni prostor na gore"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Premešta prozor jedan radni prostor na dole"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Premešta prozor jedan monitor na levo"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Premešta prozor jedan monitor na desno"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Premešta prozor jedan monitor na gore"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Premešta prozor jedan monitor na dole"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Prebacuje programe"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Prebacuje na prethodni program"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Prebacuje prozore"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Prebacuje na prethodni prozor"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Prebacuje prozore programa"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
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"
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Prebacuje kontrole sistema"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Prebacuje na prethodnu kontrolu sistema"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Prebacuje prozore direktno"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Prebacuje neposredno na prethodni prozor"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Prebacuje prozore programa direktno"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "Prebacuje neposredno na prethodni prozor programa"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Prebacuje kontrole sistema direktno"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Prebacuje neposredno na prethodnu kontrolu sistema"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Skriva sve obične prozore"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Prebacuje se na radni prostor 1"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Prebacuje se na radni prostor 2"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Prebacuje se na radni prostor 3"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Prebacuje se na radni prostor 4"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Prebacuje se na poslednji radni prostor"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Premešta na radni prostor levo"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Premešta na radni prostor desno"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Premešta na radni prostor iznad"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Premešta na radni prostor ispod"
#: 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 "Prikazuje prompt za pokretanje naredbe"
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Prikazuje pregled aktivnosti"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Prozori"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Aktivira meni prozora"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Isključuje/uključuje prikaz preko celog ekrana"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Isključuje/uključuje stanje uvećanja"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Uvećava prozor"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Vraća veličinu prozora"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Isključuje/uključuje stanje zasenčenosti"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Zatvara prozor"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Skriva prozor"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Premešta prozor"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Menja veličinu prozora"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "Prikazuje prozor na svim radnim prostorima ili samo na jednom"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "Izdiže prozor ukoliko ga drugi prozor zaklanja, u protivnom ga spušta"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Izdiže prozor iznad ostalih prozora"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Spušta prozor ispod ostalih prozora"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Uvećava prozor vertikalno"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Uvećava prozor horizontalno"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Prikažite podelu na levo"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Prikažite podelu na desno"
#: data/mutter.desktop.in:4
#: ../data/mutter.desktop.in.h:1
msgid "Mutter"
msgstr "Mater"
#: 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 "Taster koji se koristi za proširene radnje upravnika prozorima"
#: 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 "
@@ -284,11 +284,11 @@ msgstr ""
"za komponente računara. Očekuje se da ovo vezuje ili podrazumevani ili niz "
"praznih znakova."
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Prilaganje modalnih prozorčića"
#: 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 "
@@ -298,12 +298,12 @@ msgstr ""
"pojavljuju priloženi na traku alata matičnog prozora i bivaju premeštani "
"zajedno sa matičnim prozorom."
#: 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 ""
"Uključuje popločavanje ivice prilikom otpuštanja prozora na ivicama ekrana"
#: 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,11 +313,11 @@ msgstr ""
"uspravno i menja im veličinu vodoravno da prekriju polovinu dostupne oblasti. "
"Otpuštanje prozora na gornjoj ivici ekrana uvećava ih u potpunosti."
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "Radnim prostorima se upravlja dinamički"
#: 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."
@@ -327,11 +327,11 @@ msgstr ""
"stalni broj radnih prostora (određen brojem radnih prostora u „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 "Radni prostori samo na primarne"
#: 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 ""
"Određuje da li prebacivanje radnog prostora treba da se desi za prozore na "
"svim monitorima ili samo za prozore na glavnom monitoru."
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "Bez iskakanja jezička"
#: 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,11 +351,11 @@ msgstr ""
"Određuje da li će upotreba okvira iskakanja i isticanja biti prikazana za "
"kretanje po prozorima."
#: 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 "Zastoj prvog plana se menja dok se pokazivač ne zaustavi"
#: 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 "
@@ -365,11 +365,11 @@ msgstr ""
"plan neće biti menjan odmah po ulasku u prozor, već samo nakon što pokazivač "
"prestane da se pomera."
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Širina ivice za prevlačenje"
#: 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."
@@ -377,11 +377,11 @@ msgstr ""
"Iznos ukupne ivice za prevlačenje. Ako vidljive ivice teme nisu dovoljne, biće "
"dodate nevidljive ivice za dostizanje ove vrednosti."
#: 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 "Sam uvećava povećane prozore najbližeg monitora"
#: 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 ""
"Ako je uključeno, novi prozori koji su početno veličine monitora samostalno "
"bivaju uvećani."
#: 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 "Novi prozor u središte"
#: 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,93 +401,85 @@ msgstr ""
"Ako je izabrano, novi prozori će uvek biti postavljeni na sredinu radnog "
"ekrana monitora."
#: data/org.gnome.mutter.gschema.xml.in:120
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "Bira prozor iz jezička iskakanja"
#: data/org.gnome.mutter.gschema.xml.in:125
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Otkazivanje jezička iskakanja"
#: 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 "Prelazak na 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 "Prelazak na 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 "Prelazak na 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 "Prelazak na 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 "Prelazak na 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 "Prelazak na 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 "Prelazak na 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 "Prelazak na 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 "Prelazak na 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 "Prelazak na 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 "Prelazak na 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 "Prelazak na VT 12"
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Promeni monitor"
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Prikaži pomoć na ekranu"
#: src/backends/meta-monitor-manager.c:514
#: ../src/backends/meta-monitor-manager.c:518
msgid "Built-in display"
msgstr "Ugrađeni displej"
#: src/backends/meta-monitor-manager.c:537
#: ../src/backends/meta-monitor-manager.c:544
msgid "Unknown"
msgstr "Nepoznato"
#: src/backends/meta-monitor-manager.c:539
#: ../src/backends/meta-monitor-manager.c:546
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:547
#: ../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:463
#: ../src/compositor/compositor.c:456
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display \"%s"
@@ -495,20 +487,20 @@ msgid ""
msgstr ""
"Neki drugi kompozitni upravnik je već pokrenut na prikazu %i erkana „%s“."
#: src/core/bell.c:194
#: ../src/core/bell.c:185
msgid "Bell event"
msgstr "Zvonca"
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "„%s“ ne daje odziv."
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "Program ne daje odziv."
#: 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."
@@ -516,56 +508,57 @@ msgstr ""
"Možete malo sačekati dok se program ne sabere ili primorati program da "
"kompletno prekine sa radom."
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Sačekaj"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Primoraj izlaz"
#: src/core/display.c:590
#: ../src/core/display.c:555
#, c-format
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:182
#: ../src/core/main.c:181
msgid "Disable connection to session manager"
msgstr "Isključuje vezu sa upravnikom sesije"
#: src/core/main.c:188
#: ../src/core/main.c:187
msgid "Replace the running window manager"
msgstr "Menja tekućeg upravnika prozorima"
#: src/core/main.c:194
#: ../src/core/main.c:193
msgid "Specify session management ID"
msgstr "Navodi IB upravnika sesije"
#: src/core/main.c:199
#: ../src/core/main.c:198
msgid "X Display to use"
msgstr "Iks ekran koji će biti korišćen"
#: src/core/main.c:205
#: ../src/core/main.c:204
msgid "Initialize session from savefile"
msgstr "Pokreće sesiju iz datoteke čuvanja"
#: src/core/main.c:211
#: ../src/core/main.c:210
msgid "Make X calls synchronous"
msgstr "Čini Iks pozive usklađenim"
#: src/core/main.c:218
#: ../src/core/main.c:217
msgid "Run as a wayland compositor"
msgstr "Radi kao vajlandov sastavnik"
#: src/core/main.c:224
#: ../src/core/main.c:223
#| msgid "Run as a wayland compositor"
msgid "Run as a nested compositor"
msgstr "Radi kao ugneždeni sastavnik"
#: src/core/main.c:232
#: ../src/core/main.c:231
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
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
@@ -580,20 +573,20 @@ msgstr ""
"NE postoji nikakva garancija; čak ni garancija o TRŽIŠNOJ VREDNOSTI ili "
"PRILAGOĐENOSTI ODREĐENOJ NAMENI.\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "Ispisuje izdanje"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "Priključci Matera za korišćenje"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "%d. radni prostor"
#: 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 "
@@ -602,21 +595,16 @@ msgstr ""
"Prikaz „%s“ već ima upravnika prozora; probajte da koristite opciju „--"
"replace“ da zamenite trenutnog upravnika prozora."
#: src/core/screen.c:606
#: ../src/core/screen.c:603
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Prikaz „%d“ na ekranu „%s“ nije ispravan\n"
#: src/core/util.c:120
#: ../src/core/util.c:121
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:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Režim prekidača: Režim %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."
@@ -624,7 +612,7 @@ 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:548
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (na %s)"

273
po/sv.po
View File

@@ -3,7 +3,7 @@
# Christian Rose <menthos@menthos.com>, 2001, 2002, 2003, 2004, 2005.
# Daniel Nylander <po@danielnylander.se>, 2006, 2007, 2008, 2009, 2010, 2011, 2012.
# Mattias Eriksson <snaggen@gmail.com>, 2014.
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2016.
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015.
# Sebastian Rasmussen <sebras@gmail.com>, 2016.
#
msgid ""
@@ -11,265 +11,265 @@ 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: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-07 11:54+0200\n"
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
"POT-Creation-Date: 2016-03-05 13:41+0000\n"
"PO-Revision-Date: 2016-03-06 13:47+0100\n"
"Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.8.8\n"
"X-Generator: Poedit 1.8.7.1\n"
#: data/50-mutter-navigation.xml:6
#: ../data/50-mutter-navigation.xml.in.h:1
msgid "Navigation"
msgstr "Navigation"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "Flytta fönster till arbetsyta 1"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Flytta fönster till arbetsyta 2"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Flytta fönster till arbetsyta 3"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Flytta fönster till arbetsyta 4"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Flytta fönster till sista arbetsyta"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Flytta fönster en arbetsyta åt vänster"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Flytta fönster en arbetsyta åt höger"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Flytta fönster en arbetsyta uppåt"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Flytta fönster en arbetsyta nedåt"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Flytta fönster en skärm åt vänster"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Flytta fönster en skärm åt höger"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Flytta fönster en skärm uppåt"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Flytta fönster en skärm nedåt"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Växla program"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Växla till föregående program"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Växla fönster"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Växla till föregående fönster"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Växla fönster för ett program"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "Växla till föregående fönster för ett program"
#: data/50-mutter-navigation.xml:76
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Växla systemkontroller"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Växla till föregående systemkontroll"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Växla fönster direkt"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Växla direkt till föregående fönster"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Växla fönster för ett program direkt"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "Växla direkt till föregående fönster för ett program"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Växla systemkontroller direkt"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Växla direkt till föregående systemkontroll"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Dölj alla normala fönster"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Växla till arbetsyta 1"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Växla till arbetsyta 2"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Växla till arbetsyta 3"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Växla till arbetsyta 4"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Växla till sista arbetsyta"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Flytta till arbetsyta till vänster"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Flytta till arbetsyta till höger"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Flytta till arbetsyta ovanför"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Flytta till arbetsyta nedanför"
#: data/50-mutter-system.xml:6
#: ../data/50-mutter-system.xml.in.h:1
msgid "System"
msgstr "System"
#: data/50-mutter-system.xml:8
#: ../data/50-mutter-system.xml.in.h:2
msgid "Show the run command prompt"
msgstr "Visa Kör kommando-dialogen"
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Visa aktivitetsöversikt"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Fönster"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Aktivera fönstermenyn"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Växla helskärmsläge"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Växla maximeringstillstånd"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Maximera fönster"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Återställ fönster"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Växla upprullat tillstånd"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Stäng fönster"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Dölj fönster"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Flytta fönster"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Ändra storlek på fönster"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "Växla fönster på alla arbetsytor eller bara en"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "Höj fönstret om det skyms av ett annat fönster, sänk det annars"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Höj fönstret över andra fönster"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Sänk fönster under andra fönster"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Maximera fönster vertikalt"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Maximera fönster horisontellt"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Vy delad till vänster"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Vy delad till höger"
#: 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 "Modifierare att använda för utökade fönsterhanteringsåtgärder"
#: 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 "
@@ -281,11 +281,11 @@ msgstr ""
"tangenten\" på PC-maskinvara. Det är förväntat att denna bindning antingen "
"är standard eller inställd till en tom sträng."
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Bifoga modala dialogfönster"
#: 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 "
@@ -295,11 +295,11 @@ msgstr ""
"dialogfönster att visas anslutna till namnlisten i föräldrafönstret och "
"flyttas tillsammans med föräldrafönstret."
#: 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 "Aktivera kantframhävning när fönster släpps på skärmkanter"
#: 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 "
@@ -309,11 +309,11 @@ msgstr ""
"dem vertikalt och storleksändra dem horisontellt till att täcka hälften av "
"den tillgängliga ytan. Släppa fönster på övre skärmkanten maximerar dem helt."
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "Arbetsytor hanteras dynamiskt"
#: 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."
@@ -323,11 +323,11 @@ msgstr ""
"ett fast antal arbetsytor (bestäms av nyckeln num-workspaces i 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 "Arbetsytor endast på primär"
#: 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."
@@ -335,11 +335,11 @@ msgstr ""
"Bestämmer huruvida arbetsyteväxling ska hända för alla fönster på alla "
"skärmar eller endast för fönster på den primära skärmen."
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "Ingen flik-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."
@@ -347,11 +347,11 @@ msgstr ""
"Bestämmer huruvida användning av popup och framhävning av kontur ska "
"inaktiveras vid fönsterväxling."
#: 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 "Fördröj fokusändringar till muspekaren hålls still"
#: 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 "
@@ -361,11 +361,11 @@ msgstr ""
"kommer fokus inte att ändras omedelbart när muspekaren går in över ett "
"fönster, utan först efter att muspekaren slutar röra sig."
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Dragbar rambredd"
#: 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."
@@ -373,11 +373,11 @@ msgstr ""
"Mängd av totalt dragbara ramar. Om temats synliga ramar inte är tillräckliga "
"kommer osynliga ramar att läggas till för att möta detta värde."
#: 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 "Automatiskt maximera fönster vars storlek ligger nära skärmens storlek"
#: 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."
@@ -385,11 +385,11 @@ msgstr ""
"Om aktiverad kommer nya fönster med nästan samma storlek som skärmen att bli "
"automatiskt maximerade."
#: 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 "Placera nya fönster centrerat"
#: 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."
@@ -397,113 +397,105 @@ msgstr ""
"När satt till \"true\", kommer nya fönster alltid att placeras centrerat på "
"den aktiva skärmen."
#: data/org.gnome.mutter.gschema.xml.in:120
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "Välj fönster från flik-popup"
#: data/org.gnome.mutter.gschema.xml.in:125
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Avbryt flik-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 "Växla till 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 "Växla till 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 "Växla till 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 "Växla till 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 "Växla till 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 "Växla till 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 "Växla till 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 "Växla till 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 "Växla till 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 "Växla till 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 "Växla till 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 "Växla till VT 12"
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Växla skärm"
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Visa hjälp på skärmen"
#: src/backends/meta-monitor-manager.c:514
#: ../src/backends/meta-monitor-manager.c:518
msgid "Built-in display"
msgstr "Inbyggd display"
#: src/backends/meta-monitor-manager.c:537
#: ../src/backends/meta-monitor-manager.c:544
msgid "Unknown"
msgstr "Okänd"
#: src/backends/meta-monitor-manager.c:539
#: ../src/backends/meta-monitor-manager.c:546
msgid "Unknown Display"
msgstr "Okänd display"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:547
#: ../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:463
#: ../src/compositor/compositor.c:456
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display \"%s"
"\"."
msgstr "En annan kompositionshanterare körs redan på skärm %i på display ”%s”."
#: src/core/bell.c:194
#: ../src/core/bell.c:185
msgid "Bell event"
msgstr "Ljudsignalhändelse"
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "”%s” svarar inte."
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "Programmet svarar inte."
#: 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."
@@ -511,56 +503,56 @@ msgstr ""
"Du kan välja att vänta en kort stund på det för att fortsätta eller tvinga "
"programmet att helt avslutas."
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Vänta"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Tvinga avslut"
#: src/core/display.c:590
#: ../src/core/display.c:555
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Misslyckades med att öppna X Window System-displayen ”%s”\n"
#: src/core/main.c:182
#: ../src/core/main.c:181
msgid "Disable connection to session manager"
msgstr "Inaktivera anslutning till sessionshanteraren"
#: src/core/main.c:188
#: ../src/core/main.c:187
msgid "Replace the running window manager"
msgstr "Ersätt körande fönsterhanteraren"
#: src/core/main.c:194
#: ../src/core/main.c:193
msgid "Specify session management ID"
msgstr "Ange sessionshanteringsid"
#: src/core/main.c:199
#: ../src/core/main.c:198
msgid "X Display to use"
msgstr "X-display att använda"
#: src/core/main.c:205
#: ../src/core/main.c:204
msgid "Initialize session from savefile"
msgstr "Initiera session från sparandefil"
#: src/core/main.c:211
#: ../src/core/main.c:210
msgid "Make X calls synchronous"
msgstr "Gör X-anrop synkrona"
#: src/core/main.c:218
#: ../src/core/main.c:217
msgid "Run as a wayland compositor"
msgstr "Kör som en wayland-kompositionshanterare"
#: src/core/main.c:224
#: ../src/core/main.c:223
msgid "Run as a nested compositor"
msgstr "Kör som en nästlad kompositionshanterare"
#: src/core/main.c:232
#: ../src/core/main.c:231
msgid "Run as a full display server, rather than nested"
msgstr "Kör som en full display-tjänst, i stället för nästlad"
#: src/core/mutter.c:39
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
@@ -575,20 +567,20 @@ msgstr ""
"Det finns INGA garantier; inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT "
"SPECIELLT ÄNDAMÅL.\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "Skriv ut version"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "Mutter-insticksmodul att använda"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "Arbetsyta %d"
#: 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 "
@@ -597,21 +589,16 @@ msgstr ""
"Display ”%s” har redan en fönsterhanterare; försök med flaggan --replace för "
"att ersätta den aktuella fönsterhanteraren."
#: src/core/screen.c:606
#: ../src/core/screen.c:603
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Skärm %d på display ”%s” är ogiltig\n"
#: src/core/util.c:120
#: ../src/core/util.c:121
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter kompilerades utan stöd för utförligt läge\n"
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Lägesväxel: Läge %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."
@@ -619,7 +606,7 @@ msgstr ""
"Dessa fönster saknar stöd för &quot;spara nuvarande inställningar&quot; och "
"kommer att behöva startas om manuellt nästa gång du loggar in."
#: src/x11/window-props.c:548
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (på %s)"

322
po/vi.po
View File

@@ -10,8 +10,8 @@ msgstr ""
"Project-Id-Version: metacity master\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-08 21:37+0000\n"
"PO-Revision-Date: 2016-09-09 08:14+0700\n"
"POT-Creation-Date: 2016-03-26 14:03+0000\n"
"PO-Revision-Date: 2016-03-27 07:22+0700\n"
"Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
"Language-Team: Vietnamese <gnome-vi-list@gnome.org>\n"
"Language: vi\n"
@@ -21,255 +21,255 @@ msgstr ""
"Plural-Forms: nplurals=1; plural=0;\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 "Điều hướng"
#: data/50-mutter-navigation.xml:9
#: ../data/50-mutter-navigation.xml.in.h:2
msgid "Move window to workspace 1"
msgstr "Chuyển cửa sổ sang không gian làm việc 1"
msgstr "Chuyển cửa sổ sang vùng làm việc 1"
#: data/50-mutter-navigation.xml:12
#: ../data/50-mutter-navigation.xml.in.h:3
msgid "Move window to workspace 2"
msgstr "Chuyển cửa sổ sang không gian làm việc 2"
msgstr "Chuyển cửa sổ sang vùng làm việc 2"
#: data/50-mutter-navigation.xml:15
#: ../data/50-mutter-navigation.xml.in.h:4
msgid "Move window to workspace 3"
msgstr "Chuyển cửa sổ sang không gian làm việc 3"
msgstr "Chuyển cửa sổ sang vùng làm việc 3"
#: data/50-mutter-navigation.xml:18
#: ../data/50-mutter-navigation.xml.in.h:5
msgid "Move window to workspace 4"
msgstr "Chuyển cửa sổ sang không gian làm việc 4"
msgstr "Chuyển cửa sổ sang vùng làm việc 4"
#: data/50-mutter-navigation.xml:21
#: ../data/50-mutter-navigation.xml.in.h:6
msgid "Move window to last workspace"
msgstr "Chuyển cửa sổ sang không gian làm việc cuối"
msgstr "Chuyển cửa sổ sang vùng làm việc cuối"
#: data/50-mutter-navigation.xml:24
#: ../data/50-mutter-navigation.xml.in.h:7
msgid "Move window one workspace to the left"
msgstr "Chuyển cửa sổ sang không gian làm việc bên trái"
msgstr "Chuyển cửa sổ sang vùng làm việc bên trái"
#: data/50-mutter-navigation.xml:27
#: ../data/50-mutter-navigation.xml.in.h:8
msgid "Move window one workspace to the right"
msgstr "Chuyển cửa sổ sang không gian làm việc bên phải"
msgstr "Chuyển cửa sổ sang vùng làm việc bên phải"
#: data/50-mutter-navigation.xml:30
#: ../data/50-mutter-navigation.xml.in.h:9
msgid "Move window one workspace up"
msgstr "Chuyển cửa sổ lên một không gian làm việc"
msgstr "Chuyển cửa sổ lên một vùng làm việc"
#: data/50-mutter-navigation.xml:33
#: ../data/50-mutter-navigation.xml.in.h:10
msgid "Move window one workspace down"
msgstr "Chuyển cửa sổ xuống vùng một làm việc"
#: data/50-mutter-navigation.xml:36
#: ../data/50-mutter-navigation.xml.in.h:11
msgid "Move window one monitor to the left"
msgstr "Chuyển cửa sổ sang trái một màn hình"
#: data/50-mutter-navigation.xml:39
#: ../data/50-mutter-navigation.xml.in.h:12
msgid "Move window one monitor to the right"
msgstr "Chuyển cửa sổ sang phải một màn hình"
#: data/50-mutter-navigation.xml:42
#: ../data/50-mutter-navigation.xml.in.h:13
msgid "Move window one monitor up"
msgstr "Chuyển cửa sổ lên một màn hình"
#: data/50-mutter-navigation.xml:45
#: ../data/50-mutter-navigation.xml.in.h:14
msgid "Move window one monitor down"
msgstr "Chuyển cửa sổ xuống một màn hình"
#: data/50-mutter-navigation.xml:49
#: ../data/50-mutter-navigation.xml.in.h:15
msgid "Switch applications"
msgstr "Chuyển ứng dụng"
#: data/50-mutter-navigation.xml:54
#: ../data/50-mutter-navigation.xml.in.h:16
msgid "Switch to previous application"
msgstr "Chuyển sang ứng dụng kế trước"
#: data/50-mutter-navigation.xml:58
#: ../data/50-mutter-navigation.xml.in.h:17
msgid "Switch windows"
msgstr "Chuyển cửa sổ"
#: data/50-mutter-navigation.xml:63
#: ../data/50-mutter-navigation.xml.in.h:18
msgid "Switch to previous window"
msgstr "Chuyển sang cửa sổ kế trước"
#: data/50-mutter-navigation.xml:67
#: ../data/50-mutter-navigation.xml.in.h:19
msgid "Switch windows of an application"
msgstr "Chuyển cửa sổ của một ứng dụng"
#: data/50-mutter-navigation.xml:72
#: ../data/50-mutter-navigation.xml.in.h:20
msgid "Switch to previous window of an application"
msgstr "Chuyển sang cửa sổ kế trước của một ứng dụng"
msgstr "Chuyển cửa sổ kế trước của một ứng dụng"
#: data/50-mutter-navigation.xml:76
#: ../data/50-mutter-navigation.xml.in.h:21
msgid "Switch system controls"
msgstr "Chuyển điều khiển hệ thống"
#: data/50-mutter-navigation.xml:81
#: ../data/50-mutter-navigation.xml.in.h:22
msgid "Switch to previous system control"
msgstr "Chuyển đến điều khiển hệ thống kế trước"
#: data/50-mutter-navigation.xml:85
#: ../data/50-mutter-navigation.xml.in.h:23
msgid "Switch windows directly"
msgstr "Chuyển cửa sổ trực tiếp"
#: data/50-mutter-navigation.xml:90
#: ../data/50-mutter-navigation.xml.in.h:24
msgid "Switch directly to previous window"
msgstr "Chuyển trực tiếp đến cửa sổ kế trước"
#: data/50-mutter-navigation.xml:94
#: ../data/50-mutter-navigation.xml.in.h:25
msgid "Switch windows of an app directly"
msgstr "Chuyển trực tiếp cửa sổ của một ứng dụng"
#: data/50-mutter-navigation.xml:99
#: ../data/50-mutter-navigation.xml.in.h:26
msgid "Switch directly to previous window of an app"
msgstr "Chuyển trực tiếp đến cửa sổ kế trước của một ứng dụng"
#: data/50-mutter-navigation.xml:103
#: ../data/50-mutter-navigation.xml.in.h:27
msgid "Switch system controls directly"
msgstr "Chuyển điều khiển hệ thống trực tiếp"
#: data/50-mutter-navigation.xml:108
#: ../data/50-mutter-navigation.xml.in.h:28
msgid "Switch directly to previous system control"
msgstr "Chuyển trực tiếp đến điều khiển hệ thống kế trước"
#: data/50-mutter-navigation.xml:111
#: ../data/50-mutter-navigation.xml.in.h:29
msgid "Hide all normal windows"
msgstr "Ẩn mọi cửa sổ thường"
#: data/50-mutter-navigation.xml:114
#: ../data/50-mutter-navigation.xml.in.h:30
msgid "Switch to workspace 1"
msgstr "Chuyển sang không gian làm việc 1"
msgstr "Chuyển sang vùng làm việc 1"
#: data/50-mutter-navigation.xml:117
#: ../data/50-mutter-navigation.xml.in.h:31
msgid "Switch to workspace 2"
msgstr "Chuyển sang không gian làm việc 2"
msgstr "Chuyển sang vùng làm việc 2"
#: data/50-mutter-navigation.xml:120
#: ../data/50-mutter-navigation.xml.in.h:32
msgid "Switch to workspace 3"
msgstr "Chuyển sang không gian làm việc 3"
msgstr "Chuyển sang vùng làm việc 3"
#: data/50-mutter-navigation.xml:123
#: ../data/50-mutter-navigation.xml.in.h:33
msgid "Switch to workspace 4"
msgstr "Chuyển sang không gian làm việc 4"
msgstr "Chuyển sang vùng làm việc 4"
#: data/50-mutter-navigation.xml:126
#: ../data/50-mutter-navigation.xml.in.h:34
msgid "Switch to last workspace"
msgstr "Chuyển sang không gian làm việc cuối"
msgstr "Chuyển sang vùng làm việc cuối"
#: data/50-mutter-navigation.xml:129
#: ../data/50-mutter-navigation.xml.in.h:35
msgid "Move to workspace left"
msgstr "Chuyển sang không gian làm việc trái"
msgstr "Chuyển sang vùng làm việc trái"
#: data/50-mutter-navigation.xml:132
#: ../data/50-mutter-navigation.xml.in.h:36
msgid "Move to workspace right"
msgstr "Chuyển sang không gian làm việc phải"
msgstr "Chuyển sang vùng làm việc phải"
#: data/50-mutter-navigation.xml:135
#: ../data/50-mutter-navigation.xml.in.h:37
msgid "Move to workspace above"
msgstr "Chuyển sang không gian làm việc trên"
msgstr "Chuyển sang vùng làm việc trên"
#: data/50-mutter-navigation.xml:138
#: ../data/50-mutter-navigation.xml.in.h:38
msgid "Move to workspace below"
msgstr "Chuyển sang không gian làm việc dưới"
msgstr "Chuyển sang vùng làm việc dưới"
#: data/50-mutter-system.xml:6
#: ../data/50-mutter-system.xml.in.h:1
msgid "System"
msgstr "Hệ thống"
#: data/50-mutter-system.xml:8
#: ../data/50-mutter-system.xml.in.h:2
msgid "Show the run command prompt"
msgstr "Hiện dấu nhắc dòng lệnh"
#: data/50-mutter-system.xml:10
#: ../data/50-mutter-system.xml.in.h:3
msgid "Show the activities overview"
msgstr "Hiện tổng quan hoạt động"
#: data/50-mutter-windows.xml:6
#: ../data/50-mutter-windows.xml.in.h:1
msgid "Windows"
msgstr "Cửa sổ"
#: data/50-mutter-windows.xml:8
#: ../data/50-mutter-windows.xml.in.h:2
msgid "Activate the window menu"
msgstr "Kích hoạt trình đơn cửa sổ"
#: data/50-mutter-windows.xml:10
#: ../data/50-mutter-windows.xml.in.h:3
msgid "Toggle fullscreen mode"
msgstr "Bật/tắt toàn màn hình"
#: data/50-mutter-windows.xml:12
#: ../data/50-mutter-windows.xml.in.h:4
msgid "Toggle maximization state"
msgstr "Bật/tắt trạng thái to hết cỡ"
#: data/50-mutter-windows.xml:14
#: ../data/50-mutter-windows.xml.in.h:5
msgid "Maximize window"
msgstr "Phóng to cửa sổ hết cỡ"
#: data/50-mutter-windows.xml:16
#: ../data/50-mutter-windows.xml.in.h:6
msgid "Restore window"
msgstr "Phục hồi cửa sổ"
#: data/50-mutter-windows.xml:18
#: ../data/50-mutter-windows.xml.in.h:7
msgid "Toggle shaded state"
msgstr "Bật tắt trạng thái đánh bóng"
#: data/50-mutter-windows.xml:20
#: ../data/50-mutter-windows.xml.in.h:8
msgid "Close window"
msgstr "Đóng cửa sổ"
#: data/50-mutter-windows.xml:22
#: ../data/50-mutter-windows.xml.in.h:9
msgid "Hide window"
msgstr "Ẩn cửa sổ"
#: data/50-mutter-windows.xml:24
#: ../data/50-mutter-windows.xml.in.h:10
msgid "Move window"
msgstr "Di chuyển cửa sổ"
#: data/50-mutter-windows.xml:26
#: ../data/50-mutter-windows.xml.in.h:11
msgid "Resize window"
msgstr "Co giãn cửa sổ"
#: data/50-mutter-windows.xml:29
#: ../data/50-mutter-windows.xml.in.h:12
msgid "Toggle window on all workspaces or one"
msgstr "Dùng cửa sổ trên một/mọi không gian làm việc"
msgstr "Dùng cửa sổ trên một/mọi vùng làm việc"
#: data/50-mutter-windows.xml:31
#: ../data/50-mutter-windows.xml.in.h:13
msgid "Raise window if covered, otherwise lower it"
msgstr "Nâng cửa sổ nếu bị che, không thì hạ xuống"
#: data/50-mutter-windows.xml:33
#: ../data/50-mutter-windows.xml.in.h:14
msgid "Raise window above other windows"
msgstr "Nâng cửa sổ trên các cửa sổ khác"
#: data/50-mutter-windows.xml:35
#: ../data/50-mutter-windows.xml.in.h:15
msgid "Lower window below other windows"
msgstr "Hạ cửa sổ dưới các cửa sổ khác"
#: data/50-mutter-windows.xml:37
#: ../data/50-mutter-windows.xml.in.h:16
msgid "Maximize window vertically"
msgstr "Phóng to cửa sổ theo chiều dọc"
#: data/50-mutter-windows.xml:39
#: ../data/50-mutter-windows.xml.in.h:17
msgid "Maximize window horizontally"
msgstr "Phóng to cửa sổ theo chiều ngang"
#: data/50-mutter-windows.xml:43
#: ../data/50-mutter-windows.xml.in.h:18
msgid "View split on left"
msgstr "Phân đôi bên trái"
#: data/50-mutter-windows.xml:47
#: ../data/50-mutter-windows.xml.in.h:19
msgid "View split on right"
msgstr "Phân đôi bên phải"
#: 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 "Phím bổ trợ dùng cho chức năng quản lý cửa sổ mở rộng"
#: 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 "
@@ -280,11 +280,11 @@ msgstr ""
"ứng dụng. Mặc định là \"phím Windows\" trên phần cứng PC. Chứa một tổ hợp "
"phím, hoặc mặc định, hoặc chuỗi rỗng."
#: data/org.gnome.mutter.gschema.xml.in:20
#: ../data/org.gnome.mutter.gschema.xml.in.h:3
msgid "Attach modal dialogs"
msgstr "Gắn hộp thoại cách thức"
#: 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 "
@@ -294,11 +294,11 @@ msgstr ""
"xuất hiện gắn với thanh tiêu đề của cửa sổ cha và được di chuyển cùng với "
"cửa sổ cha."
#: 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 "Bật lợp cạnh khi thả cửa sổ trên cạnh màn hình"
#: 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 "
@@ -308,47 +308,46 @@ msgstr ""
"dọc và điều chỉnh chiều ngang phủ hết nửa màn hình. Thả cửa sổ trên đỉnh màn "
"hình sẽ phóng to toàn màn hình."
#: data/org.gnome.mutter.gschema.xml.in:40
#: ../data/org.gnome.mutter.gschema.xml.in.h:7
msgid "Workspaces are managed dynamically"
msgstr "Không gian làm việc được quản lý động"
msgstr "Vùng làm việc được quản lý động"
#: 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 ""
"Xác định không gian làm việc được quản lý động, hay cố định số không gian "
"làm việc, xác định bởi khóa num-workspaces trong org.gnome.desktop.wm."
"preferences."
"Xác định vùng làm việc được quản lý động, hay cố định số vùng làm việc, xác "
"định bởi khóa num-workspaces trong 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 "Không gian làm việc chỉ trên màn hình chính"
msgstr "Vùng làm việc chỉ trên màn hình chính"
#: 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 ""
"Xác định chuyển không gian làm việc cho cửa sổ trên mọi màn hình hay chỉ "
"trên màn hình chính."
"Xác định chuyển vùng làm việc cho cửa sổ trên mọi màn hình hay chỉ trên màn "
"hình chính."
#: data/org.gnome.mutter.gschema.xml.in:59
#: ../data/org.gnome.mutter.gschema.xml.in.h:11
msgid "No tab popup"
msgstr "Không 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."
msgstr "Xác định có bỏ qua popup và khung tô sáng khi xoay vòng cửa sổ không."
#: 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 "Khoảng chờ con trỏ dừng di chuyển trước khi thay đổi tiêu điểm"
#: 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 "
@@ -358,11 +357,11 @@ msgstr ""
"điểm sẽ được thay đổi tức thì khi vào cửa sổ, nhưng chỉ sau khi chuột ngừng "
"di chuyển."
#: data/org.gnome.mutter.gschema.xml.in:79
#: ../data/org.gnome.mutter.gschema.xml.in.h:15
msgid "Draggable border width"
msgstr "Độ rộng biên có thể kéo"
#: 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."
@@ -370,21 +369,21 @@ msgstr ""
"Kích thước biên có thể kéo. Nếu biên thấy được của chủ đề không đủ, biên vô "
"hình sẽ được thêm vào để thỏa mãn giá trị này."
#: 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 "Tự động phóng to cửa sổ gần bằng màn hình"
#: 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 "Nếu bật, sẽ tự động phóng to cửa sổ mới với kích thước tối đa."
#: 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 "Đặt cửa sổ mới ở chính giữa"
#: 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."
@@ -392,93 +391,85 @@ msgstr ""
"Nếu đúng, các cửa sổ mới sẽ luôn được đặt tại trung tâm của màn hình đang "
"hoạt động của màn hình."
#: data/org.gnome.mutter.gschema.xml.in:120
#: ../data/org.gnome.mutter.gschema.xml.in.h:21
msgid "Select window from tab popup"
msgstr "Chọn cửa sổ từ thanh nổi lên"
#: data/org.gnome.mutter.gschema.xml.in:125
#: ../data/org.gnome.mutter.gschema.xml.in.h:22
msgid "Cancel tab popup"
msgstr "Hủy thanh nổi lên"
#: 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 "Chuyển sang 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 "Chuyển sang 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 "Chuyển sang 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 "Chuyển sang 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 "Chuyển sang 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 "Chuyển sang 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 "Chuyển sang 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 "Chuyển sang 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 "Chuyển sang 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 "Chuyển sang 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 "Chuyển sang 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 "Chuyển sang VT 12"
#: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Chuyển màn hình"
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Hiển thị trợ giúp trên-màn-hình"
#: src/backends/meta-monitor-manager.c:514
#: ../src/backends/meta-monitor-manager.c:518
msgid "Built-in display"
msgstr "Màn hình tích hợp"
#: src/backends/meta-monitor-manager.c:537
#: ../src/backends/meta-monitor-manager.c:544
msgid "Unknown"
msgstr "Không rõ"
#: src/backends/meta-monitor-manager.c:539
#: ../src/backends/meta-monitor-manager.c:546
msgid "Unknown Display"
msgstr "Không hiểu màn hình"
#. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"'
#.
#: src/backends/meta-monitor-manager.c:547
#: ../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:463
#: ../src/compositor/compositor.c:456
#, c-format
msgid ""
"Another compositing manager is already running on screen %i on display \"%s"
@@ -486,20 +477,20 @@ msgid ""
msgstr ""
"Bộ quản lý cửa sổ đã đang chạy trên Màn hình %i trên bộ trình bày \"%s\"."
#: src/core/bell.c:194
#: ../src/core/bell.c:194
msgid "Bell event"
msgstr "Sự kiện chuông"
#: src/core/delete.c:127
#: ../src/core/delete.c:127
#, c-format
msgid "“%s” is not responding."
msgstr "“%s” không trả lời."
#: src/core/delete.c:129
#: ../src/core/delete.c:129
msgid "Application is not responding."
msgstr "Ứng dụng không trả lời."
#: 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."
@@ -507,56 +498,56 @@ msgstr ""
"Bạn có thể chọn chờ một lúc cho nó tiếp tục hoặc buộc chấm dứt hoàn toàn ứng "
"dụng."
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Wait"
msgstr "_Chờ"
#: src/core/delete.c:141
#: ../src/core/delete.c:141
msgid "_Force Quit"
msgstr "_Buộc thoát"
#: src/core/display.c:590
#: ../src/core/display.c:555
#, c-format
msgid "Failed to open X Window System display '%s'\n"
msgstr "Gặp lỗi khi mở bộ trình bày Hệ thống Cửa sổ X \"%s\".\n"
#: src/core/main.c:182
#: ../src/core/main.c:181
msgid "Disable connection to session manager"
msgstr "Vô hiệu hóa kết nối với bộ quản lý phiên làm việc"
#: src/core/main.c:188
#: ../src/core/main.c:187
msgid "Replace the running window manager"
msgstr "Thay thế bộ quản lý cửa sổ đang chạy"
#: src/core/main.c:194
#: ../src/core/main.c:193
msgid "Specify session management ID"
msgstr "Ghi rõ mã số quản lý phiên làm việc"
#: src/core/main.c:199
#: ../src/core/main.c:198
msgid "X Display to use"
msgstr "Bộ trình bày X cần dùng"
#: src/core/main.c:205
#: ../src/core/main.c:204
msgid "Initialize session from savefile"
msgstr "Khởi động phiên làm việc từ tập tin lưu"
#: src/core/main.c:211
#: ../src/core/main.c:210
msgid "Make X calls synchronous"
msgstr "Khiến các gọi X đồng bộ với nhau"
msgstr "Khiến các lời gọi X đồng bộ với nhau"
#: src/core/main.c:218
#: ../src/core/main.c:217
msgid "Run as a wayland compositor"
msgstr "Chạy như là một “wayland compositor”"
#: src/core/main.c:224
#: ../src/core/main.c:223
msgid "Run as a nested compositor"
msgstr "Chạy như là một “nested compositor”"
#: src/core/main.c:232
#: ../src/core/main.c:231
msgid "Run as a full display server, rather than nested"
msgstr "Chạy như là một dịch vụ hiển thị đầy đủ, thay cho lồng nhau"
#: src/core/mutter.c:39
#: ../src/core/mutter.c:39
#, c-format
msgid ""
"mutter %s\n"
@@ -572,20 +563,20 @@ msgstr ""
"KHÔNG CÓ BẢO HÀNH GÌ CẢ, THẬM CHÍ KHÔNG CÓ BẢO ĐẢM ĐƯỢC NGỤ Ý KHẢ NĂNG BÁN "
"HAY KHẢ NĂNG LÀM ĐƯỢC VIỆC DỨT KHOÁT.\n"
#: src/core/mutter.c:53
#: ../src/core/mutter.c:53
msgid "Print version"
msgstr "Hiển thị phiên bản"
#: src/core/mutter.c:59
#: ../src/core/mutter.c:59
msgid "Mutter plugin to use"
msgstr "Phần bổ sung Mutter cần dùng"
#: src/core/prefs.c:1997
#: ../src/core/prefs.c:1997
#, c-format
msgid "Workspace %d"
msgstr "Không gian làm việc %d"
msgstr "Vùng làm việc %d"
#: 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 "
@@ -594,21 +585,16 @@ msgstr ""
"Màn hình \"%s\" đã có bộ quản lý cửa sổ rồi; hãy thử dùng tùy chọn “--"
"replace” để thay thế bộ quản lý cửa sổ đang dùng."
#: src/core/screen.c:606
#: ../src/core/screen.c:603
#, c-format
msgid "Screen %d on display '%s' is invalid\n"
msgstr "Màn hình %d trên bộ trình bày \"%s\" không hợp lệ.\n"
#: src/core/util.c:120
#: ../src/core/util.c:121
msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter đã được biên dịch không hỗ trợ chế độ chi tiết\n"
#: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Chuyển chế độ: Chế độ %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."
@@ -616,7 +602,7 @@ msgstr ""
"Những cửa sổ này không hỗ trợ &quot;lưu cài đặt hiện thời&quot; và sẽ phải "
"khởi động lại bằng tay lần kế bạn đăng nhập."
#: src/x11/window-props.c:548
#: ../src/x11/window-props.c:549
#, c-format
msgid "%s (on %s)"
msgstr "%s (trên %s)"

View File

@@ -61,8 +61,8 @@ mutter_built_sources += \
gtk-shell-server-protocol.h \
gtk-primary-selection-protocol.c \
gtk-primary-selection-server-protocol.h \
xdg-shell-unstable-v6-protocol.c \
xdg-shell-unstable-v6-server-protocol.h \
xdg-shell-unstable-v5-protocol.c \
xdg-shell-unstable-v5-server-protocol.h \
relative-pointer-unstable-v1-protocol.c \
relative-pointer-unstable-v1-server-protocol.h \
pointer-constraints-unstable-v1-protocol.c \
@@ -347,8 +347,6 @@ libmutter_la_SOURCES += \
wayland/meta-wayland-xdg-shell.h \
wayland/meta-wayland-wl-shell.c \
wayland/meta-wayland-wl-shell.h \
wayland/meta-wayland-gtk-shell.c \
wayland/meta-wayland-gtk-shell.h \
$(NULL)
endif
@@ -363,7 +361,6 @@ libmutter_la_SOURCES += \
backends/native/meta-clutter-backend-native.h \
backends/native/meta-cursor-renderer-native.c \
backends/native/meta-cursor-renderer-native.h \
backends/native/meta-default-modes.h \
backends/native/meta-idle-monitor-native.c \
backends/native/meta-idle-monitor-native.h \
backends/native/meta-input-settings-native.c \
@@ -509,7 +506,6 @@ EXTRA_DIST += \
org.freedesktop.login1.xml \
org.gnome.Mutter.DisplayConfig.xml \
org.gnome.Mutter.IdleMonitor.xml \
backends/native/gen-default-modes.py \
$(NULL)
BUILT_SOURCES = \
@@ -567,12 +563,6 @@ $(dbus_login1_built_sources) : Makefile.am org.freedesktop.login1.xml
--c-generate-autocleanup all \
$(srcdir)/org.freedesktop.login1.xml
backends/native/meta-default-modes.h: backends/native/gen-default-modes.py Makefile.am
@if test -n "$(CVT)"; then \
if $(AM_V_P); then PS4= set -x; else echo " GEN $@"; fi; \
python $< > $@; \
fi
.SECONDEXPANSION:
define protostability
@@ -584,10 +574,10 @@ $(shell echo $1 | sed 's/\([a-z\-]\+\)-[a-z]\+-v[0-9]\+/\1/')
endef
%-protocol.c : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) code $< $@
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
%-server-protocol.h : $(WAYLAND_PROTOCOLS_DATADIR)/$$(call protostability,$$*)/$$(call protoname,$$*)/$$*.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header $< $@
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header < $< > $@
%-protocol.c : $(srcdir)/wayland/protocol/%.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) code $< $@
$(AM_V_GEN)$(WAYLAND_SCANNER) code < $< > $@
%-server-protocol.h : $(srcdir)/wayland/protocol/%.xml
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header $< $@
$(AM_V_GEN)$(WAYLAND_SCANNER) server-header < $< > $@

View File

@@ -103,9 +103,6 @@ struct _MetaBackendClass
double *dy,
double *dx_unaccel,
double *dy_unaccel);
void (* set_numlock) (MetaBackend *backend,
gboolean numlock_state);
};
void meta_init_backend (MetaBackendType backend_type);

View File

@@ -542,14 +542,6 @@ meta_backend_lock_layout_group (MetaBackend *backend,
META_BACKEND_GET_CLASS (backend)->lock_layout_group (backend, idx);
}
void
meta_backend_set_numlock (MetaBackend *backend,
gboolean numlock_state)
{
META_BACKEND_GET_CLASS (backend)->set_numlock (backend, numlock_state);
}
/**
* meta_backend_get_stage:
* @backend: A #MetaBackend
@@ -798,9 +790,9 @@ meta_is_stage_views_enabled (void)
mutter_stage_views = g_getenv ("MUTTER_STAGE_VIEWS");
if (!mutter_stage_views)
return TRUE;
return FALSE;
return !g_str_equal (mutter_stage_views, "0");
return strcmp (mutter_stage_views, "1") == 0;
}
MetaInputSettings *

View File

@@ -42,25 +42,11 @@ struct _MetaCursorRendererPrivate
MetaCursorSprite *displayed_cursor;
MetaOverlay *stage_overlay;
gboolean handled_by_backend;
guint post_paint_func_id;
};
typedef struct _MetaCursorRendererPrivate MetaCursorRendererPrivate;
enum {
CURSOR_PAINTED,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL];
G_DEFINE_TYPE_WITH_PRIVATE (MetaCursorRenderer, meta_cursor_renderer, G_TYPE_OBJECT);
void
meta_cursor_renderer_emit_painted (MetaCursorRenderer *renderer,
MetaCursorSprite *cursor_sprite)
{
g_signal_emit (renderer, signals[CURSOR_PAINTED], 0, cursor_sprite);
}
static void
queue_redraw (MetaCursorRenderer *renderer,
MetaCursorSprite *cursor_sprite)
@@ -90,19 +76,6 @@ queue_redraw (MetaCursorRenderer *renderer,
texture, &rect);
}
static gboolean
meta_cursor_renderer_post_paint (gpointer data)
{
MetaCursorRenderer *renderer = META_CURSOR_RENDERER (data);
MetaCursorRendererPrivate *priv =
meta_cursor_renderer_get_instance_private (renderer);
if (priv->displayed_cursor && !priv->handled_by_backend)
meta_cursor_renderer_emit_painted (renderer, priv->displayed_cursor);
return TRUE;
}
static gboolean
meta_cursor_renderer_real_update_cursor (MetaCursorRenderer *renderer,
MetaCursorSprite *cursor_sprite)
@@ -124,8 +97,6 @@ meta_cursor_renderer_finalize (GObject *object)
if (priv->stage_overlay)
meta_stage_remove_cursor_overlay (META_STAGE (stage), priv->stage_overlay);
clutter_threads_remove_repaint_func (priv->post_paint_func_id);
G_OBJECT_CLASS (meta_cursor_renderer_parent_class)->finalize (object);
}
@@ -136,27 +107,11 @@ meta_cursor_renderer_class_init (MetaCursorRendererClass *klass)
object_class->finalize = meta_cursor_renderer_finalize;
klass->update_cursor = meta_cursor_renderer_real_update_cursor;
signals[CURSOR_PAINTED] = g_signal_new ("cursor-painted",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 1,
G_TYPE_POINTER);
}
static void
meta_cursor_renderer_init (MetaCursorRenderer *renderer)
{
MetaCursorRendererPrivate *priv =
meta_cursor_renderer_get_instance_private (renderer);
priv->post_paint_func_id =
clutter_threads_add_repaint_func_full (CLUTTER_REPAINT_FLAGS_POST_PAINT,
meta_cursor_renderer_post_paint,
renderer,
NULL);
}
MetaRectangle

View File

@@ -78,7 +78,4 @@ void meta_cursor_renderer_realize_cursor_from_xcursor (MetaCursorRenderer *rende
MetaCursorSprite *cursor_sprite,
XcursorImage *xc_image);
void meta_cursor_renderer_emit_painted (MetaCursorRenderer *renderer,
MetaCursorSprite *cursor_sprite);
#endif /* META_CURSOR_RENDERER_H */

View File

@@ -52,7 +52,6 @@ struct _DeviceMappingInfo
MetaInputSettings *input_settings;
ClutterInputDevice *device;
GSettings *settings;
GSettings *gsd_settings;
#ifdef HAVE_LIBWACOM
WacomDevice *wacom_device;
#endif
@@ -708,19 +707,6 @@ meta_input_settings_find_output (MetaInputSettings *input_settings,
return NULL;
}
static DeviceMappingInfo *
lookup_mapping_info (ClutterInputDevice *device)
{
MetaInputSettings *settings;
MetaInputSettingsPrivate *priv;
settings = meta_backend_get_input_settings (meta_get_backend ());
if (!settings)
return NULL;
priv = meta_input_settings_get_instance_private (settings);
return g_hash_table_lookup (priv->mappable_devices, device);
}
static void
update_tablet_keep_aspect (MetaInputSettings *input_settings,
GSettings *settings,
@@ -751,12 +737,8 @@ update_tablet_keep_aspect (MetaInputSettings *input_settings,
if (clutter_input_device_get_mapping_mode (device) ==
CLUTTER_INPUT_DEVICE_MAPPING_ABSOLUTE)
{
DeviceMappingInfo *info = NULL;
keep_aspect = g_settings_get_boolean (settings, "keep-aspect");
info = lookup_mapping_info (device);
if (info)
output = meta_input_settings_find_output (input_settings, info->settings, device);
output = meta_input_settings_find_output (input_settings, settings, device);
}
else
{
@@ -809,7 +791,6 @@ update_tablet_mapping (MetaInputSettings *input_settings,
{
MetaInputSettingsClass *input_settings_class;
GDesktopTabletMapping mapping;
DeviceMappingInfo *info;
if (clutter_input_device_get_device_type (device) != CLUTTER_TABLET_DEVICE)
return;
@@ -828,8 +809,7 @@ update_tablet_mapping (MetaInputSettings *input_settings,
#endif
input_settings_class = META_INPUT_SETTINGS_GET_CLASS (input_settings);
mapping = g_settings_get_boolean (settings, "is-absolute") ?
G_DESKTOP_TABLET_MAPPING_ABSOLUTE : G_DESKTOP_TABLET_MAPPING_RELATIVE;
mapping = g_settings_get_enum (settings, "mapping");
settings_device_set_uint_setting (input_settings, device,
input_settings_class->set_tablet_mapping,
@@ -837,9 +817,7 @@ update_tablet_mapping (MetaInputSettings *input_settings,
/* Relative mapping disables keep-aspect/display */
update_tablet_keep_aspect (input_settings, settings, device);
info = lookup_mapping_info (device);
if (info)
update_device_display (input_settings, info->settings, device);
update_device_display (input_settings, settings, device);
}
static void
@@ -849,7 +827,7 @@ update_tablet_area (MetaInputSettings *input_settings,
{
MetaInputSettingsClass *input_settings_class;
GVariant *variant;
const guint32 *area;
const gdouble *area;
gsize n_elems;
if (clutter_input_device_get_device_type (device) != CLUTTER_TABLET_DEVICE)
@@ -872,7 +850,7 @@ update_tablet_area (MetaInputSettings *input_settings,
input_settings_class = META_INPUT_SETTINGS_GET_CLASS (input_settings);
variant = g_settings_get_value (settings, "area");
area = g_variant_get_fixed_array (variant, &n_elems, sizeof (guint32));
area = g_variant_get_fixed_array (variant, &n_elems, sizeof (gdouble));
if (n_elems == 4)
{
input_settings_class->set_tablet_area (input_settings, device,
@@ -908,7 +886,7 @@ update_tablet_left_handed (MetaInputSettings *input_settings,
#endif
input_settings_class = META_INPUT_SETTINGS_GET_CLASS (input_settings);
enabled = g_settings_get_enum (settings, "rotation") != 0;
enabled = g_settings_get_boolean (settings, "left-handed");
settings_device_set_bool_setting (input_settings, device,
input_settings_class->set_left_handed,
@@ -976,20 +954,13 @@ mapped_device_changed_cb (GSettings *settings,
{
if (strcmp (key, "display") == 0)
update_device_display (info->input_settings, settings, info->device);
}
static void
mapped_device_gsd_setting_changed_cb (GSettings *settings,
const gchar *key,
DeviceMappingInfo *info)
{
if (strcmp (key, "is-absolute") == 0)
else if (strcmp (key, "mapping") == 0)
update_tablet_mapping (info->input_settings, settings, info->device);
else if (strcmp (key, "area") == 0)
update_tablet_area (info->input_settings, settings, info->device);
else if (strcmp (key, "keep-aspect") == 0)
update_tablet_keep_aspect (info->input_settings, settings, info->device);
else if (strcmp (key, "rotation") == 0)
else if (strcmp (key, "left-handed") == 0)
update_tablet_left_handed (info->input_settings, settings, info->device);
}
@@ -999,14 +970,13 @@ apply_mappable_device_settings (MetaInputSettings *input_settings,
{
update_device_display (input_settings, info->settings, info->device);
if (info->gsd_settings &&
(clutter_input_device_get_device_type (info->device) == CLUTTER_TABLET_DEVICE ||
clutter_input_device_get_device_type (info->device) == CLUTTER_PAD_DEVICE))
if (clutter_input_device_get_device_type (info->device) == CLUTTER_TABLET_DEVICE ||
clutter_input_device_get_device_type (info->device) == CLUTTER_PAD_DEVICE)
{
update_tablet_mapping (input_settings, info->gsd_settings, info->device);
update_tablet_area (input_settings, info->gsd_settings, info->device);
update_tablet_keep_aspect (input_settings, info->gsd_settings, info->device);
update_tablet_left_handed (input_settings, info->gsd_settings, info->device);
update_tablet_mapping (input_settings, info->settings, info->device);
update_tablet_area (input_settings, info->settings, info->device);
update_tablet_keep_aspect (input_settings, info->settings, info->device);
update_tablet_left_handed (input_settings, info->settings, info->device);
}
}
@@ -1048,77 +1018,6 @@ lookup_device_settings (ClutterInputDevice *device)
return settings;
}
static gchar *
get_tablet_settings_id (ClutterInputDevice *device,
DeviceMappingInfo *info)
{
gchar *id, *machine_id;
gsize length;
if (!g_file_get_contents ("/etc/machine-id", &machine_id, &length, NULL))
return NULL;
machine_id = g_strstrip (machine_id);
#ifdef HAVE_LIBWACOM
id = g_strdup_printf ("%s-%s", machine_id, libwacom_get_match (info->wacom_device));
#else
id = g_strdup_printf ("%s-%s:%s", machine_id,
clutter_input_device_get_vendor_id (device),
clutter_input_device_get_product_id (device));
#endif
g_free (machine_id);
return id;
}
static gboolean
has_gsd_schemas (void)
{
GSettingsSchema *schema;
schema = g_settings_schema_source_lookup (g_settings_schema_source_get_default (),
"org.gnome.settings-daemon.peripherals.wacom",
TRUE);
if (!schema)
return FALSE;
g_settings_schema_unref (schema);
return TRUE;
}
static GSettings *
lookup_device_gsd_settings (ClutterInputDevice *device,
DeviceMappingInfo *info)
{
ClutterInputDeviceType type;
GSettings *settings = NULL;
type = clutter_input_device_get_device_type (device);
if (type == CLUTTER_TABLET_DEVICE ||
type == CLUTTER_PEN_DEVICE ||
type == CLUTTER_ERASER_DEVICE ||
type == CLUTTER_CURSOR_DEVICE ||
type == CLUTTER_PAD_DEVICE)
{
gchar *device_id, *path;
if (!has_gsd_schemas ())
return NULL;
device_id = get_tablet_settings_id (device, info);
path = g_strdup_printf ("/org/gnome/settings-daemon/peripherals/wacom/%s/",
device_id);
settings = g_settings_new_with_path ("org.gnome.settings-daemon.peripherals.wacom",
path);
g_free (device_id);
g_free (path);
}
return settings;
}
static void
tool_settings_cache_pressure_curve (ToolSettings *tool_settings)
{
@@ -1126,7 +1025,11 @@ tool_settings_cache_pressure_curve (ToolSettings *tool_settings)
const gint32 *curve;
gsize n_elems;
variant = g_settings_get_value (tool_settings->settings, "pressurecurve");
if (clutter_input_device_tool_get_tool_type (tool_settings->tool) ==
CLUTTER_INPUT_DEVICE_TOOL_ERASER)
variant = g_settings_get_value (tool_settings->settings, "eraser-pressure-curve");
else
variant = g_settings_get_value (tool_settings->settings, "pressure-curve");
curve = g_variant_get_fixed_array (variant, &n_elems, sizeof (gint32));
if (n_elems == 4)
@@ -1145,41 +1048,22 @@ tool_settings_cache_pressure_curve (ToolSettings *tool_settings)
g_variant_unref (variant);
}
static GDesktopStylusButtonAction
translate_stylus_button_action (guint32 button_number)
{
switch (button_number)
{
case 2:
return G_DESKTOP_STYLUS_BUTTON_ACTION_MIDDLE;
case 3:
return G_DESKTOP_STYLUS_BUTTON_ACTION_RIGHT;
case 8:
return G_DESKTOP_STYLUS_BUTTON_ACTION_BACK;
case 9:
return G_DESKTOP_STYLUS_BUTTON_ACTION_FORWARD;
default:
return G_DESKTOP_STYLUS_BUTTON_ACTION_DEFAULT;
}
}
static void
tool_settings_changed_cb (GSettings *settings,
const gchar *key,
ToolSettings *tool_settings)
{
if (strcmp (key, "buttonmapping") == 0)
{
GVariant *variant = g_settings_get_value (settings, "buttonmapping");
const guint32 *mapping;
gsize n_elems;
mapping = g_variant_get_fixed_array (variant, &n_elems, sizeof (guint32));
tool_settings->button_action = translate_stylus_button_action (mapping[2]);
tool_settings->secondary_button_action = translate_stylus_button_action (mapping[3]);
g_variant_unref (variant);
}
else if (strcmp (key, "pressurecurve") == 0)
if (strcmp (key, "button-action") == 0)
tool_settings->button_action = g_settings_get_enum (settings, "button-action");
else if (strcmp (key, "secondary-button-action") == 0)
tool_settings->secondary_button_action = g_settings_get_enum (settings, "secondary-button-action");
else if (strcmp (key, "pressure-curve") == 0 &&
clutter_input_device_tool_get_tool_type (tool_settings->tool) !=
CLUTTER_INPUT_DEVICE_TOOL_ERASER)
tool_settings_cache_pressure_curve (tool_settings);
else if (strcmp (key, "eraser-pressure-curve") == 0 &&
clutter_input_device_tool_get_tool_type (tool_settings->tool) ==
CLUTTER_INPUT_DEVICE_TOOL_ERASER)
tool_settings_cache_pressure_curve (tool_settings);
}
@@ -1188,33 +1072,22 @@ tool_settings_new (ClutterInputDeviceTool *tool,
const gchar *schema_path)
{
ToolSettings *tool_settings;
GVariant *variant;
const guint32 *mapping;
gsize n_elems;
tool_settings = g_new0 (ToolSettings, 1);
tool_settings->tool = tool;
tool_settings->curve[0] = tool_settings->curve[1] = 0;
tool_settings->curve[2] = tool_settings->curve[3] = 1;
tool_settings->settings =
g_settings_new_with_path ("org.gnome.desktop.peripherals.tablet.stylus",
schema_path);
if (has_gsd_schemas ())
{
tool_settings->settings =
g_settings_new_with_path ("org.gnome.settings-daemon.peripherals.wacom.stylus",
schema_path);
g_signal_connect (tool_settings->settings, "changed",
G_CALLBACK (tool_settings_changed_cb), tool_settings);
g_signal_connect (tool_settings->settings, "changed",
G_CALLBACK (tool_settings_changed_cb), tool_settings);
/* Initialize values */
variant = g_settings_get_value (tool_settings->settings, "buttonmapping");
mapping = g_variant_get_fixed_array (variant, &n_elems, sizeof (guint32));
tool_settings->button_action = translate_stylus_button_action (mapping[2]);
tool_settings->secondary_button_action = translate_stylus_button_action (mapping[3]);
tool_settings_cache_pressure_curve (tool_settings);
g_variant_unref (variant);
}
/* Initialize values */
tool_settings->button_action =
g_settings_get_enum (tool_settings->settings, "button-action");
tool_settings->secondary_button_action =
g_settings_get_enum (tool_settings->settings, "secondary-button-action");
tool_settings_cache_pressure_curve (tool_settings);
return tool_settings;
}
@@ -1231,17 +1104,26 @@ lookup_tool_settings (ClutterInputDeviceTool *tool,
ClutterInputDevice *device)
{
ToolSettings *tool_settings;
guint64 tool_id;
gchar *device_id, *path;
guint64 serial;
gchar *path;
tool_settings = g_object_get_qdata (G_OBJECT (tool), quark_tool_settings);
if (tool_settings)
return tool_settings;
tool_id = clutter_input_device_tool_get_id (tool);
device_id = get_tablet_settings_id (device, lookup_mapping_info (device));
path = g_strdup_printf ("/org/gnome/settings-daemon/peripherals/wacom/%s/%lx/",
device_id, tool_id);
serial = clutter_input_device_tool_get_serial (tool);
if (serial == 0)
{
path = g_strdup_printf ("/org/gnome/desktop/peripherals/stylus/default-%s:%s/",
clutter_input_device_get_vendor_id (device),
clutter_input_device_get_product_id (device));
}
else
{
path = g_strdup_printf ("/org/gnome/desktop/peripherals/stylus/%lx/", serial);
}
tool_settings = tool_settings_new (tool, path);
g_object_set_qdata_full (G_OBJECT (tool), quark_tool_settings, tool_settings,
(GDestroyNotify) tool_settings_free);
@@ -1254,15 +1136,16 @@ static GSettings *
lookup_pad_button_settings (ClutterInputDevice *device,
guint button)
{
const gchar *vendor, *product;
GSettings *settings;
gchar *device_id, *path;
gchar *path;
device_id = get_tablet_settings_id (device, lookup_mapping_info (device));
path = g_strdup_printf ("/org/gnome/settings-daemon/peripherals/wacom/%s/button%c/",
device_id, 'A' + button);
settings = g_settings_new_with_path ("org.gnome.settings-daemon.peripherals.wacom.tablet-button",
vendor = clutter_input_device_get_vendor_id (device);
product = clutter_input_device_get_product_id (device);
path = g_strdup_printf ("/org/gnome/desktop/peripherals/tablets/%s:%s/button%c/",
vendor, product, 'A' + button);
settings = g_settings_new_with_path ("org.gnome.desktop.peripherals.tablet.pad-button",
path);
g_free (device_id);
g_free (path);
return settings;
@@ -1293,7 +1176,6 @@ device_mapping_info_free (DeviceMappingInfo *info)
libwacom_destroy (info->wacom_device);
#endif
g_object_unref (info->settings);
g_clear_object (&info->gsd_settings);
g_slice_free (DeviceMappingInfo, info);
}
@@ -1342,13 +1224,6 @@ check_add_mappable_device (MetaInputSettings *input_settings,
g_hash_table_insert (priv->mappable_devices, device, info);
info->gsd_settings = lookup_device_gsd_settings (device, info);
if (info->gsd_settings)
{
g_signal_connect (info->gsd_settings, "changed",
G_CALLBACK (mapped_device_gsd_setting_changed_cb), info);
}
apply_mappable_device_settings (input_settings, info);
return TRUE;
@@ -1596,18 +1471,8 @@ meta_input_settings_get_pad_button_action (MetaInputSettings *input_settings,
ClutterInputDevice *pad,
guint button)
{
/* GsdWacomActionType to GDesktopPadButtonAction map */
GDesktopPadButtonAction action_map[4] = {
G_DESKTOP_PAD_BUTTON_ACTION_NONE,
G_DESKTOP_PAD_BUTTON_ACTION_KEYBINDING,
G_DESKTOP_PAD_BUTTON_ACTION_SWITCH_MONITOR,
G_DESKTOP_PAD_BUTTON_ACTION_HELP
};
GDesktopPadButtonAction action;
GSettings *settings;
guint32 action;
if (!has_gsd_schemas ())
return G_DESKTOP_PAD_BUTTON_ACTION_NONE;
g_return_val_if_fail (META_IS_INPUT_SETTINGS (input_settings),
G_DESKTOP_PAD_BUTTON_ACTION_NONE);
@@ -1615,10 +1480,10 @@ meta_input_settings_get_pad_button_action (MetaInputSettings *input_settings,
G_DESKTOP_PAD_BUTTON_ACTION_NONE);
settings = lookup_pad_button_settings (pad, button);
action = g_settings_get_enum (settings, "action-type");
action = g_settings_get_enum (settings, "action");
g_object_unref (settings);
return action_map[action];
return action;
}
#ifdef HAVE_LIBWACOM
@@ -1833,15 +1698,12 @@ meta_input_settings_get_pad_button_action_label (MetaInputSettings *input_setti
gchar *accel;
settings = lookup_pad_button_settings (pad, button);
accel = g_settings_get_string (settings, "custom-action");
accel = g_settings_get_string (settings, "keybinding");
g_object_unref (settings);
return accel;
}
case G_DESKTOP_PAD_BUTTON_ACTION_SWITCH_MONITOR:
/* TRANSLATORS: This string refers to an action, cycles drawing tablets'
* mapping through the available outputs.
*/
return g_strdup (_("Switch monitor"));
case G_DESKTOP_PAD_BUTTON_ACTION_HELP:
return g_strdup (_("Show on-screen help"));

View File

@@ -1,89 +0,0 @@
# Copyright (C) 2016 Red Hat Inc.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
import os
import sys
common_resolutions = [
# 4:3
(800, 600),
(1024, 768),
(1152, 864),
(1280, 960),
(1400, 1050),
(1440, 1080),
(1600, 1200),
(1920, 1440),
(2048, 1536),
# 16:10
(1280, 800),
(1440, 900),
(1680, 1050),
(1920, 1200),
(2560, 1600),
# 16:9
(1280, 720),
(1366, 768),
(1600, 900),
(1920, 1080),
(2048, 1152),
(2560, 1440),
(2880, 1620),
(3200, 1800),
(3840, 2160),
(4096, 2304),
(5120, 2880),
]
output_lines = [
"/* Generated by gen-default-modes.py */\n",
"const drmModeModeInfo meta_default_drm_mode_infos[] = {",
]
def sync_flags(hsync, vsync):
flags = "DRM_MODE_FLAG_"
flags += "NHSYNC" if hsync[0] is '-' else "PHSYNC"
flags += " | DRM_MODE_FLAG_"
flags += "NVSYNC" if vsync[0] is '-' else "PVSYNC"
return flags
def drm_mode_info_from_modeline(line):
sline = line.split()
return "{ %d, %d, %d, %d, %d, 0, %d, %d, %d, %d, 0, 0, %s, DRM_MODE_TYPE_DEFAULT, %s }," % \
(int(float(sline[2]) * 1000),
int(sline[3]),
int(sline[4]),
int(sline[5]),
int(sline[6]),
int(sline[7]),
int(sline[8]),
int(sline[9]),
int(sline[10]),
sync_flags(sline[11], sline[12]),
sline[1])
for resolution in common_resolutions:
cvt = os.popen("%s %s %s" % ('cvt', resolution[0], resolution[1]))
cvt.readline() # discard comment line
line = cvt.readline()
output_lines.append(drm_mode_info_from_modeline(line))
cvt.close()
output_lines.append("};")
for line in output_lines:
sys.stdout.write(line + "\n")
sys.stdout.flush()

View File

@@ -368,14 +368,6 @@ meta_backend_native_lock_layout_group (MetaBackend *backend,
g_signal_emit_by_name (backend, "keymap-layout-group-changed", idx, 0);
}
static void
meta_backend_native_set_numlock (MetaBackend *backend,
gboolean numlock_state)
{
ClutterDeviceManager *manager = clutter_device_manager_get_default ();
clutter_evdev_set_keyboard_numlock (manager, numlock_state);
}
static gboolean
meta_backend_native_get_relative_motion_deltas (MetaBackend *backend,
const ClutterEvent *event,
@@ -429,7 +421,6 @@ meta_backend_native_class_init (MetaBackendNativeClass *klass)
backend_class->lock_layout_group = meta_backend_native_lock_layout_group;
backend_class->get_relative_motion_deltas = meta_backend_native_get_relative_motion_deltas;
backend_class->update_screen_size = meta_backend_native_update_screen_size;
backend_class->set_numlock = meta_backend_native_set_numlock;
}
static void

View File

@@ -216,7 +216,6 @@ update_hw_cursor (MetaCursorRendererNative *native,
MetaCRTC *crtcs;
unsigned int i, n_crtcs;
MetaRectangle rect;
gboolean painted = FALSE;
monitors = meta_monitor_manager_get ();
meta_monitor_manager_get_resources (monitors, NULL, NULL, &crtcs, &n_crtcs, NULL, NULL);
@@ -248,12 +247,8 @@ update_hw_cursor (MetaCursorRendererNative *native,
drmModeMoveCursor (priv->drm_fd, crtcs[i].crtc_id,
rect.x - crtc_rect->x,
rect.y - crtc_rect->y);
painted = TRUE;
}
}
if (painted)
meta_cursor_renderer_emit_painted (renderer, cursor_sprite);
}
static gboolean

View File

@@ -1,29 +0,0 @@
/* Generated by gen-default-modes.py */
const drmModeModeInfo meta_default_drm_mode_infos[] = {
{ 38250, 800, 832, 912, 1024, 0, 600, 603, 607, 624, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "800x600_60.00" },
{ 63500, 1024, 1072, 1176, 1328, 0, 768, 771, 775, 798, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1024x768_60.00" },
{ 81750, 1152, 1216, 1336, 1520, 0, 864, 867, 871, 897, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1152x864_60.00" },
{ 101250, 1280, 1360, 1488, 1696, 0, 960, 963, 967, 996, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1280x960_60.00" },
{ 121750, 1400, 1488, 1632, 1864, 0, 1050, 1053, 1057, 1089, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1400x1050_60.00" },
{ 129000, 1440, 1528, 1680, 1920, 0, 1080, 1083, 1087, 1120, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1440x1080_60.00" },
{ 161000, 1600, 1712, 1880, 2160, 0, 1200, 1203, 1207, 1245, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1600x1200_60.00" },
{ 233500, 1920, 2064, 2264, 2608, 0, 1440, 1443, 1447, 1493, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1920x1440_60.00" },
{ 267250, 2048, 2208, 2424, 2800, 0, 1536, 1539, 1543, 1592, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "2048x1536_60.00" },
{ 83500, 1280, 1352, 1480, 1680, 0, 800, 803, 809, 831, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1280x800_60.00" },
{ 106500, 1440, 1528, 1672, 1904, 0, 900, 903, 909, 934, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1440x900_60.00" },
{ 146250, 1680, 1784, 1960, 2240, 0, 1050, 1053, 1059, 1089, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1680x1050_60.00" },
{ 193250, 1920, 2056, 2256, 2592, 0, 1200, 1203, 1209, 1245, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1920x1200_60.00" },
{ 348500, 2560, 2760, 3032, 3504, 0, 1600, 1603, 1609, 1658, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "2560x1600_60.00" },
{ 74500, 1280, 1344, 1472, 1664, 0, 720, 723, 728, 748, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1280x720_60.00" },
{ 85250, 1368, 1440, 1576, 1784, 0, 768, 771, 781, 798, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1368x768_60.00" },
{ 118250, 1600, 1696, 1856, 2112, 0, 900, 903, 908, 934, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1600x900_60.00" },
{ 173000, 1920, 2048, 2248, 2576, 0, 1080, 1083, 1088, 1120, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "1920x1080_60.00" },
{ 197000, 2048, 2184, 2400, 2752, 0, 1152, 1155, 1160, 1195, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "2048x1152_60.00" },
{ 312250, 2560, 2752, 3024, 3488, 0, 1440, 1443, 1448, 1493, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "2560x1440_60.00" },
{ 396250, 2880, 3096, 3408, 3936, 0, 1620, 1623, 1628, 1679, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "2880x1620_60.00" },
{ 492000, 3200, 3456, 3800, 4400, 0, 1800, 1803, 1808, 1865, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "3200x1800_60.00" },
{ 712750, 3840, 4160, 4576, 5312, 0, 2160, 2163, 2168, 2237, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "3840x2160_60.00" },
{ 813000, 4096, 4440, 4888, 5680, 0, 2304, 2307, 2312, 2386, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "4096x2304_60.00" },
{ 1276500, 5120, 5560, 6128, 7136, 0, 2880, 2883, 2888, 2982, 0, 0, DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_PVSYNC, DRM_MODE_TYPE_DEFAULT, "5120x2880_60.00" },
};

View File

@@ -45,11 +45,8 @@
#include <gudev/gudev.h>
#include "meta-default-modes.h"
#define ALL_TRANSFORMS (META_MONITOR_TRANSFORM_FLIPPED_270 + 1)
#define ALL_TRANSFORMS_MASK ((1 << ALL_TRANSFORMS) - 1)
#define SYNC_TOLERANCE 0.01 /* 1 percent */
typedef struct {
drmModeConnector *connector;
@@ -72,8 +69,6 @@ typedef struct {
int suggested_x;
int suggested_y;
uint32_t hotplug_mode_update;
gboolean has_scaling;
} MetaOutputKms;
typedef struct {
@@ -142,33 +137,18 @@ static char *
make_output_name (drmModeConnector *connector)
{
static const char * const connector_type_names[] = {
"None",
"VGA",
"DVI-I",
"DVI-D",
"DVI-A",
"Composite",
"SVIDEO",
"LVDS",
"Component",
"DIN",
"DP",
"HDMI",
"HDMI-B",
"TV",
"eDP",
"Virtual",
"DSI",
"unknown", "VGA", "DVII", "DVID", "DVID", "Composite",
"SVIDEO", "LVDS", "Component", "9PinDIN", "DisplayPort",
"HDMIA", "HDMIB", "TV", "eDP", "Virtual", "DSI"
};
const char *connector_type_name;
if (connector->connector_type < G_N_ELEMENTS (connector_type_names))
return g_strdup_printf ("%s-%d",
connector_type_names[connector->connector_type],
connector->connector_type_id);
connector_type_name = connector_type_names[connector->connector_type];
else
return g_strdup_printf ("Unknown%d-%d",
connector->connector_type,
connector->connector_type_id);
connector_type_name = "unknown";
return g_strdup_printf ("%s%d", connector_type_name, connector->connector_id);
}
static void
@@ -272,9 +252,7 @@ find_connector_properties (MetaMonitorManagerKms *manager_kms,
else if ((prop->flags & DRM_MODE_PROP_RANGE) &&
strcmp (prop->name, "hotplug_mode_update") == 0)
output_kms->hotplug_mode_update = output_kms->connector->prop_values[i];
else if (strcmp (prop->name, "scaling mode") == 0)
output_kms->has_scaling = TRUE;
drmModeFreeProperty (prop);
}
}
@@ -396,63 +374,33 @@ find_meta_mode (MetaMonitorManager *manager,
return NULL;
}
static float
drm_mode_vrefresh (const drmModeModeInfo *mode)
{
float refresh = 0.0;
if (mode->vrefresh > 0.0)
return mode->vrefresh;
if (mode->htotal > 0 && mode->vtotal > 0)
{
/* Calculate refresh rate in milliHz first for extra precision. */
refresh = (mode->clock * 1000000LL) / mode->htotal;
refresh += (mode->vtotal / 2);
refresh /= mode->vtotal;
if (mode->flags & DRM_MODE_FLAG_INTERLACE)
refresh *= 2;
if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
refresh /= 2;
if (mode->vscan > 1)
refresh /= mode->vscan;
refresh /= 1000.0;
}
return refresh;
}
static void
init_mode (MetaMonitorMode *mode,
const drmModeModeInfo *drm_mode,
long mode_id)
init_mode (MetaMonitorMode *mode,
drmModeModeInfo *drm_mode,
long mode_id)
{
mode->mode_id = mode_id;
mode->name = g_strndup (drm_mode->name, DRM_DISPLAY_MODE_LEN);
mode->width = drm_mode->hdisplay;
mode->height = drm_mode->vdisplay;
mode->flags = drm_mode->flags;
mode->refresh_rate = drm_mode_vrefresh (drm_mode);
/* Calculate refresh rate in milliHz first for extra precision. */
mode->refresh_rate = (drm_mode->clock * 1000000LL) / drm_mode->htotal;
mode->refresh_rate += (drm_mode->vtotal / 2);
mode->refresh_rate /= drm_mode->vtotal;
if (drm_mode->flags & DRM_MODE_FLAG_INTERLACE)
mode->refresh_rate *= 2;
if (drm_mode->flags & DRM_MODE_FLAG_DBLSCAN)
mode->refresh_rate /= 2;
if (drm_mode->vscan > 1)
mode->refresh_rate /= drm_mode->vscan;
mode->refresh_rate /= 1000.0;
mode->driver_private = g_slice_dup (drmModeModeInfo, drm_mode);
mode->driver_notify = (GDestroyNotify)meta_monitor_mode_destroy_notify;
}
static int
compare_modes (const void *one,
const void *two)
{
MetaMonitorMode *a = *(MetaMonitorMode **) one;
MetaMonitorMode *b = *(MetaMonitorMode **) two;
if (a->width != b->width)
return a->width > b->width ? -1 : 1;
if (a->height != b->height)
return a->height > b->height ? -1 : 1;
if (a->refresh_rate != b->refresh_rate)
return a->refresh_rate > b->refresh_rate ? -1 : 1;
return g_strcmp0 (b->name, a->name);
}
static MetaOutput *
find_output_by_id (MetaOutput *outputs,
unsigned n_outputs,
@@ -665,47 +613,6 @@ init_crtc_rotations (MetaMonitorManager *manager,
drmModeFreePlaneResources (planes);
}
static void
add_common_modes (MetaMonitorManager *manager,
MetaOutput *output)
{
const drmModeModeInfo *mode;
GPtrArray *array;
unsigned i;
unsigned max_hdisplay = 0;
unsigned max_vdisplay = 0;
float max_vrefresh = 0.0;
for (i = 0; i < output->n_modes; i++)
{
mode = output->modes[i]->driver_private;
max_hdisplay = MAX (max_hdisplay, mode->hdisplay);
max_vdisplay = MAX (max_vdisplay, mode->vdisplay);
max_vrefresh = MAX (max_vrefresh, drm_mode_vrefresh (mode));
}
max_vrefresh = MAX (max_vrefresh, 60.0);
max_vrefresh *= (1 + SYNC_TOLERANCE);
array = g_ptr_array_new ();
for (i = 0; i < G_N_ELEMENTS (meta_default_drm_mode_infos); i++)
{
mode = &meta_default_drm_mode_infos[i];
if (mode->hdisplay > max_hdisplay ||
mode->vdisplay > max_vdisplay ||
drm_mode_vrefresh (mode) > max_vrefresh)
continue;
g_ptr_array_add (array, find_meta_mode (manager, mode));
}
output->modes = g_renew (MetaMonitorMode *, output->modes, output->n_modes + array->len);
memcpy (output->modes + output->n_modes, array->pdata, array->len * sizeof (MetaMonitorMode *));
output->n_modes += array->len;
g_ptr_array_free (array, TRUE);
}
static void
init_crtc (MetaCRTC *crtc,
MetaMonitorManager *manager,
@@ -797,17 +704,6 @@ init_output (MetaOutput *output,
output->preferred_mode = output->modes[0];
output_kms->connector = connector;
find_connector_properties (manager_kms, output_kms);
/* FIXME: MSC feature bit? */
/* Presume that if the output supports scaling, then we have
* a panel fitter capable of adjusting any mode to suit.
*/
if (output_kms->has_scaling)
add_common_modes (manager, output);
qsort (output->modes, output->n_modes, sizeof (MetaMonitorMode *), compare_modes);
output_kms->n_encoders = connector->count_encoders;
output_kms->encoders = g_new0 (drmModeEncoderPtr, output_kms->n_encoders);
@@ -871,6 +767,7 @@ init_output (MetaOutput *output,
output->is_presentation = FALSE;
}
find_connector_properties (manager_kms, output_kms);
output->suggested_x = output_kms->suggested_x;
output->suggested_y = output_kms->suggested_y;
output->hotplug_mode_update = output_kms->hotplug_mode_update;
@@ -1039,7 +936,7 @@ init_modes (MetaMonitorManager *manager,
}
}
manager->n_modes = g_hash_table_size (modes) + G_N_ELEMENTS (meta_default_drm_mode_infos);
manager->n_modes = g_hash_table_size (modes);
manager->modes = g_new0 (MetaMonitorMode, manager->n_modes);
g_hash_table_iter_init (&iter, modes);
@@ -1055,16 +952,6 @@ init_modes (MetaMonitorManager *manager,
}
g_hash_table_destroy (modes);
for (i = 0; i < G_N_ELEMENTS (meta_default_drm_mode_infos); i++)
{
MetaMonitorMode *mode;
mode = &manager->modes[mode_id];
init_mode (mode, &meta_default_drm_mode_infos[i], (long) mode_id);
mode_id++;
}
}
static void

View File

@@ -805,14 +805,6 @@ meta_backend_x11_lock_layout_group (MetaBackend *backend,
XkbLockGroup (priv->xdisplay, XkbUseCoreKbd, idx);
}
static void
meta_backend_x11_set_numlock (MetaBackend *backend,
gboolean numlock_state)
{
/* TODO: Currently handled by gnome-settings-deamon */
}
static void
meta_backend_x11_update_screen_size (MetaBackend *backend,
int width, int height)
@@ -905,7 +897,6 @@ meta_backend_x11_class_init (MetaBackendX11Class *klass)
backend_class->lock_layout_group = meta_backend_x11_lock_layout_group;
backend_class->update_screen_size = meta_backend_x11_update_screen_size;
backend_class->select_stage_events = meta_backend_x11_select_stage_events;
backend_class->set_numlock = meta_backend_x11_set_numlock;
}
static void

View File

@@ -349,21 +349,6 @@ meta_window_actor_freeze (MetaWindowActor *self)
priv->freeze_count ++;
}
static void
meta_window_actor_sync_thawed_state (MetaWindowActor *self)
{
MetaWindowActorPrivate *priv = self->priv;
if (priv->first_frame_state == INITIALLY_FROZEN)
priv->first_frame_state = DRAWING_FIRST_FRAME;
if (priv->surface)
meta_surface_actor_set_frozen (priv->surface, FALSE);
/* We sometimes ignore moves and resizes on frozen windows */
meta_window_actor_sync_actor_geometry (self, FALSE);
}
static void
meta_window_actor_thaw (MetaWindowActor *self)
{
@@ -376,11 +361,14 @@ meta_window_actor_thaw (MetaWindowActor *self)
if (priv->freeze_count > 0)
return;
/* We still might be frozen due to lack of a MetaSurfaceActor */
if (is_frozen (self))
return;
if (priv->first_frame_state == INITIALLY_FROZEN)
priv->first_frame_state = DRAWING_FIRST_FRAME;
meta_window_actor_sync_thawed_state (self);
if (priv->surface)
meta_surface_actor_set_frozen (priv->surface, FALSE);
/* We sometimes ignore moves and resizes on frozen windows */
meta_window_actor_sync_actor_geometry (self, FALSE);
/* We do this now since we might be going right back into the
* frozen state */
@@ -413,12 +401,14 @@ set_surface (MetaWindowActor *self,
G_CALLBACK (surface_size_changed), self);
clutter_actor_add_child (CLUTTER_ACTOR (self), CLUTTER_ACTOR (priv->surface));
meta_window_actor_update_shape (self);
/* If the previous surface actor was frozen, start out
* frozen as well... */
meta_surface_actor_set_frozen (priv->surface, priv->freeze_count > 0);
if (is_frozen (self))
meta_surface_actor_set_frozen (priv->surface, TRUE);
else
meta_window_actor_sync_thawed_state (self);
if (!is_frozen (self) && priv->first_frame_state == INITIALLY_FROZEN)
priv->first_frame_state = DRAWING_FIRST_FRAME;
meta_window_actor_update_shape (self);
}
}

View File

@@ -102,7 +102,6 @@ typedef enum
PRIORITY_SIZE_HINTS_LIMITS = 3,
PRIORITY_TITLEBAR_VISIBLE = 4,
PRIORITY_PARTIALLY_VISIBLE_ON_WORKAREA = 4,
PRIORITY_CUSTOM_RULE = 4,
PRIORITY_MAXIMUM = 4 /* Dummy value used for loop end = max(all priorities) */
} ConstraintPriority;
@@ -145,10 +144,6 @@ static gboolean do_screen_and_monitor_relative_constraints (MetaWindow *wind
GList *region_spanning_rectangles,
ConstraintInfo *info,
gboolean check_only);
static gboolean constrain_custom_rule (MetaWindow *window,
ConstraintInfo *info,
ConstraintPriority priority,
gboolean check_only);
static gboolean constrain_modal_dialog (MetaWindow *window,
ConstraintInfo *info,
ConstraintPriority priority,
@@ -216,7 +211,6 @@ typedef struct {
} Constraint;
static const Constraint all_constraints[] = {
{constrain_custom_rule, "constrain_custom_rule"},
{constrain_modal_dialog, "constrain_modal_dialog"},
{constrain_maximization, "constrain_maximization"},
{constrain_tiling, "constrain_tiling"},
@@ -647,222 +641,6 @@ get_size_limits (MetaWindow *window,
meta_window_client_rect_to_frame_rect (window, max_size, max_size);
}
static void
placement_rule_flip_horizontally (MetaPlacementRule *placement_rule)
{
if (placement_rule->anchor & META_PLACEMENT_ANCHOR_LEFT)
{
placement_rule->anchor &= ~META_PLACEMENT_ANCHOR_LEFT;
placement_rule->anchor |= META_PLACEMENT_ANCHOR_RIGHT;
}
else if (placement_rule->anchor & META_PLACEMENT_ANCHOR_RIGHT)
{
placement_rule->anchor &= ~META_PLACEMENT_ANCHOR_RIGHT;
placement_rule->anchor |= META_PLACEMENT_ANCHOR_LEFT;
}
if (placement_rule->gravity & META_PLACEMENT_GRAVITY_LEFT)
{
placement_rule->gravity &= ~META_PLACEMENT_GRAVITY_LEFT;
placement_rule->gravity |= META_PLACEMENT_GRAVITY_RIGHT;
}
else if (placement_rule->gravity & META_PLACEMENT_GRAVITY_RIGHT)
{
placement_rule->gravity &= ~META_PLACEMENT_GRAVITY_RIGHT;
placement_rule->gravity |= META_PLACEMENT_GRAVITY_LEFT;
}
}
static void
placement_rule_flip_vertically (MetaPlacementRule *placement_rule)
{
if (placement_rule->anchor & META_PLACEMENT_ANCHOR_TOP)
{
placement_rule->anchor &= ~META_PLACEMENT_ANCHOR_TOP;
placement_rule->anchor |= META_PLACEMENT_ANCHOR_BOTTOM;
}
else if (placement_rule->anchor & META_PLACEMENT_ANCHOR_BOTTOM)
{
placement_rule->anchor &= ~META_PLACEMENT_ANCHOR_BOTTOM;
placement_rule->anchor |= META_PLACEMENT_ANCHOR_TOP;
}
if (placement_rule->gravity & META_PLACEMENT_GRAVITY_TOP)
{
placement_rule->gravity &= ~META_PLACEMENT_GRAVITY_TOP;
placement_rule->gravity |= META_PLACEMENT_GRAVITY_BOTTOM;
}
else if (placement_rule->gravity & META_PLACEMENT_GRAVITY_BOTTOM)
{
placement_rule->gravity &= ~META_PLACEMENT_GRAVITY_BOTTOM;
placement_rule->gravity |= META_PLACEMENT_GRAVITY_TOP;
}
}
static void
try_flip_window_position (MetaWindow *window,
ConstraintInfo *info,
MetaPlacementRule *placement_rule,
MetaPlacementConstraintAdjustment constraint_adjustment,
MetaRectangle *rect,
MetaRectangle *intersection)
{
MetaPlacementRule flipped_rule = *placement_rule;;
MetaRectangle flipped_rect;
MetaRectangle flipped_intersection;
switch (constraint_adjustment)
{
case META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_X:
placement_rule_flip_horizontally (&flipped_rule);
break;
case META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_Y:
placement_rule_flip_vertically (&flipped_rule);
break;
default:
g_assert_not_reached ();
}
flipped_rect = info->current;
meta_window_process_placement (window, &flipped_rule,
&flipped_rect.x, &flipped_rect.y);
meta_rectangle_intersect (&flipped_rect, &info->work_area_monitor,
&flipped_intersection);
if ((constraint_adjustment == META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_X &&
flipped_intersection.width == flipped_rect.width) ||
(constraint_adjustment == META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_Y &&
flipped_intersection.height == flipped_rect.height))
{
*placement_rule = flipped_rule;
*rect = flipped_rect;
*intersection = flipped_intersection;
}
}
static gboolean
is_custom_rule_satisfied (ConstraintInfo *info,
MetaPlacementRule *placement_rule,
MetaRectangle *intersection)
{
uint32_t x_constrain_actions, y_constrain_actions;
x_constrain_actions = (META_PLACEMENT_CONSTRAINT_ADJUSTMENT_SLIDE_X |
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_X);
y_constrain_actions = (META_PLACEMENT_CONSTRAINT_ADJUSTMENT_SLIDE_Y |
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_Y);
if ((placement_rule->constraint_adjustment & x_constrain_actions &&
info->current.width != intersection->width) ||
(placement_rule->constraint_adjustment & y_constrain_actions &&
info->current.height != intersection->height))
return FALSE;
else
return TRUE;
}
static gboolean
constrain_custom_rule (MetaWindow *window,
ConstraintInfo *info,
ConstraintPriority priority,
gboolean check_only)
{
MetaPlacementRule *placement_rule;
MetaRectangle intersection;
gboolean constraint_satisfied;
MetaPlacementRule current_rule;
if (priority > PRIORITY_CUSTOM_RULE)
return TRUE;
placement_rule = meta_window_get_placement_rule (window);
if (!placement_rule)
return TRUE;
if (!meta_rectangle_could_fit_rect (&info->work_area_monitor,
&info->current))
return TRUE;
meta_rectangle_intersect (&info->current, &info->work_area_monitor,
&intersection);
constraint_satisfied = is_custom_rule_satisfied (info,
placement_rule,
&intersection);
if (constraint_satisfied || check_only)
return constraint_satisfied;
current_rule = *placement_rule;
if (info->current.width != intersection.width &&
(current_rule.constraint_adjustment &
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_X))
{
try_flip_window_position (window, info, &current_rule,
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_X,
&info->current, &intersection);
}
if (info->current.height != intersection.height &&
(current_rule.constraint_adjustment &
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_Y))
{
try_flip_window_position (window, info, &current_rule,
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_Y,
&info->current, &intersection);
}
meta_rectangle_intersect (&info->current, &info->work_area_monitor,
&intersection);
constraint_satisfied = is_custom_rule_satisfied (info,
placement_rule,
&intersection);
if (constraint_satisfied)
return TRUE;
if (current_rule.constraint_adjustment &
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_SLIDE_X)
{
if (info->current.x != intersection.x)
info->current.x = intersection.x;
else if (info->current.width != intersection.width)
info->current.x -= info->current.width - intersection.width;
}
if (current_rule.constraint_adjustment &
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_SLIDE_Y)
{
if (info->current.y != intersection.y)
info->current.y = intersection.y;
else if (info->current.height != intersection.height)
info->current.y -= info->current.height - intersection.height;
}
meta_rectangle_intersect (&info->current, &info->work_area_monitor,
&intersection);
constraint_satisfied = is_custom_rule_satisfied (info,
placement_rule,
&intersection);
if (constraint_satisfied)
return TRUE;
if (current_rule.constraint_adjustment &
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_RESIZE_X)
{
info->current.x = intersection.x;
info->current.width = intersection.width;
}
if (current_rule.constraint_adjustment &
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_RESIZE_Y)
{
info->current.y = intersection.y;
info->current.height = intersection.height;
}
return TRUE;
}
static gboolean
constrain_modal_dialog (MetaWindow *window,
ConstraintInfo *info,
@@ -874,8 +652,7 @@ constrain_modal_dialog (MetaWindow *window,
MetaRectangle child_rect, parent_rect;
gboolean constraint_already_satisfied;
if (!meta_window_is_attached_dialog (window) ||
meta_window_get_placement_rule (window))
if (!meta_window_is_attached_dialog (window))
return TRUE;
/* We want to center the dialog on the parent, including the decorations
@@ -1453,8 +1230,7 @@ constrain_to_single_monitor (MetaWindow *window,
window->screen->n_monitor_infos == 1 ||
!window->require_on_single_monitor ||
!window->frame ||
info->is_user_action ||
meta_window_get_placement_rule (window))
info->is_user_action)
return TRUE;
/* Have a helper function handle the constraint for us */
@@ -1481,8 +1257,7 @@ constrain_fully_onscreen (MetaWindow *window,
window->type == META_WINDOW_DOCK ||
window->fullscreen ||
!window->require_fully_onscreen ||
info->is_user_action ||
meta_window_get_placement_rule (window))
info->is_user_action)
return TRUE;
/* Have a helper function handle the constraint for us */
@@ -1521,8 +1296,7 @@ constrain_titlebar_visible (MetaWindow *window,
window->type == META_WINDOW_DOCK ||
window->fullscreen ||
!window->require_titlebar_visible ||
unconstrained_user_action ||
meta_window_get_placement_rule (window))
unconstrained_user_action)
return TRUE;
/* Determine how much offscreen things are allowed. We first need to
@@ -1599,8 +1373,7 @@ constrain_partially_onscreen (MetaWindow *window,
* "onscreen" by their own strut).
*/
if (window->type == META_WINDOW_DESKTOP ||
window->type == META_WINDOW_DOCK ||
meta_window_get_placement_rule (window))
window->type == META_WINDOW_DOCK)
return TRUE;
/* Determine how much offscreen things are allowed. We first need to

View File

@@ -505,7 +505,7 @@ meta_display_cancel_touch (MetaDisplay *display)
return;
compositor = meta_wayland_compositor_get_default ();
meta_wayland_touch_cancel (compositor->seat->touch);
meta_wayland_touch_cancel (&compositor->seat->touch);
#endif
}

View File

@@ -47,18 +47,6 @@
(e)->type == CLUTTER_TOUCH_END || \
(e)->type == CLUTTER_TOUCH_CANCEL)
#define IS_KEY_EVENT(e) ((e)->type == CLUTTER_KEY_PRESS || \
(e)->type == CLUTTER_KEY_RELEASE)
static gboolean
stage_has_key_focus (void)
{
MetaBackend *backend = meta_get_backend ();
ClutterActor *stage = meta_backend_get_stage (backend);
return clutter_stage_get_key_focus (CLUTTER_STAGE (stage)) == stage;
}
static MetaWindow *
get_window_for_event (MetaDisplay *display,
const ClutterEvent *event)
@@ -70,8 +58,14 @@ get_window_for_event (MetaDisplay *display,
ClutterActor *source;
/* Always use the key focused window for key events. */
if (IS_KEY_EVENT (event))
return stage_has_key_focus () ? display->focus_window : NULL;
switch (event->type)
{
case CLUTTER_KEY_PRESS:
case CLUTTER_KEY_RELEASE:
return display->focus_window;
default:
break;
}
source = clutter_event_get_source (event);
if (META_IS_SURFACE_ACTOR (source))
@@ -305,18 +299,6 @@ meta_display_handle_event (MetaDisplay *display,
goto out;
}
/* Do not pass keyboard events to Wayland if key focus is not on the
* stage in normal mode (e.g. during keynav in the panel)
*/
if (display->event_route == META_EVENT_ROUTE_NORMAL)
{
if (IS_KEY_EVENT (event) && !stage_has_key_focus ())
{
bypass_wayland = TRUE;
goto out;
}
}
if (display->current_pad_osd)
{
bypass_wayland = TRUE;

View File

@@ -598,61 +598,6 @@ find_first_fit (MetaWindow *window,
return retval;
}
void
meta_window_process_placement (MetaWindow *window,
MetaPlacementRule *placement_rule,
int *x,
int *y)
{
MetaWindow *parent = meta_window_get_transient_for (window);
MetaRectangle parent_rect;
MetaRectangle anchor_rect;
int window_width, window_height;
window_width = placement_rule->width;
window_height = placement_rule->height;
meta_window_get_frame_rect (parent, &parent_rect);
anchor_rect = (MetaRectangle) {
.x = parent_rect.x + placement_rule->anchor_rect.x,
.y = parent_rect.y + placement_rule->anchor_rect.y,
.width = placement_rule->anchor_rect.width,
.height = placement_rule->anchor_rect.height,
};
/* Place at anchor point. */
if (placement_rule->anchor & META_PLACEMENT_ANCHOR_LEFT)
*x = anchor_rect.x;
else if (placement_rule->anchor & META_PLACEMENT_ANCHOR_RIGHT)
*x = anchor_rect.x + anchor_rect.width;
else
*x = anchor_rect.x + (anchor_rect.width / 2);
if (placement_rule->anchor & META_PLACEMENT_ANCHOR_TOP)
*y = anchor_rect.y;
else if (placement_rule->anchor & META_PLACEMENT_ANCHOR_BOTTOM)
*y = anchor_rect.y + anchor_rect.height;
else
*y = anchor_rect.y + (anchor_rect.height / 2);
/* Shift according to gravity. */
if (placement_rule->gravity & META_PLACEMENT_GRAVITY_LEFT)
*x -= window_width;
else if (placement_rule->gravity & META_PLACEMENT_GRAVITY_RIGHT)
*x = *x;
else
*x -= window_width / 2;
if (placement_rule->gravity & META_PLACEMENT_GRAVITY_TOP)
*y -= window_height;
else if (placement_rule->gravity & META_PLACEMENT_GRAVITY_BOTTOM)
*y = *y;
else
*y -= window_height / 2;
/* Offset according to offset. */
*x += placement_rule->offset_x;
*y += placement_rule->offset_y;
}
void
meta_window_place (MetaWindow *window,
int x,
@@ -665,16 +610,6 @@ meta_window_place (MetaWindow *window,
meta_topic (META_DEBUG_PLACEMENT, "Placing window %s\n", window->desc);
/* If the window has a custom placement rule, always run only that. */
if (window->placement_rule)
{
meta_window_process_placement (window,
window->placement_rule,
&x, &y);
goto done;
}
switch (window->type)
{
/* Run placement algorithm on these. */

View File

@@ -25,11 +25,6 @@
#include "window-private.h"
#include "frame.h"
void meta_window_process_placement (MetaWindow *window,
MetaPlacementRule *placement_rule,
int *x,
int *y);
void meta_window_place (MetaWindow *window,
int x,
int y,

View File

@@ -88,47 +88,6 @@ typedef enum
META_MOVE_RESIZE_RESULT_FRAME_SHAPE_CHANGED = 1 << 2,
} MetaMoveResizeResultFlags;
typedef enum
{
META_PLACEMENT_GRAVITY_NONE = 0,
META_PLACEMENT_GRAVITY_TOP = 1 << 0,
META_PLACEMENT_GRAVITY_BOTTOM = 1 << 1,
META_PLACEMENT_GRAVITY_LEFT = 1 << 2,
META_PLACEMENT_GRAVITY_RIGHT = 1 << 3,
} MetaPlacementGravity;
typedef enum
{
META_PLACEMENT_ANCHOR_NONE = 0,
META_PLACEMENT_ANCHOR_TOP = 1 << 0,
META_PLACEMENT_ANCHOR_BOTTOM = 1 << 1,
META_PLACEMENT_ANCHOR_LEFT = 1 << 2,
META_PLACEMENT_ANCHOR_RIGHT = 1 << 3,
} MetaPlacementAnchor;
typedef enum
{
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_NONE = 0,
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_SLIDE_X = 1 << 0,
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_SLIDE_Y = 1 << 1,
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_X = 1 << 2,
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_FLIP_Y = 1 << 3,
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_RESIZE_X = 1 << 4,
META_PLACEMENT_CONSTRAINT_ADJUSTMENT_RESIZE_Y = 1 << 5,
} MetaPlacementConstraintAdjustment;
typedef struct _MetaPlacementRule
{
MetaRectangle anchor_rect;
MetaPlacementGravity gravity;
MetaPlacementAnchor anchor;
MetaPlacementConstraintAdjustment constraint_adjustment;
int offset_x;
int offset_y;
int width;
int height;
} MetaPlacementRule;
struct _MetaWindow
{
GObject parent_instance;
@@ -489,8 +448,6 @@ struct _MetaWindow
/* Bypass compositor hints */
guint bypass_compositor;
MetaPlacementRule *placement_rule;
};
struct _MetaWindowClass
@@ -740,8 +697,4 @@ gboolean meta_window_has_pointer (MetaWindow *window);
void meta_window_emit_size_changed (MetaWindow *window);
MetaPlacementRule *meta_window_get_placement_rule (MetaWindow *window);
void meta_window_force_placement (MetaWindow *window);
#endif

View File

@@ -84,6 +84,8 @@ static void set_net_wm_state (MetaWindow *window);
static void meta_window_set_above (MetaWindow *window,
gboolean new_value);
static void meta_window_force_placement (MetaWindow *window);
static void meta_window_show (MetaWindow *window);
static void meta_window_hide (MetaWindow *window);
@@ -294,7 +296,6 @@ meta_window_finalize (GObject *object)
g_free (window->gtk_window_object_path);
g_free (window->gtk_app_menu_object_path);
g_free (window->gtk_menubar_object_path);
g_free (window->placement_rule);
G_OBJECT_CLASS (meta_window_parent_class)->finalize (object);
}
@@ -2167,7 +2168,7 @@ window_would_be_covered (const MetaWindow *newbie)
return FALSE; /* none found */
}
void
static void
meta_window_force_placement (MetaWindow *window)
{
if (window->placed)
@@ -4253,17 +4254,6 @@ get_modal_transient (MetaWindow *window)
return modal_transient;
}
static gboolean
meta_window_transient_can_focus (MetaWindow *window)
{
#ifdef HAVE_WAYLAND
if (window->client_type == META_WINDOW_CLIENT_TYPE_WAYLAND)
return meta_wayland_surface_get_buffer (window->surface) != NULL;
#endif
return TRUE;
}
/* XXX META_EFFECT_FOCUS */
void
meta_window_focus (MetaWindow *window,
@@ -4289,8 +4279,7 @@ meta_window_focus (MetaWindow *window,
modal_transient = get_modal_transient (window);
if (modal_transient != NULL &&
!modal_transient->unmanaging &&
meta_window_transient_can_focus (modal_transient))
!modal_transient->unmanaging)
{
meta_topic (META_DEBUG_FOCUS,
"%s has %s as a modal transient, so focusing it instead.\n",
@@ -4312,13 +4301,6 @@ meta_window_focus (MetaWindow *window,
META_WINDOW_GET_CLASS (window)->focus (window, timestamp);
if (window->display->event_route == META_EVENT_ROUTE_NORMAL)
{
MetaBackend *backend = meta_get_backend ();
ClutterStage *stage = CLUTTER_STAGE (meta_backend_get_stage (backend));
clutter_stage_set_key_focus (stage, NULL);
}
if (window->wm_state_demands_attention)
meta_window_unset_demands_attention(window);
@@ -7434,26 +7416,23 @@ meta_window_set_transient_for (MetaWindow *window,
/* may now be a dialog */
if (window->client_type == META_WINDOW_CLIENT_TYPE_X11)
meta_window_x11_recalc_window_type (window);
if (!window->constructing)
{
meta_window_x11_recalc_window_type (window);
if (!window->constructing)
/* If the window attaches, detaches, or changes attached
* parents, we need to destroy the MetaWindow and let a new one
* be created (which happens as a side effect of
* meta_window_unmanage()). The condition below is correct
* because we know window->transient_for has changed.
*/
if (window->attached || meta_window_should_attach_to_parent (window))
{
/* If the window attaches, detaches, or changes attached
* parents, we need to destroy the MetaWindow and let a new one
* be created (which happens as a side effect of
* meta_window_unmanage()). The condition below is correct
* because we know window->transient_for has changed.
*/
if (window->attached || meta_window_should_attach_to_parent (window))
{
guint32 timestamp;
guint32 timestamp;
timestamp =
meta_display_get_current_time_roundtrip (window->display);
meta_window_unmanage (window, timestamp);
return;
}
timestamp = meta_display_get_current_time_roundtrip (window->display);
meta_window_unmanage (window, timestamp);
return;
}
}
@@ -7946,9 +7925,3 @@ meta_window_emit_size_changed (MetaWindow *window)
{
g_signal_emit (window, window_signals[SIZE_CHANGED], 0);
}
MetaPlacementRule *
meta_window_get_placement_rule (MetaWindow *window)
{
return window->placement_rule;
}

View File

@@ -44,9 +44,6 @@ void meta_backend_set_keymap (MetaBackend *backend,
void meta_backend_lock_layout_group (MetaBackend *backend,
guint idx);
void meta_backend_set_numlock (MetaBackend *backend,
gboolean numlock_state);
ClutterActor *meta_backend_get_stage (MetaBackend *backend);
void meta_clutter_init (void);

View File

@@ -620,7 +620,7 @@ meta_pointer_confinement_wayland_maybe_warp (MetaPointerConfinementWayland *self
seat = meta_wayland_pointer_constraint_get_seat (self->constraint);
surface = meta_wayland_pointer_constraint_get_surface (self->constraint);
clutter_input_device_get_coords (seat->pointer->device, NULL, &point);
clutter_input_device_get_coords (seat->pointer.device, NULL, &point);
meta_wayland_surface_get_relative_coordinates (surface,
point.x, point.y,
&sx, &sy);

View File

@@ -106,10 +106,8 @@ meta_wayland_buffer_ensure_texture (MetaWaylandBuffer *buffer)
if (!texture)
{
meta_warning ("Could not import pending buffer, ignoring commit: %s\n",
catch_error->message);
cogl_error_free (catch_error);
goto out;
meta_fatal ("Could not import pending buffer, ignoring commit\n");
}
buffer->texture = texture;

View File

@@ -465,7 +465,7 @@ primary_offer_receive (struct wl_client *client, struct wl_resource *resource,
seat = meta_wayland_data_source_get_seat (source);
if (wl_resource_get_client (offer->resource) !=
meta_wayland_keyboard_get_focus_client (seat->keyboard))
meta_wayland_keyboard_get_focus_client (&seat->keyboard))
{
close (fd);
return;
@@ -979,7 +979,7 @@ drag_grab_button (MetaWaylandPointerGrab *grab,
drag_grab->feedback_actor = NULL;
}
if (seat->pointer->button_count == 0 &&
if (seat->pointer.button_count == 0 &&
event_type == CLUTTER_BUTTON_RELEASE)
data_device_end_drag_grab (drag_grab);
}
@@ -1073,10 +1073,10 @@ meta_wayland_data_device_start_drag (MetaWaylandDataDevice *data
data_device->current_grab = drag_grab = g_slice_new0 (MetaWaylandDragGrab);
drag_grab->generic.interface = funcs;
drag_grab->generic.pointer = seat->pointer;
drag_grab->generic.pointer = &seat->pointer;
drag_grab->keyboard_grab.interface = &keyboard_drag_grab_interface;
drag_grab->keyboard_grab.keyboard = seat->keyboard;
drag_grab->keyboard_grab.keyboard = &seat->keyboard;
drag_grab->drag_client = client;
drag_grab->seat = seat;
@@ -1087,15 +1087,15 @@ meta_wayland_data_device_start_drag (MetaWaylandDataDevice *data
&drag_grab->drag_origin_listener);
clutter_actor_transform_stage_point (CLUTTER_ACTOR (meta_surface_actor_get_texture (surface->surface_actor)),
seat->pointer->grab_x,
seat->pointer->grab_y,
seat->pointer.grab_x,
seat->pointer.grab_y,
&surface_pos.x, &surface_pos.y);
drag_grab->drag_start_x = surface_pos.x;
drag_grab->drag_start_y = surface_pos.y;
drag_grab->need_initial_focus = TRUE;
modifiers = clutter_input_device_get_modifier_state (seat->pointer->device);
modifiers = clutter_input_device_get_modifier_state (seat->pointer.device);
drag_grab->buttons = modifiers &
(CLUTTER_BUTTON1_MASK | CLUTTER_BUTTON2_MASK | CLUTTER_BUTTON3_MASK |
CLUTTER_BUTTON4_MASK | CLUTTER_BUTTON5_MASK);
@@ -1121,13 +1121,12 @@ meta_wayland_data_device_start_drag (MetaWaylandDataDevice *data
clutter_actor_add_child (drag_grab->feedback_actor,
CLUTTER_ACTOR (drag_grab->drag_surface->surface_actor));
clutter_input_device_get_coords (seat->pointer->device, NULL, &pos);
clutter_input_device_get_coords (seat->pointer.device, NULL, &pos);
meta_feedback_actor_set_position (META_FEEDBACK_ACTOR (drag_grab->feedback_actor),
pos.x, pos.y);
}
meta_wayland_pointer_start_grab (seat->pointer,
(MetaWaylandPointerGrab*) drag_grab);
meta_wayland_pointer_start_grab (&seat->pointer, (MetaWaylandPointerGrab*) drag_grab);
meta_wayland_data_source_set_seat (source, seat);
}
@@ -1156,16 +1155,16 @@ data_device_start_drag (struct wl_client *client,
if (!surface)
return;
if (seat->pointer->button_count == 0 ||
seat->pointer->grab_serial != serial ||
!seat->pointer->focus_surface ||
seat->pointer->focus_surface != surface)
if (seat->pointer.button_count == 0 ||
seat->pointer.grab_serial != serial ||
!seat->pointer.focus_surface ||
seat->pointer.focus_surface != surface)
return;
/* FIXME: Check that the data source type array isn't empty. */
if (data_device->current_grab ||
seat->pointer->grab != &seat->pointer->default_grab)
seat->pointer.grab != &seat->pointer.default_grab)
return;
if (icon_resource)
@@ -1175,8 +1174,7 @@ data_device_start_drag (struct wl_client *client,
if (icon_resource &&
!meta_wayland_surface_assign_role (icon_surface,
META_TYPE_WAYLAND_SURFACE_ROLE_DND,
NULL))
META_TYPE_WAYLAND_SURFACE_ROLE_DND))
{
wl_resource_post_error (resource, WL_DATA_DEVICE_ERROR_ROLE,
"wl_surface@%d already has a different role",
@@ -1184,13 +1182,13 @@ data_device_start_drag (struct wl_client *client,
return;
}
meta_wayland_pointer_set_focus (seat->pointer, NULL);
meta_wayland_pointer_set_focus (&seat->pointer, NULL);
meta_wayland_data_device_start_drag (data_device, client,
&drag_grab_interface,
surface, drag_source, icon_surface);
meta_wayland_keyboard_set_focus (seat->keyboard, NULL);
meta_wayland_keyboard_start_grab (seat->keyboard,
meta_wayland_keyboard_set_focus (&seat->keyboard, NULL);
meta_wayland_keyboard_start_grab (&seat->keyboard,
&seat->data_device.current_grab->keyboard_grab);
}
@@ -1204,7 +1202,7 @@ selection_data_source_destroyed (gpointer data, GObject *object_was_here)
data_device->selection_data_source = NULL;
focus_client = meta_wayland_keyboard_get_focus_client (seat->keyboard);
focus_client = meta_wayland_keyboard_get_focus_client (&seat->keyboard);
if (focus_client)
{
data_device_resource = wl_resource_find_for_client (&data_device->resource_list, focus_client);
@@ -1530,7 +1528,7 @@ meta_wayland_data_device_set_selection (MetaWaylandDataDevice *data_device,
data_device->selection_data_source = source;
data_device->selection_serial = serial;
focus_client = meta_wayland_keyboard_get_focus_client (seat->keyboard);
focus_client = meta_wayland_keyboard_get_focus_client (&seat->keyboard);
if (focus_client)
{
data_device_resource = wl_resource_find_for_client (&data_device->resource_list, focus_client);
@@ -1607,7 +1605,7 @@ primary_source_destroyed (gpointer data,
data_device->primary_data_source = NULL;
focus_client = meta_wayland_keyboard_get_focus_client (seat->keyboard);
focus_client = meta_wayland_keyboard_get_focus_client (&seat->keyboard);
if (focus_client)
{
struct wl_resource *data_device_resource;
@@ -1636,7 +1634,7 @@ meta_wayland_data_device_set_primary (MetaWaylandDataDevice *data_device,
resource = META_WAYLAND_DATA_SOURCE_PRIMARY (source)->resource;
if (wl_resource_get_client (resource) !=
meta_wayland_keyboard_get_focus_client (seat->keyboard))
meta_wayland_keyboard_get_focus_client (&seat->keyboard))
return;
}
@@ -1655,7 +1653,7 @@ meta_wayland_data_device_set_primary (MetaWaylandDataDevice *data_device,
data_device->primary_data_source = source;
data_device->primary_serial = serial;
focus_client = meta_wayland_keyboard_get_focus_client (seat->keyboard);
focus_client = meta_wayland_keyboard_get_focus_client (&seat->keyboard);
if (focus_client)
{
data_device_resource = wl_resource_find_for_client (&data_device->primary_resource_list, focus_client);
@@ -1841,7 +1839,7 @@ meta_wayland_data_device_set_keyboard_focus (MetaWaylandDataDevice *data_device)
struct wl_resource *data_device_resource, *offer;
MetaWaylandDataSource *source;
focus_client = meta_wayland_keyboard_get_focus_client (seat->keyboard);
focus_client = meta_wayland_keyboard_get_focus_client (&seat->keyboard);
if (focus_client == data_device->focus_client)
return;

View File

@@ -1,289 +0,0 @@
/*
* Wayland Support
*
* Copyright (C) 2012,2013 Intel Corporation
* 2013-2016 Red Hat, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#include "config.h"
#include "wayland/meta-wayland-gtk-shell.h"
#include "core/bell.h"
#include "core/window-private.h"
#include "wayland/meta-wayland-private.h"
#include "wayland/meta-wayland-surface.h"
#include "wayland/meta-wayland-versions.h"
#include "wayland/meta-window-wayland.h"
#include "gtk-shell-server-protocol.h"
static GQuark quark_gtk_surface_data = 0;
typedef struct _MetaWaylandGtkSurface
{
struct wl_resource *resource;
MetaWaylandSurface *surface;
gboolean is_modal;
gulong configure_handler_id;
} MetaWaylandGtkSurface;
static void
gtk_surface_destructor (struct wl_resource *resource)
{
MetaWaylandGtkSurface *gtk_surface = wl_resource_get_user_data (resource);
if (gtk_surface->surface)
{
g_object_steal_qdata (G_OBJECT (gtk_surface->surface),
quark_gtk_surface_data);
g_signal_handler_disconnect (gtk_surface->surface,
gtk_surface->configure_handler_id);
}
g_free (gtk_surface);
}
static void
gtk_surface_set_dbus_properties (struct wl_client *client,
struct wl_resource *resource,
const char *application_id,
const char *app_menu_path,
const char *menubar_path,
const char *window_object_path,
const char *application_object_path,
const char *unique_bus_name)
{
MetaWaylandGtkSurface *gtk_surface = wl_resource_get_user_data (resource);
MetaWaylandSurface *surface = gtk_surface->surface;
/* Broken client, let it die instead of us */
if (!surface->window)
{
meta_warning ("meta-wayland-surface: set_dbus_properties called with invalid window!\n");
return;
}
meta_window_set_gtk_dbus_properties (surface->window,
application_id,
unique_bus_name,
app_menu_path,
menubar_path,
application_object_path,
window_object_path);
}
static void
gtk_surface_set_modal (struct wl_client *client,
struct wl_resource *resource)
{
MetaWaylandGtkSurface *gtk_surface = wl_resource_get_user_data (resource);
MetaWaylandSurface *surface = gtk_surface->surface;
if (gtk_surface->is_modal)
return;
gtk_surface->is_modal = TRUE;
meta_window_set_type (surface->window, META_WINDOW_MODAL_DIALOG);
}
static void
gtk_surface_unset_modal (struct wl_client *client,
struct wl_resource *resource)
{
MetaWaylandGtkSurface *gtk_surface = wl_resource_get_user_data (resource);
MetaWaylandSurface *surface = gtk_surface->surface;
if (!gtk_surface->is_modal)
return;
gtk_surface->is_modal = FALSE;
meta_window_set_type (surface->window, META_WINDOW_NORMAL);
}
static void
gtk_surface_present (struct wl_client *client,
struct wl_resource *resource,
uint32_t timestamp)
{
MetaWaylandGtkSurface *gtk_surface = wl_resource_get_user_data (resource);
MetaWaylandSurface *surface = gtk_surface->surface;
MetaWindow *window = surface->window;
if (!window)
return;
meta_window_activate_full (window, timestamp,
META_CLIENT_TYPE_APPLICATION, NULL);
}
static const struct gtk_surface1_interface meta_wayland_gtk_surface_interface = {
gtk_surface_set_dbus_properties,
gtk_surface_set_modal,
gtk_surface_unset_modal,
gtk_surface_present,
};
static void
gtk_surface_surface_destroyed (MetaWaylandGtkSurface *gtk_surface)
{
wl_resource_set_implementation (gtk_surface->resource,
NULL, NULL, NULL);
gtk_surface->surface = NULL;
}
static void
fill_states (struct wl_array *states,
MetaWindow *window)
{
uint32_t *s;
if (window->tile_mode == META_TILE_LEFT ||
window->tile_mode == META_TILE_RIGHT)
{
s = wl_array_add (states, sizeof *s);
*s = GTK_SURFACE1_STATE_TILED;
}
}
static void
on_configure (MetaWaylandSurface *surface,
MetaWaylandGtkSurface *gtk_surface)
{
struct wl_array states;
wl_array_init (&states);
fill_states (&states, surface->window);
gtk_surface1_send_configure (gtk_surface->resource, &states);
wl_array_release (&states);
}
static void
gtk_shell_get_gtk_surface (struct wl_client *client,
struct wl_resource *resource,
guint32 id,
struct wl_resource *surface_resource)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
MetaWaylandGtkSurface *gtk_surface;
gtk_surface = g_object_get_qdata (G_OBJECT (surface), quark_gtk_surface_data);
if (gtk_surface)
{
wl_resource_post_error (surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
"gtk_shell::get_gtk_surface already requested");
return;
}
gtk_surface = g_new0 (MetaWaylandGtkSurface, 1);
gtk_surface->surface = surface;
gtk_surface->resource = wl_resource_create (client,
&gtk_surface1_interface,
wl_resource_get_version (resource),
id);
wl_resource_set_implementation (gtk_surface->resource,
&meta_wayland_gtk_surface_interface,
gtk_surface, gtk_surface_destructor);
gtk_surface->configure_handler_id = g_signal_connect (surface,
"configure",
G_CALLBACK (on_configure),
gtk_surface);
g_object_set_qdata_full (G_OBJECT (surface),
quark_gtk_surface_data,
gtk_surface,
(GDestroyNotify) gtk_surface_surface_destroyed);
}
static void
gtk_shell_set_startup_id (struct wl_client *client,
struct wl_resource *resource,
const char *startup_id)
{
MetaDisplay *display;
display = meta_get_display ();
meta_startup_notification_remove_sequence (display->startup_notification,
startup_id);
}
static void
gtk_shell_system_bell (struct wl_client *client,
struct wl_resource *resource,
struct wl_resource *gtk_surface_resource)
{
MetaDisplay *display = meta_get_display ();
if (gtk_surface_resource)
{
MetaWaylandGtkSurface *gtk_surface =
wl_resource_get_user_data (gtk_surface_resource);
MetaWaylandSurface *surface = gtk_surface->surface;
if (!surface->window)
return;
meta_bell_notify (display, surface->window);
}
else
{
meta_bell_notify (display, NULL);
}
}
static const struct gtk_shell1_interface meta_wayland_gtk_shell_interface = {
gtk_shell_get_gtk_surface,
gtk_shell_set_startup_id,
gtk_shell_system_bell,
};
static void
bind_gtk_shell (struct wl_client *client,
void *data,
guint32 version,
guint32 id)
{
struct wl_resource *resource;
uint32_t capabilities = 0;
resource = wl_resource_create (client, &gtk_shell1_interface, version, id);
wl_resource_set_implementation (resource, &meta_wayland_gtk_shell_interface,
data, NULL);
if (!meta_prefs_get_show_fallback_app_menu ())
capabilities = GTK_SHELL1_CAPABILITY_GLOBAL_APP_MENU;
gtk_shell1_send_capabilities (resource, capabilities);
}
void
meta_wayland_gtk_shell_init (MetaWaylandCompositor *compositor)
{
quark_gtk_surface_data =
g_quark_from_static_string ("-meta-wayland-gtk-shell-surface-data");
if (wl_global_create (compositor->wayland_display,
&gtk_shell1_interface,
META_GTK_SHELL1_VERSION,
compositor, bind_gtk_shell) == NULL)
g_error ("Failed to register a global gtk-shell object");
}

View File

@@ -1,27 +0,0 @@
/*
* Copyright (C) 2016 Red Hat, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*/
#ifndef META_WAYLAND_GTK_SHELL_H
#define META_WAYLAND_GTK_SHELL_H
#include "wayland/meta-wayland.h"
void meta_wayland_gtk_shell_init (MetaWaylandCompositor *compositor);
#endif /* META_WAYLAND_GTK_SHELL_H */

View File

@@ -65,19 +65,7 @@
#include "backends/native/meta-backend-native.h"
#endif
#define GSD_KEYBOARD_SCHEMA "org.gnome.settings-daemon.peripherals.keyboard"
typedef enum
{
GSD_KEYBOARD_NUM_LOCK_STATE_UNKNOWN,
GSD_KEYBOARD_NUM_LOCK_STATE_ON,
GSD_KEYBOARD_NUM_LOCK_STATE_OFF
} GsdKeyboardNumLockState;
G_DEFINE_TYPE (MetaWaylandKeyboard, meta_wayland_keyboard, G_TYPE_OBJECT);
static void meta_wayland_keyboard_update_xkb_state (MetaWaylandKeyboard *keyboard);
static void meta_wayland_keyboard_set_numlock (MetaWaylandKeyboard *keyboard,
gboolean numlock_state);
static void notify_modifiers (MetaWaylandKeyboard *keyboard);
static guint evdev_code (const ClutterKeyEvent *event);
@@ -354,7 +342,7 @@ meta_wayland_keyboard_broadcast_modifiers (MetaWaylandKeyboard *keyboard)
l = &keyboard->focus_resource_list;
if (!wl_list_empty (l))
{
uint32_t serial = wl_display_next_serial (keyboard->seat->wl_display);
uint32_t serial = wl_display_next_serial (keyboard->display);
wl_resource_for_each (resource, l)
keyboard_send_modifiers (keyboard, resource, serial);
@@ -371,107 +359,6 @@ notify_modifiers (MetaWaylandKeyboard *keyboard)
xkb_state_serialize_mods (state, XKB_STATE_MODS_EFFECTIVE));
}
static void
numlock_set_xkb_state (MetaWaylandKeyboard *keyboard,
GsdKeyboardNumLockState state)
{
MetaBackend *backend = meta_get_backend ();
gboolean numlock_state;
if (state != GSD_KEYBOARD_NUM_LOCK_STATE_ON &&
state != GSD_KEYBOARD_NUM_LOCK_STATE_OFF)
return;
numlock_state = (state == GSD_KEYBOARD_NUM_LOCK_STATE_ON);
meta_verbose ("set numlock state %s\n", (numlock_state ? "ON" : "OFF"));
meta_backend_set_numlock (backend, numlock_state);
meta_wayland_keyboard_set_numlock (keyboard, numlock_state);
}
static void
maybe_restore_numlock_state (MetaWaylandKeyboard *keyboard)
{
gboolean remember_numlock;
if (!keyboard->gsd_settings)
return;
/* We are cheating for now, we use g-s-d settings... */
remember_numlock = g_settings_get_boolean (keyboard->gsd_settings,
"remember-numlock-state");
if (remember_numlock)
{
GsdKeyboardNumLockState state;
state = g_settings_get_enum (keyboard->gsd_settings, "numlock-state");
numlock_set_xkb_state (keyboard, state);
}
}
static void
maybe_save_numlock_state (MetaWaylandKeyboard *keyboard)
{
MetaWaylandXkbInfo *xkb_info = &keyboard->xkb_info;
GsdKeyboardNumLockState numlock_state;
int numlock_active;
if (!META_IS_BACKEND_NATIVE (meta_get_backend ()))
return;
if (!xkb_info->state)
return;
if (!keyboard->gsd_settings)
return;
if (!g_settings_get_boolean (keyboard->gsd_settings, "remember-numlock-state"))
return;
numlock_active = xkb_state_mod_name_is_active(xkb_info->state,
"Mod2",
XKB_STATE_MODS_LOCKED);
switch (numlock_active)
{
case -1:
numlock_state = GSD_KEYBOARD_NUM_LOCK_STATE_UNKNOWN;
break;
case 0:
numlock_state = GSD_KEYBOARD_NUM_LOCK_STATE_OFF;
break;
default:
numlock_state = GSD_KEYBOARD_NUM_LOCK_STATE_ON;
break;
}
g_settings_set_enum (keyboard->gsd_settings, "numlock-state", numlock_state);
}
static void
meta_wayland_keyboard_set_numlock (MetaWaylandKeyboard *keyboard,
gboolean numlock_state)
{
MetaWaylandXkbInfo *xkb_info = &keyboard->xkb_info;
xkb_mod_mask_t latched, locked, group, depressed;
xkb_mod_mask_t numlock;
meta_verbose ("backend numlock state %s\n", (numlock_state ? "ON" : "OFF"));
latched = xkb_state_serialize_mods (xkb_info->state, XKB_STATE_MODS_LATCHED);
locked = xkb_state_serialize_mods (xkb_info->state, XKB_STATE_MODS_LOCKED);
group = xkb_state_serialize_layout (xkb_info->state, XKB_STATE_LAYOUT_EFFECTIVE);
depressed = xkb_state_serialize_mods(xkb_info->state, XKB_STATE_DEPRESSED);
numlock = (1 << xkb_keymap_mod_get_index(xkb_info->keymap, "Mod2"));
if (numlock_state == TRUE)
locked |= numlock;
else
locked &= ~numlock;
xkb_state_update_mask (xkb_info->state, depressed, latched, locked, 0, 0, group);
notify_modifiers (keyboard);
}
static void
meta_wayland_keyboard_update_xkb_state (MetaWaylandKeyboard *keyboard)
{
@@ -541,16 +428,6 @@ notify_key_repeat (MetaWaylandKeyboard *keyboard)
}
}
static void
remember_numlock_state_changed (GSettings *settings,
const char *key,
gpointer data)
{
MetaWaylandKeyboard *keyboard = data;
maybe_save_numlock_state (keyboard);
}
static void
settings_changed (GSettings *settings,
const char *key,
@@ -601,13 +478,14 @@ static const MetaWaylandKeyboardGrabInterface default_keyboard_grab_interface =
};
void
meta_wayland_keyboard_enable (MetaWaylandKeyboard *keyboard,
MetaWaylandSeat *seat)
meta_wayland_keyboard_init (MetaWaylandKeyboard *keyboard,
struct wl_display *display)
{
MetaBackend *backend = meta_get_backend ();
GSettingsSchema *schema;
keyboard->seat = seat;
memset (keyboard, 0, sizeof *keyboard);
keyboard->display = display;
wl_list_init (&keyboard->resource_list);
wl_list_init (&keyboard->focus_resource_list);
@@ -624,44 +502,27 @@ meta_wayland_keyboard_enable (MetaWaylandKeyboard *keyboard,
g_signal_connect (keyboard->settings, "changed",
G_CALLBACK (settings_changed), keyboard);
/* We are cheating for now, we use g-s-d settings... Check if available */
schema = g_settings_schema_source_lookup (g_settings_schema_source_get_default (),
GSD_KEYBOARD_SCHEMA,
TRUE);
if (schema)
{
keyboard->gsd_settings = g_settings_new_full (schema, NULL, NULL);
g_settings_schema_unref (schema);
g_signal_connect (keyboard->gsd_settings, "changed::remember-numlock-state",
G_CALLBACK (remember_numlock_state_changed), keyboard);
}
g_signal_connect (backend, "keymap-changed",
G_CALLBACK (on_keymap_changed), keyboard);
g_signal_connect (backend, "keymap-layout-group-changed",
G_CALLBACK (on_keymap_layout_group_changed), keyboard);
meta_wayland_keyboard_take_keymap (keyboard, meta_backend_get_keymap (backend));
maybe_restore_numlock_state (keyboard);
}
static void
meta_wayland_xkb_info_destroy (MetaWaylandXkbInfo *xkb_info)
{
g_clear_pointer (&xkb_info->keymap, xkb_keymap_unref);
g_clear_pointer (&xkb_info->state, xkb_state_unref);
xkb_keymap_unref (xkb_info->keymap);
xkb_state_unref (xkb_info->state);
if (xkb_info->keymap_area)
{
munmap (xkb_info->keymap_area, xkb_info->keymap_size);
xkb_info->keymap_area = NULL;
}
munmap (xkb_info->keymap_area, xkb_info->keymap_size);
if (xkb_info->keymap_fd >= 0)
close (xkb_info->keymap_fd);
}
void
meta_wayland_keyboard_disable (MetaWaylandKeyboard *keyboard)
meta_wayland_keyboard_release (MetaWaylandKeyboard *keyboard)
{
MetaBackend *backend = meta_get_backend ();
@@ -673,11 +534,9 @@ meta_wayland_keyboard_disable (MetaWaylandKeyboard *keyboard)
/* XXX: What about keyboard->resource_list? */
g_clear_object (&keyboard->settings);
if (keyboard->gsd_settings)
g_object_unref (keyboard->gsd_settings);
g_object_unref (keyboard->settings);
keyboard->seat = NULL;
keyboard->display = NULL;
}
static guint
@@ -731,8 +590,6 @@ meta_wayland_keyboard_handle_event (MetaWaylandKeyboard *keyboard,
if (keyboard->mods_changed != 0)
{
if (keyboard->mods_changed & XKB_STATE_MODS_LOCKED)
maybe_save_numlock_state (keyboard);
notify_modifiers (keyboard);
keyboard->mods_changed = 0;
}
@@ -825,7 +682,7 @@ void
meta_wayland_keyboard_set_focus (MetaWaylandKeyboard *keyboard,
MetaWaylandSurface *surface)
{
if (keyboard->seat == NULL)
if (keyboard->display == NULL)
return;
if (keyboard->focus_surface == surface)
@@ -952,13 +809,3 @@ meta_wayland_keyboard_end_grab (MetaWaylandKeyboard *keyboard)
{
keyboard->grab = &keyboard->default_grab;
}
static void
meta_wayland_keyboard_init (MetaWaylandKeyboard *keyboard)
{
}
static void
meta_wayland_keyboard_class_init (MetaWaylandKeyboardClass *klass)
{
}

View File

@@ -49,13 +49,6 @@
#include <wayland-server.h>
#include <xkbcommon/xkbcommon.h>
#include "wayland/meta-wayland-types.h"
#define META_TYPE_WAYLAND_KEYBOARD (meta_wayland_keyboard_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandKeyboard, meta_wayland_keyboard,
META, WAYLAND_KEYBOARD,
GObject);
struct _MetaWaylandKeyboardGrabInterface
{
gboolean (*key) (MetaWaylandKeyboardGrab *grab,
@@ -81,9 +74,7 @@ typedef struct
struct _MetaWaylandKeyboard
{
GObject parent;
MetaWaylandSeat *seat;
struct wl_display *display;
struct wl_list resource_list;
struct wl_list focus_resource_list;
@@ -100,13 +91,12 @@ struct _MetaWaylandKeyboard
MetaWaylandKeyboardGrab default_grab;
GSettings *settings;
GSettings *gsd_settings;
};
void meta_wayland_keyboard_enable (MetaWaylandKeyboard *keyboard,
MetaWaylandSeat *seat);
void meta_wayland_keyboard_init (MetaWaylandKeyboard *keyboard,
struct wl_display *display);
void meta_wayland_keyboard_disable (MetaWaylandKeyboard *keyboard);
void meta_wayland_keyboard_release (MetaWaylandKeyboard *keyboard);
void meta_wayland_keyboard_update (MetaWaylandKeyboard *keyboard,
const ClutterKeyEvent *event);

View File

@@ -34,7 +34,6 @@
#include "meta-wayland-pointer.h"
#include "meta-wayland-surface.h"
#include "meta-wayland-region.h"
#include "meta-xwayland.h"
#include "meta-pointer-lock-wayland.h"
#include "meta-pointer-confinement-wayland.h"
#include "window-private.h"
@@ -58,7 +57,6 @@ struct _MetaWaylandPointerConstraint
MetaWaylandPointerGrab grab;
MetaWaylandSeat *seat;
enum zwp_pointer_constraints_v1_lifetime lifetime;
gulong pointer_focus_surface_handler_id;
gboolean hint_set;
wl_fixed_t x_hint;
@@ -69,13 +67,8 @@ struct _MetaWaylandPointerConstraint
typedef struct _MetaWaylandSurfacePointerConstraintsData
{
MetaWaylandSurface *surface;
GList *pointer_constraints;
MetaWindow *window;
gulong window_associated_handler_id;
gulong appears_changed_handler_id;
gulong raised_handler_id;
} MetaWaylandSurfacePointerConstraintsData;
@@ -103,9 +96,6 @@ static const MetaWaylandPointerGrabInterface confined_pointer_grab_interface;
static void
meta_wayland_pointer_constraint_destroy (MetaWaylandPointerConstraint *constraint);
static void
meta_wayland_pointer_constraint_maybe_enable (MetaWaylandPointerConstraint *constraint);
static void
meta_wayland_pointer_constraint_maybe_enable_for_window (MetaWindow *window);
@@ -143,34 +133,6 @@ window_raised (MetaWindow *window)
meta_wayland_pointer_constraint_maybe_enable_for_window (window);
}
static void
connect_window (MetaWaylandSurfacePointerConstraintsData *data,
MetaWindow *window)
{
data->window = window;
g_object_add_weak_pointer (G_OBJECT (data->window),
(gpointer *) &data->window);
data->appears_changed_handler_id =
g_signal_connect (data->window, "notify::appears-focused",
G_CALLBACK (appears_focused_changed), NULL);
data->raised_handler_id =
g_signal_connect (data->window, "raised",
G_CALLBACK (window_raised), NULL);
}
static void
window_associated (MetaWaylandSurfaceRole *surface_role,
MetaWaylandSurfacePointerConstraintsData *data)
{
MetaWaylandSurface *surface = data->surface;
connect_window (data, surface->window);
g_signal_handler_disconnect (surface, data->window_associated_handler_id);
data->window_associated_handler_id = 0;
meta_wayland_pointer_constraint_maybe_enable_for_window (surface->window);
}
static MetaWaylandSurfacePointerConstraintsData *
surface_constraint_data_new (MetaWaylandSurface *surface)
{
@@ -178,18 +140,17 @@ surface_constraint_data_new (MetaWaylandSurface *surface)
data = g_new0 (MetaWaylandSurfacePointerConstraintsData, 1);
data->surface = surface;
if (surface->window)
{
connect_window (data, surface->window);
}
else if (meta_xwayland_is_xwayland_surface (surface))
{
data->window_associated_handler_id =
g_signal_connect (surface->role, "window-associated",
G_CALLBACK (window_associated),
data);
data->window = surface->window;
g_object_add_weak_pointer (G_OBJECT (data->window),
(gpointer *) &data->window);
data->appears_changed_handler_id =
g_signal_connect (data->window, "notify::appears-focused",
G_CALLBACK (appears_focused_changed), NULL);
data->raised_handler_id =
g_signal_connect (data->window, "raised",
G_CALLBACK (window_raised), NULL);
}
else
{
@@ -212,24 +173,12 @@ surface_constraint_data_free (MetaWaylandSurfacePointerConstraintsData *data)
g_object_remove_weak_pointer (G_OBJECT (data->window),
(gpointer *) &data->window);
}
else
{
g_signal_handler_disconnect (data->surface->role,
data->window_associated_handler_id);
}
g_list_free_full (data->pointer_constraints,
(GDestroyNotify) meta_wayland_pointer_constraint_destroy);
g_free (data);
}
static void
constrained_surface_destroyed (MetaWaylandSurface *surface,
MetaWaylandSurfacePointerConstraintsData *data)
{
surface_constraint_data_free (data);
}
static MetaWaylandSurfacePointerConstraintsData *
ensure_surface_constraints_data (MetaWaylandSurface *surface)
{
@@ -239,11 +188,10 @@ ensure_surface_constraints_data (MetaWaylandSurface *surface)
if (!data)
{
data = surface_constraint_data_new (surface);
g_object_set_qdata (G_OBJECT (surface),
quark_surface_pointer_constraints_data,
data);
g_signal_connect (surface, "destroy",
G_CALLBACK (constrained_surface_destroyed), data);
g_object_set_qdata_full (G_OBJECT (surface),
quark_surface_pointer_constraints_data,
data,
(GDestroyNotify) surface_constraint_data_free);
}
return data;
@@ -278,13 +226,6 @@ surface_remove_pointer_constraints (MetaWaylandSurface *surface,
}
}
static void
pointer_focus_surface_changed (MetaWaylandPointer *pointer,
MetaWaylandPointerConstraint *constraint)
{
meta_wayland_pointer_constraint_maybe_enable (constraint);
}
static MetaWaylandPointerConstraint *
meta_wayland_pointer_constraint_new (MetaWaylandSurface *surface,
MetaWaylandSeat *seat,
@@ -315,11 +256,6 @@ meta_wayland_pointer_constraint_new (MetaWaylandSurface *su
constraint->region = NULL;
}
constraint->pointer_focus_surface_handler_id =
g_signal_connect (seat->pointer, "focus-surface-changed",
G_CALLBACK (pointer_focus_surface_changed),
constraint);
return constraint;
}
@@ -393,7 +329,7 @@ meta_wayland_pointer_constraint_enable (MetaWaylandPointerConstraint *constraint
constraint->is_enabled = TRUE;
meta_wayland_pointer_constraint_notify_activated (constraint);
meta_wayland_pointer_start_grab (constraint->seat->pointer,
meta_wayland_pointer_start_grab (&constraint->seat->pointer,
&constraint->grab);
constraint->constraint =
@@ -449,48 +385,16 @@ meta_wayland_pointer_constraint_maybe_enable (MetaWaylandPointerConstraint *cons
if (constraint->is_enabled)
return;
if (constraint->seat->pointer->focus_surface != constraint->surface)
return;
if (!constraint->surface->window)
{
/*
* Locks from Xwayland may come before we have had the opportunity to
* associate the X11 Window with the wl_surface.
*/
g_warn_if_fail (meta_xwayland_is_xwayland_surface (constraint->surface));
g_warn_if_reached ();
return;
}
if (meta_xwayland_is_xwayland_surface (constraint->surface))
{
MetaDisplay *display = meta_get_display ();
if (!meta_window_appears_focused (constraint->surface->window))
return;
/*
* We need to handle Xwayland surfaces differently in order to allow
* Xwayland to be able to lock the pointer. For example, we cannot require
* the locked window to "appear focused" because the surface Xwayland
* locks might not be able to appear focused (for example it may be a
* override redirect window).
*
* Since we don't have any way to know what focused window an override
* redirect is associated with, nor have a way to know if the override
* redirect window even shares the same connection as a focused window,
* we simply can only really restrict it to enable the lock if any
* Xwayland window appears focused.
*/
if (display->focus_window &&
display->focus_window->client_type != META_WINDOW_CLIENT_TYPE_X11)
return;
}
else
{
if (!meta_window_appears_focused (constraint->surface->window))
return;
}
meta_wayland_pointer_get_relative_coordinates (constraint->seat->pointer,
meta_wayland_pointer_get_relative_coordinates (&constraint->seat->pointer,
constraint->surface,
&sx, &sy);
if (!is_within_constraint_region (constraint, sx, sy))
@@ -512,7 +416,7 @@ void
meta_wayland_pointer_constraint_maybe_remove_for_seat (MetaWaylandSeat *seat,
MetaWindow *window)
{
MetaWaylandPointer *pointer = seat->pointer;
MetaWaylandPointer *pointer = &seat->pointer;
MetaWaylandPointerConstraint *constraint;
if ((pointer->grab->interface != &confined_pointer_grab_interface &&
@@ -550,12 +454,6 @@ meta_wayland_pointer_constraint_maybe_enable_for_window (MetaWindow *window)
MetaWaylandSurfacePointerConstraintsData *surface_data;
GList *l;
if (!surface)
{
g_warn_if_fail (window->client_type == META_WINDOW_CLIENT_TYPE_X11);
return;
}
surface_data = get_surface_constraints_data (surface);
if (!surface_data)
return;
@@ -917,7 +815,6 @@ locked_pointer_grab_pointer_motion (MetaWaylandPointerGrab *grab,
const ClutterEvent *event)
{
meta_wayland_pointer_send_relative_motion (grab->pointer, event);
meta_wayland_pointer_broadcast_frame (grab->pointer);
}
static void
@@ -1069,18 +966,6 @@ bind_pointer_constraints (struct wl_client *client,
NULL);
}
static void
meta_wayland_pointer_constraint_finalize (GObject *object)
{
MetaWaylandPointerConstraint *constraint =
META_WAYLAND_POINTER_CONSTRAINT (object);
g_signal_handler_disconnect (constraint->seat->pointer,
constraint->pointer_focus_surface_handler_id);
G_OBJECT_CLASS (meta_wayland_pointer_constraint_parent_class)->finalize (object);
}
void
meta_wayland_pointer_constraints_init (MetaWaylandCompositor *compositor)
{
@@ -1098,11 +983,6 @@ meta_wayland_pointer_constraint_init (MetaWaylandPointerConstraint *constraint)
static void
meta_wayland_pointer_constraint_class_init (MetaWaylandPointerConstraintClass *klass)
{
GObjectClass *object_class;
object_class = G_OBJECT_CLASS (klass);
object_class->finalize = meta_wayland_pointer_constraint_finalize;
quark_pending_constraint_state =
g_quark_from_static_string ("-meta-wayland-pointer-constraint-pending_state");
quark_surface_pointer_constraints_data =

View File

@@ -27,7 +27,6 @@
#include "meta-wayland-pointer-gesture-pinch.h"
#include "meta-wayland-pointer.h"
#include "meta-wayland-seat.h"
#include "meta-wayland-surface.h"
#include "pointer-gestures-unstable-v1-server-protocol.h"
@@ -40,7 +39,7 @@ handle_pinch_begin (MetaWaylandPointer *pointer,
uint32_t serial;
pointer_client = pointer->focus_client;
serial = wl_display_next_serial (pointer->seat->wl_display);
serial = wl_display_next_serial (pointer->display);
wl_resource_for_each (resource, &pointer_client->pinch_gesture_resources)
{
@@ -85,7 +84,7 @@ handle_pinch_end (MetaWaylandPointer *pointer,
uint32_t serial;
pointer_client = pointer->focus_client;
serial = wl_display_next_serial (pointer->seat->wl_display);
serial = wl_display_next_serial (pointer->display);
if (event->touchpad_pinch.phase == CLUTTER_TOUCHPAD_GESTURE_PHASE_CANCEL)
cancelled = TRUE;

View File

@@ -27,7 +27,6 @@
#include "meta-wayland-pointer-gesture-swipe.h"
#include "meta-wayland-pointer.h"
#include "meta-wayland-seat.h"
#include "meta-wayland-surface.h"
#include "pointer-gestures-unstable-v1-server-protocol.h"
@@ -40,7 +39,7 @@ handle_swipe_begin (MetaWaylandPointer *pointer,
uint32_t serial, fingers;
pointer_client = pointer->focus_client;
serial = wl_display_next_serial (pointer->seat->wl_display);
serial = wl_display_next_serial (pointer->display);
fingers = clutter_event_get_gesture_swipe_finger_count (event);
wl_resource_for_each (resource, &pointer_client->swipe_gesture_resources)
@@ -82,7 +81,7 @@ handle_swipe_end (MetaWaylandPointer *pointer,
uint32_t serial;
pointer_client = pointer->focus_client;
serial = wl_display_next_serial (pointer->seat->wl_display);
serial = wl_display_next_serial (pointer->display);
if (event->touchpad_swipe.phase == CLUTTER_TOUCHPAD_GESTURE_PHASE_CANCEL)
cancelled = TRUE;

View File

@@ -52,7 +52,6 @@
#include "meta-wayland-pointer.h"
#include "meta-wayland-popup.h"
#include "meta-wayland-private.h"
#include "meta-wayland-seat.h"
#include "meta-wayland-surface.h"
#include "meta-wayland-buffer.h"
#include "meta-wayland-surface-role-cursor.h"
@@ -75,16 +74,6 @@
#define DEFAULT_AXIS_STEP_DISTANCE wl_fixed_from_int (10)
enum {
FOCUS_SURFACE_CHANGED,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL];
G_DEFINE_TYPE (MetaWaylandPointer, meta_wayland_pointer, G_TYPE_OBJECT);
static MetaWaylandPointerClient *
meta_wayland_pointer_client_new (void)
{
@@ -255,7 +244,7 @@ meta_wayland_pointer_send_frame (MetaWaylandPointer *pointer,
wl_pointer_send_frame (resource);
}
void
static void
meta_wayland_pointer_broadcast_frame (MetaWaylandPointer *pointer)
{
struct wl_resource *resource;
@@ -455,13 +444,15 @@ meta_wayland_pointer_on_cursor_changed (MetaCursorTracker *cursor_tracker,
}
void
meta_wayland_pointer_enable (MetaWaylandPointer *pointer,
MetaWaylandSeat *seat)
meta_wayland_pointer_init (MetaWaylandPointer *pointer,
struct wl_display *display)
{
MetaCursorTracker *cursor_tracker = meta_cursor_tracker_get_for_screen (NULL);
ClutterDeviceManager *manager;
pointer->seat = seat;
memset (pointer, 0, sizeof *pointer);
pointer->display = display;
pointer->pointer_clients =
g_hash_table_new_full (NULL, NULL, NULL,
@@ -485,7 +476,7 @@ meta_wayland_pointer_enable (MetaWaylandPointer *pointer,
}
void
meta_wayland_pointer_disable (MetaWaylandPointer *pointer)
meta_wayland_pointer_release (MetaWaylandPointer *pointer)
{
MetaCursorTracker *cursor_tracker = meta_cursor_tracker_get_for_screen (NULL);
@@ -502,7 +493,7 @@ meta_wayland_pointer_disable (MetaWaylandPointer *pointer)
meta_wayland_pointer_set_focus (pointer, NULL);
g_clear_pointer (&pointer->pointer_clients, g_hash_table_unref);
pointer->seat = NULL;
pointer->display = NULL;
pointer->cursor_surface = NULL;
}
@@ -588,7 +579,7 @@ handle_button_event (MetaWaylandPointer *pointer,
pointer->grab->interface->button (pointer->grab, event);
if (implicit_grab)
pointer->grab_serial = wl_display_get_serial (pointer->seat->wl_display);
pointer->grab_serial = wl_display_get_serial (pointer->display);
}
static void
@@ -795,7 +786,7 @@ void
meta_wayland_pointer_set_focus (MetaWaylandPointer *pointer,
MetaWaylandSurface *surface)
{
if (pointer->seat == NULL)
if (pointer->display == NULL)
return;
if (pointer->focus_surface == surface)
@@ -851,8 +842,6 @@ meta_wayland_pointer_set_focus (MetaWaylandPointer *pointer,
}
meta_wayland_pointer_update_cursor_surface (pointer);
g_signal_emit (pointer, signals[FOCUS_SURFACE_CHANGED], 0);
}
void
@@ -1016,8 +1005,7 @@ pointer_set_cursor (struct wl_client *client,
if (surface &&
!meta_wayland_surface_assign_role (surface,
META_TYPE_WAYLAND_SURFACE_ROLE_CURSOR,
NULL))
META_TYPE_WAYLAND_SURFACE_ROLE_CURSOR))
{
wl_resource_post_error (resource, WL_POINTER_ERROR_ROLE,
"wl_surface@%d already has a different role",
@@ -1205,21 +1193,6 @@ meta_wayland_relative_pointer_init (MetaWaylandCompositor *compositor)
MetaWaylandSeat *
meta_wayland_pointer_get_seat (MetaWaylandPointer *pointer)
{
return pointer->seat;
}
static void
meta_wayland_pointer_init (MetaWaylandPointer *pointer)
{
}
static void
meta_wayland_pointer_class_init (MetaWaylandPointerClass *klass)
{
signals[FOCUS_SURFACE_CHANGED] = g_signal_new ("focus-surface-changed",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL, NULL,
G_TYPE_NONE, 0);
MetaWaylandSeat *seat = wl_container_of (pointer, seat, pointer);
return seat;
}

View File

@@ -32,10 +32,6 @@
#include <meta/meta-cursor-tracker.h>
#define META_TYPE_WAYLAND_POINTER (meta_wayland_pointer_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandPointer, meta_wayland_pointer,
META, WAYLAND_POINTER, GObject);
struct _MetaWaylandPointerGrabInterface
{
void (*focus) (MetaWaylandPointerGrab *grab,
@@ -62,9 +58,7 @@ struct _MetaWaylandPointerClient
struct _MetaWaylandPointer
{
GObject parent;
MetaWaylandSeat *seat;
struct wl_display *display;
MetaWaylandPointerClient *focus_client;
GHashTable *pointer_clients;
@@ -90,10 +84,10 @@ struct _MetaWaylandPointer
guint32 button_count;
};
void meta_wayland_pointer_enable (MetaWaylandPointer *pointer,
MetaWaylandSeat *seat);
void meta_wayland_pointer_init (MetaWaylandPointer *pointer,
struct wl_display *display);
void meta_wayland_pointer_disable (MetaWaylandPointer *pointer);
void meta_wayland_pointer_release (MetaWaylandPointer *pointer);
void meta_wayland_pointer_update (MetaWaylandPointer *pointer,
const ClutterEvent *event);
@@ -110,8 +104,6 @@ void meta_wayland_pointer_send_relative_motion (MetaWaylandPointer *pointer,
void meta_wayland_pointer_send_button (MetaWaylandPointer *pointer,
const ClutterEvent *event);
void meta_wayland_pointer_broadcast_frame (MetaWaylandPointer *pointer);
void meta_wayland_pointer_set_focus (MetaWaylandPointer *pointer,
MetaWaylandSurface *surface);

View File

@@ -242,20 +242,7 @@ meta_wayland_popup_dismiss (MetaWaylandPopup *popup)
meta_wayland_popup_destroy (popup);
if (wl_list_empty (&popup_grab->all_popups))
{
meta_wayland_pointer_end_popup_grab (popup_grab->generic.pointer);
}
else
{
MetaWaylandSurface *top_popup_surface;
MetaWaylandSeat *seat;
MetaWaylandKeyboard *keyboard;
top_popup_surface = meta_wayland_popup_grab_get_top_popup (popup_grab);
seat = meta_wayland_pointer_get_seat (popup_grab->generic.pointer);
keyboard = seat->keyboard;
meta_wayland_keyboard_set_focus (keyboard, top_popup_surface);
}
meta_wayland_pointer_end_popup_grab (popup_grab->generic.pointer);
}
MetaWaylandSurface *
@@ -271,8 +258,6 @@ meta_wayland_popup_create (MetaWaylandPopupSurface *popup_surface,
MetaWaylandSurface *surface =
meta_wayland_popup_surface_get_surface (popup_surface);
MetaWaylandPopup *popup;
MetaWaylandSeat *seat;
MetaWaylandKeyboard *keyboard;
/* Don't allow creating popups if the grab has a different client. */
if (grab->grab_client != wl_resource_get_client (surface->resource))
@@ -284,9 +269,5 @@ meta_wayland_popup_create (MetaWaylandPopupSurface *popup_surface,
wl_list_insert (&grab->all_popups, &popup->link);
seat = meta_wayland_pointer_get_seat (grab->generic.pointer);
keyboard = seat->keyboard;
meta_wayland_keyboard_set_focus (keyboard, surface);
return popup;
}

View File

@@ -43,7 +43,7 @@ seat_get_pointer (struct wl_client *client,
uint32_t id)
{
MetaWaylandSeat *seat = wl_resource_get_user_data (resource);
MetaWaylandPointer *pointer = seat->pointer;
MetaWaylandPointer *pointer = &seat->pointer;
if ((seat->capabilities & WL_SEAT_CAPABILITY_POINTER) != 0)
meta_wayland_pointer_create_new_resource (pointer, client, resource, id);
@@ -55,7 +55,7 @@ seat_get_keyboard (struct wl_client *client,
uint32_t id)
{
MetaWaylandSeat *seat = wl_resource_get_user_data (resource);
MetaWaylandKeyboard *keyboard = seat->keyboard;
MetaWaylandKeyboard *keyboard = &seat->keyboard;
if ((seat->capabilities & WL_SEAT_CAPABILITY_KEYBOARD) != 0)
meta_wayland_keyboard_create_new_resource (keyboard, client, resource, id);
@@ -67,7 +67,7 @@ seat_get_touch (struct wl_client *client,
uint32_t id)
{
MetaWaylandSeat *seat = wl_resource_get_user_data (resource);
MetaWaylandTouch *touch = seat->touch;
MetaWaylandTouch *touch = &seat->touch;
if ((seat->capabilities & WL_SEAT_CAPABILITY_TOUCH) != 0)
meta_wayland_touch_create_new_resource (touch, client, resource, id);
@@ -157,15 +157,15 @@ meta_wayland_seat_set_capabilities (MetaWaylandSeat *seat,
seat->capabilities = flags;
if (CAPABILITY_ENABLED (prev_flags, flags, WL_SEAT_CAPABILITY_POINTER))
meta_wayland_pointer_enable (seat->pointer, seat);
meta_wayland_pointer_init (&seat->pointer, seat->wl_display);
else if (CAPABILITY_DISABLED (prev_flags, flags, WL_SEAT_CAPABILITY_POINTER))
meta_wayland_pointer_disable (seat->pointer);
meta_wayland_pointer_release (&seat->pointer);
if (CAPABILITY_ENABLED (prev_flags, flags, WL_SEAT_CAPABILITY_KEYBOARD))
{
MetaDisplay *display;
meta_wayland_keyboard_enable (seat->keyboard, seat);
meta_wayland_keyboard_init (&seat->keyboard, seat->wl_display);
display = meta_get_display ();
/* Post-initialization, ensure the input focus is in sync */
@@ -173,12 +173,12 @@ meta_wayland_seat_set_capabilities (MetaWaylandSeat *seat,
meta_display_sync_wayland_input_focus (display);
}
else if (CAPABILITY_DISABLED (prev_flags, flags, WL_SEAT_CAPABILITY_KEYBOARD))
meta_wayland_keyboard_disable (seat->keyboard);
meta_wayland_keyboard_release (&seat->keyboard);
if (CAPABILITY_ENABLED (prev_flags, flags, WL_SEAT_CAPABILITY_TOUCH))
meta_wayland_touch_enable (seat->touch, seat);
meta_wayland_touch_init (&seat->touch, seat->wl_display);
else if (CAPABILITY_DISABLED (prev_flags, flags, WL_SEAT_CAPABILITY_TOUCH))
meta_wayland_touch_disable (seat->touch);
meta_wayland_touch_release (&seat->touch);
/* Broadcast capability changes */
wl_resource_for_each (resource, &seat->base_resource_list)
@@ -215,10 +215,6 @@ meta_wayland_seat_new (MetaWaylandCompositor *compositor,
wl_list_init (&seat->base_resource_list);
seat->wl_display = display;
seat->pointer = g_object_new (META_TYPE_WAYLAND_POINTER, NULL);
seat->keyboard = g_object_new (META_TYPE_WAYLAND_KEYBOARD, NULL);
seat->touch = g_object_new (META_TYPE_WAYLAND_TOUCH, NULL);
meta_wayland_data_device_init (&seat->data_device);
device_manager = clutter_device_manager_get_default ();
@@ -251,10 +247,6 @@ meta_wayland_seat_free (MetaWaylandSeat *seat)
g_signal_handlers_disconnect_by_data (device_manager, seat);
meta_wayland_seat_set_capabilities (seat, 0);
g_object_unref (seat->pointer);
g_object_unref (seat->keyboard);
g_object_unref (seat->touch);
g_slice_free (MetaWaylandSeat, seat);
}
@@ -313,21 +305,18 @@ meta_wayland_seat_update (MetaWaylandSeat *seat,
case CLUTTER_BUTTON_PRESS:
case CLUTTER_BUTTON_RELEASE:
case CLUTTER_SCROLL:
if (seat->capabilities & WL_SEAT_CAPABILITY_POINTER)
meta_wayland_pointer_update (seat->pointer, event);
meta_wayland_pointer_update (&seat->pointer, event);
break;
case CLUTTER_KEY_PRESS:
case CLUTTER_KEY_RELEASE:
if (seat->capabilities & WL_SEAT_CAPABILITY_KEYBOARD)
meta_wayland_keyboard_update (seat->keyboard, (const ClutterKeyEvent *) event);
meta_wayland_keyboard_update (&seat->keyboard, (const ClutterKeyEvent *) event);
break;
case CLUTTER_TOUCH_BEGIN:
case CLUTTER_TOUCH_UPDATE:
case CLUTTER_TOUCH_END:
if (seat->capabilities & WL_SEAT_CAPABILITY_TOUCH)
meta_wayland_touch_update (seat->touch, event);
meta_wayland_touch_update (&seat->touch, event);
break;
default:
@@ -350,19 +339,16 @@ meta_wayland_seat_handle_event (MetaWaylandSeat *seat,
case CLUTTER_SCROLL:
case CLUTTER_TOUCHPAD_SWIPE:
case CLUTTER_TOUCHPAD_PINCH:
if (seat->capabilities & WL_SEAT_CAPABILITY_POINTER)
return meta_wayland_pointer_handle_event (seat->pointer, event);
return meta_wayland_pointer_handle_event (&seat->pointer, event);
case CLUTTER_KEY_PRESS:
case CLUTTER_KEY_RELEASE:
if (seat->capabilities & WL_SEAT_CAPABILITY_KEYBOARD)
return meta_wayland_keyboard_handle_event (seat->keyboard,
(const ClutterKeyEvent *) event);
return meta_wayland_keyboard_handle_event (&seat->keyboard,
(const ClutterKeyEvent *) event);
case CLUTTER_TOUCH_BEGIN:
case CLUTTER_TOUCH_UPDATE:
case CLUTTER_TOUCH_END:
if (seat->capabilities & WL_SEAT_CAPABILITY_TOUCH)
return meta_wayland_touch_handle_event (seat->touch, event);
return meta_wayland_touch_handle_event (&seat->touch, event);
default:
break;
@@ -377,7 +363,7 @@ meta_wayland_seat_repick (MetaWaylandSeat *seat)
if ((seat->capabilities & WL_SEAT_CAPABILITY_POINTER) == 0)
return;
meta_wayland_pointer_repick (seat->pointer);
meta_wayland_pointer_repick (&seat->pointer);
}
void
@@ -389,7 +375,7 @@ meta_wayland_seat_set_input_focus (MetaWaylandSeat *seat,
if ((seat->capabilities & WL_SEAT_CAPABILITY_KEYBOARD) != 0)
{
meta_wayland_keyboard_set_focus (seat->keyboard, surface);
meta_wayland_keyboard_set_focus (&seat->keyboard, surface);
meta_wayland_data_device_set_keyboard_focus (&seat->data_device);
}
@@ -409,28 +395,24 @@ meta_wayland_seat_get_grab_info (MetaWaylandSeat *seat,
gboolean can_grab_surface = FALSE;
if ((seat->capabilities & WL_SEAT_CAPABILITY_TOUCH) != 0)
sequence = meta_wayland_touch_find_grab_sequence (seat->touch,
surface,
serial);
sequence = meta_wayland_touch_find_grab_sequence (&seat->touch, surface, serial);
if (sequence)
{
meta_wayland_touch_get_press_coords (seat->touch, sequence, x, y);
meta_wayland_touch_get_press_coords (&seat->touch, sequence, x, y);
}
else
{
if ((seat->capabilities & WL_SEAT_CAPABILITY_POINTER) != 0 &&
(!require_pressed || seat->pointer->button_count > 0))
can_grab_surface = meta_wayland_pointer_can_grab_surface (seat->pointer,
surface,
serial);
(!require_pressed || seat->pointer.button_count > 0))
can_grab_surface = meta_wayland_pointer_can_grab_surface (&seat->pointer, surface, serial);
if (can_grab_surface)
{
if (x)
*x = seat->pointer->grab_x;
*x = seat->pointer.grab_x;
if (y)
*y = seat->pointer->grab_y;
*y = seat->pointer.grab_y;
}
}
@@ -441,7 +423,7 @@ gboolean
meta_wayland_seat_can_popup (MetaWaylandSeat *seat,
uint32_t serial)
{
return (meta_wayland_pointer_can_popup (seat->pointer, serial) ||
meta_wayland_keyboard_can_popup (seat->keyboard, serial) ||
meta_wayland_touch_can_popup (seat->touch, serial));
return (meta_wayland_pointer_can_popup (&seat->pointer, serial) ||
meta_wayland_keyboard_can_popup (&seat->keyboard, serial) ||
meta_wayland_touch_can_popup (&seat->touch, serial));
}

View File

@@ -36,10 +36,9 @@ struct _MetaWaylandSeat
struct wl_list base_resource_list;
struct wl_display *wl_display;
MetaWaylandPointer *pointer;
MetaWaylandKeyboard *keyboard;
MetaWaylandTouch *touch;
MetaWaylandPointer pointer;
MetaWaylandKeyboard keyboard;
MetaWaylandTouch touch;
MetaWaylandDataDevice data_device;
guint capabilities;

View File

@@ -27,7 +27,6 @@
#include "meta-wayland-buffer.h"
#include "meta-xwayland.h"
#include "screen-private.h"
#include "meta-wayland-private.h"
typedef struct _MetaWaylandSurfaceRoleCursorPrivate MetaWaylandSurfaceRoleCursorPrivate;
@@ -38,8 +37,6 @@ struct _MetaWaylandSurfaceRoleCursorPrivate
MetaCursorSprite *cursor_sprite;
MetaCursorRenderer *cursor_renderer;
MetaWaylandBuffer *buffer;
struct wl_list frame_callbacks;
gulong cursor_painted_handler_id;
};
G_DEFINE_TYPE_WITH_PRIVATE (MetaWaylandSurfaceRoleCursor,
@@ -113,16 +110,21 @@ cursor_sprite_prepare_at (MetaCursorSprite *cursor_sprite,
static void
cursor_surface_role_assigned (MetaWaylandSurfaceRole *surface_role)
{
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role);
MetaWaylandSurfaceRoleCursor *cursor_role =
META_WAYLAND_SURFACE_ROLE_CURSOR (surface_role);
MetaWaylandSurfaceRoleCursorPrivate *priv =
meta_wayland_surface_role_cursor_get_instance_private (cursor_role);
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role);
MetaWaylandBuffer *buffer = meta_wayland_surface_get_buffer (surface);
wl_list_insert_list (&priv->frame_callbacks,
&surface->pending_frame_callback_list);
wl_list_init (&surface->pending_frame_callback_list);
if (buffer)
{
g_set_object (&priv->buffer, buffer);
meta_wayland_surface_ref_buffer_use_count (surface);
}
meta_wayland_surface_queue_pending_frame_callbacks (surface);
}
static void
@@ -162,9 +164,7 @@ cursor_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
meta_wayland_surface_ref_buffer_use_count (surface);
}
wl_list_insert_list (&priv->frame_callbacks,
&pending->frame_callback_list);
wl_list_init (&pending->frame_callback_list);
meta_wayland_surface_queue_pending_state_frame_callbacks (surface, pending);
if (pending->newly_attached)
update_cursor_sprite_texture (META_WAYLAND_SURFACE_ROLE_CURSOR (surface_role));
@@ -196,10 +196,6 @@ cursor_surface_role_dispose (GObject *object)
meta_wayland_surface_role_cursor_get_instance_private (cursor_role);
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (META_WAYLAND_SURFACE_ROLE (object));
MetaWaylandFrameCallback *cb, *next;
wl_list_for_each_safe (cb, next, &priv->frame_callbacks, link)
wl_resource_destroy (cb->resource);
g_signal_handlers_disconnect_by_func (priv->cursor_sprite,
cursor_sprite_prepare_at, cursor_role);
@@ -216,30 +212,6 @@ cursor_surface_role_dispose (GObject *object)
G_OBJECT_CLASS (meta_wayland_surface_role_cursor_parent_class)->dispose (object);
}
static void
cursor_surface_role_constructed (GObject *object)
{
MetaWaylandSurfaceRoleCursor *cursor_role =
META_WAYLAND_SURFACE_ROLE_CURSOR (object);
MetaWaylandSurfaceRoleCursorPrivate *priv =
meta_wayland_surface_role_cursor_get_instance_private (cursor_role);
MetaWaylandSurfaceRole *surface_role =
META_WAYLAND_SURFACE_ROLE (cursor_role);
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role);
MetaWaylandBuffer *buffer;
buffer = meta_wayland_surface_get_buffer (surface);
g_warn_if_fail (!buffer || buffer->resource);
if (buffer && buffer->resource)
{
g_set_object (&priv->buffer, buffer);
meta_wayland_surface_ref_buffer_use_count (surface);
}
}
static void
meta_wayland_surface_role_cursor_init (MetaWaylandSurfaceRoleCursor *role)
{
@@ -252,7 +224,6 @@ meta_wayland_surface_role_cursor_init (MetaWaylandSurfaceRoleCursor *role)
G_CALLBACK (cursor_sprite_prepare_at),
role,
0);
wl_list_init (&priv->frame_callbacks);
}
static void
@@ -267,7 +238,6 @@ meta_wayland_surface_role_cursor_class_init (MetaWaylandSurfaceRoleCursorClass *
surface_role_class->commit = cursor_surface_role_commit;
surface_role_class->is_on_output = cursor_surface_role_is_on_output;
object_class->constructed = cursor_surface_role_constructed;
object_class->dispose = cursor_surface_role_dispose;
}
@@ -311,28 +281,6 @@ meta_wayland_surface_role_cursor_get_hotspot (MetaWaylandSurfaceRoleCursor *curs
*hotspot_y = priv->hot_y;
}
static void
on_cursor_painted (MetaCursorRenderer *renderer,
MetaCursorSprite *displayed_sprite,
MetaWaylandSurfaceRoleCursor *cursor_role)
{
MetaWaylandSurfaceRoleCursorPrivate *priv =
meta_wayland_surface_role_cursor_get_instance_private (cursor_role);
guint32 time = (guint32) (g_get_monotonic_time () / 1000);
if (displayed_sprite != priv->cursor_sprite)
return;
while (!wl_list_empty (&priv->frame_callbacks))
{
MetaWaylandFrameCallback *callback =
wl_container_of (priv->frame_callbacks.next, callback, link);
wl_callback_send_done (callback->resource, time);
wl_resource_destroy (callback->resource);
}
}
void
meta_wayland_surface_role_cursor_set_renderer (MetaWaylandSurfaceRoleCursor *cursor_role,
MetaCursorRenderer *renderer)
@@ -343,20 +291,10 @@ meta_wayland_surface_role_cursor_set_renderer (MetaWaylandSurfaceRoleCursor *cur
if (priv->cursor_renderer == renderer)
return;
if (priv->cursor_renderer)
{
g_signal_handler_disconnect (priv->cursor_renderer,
priv->cursor_painted_handler_id);
priv->cursor_painted_handler_id = 0;
g_object_unref (priv->cursor_renderer);
}
if (renderer)
{
priv->cursor_painted_handler_id =
g_signal_connect_object (renderer, "cursor-painted",
G_CALLBACK (on_cursor_painted), cursor_role, 0);
g_object_ref (renderer);
}
g_object_ref (renderer);
if (priv->cursor_renderer)
g_object_unref (priv->cursor_renderer);
priv->cursor_renderer = renderer;
update_cursor_sprite_texture (cursor_role);

View File

@@ -29,8 +29,8 @@
#include <clutter/wayland/clutter-wayland-surface.h>
#include <cogl/cogl-wayland-server.h>
#include <gobject/gvaluecollector.h>
#include <wayland-server.h>
#include "gtk-shell-server-protocol.h"
#include "meta-wayland-private.h"
#include "meta-xwayland-private.h"
@@ -43,12 +43,12 @@
#include "meta-wayland-outputs.h"
#include "meta-wayland-xdg-shell.h"
#include "meta-wayland-wl-shell.h"
#include "meta-wayland-gtk-shell.h"
#include "meta-cursor-tracker-private.h"
#include "display-private.h"
#include "window-private.h"
#include "meta-window-wayland.h"
#include "bell.h"
#include "compositor/region-utils.h"
@@ -62,13 +62,6 @@ enum {
PENDING_STATE_SIGNAL_LAST_SIGNAL
};
enum
{
SURFACE_ROLE_PROP_0,
SURFACE_ROLE_PROP_SURFACE,
};
static guint pending_state_signals[PENDING_STATE_SIGNAL_LAST_SIGNAL];
typedef struct _MetaWaylandSurfaceRolePrivate
@@ -109,7 +102,7 @@ G_DEFINE_TYPE (MetaWaylandPendingState,
struct _MetaWaylandSurfaceRoleSubsurface
{
MetaWaylandSurfaceRoleActorSurface parent;
MetaWaylandSurfaceRole parent;
};
G_DEFINE_TYPE (MetaWaylandSurfaceRoleSubsurface,
@@ -128,7 +121,6 @@ G_DEFINE_TYPE (MetaWaylandSurfaceRoleDND,
enum {
SURFACE_DESTROY,
SURFACE_UNMAPPED,
SURFACE_CONFIGURE,
N_SURFACE_SIGNALS
};
@@ -154,8 +146,6 @@ meta_wayland_surface_role_get_toplevel (MetaWaylandSurfaceRole *surface_role);
static void
meta_wayland_surface_role_shell_surface_configure (MetaWaylandSurfaceRoleShellSurface *shell_surface_role,
int new_x,
int new_y,
int new_width,
int new_height,
MetaWaylandSerial *sent_serial);
@@ -171,92 +161,18 @@ static void
meta_wayland_surface_role_shell_surface_managed (MetaWaylandSurfaceRoleShellSurface *shell_surface_role,
MetaWindow *window);
static void
unset_param_value (GParameter *param)
{
g_value_unset (&param->value);
}
static GArray *
role_assignment_valist_to_params (GType role_type,
const char *first_property_name,
va_list var_args)
{
GObjectClass *object_class;
const char *property_name = first_property_name;
GArray *params;
object_class = g_type_class_ref (role_type);
params = g_array_new (FALSE, FALSE, sizeof (GParameter));
g_array_set_clear_func (params, (GDestroyNotify) unset_param_value);
while (property_name)
{
GParameter param = {
.name = property_name,
.value = G_VALUE_INIT
};
GParamSpec *pspec;
GType ptype;
gchar *error = NULL;
pspec = g_object_class_find_property (object_class,
property_name);
g_assert (pspec);
ptype = G_PARAM_SPEC_VALUE_TYPE (pspec);
G_VALUE_COLLECT_INIT (&param.value, ptype, var_args, 0, &error);
g_assert (!error);
g_array_append_val (params, param);
property_name = va_arg (var_args, const char *);
}
g_type_class_unref (object_class);
return params;
}
gboolean
meta_wayland_surface_assign_role (MetaWaylandSurface *surface,
GType role_type,
const char *first_property_name,
...)
GType role_type)
{
va_list var_args;
if (!surface->role)
{
if (first_property_name)
{
GArray *params;
GParameter param;
MetaWaylandSurfaceRolePrivate *role_priv;
va_start (var_args, first_property_name);
params = role_assignment_valist_to_params (role_type,
first_property_name,
var_args);
va_end (var_args);
param = (GParameter) {
.name = "surface",
.value = G_VALUE_INIT
};
g_value_init (&param.value, META_TYPE_WAYLAND_SURFACE);
g_value_set_object (&param.value, surface);
g_array_append_val (params, param);
surface->role = g_object_newv (role_type, params->len,
(GParameter *) params->data);
g_array_unref (params);
}
else
{
surface->role = g_object_new (role_type, "surface", surface, NULL);
}
surface->role = g_object_new (role_type, NULL);
role_priv =
meta_wayland_surface_role_get_instance_private (surface->role);
role_priv->surface = surface;
meta_wayland_surface_role_assigned (surface->role);
@@ -275,13 +191,6 @@ meta_wayland_surface_assign_role (MetaWaylandSurface *surface,
}
else
{
va_start (var_args, first_property_name);
g_object_set_valist (G_OBJECT (surface->role),
first_property_name, var_args);
va_end (var_args);
meta_wayland_surface_role_assigned (surface->role);
return TRUE;
}
}
@@ -453,6 +362,22 @@ queue_surface_actor_frame_callbacks (MetaWaylandSurface *surface,
wl_list_init (&pending->frame_callback_list);
}
void
meta_wayland_surface_apply_window_state (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending)
{
MetaSurfaceActorWayland *actor =
META_SURFACE_ACTOR_WAYLAND (surface->surface_actor);
MetaWindow *window = surface->window;
MetaWaylandBuffer *buffer = surface->buffer_ref.buffer;
CoglTexture *texture = buffer->texture;
double scale;
scale = meta_surface_actor_wayland_get_scale (actor);
window->buffer_rect.width = cogl_texture_get_width (texture) * scale;
window->buffer_rect.height = cogl_texture_get_height (texture) * scale;
}
static void
pending_buffer_resource_destroyed (MetaWaylandBuffer *buffer,
MetaWaylandPendingState *pending)
@@ -479,8 +404,6 @@ pending_state_init (MetaWaylandPendingState *state)
wl_list_init (&state->frame_callback_list);
state->has_new_geometry = FALSE;
state->has_new_min_size = FALSE;
state->has_new_max_size = FALSE;
}
static void
@@ -525,12 +448,6 @@ move_pending_state (MetaWaylandPendingState *from,
to->opaque_region_set = from->opaque_region_set;
to->new_geometry = from->new_geometry;
to->has_new_geometry = from->has_new_geometry;
to->has_new_min_size = from->has_new_min_size;
to->new_min_width = from->new_min_width;
to->new_min_height = from->new_min_height;
to->has_new_max_size = from->has_new_max_size;
to->new_max_width = from->new_max_width;
to->new_max_height = from->new_max_height;
wl_list_init (&to->frame_callback_list);
wl_list_insert_list (&to->frame_callback_list, &from->frame_callback_list);
@@ -582,15 +499,12 @@ static void
subsurface_role_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
{
MetaWaylandSurfaceRoleClass *surface_role_class;
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role);
MetaSurfaceActorWayland *surface_actor =
META_SURFACE_ACTOR_WAYLAND (surface->surface_actor);
surface_role_class =
META_WAYLAND_SURFACE_ROLE_CLASS (meta_wayland_surface_role_subsurface_parent_class);
surface_role_class->commit (surface_role, pending);
queue_surface_actor_frame_callbacks (surface, pending);
if (surface->buffer_ref.buffer != NULL)
clutter_actor_show (CLUTTER_ACTOR (surface_actor));
@@ -605,10 +519,7 @@ subsurface_role_get_toplevel (MetaWaylandSurfaceRole *surface_role)
meta_wayland_surface_role_get_surface (surface_role);
MetaWaylandSurface *parent = surface->sub.parent;
if (parent->role)
return meta_wayland_surface_role_get_toplevel (parent->role);
else
return NULL;
return meta_wayland_surface_role_get_toplevel (parent->role);
}
/* A non-subsurface is always desynchronized.
@@ -743,14 +654,6 @@ apply_pending_state (MetaWaylandSurface *surface,
CoglTexture *texture;
texture = meta_wayland_buffer_ensure_texture (pending->buffer);
if (!texture)
{
wl_resource_post_error (surface->resource, WL_DISPLAY_ERROR_NO_MEMORY,
"Failed to create a texture for surface %i",
wl_resource_get_id (surface->resource));
goto cleanup;
}
meta_surface_actor_wayland_set_texture (surface_actor_wayland,
texture);
}
@@ -820,7 +723,6 @@ apply_pending_state (MetaWaylandSurface *surface,
}
}
cleanup:
/* If we have a buffer that we are not using, decrease the use count so it may
* be released if no-one else has a use-reference to it.
*/
@@ -1216,8 +1118,6 @@ wl_surface_destructor (struct wl_resource *resource)
MetaWaylandCompositor *compositor = surface->compositor;
MetaWaylandFrameCallback *cb, *next;
g_signal_emit (surface, surface_signals[SURFACE_DESTROY], 0);
g_clear_object (&surface->role);
/* If we still have a window at the time of destruction, that means that
@@ -1258,6 +1158,8 @@ wl_surface_destructor (struct wl_resource *resource)
if (surface->wl_subsurface)
wl_resource_destroy (surface->wl_subsurface);
if (surface->gtk_surface)
wl_resource_destroy (surface->gtk_surface);
g_object_unref (surface);
@@ -1329,6 +1231,172 @@ meta_wayland_surface_begin_grab_op (MetaWaylandSurface *surface,
x, y);
}
static void
gtk_surface_destructor (struct wl_resource *resource)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
surface->gtk_surface = NULL;
}
static void
gtk_surface_set_dbus_properties (struct wl_client *client,
struct wl_resource *resource,
const char *application_id,
const char *app_menu_path,
const char *menubar_path,
const char *window_object_path,
const char *application_object_path,
const char *unique_bus_name)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
/* Broken client, let it die instead of us */
if (!surface->window)
{
meta_warning ("meta-wayland-surface: set_dbus_properties called with invalid window!\n");
return;
}
meta_window_set_gtk_dbus_properties (surface->window,
application_id,
unique_bus_name,
app_menu_path,
menubar_path,
application_object_path,
window_object_path);
}
static void
gtk_surface_set_modal (struct wl_client *client,
struct wl_resource *resource)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
if (surface->is_modal)
return;
surface->is_modal = TRUE;
meta_window_set_type (surface->window, META_WINDOW_MODAL_DIALOG);
}
static void
gtk_surface_unset_modal (struct wl_client *client,
struct wl_resource *resource)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
if (!surface->is_modal)
return;
surface->is_modal = FALSE;
meta_window_set_type (surface->window, META_WINDOW_NORMAL);
}
static void
gtk_surface_present (struct wl_client *client,
struct wl_resource *resource,
uint32_t timestamp)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (resource);
MetaWindow *window = surface->window;
if (!window)
return;
meta_window_activate_full (window, timestamp,
META_CLIENT_TYPE_APPLICATION, NULL);
}
static const struct gtk_surface1_interface meta_wayland_gtk_surface_interface = {
gtk_surface_set_dbus_properties,
gtk_surface_set_modal,
gtk_surface_unset_modal,
gtk_surface_present,
};
static void
gtk_shell_get_gtk_surface (struct wl_client *client,
struct wl_resource *resource,
guint32 id,
struct wl_resource *surface_resource)
{
MetaWaylandSurface *surface = wl_resource_get_user_data (surface_resource);
if (surface->gtk_surface != NULL)
{
wl_resource_post_error (surface_resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
"gtk_shell::get_gtk_surface already requested");
return;
}
surface->gtk_surface = wl_resource_create (client,
&gtk_surface1_interface,
wl_resource_get_version (resource),
id);
wl_resource_set_implementation (surface->gtk_surface, &meta_wayland_gtk_surface_interface, surface, gtk_surface_destructor);
}
static void
gtk_shell_set_startup_id (struct wl_client *client,
struct wl_resource *resource,
const char *startup_id)
{
MetaDisplay *display;
display = meta_get_display ();
meta_startup_notification_remove_sequence (display->startup_notification,
startup_id);
}
static void
gtk_shell_system_bell (struct wl_client *client,
struct wl_resource *resource,
struct wl_resource *gtk_surface_resource)
{
MetaDisplay *display = meta_get_display ();
if (gtk_surface_resource)
{
MetaWaylandSurface *surface =
wl_resource_get_user_data (gtk_surface_resource);
if (!surface->window)
return;
meta_bell_notify (display, surface->window);
}
else
{
meta_bell_notify (display, NULL);
}
}
static const struct gtk_shell1_interface meta_wayland_gtk_shell_interface = {
gtk_shell_get_gtk_surface,
gtk_shell_set_startup_id,
gtk_shell_system_bell,
};
static void
bind_gtk_shell (struct wl_client *client,
void *data,
guint32 version,
guint32 id)
{
struct wl_resource *resource;
uint32_t capabilities = 0;
resource = wl_resource_create (client, &gtk_shell1_interface, version, id);
wl_resource_set_implementation (resource, &meta_wayland_gtk_shell_interface, data, NULL);
if (!meta_prefs_get_show_fallback_app_menu ())
capabilities = GTK_SHELL1_CAPABILITY_GLOBAL_APP_MENU;
gtk_shell1_send_capabilities (resource, capabilities);
}
static void
unparent_actor (MetaWaylandSurface *surface)
{
@@ -1529,8 +1597,7 @@ wl_subcompositor_get_subsurface (struct wl_client *client,
}
if (!meta_wayland_surface_assign_role (surface,
META_TYPE_WAYLAND_SURFACE_ROLE_SUBSURFACE,
NULL))
META_TYPE_WAYLAND_SURFACE_ROLE_SUBSURFACE))
{
/* FIXME: There is no subcompositor "role" error yet, so lets just use something
* similar until there is.
@@ -1579,7 +1646,12 @@ meta_wayland_shell_init (MetaWaylandCompositor *compositor)
{
meta_wayland_xdg_shell_init (compositor);
meta_wayland_wl_shell_init (compositor);
meta_wayland_gtk_shell_init (compositor);
if (wl_global_create (compositor->wayland_display,
&gtk_shell1_interface,
META_GTK_SHELL1_VERSION,
compositor, bind_gtk_shell) == NULL)
g_error ("Failed to register a global gtk-shell object");
if (wl_global_create (compositor->wayland_display,
&wl_subcompositor_interface,
@@ -1590,8 +1662,6 @@ meta_wayland_shell_init (MetaWaylandCompositor *compositor)
void
meta_wayland_surface_configure_notify (MetaWaylandSurface *surface,
int new_x,
int new_y,
int new_width,
int new_height,
MetaWaylandSerial *sent_serial)
@@ -1599,10 +1669,7 @@ meta_wayland_surface_configure_notify (MetaWaylandSurface *surface,
MetaWaylandSurfaceRoleShellSurface *shell_surface_role =
META_WAYLAND_SURFACE_ROLE_SHELL_SURFACE (surface->role);
g_signal_emit (surface, surface_signals[SURFACE_CONFIGURE], 0);
meta_wayland_surface_role_shell_surface_configure (shell_surface_role,
new_x, new_y,
new_width, new_height,
sent_serial);
}
@@ -1760,6 +1827,20 @@ meta_wayland_surface_get_absolute_coordinates (MetaWaylandSurface *surface,
*y = v.y;
}
static void
meta_wayland_surface_dispose (GObject *object)
{
MetaWaylandSurface *surface = META_WAYLAND_SURFACE (object);
if (!surface->destroying)
{
g_signal_emit (object, surface_signals[SURFACE_DESTROY], 0);
surface->destroying = TRUE;
}
G_OBJECT_CLASS (meta_wayland_surface_parent_class)->dispose (object);
}
static void
meta_wayland_surface_init (MetaWaylandSurface *surface)
{
@@ -1771,6 +1852,8 @@ meta_wayland_surface_class_init (MetaWaylandSurfaceClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->dispose = meta_wayland_surface_dispose;
surface_signals[SURFACE_DESTROY] =
g_signal_new ("destroy",
G_TYPE_FROM_CLASS (object_class),
@@ -1786,56 +1869,6 @@ meta_wayland_surface_class_init (MetaWaylandSurfaceClass *klass)
0, NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
surface_signals[SURFACE_CONFIGURE] =
g_signal_new ("configure",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
0, NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
}
static void
meta_wayland_surface_role_set_property (GObject *object,
guint prop_id,
const GValue *value,
GParamSpec *pspec)
{
MetaWaylandSurfaceRole *surface_role = META_WAYLAND_SURFACE_ROLE (object);
MetaWaylandSurfaceRolePrivate *priv =
meta_wayland_surface_role_get_instance_private (surface_role);
switch (prop_id)
{
case SURFACE_ROLE_PROP_SURFACE:
priv->surface = g_value_get_object (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
}
static void
meta_wayland_surface_role_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec)
{
MetaWaylandSurfaceRole *surface_role = META_WAYLAND_SURFACE_ROLE (object);
MetaWaylandSurfaceRolePrivate *priv =
meta_wayland_surface_role_get_instance_private (surface_role);
switch (prop_id)
{
case SURFACE_ROLE_PROP_SURFACE:
g_value_set_object (value, priv->surface);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
}
}
static void
@@ -1846,20 +1879,6 @@ meta_wayland_surface_role_init (MetaWaylandSurfaceRole *role)
static void
meta_wayland_surface_role_class_init (MetaWaylandSurfaceRoleClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
object_class->set_property = meta_wayland_surface_role_set_property;
object_class->get_property = meta_wayland_surface_role_get_property;
g_object_class_install_property (object_class,
SURFACE_ROLE_PROP_SURFACE,
g_param_spec_object ("surface",
"MetaWaylandSurface",
"The MetaWaylandSurface instance",
META_TYPE_WAYLAND_SURFACE,
G_PARAM_READWRITE |
G_PARAM_CONSTRUCT_ONLY |
G_PARAM_STATIC_STRINGS));
}
static void
@@ -1923,8 +1942,6 @@ meta_wayland_surface_role_get_surface (MetaWaylandSurfaceRole *role)
static void
meta_wayland_surface_role_shell_surface_configure (MetaWaylandSurfaceRoleShellSurface *shell_surface_role,
int new_x,
int new_y,
int new_width,
int new_height,
MetaWaylandSerial *sent_serial)
@@ -1933,8 +1950,6 @@ meta_wayland_surface_role_shell_surface_configure (MetaWaylandSurfaceRoleShellSu
META_WAYLAND_SURFACE_ROLE_SHELL_SURFACE_GET_CLASS (shell_surface_role);
shell_surface_role_class->configure (shell_surface_role,
new_x,
new_y,
new_width,
new_height,
sent_serial);
@@ -2005,16 +2020,11 @@ actor_surface_commit (MetaWaylandSurfaceRole *surface_role,
{
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role);
MetaWaylandSurface *toplevel_surface;
queue_surface_actor_frame_callbacks (surface, pending);
toplevel_surface = meta_wayland_surface_get_toplevel (surface);
if (!toplevel_surface || !toplevel_surface->window)
return;
meta_surface_actor_wayland_sync_state (
META_SURFACE_ACTOR_WAYLAND (surface->surface_actor));
queue_surface_actor_frame_callbacks (surface, pending);
}
static void
@@ -2033,39 +2043,6 @@ meta_wayland_surface_role_actor_surface_class_init (MetaWaylandSurfaceRoleActorS
surface_role_class->is_on_output = actor_surface_is_on_output;
}
static void
shell_surface_role_surface_commit (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending)
{
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role);
MetaWaylandSurfaceRoleClass *surface_role_class;
MetaWindow *window;
MetaWaylandBuffer *buffer;
CoglTexture *texture;
MetaSurfaceActorWayland *actor;
double scale;
surface_role_class =
META_WAYLAND_SURFACE_ROLE_CLASS (meta_wayland_surface_role_shell_surface_parent_class);
surface_role_class->commit (surface_role, pending);
buffer = surface->buffer_ref.buffer;
if (!buffer)
return;
window = surface->window;
if (!window)
return;
actor = META_SURFACE_ACTOR_WAYLAND (surface->surface_actor);
scale = meta_surface_actor_wayland_get_scale (actor);
texture = buffer->texture;
window->buffer_rect.width = cogl_texture_get_width (texture) * scale;
window->buffer_rect.height = cogl_texture_get_height (texture) * scale;
}
static void
meta_wayland_surface_role_shell_surface_init (MetaWaylandSurfaceRoleShellSurface *role)
{
@@ -2074,10 +2051,6 @@ meta_wayland_surface_role_shell_surface_init (MetaWaylandSurfaceRoleShellSurface
static void
meta_wayland_surface_role_shell_surface_class_init (MetaWaylandSurfaceRoleShellSurfaceClass *klass)
{
MetaWaylandSurfaceRoleClass *surface_role_class =
META_WAYLAND_SURFACE_ROLE_CLASS (klass);
surface_role_class->commit = shell_surface_role_surface_commit;
}
static void

View File

@@ -92,8 +92,6 @@ struct _MetaWaylandSurfaceRoleShellSurfaceClass
MetaWaylandSurfaceRoleActorSurfaceClass parent_class;
void (*configure) (MetaWaylandSurfaceRoleShellSurface *shell_surface_role,
int new_x,
int new_y,
int new_width,
int new_height,
MetaWaylandSerial *sent_serial);
@@ -142,14 +140,6 @@ struct _MetaWaylandPendingState
MetaRectangle new_geometry;
gboolean has_new_geometry;
/* pending min/max size in window geometry coordinates */
gboolean has_new_min_size;
int new_min_width;
int new_min_height;
gboolean has_new_max_size;
int new_max_width;
int new_max_height;
};
struct _MetaWaylandDragDestFuncs
@@ -212,8 +202,13 @@ struct _MetaWaylandSurface
MetaWaylandPendingState *pending;
/* Extension resources. */
struct wl_resource *gtk_surface;
struct wl_resource *wl_subsurface;
/* gtk_surface stuff */
gboolean is_modal;
gboolean destroying;
/* wl_subsurface stuff. */
struct {
MetaWaylandSurface *parent;
@@ -248,9 +243,7 @@ MetaWaylandSurface *meta_wayland_surface_create (MetaWaylandCompositor *composit
guint32 id);
gboolean meta_wayland_surface_assign_role (MetaWaylandSurface *surface,
GType role_type,
const char *first_property_name,
...);
GType role_type);
MetaWaylandBuffer *meta_wayland_surface_get_buffer (MetaWaylandSurface *surface);
@@ -262,8 +255,6 @@ void meta_wayland_surface_set_window (MetaWaylandSurface *surface
MetaWindow *window);
void meta_wayland_surface_configure_notify (MetaWaylandSurface *surface,
int new_x,
int new_y,
int width,
int height,
MetaWaylandSerial *sent_serial);
@@ -308,6 +299,9 @@ MetaWaylandSurface * meta_wayland_surface_role_get_surface (MetaWaylandSurfaceRo
cairo_region_t * meta_wayland_surface_calculate_input_region (MetaWaylandSurface *surface);
void meta_wayland_surface_apply_window_state (MetaWaylandSurface *surface,
MetaWaylandPendingState *pending);
void meta_wayland_surface_calculate_window_geometry (MetaWaylandSurface *surface,
MetaRectangle *total_geometry,
float parent_x,

View File

@@ -204,7 +204,7 @@ static void
meta_wayland_tablet_seat_device_added (MetaWaylandTabletSeat *tablet_seat,
ClutterInputDevice *device)
{
MetaWaylandSurface *pad_focus = tablet_seat->seat->keyboard->focus_surface;
MetaWaylandSurface *pad_focus = tablet_seat->seat->keyboard.focus_surface;
if (is_tablet_device (device))
{

View File

@@ -443,8 +443,7 @@ tool_set_cursor (struct wl_client *client,
if (surface &&
!meta_wayland_surface_assign_role (surface,
META_TYPE_WAYLAND_SURFACE_ROLE_TABLET_CURSOR,
NULL))
META_TYPE_WAYLAND_SURFACE_ROLE_TABLET_CURSOR))
{
wl_resource_post_error (resource, WL_POINTER_ERROR_ROLE,
"wl_surface@%d already has a different role",

View File

@@ -34,8 +34,6 @@
#include "backends/native/meta-backend-native.h"
#endif
G_DEFINE_TYPE (MetaWaylandTouch, meta_wayland_touch, G_TYPE_OBJECT);
struct _MetaWaylandTouchSurface
{
MetaWaylandSurface *surface;
@@ -456,7 +454,7 @@ meta_wayland_touch_cancel (MetaWaylandTouch *touch)
{
GList *surfaces, *s;
if (touch->seat == NULL)
if (touch->display == NULL)
return;
surfaces = s = touch_get_surfaces (touch, FALSE);
@@ -516,12 +514,14 @@ evdev_filter_func (struct libinput_event *event,
#endif
void
meta_wayland_touch_enable (MetaWaylandTouch *touch,
MetaWaylandSeat *seat)
meta_wayland_touch_init (MetaWaylandTouch *touch,
struct wl_display *display)
{
ClutterDeviceManager *manager;
touch->seat = seat;
memset (touch, 0, sizeof *touch);
touch->display = display;
touch->touch_surfaces = g_hash_table_new_full (NULL, NULL, NULL,
(GDestroyNotify) touch_surface_free);
touch->touches = g_hash_table_new_full (NULL, NULL, NULL,
@@ -540,7 +540,7 @@ meta_wayland_touch_enable (MetaWaylandTouch *touch,
}
void
meta_wayland_touch_disable (MetaWaylandTouch *touch)
meta_wayland_touch_release (MetaWaylandTouch *touch)
{
#ifdef HAVE_NATIVE_BACKEND
MetaBackend *backend = meta_get_backend ();
@@ -550,7 +550,7 @@ meta_wayland_touch_disable (MetaWaylandTouch *touch)
g_clear_pointer (&touch->touch_surfaces, (GDestroyNotify) g_hash_table_unref);
g_clear_pointer (&touch->touches, (GDestroyNotify) g_hash_table_unref);
touch->seat = NULL;
touch->display = NULL;
}
void
@@ -561,7 +561,7 @@ meta_wayland_touch_create_new_resource (MetaWaylandTouch *touch,
{
struct wl_resource *cr;
if (touch->seat == NULL)
if (touch->display == NULL)
{
wl_resource_post_error (seat_resource, WL_DISPLAY_ERROR_INVALID_METHOD,
"Cannot retrieve touch interface without touch capability");
@@ -641,13 +641,3 @@ meta_wayland_touch_get_press_coords (MetaWaylandTouch *touch,
return TRUE;
}
static void
meta_wayland_touch_init (MetaWaylandTouch *touch)
{
}
static void
meta_wayland_touch_class_init (MetaWaylandTouchClass *klass)
{
}

View File

@@ -28,21 +28,12 @@
#include "meta-wayland-types.h"
#define META_TYPE_WAYLAND_TOUCH (meta_wayland_touch_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandTouch, meta_wayland_touch,
META, WAYLAND_TOUCH,
GObject);
typedef struct _MetaWaylandTouchSurface MetaWaylandTouchSurface;
typedef struct _MetaWaylandTouchInfo MetaWaylandTouchInfo;
struct _MetaWaylandTouch
{
GObject parent;
MetaWaylandSeat *seat;
struct wl_display *display;
struct wl_list resource_list;
GHashTable *touch_surfaces; /* HT of MetaWaylandSurface->MetaWaylandTouchSurface */
@@ -52,10 +43,10 @@ struct _MetaWaylandTouch
guint64 frame_slots;
};
void meta_wayland_touch_enable (MetaWaylandTouch *touch,
MetaWaylandSeat *seat);
void meta_wayland_touch_init (MetaWaylandTouch *touch,
struct wl_display *display);
void meta_wayland_touch_disable (MetaWaylandTouch *touch);
void meta_wayland_touch_release (MetaWaylandTouch *touch);
void meta_wayland_touch_update (MetaWaylandTouch *touch,
const ClutterEvent *event);

View File

@@ -324,7 +324,7 @@ meta_wayland_wl_shell_surface_create_popup (MetaWaylandWlShellSurface *wl_shell_
MetaWaylandSeat *seat = wl_shell_surface->popup_seat;
MetaWaylandPopup *popup;
popup = meta_wayland_pointer_start_popup_grab (seat->pointer, popup_surface);
popup = meta_wayland_pointer_start_popup_grab (&seat->pointer, popup_surface);
if (!popup)
{
wl_shell_surface_send_popup_done (wl_shell_surface->resource);
@@ -518,8 +518,7 @@ wl_shell_get_shell_surface (struct wl_client *client,
}
if (!meta_wayland_surface_assign_role (surface,
META_TYPE_WAYLAND_WL_SHELL_SURFACE,
NULL))
META_TYPE_WAYLAND_WL_SHELL_SURFACE))
{
wl_resource_post_error (resource, WL_SHELL_ERROR_ROLE,
"wl_surface@%d already has a different role",
@@ -595,6 +594,7 @@ wl_shell_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
if (!pending->newly_attached)
return;
meta_wayland_surface_apply_window_state (surface, pending);
meta_wayland_surface_calculate_window_geometry (surface, &geom, 0, 0);
meta_window_wayland_move_resize (window,
NULL,
@@ -616,8 +616,6 @@ wl_shell_surface_role_get_toplevel (MetaWaylandSurfaceRole *surface_role)
static void
wl_shell_surface_role_configure (MetaWaylandSurfaceRoleShellSurface *shell_surface_role,
int new_x,
int new_y,
int new_width,
int new_height,
MetaWaylandSerial *sent_serial)

File diff suppressed because it is too large Load Diff

View File

@@ -23,29 +23,16 @@
#include "wayland/meta-wayland-surface.h"
#define META_TYPE_WAYLAND_XDG_SURFACE (meta_wayland_xdg_surface_get_type ())
G_DECLARE_DERIVABLE_TYPE (MetaWaylandXdgSurface,
meta_wayland_xdg_surface,
META, WAYLAND_XDG_SURFACE,
MetaWaylandSurfaceRoleShellSurface);
struct _MetaWaylandXdgSurfaceClass
{
MetaWaylandSurfaceRoleShellSurfaceClass parent_class;
void (*shell_client_destroyed) (MetaWaylandXdgSurface *xdg_surface);
};
#define META_TYPE_WAYLAND_XDG_TOPLEVEL (meta_wayland_xdg_toplevel_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandXdgToplevel,
meta_wayland_xdg_toplevel,
META, WAYLAND_XDG_TOPLEVEL,
MetaWaylandXdgSurface);
G_DECLARE_FINAL_TYPE (MetaWaylandXdgSurface,
meta_wayland_xdg_surface,
META, WAYLAND_XDG_SURFACE,
MetaWaylandSurfaceRoleShellSurface);
#define META_TYPE_WAYLAND_XDG_POPUP (meta_wayland_xdg_popup_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandXdgPopup,
meta_wayland_xdg_popup,
META, WAYLAND_XDG_POPUP,
MetaWaylandXdgSurface);
MetaWaylandSurfaceRoleShellSurface);
void meta_wayland_xdg_shell_init (MetaWaylandCompositor *compositor);

View File

@@ -226,7 +226,7 @@ meta_wayland_compositor_update_key_state (MetaWaylandCompositor *compositor,
int key_vector_len,
int offset)
{
meta_wayland_keyboard_update_key_state (compositor->seat->keyboard,
meta_wayland_keyboard_update_key_state (&compositor->seat->keyboard,
key_vector, key_vector_len, offset);
}

View File

@@ -46,8 +46,6 @@ struct _MetaWindowWayland
int pending_move_x;
int pending_move_y;
int last_sent_x;
int last_sent_y;
int last_sent_width;
int last_sent_height;
};
@@ -151,8 +149,6 @@ surface_state_changed (MetaWindow *window)
return;
meta_wayland_surface_configure_notify (window->surface,
wl_window->last_sent_x,
wl_window->last_sent_y,
wl_window->last_sent_width,
wl_window->last_sent_height,
&wl_window->pending_configure_serial);
@@ -188,8 +184,6 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
{
MetaWindowWayland *wl_window = META_WINDOW_WAYLAND (window);
gboolean can_move_now;
int configured_x;
int configured_y;
int configured_width;
int configured_height;
int monitor_scale;
@@ -200,9 +194,6 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
if (window->unmanaging)
return;
configured_x = constrained_rect.x;
configured_y = constrained_rect.y;
/* The scale the window is drawn in might change depending on what monitor it
* is mainly on. Scale the configured rectangle to be in logical pixel
* coordinate space so that we can have a scale independent size to pass
@@ -265,8 +256,6 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
return;
meta_wayland_surface_configure_notify (window->surface,
configured_x,
configured_y,
configured_width,
configured_height,
&wl_window->pending_configure_serial);
@@ -282,8 +271,6 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
}
}
wl_window->last_sent_x = configured_x;
wl_window->last_sent_y = configured_y;
wl_window->last_sent_width = configured_width;
wl_window->last_sent_height = configured_height;
@@ -325,28 +312,10 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
}
static void
scale_size (int *width,
int *height,
float scale)
scale_rect_size (MetaRectangle *rect, float scale)
{
if (*width < G_MAXINT)
{
float new_width = (*width * scale);
*width = (int) MIN (new_width, G_MAXINT);
}
if (*height < G_MAXINT)
{
float new_height = (*height * scale);
*height = (int) MIN (new_height, G_MAXINT);
}
}
static void
scale_rect_size (MetaRectangle *rect,
float scale)
{
scale_size (&rect->width, &rect->height, scale);
rect->width = (int)(rect->width * scale);
rect->height = (int)(rect->height * scale);
}
static void
@@ -417,9 +386,6 @@ meta_window_wayland_main_monitor_changed (MetaWindow *window,
scale_rect_size (&window->rect, scale_factor);
scale_rect_size (&window->unconstrained_rect, scale_factor);
scale_rect_size (&window->saved_rect, scale_factor);
scale_size (&window->size_hints.min_width, &window->size_hints.min_height, scale_factor);
scale_size (&window->size_hints.max_width, &window->size_hints.max_height, scale_factor);
/* Window geometry offset (XXX: Need a better place, see
* meta_window_wayland_move_resize). */
@@ -658,152 +624,3 @@ meta_window_wayland_place_relative_to (MetaWindow *window,
other->buffer_rect.y + (y * monitor_scale));
window->placed = TRUE;
}
void
meta_window_place_with_placement_rule (MetaWindow *window,
MetaPlacementRule *placement_rule)
{
g_clear_pointer (&window->placement_rule, g_free);
window->placement_rule = g_new0 (MetaPlacementRule, 1);
*window->placement_rule = *placement_rule;
window->unconstrained_rect.width = placement_rule->width;
window->unconstrained_rect.height = placement_rule->height;
meta_window_force_placement (window);
}
void
meta_window_wayland_set_min_size (MetaWindow *window,
int width,
int height)
{
gint64 new_width, new_height;
float scale;
meta_topic (META_DEBUG_GEOMETRY, "Window %s sets min size %d x %d\n",
window->desc, width, height);
if (width == 0 && height == 0)
{
window->size_hints.min_width = 0;
window->size_hints.min_height = 0;
window->size_hints.flags &= ~PMinSize;
return;
}
scale = (float) meta_window_wayland_get_main_monitor_scale (window);
scale_size (&width, &height, scale);
new_width = width + (window->custom_frame_extents.left +
window->custom_frame_extents.right);
new_height = height + (window->custom_frame_extents.top +
window->custom_frame_extents.bottom);
window->size_hints.min_width = (int) MIN (new_width, G_MAXINT);
window->size_hints.min_height = (int) MIN (new_height, G_MAXINT);
window->size_hints.flags |= PMinSize;
}
void
meta_window_wayland_set_max_size (MetaWindow *window,
int width,
int height)
{
gint64 new_width, new_height;
float scale;
meta_topic (META_DEBUG_GEOMETRY, "Window %s sets max size %d x %d\n",
window->desc, width, height);
if (width == 0 && height == 0)
{
window->size_hints.max_width = G_MAXINT;
window->size_hints.max_height = G_MAXINT;
window->size_hints.flags &= ~PMaxSize;
return;
}
scale = (float) meta_window_wayland_get_main_monitor_scale (window);
scale_size (&width, &height, scale);
new_width = width + (window->custom_frame_extents.left +
window->custom_frame_extents.right);
new_height = height + (window->custom_frame_extents.top +
window->custom_frame_extents.bottom);
window->size_hints.max_width = (int) ((new_width > 0 && new_width < G_MAXINT) ?
new_width : G_MAXINT);
window->size_hints.max_height = (int) ((new_height > 0 && new_height < G_MAXINT) ?
new_height : G_MAXINT);
window->size_hints.flags |= PMaxSize;
}
void
meta_window_wayland_get_min_size (MetaWindow *window,
int *width,
int *height)
{
gint64 current_width, current_height;
float scale;
if (!(window->size_hints.flags & PMinSize))
{
/* Zero means unlimited */
*width = 0;
*height = 0;
return;
}
current_width = window->size_hints.min_width -
(window->custom_frame_extents.left +
window->custom_frame_extents.right);
current_height = window->size_hints.min_height -
(window->custom_frame_extents.top +
window->custom_frame_extents.bottom);
*width = MAX (current_width, 0);
*height = MAX (current_height, 0);
scale = 1.0 / (float) meta_window_wayland_get_main_monitor_scale (window);
scale_size (width, height, scale);
}
void
meta_window_wayland_get_max_size (MetaWindow *window,
int *width,
int *height)
{
gint64 current_width = 0;
gint64 current_height = 0;
float scale;
if (!(window->size_hints.flags & PMaxSize))
{
/* Zero means unlimited */
*width = 0;
*height = 0;
return;
}
if (window->size_hints.max_width < G_MAXINT)
current_width = window->size_hints.max_width -
(window->custom_frame_extents.left +
window->custom_frame_extents.right);
if (window->size_hints.max_height < G_MAXINT)
current_height = window->size_hints.max_height -
(window->custom_frame_extents.top +
window->custom_frame_extents.bottom);
*width = CLAMP (current_width, 0, G_MAXINT);
*height = CLAMP (current_height, 0, G_MAXINT);
scale = 1.0 / (float) meta_window_wayland_get_main_monitor_scale (window);
scale_size (width, height, scale);
}

View File

@@ -25,7 +25,6 @@
#ifndef META_WINDOW_WAYLAND_H
#define META_WINDOW_WAYLAND_H
#include "core/window-private.h"
#include <meta/window.h>
#include "wayland/meta-wayland-types.h"
@@ -58,25 +57,4 @@ void meta_window_wayland_place_relative_to (MetaWindow *window,
int x,
int y);
void meta_window_place_with_placement_rule (MetaWindow *window,
MetaPlacementRule *placement_rule);
void meta_window_wayland_set_min_size (MetaWindow *window,
int width,
int height);
void meta_window_wayland_set_max_size (MetaWindow *window,
int width,
int height);
void meta_window_wayland_get_min_size (MetaWindow *window,
int *width,
int *height);
void meta_window_wayland_get_max_size (MetaWindow *window,
int *width,
int *height);
#endif

View File

@@ -972,7 +972,7 @@ meta_x11_drag_dest_update (MetaWaylandDataDevice *data_device,
MetaWaylandSeat *seat = compositor->seat;
ClutterPoint pos;
clutter_input_device_get_coords (seat->pointer->device, NULL, &pos);
clutter_input_device_get_coords (seat->pointer.device, NULL, &pos);
xdnd_send_position (compositor->xwayland_manager.selection_data,
compositor->xwayland_manager.selection_data->dnd.dnd_dest,
clutter_get_current_event_time (),
@@ -1378,7 +1378,7 @@ drag_xgrab_motion (MetaWaylandPointerGrab *grab,
event);
dnd->last_motion_time = clutter_event_get_time (event);
meta_wayland_pointer_send_motion (seat->pointer, event);
meta_wayland_pointer_send_motion (&seat->pointer, event);
}
static void
@@ -1388,7 +1388,7 @@ drag_xgrab_button (MetaWaylandPointerGrab *grab,
MetaWaylandCompositor *compositor = meta_wayland_compositor_get_default ();
MetaWaylandSeat *seat = compositor->seat;
meta_wayland_pointer_send_button (seat->pointer, event);
meta_wayland_pointer_send_button (&seat->pointer, event);
}
static const MetaWaylandPointerGrabInterface drag_xgrab_interface = {
@@ -1499,10 +1499,10 @@ meta_xwayland_selection_handle_client_message (MetaWaylandCompositor *compositor
uint32_t action = 0;
motion = clutter_event_new (CLUTTER_MOTION);
clutter_input_device_get_coords (seat->pointer->device, NULL, &pos);
clutter_input_device_get_coords (seat->pointer.device, NULL, &pos);
clutter_event_set_coords (motion, pos.x, pos.y);
clutter_event_set_device (motion, seat->pointer->device);
clutter_event_set_source_device (motion, seat->pointer->device);
clutter_event_set_device (motion, seat->pointer.device);
clutter_event_set_source_device (motion, seat->pointer.device);
clutter_event_set_time (motion, dnd->last_motion_time);
action = atom_to_action ((Atom) event->data.l[4]);
@@ -1591,7 +1591,7 @@ meta_xwayland_selection_handle_xfixes_selection_notify (MetaWaylandCompositor *c
{
MetaWaylandSurface *focus;
focus = compositor->seat->pointer->focus_surface;
focus = compositor->seat->pointer.focus_surface;
selection->source = meta_wayland_data_source_xwayland_new (selection);
meta_wayland_data_device_set_dnd_source (&compositor->seat->data_device,
selection->source);

View File

@@ -34,14 +34,6 @@
#include "compositor/meta-surface-actor-wayland.h"
enum {
XWAYLAND_SURFACE_WINDOW_ASSOCIATED,
XWAYLAND_SURFACE_LAST_SIGNAL
};
guint xwayland_surface_signals[XWAYLAND_SURFACE_LAST_SIGNAL];
#define META_TYPE_WAYLAND_SURFACE_ROLE_XWAYLAND (meta_wayland_surface_role_xwayland_get_type ())
G_DECLARE_FINAL_TYPE (MetaWaylandSurfaceRoleXWayland,
meta_wayland_surface_role_xwayland,
@@ -64,8 +56,7 @@ associate_window_with_surface (MetaWindow *window,
MetaDisplay *display = window->display;
if (!meta_wayland_surface_assign_role (surface,
META_TYPE_WAYLAND_SURFACE_ROLE_XWAYLAND,
NULL))
META_TYPE_WAYLAND_SURFACE_ROLE_XWAYLAND))
{
wl_resource_post_error (surface->resource,
WL_DISPLAY_ERROR_INVALID_OBJECT,
@@ -74,11 +65,8 @@ associate_window_with_surface (MetaWindow *window,
return;
}
window->surface = surface;
meta_wayland_surface_set_window (surface, window);
g_signal_emit (surface->role,
xwayland_surface_signals[XWAYLAND_SURFACE_WINDOW_ASSOCIATED],
0);
window->surface = surface;
meta_compositor_window_surface_changed (display->compositor, window);
@@ -663,12 +651,4 @@ meta_wayland_surface_role_xwayland_class_init (MetaWaylandSurfaceRoleXWaylandCla
surface_role_class->assigned = xwayland_surface_assigned;
surface_role_class->commit = xwayland_surface_commit;
surface_role_class->get_toplevel = xwayland_surface_get_toplevel;
xwayland_surface_signals[XWAYLAND_SURFACE_WINDOW_ASSOCIATED] =
g_signal_new ("window-associated",
G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST,
0, NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
}

View File

@@ -46,16 +46,6 @@
<request name="present">
<arg name="time" type="uint"/>
</request>
<!-- Version 2 additions -->
<enum name="state">
<entry name="tiled" value="1"/>
</enum>
<event name="configure">
<arg name="states" type="array"/>
</event>
</interface>
</protocol>